From db4f0508cb852cd66dd4aa40f72975ea5196d5d0 Mon Sep 17 00:00:00 2001 From: Mathieu Aumont Date: Mon, 10 Nov 2025 18:33:24 +0100 Subject: [PATCH] =?UTF-8?q?Premier=20commit=20d=C3=A9j=C3=A0=20bien=20avan?= =?UTF-8?q?c=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API.md | 569 + CLAUDE.md | 421 + GEMINI.md | 124 + PROJET.md | 93 + README.md | 125 + cmd/server/main.go | 112 + frontend/node_modules/.bin/esbuild | 1 + frontend/node_modules/.bin/nanoid | 1 + frontend/node_modules/.bin/rollup | 1 + frontend/node_modules/.bin/vite | 1 + frontend/node_modules/.package-lock.json | 742 + .../.github/workflows/dispatch.yml | 16 + .../@codemirror/autocomplete/CHANGELOG.md | 628 + .../@codemirror/autocomplete/LICENSE | 21 + .../@codemirror/autocomplete/README.md | 43 + .../@codemirror/autocomplete/dist/index.cjs | 2140 + .../@codemirror/autocomplete/dist/index.d.cts | 643 + .../@codemirror/autocomplete/dist/index.d.ts | 643 + .../@codemirror/autocomplete/dist/index.js | 2109 + .../@codemirror/autocomplete/package.json | 41 + .../.github/workflows/dispatch.yml | 16 + .../@codemirror/basic-setup/CHANGELOG.md | 58 + .../@codemirror/basic-setup/LICENSE | 21 + .../@codemirror/basic-setup/README.md | 18 + .../@codemirror/basic-setup/dist/index.cjs | 87 + .../@codemirror/basic-setup/dist/index.d.ts | 44 + .../@codemirror/basic-setup/dist/index.js | 77 + .../.github/workflows/dispatch.yml | 16 + .../@codemirror/autocomplete/CHANGELOG.md | 268 + .../@codemirror/autocomplete/LICENSE | 21 + .../@codemirror/autocomplete/README.md | 18 + .../@codemirror/autocomplete/dist/index.cjs | 1771 + .../@codemirror/autocomplete/dist/index.d.ts | 454 + .../@codemirror/autocomplete/dist/index.js | 1740 + .../@codemirror/autocomplete/package.json | 41 + .../language/.github/workflows/dispatch.yml | 16 + .../@codemirror/language/CHANGELOG.md | 188 + .../node_modules/@codemirror/language/LICENSE | 21 + .../@codemirror/language/README.md | 18 + .../@codemirror/language/dist/index.cjs | 2358 + .../@codemirror/language/dist/index.d.ts | 1059 + .../@codemirror/language/dist/index.js | 2308 + .../@codemirror/language/package.json | 44 + .../lint/.github/workflows/dispatch.yml | 16 + .../@codemirror/lint/CHANGELOG.md | 144 + .../node_modules/@codemirror/lint/LICENSE | 21 + .../node_modules/@codemirror/lint/README.md | 18 + .../@codemirror/lint/dist/index.cjs | 749 + .../@codemirror/lint/dist/index.d.ts | 149 + .../@codemirror/lint/dist/index.js | 732 + .../@codemirror/lint/package.json | 40 + .../state/.github/workflows/dispatch.yml | 16 + .../@codemirror/state/CHANGELOG.md | 164 + .../node_modules/@codemirror/state/LICENSE | 21 + .../node_modules/@codemirror/state/README.md | 18 + .../@codemirror/state/dist/index.cjs | 3888 ++ .../@codemirror/state/dist/index.d.ts | 1651 + .../@codemirror/state/dist/index.js | 3856 ++ .../@codemirror/state/package.json | 35 + .../view/.github/workflows/dispatch.yml | 16 + .../@codemirror/view/CHANGELOG.md | 865 + .../node_modules/@codemirror/view/LICENSE | 21 + .../node_modules/@codemirror/view/README.md | 18 + .../@codemirror/view/dist/index.cjs | 9015 ++++ .../@codemirror/view/dist/index.d.ts | 1786 + .../@codemirror/view/dist/index.js | 8972 ++++ .../@codemirror/view/package.json | 40 + .../node_modules/@lezer/common/LICENSE | 21 + .../node_modules/@lezer/common/README.md | 14 + .../node_modules/@lezer/common/dist/index.cjs | 1831 + .../@lezer/common/dist/index.d.ts | 3 + .../@lezer/common/dist/index.es.js | 1816 + .../node_modules/@lezer/common/dist/index.js | 1816 + .../node_modules/@lezer/common/dist/mix.d.ts | 13 + .../@lezer/common/dist/parse.d.ts | 48 + .../node_modules/@lezer/common/dist/tree.d.ts | 262 + .../node_modules/@lezer/common/package.json | 36 + .../node_modules/@lezer/highlight/LICENSE | 21 + .../node_modules/@lezer/highlight/README.md | 14 + .../@lezer/highlight/dist/highlight.d.ts | 109 + .../@lezer/highlight/dist/index.cjs | 658 + .../@lezer/highlight/dist/index.js | 648 + .../@lezer/highlight/package.json | 34 + .../node_modules/@lezer/lr/LICENSE | 21 + .../node_modules/@lezer/lr/README.md | 25 + .../@lezer/lr/dist/constants.d.ts | 45 + .../node_modules/@lezer/lr/dist/decode.d.ts | 5 + .../node_modules/@lezer/lr/dist/index.cjs | 1598 + .../node_modules/@lezer/lr/dist/index.d.ts | 3 + .../node_modules/@lezer/lr/dist/index.js | 1590 + .../node_modules/@lezer/lr/dist/parse.d.ts | 102 + .../node_modules/@lezer/lr/dist/stack.d.ts | 34 + .../node_modules/@lezer/lr/dist/token.d.ts | 36 + .../node_modules/@lezer/lr/package.json | 35 + .../@codemirror/basic-setup/package.json | 44 + .../commands/.github/workflows/dispatch.yml | 16 + .../@codemirror/commands/CHANGELOG.md | 168 + .../node_modules/@codemirror/commands/LICENSE | 21 + .../@codemirror/commands/README.md | 18 + .../@codemirror/commands/dist/index.cjs | 1629 + .../@codemirror/commands/dist/index.d.ts | 543 + .../@codemirror/commands/dist/index.js | 1532 + .../language/.github/workflows/dispatch.yml | 16 + .../@codemirror/language/CHANGELOG.md | 188 + .../node_modules/@codemirror/language/LICENSE | 21 + .../@codemirror/language/README.md | 18 + .../@codemirror/language/dist/index.cjs | 2358 + .../@codemirror/language/dist/index.d.ts | 1059 + .../@codemirror/language/dist/index.js | 2308 + .../@codemirror/language/package.json | 44 + .../state/.github/workflows/dispatch.yml | 16 + .../@codemirror/state/CHANGELOG.md | 164 + .../node_modules/@codemirror/state/LICENSE | 21 + .../node_modules/@codemirror/state/README.md | 18 + .../@codemirror/state/dist/index.cjs | 3888 ++ .../@codemirror/state/dist/index.d.ts | 1651 + .../@codemirror/state/dist/index.js | 3856 ++ .../@codemirror/state/package.json | 35 + .../view/.github/workflows/dispatch.yml | 16 + .../@codemirror/view/CHANGELOG.md | 865 + .../node_modules/@codemirror/view/LICENSE | 21 + .../node_modules/@codemirror/view/README.md | 18 + .../@codemirror/view/dist/index.cjs | 9015 ++++ .../@codemirror/view/dist/index.d.ts | 1786 + .../@codemirror/view/dist/index.js | 8972 ++++ .../@codemirror/view/package.json | 40 + .../node_modules/@lezer/common/LICENSE | 21 + .../node_modules/@lezer/common/README.md | 14 + .../node_modules/@lezer/common/dist/index.cjs | 1831 + .../@lezer/common/dist/index.d.ts | 3 + .../@lezer/common/dist/index.es.js | 1816 + .../node_modules/@lezer/common/dist/index.js | 1816 + .../node_modules/@lezer/common/dist/mix.d.ts | 13 + .../@lezer/common/dist/parse.d.ts | 48 + .../node_modules/@lezer/common/dist/tree.d.ts | 262 + .../node_modules/@lezer/common/package.json | 36 + .../node_modules/@lezer/highlight/LICENSE | 21 + .../node_modules/@lezer/highlight/README.md | 14 + .../@lezer/highlight/dist/highlight.d.ts | 109 + .../@lezer/highlight/dist/index.cjs | 658 + .../@lezer/highlight/dist/index.js | 648 + .../@lezer/highlight/package.json | 34 + .../commands/node_modules/@lezer/lr/LICENSE | 21 + .../commands/node_modules/@lezer/lr/README.md | 25 + .../@lezer/lr/dist/constants.d.ts | 45 + .../node_modules/@lezer/lr/dist/decode.d.ts | 5 + .../node_modules/@lezer/lr/dist/index.cjs | 1598 + .../node_modules/@lezer/lr/dist/index.d.ts | 3 + .../node_modules/@lezer/lr/dist/index.js | 1590 + .../node_modules/@lezer/lr/dist/parse.d.ts | 102 + .../node_modules/@lezer/lr/dist/stack.d.ts | 34 + .../node_modules/@lezer/lr/dist/token.d.ts | 36 + .../node_modules/@lezer/lr/package.json | 35 + .../@codemirror/commands/package.json | 42 + .../lang-css/.github/workflows/dispatch.yml | 16 + .../@codemirror/lang-css/CHANGELOG.md | 106 + .../node_modules/@codemirror/lang-css/LICENSE | 21 + .../@codemirror/lang-css/README.md | 50 + .../@codemirror/lang-css/dist/index.cjs | 269 + .../@codemirror/lang-css/dist/index.d.cts | 28 + .../@codemirror/lang-css/dist/index.d.ts | 28 + .../@codemirror/lang-css/dist/index.js | 264 + .../@codemirror/lang-css/package.json | 42 + .../lang-html/.github/workflows/dispatch.yml | 16 + .../@codemirror/lang-html/CHANGELOG.md | 210 + .../@codemirror/lang-html/LICENSE | 21 + .../@codemirror/lang-html/README.md | 147 + .../@codemirror/lang-html/dist/index.cjs | 667 + .../@codemirror/lang-html/dist/index.d.cts | 115 + .../@codemirror/lang-html/dist/index.d.ts | 115 + .../@codemirror/lang-html/dist/index.js | 661 + .../@codemirror/lang-html/package.json | 46 + .../.github/workflows/dispatch.yml | 16 + .../@codemirror/lang-javascript/CHANGELOG.md | 198 + .../@codemirror/lang-javascript/LICENSE | 21 + .../@codemirror/lang-javascript/README.md | 125 + .../lang-javascript/dist/index.cjs | 511 + .../lang-javascript/dist/index.d.cts | 93 + .../lang-javascript/dist/index.d.ts | 93 + .../@codemirror/lang-javascript/dist/index.js | 498 + .../@codemirror/lang-javascript/package.json | 45 + .../.github/workflows/dispatch.yml | 16 + .../@codemirror/lang-markdown/CHANGELOG.md | 246 + .../@codemirror/lang-markdown/LICENSE | 21 + .../@codemirror/lang-markdown/README.md | 162 + .../@codemirror/lang-markdown/dist/index.cjs | 501 + .../lang-markdown/dist/index.d.cts | 124 + .../@codemirror/lang-markdown/dist/index.d.ts | 124 + .../@codemirror/lang-markdown/dist/index.js | 492 + .../@codemirror/lang-markdown/package.json | 44 + .../language/.github/workflows/dispatch.yml | 16 + .../@codemirror/language/CHANGELOG.md | 392 + .../node_modules/@codemirror/language/LICENSE | 21 + .../@codemirror/language/README.md | 66 + .../@codemirror/language/dist/index.cjs | 2726 ++ .../@codemirror/language/dist/index.d.cts | 1220 + .../@codemirror/language/dist/index.d.ts | 1220 + .../@codemirror/language/dist/index.js | 2671 ++ .../@codemirror/language/package.json | 44 + .../lint/.github/workflows/dispatch.yml | 16 + .../@codemirror/lint/CHANGELOG.md | 300 + .../node_modules/@codemirror/lint/LICENSE | 21 + .../node_modules/@codemirror/lint/README.md | 18 + .../@codemirror/lint/dist/index.cjs | 950 + .../@codemirror/lint/dist/index.d.cts | 195 + .../@codemirror/lint/dist/index.d.ts | 195 + .../@codemirror/lint/dist/index.js | 937 + .../@codemirror/lint/package.json | 40 + .../search/.github/workflows/dispatch.yml | 16 + .../@codemirror/search/CHANGELOG.md | 166 + .../node_modules/@codemirror/search/LICENSE | 21 + .../node_modules/@codemirror/search/README.md | 18 + .../@codemirror/search/dist/index.cjs | 1144 + .../@codemirror/search/dist/index.d.ts | 329 + .../@codemirror/search/dist/index.js | 1119 + .../state/.github/workflows/dispatch.yml | 16 + .../@codemirror/state/CHANGELOG.md | 164 + .../node_modules/@codemirror/state/LICENSE | 21 + .../node_modules/@codemirror/state/README.md | 18 + .../@codemirror/state/dist/index.cjs | 3888 ++ .../@codemirror/state/dist/index.d.ts | 1651 + .../@codemirror/state/dist/index.js | 3856 ++ .../@codemirror/state/package.json | 35 + .../view/.github/workflows/dispatch.yml | 16 + .../@codemirror/view/CHANGELOG.md | 865 + .../node_modules/@codemirror/view/LICENSE | 21 + .../node_modules/@codemirror/view/README.md | 18 + .../@codemirror/view/dist/index.cjs | 9015 ++++ .../@codemirror/view/dist/index.d.ts | 1786 + .../@codemirror/view/dist/index.js | 8972 ++++ .../@codemirror/view/package.json | 40 + .../@codemirror/search/package.json | 40 + .../state/.github/workflows/dispatch.yml | 16 + .../@codemirror/state/CHANGELOG.md | 286 + .../node_modules/@codemirror/state/LICENSE | 21 + .../node_modules/@codemirror/state/README.md | 18 + .../@codemirror/state/dist/index.cjs | 3911 ++ .../@codemirror/state/dist/index.d.cts | 1703 + .../@codemirror/state/dist/index.d.ts | 1703 + .../@codemirror/state/dist/index.js | 3881 ++ .../@codemirror/state/package.json | 38 + .../.github/workflows/dispatch.yml | 16 + .../@codemirror/theme-one-dark/CHANGELOG.md | 97 + .../@codemirror/theme-one-dark/LICENSE | 21 + .../@codemirror/theme-one-dark/README.md | 46 + .../@codemirror/theme-one-dark/dist/index.cjs | 139 + .../theme-one-dark/dist/index.d.cts | 39 + .../theme-one-dark/dist/index.d.ts | 39 + .../@codemirror/theme-one-dark/dist/index.js | 134 + .../@codemirror/theme-one-dark/package.json | 41 + .../view/.github/workflows/dispatch.yml | 16 + .../@codemirror/view/CHANGELOG.md | 2084 + .../node_modules/@codemirror/view/LICENSE | 21 + .../node_modules/@codemirror/view/README.md | 37 + .../@codemirror/view/dist/index.cjs | 11496 +++++ .../@codemirror/view/dist/index.d.cts | 2306 + .../@codemirror/view/dist/index.d.ts | 2306 + .../@codemirror/view/dist/index.js | 11446 +++++ .../@codemirror/view/package.json | 41 + .../node_modules/@esbuild/linux-x64/README.md | 3 + .../@esbuild/linux-x64/bin/esbuild | Bin 0 -> 10358936 bytes .../@esbuild/linux-x64/package.json | 20 + frontend/node_modules/@lezer/common/LICENSE | 21 + frontend/node_modules/@lezer/common/README.md | 14 + .../node_modules/@lezer/common/dist/index.cjs | 2192 + .../@lezer/common/dist/index.d.cts | 1144 + .../@lezer/common/dist/index.d.ts | 1144 + .../node_modules/@lezer/common/dist/index.js | 2179 + .../node_modules/@lezer/common/package.json | 32 + frontend/node_modules/@lezer/css/CHANGELOG.md | 277 + frontend/node_modules/@lezer/css/LICENSE | 21 + frontend/node_modules/@lezer/css/README.md | 6 + .../node_modules/@lezer/css/dist/index.cjs | 148 + .../node_modules/@lezer/css/dist/index.d.cts | 3 + .../node_modules/@lezer/css/dist/index.d.ts | 3 + .../node_modules/@lezer/css/dist/index.js | 144 + frontend/node_modules/@lezer/css/package.json | 36 + .../node_modules/@lezer/css/rollup.config.js | 16 + .../node_modules/@lezer/css/src/css.grammar | 274 + .../node_modules/@lezer/css/src/highlight.js | 36 + .../node_modules/@lezer/css/src/parser.js | 30 + .../@lezer/css/src/parser.terms.js | 61 + .../node_modules/@lezer/css/src/tokens.js | 73 + .../@lezer/css/test/declarations.txt | 204 + .../node_modules/@lezer/css/test/selector.txt | 150 + .../@lezer/css/test/statements.txt | 214 + .../node_modules/@lezer/css/test/test-css.js | 16 + .../node_modules/@lezer/highlight/LICENSE | 21 + .../node_modules/@lezer/highlight/README.md | 14 + .../@lezer/highlight/dist/index.cjs | 936 + .../@lezer/highlight/dist/index.d.cts | 623 + .../@lezer/highlight/dist/index.d.ts | 623 + .../@lezer/highlight/dist/index.js | 927 + .../@lezer/highlight/package.json | 31 + .../node_modules/@lezer/html/CHANGELOG.md | 297 + frontend/node_modules/@lezer/html/LICENSE | 21 + frontend/node_modules/@lezer/html/README.md | 37 + .../node_modules/@lezer/html/dist/index.cjs | 354 + .../node_modules/@lezer/html/dist/index.d.cts | 14 + .../node_modules/@lezer/html/dist/index.d.ts | 14 + .../node_modules/@lezer/html/dist/index.js | 349 + .../node_modules/@lezer/html/package.json | 37 + .../node_modules/@lezer/html/rollup.config.js | 16 + .../node_modules/@lezer/html/src/content.js | 87 + .../node_modules/@lezer/html/src/highlight.js | 15 + .../node_modules/@lezer/html/src/html.grammar | 181 + .../node_modules/@lezer/html/src/index.js | 2 + .../node_modules/@lezer/html/src/parser.js | 27 + .../@lezer/html/src/parser.terms.js | 53 + .../node_modules/@lezer/html/src/tokens.js | 199 + .../node_modules/@lezer/html/test/mixed.txt | 69 + .../node_modules/@lezer/html/test/tags.txt | 370 + .../@lezer/html/test/test-html.js | 29 + .../@lezer/html/test/test-incremental.js | 97 + .../node_modules/@lezer/html/test/vue.txt | 56 + .../@lezer/javascript/CHANGELOG.md | 485 + .../node_modules/@lezer/javascript/LICENSE | 21 + .../node_modules/@lezer/javascript/README.md | 14 + .../@lezer/javascript/dist/index.cjs | 196 + .../@lezer/javascript/dist/index.d.cts | 3 + .../@lezer/javascript/dist/index.d.ts | 3 + .../@lezer/javascript/dist/index.js | 192 + .../@lezer/javascript/package.json | 36 + .../@lezer/javascript/rollup.config.js | 16 + .../@lezer/javascript/src/highlight.js | 62 + .../@lezer/javascript/src/javascript.grammar | 735 + .../@lezer/javascript/src/parser.js | 33 + .../@lezer/javascript/src/parser.terms.js | 177 + .../@lezer/javascript/src/tokens.js | 87 + .../@lezer/javascript/test/decorator.txt | 64 + .../@lezer/javascript/test/expression.txt | 686 + .../@lezer/javascript/test/jsx.txt | 79 + .../@lezer/javascript/test/semicolon.txt | 77 + .../@lezer/javascript/test/statement.txt | 404 + .../@lezer/javascript/test/test-javascript.js | 17 + .../@lezer/javascript/test/typescript.txt | 401 + frontend/node_modules/@lezer/lr/LICENSE | 21 + frontend/node_modules/@lezer/lr/README.md | 25 + .../@lezer/lr/dist/constants.d.ts | 45 + .../node_modules/@lezer/lr/dist/constants.js | 5 + .../node_modules/@lezer/lr/dist/index.cjs | 1890 + .../node_modules/@lezer/lr/dist/index.d.cts | 303 + .../node_modules/@lezer/lr/dist/index.d.ts | 303 + frontend/node_modules/@lezer/lr/dist/index.js | 1883 + frontend/node_modules/@lezer/lr/package.json | 32 + .../node_modules/@lezer/markdown/CHANGELOG.md | 261 + frontend/node_modules/@lezer/markdown/LICENSE | 21 + .../node_modules/@lezer/markdown/README.md | 725 + .../@lezer/markdown/bin/build-readme.cjs | 39 + .../node_modules/@lezer/markdown/build.js | 16 + .../@lezer/markdown/dist/index.cjs | 2344 + .../@lezer/markdown/dist/index.d.cts | 600 + .../@lezer/markdown/dist/index.d.ts | 600 + .../@lezer/markdown/dist/index.js | 2327 + .../node_modules/@lezer/markdown/package.json | 37 + .../@lezer/markdown/src/README.md | 83 + .../@lezer/markdown/src/extension.ts | 301 + .../node_modules/@lezer/markdown/src/index.ts | 5 + .../@lezer/markdown/src/markdown.ts | 1958 + .../node_modules/@lezer/markdown/src/nest.ts | 46 + .../@lezer/markdown/test/compare-tree.ts | 14 + .../node_modules/@lezer/markdown/test/spec.ts | 79 + .../@lezer/markdown/test/test-extension.ts | 269 + .../@lezer/markdown/test/test-incremental.ts | 259 + .../@lezer/markdown/test/test-markdown.ts | 3568 ++ .../@lezer/markdown/test/test-nesting.ts | 86 + .../@lezer/markdown/test/tsconfig.json | 12 + .../@lezer/markdown/tsconfig.json | 14 + .../@marijn/find-cluster-break/LICENSE | 21 + .../@marijn/find-cluster-break/README.md | 28 + .../@marijn/find-cluster-break/dist/index.cjs | 85 + .../find-cluster-break/dist/index.d.cts | 15 + .../@marijn/find-cluster-break/package.json | 35 + .../find-cluster-break/rollup.config.js | 7 + .../@marijn/find-cluster-break/src/index.d.ts | 15 + .../@marijn/find-cluster-break/src/index.js | 87 + .../find-cluster-break/test/test-cluster.js | 30 + .../@rollup/rollup-linux-x64-gnu/README.md | 3 + .../@rollup/rollup-linux-x64-gnu/package.json | 25 + .../rollup.linux-x64-gnu.node | Bin 0 -> 2200024 bytes .../@rollup/rollup-linux-x64-musl/README.md | 3 + .../rollup-linux-x64-musl/package.json | 25 + .../rollup.linux-x64-musl.node | Bin 0 -> 2235680 bytes frontend/node_modules/@types/estree/LICENSE | 21 + frontend/node_modules/@types/estree/README.md | 15 + frontend/node_modules/@types/estree/flow.d.ts | 167 + .../node_modules/@types/estree/index.d.ts | 694 + .../node_modules/@types/estree/package.json | 27 + frontend/node_modules/crelt/LICENSE | 19 + frontend/node_modules/crelt/README.md | 23 + frontend/node_modules/crelt/dist/index.cjs | 31 + frontend/node_modules/crelt/dist/index.d.cts | 4 + frontend/node_modules/crelt/index.d.ts | 4 + frontend/node_modules/crelt/index.js | 28 + frontend/node_modules/crelt/package.json | 35 + frontend/node_modules/crelt/rollup.config.js | 13 + frontend/node_modules/esbuild/LICENSE.md | 21 + frontend/node_modules/esbuild/README.md | 3 + frontend/node_modules/esbuild/bin/esbuild | Bin 0 -> 10358936 bytes frontend/node_modules/esbuild/install.js | 289 + frontend/node_modules/esbuild/lib/main.d.ts | 716 + frontend/node_modules/esbuild/lib/main.js | 2242 + frontend/node_modules/esbuild/package.json | 49 + frontend/node_modules/fdir/LICENSE | 7 + frontend/node_modules/fdir/README.md | 91 + frontend/node_modules/fdir/dist/index.cjs | 588 + frontend/node_modules/fdir/dist/index.d.cts | 155 + frontend/node_modules/fdir/dist/index.d.mts | 155 + frontend/node_modules/fdir/dist/index.mjs | 570 + frontend/node_modules/fdir/package.json | 103 + frontend/node_modules/nanoid/LICENSE | 20 + frontend/node_modules/nanoid/README.md | 39 + .../nanoid/async/index.browser.cjs | 69 + .../nanoid/async/index.browser.js | 34 + frontend/node_modules/nanoid/async/index.cjs | 71 + frontend/node_modules/nanoid/async/index.d.ts | 56 + frontend/node_modules/nanoid/async/index.js | 35 + .../node_modules/nanoid/async/index.native.js | 26 + .../node_modules/nanoid/async/package.json | 12 + frontend/node_modules/nanoid/bin/nanoid.cjs | 55 + .../node_modules/nanoid/index.browser.cjs | 72 + frontend/node_modules/nanoid/index.browser.js | 34 + frontend/node_modules/nanoid/index.cjs | 85 + frontend/node_modules/nanoid/index.d.cts | 91 + frontend/node_modules/nanoid/index.d.ts | 91 + frontend/node_modules/nanoid/index.js | 45 + frontend/node_modules/nanoid/nanoid.js | 1 + .../node_modules/nanoid/non-secure/index.cjs | 34 + .../node_modules/nanoid/non-secure/index.d.ts | 33 + .../node_modules/nanoid/non-secure/index.js | 21 + .../nanoid/non-secure/package.json | 6 + frontend/node_modules/nanoid/package.json | 89 + .../nanoid/url-alphabet/index.cjs | 7 + .../node_modules/nanoid/url-alphabet/index.js | 3 + .../nanoid/url-alphabet/package.json | 6 + frontend/node_modules/picocolors/LICENSE | 15 + frontend/node_modules/picocolors/README.md | 21 + frontend/node_modules/picocolors/package.json | 25 + .../picocolors/picocolors.browser.js | 4 + .../node_modules/picocolors/picocolors.d.ts | 5 + .../node_modules/picocolors/picocolors.js | 75 + frontend/node_modules/picocolors/types.d.ts | 51 + frontend/node_modules/picomatch/LICENSE | 21 + frontend/node_modules/picomatch/README.md | 738 + frontend/node_modules/picomatch/index.js | 17 + .../node_modules/picomatch/lib/constants.js | 180 + frontend/node_modules/picomatch/lib/parse.js | 1085 + .../node_modules/picomatch/lib/picomatch.js | 341 + frontend/node_modules/picomatch/lib/scan.js | 391 + frontend/node_modules/picomatch/lib/utils.js | 72 + frontend/node_modules/picomatch/package.json | 83 + frontend/node_modules/picomatch/posix.js | 3 + frontend/node_modules/postcss/LICENSE | 20 + frontend/node_modules/postcss/README.md | 29 + .../node_modules/postcss/lib/at-rule.d.ts | 140 + frontend/node_modules/postcss/lib/at-rule.js | 25 + .../node_modules/postcss/lib/comment.d.ts | 68 + frontend/node_modules/postcss/lib/comment.js | 13 + .../node_modules/postcss/lib/container.d.ts | 483 + .../node_modules/postcss/lib/container.js | 447 + .../postcss/lib/css-syntax-error.d.ts | 248 + .../postcss/lib/css-syntax-error.js | 133 + .../node_modules/postcss/lib/declaration.d.ts | 151 + .../node_modules/postcss/lib/declaration.js | 24 + .../node_modules/postcss/lib/document.d.ts | 69 + frontend/node_modules/postcss/lib/document.js | 33 + .../node_modules/postcss/lib/fromJSON.d.ts | 9 + frontend/node_modules/postcss/lib/fromJSON.js | 54 + frontend/node_modules/postcss/lib/input.d.ts | 227 + frontend/node_modules/postcss/lib/input.js | 265 + .../node_modules/postcss/lib/lazy-result.d.ts | 190 + .../node_modules/postcss/lib/lazy-result.js | 550 + frontend/node_modules/postcss/lib/list.d.ts | 60 + frontend/node_modules/postcss/lib/list.js | 58 + .../node_modules/postcss/lib/map-generator.js | 368 + .../postcss/lib/no-work-result.d.ts | 46 + .../postcss/lib/no-work-result.js | 138 + frontend/node_modules/postcss/lib/node.d.ts | 556 + frontend/node_modules/postcss/lib/node.js | 449 + frontend/node_modules/postcss/lib/parse.d.ts | 9 + frontend/node_modules/postcss/lib/parse.js | 42 + frontend/node_modules/postcss/lib/parser.js | 611 + .../node_modules/postcss/lib/postcss.d.mts | 69 + .../node_modules/postcss/lib/postcss.d.ts | 458 + frontend/node_modules/postcss/lib/postcss.js | 101 + frontend/node_modules/postcss/lib/postcss.mjs | 30 + .../postcss/lib/previous-map.d.ts | 81 + .../node_modules/postcss/lib/previous-map.js | 144 + .../node_modules/postcss/lib/processor.d.ts | 115 + .../node_modules/postcss/lib/processor.js | 67 + frontend/node_modules/postcss/lib/result.d.ts | 205 + frontend/node_modules/postcss/lib/result.js | 42 + frontend/node_modules/postcss/lib/root.d.ts | 87 + frontend/node_modules/postcss/lib/root.js | 61 + frontend/node_modules/postcss/lib/rule.d.ts | 126 + frontend/node_modules/postcss/lib/rule.js | 27 + .../node_modules/postcss/lib/stringifier.d.ts | 46 + .../node_modules/postcss/lib/stringifier.js | 353 + .../node_modules/postcss/lib/stringify.d.ts | 9 + .../node_modules/postcss/lib/stringify.js | 11 + frontend/node_modules/postcss/lib/symbols.js | 5 + .../postcss/lib/terminal-highlight.js | 70 + frontend/node_modules/postcss/lib/tokenize.js | 266 + .../node_modules/postcss/lib/warn-once.js | 13 + .../node_modules/postcss/lib/warning.d.ts | 147 + frontend/node_modules/postcss/lib/warning.js | 37 + frontend/node_modules/postcss/package.json | 88 + frontend/node_modules/rollup/LICENSE.md | 679 + frontend/node_modules/rollup/README.md | 134 + frontend/node_modules/rollup/dist/bin/rollup | 1912 + .../rollup/dist/es/getLogFilter.js | 64 + .../node_modules/rollup/dist/es/package.json | 1 + .../node_modules/rollup/dist/es/parseAst.js | 12 + .../node_modules/rollup/dist/es/rollup.js | 17 + .../rollup/dist/es/shared/node-entry.js | 23933 ++++++++++ .../rollup/dist/es/shared/parseAst.js | 2086 + .../rollup/dist/es/shared/watch.js | 9297 ++++ .../rollup/dist/getLogFilter.d.ts | 5 + .../node_modules/rollup/dist/getLogFilter.js | 69 + .../rollup/dist/loadConfigFile.d.ts | 20 + .../rollup/dist/loadConfigFile.js | 29 + frontend/node_modules/rollup/dist/native.js | 129 + .../node_modules/rollup/dist/parseAst.d.ts | 4 + frontend/node_modules/rollup/dist/parseAst.js | 22 + frontend/node_modules/rollup/dist/rollup.d.ts | 1188 + frontend/node_modules/rollup/dist/rollup.js | 127 + .../rollup/dist/shared/fsevents-importer.js | 37 + .../node_modules/rollup/dist/shared/index.js | 9003 ++++ .../rollup/dist/shared/loadConfigFile.js | 572 + .../rollup/dist/shared/parseAst.js | 2318 + .../node_modules/rollup/dist/shared/rollup.js | 23855 ++++++++++ .../rollup/dist/shared/watch-cli.js | 542 + .../node_modules/rollup/dist/shared/watch.js | 324 + frontend/node_modules/rollup/package.json | 278 + frontend/node_modules/source-map-js/LICENSE | 28 + frontend/node_modules/source-map-js/README.md | 765 + .../source-map-js/lib/array-set.js | 121 + .../source-map-js/lib/base64-vlq.js | 140 + .../node_modules/source-map-js/lib/base64.js | 67 + .../source-map-js/lib/binary-search.js | 111 + .../source-map-js/lib/mapping-list.js | 79 + .../source-map-js/lib/quick-sort.js | 132 + .../lib/source-map-consumer.d.ts | 1 + .../source-map-js/lib/source-map-consumer.js | 1188 + .../lib/source-map-generator.d.ts | 1 + .../source-map-js/lib/source-map-generator.js | 444 + .../source-map-js/lib/source-node.d.ts | 1 + .../source-map-js/lib/source-node.js | 413 + .../node_modules/source-map-js/lib/util.js | 594 + .../node_modules/source-map-js/package.json | 71 + .../source-map-js/source-map.d.ts | 104 + .../node_modules/source-map-js/source-map.js | 8 + frontend/node_modules/style-mod/LICENSE | 19 + frontend/node_modules/style-mod/README.md | 98 + .../node_modules/style-mod/dist/style-mod.cjs | 165 + .../style-mod/dist/style-mod.d.cts | 16 + frontend/node_modules/style-mod/package.json | 39 + frontend/node_modules/style-mod/src/README.md | 34 + .../node_modules/style-mod/src/style-mod.d.ts | 16 + .../node_modules/style-mod/src/style-mod.js | 172 + .../style-mod/test/test-style-mod.js | 104 + frontend/node_modules/tinyglobby/LICENSE | 21 + frontend/node_modules/tinyglobby/README.md | 25 + .../node_modules/tinyglobby/dist/index.cjs | 350 + .../node_modules/tinyglobby/dist/index.d.cts | 147 + .../node_modules/tinyglobby/dist/index.d.mts | 147 + .../node_modules/tinyglobby/dist/index.mjs | 318 + frontend/node_modules/tinyglobby/package.json | 73 + frontend/node_modules/vite/LICENSE.md | 2144 + frontend/node_modules/vite/README.md | 20 + frontend/node_modules/vite/bin/openChrome.js | 68 + frontend/node_modules/vite/bin/vite.js | 79 + frontend/node_modules/vite/client.d.ts | 279 + .../node_modules/vite/dist/client/client.mjs | 1106 + .../node_modules/vite/dist/client/env.mjs | 19 + .../vite/dist/node/chunks/build.js | 4 + .../vite/dist/node/chunks/build2.js | 5538 +++ .../vite/dist/node/chunks/chunk.js | 31 + .../vite/dist/node/chunks/config.js | 36590 ++++++++++++++++ .../vite/dist/node/chunks/config2.js | 4 + .../vite/dist/node/chunks/dist.js | 6758 +++ .../node_modules/vite/dist/node/chunks/lib.js | 377 + .../vite/dist/node/chunks/logger.js | 329 + .../node/chunks/moduleRunnerTransport.d.ts | 96 + .../vite/dist/node/chunks/optimizer.js | 4 + .../vite/dist/node/chunks/postcss-import.js | 479 + .../vite/dist/node/chunks/preview.js | 4 + .../vite/dist/node/chunks/server.js | 4 + frontend/node_modules/vite/dist/node/cli.js | 698 + .../node_modules/vite/dist/node/index.d.ts | 3668 ++ frontend/node_modules/vite/dist/node/index.js | 30 + .../vite/dist/node/module-runner.d.ts | 311 + .../vite/dist/node/module-runner.js | 1160 + frontend/node_modules/vite/misc/false.js | 1 + frontend/node_modules/vite/misc/true.js | 1 + frontend/node_modules/vite/package.json | 199 + .../node_modules/vite/types/customEvent.d.ts | 50 + .../node_modules/vite/types/hmrPayload.d.ts | 74 + frontend/node_modules/vite/types/hot.d.ts | 39 + .../node_modules/vite/types/import-meta.d.ts | 5 + .../node_modules/vite/types/importGlob.d.ts | 89 + .../node_modules/vite/types/importMeta.d.ts | 30 + .../internal/cssPreprocessorOptions.d.ts | 44 + .../types/internal/lightningcssOptions.d.ts | 18 + .../vite/types/internal/terserOptions.d.ts | 11 + .../node_modules/vite/types/metadata.d.ts | 33 + frontend/node_modules/vite/types/package.json | 4 + frontend/node_modules/w3c-keyname/.tern-port | 1 + frontend/node_modules/w3c-keyname/LICENSE | 19 + frontend/node_modules/w3c-keyname/README.md | 18 + frontend/node_modules/w3c-keyname/index.cjs | 127 + frontend/node_modules/w3c-keyname/index.d.cts | 5 + frontend/node_modules/w3c-keyname/index.d.ts | 5 + frontend/node_modules/w3c-keyname/index.js | 119 + .../node_modules/w3c-keyname/package.json | 37 + frontend/package-lock.json | 1477 + frontend/package.json | 23 + frontend/src/editor.js | 859 + frontend/src/file-tree.js | 392 + frontend/src/main.js | 4 + frontend/src/search.js | 416 + frontend/src/ui.js | 111 + frontend/vite.config.js | 28 + go.mod | 10 + go.sum | 8 + internal/api/handler.go | 814 + internal/api/handler_test.go | 117 + internal/api/rest_handler.go | 436 + internal/indexer/indexer.go | 640 + internal/indexer/indexer_test.go | 116 + internal/watcher/watcher.go | 126 + notes/.gitkeep | 0 notes/Poppy-test.md | 9 + notes/documentation/bienvenue.md | 292 + notes/meetings/export.md | 361 + notes/meetings/freepro.md | 16 + notes/meetings/outscale.md | 19 + notes/projets/nouvelle-note-1.md | 18 + notes/test/sous-dossier/nouvelle-note-2.md | 11 + .../test/sous-dossier/test-2/silverbullet.md | 63 + public/app.js | 0 server | Bin 0 -> 11067743 bytes static/dist/project-notes-frontend.es.js | 27476 ++++++++++++ static/dist/project-notes-frontend.umd.js | 171 + static/textarea-caret.js | 138 + static/theme.css | 2046 + templates/editor.html | 48 + templates/file-tree.html | 39 + templates/home.html | 71 + templates/index.html | 186 + templates/new-note-prompt.html | 6 + templates/search-results.html | 66 + 652 files changed, 440521 insertions(+) create mode 100644 API.md create mode 100644 CLAUDE.md create mode 100644 GEMINI.md create mode 100644 PROJET.md create mode 100644 README.md create mode 100644 cmd/server/main.go create mode 120000 frontend/node_modules/.bin/esbuild create mode 120000 frontend/node_modules/.bin/nanoid create mode 120000 frontend/node_modules/.bin/rollup create mode 120000 frontend/node_modules/.bin/vite create mode 100644 frontend/node_modules/.package-lock.json create mode 100644 frontend/node_modules/@codemirror/autocomplete/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/autocomplete/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/autocomplete/LICENSE create mode 100644 frontend/node_modules/@codemirror/autocomplete/README.md create mode 100644 frontend/node_modules/@codemirror/autocomplete/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/autocomplete/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/autocomplete/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/autocomplete/dist/index.js create mode 100644 frontend/node_modules/@codemirror/autocomplete/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/basic-setup/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/autocomplete/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/language/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/lint/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/state/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@codemirror/view/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/index.es.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/mix.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/parse.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/dist/tree.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/common/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/highlight/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/highlight/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/highlight/dist/highlight.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/highlight/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/highlight/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/highlight/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/LICENSE create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/README.md create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/constants.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/decode.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/index.js create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/parse.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/stack.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/dist/token.d.ts create mode 100644 frontend/node_modules/@codemirror/basic-setup/node_modules/@lezer/lr/package.json create mode 100644 frontend/node_modules/@codemirror/basic-setup/package.json create mode 100644 frontend/node_modules/@codemirror/commands/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/commands/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/commands/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/README.md create mode 100644 frontend/node_modules/@codemirror/commands/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/README.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/language/package.json create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/README.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/state/package.json create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/README.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@codemirror/view/package.json create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/README.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/index.es.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/mix.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/parse.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/dist/tree.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/common/package.json create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/highlight/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/highlight/README.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/highlight/dist/highlight.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/highlight/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/highlight/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/highlight/package.json create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/LICENSE create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/README.md create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/constants.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/decode.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/index.js create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/parse.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/stack.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/dist/token.d.ts create mode 100644 frontend/node_modules/@codemirror/commands/node_modules/@lezer/lr/package.json create mode 100644 frontend/node_modules/@codemirror/commands/package.json create mode 100644 frontend/node_modules/@codemirror/lang-css/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/lang-css/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/lang-css/LICENSE create mode 100644 frontend/node_modules/@codemirror/lang-css/README.md create mode 100644 frontend/node_modules/@codemirror/lang-css/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/lang-css/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/lang-css/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/lang-css/dist/index.js create mode 100644 frontend/node_modules/@codemirror/lang-css/package.json create mode 100644 frontend/node_modules/@codemirror/lang-html/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/lang-html/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/lang-html/LICENSE create mode 100644 frontend/node_modules/@codemirror/lang-html/README.md create mode 100644 frontend/node_modules/@codemirror/lang-html/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/lang-html/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/lang-html/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/lang-html/dist/index.js create mode 100644 frontend/node_modules/@codemirror/lang-html/package.json create mode 100644 frontend/node_modules/@codemirror/lang-javascript/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/lang-javascript/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/lang-javascript/LICENSE create mode 100644 frontend/node_modules/@codemirror/lang-javascript/README.md create mode 100644 frontend/node_modules/@codemirror/lang-javascript/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/lang-javascript/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/lang-javascript/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/lang-javascript/dist/index.js create mode 100644 frontend/node_modules/@codemirror/lang-javascript/package.json create mode 100644 frontend/node_modules/@codemirror/lang-markdown/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/lang-markdown/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/lang-markdown/LICENSE create mode 100644 frontend/node_modules/@codemirror/lang-markdown/README.md create mode 100644 frontend/node_modules/@codemirror/lang-markdown/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/lang-markdown/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/lang-markdown/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/lang-markdown/dist/index.js create mode 100644 frontend/node_modules/@codemirror/lang-markdown/package.json create mode 100644 frontend/node_modules/@codemirror/language/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/language/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/language/LICENSE create mode 100644 frontend/node_modules/@codemirror/language/README.md create mode 100644 frontend/node_modules/@codemirror/language/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/language/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/language/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/language/dist/index.js create mode 100644 frontend/node_modules/@codemirror/language/package.json create mode 100644 frontend/node_modules/@codemirror/lint/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/lint/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/lint/LICENSE create mode 100644 frontend/node_modules/@codemirror/lint/README.md create mode 100644 frontend/node_modules/@codemirror/lint/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/lint/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/lint/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/lint/dist/index.js create mode 100644 frontend/node_modules/@codemirror/lint/package.json create mode 100644 frontend/node_modules/@codemirror/search/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/search/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/search/LICENSE create mode 100644 frontend/node_modules/@codemirror/search/README.md create mode 100644 frontend/node_modules/@codemirror/search/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/search/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/search/dist/index.js create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/LICENSE create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/README.md create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/dist/index.js create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/state/package.json create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/LICENSE create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/README.md create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/dist/index.js create mode 100644 frontend/node_modules/@codemirror/search/node_modules/@codemirror/view/package.json create mode 100644 frontend/node_modules/@codemirror/search/package.json create mode 100644 frontend/node_modules/@codemirror/state/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/state/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/state/LICENSE create mode 100644 frontend/node_modules/@codemirror/state/README.md create mode 100644 frontend/node_modules/@codemirror/state/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/state/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/state/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/state/dist/index.js create mode 100644 frontend/node_modules/@codemirror/state/package.json create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/LICENSE create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/README.md create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/dist/index.js create mode 100644 frontend/node_modules/@codemirror/theme-one-dark/package.json create mode 100644 frontend/node_modules/@codemirror/view/.github/workflows/dispatch.yml create mode 100644 frontend/node_modules/@codemirror/view/CHANGELOG.md create mode 100644 frontend/node_modules/@codemirror/view/LICENSE create mode 100644 frontend/node_modules/@codemirror/view/README.md create mode 100644 frontend/node_modules/@codemirror/view/dist/index.cjs create mode 100644 frontend/node_modules/@codemirror/view/dist/index.d.cts create mode 100644 frontend/node_modules/@codemirror/view/dist/index.d.ts create mode 100644 frontend/node_modules/@codemirror/view/dist/index.js create mode 100644 frontend/node_modules/@codemirror/view/package.json create mode 100644 frontend/node_modules/@esbuild/linux-x64/README.md create mode 100755 frontend/node_modules/@esbuild/linux-x64/bin/esbuild create mode 100644 frontend/node_modules/@esbuild/linux-x64/package.json create mode 100644 frontend/node_modules/@lezer/common/LICENSE create mode 100644 frontend/node_modules/@lezer/common/README.md create mode 100644 frontend/node_modules/@lezer/common/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/common/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/common/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/common/dist/index.js create mode 100644 frontend/node_modules/@lezer/common/package.json create mode 100644 frontend/node_modules/@lezer/css/CHANGELOG.md create mode 100644 frontend/node_modules/@lezer/css/LICENSE create mode 100644 frontend/node_modules/@lezer/css/README.md create mode 100644 frontend/node_modules/@lezer/css/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/css/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/css/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/css/dist/index.js create mode 100644 frontend/node_modules/@lezer/css/package.json create mode 100644 frontend/node_modules/@lezer/css/rollup.config.js create mode 100644 frontend/node_modules/@lezer/css/src/css.grammar create mode 100644 frontend/node_modules/@lezer/css/src/highlight.js create mode 100644 frontend/node_modules/@lezer/css/src/parser.js create mode 100644 frontend/node_modules/@lezer/css/src/parser.terms.js create mode 100644 frontend/node_modules/@lezer/css/src/tokens.js create mode 100644 frontend/node_modules/@lezer/css/test/declarations.txt create mode 100644 frontend/node_modules/@lezer/css/test/selector.txt create mode 100644 frontend/node_modules/@lezer/css/test/statements.txt create mode 100644 frontend/node_modules/@lezer/css/test/test-css.js create mode 100644 frontend/node_modules/@lezer/highlight/LICENSE create mode 100644 frontend/node_modules/@lezer/highlight/README.md create mode 100644 frontend/node_modules/@lezer/highlight/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/highlight/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/highlight/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/highlight/dist/index.js create mode 100644 frontend/node_modules/@lezer/highlight/package.json create mode 100644 frontend/node_modules/@lezer/html/CHANGELOG.md create mode 100644 frontend/node_modules/@lezer/html/LICENSE create mode 100644 frontend/node_modules/@lezer/html/README.md create mode 100644 frontend/node_modules/@lezer/html/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/html/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/html/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/html/dist/index.js create mode 100644 frontend/node_modules/@lezer/html/package.json create mode 100644 frontend/node_modules/@lezer/html/rollup.config.js create mode 100644 frontend/node_modules/@lezer/html/src/content.js create mode 100644 frontend/node_modules/@lezer/html/src/highlight.js create mode 100644 frontend/node_modules/@lezer/html/src/html.grammar create mode 100644 frontend/node_modules/@lezer/html/src/index.js create mode 100644 frontend/node_modules/@lezer/html/src/parser.js create mode 100644 frontend/node_modules/@lezer/html/src/parser.terms.js create mode 100644 frontend/node_modules/@lezer/html/src/tokens.js create mode 100644 frontend/node_modules/@lezer/html/test/mixed.txt create mode 100644 frontend/node_modules/@lezer/html/test/tags.txt create mode 100644 frontend/node_modules/@lezer/html/test/test-html.js create mode 100644 frontend/node_modules/@lezer/html/test/test-incremental.js create mode 100644 frontend/node_modules/@lezer/html/test/vue.txt create mode 100644 frontend/node_modules/@lezer/javascript/CHANGELOG.md create mode 100644 frontend/node_modules/@lezer/javascript/LICENSE create mode 100644 frontend/node_modules/@lezer/javascript/README.md create mode 100644 frontend/node_modules/@lezer/javascript/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/javascript/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/javascript/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/javascript/dist/index.js create mode 100644 frontend/node_modules/@lezer/javascript/package.json create mode 100644 frontend/node_modules/@lezer/javascript/rollup.config.js create mode 100644 frontend/node_modules/@lezer/javascript/src/highlight.js create mode 100644 frontend/node_modules/@lezer/javascript/src/javascript.grammar create mode 100644 frontend/node_modules/@lezer/javascript/src/parser.js create mode 100644 frontend/node_modules/@lezer/javascript/src/parser.terms.js create mode 100644 frontend/node_modules/@lezer/javascript/src/tokens.js create mode 100644 frontend/node_modules/@lezer/javascript/test/decorator.txt create mode 100644 frontend/node_modules/@lezer/javascript/test/expression.txt create mode 100644 frontend/node_modules/@lezer/javascript/test/jsx.txt create mode 100644 frontend/node_modules/@lezer/javascript/test/semicolon.txt create mode 100644 frontend/node_modules/@lezer/javascript/test/statement.txt create mode 100644 frontend/node_modules/@lezer/javascript/test/test-javascript.js create mode 100644 frontend/node_modules/@lezer/javascript/test/typescript.txt create mode 100644 frontend/node_modules/@lezer/lr/LICENSE create mode 100644 frontend/node_modules/@lezer/lr/README.md create mode 100644 frontend/node_modules/@lezer/lr/dist/constants.d.ts create mode 100644 frontend/node_modules/@lezer/lr/dist/constants.js create mode 100644 frontend/node_modules/@lezer/lr/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/lr/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/lr/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/lr/dist/index.js create mode 100644 frontend/node_modules/@lezer/lr/package.json create mode 100644 frontend/node_modules/@lezer/markdown/CHANGELOG.md create mode 100644 frontend/node_modules/@lezer/markdown/LICENSE create mode 100644 frontend/node_modules/@lezer/markdown/README.md create mode 100644 frontend/node_modules/@lezer/markdown/bin/build-readme.cjs create mode 100644 frontend/node_modules/@lezer/markdown/build.js create mode 100644 frontend/node_modules/@lezer/markdown/dist/index.cjs create mode 100644 frontend/node_modules/@lezer/markdown/dist/index.d.cts create mode 100644 frontend/node_modules/@lezer/markdown/dist/index.d.ts create mode 100644 frontend/node_modules/@lezer/markdown/dist/index.js create mode 100644 frontend/node_modules/@lezer/markdown/package.json create mode 100644 frontend/node_modules/@lezer/markdown/src/README.md create mode 100644 frontend/node_modules/@lezer/markdown/src/extension.ts create mode 100644 frontend/node_modules/@lezer/markdown/src/index.ts create mode 100644 frontend/node_modules/@lezer/markdown/src/markdown.ts create mode 100644 frontend/node_modules/@lezer/markdown/src/nest.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/compare-tree.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/spec.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/test-extension.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/test-incremental.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/test-markdown.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/test-nesting.ts create mode 100644 frontend/node_modules/@lezer/markdown/test/tsconfig.json create mode 100644 frontend/node_modules/@lezer/markdown/tsconfig.json create mode 100644 frontend/node_modules/@marijn/find-cluster-break/LICENSE create mode 100644 frontend/node_modules/@marijn/find-cluster-break/README.md create mode 100644 frontend/node_modules/@marijn/find-cluster-break/dist/index.cjs create mode 100644 frontend/node_modules/@marijn/find-cluster-break/dist/index.d.cts create mode 100644 frontend/node_modules/@marijn/find-cluster-break/package.json create mode 100644 frontend/node_modules/@marijn/find-cluster-break/rollup.config.js create mode 100644 frontend/node_modules/@marijn/find-cluster-break/src/index.d.ts create mode 100644 frontend/node_modules/@marijn/find-cluster-break/src/index.js create mode 100644 frontend/node_modules/@marijn/find-cluster-break/test/test-cluster.js create mode 100644 frontend/node_modules/@rollup/rollup-linux-x64-gnu/README.md create mode 100644 frontend/node_modules/@rollup/rollup-linux-x64-gnu/package.json create mode 100644 frontend/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node create mode 100644 frontend/node_modules/@rollup/rollup-linux-x64-musl/README.md create mode 100644 frontend/node_modules/@rollup/rollup-linux-x64-musl/package.json create mode 100644 frontend/node_modules/@rollup/rollup-linux-x64-musl/rollup.linux-x64-musl.node create mode 100644 frontend/node_modules/@types/estree/LICENSE create mode 100644 frontend/node_modules/@types/estree/README.md create mode 100644 frontend/node_modules/@types/estree/flow.d.ts create mode 100644 frontend/node_modules/@types/estree/index.d.ts create mode 100644 frontend/node_modules/@types/estree/package.json create mode 100644 frontend/node_modules/crelt/LICENSE create mode 100644 frontend/node_modules/crelt/README.md create mode 100644 frontend/node_modules/crelt/dist/index.cjs create mode 100644 frontend/node_modules/crelt/dist/index.d.cts create mode 100644 frontend/node_modules/crelt/index.d.ts create mode 100644 frontend/node_modules/crelt/index.js create mode 100644 frontend/node_modules/crelt/package.json create mode 100644 frontend/node_modules/crelt/rollup.config.js create mode 100644 frontend/node_modules/esbuild/LICENSE.md create mode 100644 frontend/node_modules/esbuild/README.md create mode 100755 frontend/node_modules/esbuild/bin/esbuild create mode 100644 frontend/node_modules/esbuild/install.js create mode 100644 frontend/node_modules/esbuild/lib/main.d.ts create mode 100644 frontend/node_modules/esbuild/lib/main.js create mode 100644 frontend/node_modules/esbuild/package.json create mode 100644 frontend/node_modules/fdir/LICENSE create mode 100644 frontend/node_modules/fdir/README.md create mode 100644 frontend/node_modules/fdir/dist/index.cjs create mode 100644 frontend/node_modules/fdir/dist/index.d.cts create mode 100644 frontend/node_modules/fdir/dist/index.d.mts create mode 100644 frontend/node_modules/fdir/dist/index.mjs create mode 100644 frontend/node_modules/fdir/package.json create mode 100644 frontend/node_modules/nanoid/LICENSE create mode 100644 frontend/node_modules/nanoid/README.md create mode 100644 frontend/node_modules/nanoid/async/index.browser.cjs create mode 100644 frontend/node_modules/nanoid/async/index.browser.js create mode 100644 frontend/node_modules/nanoid/async/index.cjs create mode 100644 frontend/node_modules/nanoid/async/index.d.ts create mode 100644 frontend/node_modules/nanoid/async/index.js create mode 100644 frontend/node_modules/nanoid/async/index.native.js create mode 100644 frontend/node_modules/nanoid/async/package.json create mode 100755 frontend/node_modules/nanoid/bin/nanoid.cjs create mode 100644 frontend/node_modules/nanoid/index.browser.cjs create mode 100644 frontend/node_modules/nanoid/index.browser.js create mode 100644 frontend/node_modules/nanoid/index.cjs create mode 100644 frontend/node_modules/nanoid/index.d.cts create mode 100644 frontend/node_modules/nanoid/index.d.ts create mode 100644 frontend/node_modules/nanoid/index.js create mode 100644 frontend/node_modules/nanoid/nanoid.js create mode 100644 frontend/node_modules/nanoid/non-secure/index.cjs create mode 100644 frontend/node_modules/nanoid/non-secure/index.d.ts create mode 100644 frontend/node_modules/nanoid/non-secure/index.js create mode 100644 frontend/node_modules/nanoid/non-secure/package.json create mode 100644 frontend/node_modules/nanoid/package.json create mode 100644 frontend/node_modules/nanoid/url-alphabet/index.cjs create mode 100644 frontend/node_modules/nanoid/url-alphabet/index.js create mode 100644 frontend/node_modules/nanoid/url-alphabet/package.json create mode 100644 frontend/node_modules/picocolors/LICENSE create mode 100644 frontend/node_modules/picocolors/README.md create mode 100644 frontend/node_modules/picocolors/package.json create mode 100644 frontend/node_modules/picocolors/picocolors.browser.js create mode 100644 frontend/node_modules/picocolors/picocolors.d.ts create mode 100644 frontend/node_modules/picocolors/picocolors.js create mode 100644 frontend/node_modules/picocolors/types.d.ts create mode 100644 frontend/node_modules/picomatch/LICENSE create mode 100644 frontend/node_modules/picomatch/README.md create mode 100644 frontend/node_modules/picomatch/index.js create mode 100644 frontend/node_modules/picomatch/lib/constants.js create mode 100644 frontend/node_modules/picomatch/lib/parse.js create mode 100644 frontend/node_modules/picomatch/lib/picomatch.js create mode 100644 frontend/node_modules/picomatch/lib/scan.js create mode 100644 frontend/node_modules/picomatch/lib/utils.js create mode 100644 frontend/node_modules/picomatch/package.json create mode 100644 frontend/node_modules/picomatch/posix.js create mode 100644 frontend/node_modules/postcss/LICENSE create mode 100644 frontend/node_modules/postcss/README.md create mode 100644 frontend/node_modules/postcss/lib/at-rule.d.ts create mode 100644 frontend/node_modules/postcss/lib/at-rule.js create mode 100644 frontend/node_modules/postcss/lib/comment.d.ts create mode 100644 frontend/node_modules/postcss/lib/comment.js create mode 100644 frontend/node_modules/postcss/lib/container.d.ts create mode 100644 frontend/node_modules/postcss/lib/container.js create mode 100644 frontend/node_modules/postcss/lib/css-syntax-error.d.ts create mode 100644 frontend/node_modules/postcss/lib/css-syntax-error.js create mode 100644 frontend/node_modules/postcss/lib/declaration.d.ts create mode 100644 frontend/node_modules/postcss/lib/declaration.js create mode 100644 frontend/node_modules/postcss/lib/document.d.ts create mode 100644 frontend/node_modules/postcss/lib/document.js create mode 100644 frontend/node_modules/postcss/lib/fromJSON.d.ts create mode 100644 frontend/node_modules/postcss/lib/fromJSON.js create mode 100644 frontend/node_modules/postcss/lib/input.d.ts create mode 100644 frontend/node_modules/postcss/lib/input.js create mode 100644 frontend/node_modules/postcss/lib/lazy-result.d.ts create mode 100644 frontend/node_modules/postcss/lib/lazy-result.js create mode 100644 frontend/node_modules/postcss/lib/list.d.ts create mode 100644 frontend/node_modules/postcss/lib/list.js create mode 100644 frontend/node_modules/postcss/lib/map-generator.js create mode 100644 frontend/node_modules/postcss/lib/no-work-result.d.ts create mode 100644 frontend/node_modules/postcss/lib/no-work-result.js create mode 100644 frontend/node_modules/postcss/lib/node.d.ts create mode 100644 frontend/node_modules/postcss/lib/node.js create mode 100644 frontend/node_modules/postcss/lib/parse.d.ts create mode 100644 frontend/node_modules/postcss/lib/parse.js create mode 100644 frontend/node_modules/postcss/lib/parser.js create mode 100644 frontend/node_modules/postcss/lib/postcss.d.mts create mode 100644 frontend/node_modules/postcss/lib/postcss.d.ts create mode 100644 frontend/node_modules/postcss/lib/postcss.js create mode 100644 frontend/node_modules/postcss/lib/postcss.mjs create mode 100644 frontend/node_modules/postcss/lib/previous-map.d.ts create mode 100644 frontend/node_modules/postcss/lib/previous-map.js create mode 100644 frontend/node_modules/postcss/lib/processor.d.ts create mode 100644 frontend/node_modules/postcss/lib/processor.js create mode 100644 frontend/node_modules/postcss/lib/result.d.ts create mode 100644 frontend/node_modules/postcss/lib/result.js create mode 100644 frontend/node_modules/postcss/lib/root.d.ts create mode 100644 frontend/node_modules/postcss/lib/root.js create mode 100644 frontend/node_modules/postcss/lib/rule.d.ts create mode 100644 frontend/node_modules/postcss/lib/rule.js create mode 100644 frontend/node_modules/postcss/lib/stringifier.d.ts create mode 100644 frontend/node_modules/postcss/lib/stringifier.js create mode 100644 frontend/node_modules/postcss/lib/stringify.d.ts create mode 100644 frontend/node_modules/postcss/lib/stringify.js create mode 100644 frontend/node_modules/postcss/lib/symbols.js create mode 100644 frontend/node_modules/postcss/lib/terminal-highlight.js create mode 100644 frontend/node_modules/postcss/lib/tokenize.js create mode 100644 frontend/node_modules/postcss/lib/warn-once.js create mode 100644 frontend/node_modules/postcss/lib/warning.d.ts create mode 100644 frontend/node_modules/postcss/lib/warning.js create mode 100644 frontend/node_modules/postcss/package.json create mode 100644 frontend/node_modules/rollup/LICENSE.md create mode 100644 frontend/node_modules/rollup/README.md create mode 100755 frontend/node_modules/rollup/dist/bin/rollup create mode 100644 frontend/node_modules/rollup/dist/es/getLogFilter.js create mode 100644 frontend/node_modules/rollup/dist/es/package.json create mode 100644 frontend/node_modules/rollup/dist/es/parseAst.js create mode 100644 frontend/node_modules/rollup/dist/es/rollup.js create mode 100644 frontend/node_modules/rollup/dist/es/shared/node-entry.js create mode 100644 frontend/node_modules/rollup/dist/es/shared/parseAst.js create mode 100644 frontend/node_modules/rollup/dist/es/shared/watch.js create mode 100644 frontend/node_modules/rollup/dist/getLogFilter.d.ts create mode 100644 frontend/node_modules/rollup/dist/getLogFilter.js create mode 100644 frontend/node_modules/rollup/dist/loadConfigFile.d.ts create mode 100644 frontend/node_modules/rollup/dist/loadConfigFile.js create mode 100644 frontend/node_modules/rollup/dist/native.js create mode 100644 frontend/node_modules/rollup/dist/parseAst.d.ts create mode 100644 frontend/node_modules/rollup/dist/parseAst.js create mode 100644 frontend/node_modules/rollup/dist/rollup.d.ts create mode 100644 frontend/node_modules/rollup/dist/rollup.js create mode 100644 frontend/node_modules/rollup/dist/shared/fsevents-importer.js create mode 100644 frontend/node_modules/rollup/dist/shared/index.js create mode 100644 frontend/node_modules/rollup/dist/shared/loadConfigFile.js create mode 100644 frontend/node_modules/rollup/dist/shared/parseAst.js create mode 100644 frontend/node_modules/rollup/dist/shared/rollup.js create mode 100644 frontend/node_modules/rollup/dist/shared/watch-cli.js create mode 100644 frontend/node_modules/rollup/dist/shared/watch.js create mode 100644 frontend/node_modules/rollup/package.json create mode 100644 frontend/node_modules/source-map-js/LICENSE create mode 100644 frontend/node_modules/source-map-js/README.md create mode 100644 frontend/node_modules/source-map-js/lib/array-set.js create mode 100644 frontend/node_modules/source-map-js/lib/base64-vlq.js create mode 100644 frontend/node_modules/source-map-js/lib/base64.js create mode 100644 frontend/node_modules/source-map-js/lib/binary-search.js create mode 100644 frontend/node_modules/source-map-js/lib/mapping-list.js create mode 100644 frontend/node_modules/source-map-js/lib/quick-sort.js create mode 100644 frontend/node_modules/source-map-js/lib/source-map-consumer.d.ts create mode 100644 frontend/node_modules/source-map-js/lib/source-map-consumer.js create mode 100644 frontend/node_modules/source-map-js/lib/source-map-generator.d.ts create mode 100644 frontend/node_modules/source-map-js/lib/source-map-generator.js create mode 100644 frontend/node_modules/source-map-js/lib/source-node.d.ts create mode 100644 frontend/node_modules/source-map-js/lib/source-node.js create mode 100644 frontend/node_modules/source-map-js/lib/util.js create mode 100644 frontend/node_modules/source-map-js/package.json create mode 100644 frontend/node_modules/source-map-js/source-map.d.ts create mode 100644 frontend/node_modules/source-map-js/source-map.js create mode 100644 frontend/node_modules/style-mod/LICENSE create mode 100644 frontend/node_modules/style-mod/README.md create mode 100644 frontend/node_modules/style-mod/dist/style-mod.cjs create mode 100644 frontend/node_modules/style-mod/dist/style-mod.d.cts create mode 100644 frontend/node_modules/style-mod/package.json create mode 100644 frontend/node_modules/style-mod/src/README.md create mode 100644 frontend/node_modules/style-mod/src/style-mod.d.ts create mode 100644 frontend/node_modules/style-mod/src/style-mod.js create mode 100644 frontend/node_modules/style-mod/test/test-style-mod.js create mode 100644 frontend/node_modules/tinyglobby/LICENSE create mode 100644 frontend/node_modules/tinyglobby/README.md create mode 100644 frontend/node_modules/tinyglobby/dist/index.cjs create mode 100644 frontend/node_modules/tinyglobby/dist/index.d.cts create mode 100644 frontend/node_modules/tinyglobby/dist/index.d.mts create mode 100644 frontend/node_modules/tinyglobby/dist/index.mjs create mode 100644 frontend/node_modules/tinyglobby/package.json create mode 100644 frontend/node_modules/vite/LICENSE.md create mode 100644 frontend/node_modules/vite/README.md create mode 100644 frontend/node_modules/vite/bin/openChrome.js create mode 100755 frontend/node_modules/vite/bin/vite.js create mode 100644 frontend/node_modules/vite/client.d.ts create mode 100644 frontend/node_modules/vite/dist/client/client.mjs create mode 100644 frontend/node_modules/vite/dist/client/env.mjs create mode 100644 frontend/node_modules/vite/dist/node/chunks/build.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/build2.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/chunk.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/config.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/config2.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/dist.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/lib.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/logger.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts create mode 100644 frontend/node_modules/vite/dist/node/chunks/optimizer.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/postcss-import.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/preview.js create mode 100644 frontend/node_modules/vite/dist/node/chunks/server.js create mode 100644 frontend/node_modules/vite/dist/node/cli.js create mode 100644 frontend/node_modules/vite/dist/node/index.d.ts create mode 100644 frontend/node_modules/vite/dist/node/index.js create mode 100644 frontend/node_modules/vite/dist/node/module-runner.d.ts create mode 100644 frontend/node_modules/vite/dist/node/module-runner.js create mode 100644 frontend/node_modules/vite/misc/false.js create mode 100644 frontend/node_modules/vite/misc/true.js create mode 100644 frontend/node_modules/vite/package.json create mode 100644 frontend/node_modules/vite/types/customEvent.d.ts create mode 100644 frontend/node_modules/vite/types/hmrPayload.d.ts create mode 100644 frontend/node_modules/vite/types/hot.d.ts create mode 100644 frontend/node_modules/vite/types/import-meta.d.ts create mode 100644 frontend/node_modules/vite/types/importGlob.d.ts create mode 100644 frontend/node_modules/vite/types/importMeta.d.ts create mode 100644 frontend/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts create mode 100644 frontend/node_modules/vite/types/internal/lightningcssOptions.d.ts create mode 100644 frontend/node_modules/vite/types/internal/terserOptions.d.ts create mode 100644 frontend/node_modules/vite/types/metadata.d.ts create mode 100644 frontend/node_modules/vite/types/package.json create mode 100644 frontend/node_modules/w3c-keyname/.tern-port create mode 100644 frontend/node_modules/w3c-keyname/LICENSE create mode 100644 frontend/node_modules/w3c-keyname/README.md create mode 100644 frontend/node_modules/w3c-keyname/index.cjs create mode 100644 frontend/node_modules/w3c-keyname/index.d.cts create mode 100644 frontend/node_modules/w3c-keyname/index.d.ts create mode 100644 frontend/node_modules/w3c-keyname/index.js create mode 100644 frontend/node_modules/w3c-keyname/package.json create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/src/editor.js create mode 100644 frontend/src/file-tree.js create mode 100644 frontend/src/main.js create mode 100644 frontend/src/search.js create mode 100644 frontend/src/ui.js create mode 100644 frontend/vite.config.js create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/api/handler.go create mode 100644 internal/api/handler_test.go create mode 100644 internal/api/rest_handler.go create mode 100644 internal/indexer/indexer.go create mode 100644 internal/indexer/indexer_test.go create mode 100644 internal/watcher/watcher.go create mode 100644 notes/.gitkeep create mode 100644 notes/Poppy-test.md create mode 100644 notes/documentation/bienvenue.md create mode 100644 notes/meetings/export.md create mode 100644 notes/meetings/freepro.md create mode 100644 notes/meetings/outscale.md create mode 100644 notes/projets/nouvelle-note-1.md create mode 100644 notes/test/sous-dossier/nouvelle-note-2.md create mode 100644 notes/test/sous-dossier/test-2/silverbullet.md create mode 100644 public/app.js create mode 100755 server create mode 100644 static/dist/project-notes-frontend.es.js create mode 100644 static/dist/project-notes-frontend.umd.js create mode 100644 static/textarea-caret.js create mode 100644 static/theme.css create mode 100644 templates/editor.html create mode 100644 templates/file-tree.html create mode 100644 templates/home.html create mode 100644 templates/index.html create mode 100644 templates/new-note-prompt.html create mode 100644 templates/search-results.html diff --git a/API.md b/API.md new file mode 100644 index 0000000..79e5330 --- /dev/null +++ b/API.md @@ -0,0 +1,569 @@ +# Project Notes REST API Documentation + +Version: **v1** +Base URL: `http://localhost:8080/api/v1` + +## Table des matières + +- [Vue d'ensemble](#vue-densemble) +- [Authentification](#authentification) +- [Formats de données](#formats-de-données) +- [Endpoints](#endpoints) + - [Lister les notes](#lister-les-notes) + - [Récupérer une note](#récupérer-une-note) + - [Créer/Mettre à jour une note](#créermettre-à-jour-une-note) + - [Supprimer une note](#supprimer-une-note) +- [Codes de statut HTTP](#codes-de-statut-http) +- [Exemples d'utilisation](#exemples-dutilisation) + +--- + +## Vue d'ensemble + +L'API REST de Project Notes permet de gérer vos notes Markdown via HTTP. Elle supporte : + +- **Listage** : Récupérer la liste de toutes les notes avec métadonnées +- **Lecture** : Télécharger une note en JSON ou Markdown brut +- **Écriture** : Créer ou mettre à jour une note +- **Suppression** : Supprimer une note définitivement + +### Caractéristiques + +- ✅ **Versionnée** : `/api/v1` pour assurer la compatibilité future +- ✅ **Content Negotiation** : Support JSON et Markdown selon le header `Accept` +- ✅ **Idempotence** : PUT crée ou met à jour (idempotent) +- ✅ **Automatisation** : Front matter géré automatiquement +- ✅ **Ré-indexation** : Recherche mise à jour automatiquement après chaque modification +- ✅ **Support sous-dossiers** : Organisation hiérarchique native + +--- + +## Authentification + +**Version actuelle : Aucune authentification requise** + +⚠️ **IMPORTANT** : L'API n'a pas d'authentification. Si vous exposez le serveur publiquement : +1. Utilisez un reverse proxy (nginx, Caddy) avec authentification +2. Implémentez Basic Auth ou API Key +3. Utilisez un VPN ou tunnel SSH + +--- + +## Formats de données + +### Note complète (NoteResponse) + +```json +{ + "path": "projet/backend.md", + "title": "Backend API", + "content": "---\ntitle: Backend API\n...\n---\n\n# Content", + "body": "\n# Content", + "frontMatter": { + "title": "Backend API", + "date": "10-11-2025", + "last_modified": "10-11-2025:14:30", + "tags": ["projet", "backend"] + }, + "lastModified": "10-11-2025:14:30", + "size": 1024 +} +``` + +### Métadonnées de note (NoteMetadata) + +```json +{ + "path": "projet/backend.md", + "title": "Backend API", + "tags": ["projet", "backend"], + "lastModified": "10-11-2025:14:30", + "date": "10-11-2025", + "size": 1024 +} +``` + +### Requête de création/modification (NoteRequest) + +Deux options : + +**Option 1 : Content complet** (recommandé pour migration) +```json +{ + "content": "---\ntitle: Ma note\ntags: [test]\n---\n\n# Contenu" +} +``` + +**Option 2 : Body + FrontMatter séparés** (recommandé pour création) +```json +{ + "body": "\n# Mon contenu\n\nTexte ici...", + "frontMatter": { + "title": "Ma note", + "tags": ["test", "exemple"] + } +} +``` + +### Erreur (ErrorResponse) + +```json +{ + "error": "Bad Request", + "message": "Invalid path", + "code": 400 +} +``` + +--- + +## Endpoints + +### Lister les notes + +Récupère la liste de toutes les notes avec leurs métadonnées. + +**Endpoint** : `GET /api/v1/notes` + +**Paramètres** : Aucun + +**Réponse** : `200 OK` + +```json +{ + "notes": [ + { + "path": "projet/backend.md", + "title": "Backend API", + "tags": ["projet", "backend"], + "lastModified": "10-11-2025:14:30", + "date": "10-11-2025", + "size": 1024 + }, + { + "path": "daily/2025-11-10.md", + "title": "Notes du 10 novembre", + "tags": ["daily"], + "lastModified": "10-11-2025:09:15", + "date": "10-11-2025", + "size": 2048 + } + ], + "total": 2 +} +``` + +**Exemple curl** : + +```bash +curl http://localhost:8080/api/v1/notes +``` + +--- + +### Récupérer une note + +Télécharge une note spécifique. Le format dépend du header `Accept`. + +**Endpoint** : `GET /api/v1/notes/{path}` + +**Paramètres** : +- `{path}` : Chemin relatif de la note (ex: `projet/backend.md`) + +**Headers** : +- `Accept: application/json` (défaut) : Retourne JSON avec métadonnées +- `Accept: text/markdown` : Retourne Markdown brut +- `Accept: text/plain` : Retourne Markdown brut + +**Réponse JSON** : `200 OK` + +```json +{ + "path": "projet/backend.md", + "title": "Backend API", + "content": "---\ntitle: Backend API\ndate: 10-11-2025\nlast_modified: 10-11-2025:14:30\ntags:\n - projet\n - backend\n---\n\n# Backend API\n\nContenu de la note...", + "body": "\n# Backend API\n\nContenu de la note...", + "frontMatter": { + "title": "Backend API", + "date": "10-11-2025", + "last_modified": "10-11-2025:14:30", + "tags": ["projet", "backend"] + }, + "lastModified": "10-11-2025:14:30", + "size": 1024 +} +``` + +**Réponse Markdown** : `200 OK` + +```markdown +--- +title: Backend API +date: 10-11-2025 +last_modified: 10-11-2025:14:30 +tags: + - projet + - backend +--- + +# Backend API + +Contenu de la note... +``` + +**Erreurs** : +- `404 Not Found` : Note inexistante + +**Exemples curl** : + +```bash +# Récupérer en JSON +curl http://localhost:8080/api/v1/notes/projet/backend.md \ + -H "Accept: application/json" + +# Récupérer en Markdown brut +curl http://localhost:8080/api/v1/notes/projet/backend.md \ + -H "Accept: text/markdown" + +# Sauvegarder dans un fichier +curl http://localhost:8080/api/v1/notes/projet/backend.md \ + -H "Accept: text/markdown" \ + -o backend.md +``` + +--- + +### Créer/Mettre à jour une note + +Crée une nouvelle note ou met à jour une note existante (idempotent). + +**Endpoint** : `PUT /api/v1/notes/{path}` + +**Paramètres** : +- `{path}` : Chemin relatif de la note (ex: `projet/nouvelle-note.md`) + +**Headers** : +- `Content-Type: application/json` : Envoyer du JSON +- `Content-Type: text/markdown` : Envoyer du Markdown brut + +**Body JSON** : + +```json +{ + "body": "\n# Ma nouvelle note\n\nContenu ici...", + "frontMatter": { + "title": "Ma nouvelle note", + "tags": ["test", "exemple"] + } +} +``` + +Ou avec `content` complet : + +```json +{ + "content": "---\ntitle: Ma note\ntags: [test]\n---\n\n# Contenu" +} +``` + +**Body Markdown brut** : + +```markdown +# Ma nouvelle note + +Contenu ici... +``` + +**Réponse** : `201 Created` (nouvelle note) ou `200 OK` (mise à jour) + +```json +{ + "path": "projet/nouvelle-note.md", + "title": "Ma nouvelle note", + "content": "---\ntitle: Ma nouvelle note\n...", + "body": "\n# Ma nouvelle note\n\nContenu ici...", + "frontMatter": { + "title": "Ma nouvelle note", + "date": "10-11-2025", + "last_modified": "10-11-2025:14:35", + "tags": ["test", "exemple"] + }, + "lastModified": "10-11-2025:14:35", + "size": 256 +} +``` + +**Comportement** : +- ✅ Crée automatiquement les dossiers parents +- ✅ Génère le front matter si absent +- ✅ Met à jour `last_modified` automatiquement +- ✅ Préserve `date` pour notes existantes +- ✅ Ré-indexe automatiquement pour la recherche + +**Erreurs** : +- `400 Bad Request` : Chemin invalide ou JSON malformé +- `415 Unsupported Media Type` : Content-Type non supporté +- `500 Internal Server Error` : Erreur d'écriture + +**Exemples curl** : + +```bash +# Créer avec JSON +curl -X PUT http://localhost:8080/api/v1/notes/projet/test.md \ + -H "Content-Type: application/json" \ + -d '{ + "body": "\n# Test\n\nCeci est un test.", + "frontMatter": { + "title": "Note de test", + "tags": ["test"] + } + }' + +# Créer avec Markdown brut +curl -X PUT http://localhost:8080/api/v1/notes/projet/simple.md \ + -H "Content-Type: text/markdown" \ + -d "# Simple note + +Contenu simple sans front matter." + +# Upload depuis un fichier +curl -X PUT http://localhost:8080/api/v1/notes/projet/from-file.md \ + -H "Content-Type: text/markdown" \ + --data-binary @local-file.md +``` + +--- + +### Supprimer une note + +Supprime définitivement une note. + +**Endpoint** : `DELETE /api/v1/notes/{path}` + +**Paramètres** : +- `{path}` : Chemin relatif de la note (ex: `projet/old-note.md`) + +**Réponse** : `200 OK` + +```json +{ + "message": "Note deleted successfully", + "path": "projet/old-note.md" +} +``` + +**Erreurs** : +- `404 Not Found` : Note inexistante +- `500 Internal Server Error` : Erreur de suppression + +**Exemple curl** : + +```bash +curl -X DELETE http://localhost:8080/api/v1/notes/projet/old-note.md +``` + +--- + +## Codes de statut HTTP + +| Code | Signification | Description | +|------|---------------|-------------| +| `200` | OK | Requête réussie | +| `201` | Created | Note créée avec succès | +| `400` | Bad Request | Requête invalide (chemin, JSON, etc.) | +| `404` | Not Found | Note inexistante | +| `405` | Method Not Allowed | Méthode HTTP non supportée | +| `415` | Unsupported Media Type | Content-Type non supporté | +| `500` | Internal Server Error | Erreur serveur | + +--- + +## Exemples d'utilisation + +### Synchronisation de notes + +**Télécharger toutes les notes** : + +```bash +#!/bin/bash +# Télécharger toutes les notes localement + +mkdir -p notes-backup + +# Récupérer la liste +curl -s http://localhost:8080/api/v1/notes | jq -r '.notes[].path' | while read path; do + # Créer les dossiers parents + mkdir -p "notes-backup/$(dirname "$path")" + + # Télécharger la note + curl -s http://localhost:8080/api/v1/notes/"$path" \ + -H "Accept: text/markdown" \ + -o "notes-backup/$path" + + echo "✓ Downloaded: $path" +done + +echo "Backup terminé!" +``` + +**Uploader un dossier de notes** : + +```bash +#!/bin/bash +# Uploader toutes les notes .md d'un dossier + +find ./my-notes -name "*.md" | while read file; do + # Calculer le chemin relatif + relpath="${file#./my-notes/}" + + # Upload + curl -X PUT http://localhost:8080/api/v1/notes/"$relpath" \ + -H "Content-Type: text/markdown" \ + --data-binary @"$file" + + echo "✓ Uploaded: $relpath" +done + +echo "Upload terminé!" +``` + +### Recherche et filtrage + +**Lister toutes les notes avec un tag spécifique** : + +```bash +curl -s http://localhost:8080/api/v1/notes | \ + jq '.notes[] | select(.tags | contains(["projet"])) | .path' +``` + +**Compter les notes par dossier** : + +```bash +curl -s http://localhost:8080/api/v1/notes | \ + jq -r '.notes[].path' | \ + xargs -n1 dirname | \ + sort | uniq -c +``` + +### Création automatique de notes + +**Note quotidienne** : + +```bash +#!/bin/bash +# Créer une note quotidienne + +TODAY=$(date +%Y-%m-%d) +TITLE="Notes du $(date +%d/%m/%Y)" + +curl -X PUT http://localhost:8080/api/v1/notes/daily/${TODAY}.md \ + -H "Content-Type: application/json" \ + -d "{ + \"body\": \"\\n# ${TITLE}\\n\\n## Tasks\\n- [ ] TODO\\n\\n## Notes\\n\", + \"frontMatter\": { + \"title\": \"${TITLE}\", + \"tags\": [\"daily\"] + } + }" + +echo "Note quotidienne créée: daily/${TODAY}.md" +``` + +### Intégration avec d'autres outils + +**Exporter en HTML avec Pandoc** : + +```bash +curl -s http://localhost:8080/api/v1/notes/projet/doc.md \ + -H "Accept: text/markdown" | \ + pandoc -f markdown -t html -o doc.html + +echo "Exporté en HTML: doc.html" +``` + +**Recherche full-text avec jq** : + +```bash +# Chercher "API" dans tous les titres +curl -s http://localhost:8080/api/v1/notes | \ + jq '.notes[] | select(.title | contains("API"))' +``` + +### Script de maintenance + +**Vérifier les notes sans tags** : + +```bash +curl -s http://localhost:8080/api/v1/notes | \ + jq -r '.notes[] | select(.tags | length == 0) | .path' +``` + +**Statistiques** : + +```bash +#!/bin/bash +# Afficher des statistiques sur les notes + +STATS=$(curl -s http://localhost:8080/api/v1/notes) + +TOTAL=$(echo "$STATS" | jq '.total') +TOTAL_SIZE=$(echo "$STATS" | jq '[.notes[].size] | add') +AVG_SIZE=$(echo "$STATS" | jq '[.notes[].size] | add / length | floor') + +echo "📊 Statistiques des notes" +echo "========================" +echo "Total de notes: $TOTAL" +echo "Taille totale: $(numfmt --to=iec-i --suffix=B $TOTAL_SIZE)" +echo "Taille moyenne: $(numfmt --to=iec-i --suffix=B $AVG_SIZE)" +echo "" +echo "Top 5 tags:" +echo "$STATS" | jq -r '.notes[].tags[]' | sort | uniq -c | sort -rn | head -5 +``` + +--- + +## Bonnes pratiques + +### Sécurité + +1. **Ne pas exposer publiquement sans authentification** +2. **Utiliser HTTPS en production** +3. **Valider les chemins côté client** (éviter `../` malveillants) +4. **Limiter la taille des uploads** (si nécessaire, ajouter un middleware) + +### Performance + +1. **Pagination** : L'API liste ne pagine pas actuellement (toutes les notes en une requête). Pour beaucoup de notes (>1000), envisager d'ajouter `?limit=` et `?offset=` +2. **Cache** : Utiliser un proxy cache (Varnish, nginx) pour GET +3. **Compression** : Activer gzip sur le reverse proxy + +### Workflow recommandé + +1. **Backup régulier** : Script cron qui télécharge toutes les notes +2. **Versioning Git** : Synchroniser le dossier de notes avec Git +3. **CI/CD** : Valider le format Markdown avec des linters +4. **Monitoring** : Logger les accès API pour audit + +--- + +## Support et contribution + +- **Issues** : Rapporter les bugs sur GitHub +- **Documentation** : Ce fichier (`API.md`) +- **Code source** : `internal/api/rest_handler.go` + +--- + +## Changelog + +### v1 (2025-11-10) +- ✨ Première version de l'API REST +- ✅ Endpoints: LIST, GET, PUT, DELETE +- ✅ Content negotiation JSON/Markdown +- ✅ Support sous-dossiers +- ✅ Gestion automatique du front matter +- ✅ Ré-indexation automatique + +--- + +**Note** : Cette API coexiste avec l'interface web HTML. Les deux peuvent être utilisées simultanément sans conflit. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..e644fc9 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,421 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +A lightweight web-based Markdown note-taking application with a Go backend and modern JavaScript frontend. Notes are stored as plain Markdown files with YAML front matter containing metadata (title, date, last_modified, tags). The system provides a sophisticated CodeMirror 6 editor with live preview, rich search capabilities, hierarchical organization, and automatic front matter management. + +**Recent Modernization**: The project has been migrated from a simple textarea editor to CodeMirror 6, with a Vite build system for frontend modules. The backend remains unchanged, maintaining the same Go architecture with htmx for dynamic interactions. + +## Architecture + +### Backend (Go) + +Three main packages under `internal/`: +- **indexer**: Maintains an in-memory index mapping tags to note files. Parses YAML front matter from `.md` files to build the index. Thread-safe with RWMutex. +- **watcher**: Uses `fsnotify` to monitor filesystem changes and trigger re-indexing with 200ms debounce. Recursively watches all subdirectories. +- **api**: HTTP handlers that serve templates and handle CRUD operations on notes. Updates front matter automatically on save. + +The server (`cmd/server/main.go`) coordinates these components: +1. Loads initial index from notes directory +2. Starts filesystem watcher for automatic re-indexing +3. Pre-parses HTML templates from `templates/` +4. Serves routes: `/` (main page), `/api/search`, `/api/notes/*`, `/api/tree`, `/api/folders/create`, `/api/files/move` +5. Handles static files from `static/` directory + +### Frontend + +The frontend uses a modern build system with Vite and CodeMirror 6: + +#### Architecture +- **Build System**: Vite compiles frontend modules from `frontend/src/` to `static/dist/` +- **Editor**: CodeMirror 6 with Markdown language support, One Dark theme, and syntax highlighting +- **Templates**: `index.html`, `editor.html`, `file-tree.html`, `search-results.html`, `new-note-prompt.html` +- **HTMX Integration**: Server returns HTML fragments that htmx swaps into the DOM +- **Out-of-band swaps**: Update the file tree after saves/deletes without full page reload + +#### Frontend Source Structure +``` +frontend/src/ +├── main.js # Entry point - imports all modules +├── editor.js # CodeMirror 6 editor implementation with slash commands +├── file-tree.js # Drag-and-drop file organization +└── ui.js # Sidebar toggle functionality +``` + +#### CodeMirror 6 Editor Features +- **Syntax Highlighting**: Full Markdown language support (`@codemirror/lang-markdown`) +- **Theme**: One Dark theme (`@codemirror/theme-one-dark`) - VS Code-inspired dark theme +- **Live Preview**: Debounced updates (150ms) synchronized with editor scroll position +- **Auto-Save**: Triggers after 2 seconds of inactivity +- **Keyboard Shortcuts**: + - `Ctrl/Cmd+S` for manual save + - `Tab` for proper indentation + - Full keyboard navigation +- **View Modes**: Toggle between split view, editor-only, and preview-only +- **Slash Commands**: Type `/` to open command palette for quick Markdown insertion +- **Front Matter Handling**: Automatically strips YAML front matter in preview + +#### File Tree Features +- **Folder Management**: Expand/collapse folders with visual indicators (📁/📂) +- **Drag & Drop**: Move files between folders with visual feedback +- **Folder Creation**: Modal-based creation supporting nested paths +- **Safe Validation**: Prevents dangerous path operations + +#### Rendering Pipeline +- **marked.js**: Markdown to HTML conversion +- **DOMPurify**: HTML sanitization to prevent XSS attacks +- **Highlight.js**: Syntax highlighting for code blocks in preview +- **Custom Theme**: Material Darker theme in `static/theme.css` with CSS custom properties + +### Note Format + +Notes have YAML front matter with these fields: +```yaml +--- +title: "Note Title" +date: "08-11-2025" +last_modified: "08-11-2025:13:02" +tags: [tag1, tag2] +--- +``` + +The `indexer` package handles both single-value and array-format tags via custom `UnmarshalYAML`. + +## Development Commands + +### Building the Frontend + +**IMPORTANT**: The frontend must be built before running the application. The compiled JavaScript is required. + +```bash +cd frontend +npm install # Install dependencies (first time only) +npm run build # Compile frontend modules to static/dist/ +``` + +Output files (loaded by templates): +- `static/dist/project-notes-frontend.es.js` (ES module) +- `static/dist/project-notes-frontend.umd.js` (UMD format) + +Frontend dependencies (from `frontend/package.json`): +- `@codemirror/basic-setup` - Base editor functionality +- `@codemirror/lang-markdown` - Markdown language support +- `@codemirror/state` - Editor state management +- `@codemirror/view` - Editor view layer +- `@codemirror/theme-one-dark` - Dark theme +- `vite` - Build tool + +### Running the Server + +```bash +go run ./cmd/server +``` + +Server starts on `http://localhost:8080`. Use flags to customize: +- `-addr :PORT` - Change server address (default: `:8080`) +- `-notes-dir PATH` - Change notes directory (default: `./notes`) + +### Testing + +Run all tests: +```bash +go test ./... +``` + +Run specific package tests: +```bash +go test ./internal/indexer +go test ./internal/api +``` + +Run tests with verbose output: +```bash +go test -v ./... +``` + +### Building the Server Binary + +```bash +go build ./cmd/server +``` + +### Backend Dependencies + +Update Go dependencies: +```bash +go mod tidy +``` + +Key backend dependencies: +- `github.com/fsnotify/fsnotify` - Filesystem watcher +- `gopkg.in/yaml.v3` - YAML parsing for front matter + +### Vite Build System + +The frontend uses Vite (`frontend/vite.config.js`) for bundling JavaScript modules: + +**Configuration**: +- **Entry Point**: `frontend/src/main.js` (imports editor.js, file-tree.js, ui.js) +- **Output Directory**: `static/dist/` (served by Go server) +- **Library Mode**: Builds as a library with both ES and UMD formats +- **Single Bundle**: No code splitting - all dependencies bundled together +- **Aliases**: Path aliases for `@codemirror/state` and `@codemirror/view` to ensure consistent versions + +**Build Process**: +1. Vite reads all source files from `frontend/src/` +2. Resolves npm dependencies (@codemirror packages) +3. Bundles everything into two formats: + - ES module (`project-notes-frontend.es.js`) - 1.0 MB + - UMD (`project-notes-frontend.umd.js`) - 679 KB +4. Outputs to `static/dist/` where Go server can serve them +5. Templates load the ES module version via ` + +==> + +Document(Element(OpenTag(StartTag,TagName,Attribute(AttributeName,Is,AttributeValue),EndTag), + ScriptText, +CloseTag(StartCloseTag,TagName,EndTag))) + +# Does parse type-less script tags as JS + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Script(ExpressionStatement(RegExp)), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Still doesn't end script tags on closing tags + + + +==> + +Document(Element(OpenTag(StartTag,TagName,Attribute(AttributeName,Is,UnquotedAttributeValue),EndTag), + ScriptText, +CloseTag(StartCloseTag,TagName,EndTag))) + +# Missing end tag + + + +==> + +Document(Element(OpenTag(StartTag,TagName,Attribute(AttributeName,Is,AttributeValue),EndTag), + Script(...), +CloseTag(StartCloseTag,TagName,EndTag))) + +# JS with unquoted script type + + + +==> + +Document(Element(OpenTag(StartTag,TagName,Attribute(AttributeName,Is,UnquotedAttributeValue),EndTag), + Script(...), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Error in JS + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Script(...), +CloseTag(StartCloseTag,TagName,EndTag))) diff --git a/frontend/node_modules/@lezer/html/test/tags.txt b/frontend/node_modules/@lezer/html/test/tags.txt new file mode 100644 index 0000000..8484ab8 --- /dev/null +++ b/frontend/node_modules/@lezer/html/test/tags.txt @@ -0,0 +1,370 @@ +# Regular tag + +bar + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag),Text,CloseTag(StartCloseTag,TagName,EndTag))) + +# Nested tag + +c
+ +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag),Text,CloseTag(StartCloseTag,TagName,EndTag)), + Element(SelfClosingTag(StartTag,TagName,EndTag)), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Attribute + +
+ +==> + +Document(Element(SelfClosingTag(StartTag,TagName,Attribute(AttributeName,Is,AttributeValue),EndTag))) + +# Multiple attributes + + + +==> + +Document(Element(OpenTag(StartTag,TagName, + Attribute(AttributeName,Is,AttributeValue), + Attribute(AttributeName,Is,AttributeValue), + Attribute(AttributeName,Is,AttributeValue),EndTag), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Value-less attributes + + + +==> + +Document(Element(OpenTag(StartTag,TagName, + Attribute(AttributeName), + Attribute(AttributeName,Is,AttributeValue), + Attribute(AttributeName),EndTag), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Unquoted attributes + + + +==> + +Document(Element(OpenTag(StartTag,TagName, + Attribute(AttributeName,Is,UnquotedAttributeValue), + Attribute(AttributeName), + Attribute(AttributeName,Is,UnquotedAttributeValue),EndTag), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Unquoted attributes with slashes + + + +==> + +Document(Element(SelfClosingTag(StartTag,TagName, + Attribute(AttributeName,Is,UnquotedAttributeValue), + Attribute(AttributeName,Is,UnquotedAttributeValue), + Attribute(AttributeName,Is,UnquotedAttributeValue), + Attribute(AttributeName,Is,UnquotedAttributeValue), +EndTag))) + +# Single-quoted attributes + + + +==> + +Document(Element(SelfClosingTag(StartTag, TagName, + Attribute(AttributeName, Is, AttributeValue), + Attribute(AttributeName, Is, AttributeValue(EntityReference)), +EndTag))) + +# Entities + +&C + +==> + +Document(Element(OpenTag(StartTag,TagName, + Attribute(AttributeName,Is,AttributeValue(EntityReference)),EndTag), + EntityReference,CharacterReference, +CloseTag(StartCloseTag,TagName,EndTag))) + +# Doctype + + + + +==> + +Document(DoctypeDecl,Text,Element(OpenTag(StartTag,TagName,EndTag),CloseTag(StartCloseTag,TagName,EndTag))) + +# Processing instructions + + + +==> + +Document(ProcessingInst,Element(OpenTag(StartTag,TagName,EndTag),ProcessingInst,CloseTag(StartCloseTag,TagName,EndTag))) + +# Comments + + + text + + + +==> + +Document(Comment,Text,Element(OpenTag(StartTag,TagName,EndTag),Comment,Text,CloseTag(StartCloseTag,TagName,EndTag)),Text,Comment,Text,Comment) + +# Mismatched tag + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag),MismatchedCloseTag(StartCloseTag,TagName,EndTag))) + +# Unclosed tag + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag))) + +# Ignore pseudo-xml self-closers + +
+ +==> + +Document(Element(SelfClosingTag(StartTag,TagName,EndTag))) + +# Unclosed implicitly closed tag + +

