├── static ├── .nojekyll ├── favicon.png └── .gitlab-ci.yml ├── .npmrc ├── src ├── routes │ ├── +layout.js │ └── +page.svelte ├── app.html └── lib │ ├── url.js │ ├── Editor.svelte │ ├── stores.js │ ├── Mindmap.svelte │ └── Menu.svelte ├── .svelte-kit ├── generated │ ├── client │ │ ├── matchers.js │ │ ├── nodes │ │ │ ├── 2.js │ │ │ ├── 1.js │ │ │ └── 0.js │ │ └── app.js │ ├── root.svelte │ └── server │ │ └── internal.js ├── tsconfig.json └── ambient.d.ts ├── myMarkmap-explications.png ├── vite.config.js ├── .github └── workflows │ └── deploy.yml ├── svelte.config.js ├── package.json ├── README.md ├── LICENSE └── .gitignore /static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=false 2 | -------------------------------------------------------------------------------- /src/routes/+layout.js: -------------------------------------------------------------------------------- 1 | export const prerender = true; -------------------------------------------------------------------------------- /.svelte-kit/generated/client/matchers.js: -------------------------------------------------------------------------------- 1 | export const matchers = {}; -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XenocodeRCE/philomap/main/static/favicon.png -------------------------------------------------------------------------------- /myMarkmap-explications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XenocodeRCE/philomap/main/myMarkmap-explications.png -------------------------------------------------------------------------------- /.svelte-kit/generated/client/nodes/2.js: -------------------------------------------------------------------------------- 1 | export { default as component } from "../../../../src/routes/+page.svelte"; -------------------------------------------------------------------------------- /.svelte-kit/generated/client/nodes/1.js: -------------------------------------------------------------------------------- 1 | export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/error.svelte"; -------------------------------------------------------------------------------- /static/.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | pages: 2 | script: 3 | - mkdir .public 4 | - cp -r * .public 5 | - mv .public public 6 | artifacts: 7 | paths: 8 | - public 9 | only: 10 | - gh-pages -------------------------------------------------------------------------------- /.svelte-kit/generated/client/nodes/0.js: -------------------------------------------------------------------------------- 1 | import * as universal from "../../../../src/routes/+layout.js"; 2 | export { universal }; 3 | export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/layout.svelte"; -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import path from 'path' 3 | 4 | const config = { 5 | plugins: [sveltekit()], 6 | build: { 7 | outDir: path.resolve(__dirname, 'build') 8 | } 9 | }; 10 | 11 | export default config; 12 | -------------------------------------------------------------------------------- /.svelte-kit/generated/client/app.js: -------------------------------------------------------------------------------- 1 | export { matchers } from './matchers.js'; 2 | 3 | export const nodes = [ 4 | () => import('./nodes/0'), 5 | () => import('./nodes/1'), 6 | () => import('./nodes/2') 7 | ]; 8 | 9 | export const server_loads = []; 10 | 11 | export const dictionary = { 12 | "/": [2] 13 | }; 14 | 15 | export const hooks = { 16 | handleError: (({ error }) => { console.error(error) }), 17 | }; 18 | 19 | export { default as root } from '../root.svelte'; -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | myMarkmap 5 | 6 | 7 | 8 | 9 | 10 | %sveltekit.head% 11 | 12 | 13 |
%sveltekit.body%
14 | 15 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Build and Deploy 2 | 3 | on: 4 | push: 5 | branches: 6 | - main # Or your default branch 7 | 8 | jobs: 9 | build-and-deploy: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v2 14 | - uses: actions/setup-node@v2 15 | with: 16 | node-version: '14' 17 | - run: npm install 18 | - run: npm run build 19 | - name: Deploy to GitHub Pages 20 | uses: JamesIves/github-pages-deploy-action@4.1.4 21 | with: 22 | branch: main # The branch the action should deploy to. 23 | folder: build # The folder the action should deploy. 24 | -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | /* import adapter from '@sveltejs/adapter-auto'; */ 2 | import adapter from '@sveltejs/adapter-static'; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | kit: { 7 | adapter: adapter(), 8 | paths: { 9 | base: process.env.NODE_ENV === "production" ? "/myMarkmap" : "" 10 | }, 11 | } 12 | }; 13 | 14 | /* export default config; */ 15 | export default { 16 | kit: { 17 | adapter: adapter({ 18 | // default options are shown. On some platforms 19 | // these options are set automatically — see below 20 | pages: 'build', 21 | assets: 'build', 22 | fallback: null, 23 | precompress: false, 24 | strict: true 25 | }), 26 | prerender: { 27 | handleMissingId: 'ignore' 28 | } 29 | } 30 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mymarkmapapp", 3 | "version": "0.0.1", 4 | "homepage": "https://xenocoderce.github.io/myMarkmap/", 5 | "scripts": { 6 | "dev": "vite dev", 7 | "build": "vite build", 8 | "preview": "vite preview", 9 | "deploy": "npm run build && touch build/.nojekyll && gh-pages -d build -t true" 10 | }, 11 | "devDependencies": { 12 | "@sveltejs/adapter-auto": "^1.0.3", 13 | "@sveltejs/kit": "^1.30.3", 14 | "svelte": "^3.59.2", 15 | "vite": "^4.5.2" 16 | }, 17 | "type": "module", 18 | "dependencies": { 19 | "@sveltejs/adapter-static": "^1.0.6", 20 | "codejar": "^3.7.0", 21 | "file-saver-es": "^2.0.5", 22 | "gh-pages": "^5.0.0", 23 | "highlight.js": "^11.9.0", 24 | "js-yaml": "^4.1.0", 25 | "markmap-common": "^0.15.6", 26 | "markmap-lib": "^0.15.8", 27 | "markmap-view": "^0.15.8", 28 | "node-emoji": "^1.11.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # myMarkmap 2 | 3 | [![Netlify Status](https://api.netlify.com/api/v1/badges/7f29bc58-ea61-4407-88b8-c1a7b08b19bf/deploy-status)](https://app.netlify.com/sites/philomap/deploys) 4 | 5 | [myMarkmap](https://mymarkmap.netlify.app/) is a custom editor for [Markmap](https://github.com/gera2ld/markmap), built with [Svelte Kit](https://kit.svelte.dev/). 6 | 7 | [![](https://raw.githubusercontent.com/eyssette/myMarkmap/main/myMarkmap-explications.png)](https://mymarkmap.vercel.app/#https://raw.githubusercontent.com/eyssette/mindmap/main/mindmap-default-mymarkmap.md) 8 | 9 | ## TODO 10 | 11 | [TODO](https://github.com/eyssette/myMarkmap/projects/1) 12 | 13 | ## Developing 14 | 15 | Install 16 | 17 | ```bash 18 | npm install 19 | 20 | ``` 21 | 22 | Start a development server: 23 | 24 | ```bash 25 | npm run dev 26 | 27 | # or start the server and open the app in a new browser tab 28 | npm run dev -- --open 29 | ``` 30 | -------------------------------------------------------------------------------- /.svelte-kit/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "$lib": [ 5 | "../src/lib" 6 | ], 7 | "$lib/*": [ 8 | "../src/lib/*" 9 | ] 10 | }, 11 | "rootDirs": [ 12 | "..", 13 | "./types" 14 | ], 15 | "importsNotUsedAsValues": "error", 16 | "isolatedModules": true, 17 | "preserveValueImports": true, 18 | "lib": [ 19 | "esnext", 20 | "DOM", 21 | "DOM.Iterable" 22 | ], 23 | "moduleResolution": "node", 24 | "module": "esnext", 25 | "noEmit": true, 26 | "target": "esnext" 27 | }, 28 | "include": [ 29 | "ambient.d.ts", 30 | "./types/**/$types.d.ts", 31 | "../vite.config.js", 32 | "../vite.config.ts", 33 | "../src/**/*.js", 34 | "../src/**/*.ts", 35 | "../src/**/*.svelte", 36 | "../tests/**/*.js", 37 | "../tests/**/*.ts", 38 | "../tests/**/*.svelte" 39 | ], 40 | "exclude": [ 41 | "../node_modules/**", 42 | "./[!ambient.d.ts]**", 43 | "../src/service-worker.js", 44 | "../src/service-worker.ts", 45 | "../src/service-worker.d.ts" 46 | ] 47 | } -------------------------------------------------------------------------------- /src/lib/url.js: -------------------------------------------------------------------------------- 1 | // https://github.com/bluwy/svelte-url 2 | // https://bjornlu.com/blog/simple-svelte-routing-with-reactive-urls 3 | 4 | import { 5 | derived, 6 | writable 7 | } from 'svelte/store' 8 | 9 | export function createUrlStore(ssrUrl) { 10 | if (typeof window === 'undefined') { 11 | const { 12 | subscribe 13 | } = writable(ssrUrl) 14 | return { 15 | subscribe 16 | } 17 | } 18 | 19 | const href = writable(window.location.href) 20 | 21 | const originalPushState = history.pushState 22 | const originalReplaceState = history.replaceState 23 | 24 | const updateHref = () => href.set(window.location.href) 25 | 26 | history.pushState = function () { 27 | originalPushState.apply(this, arguments) 28 | updateHref() 29 | } 30 | 31 | history.replaceState = function () { 32 | originalReplaceState.apply(this, arguments) 33 | updateHref() 34 | } 35 | 36 | window.addEventListener('popstate', updateHref) 37 | window.addEventListener('hashchange', updateHref) 38 | 39 | return { 40 | subscribe: derived(href, ($href) => new URL($href)).subscribe 41 | } 42 | } 43 | 44 | export default createUrlStore() -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Gerald (markmap) / Eyssette (myMarkmap) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.svelte-kit/generated/root.svelte: -------------------------------------------------------------------------------- 1 | 2 | 3 | 42 | 43 | {#if constructors[1]} 44 | 45 | 46 | 47 | {:else} 48 | 49 | {/if} 50 | 51 | {#if mounted} 52 |
53 | {#if navigated} 54 | {title} 55 | {/if} 56 |
57 | {/if} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.svelte-kit 3 | /package 4 | 5 | # Logs 6 | logs 7 | *.log 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | lerna-debug.log* 12 | 13 | # Diagnostic reports (https://nodejs.org/api/report.html) 14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 15 | 16 | # Runtime data 17 | pids 18 | *.pid 19 | *.seed 20 | *.pid.lock 21 | 22 | # Directory for instrumented libs generated by jscoverage/JSCover 23 | lib-cov 24 | 25 | # Coverage directory used by tools like istanbul 26 | coverage 27 | *.lcov 28 | 29 | # nyc test coverage 30 | .nyc_output 31 | 32 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 33 | .grunt 34 | 35 | # Bower dependency directory (https://bower.io/) 36 | bower_components 37 | 38 | # node-waf configuration 39 | .lock-wscript 40 | 41 | # Compiled binary addons (https://nodejs.org/api/addons.html) 42 | build/Release 43 | 44 | # Dependency directories 45 | node_modules/ 46 | jspm_packages/ 47 | 48 | # TypeScript v1 declaration files 49 | typings/ 50 | 51 | # TypeScript cache 52 | *.tsbuildinfo 53 | 54 | # Optional npm cache directory 55 | .npm 56 | 57 | # Optional eslint cache 58 | .eslintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variables file 76 | .env 77 | .env.test 78 | 79 | # parcel-bundler cache (https://parceljs.org/) 80 | .cache 81 | 82 | # Next.js build output 83 | .next 84 | 85 | # Nuxt.js build / generate output 86 | .nuxt 87 | dist 88 | 89 | # Gatsby files 90 | .cache/ 91 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 92 | # https://nextjs.org/blog/next-9-1#public-directory-support 93 | # public 94 | 95 | # vuepress build output 96 | .vuepress/dist 97 | 98 | # Serverless directories 99 | .serverless/ 100 | 101 | # FuseBox cache 102 | .fusebox/ 103 | 104 | # DynamoDB Local files 105 | .dynamodb/ 106 | 107 | # TernJS port file 108 | .tern-port 109 | 110 | todo.txt 111 | -------------------------------------------------------------------------------- /.svelte-kit/generated/server/internal.js: -------------------------------------------------------------------------------- 1 | 2 | import root from '../root.svelte'; 3 | import { set_building } from '__sveltekit/environment'; 4 | import { set_assets } from '__sveltekit/paths'; 5 | import { set_private_env, set_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js'; 6 | 7 | export const options = { 8 | app_template_contains_nonce: false, 9 | csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}}, 10 | csrf_check_origin: true, 11 | track_server_fetches: false, 12 | embedded: false, 13 | env_public_prefix: 'PUBLIC_', 14 | env_private_prefix: '', 15 | hooks: null, // added lazily, via `get_hooks` 16 | preload_strategy: "modulepreload", 17 | root, 18 | service_worker: false, 19 | templates: { 20 | app: ({ head, body, assets, nonce, env }) => "\r\n\r\n\t\r\n\t\tmyMarkmap\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t" + head + "\r\n\t\r\n\t\r\n\t\t
" + body + "
\r\n\t\r\n", 21 | error: ({ status, message }) => "\r\n\r\n\t\r\n\t\t\r\n\t\t" + message + "\r\n\r\n\t\t\r\n\t\r\n\t\r\n\t\t
\r\n\t\t\t" + status + "\r\n\t\t\t
\r\n\t\t\t\t

" + message + "

\r\n\t\t\t
\r\n\t\t
\r\n\t\r\n\r\n" 22 | }, 23 | version_hash: "nybh0b" 24 | }; 25 | 26 | export function get_hooks() { 27 | return {}; 28 | } 29 | 30 | export { set_assets, set_building, set_private_env, set_public_env }; 31 | -------------------------------------------------------------------------------- /src/lib/Editor.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 68 | 69 |
70 | {#await CodeJar} 71 |
Éditeur en cours de chargement
72 | {:then} 73 |

 74 | 	{:catch error}
 75 | 		
 76 | 	{/await}
 77 | 
78 | 79 | -------------------------------------------------------------------------------- /src/lib/stores.js: -------------------------------------------------------------------------------- 1 | import { 2 | writable 3 | } from 'svelte/store'; 4 | 5 | export const show = writable(false); 6 | export const markdownSource = writable(decodeURI(`--- 7 | maxWidth: 600 8 | --- 9 | 10 | # myMarkmap 11 | 12 | ## Un outil libre \\\\ et gratuit 13 | 14 | ### [Sources](https://forge.aeif.fr/eyssette/myMarkmap/) sur la Forge des\\\\Communs Numériques Éducatifs 15 | ### _Auteur_ : [Cédric Eyssette](https://eyssette.github.io/) 16 | ### Créé à partir du \\\\ logiciel [markmap](https://markmap.js.org/) 17 | 18 | ## Pour faire des \\\\ cartes mentales 19 | 20 | - Clic sur ✒️ en haut à gauche pour **éditer** \\\\ sa carte mentale (_raccourci clavier : \`e\`_) \\\\ On utilise le **Markdown** pour créer des branches 21 | - \`# Titre\` pour le niveau 1 22 | - \`## Sous-titre\` pour le niveau 2 23 | - \`### Niveau 3\`, \`#### Niveau 4\` … 24 | - Ou bien, on fait une liste à puces \\\\ \`- Niveau 3\` \\\\  \` - Niveau 4\` \\\\ \`- Niveau 3\` \\\\ (on ajoute 2 espaces avant \\\\ pour passer à un autre niveau) 25 | - Clic sur 👓 pour **cacher** la fenêtre d'édition \\\\et **voir** seulement la carte mentale \\\\ (_raccourci clavier : \`Escape\`_) 26 | - **Enregistrer** et \\\\**partager** sa \\\\carte mentale 27 | - Clic sur 💾 pour **enregistrer** la carte au format _svg_ \\\\[image fixe] (_raccourci clavier : \`s\`_) 28 | - Clic sur 🌐 pour **enregistrer** au format HTML \\\\[interactivité possible] (_raccourci clavier : \`h\`_) 29 | - Clic sur 🔗 pour copier un **lien** de **partage** \\\\de la carte mentale (_raccourci clavier : \`l\`_) 30 | - Il est recommandé d'enregistrer le texte \\\\de sa carte mentale quelque part pour \\\\pouvoir modifier plus tard sa carte mentale 31 | - On peut mettre son texte \\\\ **sur une forge** ou sur [CodiMD](https://codimd.apps.education.fr) \\\\ et l'afficher avec myMarkmap 32 | - \\\\ \`https://mymarkmap.vercel.app/#URL\` 33 | - En cas de problème : \\\\ \`https://mymarkmap.vercel.app/#https://corsproxy.io/%3FURL\` 34 | - Sur une instance Gitlab, il faut utiliser un fichier \`.gitlab-ci.yml\` pour publier le fichier md sur une page publique et utiliser cette adresse comme URL 35 | 36 | ## Comment naviguer \\\\dans la carte ? 37 | - \\\\\\\\Clic sur les **cercles** à l'intersection \\\\ des différentes branches pour \\\\ **afficher ou masquer la suite** 38 | - \\\\**Alt+clic** sur un cercle pour afficher \\\\\ seulement la branche en question 39 | - **Autres raccourcis** 40 | - **Alt+clic** sur le texte d'une branche pour la masquer 41 | - \`m\` pour masquer ou réafficher la barre de menu 42 | - \`r\` pour désactiver ou réactiver le redimensionnement automatique 43 | 44 | ## Usages plus \\\\ avancés 45 | 46 | ### Des balises pour \\\\ **contrôler l'affichage** \\\\ de la carte 47 | 48 | #### **Markdown** 49 | 50 | - \`**texte**\` : pour mettre en **gras** 51 | - \`_texte_\` : pour mettre en _italiques_ 52 | - \`[lien](URL)\` : pour insérer un [lien](https://eyssette.github.io/) 53 | - \`![](URL)\` : pour insérer une image 54 | - \`![h-25](URL)\` : pour spécifier la hauteur \\\\de l'image (de h-25, h-50 … à h-200) 55 | - \`\`\` \`code\` \`\`\` : Pour insérer du \`code\` 56 | - \`==texte==\`: Pour surligner du ==texte== 57 | - \`++texte++\`: Pour souligner du ++texte++ 58 | 59 | #### **HTML** 60 | 61 | - \`
\` ou \`\\\\\` pour forcer le passage à la ligne 62 | - \`texte\` \\\\ pour changer le style d'un élément 63 | 64 | #### **Autres \\\\ balises** 65 | 66 | - \`\` en fin de ligne pour que les \\\\ sous-branches soient cachées par défaut : \\\\ il faut cliquer sur le cercle pour afficher la suite 67 | - Cette branche est cachée par défaut ! 68 | - Cette branche aussi ! 69 | - \`:code_emoji:\` : pour insérer un code pour un emoji [:link:](https://raw.githubusercontent.com/omnidan/node-emoji/master/lib/emoji.json) 70 | - \`{{partie masquée}}\` pour masquer une partie \\\\ d'un texte : voici par exemple un {{passage}} masqué \\\\ (cliquer dessus pour afficher / masquer à nouveau) 71 | 72 | ### Un **en-tête** (YAML) \\\\ pour des options de \\\\configuration plus avancées 73 | 74 | - Pour spécifier la largeur \\\\ maximale d'une branche 75 | - \`\`\`maxWidth: 300\`\`\` 76 | - Pour empêcher le changement de \\\\couleur des sous-branches à partir \\\\d'un certain niveau 77 | - \`\`\`colorFreezeLevel: 2\`\`\` \\\\ (pour que chaque branche \\\\ait sa propre couleur) 78 | - Pour ajouter des styles \\\\CSS spécifiques 79 | - \`\`\`style: strong{color:red}\`\`\` 80 | - Pour ajouter un titre 81 | - \`\`\`title: Mon titre\`\`\` 82 | - Pour masquer par défaut \\\\les sous-branches à partir\\\\ d'un certain niveau 83 | - \`\`\`initialExpandLevel: 1\`\`\` 84 | - Pour forcer l'ouverture des \\\\liens dans un nouvel onglet 85 | - \`\`\`openLinksInNewTab: true\`\`\` 86 | `)); 87 | export const baseURL = writable(''); 88 | export const mindmapSaveAsSvg = writable(false); 89 | export const mindmapSaveAsHtml = writable(false); 90 | export const wValue = writable(); 91 | export const hValue = writable(); 92 | -------------------------------------------------------------------------------- /src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 117 | 118 | 119 | 120 | 121 |
122 | 123 | 124 | 125 | {#if mindmapFromURL} 126 | 127 | {:else} 128 | 129 | {/if} 130 | 131 |
132 | -------------------------------------------------------------------------------- /.svelte-kit/ambient.d.ts: -------------------------------------------------------------------------------- 1 | 2 | // this file is generated — do not edit it 3 | 4 | 5 | /// 6 | 7 | /** 8 | * Environment variables [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env`. Like [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), this module cannot be imported into client-side code. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://kit.svelte.dev/docs/configuration#env) (if configured). 9 | * 10 | * _Unlike_ [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), the values exported from this module are statically injected into your bundle at build time, enabling optimisations like dead code elimination. 11 | * 12 | * ```ts 13 | * import { API_KEY } from '$env/static/private'; 14 | * ``` 15 | * 16 | * Note that all environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed: 17 | * 18 | * ``` 19 | * MY_FEATURE_FLAG="" 20 | * ``` 21 | * 22 | * You can override `.env` values from the command line like so: 23 | * 24 | * ```bash 25 | * MY_FEATURE_FLAG="enabled" npm run dev 26 | * ``` 27 | */ 28 | declare module '$env/static/private' { 29 | export const ACSetupSvcPort: string; 30 | export const ACSvcPort: string; 31 | export const ALLUSERSPROFILE: string; 32 | export const APPDATA: string; 33 | export const ChocolateyInstall: string; 34 | export const ChocolateyLastPathUpdate: string; 35 | export const CLASSPATH: string; 36 | export const COLOR: string; 37 | export const CommonProgramFiles: string; 38 | export const CommonProgramW6432: string; 39 | export const COMPUTERNAME: string; 40 | export const ComSpec: string; 41 | export const CPLUS_INCLUDE_PATH: string; 42 | export const CUDA_PATH: string; 43 | export const CUDA_PATH_V11_8: string; 44 | export const CUDA_PATH_V12_3: string; 45 | export const C_INCLUDE_PATH: string; 46 | export const DriverData: string; 47 | export const EDITOR: string; 48 | export const EnableLog: string; 49 | export const HOME: string; 50 | export const HOMEDRIVE: string; 51 | export const HOMEPATH: string; 52 | export const INIT_CWD: string; 53 | export const LOCALAPPDATA: string; 54 | export const LOGONSERVER: string; 55 | export const NLTK_DATA: string; 56 | export const NODE: string; 57 | export const NODE_ENV: string; 58 | export const NODE_EXE: string; 59 | export const NPM_CLI_JS: string; 60 | export const npm_command: string; 61 | export const npm_config_cache: string; 62 | export const npm_config_globalconfig: string; 63 | export const npm_config_global_prefix: string; 64 | export const npm_config_init_module: string; 65 | export const npm_config_local_prefix: string; 66 | export const npm_config_metrics_registry: string; 67 | export const npm_config_node_gyp: string; 68 | export const npm_config_noproxy: string; 69 | export const npm_config_prefix: string; 70 | export const npm_config_userconfig: string; 71 | export const npm_config_user_agent: string; 72 | export const npm_execpath: string; 73 | export const npm_lifecycle_event: string; 74 | export const npm_lifecycle_script: string; 75 | export const npm_node_execpath: string; 76 | export const npm_package_json: string; 77 | export const npm_package_name: string; 78 | export const npm_package_version: string; 79 | export const NPM_PREFIX_NPM_CLI_JS: string; 80 | export const NUMBER_OF_PROCESSORS: string; 81 | export const NVTOOLSEXT_PATH: string; 82 | export const OneDrive: string; 83 | export const OPENAI_API_KEY: string; 84 | export const openai_cookie_file: string; 85 | export const OS: string; 86 | export const Path: string; 87 | export const PATHEXT: string; 88 | export const POWERSHELL_DISTRIBUTION_CHANNEL: string; 89 | export const PROCESSOR_ARCHITECTURE: string; 90 | export const PROCESSOR_IDENTIFIER: string; 91 | export const PROCESSOR_LEVEL: string; 92 | export const PROCESSOR_REVISION: string; 93 | export const ProgramData: string; 94 | export const ProgramFiles: string; 95 | export const ProgramW6432: string; 96 | export const PROMPT: string; 97 | export const PROVER9HOME: string; 98 | export const PSModulePath: string; 99 | export const PUBLIC: string; 100 | export const RlsSvcPort: string; 101 | export const SESSIONNAME: string; 102 | export const ShadowEnv: string; 103 | export const SystemDrive: string; 104 | export const SystemRoot: string; 105 | export const TEMP: string; 106 | export const TMP: string; 107 | export const USERDOMAIN: string; 108 | export const USERDOMAIN_ROAMINGPROFILE: string; 109 | export const USERNAME: string; 110 | export const USERPROFILE: string; 111 | export const windir: string; 112 | export const WSLENV: string; 113 | export const WT_PROFILE_ID: string; 114 | export const WT_SESSION: string; 115 | } 116 | 117 | /** 118 | * Similar to [`$env/static/private`](https://kit.svelte.dev/docs/modules#$env-static-private), except that it only includes environment variables that begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code. 119 | * 120 | * Values are replaced statically at build time. 121 | * 122 | * ```ts 123 | * import { PUBLIC_BASE_URL } from '$env/static/public'; 124 | * ``` 125 | */ 126 | declare module '$env/static/public' { 127 | 128 | } 129 | 130 | /** 131 | * This module provides access to runtime environment variables, as defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/master/packages/adapter-node) (or running [`vite preview`](https://kit.svelte.dev/docs/cli)), this is equivalent to `process.env`. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://kit.svelte.dev/docs/configuration#env) (if configured). 132 | * 133 | * This module cannot be imported into client-side code. 134 | * 135 | * ```ts 136 | * import { env } from '$env/dynamic/private'; 137 | * console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE); 138 | * ``` 139 | * 140 | * > In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter. 141 | */ 142 | declare module '$env/dynamic/private' { 143 | export const env: { 144 | ACSetupSvcPort: string; 145 | ACSvcPort: string; 146 | ALLUSERSPROFILE: string; 147 | APPDATA: string; 148 | ChocolateyInstall: string; 149 | ChocolateyLastPathUpdate: string; 150 | CLASSPATH: string; 151 | COLOR: string; 152 | CommonProgramFiles: string; 153 | CommonProgramW6432: string; 154 | COMPUTERNAME: string; 155 | ComSpec: string; 156 | CPLUS_INCLUDE_PATH: string; 157 | CUDA_PATH: string; 158 | CUDA_PATH_V11_8: string; 159 | CUDA_PATH_V12_3: string; 160 | C_INCLUDE_PATH: string; 161 | DriverData: string; 162 | EDITOR: string; 163 | EnableLog: string; 164 | HOME: string; 165 | HOMEDRIVE: string; 166 | HOMEPATH: string; 167 | INIT_CWD: string; 168 | LOCALAPPDATA: string; 169 | LOGONSERVER: string; 170 | NLTK_DATA: string; 171 | NODE: string; 172 | NODE_ENV: string; 173 | NODE_EXE: string; 174 | NPM_CLI_JS: string; 175 | npm_command: string; 176 | npm_config_cache: string; 177 | npm_config_globalconfig: string; 178 | npm_config_global_prefix: string; 179 | npm_config_init_module: string; 180 | npm_config_local_prefix: string; 181 | npm_config_metrics_registry: string; 182 | npm_config_node_gyp: string; 183 | npm_config_noproxy: string; 184 | npm_config_prefix: string; 185 | npm_config_userconfig: string; 186 | npm_config_user_agent: string; 187 | npm_execpath: string; 188 | npm_lifecycle_event: string; 189 | npm_lifecycle_script: string; 190 | npm_node_execpath: string; 191 | npm_package_json: string; 192 | npm_package_name: string; 193 | npm_package_version: string; 194 | NPM_PREFIX_NPM_CLI_JS: string; 195 | NUMBER_OF_PROCESSORS: string; 196 | NVTOOLSEXT_PATH: string; 197 | OneDrive: string; 198 | OPENAI_API_KEY: string; 199 | openai_cookie_file: string; 200 | OS: string; 201 | Path: string; 202 | PATHEXT: string; 203 | POWERSHELL_DISTRIBUTION_CHANNEL: string; 204 | PROCESSOR_ARCHITECTURE: string; 205 | PROCESSOR_IDENTIFIER: string; 206 | PROCESSOR_LEVEL: string; 207 | PROCESSOR_REVISION: string; 208 | ProgramData: string; 209 | ProgramFiles: string; 210 | ProgramW6432: string; 211 | PROMPT: string; 212 | PROVER9HOME: string; 213 | PSModulePath: string; 214 | PUBLIC: string; 215 | RlsSvcPort: string; 216 | SESSIONNAME: string; 217 | ShadowEnv: string; 218 | SystemDrive: string; 219 | SystemRoot: string; 220 | TEMP: string; 221 | TMP: string; 222 | USERDOMAIN: string; 223 | USERDOMAIN_ROAMINGPROFILE: string; 224 | USERNAME: string; 225 | USERPROFILE: string; 226 | windir: string; 227 | WSLENV: string; 228 | WT_PROFILE_ID: string; 229 | WT_SESSION: string; 230 | [key: `PUBLIC_${string}`]: undefined; 231 | [key: `${string}`]: string | undefined; 232 | } 233 | } 234 | 235 | /** 236 | * Similar to [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), but only includes variables that begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code. 237 | * 238 | * Note that public dynamic environment variables must all be sent from the server to the client, causing larger network requests — when possible, use `$env/static/public` instead. 239 | * 240 | * ```ts 241 | * import { env } from '$env/dynamic/public'; 242 | * console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE); 243 | * ``` 244 | */ 245 | declare module '$env/dynamic/public' { 246 | export const env: { 247 | [key: `PUBLIC_${string}`]: string | undefined; 248 | } 249 | } 250 | -------------------------------------------------------------------------------- /src/lib/Mindmap.svelte: -------------------------------------------------------------------------------- 1 | 218 | 219 | 220 | 221 |
222 | 223 | 225 | 226 |
227 | -------------------------------------------------------------------------------- /src/lib/Menu.svelte: -------------------------------------------------------------------------------- 1 | 306 | 307 | 308 | 309 | 310 | 311 | {#if showSlideshow} 312 |
313 | {#if slides[currentSlide]} 314 |
{@html markdownToHTML(slides[currentSlide])}
315 | {/if} 316 |
317 | {:else} 318 | 334 | {/if} 335 | 336 | 375 | --------------------------------------------------------------------------------