From 7cd4c4a01dac4a7448f30a96b041d4a744d5a051 Mon Sep 17 00:00:00 2001 From: paw Date: Thu, 1 May 2025 10:08:03 +0800 Subject: [PATCH] about me update --- .gitmodules | 6 + .hugo_build.lock | 0 archetypes/default.md | 5 + content/_index.md | 40 +++ content/post/helloworld.md | 154 ++++++++++ hugo.toml | 46 +++ layouts/partials/head_custom.html | 18 ++ layouts/shortcodes/typed.html | 32 +++ public/404.html | 108 +++++++ public/apple-touch-icon.png | Bin 0 -> 190 bytes public/bundle.min.js | 3 + public/categories/example/index.html | 124 ++++++++ public/categories/example/index.xml | 19 ++ public/categories/index.html | 116 ++++++++ public/categories/index.xml | 19 ++ ...36b442c1f66f718ff4e8164fa86cf6c61ad641.css | 1 + ...20388aacc1e7aa65014ae144e350ce59593b78.css | 1 + public/css/fonts.css | 31 ++ ...6737007eb5051b157b86fc24487c94f3dc8bbe.css | 1 + ...3e69e849e2200e0002a228d137f236b09ecd75.css | 1 + ...8b19d8950fe78ca29454ea8c2595cf26aad5c0.css | 1 + ...7d0223a38db52e2561dd87966eb5fc7c6bdac6.css | 1 + ...996f65a00d04b3a7435e9f83831c7c2298de88.css | 1 + ...f519901124fa5cbb4519b2fb0667a21e9aca39.css | 1 + ...925fc1c581992a4bf57f163e5d69cc1db7d836.css | 1 + ...c05216742d42fc8ecbfbe6b67083412b609bd3.css | 1 + public/css/style.css | 239 ++++++++++++++++ ...05448facf29a53001b57e038828daa466b25c0.css | 1 + ...6fb92427ae41e4649b934ca495991b7852b855.css | 2 + ...802312390d30e4b1d8dc9d814a5b5454d0ac11.css | 1 + public/css/theme-override.css | 1 + public/favicon.png | Bin 0 -> 190 bytes public/fonts/FiraCode-Latin.woff2 | Bin 0 -> 35496 bytes public/fonts/FiraCode-LatinExt.woff2 | Bin 0 -> 12696 bytes public/index.html | 202 +++++++++++++ public/index.xml | 19 ++ public/js/webneko.js | 14 + public/og-image.png | Bin 0 -> 4595 bytes public/page/1/index.html | 10 + .../08/30/markdown-guide-modified/index.html | 252 +++++++++++++++++ public/post/2025/04/28/helloworld/index.html | 267 ++++++++++++++++++ public/post/index.html | 124 ++++++++ public/post/index.xml | 19 ++ public/sitemap.xml | 26 ++ public/tags/index.html | 116 ++++++++ public/tags/index.xml | 19 ++ public/tags/markdown/index.html | 124 ++++++++ public/tags/markdown/index.xml | 19 ++ static/css/theme-override.css | 1 + static/js/webneko.js | 14 + themes/hugo-classic | 1 + 51 files changed, 2202 insertions(+) create mode 100644 .gitmodules create mode 100644 .hugo_build.lock create mode 100644 archetypes/default.md create mode 100644 content/_index.md create mode 100644 content/post/helloworld.md create mode 100644 hugo.toml create mode 100644 layouts/partials/head_custom.html create mode 100644 layouts/shortcodes/typed.html create mode 100644 public/404.html create mode 100644 public/apple-touch-icon.png create mode 100644 public/bundle.min.js create mode 100644 public/categories/example/index.html create mode 100644 public/categories/example/index.xml create mode 100644 public/categories/index.html create mode 100644 public/categories/index.xml create mode 100644 public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css create mode 100644 public/css/code.min.a3670726bb66927824e4c3fa3f20388aacc1e7aa65014ae144e350ce59593b78.css create mode 100644 public/css/fonts.css create mode 100644 public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css create mode 100644 public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css create mode 100644 public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css create mode 100644 public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css create mode 100644 public/css/main.min.15870410d15d02abd22fb5ef00996f65a00d04b3a7435e9f83831c7c2298de88.css create mode 100644 public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css create mode 100644 public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css create mode 100644 public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css create mode 100644 public/css/style.css create mode 100644 public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css create mode 100644 public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css create mode 100644 public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css create mode 100644 public/css/theme-override.css create mode 100644 public/favicon.png create mode 100644 public/fonts/FiraCode-Latin.woff2 create mode 100644 public/fonts/FiraCode-LatinExt.woff2 create mode 100644 public/index.html create mode 100644 public/index.xml create mode 100644 public/js/webneko.js create mode 100644 public/og-image.png create mode 100644 public/page/1/index.html create mode 100644 public/post/2018/08/30/markdown-guide-modified/index.html create mode 100644 public/post/2025/04/28/helloworld/index.html create mode 100644 public/post/index.html create mode 100644 public/post/index.xml create mode 100644 public/sitemap.xml create mode 100644 public/tags/index.html create mode 100644 public/tags/index.xml create mode 100644 public/tags/markdown/index.html create mode 100644 public/tags/markdown/index.xml create mode 100644 static/css/theme-override.css create mode 100644 static/js/webneko.js create mode 160000 themes/hugo-classic diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..fcc8838 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "themes/hugo-classic"] + path = themes/hugo-classic + url = https://github.com/goodroot/hugo-classic.git +[submodule "themes/terminal"] + path = themes/terminal + url = https://github.com/panr/hugo-theme-terminal.git diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..25b6752 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +date = '{{ .Date }}' +draft = true +title = '{{ replace .File.ContentBaseName "-" " " | title }}' ++++ diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..c4e5022 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,40 @@ ++++ +draft = false +title = 'Home' +description = "Something about me qwq" ++++ + +# {{< typed text="欢迎来到互联网的尽头。
Welcome to the end of the Internet." speed="13" loop="false" >}} + + +TL;DR +============ +| 项目/Item | 内容/Details | +| :---------------- | :----------------------------------------- | +| 姓名/Name | Peter Alex Wain A.K.A **paw** | +| 邮箱/Mail | crgrenyrkjnva#ubgznvy.pbz (ROT13) | +| 地址/Addr | 木分镇,白完 Fragrance Town, Anhui Province | +| 性别/Sex | 男 Boi | +| 身高/Length | 150cm | +| 体重/Weight | 300kg | +| 性取向/S.O. | 可爱 qte thing qwq | +| 发情时间/PornTime | 7d x 24h | +| 主页/Page | http://b.peteralexwain.me/ | + +¿What's more? +============ +这里(暂时)由木分镇的PeterAlexWain A.K.A paw维护。 +这里(暂时或者很长一段时间)可能会充满低创与牢骚一类的没有任何营养价值的东西。 +paw很希望与你交换友链,(如果你不嫌弃的话,)请偷偷联系他交换友链。 +paw喜欢猫科动物,喜欢Unix,喜欢计算器,喜欢Ruby,喜欢沿着没有阳光的角落阴暗爬行,喜欢一切可爱的东西(,当然还有你)。 +paw喜欢很多东西但是又无能为力,他的技术水平令人汗颜。 +为什么说这里是互联网的尽头呢?因为这里既不有趣也没有知识,访问这里可能会让你痛苦(,就像paw活在现实世界一样)。 +可以逗一逗活在这个页面左上角的黑猫玩,黑猫特别可爱(,就像是你)。 +(如果没有特别说明,)这里的所有文章都属于CC BY-NC-ND 4.0授权。 +如果你做了一些让他难过的事,paw就只能躲在他(桥洞底下)的家里,抱着捡来的(不是浅色的)被单哭泣。 +By the way,paw iz bad at inglish,just lik hiz chinglish. + +--- + +Something sucks +============ \ No newline at end of file diff --git a/content/post/helloworld.md b/content/post/helloworld.md new file mode 100644 index 0000000..ba3b3fd --- /dev/null +++ b/content/post/helloworld.md @@ -0,0 +1,154 @@ ++++ +date = '2025-04-28T00:44:05+08:00' +draft = false +author= "PeterAlexWain" +title = 'Helloworld' +categories = ["Example"] +tags = ["Markdown"] ++++ + +An h1 header +============ + +Paragraphs are separated by a blank line. + +2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists +look like: + + * this one + * that one + * the other one + +Note that --- not considering the asterisk --- the actual text +content starts at 4-columns in. + +> Block quotes are +> written like so. +> +> They can span multiple paragraphs, +> if you like. + +Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all +in chapters 12--14"). Three dots ... will be converted to an ellipsis. +Unicode is supported. ☺ + + + +An h2 header +------------ + +Here's a numbered list: + + 1. first item + 2. second item + 3. third item + +Note again how the actual text starts at 4 columns in (4 characters +from the left side). Here's a code sample: + + # Let me re-iterate ... + for i in 1 .. 10 { do-something(i) } + +As you probably guessed, indented 4 spaces. By the way, instead of +indenting the block, you can use delimited blocks, if you like: + +~~~ +define foobar() { + print "Welcome to flavor country!"; +} +~~~ + +(which makes copying & pasting easier). You can optionally mark the +delimited block for Pandoc to syntax highlight it: + +~~~python +import time +# Quick, count to ten! +for i in range(10): + # (but not *too* quick) + time.sleep(0.5) + print i +~~~ + + + +### An h3 header ### + +Now a nested list: + + 1. First, get these ingredients: + + * carrots + * celery + * lentils + + 2. Boil some water. + + 3. Dump everything in the pot and follow + this algorithm: + + find wooden spoon + uncover pot + stir + cover pot + balance wooden spoon precariously on pot handle + wait 10 minutes + goto first step (or shut off burner when done) + + Do not bump wooden spoon or it will fall. + +Notice again how text always lines up on 4-space indents (including +that last line which continues item 3 above). + +Here's a link to [a website](http://foo.bar), to a [local +doc](local-doc.html), and to a [section heading in the current +doc](#an-h2-header). Here's a footnote [^1]. + +[^1]: Footnote text goes here. + +Tables can look like this: + +size|material |color +----|------------|------------ +9 |leather |brown +10 |hemp canvas |natural +11 |glass |transparent + +Table: Shoes, their sizes, and what they're made of + +(The above is the caption for the table.) + +A horizontal rule follows. + +*** + +Here's a definition list: + +apples +: Good for making applesauce. + +oranges +: Citrus! + +tomatoes +: There's no "e" in tomatoe. + +(Put a blank line between each term/definition pair to spread +things out more.) + +and images can be specified like so: + +![example image](/images/partywizard.gif "An exemplary image") + +Inline math equations go in like so: \\(\omega = d\phi / dt\\). +Display math should get its own line and be put in in +double-dollarsigns: + +$$I = \int \rho R^{2} dV$$ + +And note that you can backslash-escape any punctuation characters +which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc. + +#### Images auto center: + +![Party](http://emojis.slackmojis.com/emojis/images/1475875185/1223/party-dinosaur.gif?1475875185) diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..653fe12 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,46 @@ +baseurl = "https://b.peteralexwain.me" +enableEmoji = true +footnotereturnlinkcontents = "↩" +#googleAnalytics = "" +ignoreFiles = ["\\.Rmd$", "_files$", "_cache$"] +languageCode = "en-us" +theme = "hugo-classic" +title = "Let's fall in love" +#enableGitInfo = true + +[markup.goldmark.renderer] +unsafe = true + +[markup.highlight] +anchorLineNos = false +codeFences = true +guessSyntax = false +hl_Lines = "" +lineAnchors = "" +lineNoStart = 1 +lineNos = false +lineNumbersInTable = true +noClasses = true +style = "monokai" +tabWidth = 4 + +[permalinks] +post = "/post/:year/:month/:day/:slug/" + +[[menu.main]] +name = "Categories" +url = "/categories/" +weight = 1 +custom_css = ["css/theme-override.css"] +[[menu.main]] +name = "Tags" +url = "/tags/" +weight = 2 +[[menu.feed]] +name = "Subscribe" +url = "/index.xml" + +[params] +custom_css = ["css/theme-override.css"] +description = "A simple, minimal blog for those who love text." +footer = "© 2025 PeterAlexWain | [Github](https://github.com/goodroot/hugo-classic) | [Keybase](https://keybase.io/goodroot)" diff --git a/layouts/partials/head_custom.html b/layouts/partials/head_custom.html new file mode 100644 index 0000000..0559965 --- /dev/null +++ b/layouts/partials/head_custom.html @@ -0,0 +1,18 @@ + +

