From 4307617e4f12f3d69ed52bd53550e0e8aab3280c Mon Sep 17 00:00:00 2001 From: Niccolo Borgioli Date: Fri, 10 Nov 2023 15:54:25 +0100 Subject: [PATCH] setup --- .gitignore | 176 ++++++++++++++++++++++++++++++++++++++++++ .marprc.yml | 3 + .vscode/settings.json | 9 +++ bun.lockb | Bin 0 -> 15545 bytes engine.mjs | 8 ++ package.json | 16 ++++ theme.css | 138 +++++++++++++++++++++++++++++++++ tsconfig.json | 16 ++++ 8 files changed, 366 insertions(+) create mode 100644 .gitignore create mode 100644 .marprc.yml create mode 100644 .vscode/settings.json create mode 100755 bun.lockb create mode 100644 engine.mjs create mode 100644 package.json create mode 100644 theme.css create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab5afb2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,176 @@ +# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore + +# Logs + +logs +_.log +npm-debug.log_ +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) + +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# Runtime data + +pids +_.pid +_.seed +\*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover + +lib-cov + +# Coverage directory used by tools like istanbul + +coverage +\*.lcov + +# nyc test coverage + +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) + +.grunt + +# Bower dependency directory (https://bower.io/) + +bower_components + +# node-waf configuration + +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) + +build/Release + +# Dependency directories + +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) + +web_modules/ + +# TypeScript cache + +\*.tsbuildinfo + +# Optional npm cache directory + +.npm + +# Optional eslint cache + +.eslintcache + +# Optional stylelint cache + +.stylelintcache + +# Microbundle cache + +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history + +.node_repl_history + +# Output of 'npm pack' + +\*.tgz + +# Yarn Integrity file + +.yarn-integrity + +# dotenv environment variable files + +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) + +.cache +.parcel-cache + +# Next.js build output + +.next +out + +# Nuxt.js build / generate output + +.nuxt +dist + +# Gatsby files + +.cache/ + +# Comment in the public line in if your project uses Gatsby and not Next.js + +# https://nextjs.org/blog/next-9-1#public-directory-support + +# public + +# vuepress build output + +.vuepress/dist + +# vuepress v2.x temp and cache directory + +.temp +.cache + +# Docusaurus cache and generated files + +.docusaurus + +# Serverless directories + +.serverless/ + +# FuseBox cache + +.fusebox/ + +# DynamoDB Local files + +.dynamodb/ + +# TernJS port file + +.tern-port + +# Stores VSCode versions used for testing VSCode extensions + +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.\* + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store + diff --git a/.marprc.yml b/.marprc.yml new file mode 100644 index 0000000..87fc6ab --- /dev/null +++ b/.marprc.yml @@ -0,0 +1,3 @@ +engine: ./engine.mjs +output: index.html +theme: ./theme.css diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..92b33a1 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,9 @@ +{ + "cSpell.words": ["marp", "marpit", "Marpit"], + "markdown.marp.themes": [ + "https://raw.githubusercontent.com/rnd195/my-marp-themes/live/gradient.css", + "https://raw.githubusercontent.com/rainbowflesh/Rose-Pine-For-Marp/master/css/rose-pine-dawn.css", + "https://raw.githubusercontent.com/rainbowflesh/Rose-Pine-For-Marp/master/css/rose-pine-moon.css", + "https://raw.githubusercontent.com/rainbowflesh/Rose-Pine-For-Marp/master/css/rose-pine.css" + ] +} diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..c6350cc7dc95dcea1c2709346c1b10339c8818e8 GIT binary patch literal 15545 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�!+`X>qSmkfFoa_Haun_(8Z7C z$KhEB!{FbTtq!O!3t~g15NNBFwN!PSsreis3l<@UV#05fM%Mr2fWE_xu!3e%$4nrg zB$`H{Ilmm60R1un8z!w)x-*sTMq8Otn>Ufb)f|BpLh*~!v=aqr(|75{N>TrQV_%DH TA$weE-k?UlbesHt@AH2EO@4Ed literal 0 HcmV?d00001 diff --git a/engine.mjs b/engine.mjs new file mode 100644 index 0000000..1db6ecc --- /dev/null +++ b/engine.mjs @@ -0,0 +1,8 @@ +import include from 'markdown-it-include' + +const options = { + includeRe: /#include(.+)/, + bracesAreOptional: true, +} + +export default ({ marp }) => marp.use(include, options) diff --git a/package.json b/package.json new file mode 100644 index 0000000..b1578b4 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "type": "module", + "scripts": { + "build": "bunx @marp-team/marp-cli@latest presi.md", + "dev": "conc bun:watch bun:serve", + "serve": "bunx serve@latest . -p 80", + "watch": "bun run build -w" + }, + "devDependencies": { + "@tsconfig/strictest": "latest", + "bun-types": "latest", + "concurrently": "^8.2.2", + "markdown-it-include": "^2.0.0", + "typescript": "latest" + } +} diff --git a/theme.css b/theme.css new file mode 100644 index 0000000..c7a71da --- /dev/null +++ b/theme.css @@ -0,0 +1,138 @@ +/* @theme rose-pine-moon */ +/* +Rosé Pine theme create by RAINBOWFLESH +> www.rosepinetheme.com + +palette in :root +*/ + +@import "default"; +@import "schema"; +@import "structure"; + +:root { + --base: #232136; + --surface: #2a273f; + --overlay: #393552; + --muted: #6e6a86; + --subtle: #908caa; + --text: #e0def4; + --love: #eb6f92; + --gold: #f6c177; + --rose: #ea9a97; + --pine: #3e8fb0; + --foam: #9ccfd8; + --iris: #c4a7e7; + --highlight-low: #2a283e; + --highlight-muted: #44415a; + --highlight-high: #56526e; + + font-family: Pier Sans, ui-sans-serif, system-ui, -apple-system, + BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, + "Noto Color Emoji"; + font-weight: initial; + + background-color: var(--base); +} +/* Common style */ +h1 { + color: var(--rose); + padding-bottom: 2mm; + margin-bottom: 12mm; +} +h2 { + color: var(--rose); +} +h3 { + color: var(--rose); +} +h4 { + color: var(--rose); +} +h5 { + color: var(--rose); +} +h6 { + color: var(--rose); +} +a { + color: var(--iris); +} +p { + font-size: 20pt; + font-weight: 600; + color: var(--text); +} +code { + color: var(--text); + background-color: var(--highlight-muted); +} +text { + color: var(--text); +} +ul { + color: var(--subtle); +} +li { + color: var(--subtle); +} +img { + background-color: var(--highlight-low); +} +strong { + color: var(--text); + font-weight: inherit; + font-weight: 800; +} +mjx-container { + color: var(--text); +} +marp-pre { + background-color: var(--overlay); + border-color: var(--highlight-high); +} + +/* Code blok */ +.hljs-comment { + color: var(--muted); +} +.hljs-attr { + color: var(--foam); +} +.hljs-punctuation { + color: var(--subtle); +} +.hljs-string { + color: var(--gold); +} +.hljs-title { + color: var(--foam); +} +.hljs-keyword { + color: var(--pine); +} +.hljs-variable { + color: var(--text); +} +.hljs-literal { + color: var(--rose); +} +.hljs-type { + color: var(--love); +} +.hljs-number { + color: var(--gold); +} +.hljs-built_in { + color: var(--love); +} +.hljs-params { + color: var(--iris); +} +.hljs-symbol { + color: var(--foam); +} +.hljs-meta { + color: var(--subtle); +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..52cd1fc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": ["@tsconfig/strictest"], + "compilerOptions": { + "lib": ["ESNext"], + "module": "esnext", + "target": "esnext", + "moduleResolution": "bundler", + "moduleDetection": "force", + "allowImportingTsExtensions": true, + "noEmit": true, + "composite": true, + "types": [ + "bun-types" // add Bun global + ] + } +}