Merge branch 'main' of github.com:lite-note/lite-note

This commit is contained in:
Julien Calixte
2024-12-26 21:22:50 +01:00
36 changed files with 316 additions and 148 deletions

2
.env Normal file
View File

@@ -0,0 +1,2 @@
VITE_LIGHT_MODE=emerald
VITE_DARK_MODE=night

View File

@@ -1 +1 @@
59c6aadf9774ee13a19485674685f1d3e67171da330713e09e1793a98b39fc90 059edc3124a0d21c3c0fb492ed98f718c75e4742ec541492d620be64e8f91b13

1
.gitignore vendored
View File

@@ -4,7 +4,6 @@ node_modules
# local env files # local env files
.env
.env.local .env.local
.env.*.local .env.*.local

View File

@@ -28,4 +28,10 @@ fi
# Save the new checksum # Save the new checksum
echo "$CURRENT_CHECKSUM" > "$CHECKSUM_FILE" echo "$CURRENT_CHECKSUM" > "$CHECKSUM_FILE"
# Stage the checksum file
git add "$CHECKSUM_FILE"
# Amend the last commit with the updated checksum
git commit -m "Update .env checksum"
echo "Environment variables imported successfully." echo "Environment variables imported successfully."

View File

@@ -13,6 +13,8 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" /> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" />
<link rel="mask-icon" href="/masked-icon.svg" color="#FFFFFF" /> <link rel="mask-icon" href="/masked-icon.svg" color="#FFFFFF" />
<meta name="theme-color" content="#2C3A47" /> <meta name="theme-color" content="#2C3A47" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/4.0.0/github-markdown.min.css"/>
</head> </head>
<body> <body>
<noscript> <noscript>

View File

@@ -17,6 +17,7 @@
"@octokit/core": "^5.2.0", "@octokit/core": "^5.2.0",
"@octokit/rest": "^20.1.1", "@octokit/rest": "^20.1.1",
"@toycode/markdown-it-class": "^1.2.4", "@toycode/markdown-it-class": "^1.2.4",
"@vscode/markdown-it-katex": "^1.1.1",
"@vueuse/core": "^10.11.1", "@vueuse/core": "^10.11.1",
"@vueuse/router": "^10.11.1", "@vueuse/router": "^10.11.1",
"date-fns": "^2.30.0", "date-fns": "^2.30.0",
@@ -29,7 +30,6 @@
"markdown-it-footnote": "^4.0.0", "markdown-it-footnote": "^4.0.0",
"markdown-it-github-alerts": "^0.3.0", "markdown-it-github-alerts": "^0.3.0",
"markdown-it-iframe": "^1.0.0", "markdown-it-iframe": "^1.0.0",
"markdown-it-latex": "^0.2.0",
"markdown-it-shikiji": "^0.10.2", "markdown-it-shikiji": "^0.10.2",
"nanoid": "^5.0.9", "nanoid": "^5.0.9",
"notyf": "^3.10.0", "notyf": "^3.10.0",

45
pnpm-lock.yaml generated
View File