+ +

+ + + + + + \ No newline at end of file diff --git a/layouts/shortcodes/typed.html b/layouts/shortcodes/typed.html new file mode 100644 index 0000000..cbf5132 --- /dev/null +++ b/layouts/shortcodes/typed.html @@ -0,0 +1,32 @@ +{{- $text := .Get "text" | default "Hello World" -}} +{{- $speed := .Get "speed" | default "30" -}} +{{- $loop := .Get "loop" | default "true" -}} +{{- $breakLines := .Get "breakLines" | default "false" -}} + + + +
+ +{{- if eq .Ordinal 1 -}} + +{{- end -}} + + \ No newline at end of file diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..9fb82ff --- /dev/null +++ b/public/404.html @@ -0,0 +1,108 @@ + + + + + + + + + + + + + 404 Page not found | Let's fall in love + + + + +

+ +

+ + + + + + + + + +
+ +
+ + + +404 - You once were found. But now you're lost. We might wrong, but we still alive. + + + + + diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac2c2772a6d8d5905459c349e848c297c9bd86d GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zGQmYp^O8qeVA>gTe~DWM4f7lb!O literal 0 HcmV?d00001 diff --git a/public/bundle.min.js b/public/bundle.min.js new file mode 100644 index 0000000..d492253 --- /dev/null +++ b/public/bundle.min.js @@ -0,0 +1,3 @@ +(()=>{var t=document.querySelector(".container"),e=document.querySelectorAll(".menu");document.body.addEventListener("click",()=>{e.forEach(e=>{e.classList.contains("open")&&e.classList.remove("open")})}),window.addEventListener("resize",()=>{e.forEach(e=>{e.classList.remove("open")})}),e.forEach(n=>{const o=n.querySelector(".menu__trigger"),s=n.querySelector(".menu__dropdown");o.addEventListener("click",o=>{o.stopPropagation(),n.classList.contains("open")?n.classList.remove("open"):(e.forEach(e=>e.classList.remove("open")),n.classList.add("open")),s.getBoundingClientRect().right>t.getBoundingClientRect().right&&(s.style.left="auto",s.style.right=0)}),s.addEventListener("click",e=>e.stopPropagation())})})(),(()=>{var e=document.querySelectorAll(".chroma code[data-lang]");for(const n of e){const s=n.parentElement,o=n.innerText.split(` +`).filter(Boolean).join(` +`),t=document.createElement("div"),i=n.dataset.lang;if(t.classList.add("code-title"),t.innerText=i,navigator.clipboard!==void 0){const e=document.createElement("button");e.classList.add("copy-button"),e.innerText="Copy",e.addEventListener("click",()=>{e.innerText="Copied",setTimeout(()=>{e.innerText="Copy"},1e3),navigator.clipboard.writeText(o)}),t.append(e)}s.closest(".highlight").prepend(t)}})() \ No newline at end of file diff --git a/public/categories/example/index.html b/public/categories/example/index.html new file mode 100644 index 0000000..1a67e94 --- /dev/null +++ b/public/categories/example/index.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + Example | Let's fall in love + + + + +

+ +

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

Example

+ + + + + +
+
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/categories/example/index.xml b/public/categories/example/index.xml new file mode 100644 index 0000000..5638d57 --- /dev/null +++ b/public/categories/example/index.xml @@ -0,0 +1,19 @@ + + + + Example on Let's fall in love + http://localhost:1313/categories/example/ + Recent content in Example on Let's fall in love + Hugo + en-us + Mon, 28 Apr 2025 00:44:05 +0800 + + + Helloworld + http://localhost:1313/post/2025/04/28/helloworld/ + Mon, 28 Apr 2025 00:44:05 +0800 + http://localhost:1313/post/2025/04/28/helloworld/ + <h1 id="an-h1-header">An h1 header</h1> <p>Paragraphs are separated by a blank line.</p> <p>2nd paragraph. <em>Italic</em>, <strong>bold</strong>, and <code>monospace</code>. Itemized lists look like:</p> <ul> <li>this one</li> <li>that one</li> <li>the other one</li> </ul> <p>Note that &mdash; not considering the asterisk &mdash; the actual text content starts at 4-columns in.</p> <blockquote> <p>Block quotes are written like so.</p> <p>They can span multiple paragraphs, if you like.</p></blockquote> <p>Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &ldquo;it&rsquo;s all in chapters 12&ndash;14&rdquo;). Three dots &hellip; will be converted to an ellipsis. Unicode is supported. ☺</p> + + + diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..04370e9 --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,116 @@ + + + + + + + + + + + + + Categories | Let's fall in love + + + + +

+ +

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

Categories