+ +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag))) + +# Nested mismatched tag + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag),CloseTag(StartCloseTag,TagName,EndTag)), + MismatchedCloseTag(StartCloseTag,TagName,EndTag), + ⚠), + CloseTag(StartCloseTag,TagName,EndTag))) + +# Incomplete close tag + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag), IncompleteCloseTag, ⚠), + CloseTag(StartCloseTag,TagName,EndTag))) + +# Re-synchronize close tags + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag), + MismatchedCloseTag(StartCloseTag,TagName,EndTag), + CloseTag(StartCloseTag,TagName,EndTag)), + ⚠), + CloseTag(StartCloseTag,TagName,EndTag))) + +# Top-level mismatched close tag + + + +==> + +Document( + Element(OpenTag(StartTag,TagName,EndTag),CloseTag(StartCloseTag,TagName,EndTag)), + MismatchedCloseTag(StartCloseTag,TagName,EndTag)) + +# Self-closing tags + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(SelfClosingTag(StartTag,TagName,Attribute(AttributeName,Is,UnquotedAttributeValue),EndTag)), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Implicitly closed + +

Hello
+ +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag),Text), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Closed by sibling + +
+

Foo +

Bar +

+ +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Text, + Element(OpenTag(StartTag,TagName,EndTag),Text), + Element(OpenTag(StartTag,TagName,EndTag),Text), +CloseTag(StartCloseTag,TagName,EndTag))) + +# Closed by sibling at top + +