@@ -20,6 +20,9 @@ importers:
'@toycode/markdown-it-class': '@toycode/markdown-it-class':
specifier: ^1.2.4 specifier: ^1.2.4
version: 1.2.4 version: 1.2.4
'@vscode/markdown-it-katex':
specifier: ^1.1.1
version: 1.1.1
'@vueuse/core': '@vueuse/core':
specifier: ^10.11.1 specifier: ^10.11.1
version: 10.11.1(vue@3.5.13(typescript@5.7.2)) version: 10.11.1(vue@3.5.13(typescript@5.7.2))
@@ -56,9 +59,6 @@ importers:
markdown-it-iframe: markdown-it-iframe:
specifier: ^1.0.0 specifier: ^1.0.0
version: 1.0.0 version: 1.0.0
markdown-it-latex:
specifier: ^0.2.0
version: 0.2.0
markdown-it-shikiji: markdown-it-shikiji:
specifier: ^0.10.2 specifier: ^0.10.2
version: 0.10.2 version: 0.10.2
@@ -1712,6 +1712,9 @@ packages:
'@vitest/utils@1.6.0': '@vitest/utils@1.6.0':
resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==}
'@vscode/markdown-it-katex@1.1.1':
resolution: {integrity: sha512-3KTlbsRBPJQLE2YmLL7K6nunTlU+W9T5+FjfNdWuIUKgxSS6HWLQHaO3L4MkJi7z7MpIPpY+g4N+cWNBPE/MSA==}
'@vue/compiler-core@3.5.13': '@vue/compiler-core@3.5.13':
resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
@@ -1899,9 +1902,6 @@ packages:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'} engines: {node: '>=8'}
asciimath-to-latex@0.3.2:
resolution: {integrity: sha512-+80CDzm6nXdtsYwUdxBOLo7FA6ZO5CfRyYHgqLpUZgavPYqodXHamOQuLZJksV+4CUteJs1h7cBaF63d2qa97Q==}
assertion-error@1.1.0: assertion-error@1.1.0:
resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
@@ -2048,6 +2048,10 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
commander@8.3.0:
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
engines: {node: '>= 12'}
common-tags@1.8.2: common-tags@1.8.2:
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
engines: {node: '>=4.0.0'} engines: {node: '>=4.0.0'}
@@ -2821,8 +2825,8 @@ packages:
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
katex@0.9.0: katex@0.16.18:
resolution: {integrity: sha512-lp3x90LT1tDZBW2tjLheJ98wmRMRjUHwk4QpaswT9bhqoQZ+XA4cPcjcQBxgOQNwaOSt6ZeL/a6GKQ1of3LFxQ==} resolution: {integrity: sha512-LRuk0rPdXrecAFwQucYjMiIs0JFefk6N1q/04mlw14aVIVgxq1FO0MA9RiIIGVaKOB5GIP5GH4aBBNraZERmaQ==}
hasBin: true hasBin: true
leven@3.1.0: leven@3.1.0:
@@ -2913,9 +2917,6 @@ packages:
markdown-it-iframe@1.0.0: markdown-it-iframe@1.0.0:
resolution: {integrity: sha512-UA/MZARLnUXJkhd+ECpMUBLLnMmOB4LmgOUL41+1GMqcwZnb1utP6VNZ4ZvEn5o9ZnuAUh6zvYcsQciwxy7WvA==} resolution: {integrity: sha512-UA/MZARLnUXJkhd+ECpMUBLLnMmOB4LmgOUL41+1GMqcwZnb1utP6VNZ4ZvEn5o9ZnuAUh6zvYcsQciwxy7WvA==}
markdown-it-latex@0.2.0:
resolution: {integrity: sha512-vCaS6Dws9faA8lZel7Slfa1IYEnbYOjHzian/tDBulONBS+f9vRkFfQ4S0eFnTGtDTTXqE7zAnoezkv18b9IIA==}
markdown-it-shikiji@0.10.2: markdown-it-shikiji@0.10.2:
resolution: {integrity: sha512-Y2Zfp6GblTuGBlirnBms2xS6+C3iFiUzCsVp+nZaMWavBcS9ZFxEglWdSpfjt4gqWlQunWmIEX1OUt9WaqFNvw==} resolution: {integrity: sha512-Y2Zfp6GblTuGBlirnBms2xS6+C3iFiUzCsVp+nZaMWavBcS9ZFxEglWdSpfjt4gqWlQunWmIEX1OUt9WaqFNvw==}
deprecated: Shikiji is merged back to Shiki v1.0, please migrate over to get the latest updates deprecated: Shikiji is merged back to Shiki v1.0, please migrate over to get the latest updates
@@ -2924,9 +2925,6 @@ packages:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true hasBin: true
match-at@0.1.1:
resolution: {integrity: sha512-h4Yd392z9mST+dzc+yjuybOGFNOZjmXIPKWjxBd1Bb23r4SmDOsk2NYCU2BMUBGbSpZqwVsZYNq26QS3xfaT3Q==}
mdurl@2.0.0: mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
@@ -5587,6 +5585,10 @@ snapshots:
loupe: 2.3.7 loupe: 2.3.7
pretty-format: 29.7.0 pretty-format: 29.7.0
'@vscode/markdown-it-katex@1.1.1':
dependencies:
katex: 0.16.18
'@vue/compiler-core@3.5.13': '@vue/compiler-core@3.5.13':
dependencies: dependencies:
'@babel/parser': 7.26.2 '@babel/parser': 7.26.2
@@ -5834,8 +5836,6 @@ snapshots:
array-union@2.1.0: {} array-union@2.1.0: {}
asciimath-to-latex@0.3.2: {}
assertion-error@1.1.0: {} assertion-error@1.1.0: {}
async@3.2.4: {} async@3.2.4: {}
@@ -5996,6 +5996,8 @@ snapshots:
commander@4.1.1: {} commander@4.1.1: {}
commander@8.3.0: {}
common-tags@1.8.2: {} common-tags@1.8.2: {}
concat-map@0.0.1: {} concat-map@0.0.1: {}
@@ -6848,9 +6850,9 @@ snapshots:
jsonpointer@5.0.1: {} jsonpointer@5.0.1: {}
katex@0.9.0: katex@0.16.18:
dependencies: dependencies:
match-at: 0.1.1 commander: 8.3.0
leven@3.1.0: {} leven@3.1.0: {}
@@ -6930,11 +6932,6 @@ snapshots:
markdown-it-iframe@1.0.0: {} markdown-it-iframe@1.0.0: {}
markdown-it-latex@0.2.0:
dependencies:
asciimath-to-latex: 0.3.2
katex: 0.9.0
markdown-it-shikiji@0.10.2: markdown-it-shikiji@0.10.2:
dependencies: dependencies:
markdown-it: 14.1.0 markdown-it: 14.1.0
@@ -6950,8 +6947,6 @@ snapshots:
punycode.js: 2.3.1 punycode.js: 2.3.1
uc.micro: 2.1.0 uc.micro: 2.1.0
match-at@0.1.1: {}
mdurl@2.0.0: {} mdurl@2.0.0: {}
merge-stream@2.0.0: {} merge-stream@2.0.0: {}

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-circle" width="52" height="52" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<line x1="12" y1="8" x2="12" y2="12" />
<line x1="12" y1="16" x2="12.01" y2="16" />
</svg>