+ + + +
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..88f2cc9 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,19 @@ + + + + Categories on Let's fall in love + http://localhost:1313/categories/ + Recent content in Categories on Let's fall in love + Hugo + en-us + Mon, 28 Apr 2025 00:44:05 +0800 + + + Example + http://localhost:1313/categories/example/ + Mon, 28 Apr 2025 00:44:05 +0800 + http://localhost:1313/categories/example/ + + + + diff --git a/public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css b/public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css new file mode 100644 index 0000000..5359990 --- /dev/null +++ b/public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css @@ -0,0 +1 @@ +.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;text-decoration:none;text-align:center;font:inherit;font-weight:700;appearance:none;cursor:pointer;outline:none}button.outline,.button.outline,a.button.outline{background:0 0;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.link,.button.link,a.button.link{background:0 0;font-size:var(--font-size)}button.small,.button.small,a.button.small{font-size:calc(var(--font-size) * .8)}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.button.inline{background:0 0;color:var(--accent);padding:initial;margin:initial;border:initial;font-weight:initial;text-decoration:none}a.button.inline:active,a.button.inline:hover{background:0 0}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;border:none;background:0 0;box-shadow:none;padding:0;max-width:100%;text-decoration:none} \ No newline at end of file diff --git a/public/css/code.min.a3670726bb66927824e4c3fa3f20388aacc1e7aa65014ae144e350ce59593b78.css b/public/css/code.min.a3670726bb66927824e4c3fa3f20388aacc1e7aa65014ae144e350ce59593b78.css new file mode 100644 index 0000000..778a136 --- /dev/null +++ b/public/css/code.min.a3670726bb66927824e4c3fa3f20388aacc1e7aa65014ae144e350ce59593b78.css @@ -0,0 +1 @@ +:root{--code-border:color-mix(in srgb, var(--foreground) 10%, transparent)}pre:not(.chroma){margin:20px 0;padding:10px}pre.chroma{margin:0;padding:10px 0;color:var(--foreground)}pre code{color:var(--foreground);border:none}code{color:var(--accent);text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.highlight pre{border:none}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none}.code-title .copy-button{z-index:1;background:color-mix(in srgb,var(--foreground) 5%,var(--background))}.code-title:hover .copy-button{display:inline-block}.code-title .copy-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--background))}.collapsable-code{position:relative;width:100%;margin:20px 0;border:1px solid var(--accent);.highlight { margin: 0; }}.collapsable-code__title{display:inline-flex;align-items:center;flex:1;color:var(--accent);padding:3px 10px;font-size:calc(var(--font-size) * .9);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:var(--accent);border:1px solid var(--accent);border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code summary{color:var(--accent);padding:0 10px;cursor:pointer}.collapsable-code summary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0} \ No newline at end of file diff --git a/public/css/fonts.css b/public/css/fonts.css new file mode 100644 index 0000000..da969a7 --- /dev/null +++ b/public/css/fonts.css @@ -0,0 +1,31 @@ +@import url('https://rsms.me/inter/inter.css'); +html { font-family: + 'Inter', + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji', + 'Segoe UI Symbol'; + } +@supports (font-variation-settings: normal) { + html { font-family: + 'Inter var', + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji', + 'Segoe UI Symbol'; + } +} + +code { + font-family: + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Helvetica, + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol"; + font-size: 85%; +} diff --git a/public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css b/public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css new file mode 100644 index 0000000..937fa55 --- /dev/null +++ b/public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css @@ -0,0 +1 @@ +@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-LatinExt.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-Latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} \ No newline at end of file diff --git a/public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css b/public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css new file mode 100644 index 0000000..dddfe01 --- /dev/null +++ b/public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css @@ -0,0 +1 @@ +.footer{padding:40px 0;flex-grow:0;opacity:.65}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;max-width:100%}.footer a{color:inherit}.footer .copyright{display:flex;flex-flow:row wrap;flex:1;align-items:center;justify-content:center}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}.footer .copyright span{white-space:nowrap}@media(max-width:900px){.footer__inner{flex-direction:column}} \ No newline at end of file diff --git a/public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css b/public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css new file mode 100644 index 0000000..fe934de --- /dev/null +++ b/public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css @@ -0,0 +1 @@ +body .gist .blob-num,body .gist .blob-code-inner{border:none} \ No newline at end of file diff --git a/public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css b/public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css new file mode 100644 index 0000000..b51a56f --- /dev/null +++ b/public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css @@ -0,0 +1 @@ +.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo::after{content:"";background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:var(--background);font-weight:700;padding:5px 10px}@media print{.header{display:none}} \ No newline at end of file diff --git a/public/css/main.min.15870410d15d02abd22fb5ef00996f65a00d04b3a7435e9f83831c7c2298de88.css b/public/css/main.min.15870410d15d02abd22fb5ef00996f65a00d04b3a7435e9f83831c7c2298de88.css new file mode 100644 index 0000000..7d5e08d --- /dev/null +++ b/public/css/main.min.15870410d15d02abd22fb5ef00996f65a00d04b3a7435e9f83831c7c2298de88.css @@ -0,0 +1 @@ +:root{--background:#1a170f;--foreground:#eceae5;--accent:#eec35e;--font-size:1rem;--line-height:1.54em;--radius:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;font-family:fira code,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;text-size-adjust:100%}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6,p,ul,ol,img,figure,video,table{margin:25px 0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 1em);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=checkbox]:checked{background:var(--accent)}img{display:block;max-width:100%;border:8px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}figure{width:fit-content}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:var(--font-size);font-weight:400;margin-top:-8px;padding:0 8px;border-radius:0 0 var(--radius)var(--radius)}figure figcaption p:first-child{margin-top:0}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:fira code,Monaco,Consolas,ubuntu mono,monospace!important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);border:1px solid var(--code-border);padding:1px 6px;margin:0 2px;font-size:calc(var(--font-size) * .95)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent)!important;color:var(--foreground);padding:20px 10px;font-size:calc(var(--font-size) * .95)!important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}pre code{background:0 0!important;margin:0;padding:0;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote::before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.4rem;line-height:1.3;margin:20px 0}.headings--one-size~h1:first-child,.headings--one-size~h2:first-child,.headings--one-size~h3:first-child,.headings--one-size~h4:first-child,.headings--one-size~h5:first-child,.headings--one-size~h6:first-child{margin-top:20px}blockquote.twitter-tweet{position:relative;background:var(--background);font:inherit;color:inherit;border:1px solid var(--accent);padding-top:60px}blockquote.twitter-tweet a{color:var(--accent);text-decoration:underline}blockquote.twitter-tweet::before{content:"> From X:";position:absolute;top:20px;left:20px;color:var(--accent);font-weight:700}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}.content{display:flex;flex-direction:column}.hidden{display:none}.__h_video{position:relative;overflow:visible!important;height:auto!important;padding-bottom:0!important}.__h_video a{position:relative;display:block;width:100%}.__h_video a img{width:100%}.__h_video a .play{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:60px;height:60px}iframe[src*="youtube.com"]{border:8px solid var(--accent)!important;padding:8px!important}@media(max-width:684px){:root{--font-size:0.95rem}.container{padding:20px}}@media print{.container{display:initial}.content{display:initial}} \ No newline at end of file diff --git a/public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css b/public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css new file mode 100644 index 0000000..2ea3ee0 --- /dev/null +++ b/public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css @@ -0,0 +1 @@ +.navigation-menu{display:flex;align-items:flex-start;justify-content:space-between;margin:20px 1px}.navigation-menu__inner{display:flex;flex:1;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:none;margin-bottom:10px;white-space:nowrap}.navigation-menu__inner>li:not(:last-of-type){margin-right:20px}.navigation-menu .spacer{flex-grow:1!important}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0}.menu__trigger{margin-right:0!important;color:var(--accent);user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:var(--background);box-shadow:0 10px var(--background),-10px 10px var(--background),10px 10px var(--background);color:var(--accent);border:2px solid var(--accent);margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99}.open .menu__dropdown{display:flex}.menu__dropdown>li{flex:none}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li a{display:flex;padding:5px}.menu--mobile .menu__trigger{color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer;display:none}.menu--mobile li{flex:none}.menu--mobile li:not(:last-of-type){margin-bottom:10px}.menu--language-selector .menu__trigger{color:var(--accent);border:2px solid;margin-left:5px;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer}.menu--language-selector .menu__dropdown{left:auto;right:0}@media(max-width:684px){.navigation-menu{margin:0}.navigation-menu__inner{flex-direction:column;align-items:flex-start;padding:0}.navigation-menu__inner li{margin:0;padding:5px}.menu--desktop{display:none}.menu--mobile .menu__trigger{display:block}.menu--mobile .menu__dropdown{left:auto;right:0}.menu--language-selector .menu__trigger{display:none}} \ No newline at end of file diff --git a/public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css b/public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css new file mode 100644 index 0000000..7fe5a22 --- /dev/null +++ b/public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css @@ -0,0 +1 @@ +.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);color:color-mix(in srgb var(--foreground) 30%,transparent);font-size:calc(var(--font-size) * .8);text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-flow:row wrap;gap:10px}.pagination__buttons a{display:inline-flex;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:inherit;padding:0;appearance:none}.button a{display:flex;justify-content:center;flex:1;padding:8px 16px}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next .button__icon{margin-left:8px}.prev .button__icon{margin-right:8px}@media print{.pagination{display:none}} \ No newline at end of file diff --git a/public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css b/public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css new file mode 100644 index 0000000..fd83cca --- /dev/null +++ b/public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css @@ -0,0 +1 @@ +.index-content{margin:25px 0}.framed{border:1px solid var(--accent);padding:20px}.framed *:first-child{margin-top:0}.framed *:last-child{margin-bottom:0}.posts{width:100%}.post{width:100%;text-align:left;padding:30px 0}.post:not(:last-of-type){border-bottom:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.post-meta{font-size:inherit;margin-bottom:10px;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.post-meta>*:not(:first-child)::before{content:"::";display:inline-block;margin:0 8px}.post-title{position:relative;color:var(--accent);margin-top:0!important;margin-bottom:15px!important;padding-bottom:15px;border-bottom:3px dotted var(--accent);text-decoration:none!important}.post-title::after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted var(--accent)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:inherit;color:var(--accent)}.table-of-contents{margin:40px 0}.post-content{margin-top:25px}.post-cover{margin:25px 0}.post ul{list-style:none}.post ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{position:absolute;color:var(--accent);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover .hanchor,h2:hover .hanchor,h3:hover .hanchor,h4:hover .hanchor,h5:hover .hanchor,h6:hover .hanchor{visibility:visible}.footnotes{color:color-mix(in srgb,var(--foreground) 50%,transparent)}.footnotes hr{background:color-mix(in srgb,var(--foreground) 50%,transparent)}@media(max-width:684px){.post-cover{padding:10px;border-width:10px}} \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 0000000..c68c01c --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,239 @@ +/* Dark mode */ +@media (prefers-color-scheme: dark) { + body { + background-color: #393E41; + color: white; + } + + blockquote { + background: #393E41; + } + + a { + color: #EBC3DB; + } + + header { + background: #393E41; + border-bottom: 2px dotted #EBC3DB; + + } + + .article-meta, .menu a { + background: #393E41; + color: white; + } + + table { + margin: auto; + border-top: 1px solid #666; + border-bottom: 1px solid #666; + } + table thead th { border-bottom: 1px solid #666; } + th, td { padding: 5px; } + tr:nth-child(even) { background: #666 } + +} + + +/* Light mode */ +@media (prefers-color-scheme: light) { + blockquote { + background: #f9f9f9; + } + + a { + color: #613DC1; + } + + header { + background: #613DC1; + } + + .article-meta, .menu a { + background: #E8DBC5; + color: #000; + } + + table { + margin: auto; + border-top: 1px solid #666; + border-bottom: 1px solid #666; + } + table thead th { border-bottom: 1px solid #ddd; } + th, td { padding: 5px; } + tr:nth-child(even) { background: #eee } + +} + + +body { + max-width: 800px; + margin: auto; + padding: .2em; + line-height: 1.5em; +} + +h1 { + line-height: 1.5em; +} + +/* Table of Contents, if wanted + +Add to yaml: + +output: + blogdown::html_page: + toc: true + + */ + +#TableOfContents, #TOC { + border: 1px solid #eee; + border-radius: 5px; +} + +/* Header and Footer */ +.menu li { display: inline-block; } +.article-meta, .menu a { + text-decoration: none; + padding: 5px; + border-radius: 5px; + border-style: dotted; + border-width: 1px; + margin: 20px 0px 20px 0px; +} + +.terms { font-size: .9em; } +.menu, .article-meta, footer { text-align: center; } +.title { font-size: 1.1em; } +footer a { text-decoration: none; } + +.pull-left { + float: left +} +.pull-right { + float: right +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +/* Adjust background at your leisure! */ +header { + position: relative; + width: 100%; + height: 1.75rem; + font-size: 1rem; +} + +header ul, +header ol { + margin: 0; + padding: 0; + list-style: none +} +header nav { + padding: 0 0.5rem +} + +header a { + color: #fff; + line-height: 1.75rem; + padding: 0 0.5rem +} +header a:hover, +header .current a { + color: #fff +} + +/* Code Boxes */ +pre { + border: 2px solid #EBC3DB; + padding: 1em; + overflow-x: auto; +} +pre code { background: none; } + +code { + background-color: light-dark(#D6D6D6, #888); + border-radius: 3px; + padding: 0.2em; + overflow-x: auto; +} + +/* Images, tables, misc. */ +img, iframe, video { + max-width: 100%; + height: auto; + display: block; + margin-left: auto; + margin-right: auto; +} + +main { + hyphens: auto; + max-width: 650px; + margin-left: auto; + margin-right: auto; + line-height: 1.7em; + hyphens: auto; + display: block; + font-size: 1.1em; +} +main a { + font-weight: bold; +} + +blockquote { + + border-left: 5px solid #ccc; + padding: 3px 1em 3px; +} + +.content-wrapper { + padding: 0px 12px 0px 12px; +} +#foxy { + min-width: 40px; + float: right; + padding: 10px; + display: block; +} + + +#table-of-contents { +} + +/* Small devices, phones */ +@media only screen and (min-width : 480px) { + #foxy { + min-width: 40px; + float: center; + padding: 10px 10px 10px 20px; + display: block; + } + +} + +/* 在大屏幕上应用特定样式 */ +@media screen and (min-width: 768px) { + #table-of-contents { + position: fixed; /* 固定定位,使其悬浮在页面上 */ + top: 50%; /* 上边距为50% */ + right: 15px; /* 右边距为0,将其放在右侧 */ + transform: translateY(-50%); /* 使用transform来垂直居中 */ + background-color: #f0f0f0; /* 设置背景颜色 */ + padding: 10px; /* 添加一些内边距以增加可读性 */ + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); /* 添加阴影效果 */ + width: 250px; /* 设置宽度 */ + max-height: 70vh; /* 设置最大高度为视口的70% */ + overflow-y: auto; /* 添加垂直滚动条 */ + } +} + diff --git a/public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css b/public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css new file mode 100644 index 0000000..bf67df9 --- /dev/null +++ b/public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css @@ -0,0 +1 @@ +:root{--first-tone:var(--accent);--second-tone:color-mix(in srgb, var(--accent) 70%, transparent);--comment:color-mix(in srgb, var(--foreground) 50%, transparent)}.bg{}.chroma{overflow:auto}.chroma .x{}.chroma .err{}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{width:100%;vertical-align:top;padding:0;margin:0;border:0}.chroma .lntd:first-child{width:auto}.chroma .lntd code{display:grid}.chroma .lntable{width:100%;border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:color-mix(in srgb,var(--foreground) 5%,transparent)!important}.chroma .lnt{color:var(--comment);white-space:pre;-webkit-user-select:none;user-select:none;padding:0 10px}.chroma .ln{color:var(--comment);white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.8em;padding:0 .4em 0 0}.chroma .line{display:flex;padding:0 10px}.chroma .k{color:var(--second-tone)}.chroma .kc{color:var(--second-tone)}.chroma .kd{color:var(--second-tone)}.chroma .kn{color:var(--second-tone)}.chroma .kp{color:var(--second-tone)}.chroma .kr{color:var(--second-tone)}.chroma .kt{color:var(--second-tone)}.chroma .n{color:var(--first-tone)}.chroma .na{color:var(--second-tone)}.chroma .nb{color:var(--first-tone)}.chroma .bp{color:var(--first-tone)}.chroma .nc{color:var(--foreground)}.chroma .no{color:var(--first-tone)}.chroma .nd{color:var(--first-tone)}.chroma .ni{color:var(--first-tone)}.chroma .ne{color:var(--first-tone)}.chroma .nf{color:var(--first-tone)}.chroma .fm{color:var(--first-tone)}.chroma .nl{color:var(--first-tone)}.chroma .nn{color:var(--first-tone)}.chroma .nx{color:var(--first-tone)}.chroma .py{color:var(--first-tone)}.chroma .nt{color:var(--first-tone)}.chroma .nv{color:var(--first-tone)}.chroma .vc{color:var(--first-tone)}.chroma .vg{color:var(--first-tone)}.chroma .vi{color:var(--first-tone)}.chroma .vm{color:var(--first-tone)}.chroma .l{}.chroma .ld{}.chroma .s{color:var(--foreground)}.chroma .sa{color:var(--foreground)}.chroma .sb{color:var(--foreground)}.chroma .sc{color:var(--foreground)}.chroma .dl{color:var(--foreground)}.chroma .sd{color:var(--foreground)}.chroma .s2{color:var(--foreground)}.chroma .se{color:var(--foreground)}.chroma .sh{color:var(--foreground)}.chroma .si{color:var(--foreground)}.chroma .sx{color:var(--foreground)}.chroma .sr{color:var(--foreground)}.chroma .s1{color:var(--foreground)}.chroma .ss{color:var(--foreground)}.chroma .m{color:var(--first-tone)}.chroma .mb{color:var(--first-tone)}.chroma .mf{color:var(--first-tone)}.chroma .mh{color:var(--first-tone)}.chroma .mi{color:var(--first-tone)}.chroma .il{color:var(--first-tone)}.chroma .mo{color:var(--first-tone)}.chroma .o{color:var(--foreground)}.chroma .ow{color:var(--foreground)}.chroma .p{color:var(--foreground)}.chroma .c{color:var(--comment)}.chroma .ch{color:var(--comment)}.chroma .cm{color:var(--comment)}.chroma .c1{color:var(--comment)}.chroma .cs{color:var(--comment)}.chroma .cp{color:var(--comment)}.chroma .cpf{color:var(--comment)}.chroma .g{}.chroma .gd{color:var(--first-tone)}.chroma .ge{}.chroma .gr{}.chroma .gh{}.chroma .gi{color:var(--second-tone)}.chroma .go{}.chroma .gp{}.chroma .gs{}.chroma .gu{}.chroma .gt{}.chroma .gl{}.chroma .w{}.chroma .language-php .cp{color:var(--foreground)} \ No newline at end of file diff --git a/public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css b/public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css new file mode 100644 index 0000000..0c7817a --- /dev/null +++ b/public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css @@ -0,0 +1,2 @@ +/* Placeholder file for your custom settings. */ +/* You can get the color scheme variables from https://panr.github.io/terminal-css/ */ diff --git a/public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css b/public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css new file mode 100644 index 0000000..a879e58 --- /dev/null +++ b/public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css @@ -0,0 +1 @@ +.terms h3{font-size:initial}.terms ul{list-style:none}.terms ul li a{color:var(--accent)}.terms ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)} \ No newline at end of file diff --git a/public/css/theme-override.css b/public/css/theme-override.css new file mode 100644 index 0000000..1e8f759 --- /dev/null +++ b/public/css/theme-override.css @@ -0,0 +1 @@ +footer { font-size: 90%; } diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac2c2772a6d8d5905459c349e848c297c9bd86d GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zGQmYp^O8qeVA>gTe~DWM4f7lb!O literal 0 HcmV?d00001 diff --git a/public/fonts/FiraCode-Latin.woff2 b/public/fonts/FiraCode-Latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d2925e0c2ed747a76bb2d786946a2d8ef358ac2c GIT binary patch literal 35496 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 Af&c&j literal 0 HcmV?d00001 diff --git a/public/fonts/FiraCode-LatinExt.woff2 b/public/fonts/FiraCode-LatinExt.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ce25b6725a2c0caba3c2366a96a28695e9d3d6ab GIT binary patch literal 12696 zcmV;JF=x(qPew8T0RR9105O;V6aWAK0A$<%05K*20RR9100000000000000000000 z0000Qf@T|uE*ybwKS)+VQYt@9RzXrk24Fu^R6$g9Cnf-cXfI$92ny0L#5)UvS^zM; zLIE}cBm;(c1Rw>5R0oeU8?Ra=?3fj}9f(A{zMmzEIz>7C6GgomoFv)*e@{?j$o^d& zfa+=`90g(NRZ(OjdMekBUV~8B*)h>cFs5ze6l#y#z@nZ3ZCSkm1ZyLBh}{2SWg< zRYS1N?m!)4G&*z+ZB!HkMMOs^7}$UyAx483jWr`@L@nA}wC<~2Wcv-3Em~Fg&c68s zgFq@I2#W(p{F^mMhqnhu{JZ%-A<0QjvN;fb;S)hZ_=}=oC`v;TgYkoEWmlUeIqqWxz|zu=3|ISs0UTM1+^x& zs0Yb3s=qCOfW@_Z7%2oHCnS(i(`v$u6`@4#^?ONrjKb|uXG(dQ?xeUxJQ52Yko;G2 zyCuU|glRyC({>`L;>64R?mb4VLMg?p09XoJa-Cg13B0^J8(=8r;5nx8$R`?+Pd(B9 zPhHvS^EGb;>>cP5T*tm=978{Z%JEWHj5H$)G13OYJ6LuNyZJ&0fWuto94dFNd{;Sz zT-ijd$3hy%YMPexjdo`nhCm!xK~Q-L zE3i67Rh;?jytFm)q88JQoD>~jG3<JGnXMRX%JU}2|7!42*07?Kt5J0|j4F~{(Gl)8nEo=dzi8c^D^g#?^K+KqfSh57M zVh7^D0R#^Z;>-=iofn8VG6)3)gem}pCJ=-z6oexhBo-e;ARa_42_!`tNQMlMED8{% zT#$UlAf;3wm8w8$)PU4#1Zma+(xwxnTOY`vVUSUyAmb)Mrp<%wu^;511&}4HAjh2m zIpu;0sPCL0fPlvMt9$_V$5uonZ#@c=4_qb7Us>W6HXi`?)Y#zuC)jHLI9tH@S!^x_ zbODI_sb)_DZe$z{ELmzuS`6A#!U7gIE#MVUKx>&zMC+E2-g&ZH`bTsZ{hTv7PQIj{ zq(4taq)Q_bka@o^i8$rDk3op8uSJ|}py6Mz^e;^p4cKib`2iZqG1z}mHIFvO%;GaCSbekd_4?=c4aI*`|UO}5;t4$8N{pLnek|I7VO$a#4s9Oh6f?Vmit(7Yncu zORxfKun}A3uBwk)a%o#rU07E`s>8_Mlt8X$P@w?1G#9y_mkXei-(?*8?OVdJ-2W6D z%;*{y#7rPRb4S~OpsT)N1aQ}gRgFId2qjX@4p7YJMS%bVMFN>bNzOXwyo+o@6L-TO zIZL-`r;-oUMU6nA=129RYA}SDwNKAkMb3s~6>NsQJP=9y$3S9xv|a_b|4+g@0s!mp zE_KoYswHcqQ^OYuLZD_(I16=v{ko0=I51zr9K&OZCzB{m_0&yjhX7L>!_U6s*o7v+ zc_V8fle)k!nbk%f0=!%v{Z{aHEgD^flxT4xXcc8?ScdAn z`{PN4B!xO@G|8fcoHhz*vgx6uFPDiThVmIJgi*{$fvw7zDP>LttDL1O+f=es&qggP zHEh+fhO?7{M)&~$&i~c~?Og2Qs)L(O?z(yEq%i*1i+3nCoGaZr?_!W|On2(D!U#|ep@B6WtuXVunAXgr8Hxu+=$Hv??5wq!%;P@&%S=ZI(S5(lqF9I3OB;q6FzNu%X5DhhpL;Y`1- ztB_WSA28j^3m_D+hY2Nc_X(PqBr%4m7(r2ye`|U6SKGRoO)^yko3S?bL z|as`BS6F52sYH>gq>l!;^CeN+uLmx(oElBpdMH%-n8G3B-26y6daAcKG{kcZh zwYLj5>|XMhzG<|y+zov>V$!|JaIfBCDz|mG1K&AvnxJ^yqW3f_QX`}5@I!Y&HwXZ! zrBi|f>lfua*LEINb}VGUniDe2YV4pFN^Zw&n1%8ghk3xQ*u9439aLY2ZB~#<3L%nw z`mAgovu)jq%BOE-JixUG)C5h!)W*bwS`z|1eYUP1Y>D+WjPiUs$9dYVzb4CMn=^^X z(@|Ml%S!AkiX|va52B*Z&MZ;NBlysjCG@^v9+b5+o(1)X)bVywWi-G9KRS8Nd*>mO zfc+qw-*Wz6k(Uu6Lx{JKR60tRb|p5HwN2lG&9IIy%QUM%3s1B8kG*>CHNktQ*v@0W zc9Sx?=lSECz)O!@q6MPf3W>ovA%$`TjZoN_3JGAR7Ar^-zkZVsM6TU8y4TXLAzHxG zYXQtFN>utLx?CesBzF7kK^-+ zB=2c4y3xLy#R!dEn&5J1d*DP8pDX=qzf=CO^#Qm*Si^{$sYlb?s>8$*7^EZkJ)zI=%klg!`+5y6v`PTd+yn#{zVBHB_K%g{z~5 z`{m9TjrGiWlfRqny4}{IrffCecCa6LC?#;n+SkzhebV+OVU|qgQD3ZM!A@$6A-;`L zaVOjsRq^aL~jq9&rlmSMZ*%q_mqBqV&t z1Z8IeW~u>w$sTS1_h^Q+6=}~}Il-E!L5C5|iY7iS-dhabH<2pH^<>5S!3_WoAO2PE z@e%&BVUAhy(MprbtI1cZ5H~;d_@imz@6sL}nE$llKOEbcgtkNc7V(9EOlp8YN*S>u zk4}8G+om@cs1#~yR)0`E9$1?7a1V&?AMk#qo(dYDQa22Y?2uR^E1w_)5rCEe0#N4=+t#yQ=g!UhY&ARJcH-=AB8X_no9{N32mDSQ zddxg3M;An~QDYeaANiH;u4Fx_+0J=yDK*|`Fq1W>o}TqKy&U@A=#H}ep}Uz~VZ)JP zAY1h$Q!+A{lx#eoHPtS=oap1vcIlV@Yu9SWO!=V)R*$9^tANy4T#&nPC1tGTHIE+? zn-Ih}5mhS~_e)mEf=MYY5fwJow%Ls*hX)`g@afY%Pfrzp(b);u&Ckb6^)UCBP;yT?-=_TetCHIK zwZg1ln&+#2>)Y4Ux@&(=-)~@9gj833gAQ%q#u}J$LwjsPqn2-{mOSV@x;qHzKmEbi zewbS0ZLy&ptv`1DSO+2tALy6H<+yIB=8GJZU;*tH+R0m1ImabIhHUTPIZnpd!jayo z&6bJDG}W%8a#Dk7w1rKo)Oy4`r%!CtXL7 zYxj0X@?&eEU@sD+BZ5g47Wi+^D&05E}Mt+8H zX0NEsF9hwpmtc*jkz&_U=R#zak;CBh)A19usAhRS!-H4nq$-!MO&XmLcr5%x8?nf!b9`Sky;#~;AEv=Us)UGQaO*Q=|mYt|2xOdy)Wj!cc* z!0r2PyRU2*^J&Y`#TK7$hF=TCuo?vs%Y?3T4bl(0PbGdjf3&mfe6#H1 z^nZ@xwS%4VzM)HZ9(;AVudiBeKCHb&hgu4xmTS4toOa>Z&+>2r?IN$)q;2sWjodIX z){?2;o1mGozGrabR(;T!I-aDb@6z>C`@b4?^1#^E10e@8(U^Dd?>X4ji>GOk1%>!v z>*|GrJ|~}E-MZ(OpBNRpbwXg4xN#_r>xJXUskzu(^EswaA&N^XKS)!kR_V8W*AKOm z6m7~lrk6LP(j&_v4LcmhD@#;X)UQ*vwVjQA%!&VFIsl}d_n6yjvtwd$Pxa*H*2(uH z0ZY8n6URhJNk!CD^HuO(%qe+lg8V^TGtI9lze4PrTxnW*(t#WTTdyK0L#HP#@)%z{ zG&s@yA6)Ch^Zn6@{@-Y~1+{24-PSs>WJ!y<1n<3F3uL}n(?T07S@NOz(t16=?Fyrc zNS4Z+i#P4VHX1J-HAbF?T_y2``45uqdg)HZ>uG>7n>&lz#_dH3^RIH|8ut{}RWD2n zNJF_|p?|W=JCFQ)3B^yiqpG4Mte73=y|c~-*&T9doeSbGZOEmV8?Ku)61?z2PE_O} zb1r$#H;(zregM6xdu~ijRt+W4Dux2;b(K5TpDOrTc^Tx&xNHCG?5PX&X`(dJ zf|FR3@?Q{Zs#!YM!3DqgRP1h4Q8#8UH5b+F%7}M6tT?>7+>n^gRwU6wzCAixf8@vD z^PmI{lt|e}RxN5(0e5>Kh8IlZ$$4YtV|y_T1hZ@^e#fVG&w&J&b`-SG;|YR|H4Z6` zrn~PX-{AYb&`I&fCxbwBUJSzl&&1pRC=QHt2M=OB2}f2C!TUsPEYgUCh9i$)&cmB~ zjz<=V9|*f3-X?^0PL2Np^||x8h^oM!DBxfJF+Cl9cOB}kB^E zvkSDv@=d`1LfLTFS>8Mi=I}QIO2>w50zq^-8g=u1#pd|yhBP+%JD88zJX28Lu0wxY zWMG&7B#7X>XYBHfN!-HRj0q7$u-UQ*VIoFj(VE0cPY|PS-o*H9cMrt)AU8?>G`$Br zT7W`>jn4{+*u}z(w%rYr!i5R3#XcM&O#0Z05$w+l7rSs!a-@yuVZ(?11LXF^(Nipn zTLE_t$+)5@?Dct>N(#op)D>V7bbWq21Zrr_0uwF`NX85Gx=WH}%KDKQ+KkZ=dx0No zO4QAlvAD$IP1y;QVt`X}T{28)`V$U(#gb-q#ov0$SEYDzG7mQJThR&KAf~U9Oj2PA?abFxx{X!e&)j2P!cXs5)`!1wR`U91;!( z(8KjHf8GiZMfbR~e7m@Wo0w237nr~?v|L{w+K%}NvI5bCW6fWLpG1V8UkI_aHX3Qr zxK^p?hzwX1TQ*^FlX!qenxl?oF`9@0Ji`f$)mhBn0iEDdrxaKaC0k8WYBwRNx}a5j0oUJdA`~WWZN|#SH4yA9d3|iizmLO{yj# zApuZRf38jh8fXPO*iM7su(L<-fJWp{xaUFv|MoUS3Yp&sp-jC~=9CsHCAFdw^^i#% z)+z4K(g-IikwgpW-^2q01K>Ni?O%PSnY3=5xOn~FzRKzN;g7Cl03-YXxd2ML3FLt` zXXM^T>H92zZgk#b#%8E4n%3{7GXwJZIRLAl2_L%Sp4iigOcJB^oiTkgT`YxK5DGAs zWweULR7j4@o1W+T(z|_1jM{g`^s8=wZOu8Wd6`{TyZ92VW;-G}c|=c!pIB%S4)r%k zv(ZsAgTXi`+qID12T?u?k1yuXa$RcYbI3g>VW98VHPR`Y3QPOErVAU&fjtl`7u41T; zr2*3NfU4Q2#;kVvEzNWph8K*?o*@3UD|NNuxjr-R>IYdkNzM8A5}a}%=a+h53_W-O z{q+qmWGEZ3yM>tRbSty(Fu)A%jzfcj8v%wZJbee3)?e;qzlceLGw!0mjeKeIcyA#X z?xEr}9OgPgvf6Oag00cOAn|D)XJHJ`cNz2xM%*mRJuu{rGS~|#Z|0~*^z4bvCb zP%iyvT{jY0vQKK+yqw%dXUyXsz7^Osw<@?XG~e6XwatFGca*p1to(B?0UQWGfB<>V zTY!87polqZctl}hsMKoFWzZ>)z4JvHL_-73+^&7WtKNRPlk@-M_kXA1!=~as4+Ei# zz{Me?P!pK2#3nt>sYzW`6cDcV**PD%^f9`{5LBuha_Yjjy z3fbgSMh(?8@Et#(D~r9(%h7TAIC{=7=P74` z^Om3xo&=vrBo-2jh~>meB9|zXK&1c^LIIGLTnQXeO-*T*#NA6lLlvc~OHDyY?I9AK zBvXLCbPfx-j|8TU*v3QrMyByIYMT)YO!c(%)ZL zsP>4BZ7hWQU6yLcyyvHmznXFe=g461xlSfmh&i5FQX*)!`xo0nbj3(|@%aSSaH7GO z?+5UO+sb`Qfut%S;Mmsj25{VmFO45ZP9tk4_)kcaN8H&YjMx1>31wxj*Ej1V99)!= zvM@Q$+o{nw7&8-6NG|rrw>5$Gh<4@A!`K`aZ7&^JV-^!D4H=yB`6iRp-McUSc7TFQ zp;A_C`l%h6 zJlsByczL0|o`+{-hy%%Rn{67$nS>u7icwq6HnHa}7_pEQs#~}rqo+qCLQWg$Cv}~H z?bwD0i%+L`;Ew4B$~0vMl=Nmm87K?!GGdH~J&Fg&Pge)0R3hYXXtjzJqaT62w3AF1=XFop<;$6w zYBr(mE<#BEzi+?&rkaGVQYRxWX`;vVpR5_rdt=j4cl zWF-Y5DO6Lv3HoiT0u%|6ggWw49kkDnP-f#p2oCF!6^D z{*MXpo-LNTo6^$!3d`n#izHnYywzo6 z^EO6=xNy<8PxK6lB6F%Bs#h;C8bDeu`cWk4sx4>klio+`@8~B0qgJWgV6VEULWKlw zc^Xh_>syqxE?+C0i9f#3x}HFqRmEau>G!qWO!pLwW@p#bI77taQTEOmPi0$|WN&{X zZPfJq*{GVL)v8gD>Cv`YBpg02s6HkzA3oM?QYupes5dkkU@+{)AJt+GH0v6hx|}`s z3QgWpD2z!;Sym#0V_UJed!0CUvyzMt<+^N8Pi|phu}*G0b>hwi?WOysQ5TPIlmo3t z8*k$0K?i%5eChiUL5lEXBnga073X1-(2k&_B}*i5DwY4CJ4x~-==O=oAopJynY-Hx zQdi!*Ie5BnBCG&Z=Riw(3Iu%qpubOe5YuU$yAud|+2=^MlfiU4P zv}n%K)>etz&_9b@PD)SKo5)L`+E!H|RHb%gM=ii6)zv?6L|{Ms4svul3JTUM6S)&3 zhKst+mTbo1!`mXtBzSrwKfUuJ#(t?08Yl@h&or&-Zh@vsy!!8ch?q z-r3Tg52!U!s4On7qk4mRWP}%tlC*RlzZdcnPt3aMIO^o%{(h%GK=J5Tj;*jrSSs** zWfQ-jgq%a&I2i$M+(N079U@#NgQ~4iR1%V3UjBI*m12W&QmC8&KJ_D7PM=(Agc_Dz z-q^*uIR|zEi-mPHnVC&Zzg})R|7*K^cU|lL@v9o=f?@+7#ky|S*VLRECMkiqnr{M| zF%Amy3F7;X7dJLO!M$Wf?IfbnD~;6w(<0_9a$w~H*sfs$`Fx4{DnmopN?@SW9Z#}U z9%weD8~jRjaQlxOmAPy8zGsSc(-zWwq`l|sMQ+<&3+HflBSR#zGm4_y5V3(Jy7h&{ zxyizyu)yrq$(XUTRZQD}!}C3*qm`NVko^4GlMl(T5nNGVB$vQ!%sU!JCHS}2pYCv& zM!LG*#Kw+wb>rY9P?qB-J1%t9v_?zT2JXJm-O(d4yy zqkmzcFZ+mI->vJ-;J_WUP~Yt5TZ+GiFtuZUj7-aRydEDnTSp%mt;P|<<0-_CrNRJ$ zW@g{w7#1{NUU6XvjC2e748{qI{hf;lG=X2tGK~fwqXuW$yph-=jkVybLZW(lhCD!N zFq^?(H%qarG**ksaX zCUD#~lA`>WJ{s1wVur=d(iFnx>Sme>RE>JE6AGoCQhfbG3LQ_L{;uWn@~qa;(T0X9 zJ7+2(Go6NJV(@*hki6&nch?F1O#+g@PeHD)!>rm-R3e2czR`vTl}gPgwArHE+_}Vr zPV-C_|fule*;N%#DU=3DEC=7=5aACjoVQJ)YwIY-s zL7bFTg(xF6F)~m(&)f08R`b=-L2~fCl09^HIp(r$Yl#G^O+y1t`exp7aPh38{zKqF zSUtI5hvW?_ZH>)SncGTkTp!m`tD^-9qd7aESgXw~EJ;_Ucq^y&qK&tzbWT<>5sHmI zt;|d@<5F2r=R;%Fnub;@WbH(JurVT$#n5-zI^5S+E^UDlZ7N#574*H}{1B12Lk7n< zQl4TP142V7FM%BZjVAm?pH#*D!Zse4j`lB&azapKb5Bci7G4|_(F z^j6NLKQ|Q@6>U@qM|Ma*wMBIbq$-szZn83%6knLQp`ks`T?s0Z2z|BkEiyQ1lhIZ6Qm+Vx>x}J$}4i2%$o@ zI8m}Hi#H>HH+zv%nUOIx1X)pJB~q!Hnh**U@YJ(6N_S6gaQ*h)F~!PdLs zkFD^LsT2RBUd&f@4gbB^E&Sc$8?{JDU{m~@J;v%VnS7&uNTX>H58BvKa}#FIjuFhD+iZg-@w_ehq{-@JWD$>XNXk{3A&Yce zZ$)fRB}GL_d5=Y_;$vn8l00-z#)W3r*CPZxLR(r^URNbmln2Sis}_rkdV4kb@(f;A zj1o^I2^#<_S2+xIJo?2(m?ae!dzPE!8+i}oii42dJ5qBQrS1ccO#@e^nE zVF-CNk_{%W{{S-%H_W{36l+FGLk;o98X>8Mwmbu&@(UF&4l;u9B-7cdjnU@buJ+%q zb*o#7?X@J1@Q1e^nzBDk;;J_Zd9@6Ru6Mg(IH>Xztybc8RihD$NlHb9nqE;`i%>23 zXenm=VqDc(>dz%%xlKb~heBisV#0VLVZv-tYPv!$3&qVwBX&G8K`6gm6^>6VC& zk-A>U8W_mN8!+uBt<$u`v+xO{sd&eZjf&H+W%nQiPLOPhek#+rxFNS`xdP{Rsqwz|6O`Rl$M*r#T;wpuJz zmO`BeG@0G!-O0aPP;fUe) z4%dey@gUFpuhkuBYHDcyt=~+LF!E&M^?Jy4BPEtl1lSP41Zjo7(@37l#EF%w=8?y8 zOd$$^Z%R@lvP2@N4_l{sNU|T?^{4+15ACrnB`ZCs71>pR@6iO^E+x{LQV_{-rTCht zDLnHV@P0Vo+|ipT_jQq&o{-B4{Rm%!uRO80!(5{r*Xwb4YRo7(0qjM8cQ=>A#3*lU zV)6VLq-THsn2#t`B9C=SQbj&v{f`9Xpalw;1wpPS-R-pdiHpS}EZ0kO>`OS6YIUN( z>$x7`b1y;SY863*2*MMsWw;=O07%gHoUdNJgQ+~H>*{02H07ORBe18W1d@I_-K7rE zibmKn{hC=b6=o2XYidXHs>+Su$t2Zz(EPWz#xK?9-pZVG7=wL5N zwLcjdQG4;c*;b1|=k%_g%O!^P(2!GXvQA-$0uW+2tgr0Oag9lX4n`n)`Zi5M`hw<= zq4LyrA|R^j`}b>%>re^^H5!>s9EvEzJjI!ICqr;4b!0*1RC{J#Oe@($ITtJ)y>(^< z8ZE}aEa0Yj+&1UMQiZ7!9gaj*9=X${-oMhVBRF&_#b!-iAd5H7Vqwo$WG>5#^qOBP`%MJ^)-{q=m&r& zczhWEJX@`~WQ&^$z(2(E0Pw*B01$v*972tKuz~UByaANfyJHw; zO`qS-HbdoFV{ET+-hrgN-U&F0h-J-b1iDh5M&ePhsuoYHgUvOqfklQF=;Gz}E)al_-ysbFns1Mm)*ur(?Wu_z zO{)WaQ)vx=Vn{)ixdPM#IHhScuoUlUL8xhMU=8c(%>Pb+NiyY2#H5rW6#;{iTnhWd z#!97-8HI32d9Wgi2*g0)n&e1Kr7I$5a^*XfYx~$P1)O@ijPquk)L_H5g>q52P1_bo zmM;^p&`nnbp1l1$O8L^ciNwNDb+jz-Wq!^dRmy=w;);mKW4XE?Cayq?J1^5-tD7{0 z+fz7xxFuJa{M~Eecp!4;g|P6;Iu5rFsa=KYQSy(FC6jX-bVcS!Wi?G4N27v*eIs3F zv|c1h>yjxcIpV^2AvjC9F&=JIFy8tx|j5Xme{WaALLR)bSi(BSexJ^s$>uJB*%J@t~Lw?0rJ>nlY+IyiNzQvv^CkEfL+ zk}2|ZCaW>D*z^;|7buD`e5qWi)-3b(f1_!6>%sl2pPpY{-`;)j@hS7``{&nF>wjT8 z>QHujegBE99*)M=OpN*8%w*3O%ayh3&33mx$T^4J-h#=TT1YOt)geoh;*>Oc-Q-%$))ojZxao!yCq{((Og8G_P4=}AO zlO&+2XtA0%ov=FxO;w4f5oro*v{s&0hLkTb4@a|4TQ*og9nUglRM*_&*4iiKLp%I7 zy>MWu+B$yhfgLqx9)qL1`muCB{_bxXj!swLtc*IJOP=j4`kOiIPSWl1OkGQGePoZ| zZ7p?!yUbBfKY?8C2+IHOFHRk0u`+KJ_@;$?gKydNe-RBSsM|iu7#&fFAcC^HD;Sg; z@+hwi{%F(150Hp$&%)GN<7%;Wvbxe@JXBfGEv$G-1k$4QaaU(jADrcW%hE^yH$mhQ4wRw6RR_8Qj;2Mz1Ca0?Q8Xx?)6?D zs38l?l4L0}2ix>%U41M*E_h0b98)Tq=His0x}^U0zj!9eF+ba`aO6<<=CPsMWSBO| zST! + + + + + + + + + + + + + Home | Let's fall in love + + + + +