Foo +

Bar + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag),Text),Element(OpenTag(StartTag,TagName,EndTag),Text)) + +# Textarea + +

Enter something: + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Text, + Element(OpenTag(StartTag,TagName,Attribute(AttributeName,Is,UnquotedAttributeValue),EndTag), + TextareaText, + CloseTag(StartCloseTag,TagName,EndTag)))) + +# Script + + + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag),ScriptText,CloseTag(StartCloseTag,TagName,EndTag))) + +# Doesn't get confused by a stray ampersand + +a&b + +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag),Text,InvalidEntity,Text,CloseTag(StartCloseTag,TagName,EndTag))) + +# Can ignore mismatches {"dialect": "noMatch"} + +

foo

+ +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag),Text,CloseTag(StartCloseTag,TagName,EndTag))) + +# Can handle lone close tags {"dialect": "noMatch"} + + + +==> + +Document(CloseTag(StartCloseTag,TagName,EndTag)) + +# Parses ampersands in attributes + + + +==> + +Document(Element(SelfClosingTag(StartTag, TagName, Attribute(AttributeName, Is, AttributeValue(InvalidEntity)), EndTag))) + +# Supports self-closing dialect {"dialect": "selfClosing"} + +
+ +==> + +Document(Element( + OpenTag(StartTag,TagName,EndTag), + Element(SelfClosingTag(StartTag,TagName,Attribute(AttributeName,Is,UnquotedAttributeValue),SelfClosingEndTag)), + CloseTag(StartCloseTag,TagName,EndTag))) + +# Allows self-closing in foreign elements + +
+ +==> + +Document(Element(OpenTag(StartTag,TagName,EndTag), + Element(OpenTag(StartTag,TagName,EndTag), + Element(SelfClosingTag(StartTag,TagName,SelfClosingEndTag)), + CloseTag(StartCloseTag,TagName,EndTag)), + CloseTag(StartCloseTag,TagName,EndTag))) + +# Parses multiple unfinished tags in a row + +
+ +Document(Element(OpenTag(StartTag,TagName,⚠), + Element(OpenTag(StartTag,TagName,⚠), + Element(OpenTag(StartTag,TagName,⚠),⚠),⚠),⚠)) + +# Allows self-closing on special tags {"dialect": "selfClosing"} + + +
+ +
+
+
+
+ {{if not .IsHome}} +
+
+ + +
+ +
+ {{end}} + + \ No newline at end of file diff --git a/templates/file-tree.html b/templates/file-tree.html new file mode 100644 index 0000000..e666863 --- /dev/null +++ b/templates/file-tree.html @@ -0,0 +1,39 @@ +{{if .Tree}} +{{if .Tree.Children}} + {{template "tree-node" .Tree}} +{{else}} +