Before

Width:  |  Height:  |  Size: 412 B

View File

@@ -1,8 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-id" width="36" height="36" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<rect x="3" y="4" width="18" height="16" rx="3" />
<circle cx="9" cy="10" r="2" />
<line x1="15" y1="8" x2="17" y2="8" />
<line x1="15" y1="12" x2="17" y2="12" />
<line x1="7" y1="16" x2="17" y2="16" />
</svg>

Before

Width:  |  Height:  |  Size: 492 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-narrow-left" width="28" height="28" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<line x1="5" y1="12" x2="19" y2="12" />
<line x1="5" y1="12" x2="9" y2="16" />
<line x1="5" y1="12" x2="9" y2="8" />
</svg>

Before

Width:  |  Height:  |  Size: 422 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-download" width="28" height="28" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M19 18a3.5 3.5 0 0 0 0 -7h-1a5 4.5 0 0 0 -11 -2a4.6 4.4 0 0 0 -2.1 8.4" />
<line x1="12" y1="13" x2="12" y2="22" />
<polyline points="9 19 12 22 15 19" />
</svg>

Before

Width:  |  Height:  |  Size: 466 B

View File

@@ -1,7 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-notes" width="36" height="36" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<rect x="5" y="3" width="14" height="18" rx="2" />
<line x1="9" y1="7" x2="15" y2="7" />
<line x1="9" y1="11" x2="15" y2="11" />
<line x1="9" y1="15" x2="13" y2="15" />
</svg>

Before

Width:  |  Height:  |  Size: 459 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-edit" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
<path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
<path d="M16 5l3 3" />
</svg>

Before

Width:  |  Height:  |  Size: 466 B

View File

@@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-github" width="28" height="28" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
</svg>

Before

Width:  |  Height:  |  Size: 597 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-narrow-left" width="28" height="28" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<line x1="5" y1="12" x2="19" y2="12" />
<line x1="5" y1="12" x2="9" y2="16" />
<line x1="5" y1="12" x2="9" y2="8" />
</svg>

Before

Width:  |  Height:  |  Size: 417 B

View File

@@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rotate-clockwise" width="24" height="24" viewBox="0 0 24 24" stroke="#ffffff" stroke-width="1.5" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5" />
</svg>

Before

Width:  |  Height:  |  Size: 343 B

View File

@@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rotate-clockwise" width="24" height="24" viewBox="0 0 24 24" stroke="#445fb9" stroke-width="1.5" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5" />
</svg>

Before

Width:  |  Height:  |  Size: 343 B

View File

@@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="#eb2f06" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M19.5 13.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
</svg>

Before

Width:  |  Height:  |  Size: 378 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-mailbox" width="36" height="36" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M10 21v-6.5a3.5 3.5 0 0 0 -7 0v6.5h18v-6a4 4 0 0 0 -4 -4h-10.5" />
<path d="M12 11v-8h4l2 2l-2 2h-4" />
<path d="M6 15h1" />
</svg>

