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 0000000..0ac2c27 Binary files /dev/null and b/public/apple-touch-icon.png differ 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

+ + + + + +
+ + + + 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

+ + + + + + + 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 0000000..0ac2c27 Binary files /dev/null and b/public/favicon.png differ diff --git a/public/fonts/FiraCode-Latin.woff2 b/public/fonts/FiraCode-Latin.woff2 new file mode 100644 index 0000000..d2925e0 Binary files /dev/null and b/public/fonts/FiraCode-Latin.woff2 differ diff --git a/public/fonts/FiraCode-LatinExt.woff2 b/public/fonts/FiraCode-LatinExt.woff2 new file mode 100644 index 0000000..ce25b67 Binary files /dev/null and b/public/fonts/FiraCode-LatinExt.woff2 differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..62e238b --- /dev/null +++ b/public/index.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + 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

+ + + +
+ + + + 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 + + + //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