+ +

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

+ +

+

TL;DR

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
项目/Item内容/Details
姓名/NamePeter Alex Wain A.K.A paw
邮箱/Mailcrgrenyrkjnva#ubgznvy.pbz (ROT13)
地址/Addr木分镇,白完 Fragrance Town, Anhui Province
性别/Sex男 Boi
身高/Length150cm
体重/Weight300kg
性取向/S.O.可爱 qte thing qwq
发情时间/PornTime7d x 24h
主页/Pagehttp://b.peteralexwain.me/
+

¿What’s more?

+

这里(暂时)由木分镇的PeterAlexWain A.K.A paw维护。
+这里(暂时或者很长一段时间)可能会充满低创与牢骚一类的没有任何营养价值的东西。
+paw很希望与你交换友链,(如果你不嫌弃的话,)请偷偷联系他交换友链。
+paw喜欢猫科动物,喜欢Unix,喜欢计算器,喜欢Ruby,喜欢沿着没有阳光的角落阴暗爬行,喜欢一切可爱的东西(,当然还有你)。
+paw喜欢很多东西但是又无能为力,他的技术水平令人汗颜。
+为什么说这里是互联网的尽头呢?因为这里既不有趣也没有知识,访问这里可能会让你痛苦(,就像paw活在现实世界一样)。
+可以逗一逗活在这个页面左上角的黑猫玩,黑猫特别可爱(,就像是你)。
+(如果没有特别说明,)这里的所有文章都属于CC BY-NC-ND 4.0授权。
+如果你做了一些让他难过的事,paw就只能躲在他(桥洞底下)的家里,抱着捡来的(不是浅色的)被单哭泣。
+By the way,paw iz bad at inglish,just lik hiz chinglish.

