diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..d68a3eb --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "blog/themes/ananke"] + path = blog/themes/ananke + url = https://github.com/theNewDynamic/gohugo-theme-ananke.git diff --git a/package.json b/package.json index 0fc72ef..d4dbbcb 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,15 @@ "type": "module", "dependencies": { "@unocss/reset": "^0.48.5", - "dayjs": "^1.11.9" + "dayjs": "^1.11.9", + "github-markdown-css": "^5.5.0", + "katex": "^0.16.9", + "mathjax": "^3.2.2", + "mdsvex": "^0.11.0", + "rehype-katex": "^7.0.0", + "rehype-mathjax": "^6.0.0", + "remark-math": "^6.0.0", + "remark-rehype": "^11.0.0", + "shiki": "^0.14.7" } } diff --git a/src/lib/blog/+post.svelte b/src/lib/blog/+post.svelte new file mode 100644 index 0000000..f8abb6b --- /dev/null +++ b/src/lib/blog/+post.svelte @@ -0,0 +1,106 @@ + + +
+ +
+ + diff --git a/src/lib/blog/codeblock.css b/src/lib/blog/codeblock.css new file mode 100644 index 0000000..ec98eb3 --- /dev/null +++ b/src/lib/blog/codeblock.css @@ -0,0 +1,122 @@ +/** + * Dracula Theme originally by Zeno Rocha [@zenorocha] + * https://draculatheme.com/ + * + * Ported for PrismJS by Albert Vallverdu [@byverdu] + */ + +code[class*='language-'], +pre[class*='language-'] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*='language-'], +pre[class*='language-'] { + background: #282a36; +} + +/* Inline code */ +:not(pre) > code[class*='language-'] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6272a4; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: 0.7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #ff79c6; +} + +.token.boolean, +.token.number { + color: #bd93f9; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #50fa7b; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #f1fa8c; +} + +.token.keyword { + color: #8be9fd; +} + +.token.regex, +.token.important { + color: #ffb86c; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/lib/blog/components.svelte b/src/lib/blog/components.svelte new file mode 100644 index 0000000..81b4bb0 --- /dev/null +++ b/src/lib/blog/components.svelte @@ -0,0 +1,3 @@ +

+ +

diff --git a/src/lib/navi.svelte b/src/lib/navi.svelte index 1af1df3..09faa24 100644 --- a/src/lib/navi.svelte +++ b/src/lib/navi.svelte @@ -1,5 +1,4 @@ + import data from '$lib/data.json'; + import { fly } from 'svelte/transition'; + import { quintOut } from 'svelte/easing'; + - -
- -
-
-
-

{data.name}

-

{@html data.description}

-
-
-
- -
-
-
-
- - - - - -
-
- -
- - - - - - -
- + +
+ +
+
+
+

{data.name}

+

{@html data.description}

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