[READ-ONLY] Mirror of https://github.com/flo-bit/blog-template. minimalistic astro blog template flo-bit.dev/blog-template/
astro blog template
0

Configure Feed

Select the types of activity you want to include in your feed.

add mathjax, some refactoring

+235 -48
+9
astro.config.mjs astro.config.ts
··· 1 1 // @ts-check 2 2 import { defineConfig } from "astro/config"; 3 3 import { resolve } from "path"; 4 + import remarkMath from "remark-math" 5 + import rehypeMathjax from "rehype-mathjax" 4 6 5 7 import mdx from "@astrojs/mdx"; 6 8 import sitemap from "@astrojs/sitemap"; ··· 62 64 transformers: [transformerMetaHighlight(), transformerNotationHighlight()], 63 65 wrap: true 64 66 }, 67 + 68 + remarkPlugins: [ 69 + remarkMath 70 + ], 71 + rehypePlugins: [ 72 + rehypeMathjax 73 + ] 65 74 }, 66 75 67 76 prefetch: {
+189 -5
package-lock.json
··· 23 23 "astro-custom-embeds": "^0.0.1", 24 24 "astro-og-canvas": "^0.7.0", 25 25 "lite-youtube-embed": "^0.3.3", 26 + "rehype-mathjax": "^7.1.0", 27 + "remark-math": "^6.0.0", 26 28 "svelte": "^5.1.1", 27 29 "tailwind-merge": "^2.5.4", 28 30 "tailwindcss": "^3.4.14", ··· 1902 1904 "@types/unist": "*" 1903 1905 } 1904 1906 }, 1907 + "node_modules/@types/katex": { 1908 + "version": "0.16.7", 1909 + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", 1910 + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==" 1911 + }, 1912 + "node_modules/@types/mathjax": { 1913 + "version": "0.0.40", 1914 + "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.40.tgz", 1915 + "integrity": "sha512-rHusx08LCg92WJxrsM3SPjvLTSvK5C+gealtSuhKbEOcUZfWlwigaFoPLf6Dfxhg4oryN5qP9Sj7zOQ4HYXINw==" 1916 + }, 1905 1917 "node_modules/@types/mdast": { 1906 1918 "version": "4.0.4", 1907 1919 "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", ··· 3262 3274 "url": "https://github.com/sponsors/sindresorhus" 3263 3275 } 3264 3276 }, 3277 + "node_modules/esm": { 3278 + "version": "3.2.25", 3279 + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", 3280 + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", 3281 + "engines": { 3282 + "node": ">=6" 3283 + } 3284 + }, 3265 3285 "node_modules/esm-env": { 3266 3286 "version": "1.2.2", 3267 3287 "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", ··· 4143 4163 "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", 4144 4164 "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" 4145 4165 }, 4166 + "node_modules/katex": { 4167 + "version": "0.16.21", 4168 + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz", 4169 + "integrity": "sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==", 4170 + "funding": [ 4171 + "https://opencollective.com/katex", 4172 + "https://github.com/sponsors/katex" 4173 + ], 4174 + "dependencies": { 4175 + "commander": "^8.3.0" 4176 + }, 4177 + "bin": { 4178 + "katex": "cli.js" 4179 + } 4180 + }, 4181 + "node_modules/katex/node_modules/commander": { 4182 + "version": "8.3.0", 4183 + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", 4184 + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", 4185 + "engines": { 4186 + "node": ">= 12" 4187 + } 4188 + }, 4146 4189 "node_modules/kleur": { 4147 4190 "version": "4.1.5", 4148 4191 "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", ··· 4325 4368 "url": "https://github.com/sponsors/wooorm" 4326 4369 } 4327 4370 }, 4371 + "node_modules/mathjax-full": { 4372 + "version": "3.2.2", 4373 + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", 4374 + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", 4375 + "dependencies": { 4376 + "esm": "^3.2.25", 4377 + "mhchemparser": "^4.1.0", 4378 + "mj-context-menu": "^0.6.1", 4379 + "speech-rule-engine": "^4.0.6" 4380 + } 4381 + }, 4328 4382 "node_modules/mdast-util-definitions": { 4329 4383 "version": "6.0.0", 4330 4384 "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", ··· 4486 4540 "devlop": "^1.0.0", 4487 4541 "mdast-util-from-markdown": "^2.0.0", 4488 4542 "mdast-util-to-markdown": "^2.0.0" 4543 + }, 4544 + "funding": { 4545 + "type": "opencollective", 4546 + "url": "https://opencollective.com/unified" 4547 + } 4548 + }, 4549 + "node_modules/mdast-util-math": { 4550 + "version": "3.0.0", 4551 + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", 4552 + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", 4553 + "dependencies": { 4554 + "@types/hast": "^3.0.0", 4555 + "@types/mdast": "^4.0.0", 4556 + "devlop": "^1.0.0", 4557 + "longest-streak": "^3.0.0", 4558 + "mdast-util-from-markdown": "^2.0.0", 4559 + "mdast-util-to-markdown": "^2.1.0", 4560 + "unist-util-remove-position": "^5.0.0" 4489 4561 }, 4490 4562 "funding": { 4491 4563 "type": "opencollective", ··· 4638 4710 "node": ">= 8" 4639 4711 } 4640 4712 }, 4713 + "node_modules/mhchemparser": { 4714 + "version": "4.2.1", 4715 + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", 4716 + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==" 4717 + }, 4641 4718 "node_modules/micromark": { 4642 4719 "version": "4.0.1", 4643 4720 "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", ··· 4827 4904 "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", 4828 4905 "dependencies": { 4829 4906 "devlop": "^1.0.0", 4907 + "micromark-factory-space": "^2.0.0", 4908 + "micromark-util-character": "^2.0.0", 4909 + "micromark-util-symbol": "^2.0.0", 4910 + "micromark-util-types": "^2.0.0" 4911 + }, 4912 + "funding": { 4913 + "type": "opencollective", 4914 + "url": "https://opencollective.com/unified" 4915 + } 4916 + }, 4917 + "node_modules/micromark-extension-math": { 4918 + "version": "3.1.0", 4919 + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", 4920 + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", 4921 + "dependencies": { 4922 + "@types/katex": "^0.16.0", 4923 + "devlop": "^1.0.0", 4924 + "katex": "^0.16.0", 4830 4925 "micromark-factory-space": "^2.0.0", 4831 4926 "micromark-util-character": "^2.0.0", 4832 4927 "micromark-util-symbol": "^2.0.0", ··· 5393 5488 "node": ">=16 || 14 >=14.17" 5394 5489 } 5395 5490 }, 5491 + "node_modules/mj-context-menu": { 5492 + "version": "0.6.1", 5493 + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", 5494 + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" 5495 + }, 5396 5496 "node_modules/mrmime": { 5397 5497 "version": "2.0.1", 5398 5498 "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", ··· 5956 6056 } 5957 6057 }, 5958 6058 "node_modules/prettier": { 5959 - "version": "2.8.7", 5960 - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", 5961 - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", 6059 + "version": "3.5.1", 6060 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.1.tgz", 6061 + "integrity": "sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==", 5962 6062 "optional": true, 6063 + "peer": true, 5963 6064 "bin": { 5964 - "prettier": "bin-prettier.js" 6065 + "prettier": "bin/prettier.cjs" 5965 6066 }, 5966 6067 "engines": { 5967 - "node": ">=10.13.0" 6068 + "node": ">=14" 5968 6069 }, 5969 6070 "funding": { 5970 6071 "url": "https://github.com/prettier/prettier?sponsor=1" ··· 6148 6249 "url": "https://opencollective.com/unified" 6149 6250 } 6150 6251 }, 6252 + "node_modules/rehype-mathjax": { 6253 + "version": "7.1.0", 6254 + "resolved": "https://registry.npmjs.org/rehype-mathjax/-/rehype-mathjax-7.1.0.tgz", 6255 + "integrity": "sha512-mJHNpoqCC5UZ24OKx0wNjlzV18qeJz/Q/LtEjxXzt8vqrZ1Z3GxQnVrHcF5/PogcXUK8cWwJ4U/LWOQWEiABHw==", 6256 + "dependencies": { 6257 + "@types/hast": "^3.0.0", 6258 + "@types/mathjax": "^0.0.40", 6259 + "hast-util-to-text": "^4.0.0", 6260 + "hastscript": "^9.0.0", 6261 + "mathjax-full": "^3.0.0", 6262 + "unified": "^11.0.0", 6263 + "unist-util-visit-parents": "^6.0.0", 6264 + "vfile": "^6.0.0" 6265 + }, 6266 + "funding": { 6267 + "type": "opencollective", 6268 + "url": "https://opencollective.com/unified" 6269 + } 6270 + }, 6151 6271 "node_modules/rehype-parse": { 6152 6272 "version": "9.0.1", 6153 6273 "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", ··· 6236 6356 "url": "https://opencollective.com/unified" 6237 6357 } 6238 6358 }, 6359 + "node_modules/remark-math": { 6360 + "version": "6.0.0", 6361 + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", 6362 + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", 6363 + "dependencies": { 6364 + "@types/mdast": "^4.0.0", 6365 + "mdast-util-math": "^3.0.0", 6366 + "micromark-extension-math": "^3.0.0", 6367 + "unified": "^11.0.0" 6368 + }, 6369 + "funding": { 6370 + "type": "opencollective", 6371 + "url": "https://opencollective.com/unified" 6372 + } 6373 + }, 6239 6374 "node_modules/remark-mdx": { 6240 6375 "version": "3.1.0", 6241 6376 "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", ··· 6644 6779 "funding": { 6645 6780 "type": "github", 6646 6781 "url": "https://github.com/sponsors/wooorm" 6782 + } 6783 + }, 6784 + "node_modules/speech-rule-engine": { 6785 + "version": "4.0.7", 6786 + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", 6787 + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", 6788 + "dependencies": { 6789 + "commander": "9.2.0", 6790 + "wicked-good-xpath": "1.3.0", 6791 + "xmldom-sre": "0.1.31" 6792 + }, 6793 + "bin": { 6794 + "sre": "bin/sre" 6795 + } 6796 + }, 6797 + "node_modules/speech-rule-engine/node_modules/commander": { 6798 + "version": "9.2.0", 6799 + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", 6800 + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", 6801 + "engines": { 6802 + "node": "^12.20.0 || >=14" 6647 6803 } 6648 6804 }, 6649 6805 "node_modules/sprintf-js": { ··· 8267 8423 "node": ">=4" 8268 8424 } 8269 8425 }, 8426 + "node_modules/wicked-good-xpath": { 8427 + "version": "1.3.0", 8428 + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", 8429 + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" 8430 + }, 8270 8431 "node_modules/widest-line": { 8271 8432 "version": "5.0.0", 8272 8433 "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", ··· 8365 8526 "node": ">=8" 8366 8527 } 8367 8528 }, 8529 + "node_modules/xmldom-sre": { 8530 + "version": "0.1.31", 8531 + "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", 8532 + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", 8533 + "engines": { 8534 + "node": ">=0.1" 8535 + } 8536 + }, 8368 8537 "node_modules/xxhash-wasm": { 8369 8538 "version": "1.1.0", 8370 8539 "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", ··· 8410 8579 }, 8411 8580 "optionalDependencies": { 8412 8581 "prettier": "2.8.7" 8582 + } 8583 + }, 8584 + "node_modules/yaml-language-server/node_modules/prettier": { 8585 + "version": "2.8.7", 8586 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", 8587 + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", 8588 + "optional": true, 8589 + "bin": { 8590 + "prettier": "bin-prettier.js" 8591 + }, 8592 + "engines": { 8593 + "node": ">=10.13.0" 8594 + }, 8595 + "funding": { 8596 + "url": "https://github.com/prettier/prettier?sponsor=1" 8413 8597 } 8414 8598 }, 8415 8599 "node_modules/yaml-language-server/node_modules/request-light": {
+2
package.json
··· 25 25 "astro-custom-embeds": "^0.0.1", 26 26 "astro-og-canvas": "^0.7.0", 27 27 "lite-youtube-embed": "^0.3.3", 28 + "rehype-mathjax": "^7.1.0", 29 + "remark-math": "^6.0.0", 28 30 "svelte": "^5.1.1", 29 31 "tailwind-merge": "^2.5.4", 30 32 "tailwindcss": "^3.4.14",
+3 -4
src/components/ThemeToggle.astro
··· 1 1 --- 2 - import { cn } from "../style-utils"; 3 2 import type { HTMLAttributes } from "astro/types"; 4 3 5 4 export type Props = HTMLAttributes<"button">; ··· 8 7 --- 9 8 10 9 <button 11 - class={cn( 10 + class:list={[ 12 11 "theme-toggle flex items-center justify-center text-base-950 hover:text-base-600 dark:text-base-50 dark:hover:text-base-400", 13 - className 14 - )} 12 + className, 13 + ]} 15 14 data-theme-toggle 16 15 {...props} 17 16 >
+3 -5
src/components/alerts/ErrorAlert.astro
··· 1 1 --- 2 - import { cn } from "../../style-utils"; 3 - 4 2 interface Props { 5 3 title: string; 6 4 class?: string; ··· 10 8 --- 11 9 12 10 <div 13 - class={cn( 11 + class:list={[ 14 12 "rounded-xl bg-red-50 dark:bg-red-500/5 p-4 dark:ring-1 dark:ring-red-500/10 not-prose max-w-full", 15 - className 16 - )} 13 + className, 14 + ]} 17 15 > 18 16 <div class="flex"> 19 17 <div class="flex-shrink-0">
+3 -5
src/components/alerts/InfoAlert.astro
··· 1 1 --- 2 - import { cn } from "../../style-utils"; 3 - 4 2 interface Props { 5 3 title: string; 6 4 class?: string; ··· 10 8 --- 11 9 12 10 <div 13 - class={cn( 11 + class:list={[ 14 12 "rounded-xl bg-blue-50 dark:bg-blue-500/5 p-4 dark:ring-1 dark:ring-blue-500/10 not-prose max-w-full", 15 - className 16 - )} 13 + className, 14 + ]} 17 15 > 18 16 <div class="flex"> 19 17 <div class="flex-shrink-0">
+3 -5
src/components/alerts/SuccessAlert.astro
··· 1 1 --- 2 - import { cn } from "../../style-utils"; 3 - 4 2 interface Props { 5 3 title: string; 6 4 class?: string; ··· 10 8 --- 11 9 12 10 <div 13 - class={cn( 11 + class:list={[ 14 12 "rounded-xl bg-green-50 dark:bg-green-500/5 p-4 dark:ring-1 dark:ring-green-500/10 not-prose max-w-full", 15 - className 16 - )} 13 + className, 14 + ]} 17 15 > 18 16 <div class="flex"> 19 17 <div class="flex-shrink-0">
+3 -5
src/components/alerts/WarningAlert.astro
··· 1 1 --- 2 - import { cn } from "../../style-utils"; 3 - 4 2 interface Props { 5 3 title: string; 6 4 class?: string; ··· 10 8 --- 11 9 12 10 <div 13 - class={cn( 11 + class:list={[ 14 12 "rounded-xl bg-amber-50 dark:bg-amber-500/5 p-4 dark:ring-1 dark:ring-amber-500/10 not-prose max-w-full", 15 - className 16 - )} 13 + className, 14 + ]} 17 15 > 18 16 <div class="flex"> 19 17 <div class="flex-shrink-0">
+2 -4
src/components/bluesky/Avatar.svelte
··· 1 1 <script lang="ts"> 2 - import { cn } from '../../style-utils'; 3 - 4 2 type Props = { 5 3 link?: string; 6 4 size?: string; ··· 14 12 15 13 {#snippet avatar()} 16 14 <div 17 - class={cn( 15 + class={[ 18 16 'overflow-hidden rounded-full border border-base-400/50 bg-base-100 dark:border-base-700 dark:bg-base-800', 19 17 size, 20 18 className 21 - )} 19 + ]} 22 20 > 23 21 {#if src} 24 22 <img loading="lazy" class="h-full w-full object-cover" {src} {alt} />
-1
src/components/bluesky/Comment.svelte
··· 4 4 renderPostAsHtml, 5 5 numberToHumanReadable, 6 6 } from "./utils"; 7 - import { cn } from "src/style-utils"; 8 7 import Comment from "./Comment.svelte"; 9 8 import Avatar from "./Avatar.svelte"; 10 9 import RelativeTime from "./relative-time";
+3 -4
src/components/bluesky/Likes.svelte
··· 1 1 <script lang="ts"> 2 2 import { onMount } from "svelte"; 3 - import { atUriToPostUri, getUserPosts, getLikes, getPost } from "./utils"; 4 - import { cn } from "src/style-utils"; 3 + import { getUserPosts, getLikes, getPost } from "./utils"; 5 4 6 5 const { uri, likesCount, likesData, user, url } = $props(); 7 6 ··· 47 46 {#each postLikesData as user, index} 48 47 <a 49 48 href={`https://bsky.app/profile/${user.actor.handle}`} 50 - class={cn( 49 + class={[ 51 50 "relative inline-block size-12 rounded-full overflow-hidden ring-2 ring-base-50 dark:ring-base-900 bg-base-950", 52 51 index === 0 ? "-ml-2" : "" 53 - )} 52 + ]} 54 53 target="_blank" 55 54 > 56 55 <img
+5
src/content/blog/showing-embeds.mdx
··· 24 24 ``` 25 25 26 26 https://flo-bit.dev 27 + 28 + 29 + ```js 30 + console.log("test"); 31 + ```
+3
src/layouts/BaseLayout.astro
··· 63 63 .prose mark { 64 64 @apply bg-accent-200 dark:bg-accent-900 text-black dark:text-white; 65 65 } 66 + .MathJax svg { 67 + display: inline !important; 68 + } 66 69 </style> 67 70 </head> 68 71
+3 -4
src/layouts/ProseWrapper.astro
··· 1 1 --- 2 2 import { colorBaseClasses, colorAccentClasses } from "src/colors"; 3 3 import { ACCENT_COLOR, BASE_COLOR } from "../config.json"; 4 - import { cn } from "../style-utils"; 5 4 --- 6 5 7 6 <div 8 - class={cn( 7 + class:list={[ 9 8 "prose prose-img:rounded-xl dark:prose-invert prose-a:no-underline", 10 9 "prose-inline-code:bg-base-100 dark:prose-inline-code:bg-base-800 prose-inline-code:p-1 prose-inline-code:rounded-md", 11 10 colorBaseClasses[BASE_COLOR], 12 - colorAccentClasses[ACCENT_COLOR] 13 - )} 11 + colorAccentClasses[ACCENT_COLOR], 12 + ]} 14 13 > 15 14 <slot /> 16 15 </div>
-1
todo.md
··· 1 - - allow custom icons for favicons and header