+
+

Something sucks

+ + + +
+
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..1aaae22 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,19 @@ + + + + Home on Let's fall in love + http://localhost:1313/ + Recent content in Home on Let's fall in love + Hugo + en-us + Mon, 28 Apr 2025 00:44:05 +0800 + + + Helloworld + http://localhost:1313/post/2025/04/28/helloworld/ + Mon, 28 Apr 2025 00:44:05 +0800 + http://localhost:1313/post/2025/04/28/helloworld/ + <h1 id="an-h1-header">An h1 header</h1> <p>Paragraphs are separated by a blank line.</p> <p>2nd paragraph. <em>Italic</em>, <strong>bold</strong>, and <code>monospace</code>. Itemized lists look like:</p> <ul> <li>this one</li> <li>that one</li> <li>the other one</li> </ul> <p>Note that &mdash; not considering the asterisk &mdash; the actual text content starts at 4-columns in.</p> <blockquote> <p>Block quotes are written like so.</p> <p>They can span multiple paragraphs, if you like.</p></blockquote> <p>Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &ldquo;it&rsquo;s all in chapters 12&ndash;14&rdquo;). Three dots &hellip; will be converted to an ellipsis. Unicode is supported. ☺</p> + + + diff --git a/public/js/webneko.js b/public/js/webneko.js new file mode 100644 index 0000000..60156d9 --- /dev/null +++ b/public/js/webneko.js @@ -0,0 +1,14 @@ +// NEKO FOR JAVASCRIPT +// THIS SCRIPT CODE IS (C) 2004 GREGORY BELL, ALL RIGHTS RESERVED. +// ANYONE IS GRANTED THE RIGHT TO EXECUTE THIS PROGRAM BY LINKING TO IT +// IN THEIR WEB PAGE. +// +// THIS RIGHT DOES NOT EXTEND TO TAKING THE CODE AND HOSTING IT ON A DIFFERENT +// SERVER. +// +// I WORKED HARD TO MAKE THIS AND WOULD LIKE TO KEEP IT, SO PLEASE HAVE FUN +// BUT DON'T STEAL IT! +// +// THANK YOU + +function gE(e,i){if(l){var o=(i=i||self).document.layers;if(o[e])return o[e];for(var s=0;s ',Y=d.createElement("DIV"),Y?(Y.innerHTML=X,d.body.appendChild(Y)):void 0!==d.body.insertAdjacentHTML&&d.body.insertAdjacentHTML("BeforeEnd",X))}function byName(e,t){for(var i=0;i";this.layer=createLayer(strLayer,x,y,32,32,strContent),this.layer.Neko=this,this.homeX=this.layer.myx,this.homeY=this.layer.myy,this.doc=this.layer.document,this.doc||(this.doc=document),this.image=byName(this.doc.images,strImage),this.image.Neko=this,window.delay&&window.delay>0?this.delay=window.delay+Math.floor(nDelayVariance*Math.random()-5):this.delay=250+Math.floor(nDelayVariance*Math.random()-5),this.delayMultiplier=1,window.stepsize&&window.stepsize>0?this.stepsize=window.stepsize:this.stepsize=16,active||(active=!1),this.active=active,this.SetBehavior("resting"),this.frame=nFirstRealFrame,this.direction="",this.looseDirection="",this.endx=0,this.endy,this.distx,this.disty,this.steps,this.caught=!0,this.dx,this.dy,this.boardX=-1,this.boardY=-1,this.eccX=Math.floor(checkerboardEccentricity*Math.random()-checkerboardEccentricity/2),this.eccY=Math.floor(checkerboardEccentricity*Math.random()-checkerboardEccentricity/2),this.Think()}function NekoMessage(){var e=this.caught?sNekoMessageCaught:sNekoMessage;window.status=e}function NekoTargetMouse(){var e=mouse.x+4,t=mouse.y-20;this.endx=e,this.endy=t,box.setBoard(this.whichNeko,this.endx,this.endy)}function NekoShow(){sE(this.layer)}function NekoHide(){hE(this.layer)}function NekoTargetHome(){this.endx=this.homeX,this.endy=this.homeY}function NekoCalculateDistance(){this.distx=this.endx-this.layer.myx,this.disty=this.endy-this.layer.myy,this.steps=Math.sqrt(Math.pow(this.distx,2)+Math.pow(this.disty,2))/this.stepsize,this.steps>=1?(this.caught&&eval(this.onUnCaught),this.caught=!1):(this.caught||eval(this.onCaught),this.caught=!0),this.dx=this.distx/this.steps,this.dy=this.disty/this.steps}function NekoSetBehavior(strNewBehavior){this.behavior=strNewBehavior,this.frame=nFirstRealFrame;var paImages=eval("aNekos["+this.whichNeko+"].a_"+this.behavior);this.onCaught=paImages[0],this.onUnCaught=paImages[1],this.onLoopEnd=paImages[2],this.loopTimes=paImages[3],this.delayMultiplier=paImages[4]}function NekoUpdateImage(){var paImages=eval("aNekos["+this.whichNeko+"].a_"+this.behavior);if(this.frame>=paImages.length)if(this.behaviorRepetition++,0!=this.loopTimes&&this.behaviorRepetition>=this.loopTimes){this.behaviorRepetition=0,eval(this.onLoopEnd);var paImages=eval("aNekos["+this.whichNeko+"].a_"+this.behavior)}else this.frame=nFirstRealFrame;if(this.aGifs[this.direction+paImages[this.frame]]){var strImage=this.aGifs[this.direction+paImages[this.frame]].src;this.image.src=strImage}else if(this.aGifs[paImages[this.frame]]){var strImage=this.aGifs[paImages[this.frame]].src;this.image.src=strImage}else if(this.looseDirection+this.aGifs[paImages[this.frame]]){var strImage=this.aGifs[this.looseDirection+paImages[this.frame]].src;this.image.src=strImage}else this.image.src=this.aGifs.alert.src;this.frame++}function NekoMoveAStep(){this.steps>=1?(this.layer.myx+=this.dx,this.layer.myy+=this.dy):(this.layer.myx=this.endx,this.layer.myy=this.endy),box.checkBoard(this.whichNeko,this.layer.myx,this.layer.myy)&&(this.layer.myx+=this.eccX,this.layer.myy+=this.eccY),sX(this.layer,this.layer.myx),sY(this.layer,this.layer.myy),box.setBoard(this.whichNeko,this.layer.myx,this.layer.myy)}function NekoFindDirection(){if(0!=t||0!=e){var e=-1*this.dy,t=this.dx,i=Math.abs(t),o="",s="",a=Math.abs(e)/i,r=a<.41421,h=a>2.4142;e>0?r||(o="n"):r||(o="s"),t>0?h||(s="e"):h||(s="w"),this.looseDirection=""!=s?s:o,this.direction=o+s}else this.direction=""}function NekoThink(){this.active?this.TargetMouse():this.TargetHome(),this.CalculateDistance(),this.FindDirection(),this.UpdateImage(),"chasing"==this.behavior&&this.MoveAStep();var e=Math.floor(this.delay*this.delayMultiplier);setTimeout("aNekos["+this.whichNeko+"].Think()",e)}function nekoChooseIdle(){var e=new Array("resting","yawning","itching","scratching"),t=Math.floor(Math.random()*e.length);this.SetBehavior(e[t])}function startANeko(){var e=0,t=0;window.startNekoX&&(e=window.startNekoX),window.startNekoY&&(t=window.startNekoY),parseInt(e)!=e&&(window.onresize=function(){for(var e=0;et&&(e=t),e}function boxBoundHeight(e){0==e||e||(e=this.height());var t=this.height()-12;return e<20&&(e=20),e>t&&(e=t),e}function boxSetBoard(e,t,i){var o=Math.floor(t/this.width()*checkerboardScale),s=Math.floor(i/this.height()*checkerboardScale);o<0&&(o=0),o>=checkerboardScale&&(o=checkerboardScale-1),s<0&&(s=0),s>=checkerboardScale&&(s=checkerboardScale-1);var a=aNekos[e];return a.boardX==o&&a.boardY==s||(-1!=a.boardX&&checkerboard[a.boardX][a.boardY]--,checkerboard[o][s]++,a.boardX=o,a.boardY=s),0==checkerboard[o][s]?0:checkerboard[o][s]-1}function boxCheckBoard(e,t,i){var o=Math.floor(t/this.width()*checkerboardScale),s=Math.floor(i/this.height()*checkerboardScale);o<0&&(o=0),o>=checkerboardScale&&(o=checkerboardScale-1),s<0&&(s=0),s>=checkerboardScale&&(s=checkerboardScale-1);var a=aNekos[e],r=0;return a.boardX==o&&a.boardY==s&&(r=1),checkerboard[o][s]-r}d=document,l=d.layers,op=-1!=navigator.userAgent.indexOf("Opera"),px="px",document.write('');var checkerboardEccentricity=10,checkerboardScale=20,nDelayVariance=20,nFirstRealFrame=5,sNekoMessage="Click Neko and he'll chase your mouse! Double-click to visit Neko's home (https://webneko.net)",sNekoMessageCaught=sNekoMessage,aNekos=new Array;Neko.prototype.message=NekoMessage,Neko.prototype.TargetMouse=NekoTargetMouse,Neko.prototype.Show=NekoShow,Neko.prototype.Hide=NekoHide,Neko.prototype.TargetHome=NekoTargetHome,Neko.prototype.CalculateDistance=NekoCalculateDistance,Neko.prototype.SetBehavior=NekoSetBehavior,Neko.prototype.UpdateImage=NekoUpdateImage,Neko.prototype.MoveAStep=NekoMoveAStep,Neko.prototype.FindDirection=NekoFindDirection,Neko.prototype.Think=NekoThink,Neko.prototype.chooseIdle=nekoChooseIdle,window.onloadOriginal=new Function,window.onload&&(window.onloadOriginal=window.onload),window.NekoNoDefault||(window.onload=startANeko),mouse=new mouse,box.prototype.boundWidth=boxBoundWidth,box.prototype.boundHeight=boxBoundHeight,box.prototype.setBoard=boxSetBoard,box.prototype.checkBoard=boxCheckBoard,box=new box,document.onmousemove=function(e){var t=e?e.pageX:event.x+document.body.scrollLeft,i=e?e.pageY:event.y+document.body.scrollTop;mouse.x=box.boundWidth(t),mouse.y=box.boundHeight(i)},document.captureEvents&&document.captureEvents(Event.MOUSEMOVE);for(var checkerboard=new Array(checkerboardScale),i=0;i``W$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&di41yh=E{-7;jBjr_3LbJ0V7*Qh3$FKqKlBI3Zq9jK#{)Egp<@>>h~f|i+Rnh>F-naF!DuQN%?LCt z3lbPonZ!WFP39;yM1$aa;imV$Eg2a8oqYUNGTrKN+@{Pv-{PEE$(LnjKf7Uae3@nV zjVH|9z&LI&VH~AKgJ3ijjAn$PQx + + + //localhost:1313/ + + + + + + diff --git a/public/post/2018/08/30/markdown-guide-modified/index.html b/public/post/2018/08/30/markdown-guide-modified/index.html new file mode 100644 index 0000000..34f80a1 --- /dev/null +++ b/public/post/2018/08/30/markdown-guide-modified/index.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + Markdown Guide (modified) | Let's fall in love + + + + +