Aucune note trouvée.

+{{end}} +{{else}} +

Aucune note trouvée.

+{{end}} + +{{define "tree-node"}} + {{range .Children}} + {{if .IsDir}} +
+
+ + 📁 + {{.Name}} +
+ +
+ {{else}} + + 📄 {{.Name}} + + {{end}} + {{end}} +{{end}} \ No newline at end of file diff --git a/templates/home.html b/templates/home.html new file mode 100644 index 0000000..237c377 --- /dev/null +++ b/templates/home.html @@ -0,0 +1,71 @@ +
+
+

+ 📝 Project Notes +

+

+ Bienvenue dans votre espace de notes Markdown +

+ +
+ +
+

+ 🚀 Démarrage rapide +

+
+
+

📁 Parcourir

+

+ Explorez vos notes dans l'arborescence à gauche +

+
+
+

🔍 Rechercher

+

+ Utilisez la barre de recherche en haut pour trouver vos notes +

+
+
+

⚡ Slash commands

+

+ Tapez / dans l'éditeur pour insérer du Markdown +

+
+
+
+ +
+

+ ✨ Fonctionnalités +

+
    +
  • + Éditeur Markdown avec coloration syntaxique (CodeMirror) +
  • +
  • + Prévisualisation en temps réel avec scroll synchronisé +
  • +
  • + Organisation par dossiers avec arborescence dynamique +
  • +
  • + Recherche avancée par tag, titre ou contenu +
  • +
  • + Thème Material Darker pour vos yeux +
  • +
  • + Sauvegarde automatique avec Ctrl/Cmd+S +
  • +