Before

Width:  |  Height:  |  Size: 424 B

View File

@@ -1,5 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-off" width="30" height="30" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M9.58 5.548c.24 -.11 .492 -.207 .752 -.286c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 .957 -.383 1.824 -1.003 2.454m-2.997 1.033h-11.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.13 -.582 .37 -1.128 .7 -1.62" />
<path d="M3 3l18 18" />
</svg>

Before

Width:  |  Height:  |  Size: 629 B

View File

@@ -1,5 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-check" width="30" height="30" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M11 18.004h-4.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.388 0 2.585 .82 3.138 2.007" />
<path d="M15 19l2 2l4 -4" />
</svg>

Before

Width:  |  Height:  |  Size: 563 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-device-floppy fill-current" width="28" height="28" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2" />
<circle cx="12" cy="14" r="2" />
<polyline points="14 4 14 8 8 8 8 4" />
</svg>

Before

Width:  |  Height:  |  Size: 469 B

View File

@@ -1,8 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-share" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="6" cy="12" r="3" />
<circle cx="18" cy="6" r="3" />
<circle cx="18" cy="18" r="3" />
<line x1="8.7" y1="10.7" x2="15.3" y2="7.3" />
<line x1="8.7" y1="13.3" x2="15.3" y2="16.7" />
</svg>

Before

Width:  |  Height:  |  Size: 484 B

View File

@@ -1,6 +1,22 @@
<template> <template>
<button class="button is-white go-back" @click="back"> <button class="button is-white go-back" @click="back">
<img src="/assets/dark-left-arrow.svg" alt="back" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-arrow-narrow-left"
width="28"
height="28"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="5" y1="12" x2="19" y2="12" />
<line x1="5" y1="12" x2="9" y2="16" />
<line x1="5" y1="12" x2="9" y2="8" />
</svg>
</button> </button>
</template> </template>

View File

@@ -4,26 +4,95 @@
:to="{ name: 'Home' }" :to="{ name: 'Home' }"
class="button is-small is-white back-button" class="button is-small is-white back-button"
> >
<img src="/assets/dark-left-arrow.svg" alt="go back left arrow" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-arrow-narrow-left"
width="28"
height="28"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="5" y1="12" x2="19" y2="12" />
<line x1="5" y1="12" x2="9" y2="16" />
<line x1="5" y1="12" x2="9" y2="8" />
</svg>
</router-link> </router-link>
<theme-swap /> <theme-swap />
<router-link <router-link
class="special-folder" class="special-folder"
:to="{ name: 'SpacedRepetitionCard', params: { user, repo } }" :to="{ name: 'SpacedRepetitionCard', params: { user, repo } }"
> >
<img src="/assets/card.svg" alt="card" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-id"
width="36"
height="36"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<rect x="3" y="4" width="18" height="16" rx="3" />
<circle cx="9" cy="10" r="2" />
<line x1="15" y1="8" x2="17" y2="8" />
<line x1="15" y1="12" x2="17" y2="12" />
<line x1="7" y1="16" x2="17" y2="16" />
</svg>
</router-link> </router-link>
<router-link <router-link
class="special-folder" class="special-folder"
:to="{ name: 'DraftNotes', params: { user, repo } }" :to="{ name: 'DraftNotes', params: { user, repo } }"
> >
<img src="/assets/draft.svg" alt="card" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-notes"
width="36"
height="36"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<rect x="5" y="3" width="14" height="18" rx="2" />
<line x1="9" y1="7" x2="15" y2="7" />
<line x1="9" y1="11" x2="15" y2="11" />
<line x1="9" y1="15" x2="13" y2="15" />
</svg>
</router-link> </router-link>
<router-link <router-link
class="special-folder" class="special-folder"
:to="{ name: 'FleetingNotes', params: { user, repo } }" :to="{ name: 'FleetingNotes', params: { user, repo } }"
> >
<img src="/assets/mailbox.svg" alt="card" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-mailbox"
width="36"
height="36"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M10 21v-6.5a3.5 3.5 0 0 0 -7 0v6.5h18v-6a4 4 0 0 0 -4 -4h-10.5"
/>
<path d="M12 11v-8h4l2 2l-2 2h-4" />
<path d="M6 15h1" />
</svg>
</router-link> </router-link>
</header> </header>
</template> </template>

View File