Neko

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

An h1 header

+

Paragraphs are separated by a blank line.

+

2nd paragraph. Italic, bold, and monospace. Itemized lists +look like:

+
    +
  • this one
  • +
  • that one
  • +
  • the other one
  • +
+

Note that — not considering the asterisk — the actual text +content starts at 4-columns in.

+
+

Block quotes are +written like so.

+

They can span multiple paragraphs, +if you like.

+

Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., “it’s all +in chapters 12–14”). Three dots … will be converted to an ellipsis. +Unicode is supported. ☺

+

An h2 header

+

Here’s a numbered list:

+
    +
  1. first item
  2. +
  3. second item
  4. +
  5. third item
  6. +
+

Note again how the actual text starts at 4 columns in (4 characters +from the left side). Here’s a code sample:

+
# Let me re-iterate ...
+for i in 1 .. 10 { do-something(i) }
+
+

As you probably guessed, indented 4 spaces. By the way, instead of +indenting the block, you can use delimited blocks, if you like:

+
define foobar() {
+    print "Welcome to flavor country!";
+}
+

(which makes copying & pasting easier). You can optionally mark the +delimited block for Pandoc to syntax highlight it:

+
import time
+# Quick, count to ten!
+for i in range(10):
+    # (but not *too* quick)
+    time.sleep(0.5)
+    print i
+