+
+ +
+

+ 💡 Astuce : Cliquez sur une note dans l'arborescence pour commencer à éditer +

+
+
\ No newline at end of file diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..a4aa53b --- /dev/null +++ b/templates/index.html @@ -0,0 +1,186 @@ + + + + + + Project Notes + + + + + + + + + + + +
+ +

📝 Project Notes

+ + + +
+ +
+
+ + + + + + + + + + +
+ +
+
+
+ + + +

Chargement...

+
+
+
+
+ + + + \ No newline at end of file diff --git a/templates/new-note-prompt.html b/templates/new-note-prompt.html new file mode 100644 index 0000000..2091e6f --- /dev/null +++ b/templates/new-note-prompt.html @@ -0,0 +1,6 @@ +
+ + + + +
diff --git a/templates/search-results.html b/templates/search-results.html new file mode 100644 index 0000000..e78bdb9 --- /dev/null +++ b/templates/search-results.html @@ -0,0 +1,66 @@ +{{if .Query}} + {{if .Results}} +
+ {{len .Results}} résultat{{if gt (len .Results) 1}}s{{end}} +
+ + {{else}} +
+
🔍
+

Aucun résultat pour « {{.Query}} »

+

Essayez d'autres mots-clés ou utilisez les filtres

+
+ {{end}} +{{else}} +
+

💡 Recherche avancée

+

Saisissez des mots-clés pour rechercher dans vos notes

+
+
+ tag:projet + Rechercher par tag +
+
+ title:réunion + Rechercher dans les titres +
+
+ path:meetings + Rechercher dans les chemins +
+
+
+{{end}}