@@ -8,7 +8,23 @@
rel="noopener noreferrer" rel="noopener noreferrer"
> >
login to login to
<img src="/assets/github.svg" alt="GitHub icon" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-brand-github"
width="28"
height="28"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"
/>
</svg>
</a> </a>
</div> </div>
</template> </template>

View File

@@ -16,6 +16,22 @@ const href = url.toString()
<template> <template>
<a :href="href" class="sign-in-github btn btn-primary"> <a :href="href" class="sign-in-github btn btn-primary">
Sign in with Sign in with
<img src="/assets/github.svg" alt="GitHub" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-brand-github"
width="28"
height="28"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"
/>
</svg>
</a> </a>
</template> </template>

View File

@@ -151,7 +151,27 @@ watch(mode, async (newMode) => {
:class="{ 'is-link': mode === 'edit' }" :class="{ 'is-link': mode === 'edit' }"
@click="toggleMode" @click="toggleMode"
> >
<img src="/assets/edit.svg" alt="edit" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-edit"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1"
/>
<path
d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z"
/>
<path d="M16 5l3 3" />
</svg>
</button> </button>
<router-link <router-link
v-if="false" v-if="false"
@@ -161,7 +181,25 @@ watch(mode, async (newMode) => {
}" }"
class="action" class="action"
> >
<img src="/assets/share.svg" alt="share" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-share"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="6" cy="12" r="3" />
<circle cx="18" cy="6" r="3" />
<circle cx="18" cy="18" r="3" />
<line x1="8.7" y1="10.7" x2="15.3" y2="7.3" />
<line x1="8.7" y1="13.3" x2="15.3" y2="16.7" />
</svg>
</router-link> </router-link>
<div v-if="mode === 'edit'" class="edit"> <div v-if="mode === 'edit'" class="edit">
<edit-note v-model="rawContent" /> <edit-note v-model="rawContent" />
@@ -171,7 +209,27 @@ watch(mode, async (newMode) => {
:class="{ 'is-link': mode === 'edit' }" :class="{ 'is-link': mode === 'edit' }"
@click="toggleMode" @click="toggleMode"
> >
<img src="/assets/edit.svg" alt="edit" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-edit"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1"
/>
<path
d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z"
/>
<path d="M16 5l3 3" />
</svg>
</button> </button>
</div> </div>
<div v-if="mode === 'read'" class="note-content" v-html="content"></div> <div v-if="mode === 'read'" class="note-content" v-html="content"></div>
@@ -260,10 +318,6 @@ a.title-stacked-note-link {
.note-content { .note-content {
padding: 0 1.5rem; padding: 0 1.5rem;
.table {
overflow-x: auto;
}
} }
} }
} }

View File

@@ -40,7 +40,25 @@
</form> </form>
<footer> <footer>
Made with <img src="/assets/love.svg" alt="love" /> by Made with
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="#eb2f06"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M19.5 13.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"
/>
</svg>
by
<a <a
href="http://github.com/jcalixte" href="http://github.com/jcalixte"
target="_blank" target="_blank"

View File

@@ -1,4 +1,5 @@
import markdownItClass from '@toycode/markdown-it-class' import markdownItClass from '@toycode/markdown-it-class'
import markdownItLatex from '@vscode/markdown-it-katex'
import MarkdownIt from 'markdown-it' import MarkdownIt from 'markdown-it'
import Renderer from 'markdown-it/lib/renderer' import Renderer from 'markdown-it/lib/renderer'
import blockEmbedPlugin from 'markdown-it-block-embed' import blockEmbedPlugin from 'markdown-it-block-embed'
@@ -6,7 +7,6 @@ import markdownItCheckbox from 'markdown-it-checkbox'
import markdownItFootnote from 'markdown-it-footnote' import markdownItFootnote from 'markdown-it-footnote'
import MarkdownItGitHubAlerts from 'markdown-it-github-alerts' import MarkdownItGitHubAlerts from 'markdown-it-github-alerts'
import markdownItIframe from 'markdown-it-iframe' import markdownItIframe from 'markdown-it-iframe'
import markdownItLatex from 'markdown-it-latex'
import Shikiji from 'markdown-it-shikiji' import Shikiji from 'markdown-it-shikiji'
import { Ref, toValue } from 'vue' import { Ref, toValue } from 'vue'
@@ -57,9 +57,9 @@ const useShikiji = async () => {
useShikiji() useShikiji()
const rules: Renderer.RenderRuleRecord = { const rules: Renderer.RenderRuleRecord = {
table_close: () => '</table>\n</div>',
table_open: () => table_open: () =>
'<div class="table-wrapper table is-fullwidth is striped">\n<table>\n' '<div class="overflow-x-auto"><table class="table table-zebra">',
table_close: () => '</table></div>'
} }
md.renderer.rules = { ...md.renderer.rules, ...rules } md.renderer.rules = { ...md.renderer.rules, ...rules }
@@ -69,7 +69,7 @@ export const useMarkdown = (defaultPrefix?: Ref<string> | string) => {
const renderFromUTF8 = (content: string, prefix?: string) => const renderFromUTF8 = (content: string, prefix?: string) =>
content content
? md.render(content, { ? md.render(content, {
docId: defaultPrefix ? toValue(defaultPrefix) : prefix ?? '' docId: defaultPrefix ? toValue(defaultPrefix) : (prefix ?? '')
}) })
: '' : ''

View File

@@ -1,5 +1,4 @@
import './styles/app.css' import './styles/app.css'
import 'markdown-it-latex/dist/index.css'
import 'notyf/notyf.min.css' import 'notyf/notyf.min.css'
import { createPinia } from 'pinia' import { createPinia } from 'pinia'

View File

@@ -20,7 +20,24 @@ const confirmBeforeCachingAllNotes = () => {
></progress> ></progress>
</div> </div>
<button v-else class="button" @click="() => confirmBeforeCachingAllNotes()"> <button v-else class="button" @click="() => confirmBeforeCachingAllNotes()">
<img src="/assets/offline.svg" alt="offline cloud" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-cloud-off"
width="30"
height="30"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M9.58 5.548c.24 -.11 .492 -.207 .752 -.286c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 .957 -.383 1.824 -1.003 2.454m-2.997 1.033h-11.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.13 -.582 .37 -1.128 .7 -1.62"
/>
<path d="M3 3l18 18" />
</svg>
</button> </button>
</template> </template>

1
src/shims-vue.d.ts vendored
View File

@@ -9,7 +9,6 @@ declare module 'markdown-it-block-embed'
declare module 'markdown-it-checkbox' declare module 'markdown-it-checkbox'
declare module 'markdown-it-footnote' declare module 'markdown-it-footnote'
declare module 'markdown-it-regexp' declare module 'markdown-it-regexp'
declare module 'markdown-it-latex'
declare module 'markdown-it-iframe' declare module 'markdown-it-iframe'
declare module 'markdown-it-shikiji' declare module 'markdown-it-shikiji'
declare module '@rushstack/eslint-patch/modern-module-resolution' declare module '@rushstack/eslint-patch/modern-module-resolution'

View File

@@ -71,14 +71,15 @@ a {
transition: cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s; transition: cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
} }
.table-wrapper {
overflow-x: auto;
}
.btn { .btn {
font-size: 1rem; font-size: 1rem;
} }
.table,
.table :where(thead, tfoot) {
font-size: 1em;
}
@media print { @media print {
html, html,

View File

@@ -81,7 +81,25 @@ watch(mode, async (newMode) => {
<div class="columns"> <div class="columns">
<div class="column is-half"> <div class="column is-half">
<button class="btn btn-outline" @click="toggleMode"> <button class="btn btn-outline" @click="toggleMode">
<img src="/assets/saved.svg" alt="save" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-device-floppy fill-current"
width="28"
height="28"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path
d="M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"
/>
<circle cx="12" cy="14" r="2" />
<polyline points="14 4 14 8 8 8 8 4" />
</svg>
</button> </button>
</div> </div>
</div> </div>

View File

@@ -1,9 +1,41 @@
<template> <template>
<main class="space-cowboy content"> <main class="space-cowboy content">
<p> <p>
<img src="/assets/alert.svg" alt="alert" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-alert-circle"
width="52"
height="52"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="12" r="9" />
<line x1="12" y1="8" x2="12" y2="12" />
<line x1="12" y1="16" x2="12.01" y2="16" />
</svg>
Oops, you've been lost! Oops, you've been lost!
<img src="/assets/alert.svg" alt="alert" /> <svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-alert-circle"
width="52"
height="52"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="12" r="9" />
<line x1="12" y1="8" x2="12" y2="12" />
<line x1="12" y1="16" x2="12.01" y2="16" />
</svg>
</p> </p>
<p>A note link can't be used as URL.</p> <p>A note link can't be used as URL.</p>
<router-link class="button is-links" :to="{ name: 'Home' }" <router-link class="button is-links" :to="{ name: 'Home' }"