An h3 header

+

Now a nested list:

+
    +
  1. +

    First, get these ingredients:

    +
      +
    • carrots
    • +
    • celery
    • +
    • lentils
    • +
    +
  2. +
  3. +

    Boil some water.

    +
  4. +
  5. +

    Dump everything in the pot and follow +this algorithm:

    +
    find wooden spoon
    +uncover pot
    +stir
    +cover pot
    +balance wooden spoon precariously on pot handle
    +wait 10 minutes
    +goto first step (or shut off burner when done)
    +
    +

    Do not bump wooden spoon or it will fall.

    +
  6. +
+

Notice again how text always lines up on 4-space indents (including +that last line which continues item 3 above).

+

Here’s a link to a website, to a local +doc, and to a section heading in the current +doc. Here’s a footnote 1.

+

Tables can look like this:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
sizematerialcolor
9leatherbrown
10hemp canvasnatural
11glasstransparent
+

Table: Shoes, their sizes, and what they’re made of

+

(The above is the caption for the table.)

+

A horizontal rule follows.

+
+

Here’s a definition list:

+
+
apples
+
Good for making applesauce.
+
oranges
+
Citrus!
+
tomatoes
+
There’s no “e” in tomatoe.
+
+

(Put a blank line between each term/definition pair to spread +things out more.)

+

and images can be specified like so:

+

example image

+

Inline math equations go in like so: \(\omega = d\phi / dt\). +Display math should get its own line and be put in in +double-dollarsigns:

+

$$I = \int \rho R^{2} dV$$

+

And note that you can backslash-escape any punctuation characters +which you wish to be displayed literally, ex.: `foo`, *bar*, etc.

+

Images auto center:

+

Party

+
+
+
    +
  1. +

    Footnote text goes here. ↩︎

    +
  2. +
+
+ + >> Home +
+
+
+ + + + + +
+ © 2025 PAW CC BY-NC-ND 4.0 | Github | Keybase + +
+ + + diff --git a/public/post/2025/04/28/helloworld/index.html b/public/post/2025/04/28/helloworld/index.html new file mode 100644 index 0000000..8894290 --- /dev/null +++ b/public/post/2025/04/28/helloworld/index.html @@ -0,0 +1,267 @@ + + + + + + + + + + + + + Helloworld | Let's fall in love + + + + +

+ +

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

An h1 header

+

Paragraphs are separated by a blank line.

+

2nd paragraph. Italic, bold, and monospace. Itemized lists +look like:

+
    +
  • this one
  • +
  • that one
  • +
  • the other one
  • +
+

Note that — not considering the asterisk — the actual text +content starts at 4-columns in.

+
+

Block quotes are +written like so.

+

They can span multiple paragraphs, +if you like.

+

Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., “it’s all +in chapters 12–14”). Three dots … will be converted to an ellipsis. +Unicode is supported. ☺

+

An h2 header

+

Here’s a numbered list:

+
    +
  1. first item
  2. +
  3. second item
  4. +
  5. third item
  6. +
+

Note again how the actual text starts at 4 columns in (4 characters +from the left side). Here’s a code sample:

+
# Let me re-iterate ...
+for i in 1 .. 10 { do-something(i) }
+
+

As you probably guessed, indented 4 spaces. By the way, instead of +indenting the block, you can use delimited blocks, if you like:

+
define foobar() {
+    print "Welcome to flavor country!";
+}
+

(which makes copying & pasting easier). You can optionally mark the +delimited block for Pandoc to syntax highlight it:

+
import time
+# Quick, count to ten!
+for i in range(10):
+    # (but not *too* quick)
+    time.sleep(0.5)
+    print i
+

An h3 header

+

Now a nested list:

+
    +
  1. +

    First, get these ingredients:

    +
      +
    • carrots
    • +
    • celery
    • +
    • lentils
    • +
    +
  2. +
  3. +

    Boil some water.

    +
  4. +
  5. +

    Dump everything in the pot and follow +this algorithm:

    +
    find wooden spoon
    +uncover pot
    +stir
    +cover pot
    +balance wooden spoon precariously on pot handle
    +wait 10 minutes
    +goto first step (or shut off burner when done)
    +
    +

    Do not bump wooden spoon or it will fall.

    +
  6. +
+

Notice again how text always lines up on 4-space indents (including +that last line which continues item 3 above).

+

Here’s a link to a website, to a local +doc, and to a section heading in the current +doc. Here’s a footnote 1.

+

Tables can look like this:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
sizematerialcolor
9leatherbrown
10hemp canvasnatural
11glasstransparent
+

Table: Shoes, their sizes, and what they’re made of

+

(The above is the caption for the table.)

+

A horizontal rule follows.

+
+

Here’s a definition list:

+
+
apples
+
Good for making applesauce.
+
oranges
+
Citrus!
+
tomatoes
+
There’s no “e” in tomatoe.
+
+

(Put a blank line between each term/definition pair to spread +things out more.)

+

and images can be specified like so:

+

example image

+

Inline math equations go in like so: \(\omega = d\phi / dt\). +Display math should get its own line and be put in in +double-dollarsigns:

+

$$I = \int \rho R^{2} dV$$

+

And note that you can backslash-escape any punctuation characters +which you wish to be displayed literally, ex.: `foo`, *bar*, etc.

+

Images auto center:

+

Party

+
+
+
    +
  1. +

    Footnote text goes here. ↩︎

    +
  2. +
+
+ + >> Home +
+
+
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/post/index.html b/public/post/index.html new file mode 100644 index 0000000..23192fc --- /dev/null +++ b/public/post/index.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + Posts | Let's fall in love + + + + +

+ +

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

Posts

+ + + + + +
+
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/post/index.xml b/public/post/index.xml new file mode 100644 index 0000000..1ed9744 --- /dev/null +++ b/public/post/index.xml @@ -0,0 +1,19 @@ + + + + Posts on Let's fall in love + http://localhost:1313/post/ + Recent content in Posts on Let's fall in love + Hugo + en-us + Mon, 28 Apr 2025 00:44:05 +0800 + + + Helloworld + http://localhost:1313/post/2025/04/28/helloworld/ + Mon, 28 Apr 2025 00:44:05 +0800 + http://localhost:1313/post/2025/04/28/helloworld/ + <h1 id="an-h1-header">An h1 header</h1> <p>Paragraphs are separated by a blank line.</p> <p>2nd paragraph. <em>Italic</em>, <strong>bold</strong>, and <code>monospace</code>. Itemized lists look like:</p> <ul> <li>this one</li> <li>that one</li> <li>the other one</li> </ul> <p>Note that &mdash; not considering the asterisk &mdash; the actual text content starts at 4-columns in.</p> <blockquote> <p>Block quotes are written like so.</p> <p>They can span multiple paragraphs, if you like.</p></blockquote> <p>Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &ldquo;it&rsquo;s all in chapters 12&ndash;14&rdquo;). Three dots &hellip; will be converted to an ellipsis. Unicode is supported. ☺</p> + + + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..ddca096 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,26 @@ + + + + http://localhost:1313/categories/ + 2025-04-28T00:44:05+08:00 + + http://localhost:1313/categories/example/ + 2025-04-28T00:44:05+08:00 + + http://localhost:1313/post/2025/04/28/helloworld/ + 2025-04-28T00:44:05+08:00 + + http://localhost:1313/ + 2025-04-28T00:44:05+08:00 + + http://localhost:1313/tags/markdown/ + 2025-04-28T00:44:05+08:00 + + http://localhost:1313/post/ + 2025-04-28T00:44:05+08:00 + + http://localhost:1313/tags/ + 2025-04-28T00:44:05+08:00 + + diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..fcc0c58 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,116 @@ + + + + + + + + + + + + + Tags | Let's fall in love + + + + +

+ +

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

Tags

+ + + +
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..523aad1 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,19 @@ + + + + Tags on Let's fall in love + http://localhost:1313/tags/ + Recent content in Tags on Let's fall in love + Hugo + en-us + Mon, 28 Apr 2025 00:44:05 +0800 + + + Markdown + http://localhost:1313/tags/markdown/ + Mon, 28 Apr 2025 00:44:05 +0800 + http://localhost:1313/tags/markdown/ + + + + diff --git a/public/tags/markdown/index.html b/public/tags/markdown/index.html new file mode 100644 index 0000000..e278885 --- /dev/null +++ b/public/tags/markdown/index.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + Markdown | Let's fall in love + + + + +

+ +

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

Markdown

+ + + + + +
+
+ + + + + +
+ © 2025 PeterAlexWain | Github | Keybase + +
+ + + diff --git a/public/tags/markdown/index.xml b/public/tags/markdown/index.xml new file mode 100644 index 0000000..cb7e6c3 --- /dev/null +++ b/public/tags/markdown/index.xml @@ -0,0 +1,19 @@ + + + + Markdown on Let's fall in love + http://localhost:1313/tags/markdown/ + Recent content in Markdown on Let's fall in love + Hugo + en-us + Mon, 28 Apr 2025 00:44:05 +0800 + + + Helloworld + http://localhost:1313/post/2025/04/28/helloworld/ + Mon, 28 Apr 2025 00:44:05 +0800 + http://localhost:1313/post/2025/04/28/helloworld/ + <h1 id="an-h1-header">An h1 header</h1> <p>Paragraphs are separated by a blank line.</p> <p>2nd paragraph. <em>Italic</em>, <strong>bold</strong>, and <code>monospace</code>. Itemized lists look like:</p> <ul> <li>this one</li> <li>that one</li> <li>the other one</li> </ul> <p>Note that &mdash; not considering the asterisk &mdash; the actual text content starts at 4-columns in.</p> <blockquote> <p>Block quotes are written like so.</p> <p>They can span multiple paragraphs, if you like.</p></blockquote> <p>Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &ldquo;it&rsquo;s all in chapters 12&ndash;14&rdquo;). Three dots &hellip; will be converted to an ellipsis. Unicode is supported. ☺</p> + + + diff --git a/static/css/theme-override.css b/static/css/theme-override.css new file mode 100644 index 0000000..1e8f759 --- /dev/null +++ b/static/css/theme-override.css @@ -0,0 +1 @@ +footer { font-size: 90%; } diff --git a/static/js/webneko.js b/static/js/webneko.js new file mode 100644 index 0000000..60156d9 --- /dev/null +++ b/static/js/webneko.js @@ -0,0 +1,14 @@ +// NEKO FOR JAVASCRIPT +// THIS SCRIPT CODE IS (C) 2004 GREGORY BELL, ALL RIGHTS RESERVED. +// ANYONE IS GRANTED THE RIGHT TO EXECUTE THIS PROGRAM BY LINKING TO IT +// IN THEIR WEB PAGE. +// +// THIS RIGHT DOES NOT EXTEND TO TAKING THE CODE AND HOSTING IT ON A DIFFERENT +// SERVER. +// +// I WORKED HARD TO MAKE THIS AND WOULD LIKE TO KEEP IT, SO PLEASE HAVE FUN +// BUT DON'T STEAL IT! +// +// THANK YOU + +function gE(e,i){if(l){var o=(i=i||self).document.layers;if(o[e])return o[e];for(var s=0;s ',Y=d.createElement("DIV"),Y?(Y.innerHTML=X,d.body.appendChild(Y)):void 0!==d.body.insertAdjacentHTML&&d.body.insertAdjacentHTML("BeforeEnd",X))}function byName(e,t){for(var i=0;i";this.layer=createLayer(strLayer,x,y,32,32,strContent),this.layer.Neko=this,this.homeX=this.layer.myx,this.homeY=this.layer.myy,this.doc=this.layer.document,this.doc||(this.doc=document),this.image=byName(this.doc.images,strImage),this.image.Neko=this,window.delay&&window.delay>0?this.delay=window.delay+Math.floor(nDelayVariance*Math.random()-5):this.delay=250+Math.floor(nDelayVariance*Math.random()-5),this.delayMultiplier=1,window.stepsize&&window.stepsize>0?this.stepsize=window.stepsize:this.stepsize=16,active||(active=!1),this.active=active,this.SetBehavior("resting"),this.frame=nFirstRealFrame,this.direction="",this.looseDirection="",this.endx=0,this.endy,this.distx,this.disty,this.steps,this.caught=!0,this.dx,this.dy,this.boardX=-1,this.boardY=-1,this.eccX=Math.floor(checkerboardEccentricity*Math.random()-checkerboardEccentricity/2),this.eccY=Math.floor(checkerboardEccentricity*Math.random()-checkerboardEccentricity/2),this.Think()}function NekoMessage(){var e=this.caught?sNekoMessageCaught:sNekoMessage;window.status=e}function NekoTargetMouse(){var e=mouse.x+4,t=mouse.y-20;this.endx=e,this.endy=t,box.setBoard(this.whichNeko,this.endx,this.endy)}function NekoShow(){sE(this.layer)}function NekoHide(){hE(this.layer)}function NekoTargetHome(){this.endx=this.homeX,this.endy=this.homeY}function NekoCalculateDistance(){this.distx=this.endx-this.layer.myx,this.disty=this.endy-this.layer.myy,this.steps=Math.sqrt(Math.pow(this.distx,2)+Math.pow(this.disty,2))/this.stepsize,this.steps>=1?(this.caught&&eval(this.onUnCaught),this.caught=!1):(this.caught||eval(this.onCaught),this.caught=!0),this.dx=this.distx/this.steps,this.dy=this.disty/this.steps}function NekoSetBehavior(strNewBehavior){this.behavior=strNewBehavior,this.frame=nFirstRealFrame;var paImages=eval("aNekos["+this.whichNeko+"].a_"+this.behavior);this.onCaught=paImages[0],this.onUnCaught=paImages[1],this.onLoopEnd=paImages[2],this.loopTimes=paImages[3],this.delayMultiplier=paImages[4]}function NekoUpdateImage(){var paImages=eval("aNekos["+this.whichNeko+"].a_"+this.behavior);if(this.frame>=paImages.length)if(this.behaviorRepetition++,0!=this.loopTimes&&this.behaviorRepetition>=this.loopTimes){this.behaviorRepetition=0,eval(this.onLoopEnd);var paImages=eval("aNekos["+this.whichNeko+"].a_"+this.behavior)}else this.frame=nFirstRealFrame;if(this.aGifs[this.direction+paImages[this.frame]]){var strImage=this.aGifs[this.direction+paImages[this.frame]].src;this.image.src=strImage}else if(this.aGifs[paImages[this.frame]]){var strImage=this.aGifs[paImages[this.frame]].src;this.image.src=strImage}else if(this.looseDirection+this.aGifs[paImages[this.frame]]){var strImage=this.aGifs[this.looseDirection+paImages[this.frame]].src;this.image.src=strImage}else this.image.src=this.aGifs.alert.src;this.frame++}function NekoMoveAStep(){this.steps>=1?(this.layer.myx+=this.dx,this.layer.myy+=this.dy):(this.layer.myx=this.endx,this.layer.myy=this.endy),box.checkBoard(this.whichNeko,this.layer.myx,this.layer.myy)&&(this.layer.myx+=this.eccX,this.layer.myy+=this.eccY),sX(this.layer,this.layer.myx),sY(this.layer,this.layer.myy),box.setBoard(this.whichNeko,this.layer.myx,this.layer.myy)}function NekoFindDirection(){if(0!=t||0!=e){var e=-1*this.dy,t=this.dx,i=Math.abs(t),o="",s="",a=Math.abs(e)/i,r=a<.41421,h=a>2.4142;e>0?r||(o="n"):r||(o="s"),t>0?h||(s="e"):h||(s="w"),this.looseDirection=""!=s?s:o,this.direction=o+s}else this.direction=""}function NekoThink(){this.active?this.TargetMouse():this.TargetHome(),this.CalculateDistance(),this.FindDirection(),this.UpdateImage(),"chasing"==this.behavior&&this.MoveAStep();var e=Math.floor(this.delay*this.delayMultiplier);setTimeout("aNekos["+this.whichNeko+"].Think()",e)}function nekoChooseIdle(){var e=new Array("resting","yawning","itching","scratching"),t=Math.floor(Math.random()*e.length);this.SetBehavior(e[t])}function startANeko(){var e=0,t=0;window.startNekoX&&(e=window.startNekoX),window.startNekoY&&(t=window.startNekoY),parseInt(e)!=e&&(window.onresize=function(){for(var e=0;et&&(e=t),e}function boxBoundHeight(e){0==e||e||(e=this.height());var t=this.height()-12;return e<20&&(e=20),e>t&&(e=t),e}function boxSetBoard(e,t,i){var o=Math.floor(t/this.width()*checkerboardScale),s=Math.floor(i/this.height()*checkerboardScale);o<0&&(o=0),o>=checkerboardScale&&(o=checkerboardScale-1),s<0&&(s=0),s>=checkerboardScale&&(s=checkerboardScale-1);var a=aNekos[e];return a.boardX==o&&a.boardY==s||(-1!=a.boardX&&checkerboard[a.boardX][a.boardY]--,checkerboard[o][s]++,a.boardX=o,a.boardY=s),0==checkerboard[o][s]?0:checkerboard[o][s]-1}function boxCheckBoard(e,t,i){var o=Math.floor(t/this.width()*checkerboardScale),s=Math.floor(i/this.height()*checkerboardScale);o<0&&(o=0),o>=checkerboardScale&&(o=checkerboardScale-1),s<0&&(s=0),s>=checkerboardScale&&(s=checkerboardScale-1);var a=aNekos[e],r=0;return a.boardX==o&&a.boardY==s&&(r=1),checkerboard[o][s]-r}d=document,l=d.layers,op=-1!=navigator.userAgent.indexOf("Opera"),px="px",document.write('');var checkerboardEccentricity=10,checkerboardScale=20,nDelayVariance=20,nFirstRealFrame=5,sNekoMessage="Click Neko and he'll chase your mouse! Double-click to visit Neko's home (https://webneko.net)",sNekoMessageCaught=sNekoMessage,aNekos=new Array;Neko.prototype.message=NekoMessage,Neko.prototype.TargetMouse=NekoTargetMouse,Neko.prototype.Show=NekoShow,Neko.prototype.Hide=NekoHide,Neko.prototype.TargetHome=NekoTargetHome,Neko.prototype.CalculateDistance=NekoCalculateDistance,Neko.prototype.SetBehavior=NekoSetBehavior,Neko.prototype.UpdateImage=NekoUpdateImage,Neko.prototype.MoveAStep=NekoMoveAStep,Neko.prototype.FindDirection=NekoFindDirection,Neko.prototype.Think=NekoThink,Neko.prototype.chooseIdle=nekoChooseIdle,window.onloadOriginal=new Function,window.onload&&(window.onloadOriginal=window.onload),window.NekoNoDefault||(window.onload=startANeko),mouse=new mouse,box.prototype.boundWidth=boxBoundWidth,box.prototype.boundHeight=boxBoundHeight,box.prototype.setBoard=boxSetBoard,box.prototype.checkBoard=boxCheckBoard,box=new box,document.onmousemove=function(e){var t=e?e.pageX:event.x+document.body.scrollLeft,i=e?e.pageY:event.y+document.body.scrollTop;mouse.x=box.boundWidth(t),mouse.y=box.boundHeight(i)},document.captureEvents&&document.captureEvents(Event.MOUSEMOVE);for(var checkerboard=new Array(checkerboardScale),i=0;i
+ +