├── images ├── tn.png ├── showcase.png └── screenshot.png ├── screenshot.png ├── static ├── images │ └── favicon.ico ├── libs │ ├── remixicon │ │ ├── remixicon.eot │ │ ├── remixicon.ttf │ │ ├── remixicon.woff │ │ └── remixicon.woff2 │ ├── highlight.js │ │ ├── styles │ │ │ ├── pojoaque.jpg │ │ │ ├── brown-papersq.png │ │ │ ├── ascetic.min.css │ │ │ ├── codepen-embed.min.css │ │ │ ├── androidstudio.min.css │ │ │ ├── dark.min.css │ │ │ ├── color-brewer.min.css │ │ │ ├── mono-blue.min.css │ │ │ ├── vs.min.css │ │ │ ├── magula.min.css │ │ │ ├── paraiso-dark.min.css │ │ │ ├── paraiso-light.min.css │ │ │ ├── kimbie-dark.min.css │ │ │ ├── brown-paper.min.css │ │ │ ├── kimbie-light.min.css │ │ │ ├── tomorrow-night-blue.min.css │ │ │ ├── far.min.css │ │ │ ├── tomorrow-night-bright.min.css │ │ │ ├── arta.min.css │ │ │ ├── school-book.min.css │ │ │ ├── ir-black.min.css │ │ │ ├── lioshi.min.css │ │ │ ├── purebasic.min.css │ │ │ ├── xt256.min.css │ │ │ ├── foundation.min.css │ │ │ ├── gml.min.css │ │ │ ├── monokai.min.css │ │ │ ├── srcery.min.css │ │ │ ├── pojoaque.min.css │ │ │ ├── qtcreator-light.min.css │ │ │ ├── qtcreator-dark.min.css │ │ │ ├── rainbow.min.css │ │ │ ├── docco.min.css │ │ │ ├── lightfair.min.css │ │ │ ├── monokai-sublime.min.css │ │ │ ├── googlecode.min.css │ │ │ ├── arduino-light.min.css │ │ │ ├── atom-one-dark.min.css │ │ │ ├── atom-one-light.min.css │ │ │ ├── routeros.min.css │ │ │ ├── shades-of-purple.min.css │ │ │ ├── obsidian.min.css │ │ │ ├── hybrid.min.css │ │ │ ├── idea.min.css │ │ │ ├── xcode.min.css │ │ │ ├── sunburst.min.css │ │ │ ├── isbl-editor-light.min.css │ │ │ ├── isbl-editor-dark.min.css │ │ │ ├── an-old-hope.min.css │ │ │ ├── intellij-light.min.css │ │ │ ├── vs2015.min.css │ │ │ ├── gradient-dark.min.css │ │ │ ├── devibeans.min.css │ │ │ ├── gradient-light.min.css │ │ │ ├── a11y-light.min.css │ │ │ ├── default.min.css │ │ │ ├── a11y-dark.min.css │ │ │ ├── felipec.min.css │ │ │ ├── atom-one-dark-reasonable.min.css │ │ │ ├── tokyo-night-dark.min.css │ │ │ ├── tokyo-night-light.min.css │ │ │ ├── github-dark-dimmed.min.css │ │ │ ├── stackoverflow-dark.min.css │ │ │ ├── github.min.css │ │ │ ├── stackoverflow-light.min.css │ │ │ ├── github-dark.min.css │ │ │ ├── night-owl.min.css │ │ │ ├── agate.min.css │ │ │ ├── nnfx-dark.min.css │ │ │ ├── nnfx-light.min.css │ │ │ └── grayscale.min.css │ │ ├── languages │ │ │ ├── plaintext.min.js │ │ │ ├── vbscript-html.min.js │ │ │ ├── clojure-repl.min.js │ │ │ ├── erb.min.js │ │ │ ├── julia-repl.min.js │ │ │ ├── ldif.min.js │ │ │ ├── shell.min.js │ │ │ ├── node-repl.min.js │ │ │ ├── python-repl.min.js │ │ │ ├── bnf.min.js │ │ │ ├── mojolicious.min.js │ │ │ ├── json.min.js │ │ │ ├── ebnf.min.js │ │ │ ├── fix.min.js │ │ │ ├── tap.min.js │ │ │ ├── leaf.min.js │ │ │ ├── dockerfile.min.js │ │ │ ├── dust.min.js │ │ │ ├── php-template.min.js │ │ │ ├── taggerscript.min.js │ │ │ ├── brainfuck.min.js │ │ │ ├── profile.min.js │ │ │ ├── csp.min.js │ │ │ ├── subunit.min.js │ │ │ ├── diff.min.js │ │ │ ├── gherkin.min.js │ │ │ ├── nestedtext.min.js │ │ │ ├── parser3.min.js │ │ │ ├── clean.min.js │ │ │ ├── dsconfig.min.js │ │ │ ├── properties.min.js │ │ │ ├── golo.min.js │ │ │ ├── step21.min.js │ │ │ ├── flix.min.js │ │ │ ├── smalltalk.min.js │ │ │ ├── awk.min.js │ │ │ ├── abnf.min.js │ │ │ ├── inform7.min.js │ │ │ ├── mizar.min.js │ │ │ ├── prolog.min.js │ │ │ ├── protobuf.min.js │ │ │ ├── thrift.min.js │ │ │ ├── nix.min.js │ │ │ ├── roboconf.min.js │ │ │ ├── graphql.min.js │ │ │ ├── capnproto.min.js │ │ │ ├── accesslog.min.js │ │ │ ├── erlang-repl.min.js │ │ │ ├── http.min.js │ │ │ ├── jboss-cli.min.js │ │ │ ├── vala.min.js │ │ │ ├── autohotkey.min.js │ │ │ ├── pony.min.js │ │ │ ├── apache.min.js │ │ │ ├── ini.min.js │ │ │ ├── smali.min.js │ │ │ ├── gcode.min.js │ │ │ ├── makefile.min.js │ │ │ ├── q.min.js │ │ │ ├── haml.min.js │ │ │ ├── go.min.js │ │ │ ├── sml.min.js │ │ │ ├── lisp.min.js │ │ │ ├── cal.min.js │ │ │ ├── elm.min.js │ │ │ ├── scilab.min.js │ │ │ ├── ceylon.min.js │ │ │ ├── ocaml.min.js │ │ │ ├── rib.min.js │ │ │ ├── pf.min.js │ │ │ ├── rsl.min.js │ │ │ ├── openscad.min.js │ │ │ ├── cos.min.js │ │ │ ├── dos.min.js │ │ │ ├── crmsh.min.js │ │ │ ├── dts.min.js │ │ │ ├── actionscript.min.js │ │ │ ├── monkey.min.js │ │ │ ├── nginx.min.js │ │ │ ├── purebasic.min.js │ │ │ ├── groovy.min.js │ │ │ ├── zephir.min.js │ │ │ ├── tp.min.js │ │ │ ├── axapta.min.js │ │ │ ├── nim.min.js │ │ │ ├── wasm.min.js │ │ │ ├── angelscript.min.js │ │ │ ├── moonscript.min.js │ │ │ ├── django.min.js │ │ │ └── yaml.min.js │ │ ├── LICENSE │ │ └── README.md │ └── katex │ │ ├── fonts │ │ ├── KaTeX_Main-Bold.ttf │ │ ├── KaTeX_Main-Bold.woff │ │ ├── KaTeX_AMS-Regular.ttf │ │ ├── KaTeX_AMS-Regular.woff │ │ ├── KaTeX_Fraktur-Bold.ttf │ │ ├── KaTeX_Main-Bold.woff2 │ │ ├── KaTeX_Main-Italic.ttf │ │ ├── KaTeX_Main-Italic.woff │ │ ├── KaTeX_Main-Regular.ttf │ │ ├── KaTeX_Math-Italic.ttf │ │ ├── KaTeX_Math-Italic.woff │ │ ├── KaTeX_AMS-Regular.woff2 │ │ ├── KaTeX_Fraktur-Bold.woff │ │ ├── KaTeX_Fraktur-Bold.woff2 │ │ ├── KaTeX_Fraktur-Regular.ttf │ │ ├── KaTeX_Main-BoldItalic.ttf │ │ ├── KaTeX_Main-Italic.woff2 │ │ ├── KaTeX_Main-Regular.woff │ │ ├── KaTeX_Main-Regular.woff2 │ │ ├── KaTeX_Math-BoldItalic.ttf │ │ ├── KaTeX_Math-Italic.woff2 │ │ ├── KaTeX_SansSerif-Bold.ttf │ │ ├── KaTeX_SansSerif-Bold.woff │ │ ├── KaTeX_Script-Regular.ttf │ │ ├── KaTeX_Script-Regular.woff │ │ ├── KaTeX_Size1-Regular.ttf │ │ ├── KaTeX_Size1-Regular.woff │ │ ├── KaTeX_Size1-Regular.woff2 │ │ ├── KaTeX_Size2-Regular.ttf │ │ ├── KaTeX_Size2-Regular.woff │ │ ├── KaTeX_Size2-Regular.woff2 │ │ ├── KaTeX_Size3-Regular.ttf │ │ ├── KaTeX_Size3-Regular.woff │ │ ├── KaTeX_Size3-Regular.woff2 │ │ ├── KaTeX_Size4-Regular.ttf │ │ ├── KaTeX_Size4-Regular.woff │ │ ├── KaTeX_Size4-Regular.woff2 │ │ ├── KaTeX_Caligraphic-Bold.ttf │ │ ├── KaTeX_Caligraphic-Bold.woff │ │ ├── KaTeX_Fraktur-Regular.woff │ │ ├── KaTeX_Fraktur-Regular.woff2 │ │ ├── KaTeX_Main-BoldItalic.woff │ │ ├── KaTeX_Main-BoldItalic.woff2 │ │ ├── KaTeX_Math-BoldItalic.woff │ │ ├── KaTeX_Math-BoldItalic.woff2 │ │ ├── KaTeX_SansSerif-Bold.woff2 │ │ ├── KaTeX_SansSerif-Italic.ttf │ │ ├── KaTeX_SansSerif-Italic.woff │ │ ├── KaTeX_SansSerif-Regular.ttf │ │ ├── KaTeX_Script-Regular.woff2 │ │ ├── KaTeX_Caligraphic-Bold.woff2 │ │ ├── KaTeX_Caligraphic-Regular.ttf │ │ ├── KaTeX_Caligraphic-Regular.woff │ │ ├── KaTeX_SansSerif-Italic.woff2 │ │ ├── KaTeX_SansSerif-Regular.woff │ │ ├── KaTeX_SansSerif-Regular.woff2 │ │ ├── KaTeX_Typewriter-Regular.ttf │ │ ├── KaTeX_Typewriter-Regular.woff │ │ ├── KaTeX_Typewriter-Regular.woff2 │ │ └── KaTeX_Caligraphic-Regular.woff2 │ │ └── contrib │ │ ├── copy-tex.min.css │ │ ├── copy-tex.css │ │ ├── mathtex-script-type.mjs │ │ └── mathtex-script-type.min.js ├── js │ └── zozo.js └── css │ └── highlight.css ├── layouts ├── partials │ ├── katex │ │ └── libs-import.ftl │ ├── js.ftl │ ├── highlightjs │ │ ├── libs-import.ftl │ │ └── scripts.ftl │ ├── footer.ftl │ ├── comments.ftl │ ├── nav.ftl │ ├── head.ftl │ ├── header.ftl │ └── post.ftl └── shortcodes │ └── img.html ├── theme.yaml ├── index.ftl ├── 404.ftl ├── 500.ftl ├── tags.ftl ├── README.md ├── categories.ftl ├── sheet.ftl ├── links.ftl ├── tag.ftl └── category.ftl /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/images/tn.png -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/screenshot.png -------------------------------------------------------------------------------- /images/showcase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/images/showcase.png -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/images/screenshot.png -------------------------------------------------------------------------------- /static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/images/favicon.ico -------------------------------------------------------------------------------- /static/libs/remixicon/remixicon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/remixicon/remixicon.eot -------------------------------------------------------------------------------- /static/libs/remixicon/remixicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/remixicon/remixicon.ttf -------------------------------------------------------------------------------- /static/libs/remixicon/remixicon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/remixicon/remixicon.woff -------------------------------------------------------------------------------- /static/libs/remixicon/remixicon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/remixicon/remixicon.woff2 -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/highlight.js/styles/pojoaque.jpg -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Bold.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Bold.woff -------------------------------------------------------------------------------- /static/libs/katex/contrib/copy-tex.min.css: -------------------------------------------------------------------------------- 1 | .katex,.katex-display{user-select:all;-moz-user-select:all;-webkit-user-select:all;-ms-user-select:all} 2 | -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_AMS-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_AMS-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_AMS-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_AMS-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Bold.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Italic.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Italic.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Math-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Math-Italic.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Math-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Math-Italic.woff -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/brown-papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/highlight.js/styles/brown-papersq.png -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_AMS-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_AMS-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Fraktur-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Fraktur-Bold.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Italic.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Math-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Math-Italic.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Bold.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Script-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Script-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Script-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Script-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size1-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size1-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size1-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size1-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size1-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size1-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size2-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size2-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size2-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size2-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size2-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size2-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size3-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size3-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size3-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size3-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size3-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size3-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size4-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size4-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size4-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size4-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Size4-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Size4-Regular.woff2 -------------------------------------------------------------------------------- /layouts/partials/katex/libs-import.ftl: -------------------------------------------------------------------------------- 1 | <#if settings.katex!false> 2 | 3 | -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Fraktur-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Fraktur-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-BoldItalic.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Math-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Math-BoldItalic.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Italic.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Script-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Script-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Typewriter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Typewriter-Regular.woff -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2 -------------------------------------------------------------------------------- /static/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/halo-theme-zozo/HEAD/static/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2 -------------------------------------------------------------------------------- /layouts/partials/js.ftl: -------------------------------------------------------------------------------- 1 | 2 | 3 | <@global.statistics /> 4 | -------------------------------------------------------------------------------- /layouts/partials/highlightjs/libs-import.ftl: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /layouts/shortcodes/img.html: -------------------------------------------------------------------------------- 1 | {{ $path := .Get "src" }} 2 | {{ $caption := .Get "title" }} 3 |
4 | 5 | 6 | 7 |
8 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/plaintext.min.js: -------------------------------------------------------------------------------- 1 | /*! `plaintext` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var t=(()=>{"use strict";return t=>({name:"Plain text", 3 | aliases:["text","txt"],disableAutodetect:!0})})() 4 | ;hljs.registerLanguage("plaintext",t)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/vbscript-html.min.js: -------------------------------------------------------------------------------- 1 | /*! `vbscript-html` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"VBScript in HTML", 3 | subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]})})() 4 | ;hljs.registerLanguage("vbscript-html",e)})(); -------------------------------------------------------------------------------- /theme.yaml: -------------------------------------------------------------------------------- 1 | id: imzeuk_zozo 2 | name: Zozo 3 | author: 4 | name: zeuk 5 | website: https://zeuk.me/ 6 | description: A simple and beautiful theme for Halo 7 | logo: 8 | website: https://github.com/halo-dev/halo-theme-zozo 9 | repo: https://github.com/halo-dev/halo-theme-zozo 10 | version: 1.0.1 11 | require: 1.3.0 -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/clojure-repl.min.js: -------------------------------------------------------------------------------- 1 | /*! `clojure-repl` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Clojure REPL",contains:[{ 3 | className:"meta.prompt",begin:/^([\w.-]+|\s*#_)?=>/,starts:{end:/$/, 4 | subLanguage:"clojure"}}]})})();hljs.registerLanguage("clojure-repl",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/erb.min.js: -------------------------------------------------------------------------------- 1 | /*! `erb` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"ERB",subLanguage:"xml", 3 | contains:[e.COMMENT("<%#","%>"),{begin:"<%[%=-]?",end:"[%-]?%>", 4 | subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]})})() 5 | ;hljs.registerLanguage("erb",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/julia-repl.min.js: -------------------------------------------------------------------------------- 1 | /*! `julia-repl` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var a=(()=>{"use strict";return a=>({name:"Julia REPL",contains:[{ 3 | className:"meta.prompt",begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/, 4 | subLanguage:"julia"}}],aliases:["jldoctest"]})})() 5 | ;hljs.registerLanguage("julia-repl",a)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/ldif.min.js: -------------------------------------------------------------------------------- 1 | /*! `ldif` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var a=(()=>{"use strict";return a=>({name:"LDIF",contains:[{ 3 | className:"attribute",match:"^dn(?=:)",relevance:10},{className:"attribute", 4 | match:"^\\w+(?=:)"},{className:"literal",match:"^-"},a.HASH_COMMENT_MODE]})})() 5 | ;hljs.registerLanguage("ldif",a)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/shell.min.js: -------------------------------------------------------------------------------- 1 | /*! `shell` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session", 3 | aliases:["console","shellsession"],contains:[{className:"meta.prompt", 4 | begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, 5 | subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/node-repl.min.js: -------------------------------------------------------------------------------- 1 | /*! `node-repl` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var a=(()=>{"use strict";return a=>({name:"Node REPL",contains:[{ 3 | className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$", 4 | subLanguage:"javascript"}},variants:[{begin:/^>(?=[ ]|$)/},{ 5 | begin:/^\.\.\.(?=[ ]|$)/}]}]})})();hljs.registerLanguage("node-repl",a)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/python-repl.min.js: -------------------------------------------------------------------------------- 1 | /*! `python-repl` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var a=(()=>{"use strict";return a=>({aliases:["pycon"],contains:[{ 3 | className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"} 4 | },variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]})})() 5 | ;hljs.registerLanguage("python-repl",a)})(); -------------------------------------------------------------------------------- /layouts/partials/footer.ftl: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/bnf.min.js: -------------------------------------------------------------------------------- 1 | /*! `bnf` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Backus\u2013Naur Form", 3 | contains:[{className:"attribute",begin://},{begin:/::=/,end:/$/, 4 | contains:[{begin:// 5 | },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] 6 | }]})})();hljs.registerLanguage("bnf",e)})(); -------------------------------------------------------------------------------- /layouts/partials/comments.ftl: -------------------------------------------------------------------------------- 1 | <#macro comment post,type> 2 | <#if !post.disallowComment!false> 3 |
4 | 5 |
6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/mojolicious.min.js: -------------------------------------------------------------------------------- 1 | /*! `mojolicious` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Mojolicious",subLanguage:"xml", 3 | contains:[{className:"meta",begin:"^__(END|DATA)__$"},{ 4 | begin:"^\\s*%{1,2}={0,2}",end:"$",subLanguage:"perl"},{begin:"<%{1,2}={0,2}", 5 | end:"={0,1}%>",subLanguage:"perl",excludeBegin:!0,excludeEnd:!0}]})})() 6 | ;hljs.registerLanguage("mojolicious",e)})(); -------------------------------------------------------------------------------- /index.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="${blog_title!}" canonical="${blog_url!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 | <#include "layouts/partials/post.ftl"> 9 |
10 |
11 | <#include "layouts/partials/footer.ftl"> 12 | <#include "layouts/partials/js.ftl"> 13 | 14 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/json.min.js: -------------------------------------------------------------------------------- 1 | /*! `json` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"JSON",contains:[{ 3 | className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{ 4 | match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,{ 5 | beginKeywords:"true false null" 6 | },e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}) 7 | })();hljs.registerLanguage("json",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/ascetic.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.hljs-addition,.hljs-attribute,.hljs-bullet,.hljs-link,.hljs-section,.hljs-string,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#888}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#ccc}.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/ebnf.min.js: -------------------------------------------------------------------------------- 1 | /*! `ebnf` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a=e.COMMENT(/\(\*/,/\*\)/) 3 | ;return{name:"Extended Backus-Naur Form",illegal:/\S/,contains:[a,{ 4 | className:"attribute",begin:/^[ ]*[a-zA-Z]+([\s_-]+[a-zA-Z]+)*/},{begin:/=/, 5 | end:/[.;]/,contains:[a,{className:"meta",begin:/\?.*\?/},{className:"string", 6 | variants:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"`",end:"`"}]}]}]}}})() 7 | ;hljs.registerLanguage("ebnf",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/fix.min.js: -------------------------------------------------------------------------------- 1 | /*! `fix` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"FIX",contains:[{ 3 | begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:!0,returnBegin:!0, 4 | returnEnd:!1,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/, 5 | returnEnd:!0,returnBegin:!1,className:"attr"},{begin:/=/,end:/([\u2401\u0001])/, 6 | excludeEnd:!0,excludeBegin:!0,className:"string"}]}],case_insensitive:!0})})() 7 | ;hljs.registerLanguage("fix",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/tap.min.js: -------------------------------------------------------------------------------- 1 | /*! `tap` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Test Anything Protocol", 3 | case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{ 4 | begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/, 5 | end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number", 6 | begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}] 7 | }]})})();hljs.registerLanguage("tap",e)})(); -------------------------------------------------------------------------------- /static/libs/katex/contrib/copy-tex.css: -------------------------------------------------------------------------------- 1 | /* Force selection of entire .katex/.katex-display blocks, so that we can 2 | * copy/paste the entire source code. If you omit this CSS, partial 3 | * selections of a formula will work, but will copy the ugly HTML 4 | * representation instead of the LaTeX source code. (Full selections will 5 | * still produce the LaTeX source code.) 6 | */ 7 | .katex, 8 | .katex-display { 9 | user-select: all; 10 | -moz-user-select: all; 11 | -webkit-user-select: all; 12 | -ms-user-select: all; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/leaf.min.js: -------------------------------------------------------------------------------- 1 | /*! `leaf` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Leaf",contains:[{ 3 | className:"function",begin:"#+[A-Za-z_0-9]*\\(",end:/ \{/,returnBegin:!0, 4 | excludeEnd:!0,contains:[{className:"keyword",begin:"#+"},{className:"title", 5 | begin:"[A-Za-z_][A-Za-z_0-9]*"},{className:"params",begin:"\\(",end:"\\)", 6 | endsParent:!0,contains:[{className:"string",begin:'"',end:'"'},{ 7 | className:"variable",begin:"[A-Za-z_][A-Za-z_0-9]*"}]}]}]})})() 8 | ;hljs.registerLanguage("leaf",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/dockerfile.min.js: -------------------------------------------------------------------------------- 1 | /*! `dockerfile` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Dockerfile",aliases:["docker"], 3 | case_insensitive:!0, 4 | keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"], 5 | contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ 6 | beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell", 7 | starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:" 2 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/dust.min.js: -------------------------------------------------------------------------------- 1 | /*! `dust` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Dust",aliases:["dst"], 3 | case_insensitive:!0,subLanguage:"xml",contains:[{className:"template-tag", 4 | begin:/\{[#\/]/,end:/\}/,illegal:/;/,contains:[{className:"name", 5 | begin:/[a-zA-Z\.-]+/,starts:{endsWithParent:!0,relevance:0, 6 | contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{/, 7 | end:/\}/,illegal:/;/,keywords:"if eq ne lt lte gt gte select default math sep"}] 8 | })})();hljs.registerLanguage("dust",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/php-template.min.js: -------------------------------------------------------------------------------- 1 | /*! `php-template` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var n=(()=>{"use strict";return n=>({name:"PHP template", 3 | subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php", 4 | contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{ 5 | begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null, 6 | className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{ 7 | illegal:null,className:null,contains:null,skip:!0})]}]})})() 8 | ;hljs.registerLanguage("php-template",n)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/taggerscript.min.js: -------------------------------------------------------------------------------- 1 | /*! `taggerscript` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Tagger Script",contains:[{ 3 | className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\\[()]/},{ 4 | begin:/\(/,end:/\)/,contains:[{begin:/\\[()]/},"self"]}],relevance:10},{ 5 | className:"keyword",begin:/\$[_a-zA-Z0-9]+(?=\()/},{className:"variable", 6 | begin:/%[_a-zA-Z0-9:]+%/},{className:"symbol",begin:/\\[\\nt$%,()]/},{ 7 | className:"symbol",begin:/\\u[a-fA-F0-9]{4}/}]})})() 8 | ;hljs.registerLanguage("taggerscript",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/brainfuck.min.js: -------------------------------------------------------------------------------- 1 | /*! `brainfuck` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={className:"literal", 3 | begin:/[+-]+/,relevance:0};return{name:"Brainfuck",aliases:["bf"], 4 | contains:[e.COMMENT(/[^\[\]\.,\+\-<> \r\n]/,/[\[\]\.,\+\-<> \r\n]/,{contains:[{ 5 | match:/[ ]+[^\[\]\.,\+\-<> \r\n]/,relevance:0}],returnEnd:!0,relevance:0}),{ 6 | className:"title",begin:"[\\[\\]]",relevance:0},{className:"string", 7 | begin:"[\\.,]",relevance:0},{begin:/(?=\+\+|--)/,contains:[n]},n]}}})() 8 | ;hljs.registerLanguage("brainfuck",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/codepen-embed.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#222;color:#fff}.hljs-comment,.hljs-quote{color:#777}.hljs-built_in,.hljs-bullet,.hljs-deletion,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-regexp,.hljs-symbol,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ab875d}.hljs-attribute,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title,.hljs-type{color:#9b869b}.hljs-addition,.hljs-keyword,.hljs-selector-tag,.hljs-string{color:#8f9c6c}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/profile.min.js: -------------------------------------------------------------------------------- 1 | /*! `profile` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Python profiler", 3 | contains:[e.C_NUMBER_MODE,{begin:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}", 4 | end:":",excludeEnd:!0},{begin:"(ncalls|tottime|cumtime)",end:"$", 5 | keywords:"ncalls tottime|10 cumtime|10 filename",relevance:10},{ 6 | begin:"function calls",end:"$",contains:[e.C_NUMBER_MODE],relevance:10 7 | },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\(", 8 | end:"\\)$",excludeBegin:!0,excludeEnd:!0,relevance:0}]})})() 9 | ;hljs.registerLanguage("profile",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/androidstudio.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#a9b7c6;background:#282b2e}.hljs-bullet,.hljs-literal,.hljs-number,.hljs-symbol{color:#6897bb}.hljs-deletion,.hljs-keyword,.hljs-selector-tag{color:#cc7832}.hljs-link,.hljs-template-variable,.hljs-variable{color:#629755}.hljs-comment,.hljs-quote{color:grey}.hljs-meta{color:#bbb529}.hljs-addition,.hljs-attribute,.hljs-string{color:#6a8759}.hljs-section,.hljs-title,.hljs-type{color:#ffc66d}.hljs-name,.hljs-selector-class,.hljs-selector-id{color:#e8bf6a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ddd;background:#303030}.hljs-keyword,.hljs-link,.hljs-literal,.hljs-section,.hljs-selector-tag{color:#fff}.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-name,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#d88}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#979797}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/csp.min.js: -------------------------------------------------------------------------------- 1 | /*! `csp` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var s=(()=>{"use strict";return s=>({name:"CSP",case_insensitive:!1, 3 | keywords:{$pattern:"[a-zA-Z][a-zA-Z0-9_-]*", 4 | keyword:["base-uri","child-src","connect-src","default-src","font-src","form-action","frame-ancestors","frame-src","img-src","manifest-src","media-src","object-src","plugin-types","report-uri","sandbox","script-src","style-src","trusted-types","unsafe-hashes","worker-src"] 5 | },contains:[{className:"string",begin:"'",end:"'"},{className:"attribute", 6 | begin:"^Content",end:":",excludeEnd:!0}]})})();hljs.registerLanguage("csp",s) 7 | })(); -------------------------------------------------------------------------------- /404.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="404 Page not found · ${blog_title!}" canonical="${blog_url!}/404" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 |

(≥o≤)

10 |

404 Page Not Found

11 |

首页

12 |
13 | 14 |
15 |
16 | <#include "layouts/partials/footer.ftl"> 17 | <#include "layouts/partials/js.ftl"> 18 | 19 | -------------------------------------------------------------------------------- /500.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="500 Internal Error · ${blog_title!}" canonical="${blog_url!}/500" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 |

(≥o≤)

10 |

500 Internal Error

11 |

首页

12 |
13 | 14 |
15 |
16 | <#include "layouts/partials/footer.ftl"> 17 | <#include "layouts/partials/js.ftl"> 18 | 19 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/subunit.min.js: -------------------------------------------------------------------------------- 1 | /*! `subunit` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var s=(()=>{"use strict";return s=>({name:"SubUnit",case_insensitive:!0, 3 | contains:[{className:"string",begin:"\\[\n(multipart)?",end:"\\]\n"},{ 4 | className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z" 5 | },{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10, 6 | variants:[{ 7 | begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?" 8 | },{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}] 9 | })})();hljs.registerLanguage("subunit",s)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/color-brewer.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#000;background:#fff}.hljs-addition,.hljs-meta,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable{color:#756bb1}.hljs-comment,.hljs-quote{color:#636363}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-regexp{color:#31a354}.hljs-deletion,.hljs-variable{color:#88f}.hljs-built_in,.hljs-doctag,.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-strong,.hljs-tag,.hljs-title,.hljs-type{color:#3182bd}.hljs-emphasis{font-style:italic}.hljs-attribute{color:#e6550d} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/mono-blue.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#eaeef3;color:#00193a}.hljs-doctag,.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title{font-weight:700}.hljs-comment{color:#738191}.hljs-addition,.hljs-built_in,.hljs-literal,.hljs-name,.hljs-quote,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-tag,.hljs-title,.hljs-type{color:#0048ab}.hljs-attribute,.hljs-bullet,.hljs-deletion,.hljs-link,.hljs-meta,.hljs-regexp,.hljs-subst,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#4c81c9}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/vs.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.hljs-comment,.hljs-quote,.hljs-variable{color:green}.hljs-built_in,.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#00f}.hljs-addition,.hljs-attribute,.hljs-literal,.hljs-section,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type{color:#a31515}.hljs-deletion,.hljs-meta,.hljs-selector-attr,.hljs-selector-pseudo{color:#2b91af}.hljs-doctag{color:grey}.hljs-attr{color:red}.hljs-bullet,.hljs-link,.hljs-symbol{color:#00b0e8}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/magula.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background-color:#f4f4f4;color:#000}.hljs-subst{color:#000}.hljs-addition,.hljs-attribute,.hljs-bullet,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-variable{color:#050}.hljs-comment,.hljs-quote{color:#777}.hljs-link,.hljs-literal,.hljs-number,.hljs-regexp,.hljs-type{color:#800}.hljs-deletion,.hljs-meta{color:#00e}.hljs-built_in,.hljs-doctag,.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-tag,.hljs-title{font-weight:700;color:navy}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/diff.min.js: -------------------------------------------------------------------------------- 1 | /*! `diff` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"Diff", 3 | aliases:["patch"],contains:[{className:"meta",relevance:10, 4 | match:a.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) 5 | },{className:"comment",variants:[{ 6 | begin:a.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), 7 | end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ 8 | className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, 9 | end:/$/}]}}})();hljs.registerLanguage("diff",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/paraiso-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#2f1e2e;color:#a39e9b}.hljs-comment,.hljs-quote{color:#8d8687}.hljs-link,.hljs-meta,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ef6155}.hljs-built_in,.hljs-deletion,.hljs-literal,.hljs-number,.hljs-params,.hljs-type{color:#f99b15}.hljs-attribute,.hljs-section,.hljs-title{color:#fec418}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#48b685}.hljs-keyword,.hljs-selector-tag{color:#815ba4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/paraiso-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#e7e9db;color:#4f424c}.hljs-comment,.hljs-quote{color:#776e71}.hljs-link,.hljs-meta,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ef6155}.hljs-built_in,.hljs-deletion,.hljs-literal,.hljs-number,.hljs-params,.hljs-type{color:#f99b15}.hljs-attribute,.hljs-section,.hljs-title{color:#fec418}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#48b685}.hljs-keyword,.hljs-selector-tag{color:#815ba4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/gherkin.min.js: -------------------------------------------------------------------------------- 1 | /*! `gherkin` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Gherkin",aliases:["feature"], 3 | keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When", 4 | contains:[{className:"symbol",begin:"\\*",relevance:0},{className:"meta", 5 | begin:"@[^@\\s]+"},{begin:"\\|",end:"\\|\\w*$",contains:[{className:"string", 6 | begin:"[^|]+"}]},{className:"variable",begin:"<",end:">"},e.HASH_COMMENT_MODE,{ 7 | className:"string",begin:'"""',end:'"""'},e.QUOTE_STRING_MODE]})})() 8 | ;hljs.registerLanguage("gherkin",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/kimbie-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#221a0f;color:#d3af86}.hljs-comment,.hljs-quote{color:#d6baad}.hljs-meta,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#dc3958}.hljs-built_in,.hljs-deletion,.hljs-link,.hljs-literal,.hljs-number,.hljs-params,.hljs-type{color:#f79a32}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#889b4a}.hljs-function,.hljs-keyword,.hljs-selector-tag{color:#98676a}.hljs-attribute,.hljs-section,.hljs-title{color:#f06431}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/brown-paper.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#363c69;background:url(./brown-papersq.png) #b7a68e}.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:#059}.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-link,.hljs-name,.hljs-section,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#2c009f}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#802022}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/kimbie-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fbebd4;color:#84613d}.hljs-comment,.hljs-quote{color:#a57a4c}.hljs-meta,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#dc3958}.hljs-built_in,.hljs-deletion,.hljs-link,.hljs-literal,.hljs-number,.hljs-params,.hljs-type{color:#f79a32}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#889b4a}.hljs-function,.hljs-keyword,.hljs-selector-tag{color:#98676a}.hljs-attribute,.hljs-section,.hljs-title{color:#f06431}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/tomorrow-night-blue.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs-comment,.hljs-quote{color:#7285b7}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ff9da4}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#ffc58f}.hljs-attribute{color:#ffeead}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#d1f1a9}.hljs-section,.hljs-title{color:#bbdaff}.hljs-keyword,.hljs-selector-tag{color:#ebbbff}.hljs{background:#002451;color:#fff}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/far.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#0ff;background:navy}.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable{color:#ff0}.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-type,.hljs-variable{color:#fff}.hljs-comment,.hljs-deletion,.hljs-doctag,.hljs-quote{color:#888}.hljs-link,.hljs-literal,.hljs-number,.hljs-regexp{color:#0f0}.hljs-meta{color:teal}.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/tomorrow-night-bright.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs-comment,.hljs-quote{color:#969896}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#d54e53}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#e78c45}.hljs-attribute{color:#e7c547}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#b9ca4a}.hljs-section,.hljs-title{color:#7aa6da}.hljs-keyword,.hljs-selector-tag{color:#c397d8}.hljs{background:#000;color:#eaeaea}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/arta.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#222;color:#aaa}.hljs-subst{color:#aaa}.hljs-section{color:#fff}.hljs-comment,.hljs-meta,.hljs-quote{color:#444}.hljs-bullet,.hljs-regexp,.hljs-string,.hljs-symbol{color:#fc3}.hljs-addition,.hljs-number{color:#0c6}.hljs-attribute,.hljs-built_in,.hljs-link,.hljs-literal,.hljs-template-variable,.hljs-type{color:#32aaee}.hljs-keyword,.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag{color:#64a}.hljs-deletion,.hljs-template-tag,.hljs-title,.hljs-variable{color:#b16}.hljs-doctag,.hljs-section,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/school-book.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#3e5915;background:#f6f5b2}.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:#059}.hljs-subst{color:#3e5915}.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-link,.hljs-section,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#2c009f}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#e60415}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-id,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/nestedtext.min.js: -------------------------------------------------------------------------------- 1 | /*! `nestedtext` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var t=(()=>{"use strict";return t=>({name:"Nested Text",aliases:["nt"], 3 | contains:[t.inherit(t.HASH_COMMENT_MODE,{begin:/^\s*(?=#)/,excludeBegin:!0}),{ 4 | variants:[{match:[/^\s*/,/-/,/[ ]/,/.*$/]},{match:[/^\s*/,/-$/]}],className:{ 5 | 2:"bullet",4:"string"}},{match:[/^\s*/,/>/,/[ ]/,/.*$/],className:{ 6 | 2:"punctuation",4:"string"}},{match:[/^\s*(?=\S)/,/[^:]+/,/:\s*/,/$/], 7 | className:{2:"attribute",3:"punctuation"}},{ 8 | match:[/^\s*(?=\S)/,/[^:]*[^: ]/,/[ ]*:/,/[ ]/,/.*$/],className:{2:"attribute", 9 | 3:"punctuation",5:"string"}}]})})();hljs.registerLanguage("nestedtext",t)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/parser3.min.js: -------------------------------------------------------------------------------- 1 | /*! `parser3` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a=e.COMMENT(/\{/,/\}/,{ 3 | contains:["self"]});return{name:"Parser3",subLanguage:"xml",relevance:0, 4 | contains:[e.COMMENT("^#","$"),e.COMMENT(/\^rem\{/,/\}/,{relevance:10, 5 | contains:[a]}),{className:"meta",begin:"^@(?:BASE|USE|CLASS|OPTIONS)$", 6 | relevance:10},{className:"title", 7 | begin:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{ 8 | className:"variable",begin:/\$\{?[\w\-.:]+\}?/},{className:"keyword", 9 | begin:/\^[\w\-.:]+/},{className:"number",begin:"\\^#[0-9a-fA-F]+" 10 | },e.C_NUMBER_MODE]}}})();hljs.registerLanguage("parser3",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/ir-black.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#000;color:#f8f8f8}.hljs-comment,.hljs-meta,.hljs-quote{color:#7c7c7c}.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#96cbfe}.hljs-attribute,.hljs-selector-id{color:#ffffb6}.hljs-addition,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string{color:#a8ff60}.hljs-subst{color:#daefa3}.hljs-link,.hljs-regexp{color:#e9c062}.hljs-doctag,.hljs-section,.hljs-title,.hljs-type{color:#ffffb6}.hljs-bullet,.hljs-literal,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#c6c5fe}.hljs-deletion,.hljs-number{color:#ff73fd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/clean.min.js: -------------------------------------------------------------------------------- 1 | /*! `clean` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Clean",aliases:["icl","dcl"], 3 | keywords:{ 4 | keyword:["if","let","in","with","where","case","of","class","instance","otherwise","implementation","definition","system","module","from","import","qualified","as","special","code","inline","foreign","export","ccall","stdcall","generic","derive","infix","infixl","infixr"], 5 | built_in:"Int Real Char Bool",literal:"True False"}, 6 | contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{ 7 | begin:"->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>"}]})})() 8 | ;hljs.registerLanguage("clean",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/dsconfig.min.js: -------------------------------------------------------------------------------- 1 | /*! `dsconfig` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({keywords:"dsconfig",contains:[{ 3 | className:"keyword",begin:"^dsconfig",end:/\s/,excludeEnd:!0,relevance:10},{ 4 | className:"built_in",begin:/(list|create|get|set|delete)-(\w+)/,end:/\s/, 5 | excludeEnd:!0,illegal:"!@#$%^&*()",relevance:10},{className:"built_in", 6 | begin:/--(\w+)/,end:/\s/,excludeEnd:!0},{className:"string",begin:/"/,end:/"/},{ 7 | className:"string",begin:/'/,end:/'/},{className:"string",begin:/[\w\-?]+:\w+/, 8 | end:/\W/,relevance:0},{className:"string",begin:/\w+(\-\w+)*/,end:/(?=\W)/, 9 | relevance:0},e.HASH_COMMENT_MODE]})})();hljs.registerLanguage("dsconfig",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/lioshi.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#303030;color:#c5c8c6}.hljs-comment{color:#8d8d8d}.hljs-quote{color:#b3c7d8}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#c66}.hljs-built_in,.hljs-literal,.hljs-number,.hljs-subst .hljs-link,.hljs-type{color:#de935f}.hljs-attribute{color:#f0c674}.hljs-addition,.hljs-bullet,.hljs-params,.hljs-string{color:#b5bd68}.hljs-class,.hljs-function,.hljs-keyword,.hljs-selector-tag{color:#be94bb}.hljs-meta,.hljs-section,.hljs-title{color:#81a2be}.hljs-symbol{color:#dbc4d9}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/properties.min.js: -------------------------------------------------------------------------------- 1 | /*! `properties` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const t="[ \\t\\f]*",n="([^\\\\:= \\t\\f\\n]|\\\\.)+";return{name:".properties", 4 | disableAutodetect:!0,case_insensitive:!0,illegal:/\S/, 5 | contains:[e.COMMENT("^\\s*[!#]","$"),{returnBegin:!0,variants:[{ 6 | begin:n+"[ \\t\\f]*[:=][ \\t\\f]*"},{begin:n+"[ \\t\\f]+"}],contains:[{ 7 | className:"attr",begin:n,endsParent:!0}],starts:{ 8 | end:"([ \\t\\f]*[:=][ \\t\\f]*|[ \\t\\f]+)",relevance:0,starts:{ 9 | className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\\\"},{ 10 | begin:"\\\\\\n"}]}}},{className:"attr",begin:n+t+"$"}]}}})() 11 | ;hljs.registerLanguage("properties",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/purebasic.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#ffffdf}.hljs,.hljs-attr,.hljs-function,.hljs-name,.hljs-number,.hljs-params,.hljs-subst,.hljs-type{color:#000}.hljs-addition,.hljs-comment,.hljs-regexp,.hljs-section,.hljs-selector-pseudo{color:#0aa}.hljs-built_in,.hljs-class,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-selector-class{color:#066;font-weight:700}.hljs-code,.hljs-tag,.hljs-title,.hljs-variable{color:#066}.hljs-selector-attr,.hljs-string{color:#0080ff}.hljs-attribute,.hljs-deletion,.hljs-link,.hljs-symbol{color:#924b72}.hljs-literal,.hljs-meta,.hljs-selector-id{color:#924b72;font-weight:700}.hljs-name,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/golo.min.js: -------------------------------------------------------------------------------- 1 | /*! `golo` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Golo",keywords:{ 3 | keyword:["println","readln","print","import","module","function","local","return","let","var","while","for","foreach","times","in","case","when","match","with","break","continue","augment","augmentation","each","find","filter","reduce","if","then","else","otherwise","try","catch","finally","raise","throw","orIfNull","DynamicObject|10","DynamicVariable","struct","Observable","map","set","vector","list","array"], 4 | literal:["true","false","null"]}, 5 | contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{ 6 | className:"meta",begin:"@[A-Za-z]+"}]})})();hljs.registerLanguage("golo",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/step21.min.js: -------------------------------------------------------------------------------- 1 | /*! `step21` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"STEP Part 21", 3 | aliases:["p21","step","stp"],case_insensitive:!0,keywords:{ 4 | $pattern:"[A-Z_][A-Z0-9_.]*",keyword:["HEADER","ENDSEC","DATA"]},contains:[{ 5 | className:"meta",begin:"ISO-10303-21;",relevance:10},{className:"meta", 6 | begin:"END-ISO-10303-21;",relevance:10 7 | },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*!","\\*/"),e.C_NUMBER_MODE,e.inherit(e.APOS_STRING_MODE,{ 8 | illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{ 9 | className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#", 10 | end:"\\d+",illegal:"\\W"}]}]})})();hljs.registerLanguage("step21",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/xt256.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#eaeaea;background:#000}.hljs-subst{color:#eaeaea}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-type{color:#eaeaea}.hljs-params{color:#da0000}.hljs-literal,.hljs-name,.hljs-number{color:red;font-weight:bolder}.hljs-comment{color:#969896}.hljs-quote,.hljs-selector-id{color:#0ff}.hljs-template-variable,.hljs-title,.hljs-variable{color:#0ff;font-weight:700}.hljs-keyword,.hljs-selector-class,.hljs-symbol{color:#fff000}.hljs-bullet,.hljs-string{color:#0f0}.hljs-section,.hljs-tag{color:#000fff}.hljs-selector-tag{color:#000fff;font-weight:700}.hljs-attribute,.hljs-built_in,.hljs-link,.hljs-regexp{color:#f0f}.hljs-meta{color:#fff;font-weight:bolder} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/flix.min.js: -------------------------------------------------------------------------------- 1 | /*! `flix` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Flix",keywords:{ 3 | keyword:["case","class","def","else","enum","if","impl","import","in","lat","rel","index","let","match","namespace","switch","type","yield","with"], 4 | literal:["true","false"]}, 5 | contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string", 6 | begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},{className:"string",variants:[{begin:'"', 7 | end:'"'}]},{className:"function",beginKeywords:"def",end:/[:={\[(\n;]/, 8 | excludeEnd:!0,contains:[{className:"title",relevance:0, 9 | begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/ 10 | }]},e.C_NUMBER_MODE]})})();hljs.registerLanguage("flix",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/smalltalk.min.js: -------------------------------------------------------------------------------- 1 | /*! `smalltalk` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n="[a-z][a-zA-Z0-9_]*",a={ 3 | className:"string",begin:"\\$.{1}"},s={className:"symbol", 4 | begin:"#"+e.UNDERSCORE_IDENT_RE};return{name:"Smalltalk",aliases:["st"], 5 | keywords:["self","super","nil","true","false","thisContext"], 6 | contains:[e.COMMENT('"','"'),e.APOS_STRING_MODE,{className:"type", 7 | begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:n+":",relevance:0 8 | },e.C_NUMBER_MODE,s,a,{begin:"\\|[ ]*"+n+"([ ]+"+n+")*[ ]*\\|",returnBegin:!0, 9 | end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+n}]},{begin:"#\\(", 10 | end:"\\)",contains:[e.APOS_STRING_MODE,a,e.C_NUMBER_MODE,s]}]}}})() 11 | ;hljs.registerLanguage("smalltalk",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/foundation.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#eee;color:#000}.hljs-addition,.hljs-attribute,.hljs-emphasis,.hljs-link{color:#070}.hljs-emphasis{font-style:italic}.hljs-deletion,.hljs-string,.hljs-strong{color:#d14}.hljs-strong{font-weight:700}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-section,.hljs-title{color:#900}.hljs-class .hljs-title,.hljs-title.class_,.hljs-type{color:#458}.hljs-template-variable,.hljs-variable{color:#369}.hljs-bullet{color:#970}.hljs-meta{color:#34b}.hljs-code,.hljs-keyword,.hljs-literal,.hljs-number,.hljs-selector-tag{color:#099}.hljs-regexp{background-color:#fff0ff;color:#808}.hljs-symbol{color:#990073}.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-tag{color:#070} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/gml.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#222;color:silver}.hljs-keyword{color:#ffb871;font-weight:700}.hljs-built_in{color:#ffb871}.hljs-literal{color:#ff8080}.hljs-symbol{color:#58e55a}.hljs-comment{color:#5b995b}.hljs-string{color:#ff0}.hljs-number{color:#ff8080}.hljs-addition,.hljs-attribute,.hljs-bullet,.hljs-code,.hljs-deletion,.hljs-doctag,.hljs-function,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-name,.hljs-quote,.hljs-regexp,.hljs-section,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag,.hljs-subst,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:silver}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/awk.min.js: -------------------------------------------------------------------------------- 1 | /*! `awk` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Awk",keywords:{ 3 | keyword:"BEGIN END if else while do for in break continue delete next nextfile function func exit|10" 4 | },contains:[{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{ 5 | begin:/\$\{(.*?)\}/}]},{className:"string",contains:[e.BACKSLASH_ESCAPE], 6 | variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/, 7 | end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{ 8 | begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{ 9 | begin:/(b|br)"/,end:/"/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] 10 | },e.REGEXP_MODE,e.HASH_COMMENT_MODE,e.NUMBER_MODE]})})() 11 | ;hljs.registerLanguage("awk",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/monokai.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#272822;color:#ddd}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-selector-tag,.hljs-strong,.hljs-tag{color:#f92672}.hljs-code{color:#66d9ef}.hljs-attribute,.hljs-link,.hljs-regexp,.hljs-symbol{color:#bf79db}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-emphasis,.hljs-section,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string,.hljs-subst,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#a6e22e}.hljs-class .hljs-title,.hljs-title.class_{color:#fff}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#75715e}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-section,.hljs-selector-id,.hljs-selector-tag,.hljs-title,.hljs-type{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/abnf.min.js: -------------------------------------------------------------------------------- 1 | /*! `abnf` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a=e.regex,s=e.COMMENT(/;/,/$/) 3 | ;return{name:"Augmented Backus-Naur Form",illegal:/[!@#$^&',?+~`|:]/, 4 | keywords:["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"], 5 | contains:[{scope:"operator",match:/=\/?/},{scope:"attribute", 6 | match:a.concat(/^[a-zA-Z][a-zA-Z0-9-]*/,/(?=\s*=)/)},s,{scope:"symbol", 7 | match:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+)?/},{scope:"symbol", 8 | match:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+)?/},{scope:"symbol", 9 | match:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+)?/},{scope:"symbol", 10 | match:/%[si](?=".*")/},e.QUOTE_STRING_MODE,e.NUMBER_MODE]}}})() 11 | ;hljs.registerLanguage("abnf",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/srcery.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1c1b19;color:#fce8c3}.hljs-literal,.hljs-quote,.hljs-subst{color:#fce8c3}.hljs-symbol,.hljs-type{color:#68a8e4}.hljs-deletion,.hljs-keyword{color:#ef2f27}.hljs-attribute,.hljs-function,.hljs-name,.hljs-section,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-title{color:#fbb829}.hljs-class,.hljs-code,.hljs-property,.hljs-template-variable,.hljs-variable{color:#0aaeb3}.hljs-addition,.hljs-bullet,.hljs-regexp,.hljs-string{color:#98bc37}.hljs-built_in,.hljs-params{color:#ff5c8f}.hljs-selector-tag,.hljs-template-tag{color:#2c78bf}.hljs-comment,.hljs-link,.hljs-meta,.hljs-number{color:#918175}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/inform7.min.js: -------------------------------------------------------------------------------- 1 | /*! `inform7` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Inform 7",aliases:["i7"], 3 | case_insensitive:!0,keywords:{ 4 | keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule" 5 | },contains:[{className:"string",begin:'"',end:'"',relevance:0,contains:[{ 6 | className:"subst",begin:"\\[",end:"\\]"}]},{className:"section", 7 | begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{ 8 | begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/, 9 | end:":",contains:[{begin:"\\(This",end:"\\)"}]},{className:"comment", 10 | begin:"\\[",end:"\\]",contains:["self"]}]})})() 11 | ;hljs.registerLanguage("inform7",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/mizar.min.js: -------------------------------------------------------------------------------- 1 | /*! `mizar` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Mizar", 3 | keywords:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity", 4 | contains:[e.COMMENT("::","$")]})})();hljs.registerLanguage("mizar",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/prolog.min.js: -------------------------------------------------------------------------------- 1 | /*! `prolog` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var n=(()=>{"use strict";return n=>{const e={begin:/\(/,end:/\)/, 3 | relevance:0},a={begin:/\[/,end:/\]/},s={className:"comment",begin:/%/,end:/$/, 4 | contains:[n.PHRASAL_WORDS_MODE]},i={className:"string",begin:/`/,end:/`/, 5 | contains:[n.BACKSLASH_ESCAPE]},g=[{begin:/[a-z][A-Za-z0-9_]*/,relevance:0},{ 6 | className:"symbol",variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{ 7 | begin:/_[A-Za-z0-9_]*/}],relevance:0},e,{begin:/:-/ 8 | },a,s,n.C_BLOCK_COMMENT_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,i,{ 9 | className:"string",begin:/0'(\\'|.)/},{className:"string",begin:/0'\\s/ 10 | },n.C_NUMBER_MODE];return e.contains=g,a.contains=g,{name:"Prolog", 11 | contains:g.concat([{begin:/\.$/}])}}})();hljs.registerLanguage("prolog",n)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/pojoaque.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#dccf8f;background:url(./pojoaque.jpg) left top #181914}.hljs-comment,.hljs-quote{color:#586e75;font-style:italic}.hljs-addition,.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:#b64926}.hljs-doctag,.hljs-number,.hljs-regexp,.hljs-string{color:#468966}.hljs-built_in,.hljs-name,.hljs-section,.hljs-title{color:#ffb03b}.hljs-class .hljs-title,.hljs-tag,.hljs-template-variable,.hljs-title.class_,.hljs-type,.hljs-variable{color:#b58900}.hljs-attribute{color:#b89859}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-deletion{color:#dc322f}.hljs-selector-class,.hljs-selector-id{color:#d3a60c}.hljs-formula{background:#073642}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/protobuf.min.js: -------------------------------------------------------------------------------- 1 | /*! `protobuf` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const t={ 3 | match:[/(message|enum|service)\s+/,e.IDENT_RE],scope:{1:"keyword", 4 | 2:"title.class"}};return{name:"Protocol Buffers",keywords:{ 5 | keyword:["package","import","option","optional","required","repeated","group","oneof"], 6 | type:["double","float","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","bool","string","bytes"], 7 | literal:["true","false"]}, 8 | contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{ 9 | className:"function",beginKeywords:"rpc",end:/[{;]/,excludeEnd:!0, 10 | keywords:"rpc returns"},{begin:/^\s*[A-Z_]+(?=\s*=[^\n]+;$)/}]}}})() 11 | ;hljs.registerLanguage("protobuf",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/qtcreator-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#000;background:#fff}.hljs-emphasis,.hljs-strong{color:#000}.hljs-bullet,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:navy}.hljs-code .hljs-selector-class{color:purple}.hljs-emphasis,.hljs-stronge,.hljs-type{font-style:italic}.hljs-function,.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-symbol{color:olive}.hljs-subst,.hljs-tag,.hljs-title{color:#000}.hljs-attribute{color:maroon}.hljs-class .hljs-title,.hljs-params,.hljs-title.class_,.hljs-variable{color:#0055af}.hljs-addition,.hljs-built_in,.hljs-comment,.hljs-deletion,.hljs-link,.hljs-meta,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-type{color:green} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/qtcreator-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#aaa;background:#000}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#f5f}.hljs-code .hljs-selector-class{color:#aaf}.hljs-emphasis,.hljs-stronge,.hljs-type{font-style:italic}.hljs-function,.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-symbol{color:#ff5}.hljs-subst,.hljs-tag,.hljs-title{color:#aaa}.hljs-attribute{color:#f55}.hljs-class .hljs-title,.hljs-params,.hljs-title.class_,.hljs-variable{color:#88f}.hljs-addition,.hljs-built_in,.hljs-link,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-type{color:#f5f}.hljs-comment,.hljs-deletion,.hljs-meta{color:#5ff} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/rainbow.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#474949;color:#d1d9e1}.hljs-comment,.hljs-quote{color:#969896;font-style:italic}.hljs-addition,.hljs-keyword,.hljs-literal,.hljs-selector-tag,.hljs-type{color:#c9c}.hljs-number,.hljs-selector-attr,.hljs-selector-pseudo{color:#f99157}.hljs-doctag,.hljs-regexp,.hljs-string{color:#8abeb7}.hljs-built_in,.hljs-name,.hljs-section,.hljs-title{color:#b5bd68}.hljs-class .hljs-title,.hljs-selector-id,.hljs-template-variable,.hljs-title.class_,.hljs-variable{color:#fc6}.hljs-name,.hljs-section,.hljs-strong{font-weight:700}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-subst,.hljs-symbol{color:#f99157}.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-attr,.hljs-attribute{color:#81a2be}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/thrift.min.js: -------------------------------------------------------------------------------- 1 | /*! `thrift` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const t=["bool","byte","i16","i32","i64","double","string","binary"];return{ 4 | name:"Thrift",keywords:{ 5 | keyword:["namespace","const","typedef","struct","enum","service","exception","void","oneway","set","list","map","required","optional"], 6 | type:t,literal:"true false"}, 7 | contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ 8 | className:"class",beginKeywords:"struct enum service exception",end:/\{/, 9 | illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0, 10 | excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",keywords:{ 11 | type:[...t,"set","list","map"]},end:">",contains:["self"]}]}}})() 12 | ;hljs.registerLanguage("thrift",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/docco.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#000;background:#f8f8ff}.hljs-comment,.hljs-quote{color:#408080;font-style:italic}.hljs-keyword,.hljs-literal,.hljs-selector-tag,.hljs-subst{color:#954121}.hljs-number{color:#40a070}.hljs-doctag,.hljs-string{color:#219161}.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-type{color:#19469d}.hljs-params{color:#00f}.hljs-title{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-template-variable,.hljs-variable{color:teal}.hljs-link,.hljs-regexp{color:#b68}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/lightfair.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#444;background:#fff}.hljs-name{color:#01a3a3}.hljs-meta,.hljs-tag{color:#789}.hljs-comment{color:#888}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#4286f4}.hljs-section,.hljs-title{color:#4286f4;font-weight:700}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#bc6060}.hljs-literal{color:#62bcbc}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#25c6c6}.hljs-meta .hljs-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/monokai-sublime.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#23241f;color:#f8f8f2}.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params,.hljs-title.class_{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/nix.min.js: -------------------------------------------------------------------------------- 1 | /*! `nix` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={ 3 | keyword:["rec","with","let","in","inherit","assert","if","else","then"], 4 | literal:["true","false","or","and","null"], 5 | built_in:["import","abort","baseNameOf","dirOf","isNull","builtins","map","removeAttrs","throw","toString","derivation"] 6 | },i={className:"subst",begin:/\$\{/,end:/\}/,keywords:n},s={className:"string", 7 | contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}] 8 | },t=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{ 9 | begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{ 10 | className:"attr",begin:/\S+/,relevance:.2}]}];return i.contains=t,{name:"Nix", 11 | aliases:["nixos"],keywords:n,contains:t}}})();hljs.registerLanguage("nix",e) 12 | })(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/googlecode.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.hljs-comment,.hljs-quote{color:#800}.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-title{color:#008}.hljs-template-variable,.hljs-variable{color:#660}.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string{color:#080}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-symbol{color:#066}.hljs-attr,.hljs-built_in,.hljs-doctag,.hljs-params,.hljs-title,.hljs-type{color:#606}.hljs-attribute,.hljs-subst{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-selector-class,.hljs-selector-id{color:#9b703f}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/arduino-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#434f54}.hljs-subst{color:#434f54}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#00979d}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-literal{color:#d35400}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#00979d}.hljs-deletion,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#005c5f}.hljs-comment{color:rgba(149,165,166,.8)}.hljs-meta .hljs-keyword{color:#728e00}.hljs-meta{color:#434f54}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-function{color:#728e00}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-number{color:#8a7b52} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/atom-one-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/atom-one-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/routeros.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#444;background:#f0f0f0}.hljs-subst{color:#444}.hljs-comment{color:#888}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-attribute{color:#0e9a00}.hljs-function{color:#99069a}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#bc6060}.hljs-literal{color:#78a960}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#0c9a9a}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/shades-of-purple.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#2d2b57;color:#e3dfff;font-weight:400}.hljs-subst{color:#e3dfff}.hljs-title{color:#fad000;font-weight:400}.hljs-name{color:#a1feff}.hljs-tag{color:#fff}.hljs-attr{color:#f8d000;font-style:italic}.hljs-built_in,.hljs-keyword,.hljs-section,.hljs-selector-tag{color:#fb9e00}.hljs-addition,.hljs-attribute,.hljs-bullet,.hljs-code,.hljs-deletion,.hljs-quote,.hljs-regexp,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-string,.hljs-symbol,.hljs-template-tag{color:#4cd213}.hljs-meta,.hljs-meta .hljs-string{color:#fb9e00}.hljs-comment{color:#ac65ff}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-selector-tag,.hljs-strong{font-weight:400}.hljs-literal,.hljs-number{color:#fa658d}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/roboconf.min.js: -------------------------------------------------------------------------------- 1 | /*! `roboconf` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n="[a-zA-Z-_][^\\n{]+\\{",a={ 3 | className:"attribute",begin:/[a-zA-Z-_]+/,end:/\s*:/,excludeEnd:!0,starts:{ 4 | end:";",relevance:0,contains:[{className:"variable",begin:/\.[a-zA-Z-_]+/},{ 5 | className:"keyword",begin:/\(optional\)/}]}};return{name:"Roboconf", 6 | aliases:["graph","instances"],case_insensitive:!0,keywords:"import",contains:[{ 7 | begin:"^facet "+n,end:/\}/,keywords:"facet",contains:[a,e.HASH_COMMENT_MODE]},{ 8 | begin:"^\\s*instance of "+n,end:/\}/, 9 | keywords:"name count channels instance-data instance-state instance of", 10 | illegal:/\S/,contains:["self",a,e.HASH_COMMENT_MODE]},{begin:"^"+n,end:/\}/, 11 | contains:[a,e.HASH_COMMENT_MODE]},e.HASH_COMMENT_MODE]}}})() 12 | ;hljs.registerLanguage("roboconf",e)})(); -------------------------------------------------------------------------------- /static/libs/katex/contrib/mathtex-script-type.mjs: -------------------------------------------------------------------------------- 1 | import katex from '../katex.mjs'; 2 | 3 | let scripts = document.body.getElementsByTagName("script"); 4 | scripts = Array.prototype.slice.call(scripts); 5 | scripts.forEach(function (script) { 6 | if (!script.type || !script.type.match(/math\/tex/i)) { 7 | return -1; 8 | } 9 | 10 | const display = script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null; 11 | const katexElement = document.createElement(display ? "div" : "span"); 12 | katexElement.setAttribute("class", display ? "equation" : "inline-equation"); 13 | 14 | try { 15 | katex.render(script.text, katexElement, { 16 | displayMode: display 17 | }); 18 | } catch (err) { 19 | //console.error(err); linter doesn't like this 20 | katexElement.textContent = script.text; 21 | } 22 | 23 | script.parentNode.replaceChild(katexElement, script); 24 | }); 25 | -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/obsidian.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#e0e2e4;background:#282b2e}.hljs-keyword,.hljs-literal,.hljs-selector-id,.hljs-selector-tag{color:#93c763}.hljs-number{color:#ffcd22}.hljs-attribute{color:#668bb0}.hljs-link,.hljs-regexp{color:#d39745}.hljs-meta{color:#557182}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-emphasis,.hljs-name,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-tag,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable{color:#8cbbad}.hljs-string,.hljs-symbol{color:#ec7600}.hljs-comment,.hljs-deletion,.hljs-quote{color:#818e96}.hljs-selector-class{color:#a082bd}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-class .hljs-title,.hljs-code,.hljs-section,.hljs-title.class_{color:#fff} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/graphql.min.js: -------------------------------------------------------------------------------- 1 | /*! `graphql` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"GraphQL", 3 | aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{ 4 | keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], 5 | literal:["true","false","null"]}, 6 | contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ 7 | scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", 8 | begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, 9 | end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ 10 | scope:"symbol",begin:a.concat(/[_A-Za-z][_0-9A-Za-z]*/,a.lookahead(/\s*:/)), 11 | relevance:0}],illegal:[/[;<']/,/BEGIN/]}}})();hljs.registerLanguage("graphql",e) 12 | })(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/hybrid.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1d1f21;color:#c5c8c6}.hljs span::selection,.hljs::selection{background:#373b41}.hljs span::-moz-selection,.hljs::-moz-selection{background:#373b41}.hljs-name,.hljs-title{color:#f0c674}.hljs-comment,.hljs-meta,.hljs-meta .hljs-keyword{color:#707880}.hljs-deletion,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol{color:#c66}.hljs-addition,.hljs-doctag,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string{color:#b5bd68}.hljs-attribute,.hljs-code,.hljs-selector-id{color:#b294bb}.hljs-bullet,.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#81a2be}.hljs-subst,.hljs-template-tag,.hljs-template-variable,.hljs-variable{color:#8abeb7}.hljs-built_in,.hljs-quote,.hljs-section,.hljs-selector-class,.hljs-type{color:#de935f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/idea.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#000;background:#fff}.hljs-subst,.hljs-title{font-weight:400;color:#000}.hljs-comment,.hljs-quote{color:grey;font-style:italic}.hljs-meta{color:olive}.hljs-tag{background:#efefef}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-type{font-weight:700;color:navy}.hljs-attribute,.hljs-link,.hljs-number,.hljs-regexp{font-weight:700;color:#00f}.hljs-link,.hljs-number,.hljs-regexp{font-weight:400}.hljs-string{color:green;font-weight:700}.hljs-bullet,.hljs-formula,.hljs-symbol{color:#000;background:#d0eded;font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-template-variable,.hljs-variable{color:#660e7a}.hljs-addition{background:#baeeba}.hljs-deletion{background:#ffc8bd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/capnproto.min.js: -------------------------------------------------------------------------------- 1 | /*! `capnproto` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var t=(()=>{"use strict";return t=>{const n={variants:[{ 3 | match:[/(struct|enum|interface)/,/\s+/,t.IDENT_RE]},{ 4 | match:[/extends/,/\s*\(/,t.IDENT_RE,/\s*\)/]}],scope:{1:"keyword", 5 | 3:"title.class"}};return{name:"Cap\u2019n Proto",aliases:["capnp"],keywords:{ 6 | keyword:["struct","enum","interface","union","group","import","using","const","annotation","extends","in","of","on","as","with","from","fixed"], 7 | type:["Void","Bool","Int8","Int16","Int32","Int64","UInt8","UInt16","UInt32","UInt64","Float32","Float64","Text","Data","AnyPointer","AnyStruct","Capability","List"], 8 | literal:["true","false"]}, 9 | contains:[t.QUOTE_STRING_MODE,t.NUMBER_MODE,t.HASH_COMMENT_MODE,{ 10 | className:"meta",begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:"symbol", 11 | begin:/@\d+\b/},n]}}})();hljs.registerLanguage("capnproto",t)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/accesslog.min.js: -------------------------------------------------------------------------------- 1 | /*! `accesslog` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const n=e.regex,a=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"] 4 | ;return{name:"Apache Access Log",contains:[{className:"number", 5 | begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{ 6 | className:"number",begin:/\b\d+\b/,relevance:0},{className:"string", 7 | begin:n.concat(/"/,n.either(...a)),end:/"/,keywords:a,illegal:/\n/,relevance:5, 8 | contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string", 9 | begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string", 10 | begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string", 11 | begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{ 12 | className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}}})() 13 | ;hljs.registerLanguage("accesslog",e)})(); -------------------------------------------------------------------------------- /static/js/zozo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // back-to-top 4 | $(document).ready((function (_this) { 5 | return function () { 6 | let bt 7 | bt = $('#back_to_top') 8 | if ($(document).width() > 480) { 9 | $(window).scroll(function () { 10 | let st 11 | st = $(window).scrollTop() 12 | if (st > 30) { 13 | return bt.css('display', 'block') 14 | } else { 15 | return bt.css('display', 'none') 16 | } 17 | }) 18 | return bt.click(function () { 19 | $('body,html').animate({ 20 | scrollTop: 0, 21 | }, 800) 22 | return false 23 | }) 24 | } 25 | } 26 | })(this)) 27 | 28 | // nav-toggle 29 | $(document).ready((function (_this) { 30 | return function () { 31 | let nav,icon 32 | icon = $('#menu_icon') 33 | nav = $('#site_nav') 34 | icon.click(function () { 35 | nav.slideToggle(250) 36 | }) 37 | } 38 | })(this)) 39 | -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/xcode.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.xml .hljs-meta{color:silver}.hljs-comment,.hljs-quote{color:#007400}.hljs-attribute,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#aa0d91}.hljs-template-variable,.hljs-variable{color:#3f6e74}.hljs-code,.hljs-meta .hljs-string,.hljs-string{color:#c41a16}.hljs-link,.hljs-regexp{color:#0e0eff}.hljs-bullet,.hljs-number,.hljs-symbol,.hljs-title{color:#1c00cf}.hljs-meta,.hljs-section{color:#643820}.hljs-built_in,.hljs-class .hljs-title,.hljs-params,.hljs-title.class_,.hljs-type{color:#5c2699}.hljs-attr{color:#836c28}.hljs-subst{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-selector-class,.hljs-selector-id{color:#9b703f}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/sunburst.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#000;color:#f8f8f8}.hljs-comment,.hljs-quote{color:#aeaeae;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#e28964}.hljs-string{color:#65b042}.hljs-subst{color:#daefa3}.hljs-link,.hljs-regexp{color:#e9c062}.hljs-name,.hljs-section,.hljs-tag,.hljs-title{color:#89bdff}.hljs-class .hljs-title,.hljs-doctag,.hljs-title.class_{text-decoration:underline}.hljs-bullet,.hljs-number,.hljs-symbol{color:#3387cc}.hljs-params,.hljs-template-variable,.hljs-variable{color:#3e87e3}.hljs-attribute{color:#cda869}.hljs-meta{color:#8996a8}.hljs-formula{background-color:#0e2231;color:#f8f8f8;font-style:italic}.hljs-addition{background-color:#253b22;color:#f8f8f8}.hljs-deletion{background-color:#420e09;color:#f8f8f8}.hljs-selector-class{color:#9b703f}.hljs-selector-id{color:#8b98ab}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/erlang-repl.min.js: -------------------------------------------------------------------------------- 1 | /*! `erlang-repl` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n=e.regex;return{ 3 | name:"Erlang REPL",keywords:{built_in:"spawn spawn_link self", 4 | keyword:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor" 5 | },contains:[{className:"meta.prompt",begin:"^[0-9]+> ",relevance:10 6 | },e.COMMENT("%","$"),{className:"number", 7 | begin:"\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)", 8 | relevance:0},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ 9 | begin:n.concat(/\?(::)?/,/([A-Z]\w*)/,/((::)[A-Z]\w*)*/)},{begin:"->"},{ 10 | begin:"ok"},{begin:"!"},{ 11 | begin:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)", 12 | relevance:0},{begin:"[A-Z][a-zA-Z0-9_']*",relevance:0}]}}})() 13 | ;hljs.registerLanguage("erlang-repl",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/isbl-editor-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.hljs-subst{color:#000}.hljs-comment{color:#555;font-style:italic}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{color:#000;font-weight:700}.hljs-string{color:navy}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-template-tag,.hljs-type{color:#000}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#5e1700}.hljs-built_in,.hljs-literal{color:navy;font-weight:700}.hljs-addition,.hljs-bullet,.hljs-code{color:#397300}.hljs-class{color:#6f1c00;font-weight:700}.hljs-section,.hljs-title{color:#fb2c00}.hljs-title>.hljs-built_in{color:teal;font-weight:400}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/http.min.js: -------------------------------------------------------------------------------- 1 | /*! `http` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n="HTTP/(2|1\\.[01])",a={ 3 | className:"attribute", 4 | begin:e.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{ 5 | contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$", 6 | relevance:0}}]}},s=[a,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0} 7 | }];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{ 8 | begin:"^(?="+n+" \\d{3})",end:/$/,contains:[{className:"meta",begin:n},{ 9 | className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/, 10 | contains:s}},{begin:"(?=^[A-Z]+ (.*?) "+n+"$)",end:/$/,contains:[{ 11 | className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{ 12 | className:"meta",begin:n},{className:"keyword",begin:"[A-Z]+"}],starts:{ 13 | end:/\b\B/,illegal:/\S/,contains:s}},e.inherit(a,{relevance:0})]}}})() 14 | ;hljs.registerLanguage("http",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/isbl-editor-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#404040}.hljs,.hljs-subst{color:#f0f0f0}.hljs-comment{color:#b5b5b5;font-style:italic}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f0f0f0;font-weight:700}.hljs-string{color:#97bf0d}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-template-tag,.hljs-type{color:#f0f0f0}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#e2c696}.hljs-built_in,.hljs-literal{color:#97bf0d;font-weight:700}.hljs-addition,.hljs-bullet,.hljs-code{color:#397300}.hljs-class{color:#ce9d4d;font-weight:700}.hljs-section,.hljs-title{color:#df471e}.hljs-title>.hljs-built_in{color:#81bce9;font-weight:400}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/an-old-hope.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: An Old Hope – Star Wars Syntax 3 | Author: (c) Gustavo Costa 4 | Maintainer: @gusbemacbe 5 | 6 | Original theme - Ocean Dark Theme – by https://github.com/gavsiu 7 | Based on Jesse Leite's Atom syntax theme 'An Old Hope' 8 | https://github.com/JesseLeite/an-old-hope-syntax-atom 9 | */.hljs{background:#1c1d21;color:#c0c5ce}.hljs-comment,.hljs-quote{color:#b6b18b}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#eb3c54}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#e7ce56}.hljs-attribute{color:#ee7c2b}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#4fb4d7}.hljs-section,.hljs-title{color:#78bb65}.hljs-keyword,.hljs-selector-tag{color:#b45ea4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/jboss-cli.min.js: -------------------------------------------------------------------------------- 1 | /*! `jboss-cli` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"JBoss CLI", 3 | aliases:["wildfly-cli"],keywords:{$pattern:"[a-z-]+", 4 | keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source", 5 | literal:"true false"},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,{ 6 | className:"params",begin:/--[\w\-=\/]+/},{className:"function", 7 | begin:/:[\w\-.]+/,relevance:0},{className:"string",begin:/\B([\/.])[\w\-.\/=]+/ 8 | },{className:"params",begin:/\(/,end:/\)/,contains:[{begin:/[\w-]+ *=/, 9 | returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/[\w-]+/}]}], 10 | relevance:0}]})})();hljs.registerLanguage("jboss-cli",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/vala.min.js: -------------------------------------------------------------------------------- 1 | /*! `vala` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Vala",keywords:{ 3 | keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var", 4 | built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"}, 5 | contains:[{className:"class",beginKeywords:"class interface namespace",end:/\{/, 6 | excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[e.UNDERSCORE_TITLE_MODE] 7 | },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""', 8 | end:'"""',relevance:5},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{ 9 | className:"meta",begin:"^#",end:"$"}]})})();hljs.registerLanguage("vala",e)})(); -------------------------------------------------------------------------------- /layouts/partials/head.ftl: -------------------------------------------------------------------------------- 1 | <#macro head title,canonical> 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | ${title!} 18 | 19 | <@global.head /> 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/intellij-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#000;background:#fff}.hljs-subst,.hljs-title{font-weight:400;color:#000}.hljs-title.function_{color:#7a7a43}.hljs-code,.hljs-comment,.hljs-quote{color:#8c8c8c;font-style:italic}.hljs-meta{color:#9e880d}.hljs-section{color:#871094}.hljs-built_in,.hljs-keyword,.hljs-literal,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag,.hljs-symbol,.hljs-template-tag,.hljs-type,.hljs-variable.language_{color:#0033b3}.hljs-attr,.hljs-property{color:#871094}.hljs-attribute{color:#174ad4}.hljs-number{color:#1750eb}.hljs-regexp{color:#264eff}.hljs-link{text-decoration:underline;color:#006dcc}.hljs-meta .hljs-string,.hljs-string{color:#067d17}.hljs-char.escape_{color:#0037a6}.hljs-doctag{text-decoration:underline}.hljs-template-variable{color:#248f8f}.hljs-addition{background:#bee6be}.hljs-deletion{background:#d6d6d6}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/autohotkey.min.js: -------------------------------------------------------------------------------- 1 | /*! `autohotkey` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a={begin:"`[\\s\\S]"};return{ 3 | name:"AutoHotkey",case_insensitive:!0,aliases:["ahk"],keywords:{ 4 | keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group", 5 | literal:"true false NOT AND OR", 6 | built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"}, 7 | contains:[a,e.inherit(e.QUOTE_STRING_MODE,{contains:[a]}),e.COMMENT(";","$",{ 8 | relevance:0}),e.C_BLOCK_COMMENT_MODE,{className:"number",begin:e.NUMBER_RE, 9 | relevance:0},{className:"variable",begin:"%[a-zA-Z0-9#_$@]+%"},{ 10 | className:"built_in",begin:"^\\s*\\w+\\s*(,|%)"},{className:"title",variants:[{ 11 | begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{ 12 | className:"meta",begin:"^\\s*#\\w+",end:"$",relevance:0},{className:"built_in", 13 | begin:"A_[a-zA-Z0-9]+"},{begin:",\\s*,"}]}}})() 14 | ;hljs.registerLanguage("autohotkey",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/pony.min.js: -------------------------------------------------------------------------------- 1 | /*! `pony` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Pony",keywords:{ 3 | keyword:"actor addressof and as be break class compile_error compile_intrinsic consume continue delegate digestof do else elseif embed end error for fun if ifdef in interface is isnt lambda let match new not object or primitive recover repeat return struct then trait try type until use var where while with xor", 4 | meta:"iso val tag trn box ref",literal:"this false true"},contains:[{ 5 | className:"type",begin:"\\b_?[A-Z][\\w]*",relevance:0},{className:"string", 6 | begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"', 7 | contains:[e.BACKSLASH_ESCAPE]},{className:"string",begin:"'",end:"'", 8 | contains:[e.BACKSLASH_ESCAPE],relevance:0},{begin:e.IDENT_RE+"'",relevance:0},{ 9 | className:"number", 10 | begin:"(-?)(\\b0[xX][a-fA-F0-9]+|\\b0[bB][01]+|(\\b\\d+(_\\d+)?(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", 11 | relevance:0},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]})})() 12 | ;hljs.registerLanguage("pony",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/vs2015.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1e1e1e;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta .hljs-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/apache.min.js: -------------------------------------------------------------------------------- 1 | /*! `apache` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={className:"number", 3 | begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/};return{ 4 | name:"Apache config",aliases:["apacheconf"],case_insensitive:!0, 5 | contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/, 6 | contains:[n,{className:"number",begin:/:\d{1,5}/ 7 | },e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute", 8 | begin:/\w+/,relevance:0,keywords:{ 9 | _:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"] 10 | },starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"}, 11 | contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable", 12 | begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}] 13 | },n,{className:"number",begin:/\b\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}} 14 | })();hljs.registerLanguage("apache",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/gradient-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background-color:#652487;background-image:linear-gradient(160deg,#652487 0,#443ac3 35%,#0174b7 68%,#04988e 100%);color:#e7e4eb}.hljs-subtr{color:#e7e4eb}.hljs-comment,.hljs-doctag,.hljs-meta,.hljs-quote{color:#af8dd9}.hljs-attr,.hljs-regexp,.hljs-selector-id,.hljs-selector-tag,.hljs-tag,.hljs-template-tag{color:#aefbff}.hljs-bullet,.hljs-params,.hljs-selector-class{color:#f19fff}.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-section,.hljs-symbol,.hljs-type{color:#17fc95}.hljs-addition,.hljs-link,.hljs-number{color:#c5fe00}.hljs-string{color:#38c0ff}.hljs-addition,.hljs-attribute{color:#e7ff9f}.hljs-template-variable,.hljs-variable{color:#e447ff}.hljs-built_in,.hljs-class,.hljs-formula,.hljs-function,.hljs-name,.hljs-title{color:#ffc800}.hljs-deletion,.hljs-literal,.hljs-selector-pseudo{color:#ff9e44}.hljs-emphasis,.hljs-quote{font-style:italic}.hljs-keyword,.hljs-params,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-strong,.hljs-template-tag{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/devibeans.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: devibeans (dark) 3 | Author: @terminaldweller 4 | Maintainer: @terminaldweller 5 | 6 | Inspired by vim's jellybeans theme (https://github.com/nanotech/jellybeans.vim) 7 | */.hljs{background:#000;color:#a39e9b}.hljs-attr,.hljs-template-tag{color:#8787d7}.hljs-comment,.hljs-doctag,.hljs-quote{color:#396}.hljs-params{color:#a39e9b}.hljs-regexp{color:#d700ff}.hljs-literal,.hljs-number,.hljs-selector-id,.hljs-tag{color:#ef5350}.hljs-meta,.hljs-meta .hljs-keyword{color:#0087ff}.hljs-code,.hljs-formula,.hljs-keyword,.hljs-link,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-variable{color:#64b5f6}.hljs-built_in,.hljs-deletion,.hljs-title{color:#ff8700}.hljs-attribute,.hljs-function,.hljs-name,.hljs-property,.hljs-section,.hljs-type{color:#ffd75f}.hljs-addition,.hljs-bullet,.hljs-meta .hljs-string,.hljs-string,.hljs-subst,.hljs-symbol{color:#558b2f}.hljs-selector-tag{color:#96f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/ini.min.js: -------------------------------------------------------------------------------- 1 | /*! `ini` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={className:"number", 3 | relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}] 4 | },s=e.COMMENT();s.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={ 5 | className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/ 6 | }]},t={className:"literal",begin:/\bon|off|true|false|yes|no\b/},r={ 7 | className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''", 8 | end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"' 9 | },{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[s,t,i,r,a,"self"], 10 | relevance:0},c=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ 11 | name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, 12 | contains:[s,{className:"section",begin:/\[+/,end:/\]+/},{ 13 | begin:n.concat(c,"(\\s*\\.\\s*",c,")*",n.lookahead(/\s*=\s*[^#\s]/)), 14 | className:"attr",starts:{end:/$/,contains:[s,l,t,i,r,a]}}]}}})() 15 | ;hljs.registerLanguage("ini",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/gradient-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background-color:#f9ccff;background-image:linear-gradient(295deg,#f9ccff 0,#e6bbf9 11%,#9ec6f9 32%,#55e6ee 60%,#91f5d1 74%,#f9ffbf 98%);color:#250482}.hljs-subtr{color:#01958b}.hljs-comment,.hljs-doctag,.hljs-meta,.hljs-quote{color:#cb7200}.hljs-attr,.hljs-regexp,.hljs-selector-id,.hljs-selector-tag,.hljs-tag,.hljs-template-tag{color:#07bd5f}.hljs-bullet,.hljs-params,.hljs-selector-class{color:#43449f}.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-section,.hljs-symbol,.hljs-type{color:#7d2801}.hljs-addition,.hljs-link,.hljs-number{color:#7f0096}.hljs-string{color:#2681ab}.hljs-addition,.hljs-attribute{color:#296562}.hljs-template-variable,.hljs-variable{color:#025c8f}.hljs-built_in,.hljs-class,.hljs-formula,.hljs-function,.hljs-name,.hljs-title{color:#529117}.hljs-deletion,.hljs-literal,.hljs-selector-pseudo{color:#ad13ff}.hljs-emphasis,.hljs-quote{font-style:italic}.hljs-keyword,.hljs-params,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-strong,.hljs-template-tag{font-weight:700} -------------------------------------------------------------------------------- /tags.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="标签 · ${blog_title!}" canonical="${tags_url!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 | 22 |
23 | 24 |
25 | 26 |
27 | <#include "layouts/partials/footer.ftl"> 28 | <#include "layouts/partials/js.ftl"> 29 | 30 | 31 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/smali.min.js: -------------------------------------------------------------------------------- 1 | /*! `smali` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const n=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"] 4 | ;return{name:"Smali",contains:[{className:"string",begin:'"',end:'"',relevance:0 5 | },e.COMMENT("#","$",{relevance:0}),{className:"keyword",variants:[{ 6 | begin:"\\s*\\.end\\s[a-zA-Z0-9]*"},{begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{ 7 | begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{ 8 | begin:"\\s(transient|constructor|abstract|final|synthetic|public|private|protected|static|bridge|system)" 9 | }]},{className:"built_in",variants:[{begin:"\\s("+n.join("|")+")\\s"},{ 10 | begin:"\\s("+n.join("|")+")((-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{ 11 | begin:"\\s(aget|aput|array|check|execute|fill|filled|goto/16|goto/32|iget|instance|invoke|iput|monitor|packed|sget|sparse)((-|/)[a-zA-Z0-9]+)*\\s", 12 | relevance:10}]},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{ 13 | begin:"[vp][0-9]+"}]}}})();hljs.registerLanguage("smali",e)})(); -------------------------------------------------------------------------------- /layouts/partials/highlightjs/scripts.ftl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/gcode.min.js: -------------------------------------------------------------------------------- 1 | /*! `gcode` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a=e.inherit(e.C_NUMBER_MODE,{ 3 | begin:"([-+]?((\\.\\d+)|(\\d+)(\\.\\d*)?))|"+e.C_NUMBER_RE 4 | }),n=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(/\(/,/\)/),a,e.inherit(e.APOS_STRING_MODE,{ 5 | illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"name", 6 | begin:"([G])([0-9]+\\.?[0-9]?)"},{className:"name", 7 | begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"attr",begin:"(VC|VS|#)", 8 | end:"(\\d+)"},{className:"attr",begin:"(VZOFX|VZOFY|VZOFZ)"},{ 9 | className:"built_in", 10 | begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",contains:[a], 11 | end:"\\]"},{className:"symbol",variants:[{begin:"N",end:"\\d+",illegal:"\\W"}]}] 12 | ;return{name:"G-code (ISO 6983)",aliases:["nc"],case_insensitive:!0,keywords:{ 13 | $pattern:"[A-Z_][A-Z0-9_.]*", 14 | keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR" 15 | },contains:[{className:"meta",begin:"%"},{className:"meta",begin:"([O])([0-9]+)" 16 | }].concat(n)}}})();hljs.registerLanguage("gcode",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/a11y-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: a11y-light 3 | Author: @ericwbailey 4 | Maintainer: @ericwbailey 5 | 6 | Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css 7 | */.hljs{background:#fefefe;color:#545454}.hljs-comment,.hljs-quote{color:#696969}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#d91e18}.hljs-attribute,.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#aa5d00}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:green}.hljs-section,.hljs-title{color:#007faa}.hljs-keyword,.hljs-selector-tag{color:#7928a1}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast:active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/default.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | Theme: Default 3 | Description: Original highlight.js style 4 | Author: (c) Ivan Sagalaev 5 | Maintainer: @highlightjs/core-team 6 | Website: https://highlightjs.org/ 7 | License: see project LICENSE 8 | Touched: 2021 9 | */pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/a11y-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: a11y-dark 3 | Author: @ericwbailey 4 | Maintainer: @ericwbailey 5 | 6 | Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css 7 | */.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast:active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

halo-theme-zozo

2 | 3 | ## 说明 4 | 5 | 该主题的原作者为 [zeuk](https://zeuk.me),非常感谢做出这么优秀的主题。 6 | 7 | 原主题地址:[https://github.com/imzeuk/hugo-theme-zozo](https://github.com/imzeuk/hugo-theme-zozo) 8 | 9 | ## 预览截图 10 | 11 | ![index](https://i.loli.net/2019/09/19/6TQ3ehzraHUmGwn.png) 12 | 13 | ![settings](https://i.loli.net/2019/05/29/5ced70ab1b34a26780.png) 14 | 15 | ## 预览地址 16 | 17 | [https://zeuk.me](https://zeuk.me) 18 | 19 | ## 安装方法 20 | 21 | ### 方法一 22 | 23 | 1. [点击](https://github.com/halo-dev/halo-theme-zozo/archive/master.zip)下载。 24 | 2. 进入后台 -> 外观 -> 主题。 25 | 3. 点击右下方按钮选择安装主题,随后选择 `本地上传`。 26 | 4. 选择下载好的主题包(zip)即可。 27 | 28 | ### 方法二 29 | 30 | 1. 复制 `https://github.com/halo-dev/halo-theme-zozo`。 31 | 2. 进入后台 -> 外观 -> 主题。 32 | 3. 点击右下方按钮选择安装主题,随后选择 `远程拉取`。 33 | 4. 粘贴复制的链接到远程地址,点击下载即可。 34 | 35 | ## 更新方法 36 | 37 | ### 方法一 38 | 39 | 1. 进入后台 -> 外观 -> 主题。 40 | 2. 找到需要更新的主题,点击主题下方的 `更多` 按钮。 41 | 3. 点击 `在线更新`。 42 | 43 | ### 方法二 44 | 45 | 1. [点击](https://github.com/halo-dev/halo-theme-zozo/archive/master.zip)下载最新的版本。 46 | 2. 进入后台 -> 外观 -> 主题。 47 | 3. 找到需要更新的主题,点击主题下方的 `更多` 按钮。 48 | 4. 点击 `从主题包更新`,选择下载好的主题包(zip)即可。 49 | 50 | 51 | -------------------------------------------------------------------------------- /categories.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="分类 · ${blog_title!}" canonical="${categories_url!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 | 22 |
23 | 24 |
25 | 26 |
27 | <#include "layouts/partials/footer.ftl"> 28 | <#include "layouts/partials/js.ftl"> 29 | 30 | 31 | -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/felipec.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | * Theme: FelipeC 3 | * Author: (c) 2021 Felipe Contreras 4 | * Website: https://github.com/felipec/vim-felipec 5 | * 6 | * Autogenerated with vim-felipec's generator. 7 | */.hljs{color:#dddde1;background:#1e1e22}.hljs ::selection,.hljs::selection{color:#1e1e22;background:#bf8fef}.hljs-code,.hljs-comment,.hljs-quote{color:#888896}.hljs-deletion,.hljs-literal,.hljs-number{color:#ef8f8f}.hljs-doctag,.hljs-meta,.hljs-operator,.hljs-punctuation,.hljs-selector-attr,.hljs-subst,.hljs-template-variable{color:#efbf8f}.hljs-type{color:#efef8f}.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-title{color:#bfef8f}.hljs-addition,.hljs-regexp,.hljs-string{color:#8fef8f}.hljs-class,.hljs-property{color:#8fefbf}.hljs-name,.hljs-selector-tag{color:#8fefef}.hljs-built_in,.hljs-keyword{color:#8fbfef}.hljs-bullet,.hljs-section{color:#8f8fef}.hljs-selector-pseudo{color:#bf8fef}.hljs-attr,.hljs-attribute,.hljs-params,.hljs-variable{color:#ef8fef}.hljs-link,.hljs-symbol{color:#ef8fbf}.hljs-literal,.hljs-strong,.hljs-title{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/atom-one-dark-reasonable.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-keyword,.hljs-operator,.hljs-pattern-match{color:#f92672}.hljs-function,.hljs-pattern-match .hljs-constructor{color:#61aeee}.hljs-function .hljs-params{color:#a6e22e}.hljs-function .hljs-params .hljs-typing{color:#fd971f}.hljs-module-access .hljs-module{color:#7e57c2}.hljs-constructor{color:#e2b93d}.hljs-constructor .hljs-string{color:#9ccc65}.hljs-comment,.hljs-quote{color:#b18eb1;font-style:italic}.hljs-doctag,.hljs-formula{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/makefile.min.js: -------------------------------------------------------------------------------- 1 | /*! `makefile` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const i={className:"variable", 3 | variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", 4 | contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{var e=(()=>{"use strict";return e=>({name:"Q",aliases:["k","kdb"], 3 | keywords:{$pattern:/(`?)[A-Za-z0-9_]+\b/, 4 | keyword:"do while select delete by update from",literal:"0b 1b", 5 | built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum", 6 | type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid" 7 | },contains:[e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]})})() 8 | ;hljs.registerLanguage("q",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/haml.min.js: -------------------------------------------------------------------------------- 1 | /*! `haml` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"HAML",case_insensitive:!0, 3 | contains:[{className:"meta", 4 | begin:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$", 5 | relevance:10},e.COMMENT("^\\s*(!=#|=#|-#|/).*$",null,{relevance:0}),{ 6 | begin:"^\\s*(-|=|!=)(?!#)",end:/$/,subLanguage:"ruby",excludeBegin:!0, 7 | excludeEnd:!0},{className:"tag",begin:"^\\s*%",contains:[{ 8 | className:"selector-tag",begin:"\\w+"},{className:"selector-id",begin:"#[\\w-]+" 9 | },{className:"selector-class",begin:"\\.[\\w-]+"},{begin:/\{\s*/,end:/\s*\}/, 10 | contains:[{begin:":\\w+\\s*=>",end:",\\s+",returnBegin:!0,endsWithParent:!0, 11 | contains:[{className:"attr",begin:":\\w+" 12 | },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]},{ 13 | begin:"\\(\\s*",end:"\\s*\\)",excludeEnd:!0,contains:[{begin:"\\w+\\s*=", 14 | end:"\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attr", 15 | begin:"\\w+",relevance:0},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\w+", 16 | relevance:0}]}]}]},{begin:"^\\s*[=~]\\s*"},{begin:/#\{/,end:/\}/, 17 | subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]})})() 18 | ;hljs.registerLanguage("haml",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/go.min.js: -------------------------------------------------------------------------------- 1 | /*! `go` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={ 3 | keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], 4 | type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], 5 | literal:["true","false","iota","nil"], 6 | built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] 7 | };return{name:"Go",aliases:["golang"],keywords:n,illegal:" 6 | License: see project LICENSE 7 | Touched: 2022 8 | */.hljs-comment,.hljs-meta{color:#565f89}.hljs-deletion,.hljs-doctag,.hljs-regexp,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-tag,.hljs-template-tag,.hljs-variable.language_{color:#f7768e}.hljs-link,.hljs-literal,.hljs-number,.hljs-params,.hljs-template-variable,.hljs-type,.hljs-variable{color:#ff9e64}.hljs-attribute,.hljs-built_in{color:#e0af68}.hljs-keyword,.hljs-property,.hljs-subst,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-addition,.hljs-bullet,.hljs-quote,.hljs-string,.hljs-symbol{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-attr,.hljs-char.escape_,.hljs-keyword,.hljs-name,.hljs-operator{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/tokyo-night-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: Tokyo-night-light 3 | origin: https://github.com/enkia/tokyo-night-vscode-theme 4 | Description: Original highlight.js style 5 | Author: (c) Henri Vandersleyen 6 | License: see project LICENSE 7 | Touched: 2022 8 | */.hljs-comment,.hljs-meta{color:#9699a3}.hljs-deletion,.hljs-doctag,.hljs-regexp,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-tag,.hljs-template-tag,.hljs-variable.language_{color:#8c4351}.hljs-link,.hljs-literal,.hljs-number,.hljs-params,.hljs-template-variable,.hljs-type,.hljs-variable{color:#965027}.hljs-attribute,.hljs-built_in{color:#8f5e15}.hljs-keyword,.hljs-property,.hljs-subst,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#0f4b6e}.hljs-selector-tag{color:#33635c}.hljs-addition,.hljs-bullet,.hljs-quote,.hljs-string,.hljs-symbol{color:#485e30}.hljs-code,.hljs-formula,.hljs-section{color:#34548a}.hljs-attr,.hljs-char.escape_,.hljs-keyword,.hljs-name,.hljs-operator{color:#5a4a78}.hljs-punctuation{color:#343b58}.hljs{background:#d5d6db;color:#565a6e}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/sml.min.js: -------------------------------------------------------------------------------- 1 | /*! `sml` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"SML (Standard ML)", 3 | aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?", 4 | keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while", 5 | built_in:"array bool char exn int list option order real ref string substring vector unit word", 6 | literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/, 7 | contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0 8 | },e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol", 9 | begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{ 10 | className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{ 11 | begin:"[a-z_]\\w*'[\\w']*"},e.inherit(e.APOS_STRING_MODE,{className:"string", 12 | relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number", 13 | begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)", 14 | relevance:0},{begin:/[-=]>/}]})})();hljs.registerLanguage("sml",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/github-dark-dimmed.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: GitHub Dark Dimmed 3 | Description: Dark dimmed theme as seen on github.com 4 | Author: github.com 5 | Maintainer: @Hirse 6 | Updated: 2021-05-15 7 | 8 | Colors taken from GitHub's CSS 9 | */.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#6cb6ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-code,.hljs-comment,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/lisp.min.js: -------------------------------------------------------------------------------- 1 | /*! `lisp` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const n="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*",a="\\|[^]*?\\|",i="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?",s={ 4 | className:"literal",begin:"\\b(t{1}|nil)\\b"},l={className:"number",variants:[{ 5 | begin:i,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{ 6 | begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{ 7 | begin:"#(c|C)\\("+i+" +"+i,end:"\\)"}]},b=e.inherit(e.QUOTE_STRING_MODE,{ 8 | illegal:null}),g=e.COMMENT(";","$",{relevance:0}),r={begin:"\\*",end:"\\*"},t={ 9 | className:"symbol",begin:"[:&]"+n},c={begin:n,relevance:0},d={begin:a},o={ 10 | contains:[l,b,r,t,{begin:"\\(",end:"\\)",contains:["self",s,b,l,c]},c], 11 | variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{ 12 | name:"quote"}},{begin:"'"+a}]},v={variants:[{begin:"'"+n},{ 13 | begin:"#'"+n+"(::"+n+")*"}]},m={begin:"\\(\\s*",end:"\\)"},u={endsWithParent:!0, 14 | relevance:0};return m.contains=[{className:"name",variants:[{begin:n,relevance:0 15 | },{begin:a}]},u],u.contains=[o,v,m,s,l,b,g,r,t,d,c],{name:"Lisp",illegal:/\S/, 16 | contains:[l,e.SHEBANG(),s,b,g,o,v,m,c]}}})();hljs.registerLanguage("lisp",e) 17 | })(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/cal.min.js: -------------------------------------------------------------------------------- 1 | /*! `cal` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const n=e.regex,a=["div","mod","in","and","or","not","xor","asserterror","begin","case","do","downto","else","end","exit","for","local","if","of","repeat","then","to","until","while","with","var"],r=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{ 4 | relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],t={className:"string", 5 | begin:/'/,end:/'/,contains:[{begin:/''/}]},s={className:"string",begin:/(#\d+)+/ 6 | },i={match:[/procedure/,/\s+/,/[a-zA-Z_][\w@]*/,/\s*/],scope:{1:"keyword", 7 | 3:"title.function"},contains:[{className:"params",begin:/\(/,end:/\)/, 8 | keywords:a,contains:[t,s,e.NUMBER_MODE]},...r]},o={ 9 | match:[/OBJECT/,/\s+/,n.either("Table","Form","Report","Dataport","Codeunit","XMLport","MenuSuite","Page","Query"),/\s+/,/\d+/,/\s+(?=[^\s])/,/.*/,/$/], 10 | relevance:3,scope:{1:"keyword",3:"type",5:"number",7:"title"}};return{ 11 | name:"C/AL",case_insensitive:!0,keywords:{keyword:a,literal:"false true"}, 12 | illegal:/\/\*/,contains:[{match:/[\w]+(?=\=)/,scope:"attribute",relevance:0 13 | },t,s,{className:"number",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0},{ 14 | className:"string",begin:'"',end:'"'},e.NUMBER_MODE,o,i]}}})() 15 | ;hljs.registerLanguage("cal",e)})(); -------------------------------------------------------------------------------- /sheet.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="${sheet.title!} · ${blog_title!}" canonical="${sheet.fullPath!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 |
10 |
11 |

${sheet.title!}

12 | ${sheet.createTime?string('yyyy.MM.dd')} 13 |
14 |
${sheet.formatContent}
15 | 17 |
18 | 19 | <#include "layouts/partials/comments.ftl"> 20 | <@comment post=sheet type="sheet" /> 21 |
22 |
23 | 24 |
25 | <#include "layouts/partials/footer.ftl"> 26 | <#include "layouts/partials/js.ftl"> 27 | <#include "./layouts/partials/highlightjs/libs-import.ftl" /> 28 | <#include "./layouts/partials/highlightjs/scripts.ftl" /> 29 | 30 | 31 | -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/stackoverflow-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: StackOverflow Dark 3 | Description: Dark theme as used on stackoverflow.com 4 | Author: stackoverflow.com 5 | Maintainer: @Hirse 6 | Website: https://github.com/StackExchange/Stacks 7 | License: MIT 8 | Updated: 2021-05-15 9 | 10 | Updated for @stackoverflow/stacks v0.64.0 11 | Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less 12 | Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less 13 | */.hljs{color:#fff;background:#1c1b1b}.hljs-subst{color:#fff}.hljs-comment{color:#999}.hljs-attr,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-section,.hljs-selector-tag{color:#88aece}.hljs-attribute{color:#c59bc1}.hljs-name,.hljs-number,.hljs-quote,.hljs-selector-id,.hljs-template-tag,.hljs-type{color:#f08d49}.hljs-selector-class{color:#88aece}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-string,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#b5bd68}.hljs-meta,.hljs-selector-pseudo{color:#88aece}.hljs-built_in,.hljs-literal,.hljs-title{color:#f08d49}.hljs-bullet,.hljs-code{color:#ccc}.hljs-meta .hljs-string{color:#b5bd68}.hljs-deletion{color:#de7176}.hljs-addition{color:#76c490}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/elm.min.js: -------------------------------------------------------------------------------- 1 | /*! `elm` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={ 3 | variants:[e.COMMENT("--","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},i={ 4 | className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},s={begin:"\\(",end:"\\)", 5 | illegal:'"',contains:[{className:"type", 6 | begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},n]};return{name:"Elm", 7 | keywords:["let","in","if","then","else","case","of","where","module","import","exposing","type","alias","as","infix","infixl","infixr","port","effect","command","subscription"], 8 | contains:[{beginKeywords:"port effect module",end:"exposing", 9 | keywords:"port effect module where command subscription exposing", 10 | contains:[s,n],illegal:"\\W\\.|;"},{begin:"import",end:"$", 11 | keywords:"import as exposing",contains:[s,n],illegal:"\\W\\.|;"},{begin:"type", 12 | end:"$",keywords:"type alias",contains:[i,s,{begin:/\{/,end:/\}/, 13 | contains:s.contains},n]},{beginKeywords:"infix infixl infixr",end:"$", 14 | contains:[e.C_NUMBER_MODE,n]},{begin:"port",end:"$",keywords:"port",contains:[n] 15 | },{className:"string",begin:"'\\\\?.",end:"'",illegal:"." 16 | },e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,i,e.inherit(e.TITLE_MODE,{ 17 | begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}],illegal:/;/}}})() 18 | ;hljs.registerLanguage("elm",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/scilab.min.js: -------------------------------------------------------------------------------- 1 | /*! `scilab` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n=[e.C_NUMBER_MODE,{ 3 | className:"string",begin:"'|\"",end:"'|\"",contains:[e.BACKSLASH_ESCAPE,{ 4 | begin:"''"}]}];return{name:"Scilab",aliases:["sci"],keywords:{$pattern:/%?\w+/, 5 | keyword:"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while", 6 | literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s", 7 | built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix" 8 | },illegal:'("|#|/\\*|\\s+/\\w+)',contains:[{className:"function", 9 | beginKeywords:"function",end:"$",contains:[e.UNDERSCORE_TITLE_MODE,{ 10 | className:"params",begin:"\\(",end:"\\)"}]},{ 11 | begin:"[a-zA-Z_][a-zA-Z_0-9]*[\\.']+",relevance:0},{begin:"\\[", 12 | end:"\\][\\.']*",relevance:0,contains:n},e.COMMENT("//","$")].concat(n)}}})() 13 | ;hljs.registerLanguage("scilab",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/github.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: GitHub 3 | Description: Light theme as seen on github.com 4 | Author: github.com 5 | Maintainer: @Hirse 6 | Updated: 2021-05-15 7 | 8 | Outdated base version: https://github.com/primer/github-syntax-light 9 | Current colors taken from GitHub's CSS 10 | */.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/stackoverflow-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: StackOverflow Light 3 | Description: Light theme as used on stackoverflow.com 4 | Author: stackoverflow.com 5 | Maintainer: @Hirse 6 | Website: https://github.com/StackExchange/Stacks 7 | License: MIT 8 | Updated: 2021-05-15 9 | 10 | Updated for @stackoverflow/stacks v0.64.0 11 | Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less 12 | Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less 13 | */.hljs{color:#2f3337;background:#f6f6f6}.hljs-subst{color:#2f3337}.hljs-comment{color:#656e77}.hljs-attr,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-section,.hljs-selector-tag{color:#015692}.hljs-attribute{color:#803378}.hljs-name,.hljs-number,.hljs-quote,.hljs-selector-id,.hljs-template-tag,.hljs-type{color:#b75501}.hljs-selector-class{color:#015692}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-string,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#54790d}.hljs-meta,.hljs-selector-pseudo{color:#015692}.hljs-built_in,.hljs-literal,.hljs-title{color:#b75501}.hljs-bullet,.hljs-code{color:#535a60}.hljs-meta .hljs-string{color:#54790d}.hljs-deletion{color:#c02d2e}.hljs-addition{color:#2f6f44}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/github-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: GitHub Dark 3 | Description: Dark theme as seen on github.com 4 | Author: github.com 5 | Maintainer: @Hirse 6 | Updated: 2021-05-15 7 | 8 | Outdated base version: https://github.com/primer/github-syntax-dark 9 | Current colors taken from GitHub's CSS 10 | */.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c} -------------------------------------------------------------------------------- /links.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="友情链接 · ${blog_title!}" canonical="${links_url!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 | <@linkTag method="listTeams"> 10 | <#list teams as team> 11 |
${team.team!}
12 |
13 | <#list team.links as link> 14 |
15 |
16 | ${link.name!} 17 |
${link.description!}
18 |
19 |
20 | 21 |
22 | 23 | 24 |
25 | 26 |
27 | 28 |
29 | <#include "layouts/partials/footer.ftl"> 30 | <#include "layouts/partials/js.ftl"> 31 | 32 | 33 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/ceylon.min.js: -------------------------------------------------------------------------------- 1 | /*! `ceylon` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const a=["assembly","module","package","import","alias","class","interface","object","given","value","assign","void","function","new","of","extends","satisfies","abstracts","in","out","return","break","continue","throw","assert","dynamic","if","else","switch","case","for","while","try","catch","finally","then","let","this","outer","super","is","exists","nonempty"],s={ 4 | className:"subst",excludeBegin:!0,excludeEnd:!0,begin:/``/,end:/``/,keywords:a, 5 | relevance:10},n=[{className:"string",begin:'"""',end:'"""',relevance:10},{ 6 | className:"string",begin:'"',end:'"',contains:[s]},{className:"string", 7 | begin:"'",end:"'"},{className:"number", 8 | begin:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?", 9 | relevance:0}];return s.contains=n,{name:"Ceylon",keywords:{ 10 | keyword:a.concat(["shared","abstract","formal","default","actual","variable","late","native","deprecated","final","sealed","annotation","suppressWarnings","small"]), 11 | meta:["doc","by","license","see","throws","tagged"]}, 12 | illegal:"\\$[^01]|#[^0-9a-fA-F]", 13 | contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),{ 14 | className:"meta",begin:'@[a-z]\\w*(?::"[^"]*")?'}].concat(n)}}})() 15 | ;hljs.registerLanguage("ceylon",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/ocaml.min.js: -------------------------------------------------------------------------------- 1 | /*! `ocaml` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"OCaml",aliases:["ml"], 3 | keywords:{$pattern:"[a-z_]\\w*!?", 4 | keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value", 5 | built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref", 6 | literal:"true false"},illegal:/\/\/|>>/,contains:[{className:"literal", 7 | begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},e.COMMENT("\\(\\*","\\*\\)",{ 8 | contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{ 9 | className:"type",begin:"`[A-Z][\\w']*"},{className:"type", 10 | begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0 11 | },e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0 12 | }),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number", 13 | begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)", 14 | relevance:0},{begin:/->/}]})})();hljs.registerLanguage("ocaml",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/rib.min.js: -------------------------------------------------------------------------------- 1 | /*! `rib` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"RenderMan RIB", 3 | keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd", 4 | illegal:"{var t=(()=>{"use strict";return t=>({name:"Packet Filter config", 3 | aliases:["pf.conf"],keywords:{$pattern:/[a-z0-9_<>-]+/, 4 | built_in:"block match pass load anchor|5 antispoof|10 set table", 5 | keyword:"in out log quick on rdomain inet inet6 proto from port os to route allow-opts divert-packet divert-reply divert-to flags group icmp-type icmp6-type label once probability recieved-on rtable prio queue tos tag tagged user keep fragment for os drop af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin source-hash static-port dup-to reply-to route-to parent bandwidth default min max qlimit block-policy debug fingerprints hostid limit loginterface optimization reassemble ruleset-optimization basic none profile skip state-defaults state-policy timeout const counters persist no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy source-track global rule max-src-nodes max-src-states max-src-conn max-src-conn-rate overload flush scrub|5 max-mss min-ttl no-df|10 random-id", 6 | literal:"all any no-route self urpf-failed egress|5 unknown"}, 7 | contains:[t.HASH_COMMENT_MODE,t.NUMBER_MODE,t.QUOTE_STRING_MODE,{ 8 | className:"variable",begin:/\$[\w\d#@][\w\d_]*/,relevance:0},{ 9 | className:"variable",begin:/<(?!\/)/,end:/>/}]})})() 10 | ;hljs.registerLanguage("pf",t)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/rsl.min.js: -------------------------------------------------------------------------------- 1 | /*! `rsl` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const t={ 3 | match:[/(surface|displacement|light|volume|imager)/,/\s+/,e.IDENT_RE],scope:{ 4 | 1:"keyword",3:"title.class"}};return{name:"RenderMan RSL",keywords:{ 5 | keyword:["while","for","if","do","return","else","break","extern","continue"], 6 | built_in:["abs","acos","ambient","area","asin","atan","atmosphere","attribute","calculatenormal","ceil","cellnoise","clamp","comp","concat","cos","degrees","depth","Deriv","diffuse","distance","Du","Dv","environment","exp","faceforward","filterstep","floor","format","fresnel","incident","length","lightsource","log","match","max","min","mod","noise","normalize","ntransform","opposite","option","phong","pnoise","pow","printf","ptlined","radians","random","reflect","refract","renderinfo","round","setcomp","setxcomp","setycomp","setzcomp","shadow","sign","sin","smoothstep","specular","specularbrdf","spline","sqrt","step","tan","texture","textureinfo","trace","transform","vtransform","xcomp","ycomp","zcomp"], 7 | type:["matrix","float","color","point","normal","vector"]},illegal:"{var e=(()=>{"use strict";return e=>{const n={className:"keyword", 3 | begin:"\\$(f[asn]|t|vp[rtd]|children)"},r={className:"number", 4 | begin:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",relevance:0 5 | },s=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),a={className:"function", 6 | beginKeywords:"module function",end:/=|\{/,contains:[{className:"params", 7 | begin:"\\(",end:"\\)",contains:["self",r,s,n,{className:"literal", 8 | begin:"false|true|PI|undef"}]},e.UNDERSCORE_TITLE_MODE]};return{name:"OpenSCAD", 9 | aliases:["scad"],keywords:{ 10 | keyword:"function module include use for intersection_for if else \\%", 11 | literal:"false true PI undef", 12 | built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign" 13 | },contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,{className:"meta", 14 | keywords:{keyword:"include use"},begin:"include|use <",end:">"},s,n,{ 15 | begin:"[*!#%]",relevance:0},a]}}})();hljs.registerLanguage("openscad",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/agate.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: Agate 3 | Author: (c) Taufik Nurrohman 4 | Maintainer: @taufik-nurrohman 5 | Updated: 2021-04-24 6 | 7 | #333 8 | #62c8f3 9 | #7bd694 10 | #888 11 | #a2fca2 12 | #ade5fc 13 | #b8d8a2 14 | #c6b4f0 15 | #d36363 16 | #fc9b9b 17 | #fcc28c 18 | #ffa 19 | #fff 20 | */.hljs{background:#333;color:#fff}.hljs-doctag,.hljs-meta-keyword,.hljs-name,.hljs-strong{font-weight:700}.hljs-code,.hljs-emphasis{font-style:italic}.hljs-section,.hljs-tag{color:#62c8f3}.hljs-selector-class,.hljs-selector-id,.hljs-template-variable,.hljs-variable{color:#ade5fc}.hljs-meta-string,.hljs-string{color:#a2fca2}.hljs-attr,.hljs-quote,.hljs-selector-attr{color:#7bd694}.hljs-tag .hljs-attr{color:inherit}.hljs-attribute,.hljs-title,.hljs-type{color:#ffa}.hljs-number,.hljs-symbol{color:#d36363}.hljs-bullet,.hljs-template-tag{color:#b8d8a2}.hljs-built_in,.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:#fcc28c}.hljs-code,.hljs-comment,.hljs-formula{color:#888}.hljs-link,.hljs-regexp,.hljs-selector-pseudo{color:#c6b4f0}.hljs-meta{color:#fc9b9b}.hljs-deletion{background:#fc9b9b;color:#333}.hljs-addition{background:#a2fca2;color:#333}.hljs-subst{color:#fff}.hljs a{color:inherit}.hljs a:focus,.hljs a:hover{color:inherit;text-decoration:underline}.hljs mark{background:#555;color:inherit} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/nnfx-dark.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: nnfx dark 3 | Description: a theme inspired by Netscape Navigator/Firefox 4 | Author: (c) 2020-2021 Jim Mason 5 | Maintainer: @RocketMan 6 | License: https://creativecommons.org/licenses/by-sa/4.0 CC BY-SA 4.0 7 | Updated: 2021-05-17 8 | 9 | @version 1.1.0 10 | */.hljs{background:#333;color:#fff}.language-xml .hljs-meta,.language-xml .hljs-meta-string{font-weight:700;font-style:italic;color:#69f}.hljs-comment,.hljs-quote{font-style:italic;color:#9c6}.hljs-built_in,.hljs-keyword,.hljs-name{color:#a7a}.hljs-attr,.hljs-name{font-weight:700}.hljs-string{font-weight:400}.hljs-code,.hljs-link,.hljs-meta .hljs-string,.hljs-number,.hljs-regexp,.hljs-string{color:#bce}.hljs-bullet,.hljs-symbol,.hljs-template-variable,.hljs-title,.hljs-variable{color:#d40}.hljs-class .hljs-title,.hljs-title.class_,.hljs-type{font-weight:700;color:#96c}.hljs-attr,.hljs-function .hljs-title,.hljs-subst,.hljs-tag,.hljs-title.function_{color:#fff}.hljs-formula{background-color:#eee;font-style:italic}.hljs-addition{background-color:#797}.hljs-deletion{background-color:#c99}.hljs-meta{color:#69f}.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{font-weight:700;color:#69f}.hljs-selector-pseudo{font-style:italic}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/nnfx-light.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! 2 | Theme: nnfx light 3 | Description: a theme inspired by Netscape Navigator/Firefox 4 | Author: (c) 2020-2021 Jim Mason 5 | Maintainer: @RocketMan 6 | License: https://creativecommons.org/licenses/by-sa/4.0 CC BY-SA 4.0 7 | Updated: 2021-05-17 8 | 9 | @version 1.1.0 10 | */.hljs{background:#fff;color:#000}.language-xml .hljs-meta,.language-xml .hljs-meta-string{font-weight:700;font-style:italic;color:#48b}.hljs-comment,.hljs-quote{font-style:italic;color:#070}.hljs-built_in,.hljs-keyword,.hljs-name{color:#808}.hljs-attr,.hljs-name{font-weight:700}.hljs-string{font-weight:400}.hljs-code,.hljs-link,.hljs-meta .hljs-string,.hljs-number,.hljs-regexp,.hljs-string{color:#00f}.hljs-bullet,.hljs-symbol,.hljs-template-variable,.hljs-title,.hljs-variable{color:#f40}.hljs-class .hljs-title,.hljs-title.class_,.hljs-type{font-weight:700;color:#639}.hljs-attr,.hljs-function .hljs-title,.hljs-subst,.hljs-tag,.hljs-title.function_{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-addition{background-color:#beb}.hljs-deletion{background-color:#fbb}.hljs-meta{color:#269}.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{font-weight:700;color:#48b}.hljs-selector-pseudo{font-style:italic}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/cos.min.js: -------------------------------------------------------------------------------- 1 | /*! `cos` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Cach\xe9 Object Script", 3 | case_insensitive:!0,aliases:["cls"], 4 | keywords:"property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii", 5 | contains:[{className:"number",begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)",relevance:0},{ 6 | className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""', 7 | relevance:0}]}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ 8 | className:"comment",begin:/;/,end:"$",relevance:0},{className:"built_in", 9 | begin:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{className:"built_in", 10 | begin:/\$\$\$[a-zA-Z]+/},{className:"built_in",begin:/%[a-z]+(?:\.[a-z]+)*/},{ 11 | className:"symbol",begin:/\^%?[a-zA-Z][\w]*/},{className:"keyword", 12 | begin:/##class|##super|#define|#dim/},{begin:/&sql\(/,end:/\)/,excludeBegin:!0, 13 | excludeEnd:!0,subLanguage:"sql"},{begin:/&(js|jscript|javascript)/, 14 | excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"},{begin:/&html<\s*\s*>/,subLanguage:"xml"}]})})();hljs.registerLanguage("cos",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/dos.min.js: -------------------------------------------------------------------------------- 1 | /*! `dos` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const r=e.COMMENT(/^\s*@?rem\b/,/$/,{ 3 | relevance:10});return{name:"Batch file (DOS)",aliases:["bat","cmd"], 4 | case_insensitive:!0,illegal:/\/\*/,keywords:{ 5 | keyword:["if","else","goto","for","in","do","call","exit","not","exist","errorlevel","defined","equ","neq","lss","leq","gtr","geq"], 6 | built_in:["prn","nul","lpt3","lpt2","lpt1","con","com4","com3","com2","com1","aux","shift","cd","dir","echo","setlocal","endlocal","set","pause","copy","append","assoc","at","attrib","break","cacls","cd","chcp","chdir","chkdsk","chkntfs","cls","cmd","color","comp","compact","convert","date","dir","diskcomp","diskcopy","doskey","erase","fs","find","findstr","format","ftype","graftabl","help","keyb","label","md","mkdir","mode","more","move","path","pause","print","popd","pushd","promt","rd","recover","rem","rename","replace","restore","rmdir","shift","sort","start","subst","time","title","tree","type","ver","verify","vol","ping","net","ipconfig","taskkill","xcopy","ren","del"] 7 | },contains:[{className:"variable",begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{ 8 | className:"function",begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)", 9 | end:"goto:eof",contains:[e.inherit(e.TITLE_MODE,{ 10 | begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{ 11 | className:"number",begin:"\\b\\d+",relevance:0},r]}}})() 12 | ;hljs.registerLanguage("dos",e)})(); -------------------------------------------------------------------------------- /layouts/partials/header.ftl: -------------------------------------------------------------------------------- 1 |
2 |
3 | 11 |
12 |

${settings.sub_title!'the site subtitle'}

13 |
14 | <#if settings.github??> 15 | 16 | 17 | <#if settings.twitter??> 18 | 19 | 20 | <#if settings.facebook??> 21 | 22 | 23 | <#if settings.weibo??> 24 | 25 | 26 | <#if settings.instagram??> 27 | 28 | 29 | 30 |
31 |
32 |
33 |
34 | -------------------------------------------------------------------------------- /static/css/highlight.css: -------------------------------------------------------------------------------- 1 | code.hljs { 2 | display: block; 3 | white-space: pre; 4 | word-wrap: normal; 5 | } 6 | 7 | .hljs { 8 | display: block; 9 | padding: 0.5em; 10 | color: #333; 11 | background: #f8f8f8; 12 | } 13 | 14 | .hljs-quote { 15 | color: #998; 16 | font-style: italic; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-subst { 22 | color: #333; 23 | font-weight: bold; 24 | } 25 | 26 | .hljs-number, 27 | .hljs-literal, 28 | .hljs-variable, 29 | .hljs-template-variable, 30 | .hljs-tag .hljs-attr { 31 | color: #008080; 32 | } 33 | 34 | .hljs-string, 35 | .hljs-doctag { 36 | color: #d14; 37 | } 38 | 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-selector-id { 42 | color: #900; 43 | font-weight: bold; 44 | } 45 | 46 | .hljs-subst { 47 | font-weight: normal; 48 | } 49 | 50 | .hljs-type, 51 | .hljs-class .hljs-title { 52 | color: #458; 53 | font-weight: bold; 54 | } 55 | 56 | .hljs-tag, 57 | .hljs-name, 58 | .hljs-attribute { 59 | color: #000080; 60 | font-weight: normal; 61 | } 62 | 63 | .hljs-regexp, 64 | .hljs-link { 65 | color: #009926; 66 | } 67 | 68 | .hljs-symbol, 69 | .hljs-bullet { 70 | color: #990073; 71 | } 72 | 73 | .hljs-built_in, 74 | .hljs-builtin-name { 75 | color: #0086b3; 76 | } 77 | 78 | .hljs-deletion { 79 | background: #fdd; 80 | } 81 | 82 | .hljs-addition { 83 | background: #dfd; 84 | } 85 | 86 | .hljs-emphasis { 87 | font-style: italic; 88 | } 89 | 90 | .hljs-strong { 91 | font-weight: bold; 92 | } 93 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/crmsh.min.js: -------------------------------------------------------------------------------- 1 | /*! `crmsh` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const t="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml" 4 | ;return{name:"crmsh",aliases:["crm","pcmk"],case_insensitive:!0,keywords:{ 5 | keyword:"params meta operations op rule attributes utilization read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\ number string", 6 | literal:"Master Started Slave Stopped start promote demote stop monitor true false" 7 | },contains:[e.HASH_COMMENT_MODE,{beginKeywords:"node",starts:{ 8 | end:"\\s*([\\w_-]+:)?",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*"}} 9 | },{beginKeywords:"primitive rsc_template",starts:{className:"title", 10 | end:"\\s*[\\$\\w_][\\w_-]*",starts:{end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{ 11 | begin:"\\b("+t.split(" ").join("|")+")\\s+",keywords:t,starts:{ 12 | className:"title",end:"[\\$\\w_][\\w_-]*"}},{ 13 | beginKeywords:"property rsc_defaults op_defaults",starts:{className:"title", 14 | end:"\\s*([\\w_-]+:)?"}},e.QUOTE_STRING_MODE,{className:"meta", 15 | begin:"(ocf|systemd|service|lsb):[\\w_:-]+",relevance:0},{className:"number", 16 | begin:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",relevance:0},{className:"literal", 17 | begin:"[-]?(infinity|inf)",relevance:0},{className:"attr", 18 | begin:/([A-Za-z$_#][\w_-]+)=/,relevance:0},{className:"tag",begin:"",relevance:0}]}}})();hljs.registerLanguage("crmsh",e)})(); -------------------------------------------------------------------------------- /layouts/partials/post.ftl: -------------------------------------------------------------------------------- 1 | <#list posts.content as post> 2 |
3 |
4 |

${post.title!}

5 |
6 | <#if settings.enable_summary!true> 7 |
8 |
9 |

${post.summary!}......

10 |
11 |
12 | 13 | 31 |
32 | 33 | 34 | 50 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/dts.min.js: -------------------------------------------------------------------------------- 1 | /*! `dts` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const a={className:"string", 3 | variants:[e.inherit(e.QUOTE_STRING_MODE,{begin:'((u8?|U)|L)?"'}),{ 4 | begin:'(u8?|U)?R"',end:'"',contains:[e.BACKSLASH_ESCAPE]},{begin:"'\\\\?.", 5 | end:"'",illegal:"."}]},n={className:"number",variants:[{ 6 | begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:e.C_NUMBER_RE}], 7 | relevance:0},s={className:"meta",begin:"#",end:"$",keywords:{ 8 | keyword:"if else elif endif define undef ifdef ifndef"},contains:[{begin:/\\\n/, 9 | relevance:0},{beginKeywords:"include",end:"$",keywords:{keyword:"include"}, 10 | contains:[e.inherit(a,{className:"string"}),{className:"string",begin:"<", 11 | end:">",illegal:"\\n"}]},a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},i={ 12 | className:"variable",begin:/&[a-z\d_]*\b/};return{name:"Device Tree",contains:[{ 13 | className:"title.class",begin:/^\/(?=\s*\{)/,relevance:10},i,{ 14 | className:"keyword",begin:"/[a-z][a-z\\d-]*/"},{className:"symbol", 15 | begin:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},{className:"title.class", 16 | begin:/[a-zA-Z_][a-zA-Z\d_@-]*(?=\s\{)/,relevance:.2},{relevance:0, 17 | match:[/[a-z][a-z-,]+/,/\s*/,/=/],scope:{1:"attr",3:"operator"}},{ 18 | match:/[a-z][a-z-,]+(?=;)/,relevance:0,scope:"attr"},{className:"params", 19 | relevance:0,begin:"<",end:">",contains:[n,i] 20 | },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,a,s,{scope:"punctuation", 21 | relevance:0,match:/\};|[;{}]/},{begin:e.IDENT_RE+"::",keywords:""}]}}})() 22 | ;hljs.registerLanguage("dts",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2006, Ivan Sagalaev. 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/actionscript.min.js: -------------------------------------------------------------------------------- 1 | /*! `actionscript` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const a=e.regex,t=/[a-zA-Z_$][a-zA-Z0-9_$]*/,n=a.concat(t,a.concat("(\\.",t,")*")),s={ 4 | className:"rest_arg",begin:/[.]{3}/,end:t,relevance:10};return{ 5 | name:"ActionScript",aliases:["as"],keywords:{ 6 | keyword:["as","break","case","catch","class","const","continue","default","delete","do","dynamic","each","else","extends","final","finally","for","function","get","if","implements","import","in","include","instanceof","interface","internal","is","namespace","native","new","override","package","private","protected","public","return","set","static","super","switch","this","throw","try","typeof","use","var","void","while","with"], 7 | literal:["true","false","null","undefined"]}, 8 | contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{ 9 | match:[/\bpackage/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{ 10 | match:[/\b(?:class|interface|extends|implements)/,/\s+/,t],className:{ 11 | 1:"keyword",3:"title.class"}},{className:"meta",beginKeywords:"import include", 12 | end:/;/,keywords:{keyword:"import include"}},{beginKeywords:"function", 13 | end:/[{;]/,excludeEnd:!0,illegal:/\S/,contains:[e.inherit(e.TITLE_MODE,{ 14 | className:"title.function"}),{className:"params",begin:/\(/,end:/\)/, 15 | contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s] 16 | },{begin:a.concat(/:\s*/,/([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/)}]},e.METHOD_GUARD], 17 | illegal:/#/}}})();hljs.registerLanguage("actionscript",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/monkey.min.js: -------------------------------------------------------------------------------- 1 | /*! `monkey` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={className:"number", 3 | relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},e.NUMBER_MODE]},a={variants:[{ 4 | match:[/(function|method)/,/\s+/,e.UNDERSCORE_IDENT_RE]}],scope:{1:"keyword", 5 | 3:"title.function"}},t={variants:[{ 6 | match:[/(class|interface|extends|implements)/,/\s+/,e.UNDERSCORE_IDENT_RE]}], 7 | scope:{1:"keyword",3:"title.class"}};return{name:"Monkey",case_insensitive:!0, 8 | keywords:{ 9 | keyword:["public","private","property","continue","exit","extern","new","try","catch","eachin","not","abstract","final","select","case","default","const","local","global","field","end","if","then","else","elseif","endif","while","wend","repeat","until","forever","for","to","step","next","return","module","inline","throw","import","and","or","shl","shr","mod"], 10 | built_in:["DebugLog","DebugStop","Error","Print","ACos","ACosr","ASin","ASinr","ATan","ATan2","ATan2r","ATanr","Abs","Abs","Ceil","Clamp","Clamp","Cos","Cosr","Exp","Floor","Log","Max","Max","Min","Min","Pow","Sgn","Sgn","Sin","Sinr","Sqrt","Tan","Tanr","Seed","PI","HALFPI","TWOPI"], 11 | literal:["true","false","null"]},illegal:/\/\*/, 12 | contains:[e.COMMENT("#rem","#end"),e.COMMENT("'","$",{relevance:0}),a,t,{ 13 | className:"variable.language",begin:/\b(self|super)\b/},{className:"meta", 14 | begin:/\s*#/,end:"$",keywords:{keyword:"if else elseif endif end then"}},{ 15 | match:[/^\s*/,/strict\b/],scope:{2:"meta"}},{beginKeywords:"alias",end:"=", 16 | contains:[e.UNDERSCORE_TITLE_MODE]},e.QUOTE_STRING_MODE,n]}}})() 17 | ;hljs.registerLanguage("monkey",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/styles/grayscale.min.css: -------------------------------------------------------------------------------- 1 | pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#333;background:#fff}.hljs-comment,.hljs-quote{color:#777;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number{color:#777}.hljs-doctag,.hljs-formula,.hljs-string{color:#333;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC)}.hljs-section,.hljs-selector-id,.hljs-title{color:#000;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-name,.hljs-title.class_,.hljs-type{color:#333;font-weight:700}.hljs-tag{color:#333}.hljs-regexp{color:#333;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==)}.hljs-bullet,.hljs-link,.hljs-symbol{color:#000;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==)}.hljs-built_in{color:#000;text-decoration:underline}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{color:#fff;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==)}.hljs-addition{color:#000;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/nginx.min.js: -------------------------------------------------------------------------------- 1 | /*! `nginx` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={ 3 | className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{ 4 | begin:n.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},s={endsWithParent:!0,keywords:{ 5 | $pattern:/[a-z_]{2,}|\/dev\/poll/, 6 | literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"] 7 | },relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string", 8 | contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/ 9 | }]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[a] 10 | },{className:"regexp",contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:"\\s\\^", 11 | end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{ 12 | begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number", 13 | begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{ 14 | className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},a]};return{ 15 | name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{ 16 | beginKeywords:"upstream location",end:/;|\{/,contains:s.contains,keywords:{ 17 | section:"upstream location"}},{className:"section", 18 | begin:n.concat(e.UNDERSCORE_IDENT_RE+n.lookahead(/\s+\{/)),relevance:0},{ 19 | begin:n.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{ 20 | className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:s}],relevance:0}], 21 | illegal:"[^\\s\\}\\{]"}}})();hljs.registerLanguage("nginx",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/purebasic.min.js: -------------------------------------------------------------------------------- 1 | /*! `purebasic` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"PureBASIC", 3 | aliases:["pb","pbi"], 4 | keywords:"Align And Array As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount Map Module NewList NewMap Next Not Or Procedure ProcedureC ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim Read Repeat Restore Return Runtime Select Shared Static Step Structure StructureUnion Swap Threaded To UndefineMacro Until Until UnuseModule UseModule Wend While With XIncludeFile XOr", 5 | contains:[e.COMMENT(";","$",{relevance:0}),{className:"function", 6 | begin:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",end:"\\(",excludeEnd:!0, 7 | returnBegin:!0,contains:[{className:"keyword", 8 | begin:"(Procedure|Declare)(C|CDLL|DLL)?",excludeEnd:!0},{className:"type", 9 | begin:"\\.\\w*"},e.UNDERSCORE_TITLE_MODE]},{className:"string",begin:'(~)?"', 10 | end:'"',illegal:"\\n"},{className:"symbol",begin:"#[a-zA-Z_]\\w*\\$?"}]})})() 11 | ;hljs.registerLanguage("purebasic",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/groovy.min.js: -------------------------------------------------------------------------------- 1 | /*! `groovy` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";function e(e,a={}){return a.variants=e,a} 3 | return a=>{ 4 | const n=a.regex,t="[A-Za-z0-9_$]+",r=e([a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT("/\\*\\*","\\*/",{ 5 | relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag", 6 | begin:"@[A-Za-z]+"}]})]),s={className:"regexp",begin:/~?\/[^\/\n]+\//, 7 | contains:[a.BACKSLASH_ESCAPE] 8 | },i=e([a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]),l=e([{begin:/"""/,end:/"""/},{ 9 | begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10 10 | },a.APOS_STRING_MODE,a.QUOTE_STRING_MODE],{className:"string"}),c={ 11 | match:[/(class|interface|trait|enum|extends|implements)/,/\s+/,a.UNDERSCORE_IDENT_RE], 12 | scope:{1:"keyword",3:"title.class"}};return{name:"Groovy",keywords:{ 13 | "variable.language":"this super",literal:"true false null", 14 | type:["byte","short","char","int","long","boolean","float","double","void"], 15 | keyword:["def","as","in","assert","trait","abstract","static","volatile","transient","public","private","protected","synchronized","final","class","interface","enum","if","else","for","while","switch","case","break","default","continue","throw","throws","try","catch","finally","implements","extends","new","import","package","return","instanceof"] 16 | },contains:[a.SHEBANG({binary:"groovy",relevance:10}),r,l,s,i,c,{ 17 | className:"meta",begin:"@[A-Za-z]+",relevance:0},{className:"attr", 18 | begin:t+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0, 19 | contains:[r,l,s,i,"self"]},{className:"symbol", 20 | begin:"^[ \t]*"+n.lookahead(t+":"),excludeBegin:!0,end:t+":",relevance:0}], 21 | illegal:/#|<\//}}})();hljs.registerLanguage("groovy",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/zephir.min.js: -------------------------------------------------------------------------------- 1 | /*! `zephir` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={className:"string", 3 | contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.APOS_STRING_MODE,{ 4 | illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})] 5 | },a=e.UNDERSCORE_TITLE_MODE,s={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE] 6 | },i="namespace class interface use extends function return abstract final public protected private static deprecated throw try catch Exception echo empty isset instanceof unset let var new const self require if else elseif switch case default do while loop for continue break likely unlikely __LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ array boolean float double integer object resource string char long unsigned bool int uint ulong uchar true false null undefined" 7 | ;return{name:"Zephir",aliases:["zep"],keywords:i, 8 | contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(/\/\*/,/\*\//,{contains:[{ 9 | className:"doctag",begin:/@[A-Za-z]+/}]}),{className:"string", 10 | begin:/<<<['"]?\w+['"]?$/,end:/^\w+;/,contains:[e.BACKSLASH_ESCAPE]},{ 11 | begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function", 12 | beginKeywords:"function fn",end:/[;{]/,excludeEnd:!0,illegal:/\$|\[|%/, 13 | contains:[a,{className:"params",begin:/\(/,end:/\)/,keywords:i, 14 | contains:["self",e.C_BLOCK_COMMENT_MODE,n,s]}]},{className:"class", 15 | beginKeywords:"class interface",end:/\{/,excludeEnd:!0,illegal:/[:($"]/, 16 | contains:[{beginKeywords:"extends implements"},a]},{beginKeywords:"namespace", 17 | end:/;/,illegal:/[.']/,contains:[a]},{beginKeywords:"use",end:/;/,contains:[a] 18 | },{begin:/=>/},n,s]}}})();hljs.registerLanguage("zephir",e)})(); -------------------------------------------------------------------------------- /static/libs/katex/contrib/mathtex-script-type.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],t);else{var r="object"==typeof exports?t(require("katex")):t(e.katex);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),u=document.body.getElementsByTagName("script");(u=Array.prototype.slice.call(u)).forEach(function(e){if(!e.type||!e.type.match(/math\/tex/i))return-1;var t=null!=e.type.match(/mode\s*=\s*display(;|\s|\n|$)/),r=document.createElement(t?"div":"span");r.setAttribute("class",t?"equation":"inline-equation");try{o.a.render(e.text,r,{displayMode:t})}catch(t){r.textContent=e.text}e.parentNode.replaceChild(r,e)})}]).default}); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/tp.min.js: -------------------------------------------------------------------------------- 1 | /*! `tp` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var O=(()=>{"use strict";return O=>{const e={className:"number", 3 | begin:"[1-9][0-9]*",relevance:0},R={className:"symbol",begin:":[^\\]]+"};return{ 4 | name:"TP",keywords:{ 5 | keyword:["ABORT","ACC","ADJUST","AND","AP_LD","BREAK","CALL","CNT","COL","CONDITION","CONFIG","DA","DB","DIV","DETECT","ELSE","END","ENDFOR","ERR_NUM","ERROR_PROG","FINE","FOR","GP","GUARD","INC","IF","JMP","LINEAR_MAX_SPEED","LOCK","MOD","MONITOR","OFFSET","Offset","OR","OVERRIDE","PAUSE","PREG","PTH","RT_LD","RUN","SELECT","SKIP","Skip","TA","TB","TO","TOOL_OFFSET","Tool_Offset","UF","UT","UFRAME_NUM","UTOOL_NUM","UNLOCK","WAIT","X","Y","Z","W","P","R","STRLEN","SUBSTR","FINDSTR","VOFFSET","PROG","ATTR","MN","POS"], 6 | literal:["ON","OFF","max_speed","LPOS","JPOS","ENABLE","DISABLE","START","STOP","RESET"] 7 | },contains:[{className:"built_in", 8 | begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[", 9 | end:"\\]",contains:["self",e,R]},{className:"built_in", 10 | begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]", 11 | contains:["self",e,O.QUOTE_STRING_MODE,R]},{className:"keyword", 12 | begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword", 13 | begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword", 14 | begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{ 15 | className:"number", 16 | begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0 17 | },O.COMMENT("//","[;$]"),O.COMMENT("!","[;$]"),O.COMMENT("--eg:","$"),O.QUOTE_STRING_MODE,{ 18 | className:"string",begin:"'",end:"'"},O.C_NUMBER_MODE,{className:"variable", 19 | begin:"\\$[A-Za-z0-9_]+"}]}}})();hljs.registerLanguage("tp",O)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/axapta.min.js: -------------------------------------------------------------------------------- 1 | /*! `axapta` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const t=e.UNDERSCORE_IDENT_RE,s={ 3 | keyword:["abstract","as","asc","avg","break","breakpoint","by","byref","case","catch","changecompany","class","client","client","common","const","continue","count","crosscompany","delegate","delete_from","desc","display","div","do","edit","else","eventhandler","exists","extends","final","finally","firstfast","firstonly","firstonly1","firstonly10","firstonly100","firstonly1000","flush","for","forceliterals","forcenestedloop","forceplaceholders","forceselectorder","forupdate","from","generateonly","group","hint","if","implements","in","index","insert_recordset","interface","internal","is","join","like","maxof","minof","mod","namespace","new","next","nofetch","notexists","optimisticlock","order","outer","pessimisticlock","print","private","protected","public","readonly","repeatableread","retry","return","reverse","select","server","setting","static","sum","super","switch","this","throw","try","ttsabort","ttsbegin","ttscommit","unchecked","update_recordset","using","validtimestate","void","where","while"], 4 | built_in:["anytype","boolean","byte","char","container","date","double","enum","guid","int","int64","long","real","short","str","utcdatetime","var"], 5 | literal:["default","false","null","true"]},r={variants:[{ 6 | match:[/(class|interface)\s+/,t,/\s+(extends|implements)\s+/,t]},{ 7 | match:[/class\s+/,t]}],scope:{2:"title.class",4:"title.class.inherited"}, 8 | keywords:s};return{name:"X++",aliases:["x++"],keywords:s, 9 | contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{ 10 | className:"meta",begin:"#",end:"$"},r]}}})();hljs.registerLanguage("axapta",e) 11 | })(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/nim.min.js: -------------------------------------------------------------------------------- 1 | /*! `nim` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>({name:"Nim",keywords:{ 3 | keyword:["addr","and","as","asm","bind","block","break","case","cast","const","continue","converter","discard","distinct","div","do","elif","else","end","enum","except","export","finally","for","from","func","generic","guarded","if","import","in","include","interface","is","isnot","iterator","let","macro","method","mixin","mod","nil","not","notin","object","of","or","out","proc","ptr","raise","ref","return","shared","shl","shr","static","template","try","tuple","type","using","var","when","while","with","without","xor","yield"], 4 | literal:["true","false"], 5 | type:["int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","float","float32","float64","bool","char","string","cstring","pointer","expr","stmt","void","auto","any","range","array","openarray","varargs","seq","set","clong","culong","cchar","cschar","cshort","cint","csize","clonglong","cfloat","cdouble","clongdouble","cuchar","cushort","cuint","culonglong","cstringarray","semistatic"], 6 | built_in:["stdin","stdout","stderr","result"]},contains:[{className:"meta", 7 | begin:/\{\./,end:/\.\}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/, 8 | end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/, 9 | end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/, 10 | relevance:0},{className:"number",relevance:0,variants:[{ 11 | begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{ 12 | begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{ 13 | begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{ 14 | begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]})})() 15 | ;hljs.registerLanguage("nim",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/wasm.min.js: -------------------------------------------------------------------------------- 1 | /*! `wasm` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{e.regex;const a=e.COMMENT(/\(;/,/;\)/) 3 | ;return a.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, 4 | keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] 5 | },contains:[e.COMMENT(/;;/,/$/),a,{match:[/(?:offset|align)/,/\s*/,/=/], 6 | className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ 7 | match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ 8 | begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", 9 | 3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, 10 | className:"type"},{className:"keyword", 11 | match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ 12 | },{className:"number",relevance:0, 13 | match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ 14 | }]}}})();hljs.registerLanguage("wasm",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/angelscript.min.js: -------------------------------------------------------------------------------- 1 | /*! `angelscript` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={className:"built_in", 3 | begin:"\\b(void|bool|int8|int16|int32|int64|int|uint8|uint16|uint32|uint64|uint|string|ref|array|double|float|auto|dictionary)" 4 | },a={className:"symbol",begin:"[a-zA-Z0-9_]+@"},i={className:"keyword", 5 | begin:"<",end:">",contains:[n,a]};return n.contains=[i],a.contains=[i],{ 6 | name:"AngelScript",aliases:["asc"], 7 | keywords:["for","in|0","break","continue","while","do|0","return","if","else","case","switch","namespace","is","cast","or","and","xor","not","get|0","in","inout|10","out","override","set|0","private","public","const","default|0","final","shared","external","mixin|10","enum","typedef","funcdef","this","super","import","from","interface","abstract|0","try","catch","protected","explicit","property"], 8 | illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\\s*[^\\(])",contains:[{ 9 | className:"string",begin:"'",end:"'",illegal:"\\n", 10 | contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""', 11 | end:'"""'},{className:"string",begin:'"',end:'"',illegal:"\\n", 12 | contains:[e.BACKSLASH_ESCAPE],relevance:0 13 | },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string", 14 | begin:"^\\s*\\[",end:"\\]"},{beginKeywords:"interface namespace",end:/\{/, 15 | illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{ 16 | beginKeywords:"class",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol", 17 | begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol", 18 | begin:"[a-zA-Z0-9_]+"}]}]}]},n,a,{className:"literal", 19 | begin:"\\b(null|true|false)"},{className:"number",relevance:0, 20 | begin:"(-?)(\\b0[xXbBoOdD][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)" 21 | }]}}})();hljs.registerLanguage("angelscript",e)})(); -------------------------------------------------------------------------------- /tag.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="标签:${tag.name} · ${blog_title!}" canonical="${tag.fullPath!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 |
标签:${tag.name}
10 |
11 | <#list posts.content as post> 12 |
13 |
14 | ${post.title!} 15 |
${post.createTime?string('yyyy-MM-dd')}
16 |
17 |
18 | 19 |
20 |
21 | 37 |
38 | 39 |
40 | <#include "layouts/partials/footer.ftl"> 41 | <#include "layouts/partials/js.ftl"> 42 | 43 | 44 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/moonscript.min.js: -------------------------------------------------------------------------------- 1 | /*! `moonscript` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const n={ 3 | keyword:"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using", 4 | literal:"true false nil", 5 | built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table" 6 | },s="[A-Za-z$_][0-9A-Za-z$_]*",a={className:"subst",begin:/#\{/,end:/\}/, 7 | keywords:n},t=[e.inherit(e.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0} 8 | }),{className:"string",variants:[{begin:/'/,end:/'/, 9 | contains:[e.BACKSLASH_ESCAPE]},{begin:/"/,end:/"/, 10 | contains:[e.BACKSLASH_ESCAPE,a]}]},{className:"built_in",begin:"@__"+e.IDENT_RE 11 | },{begin:"@"+e.IDENT_RE},{begin:e.IDENT_RE+"\\\\"+e.IDENT_RE}];a.contains=t 12 | ;const i=e.inherit(e.TITLE_MODE,{begin:s}),r="(\\(.*\\)\\s*)?\\B[-=]>",l={ 13 | className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/, 14 | end:/\)/,keywords:n,contains:["self"].concat(t)}]};return{name:"MoonScript", 15 | aliases:["moon"],keywords:n,illegal:/\/\*/, 16 | contains:t.concat([e.COMMENT("--","$"),{className:"function", 17 | begin:"^\\s*"+s+"\\s*=\\s*"+r,end:"[-=]>",returnBegin:!0,contains:[i,l]},{ 18 | begin:/[\(,:=]\s*/,relevance:0,contains:[{className:"function",begin:r, 19 | end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class", 20 | beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{ 21 | beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[i]},i] 22 | },{className:"name",begin:s+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0 23 | }])}}})();hljs.registerLanguage("moonscript",e)})(); -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/django.min.js: -------------------------------------------------------------------------------- 1 | /*! `django` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{const t={begin:/\|[A-Za-z]+:?/, 3 | keywords:{ 4 | name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone" 5 | },contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE]};return{name:"Django", 6 | aliases:["jinja"],case_insensitive:!0,subLanguage:"xml", 7 | contains:[e.COMMENT(/\{%\s*comment\s*%\}/,/\{%\s*endcomment\s*%\}/),e.COMMENT(/\{#/,/#\}/),{ 8 | className:"template-tag",begin:/\{%/,end:/%\}/,contains:[{className:"name", 9 | begin:/\w+/,keywords:{ 10 | name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim" 11 | },starts:{endsWithParent:!0,keywords:"in by as",contains:[t],relevance:0}}]},{ 12 | className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[t]}]}}})() 13 | ;hljs.registerLanguage("django",e)})(); -------------------------------------------------------------------------------- /category.ftl: -------------------------------------------------------------------------------- 1 | <#include "layouts/partials/head.ftl"> 2 | <@head title="标签:${category.name} · ${blog_title!}" canonical="${category.fullPath!}" /> 3 | 4 |
5 | <#include "layouts/partials/nav.ftl"> 6 | <#include "layouts/partials/header.ftl"> 7 |
8 |
9 |
分类:${category.name}
10 |
11 | <#list posts.content as post> 12 |
13 |
14 | ${post.title!} 15 |
${post.createTime?string('yyyy-MM-dd')}
16 |
17 |
18 | 19 |
20 |
21 | 37 |
38 | 39 |
40 | <#include "layouts/partials/footer.ftl"> 41 | <#include "layouts/partials/js.ftl"> 42 | 43 | 44 | -------------------------------------------------------------------------------- /static/libs/highlight.js/README.md: -------------------------------------------------------------------------------- 1 | # Highlight.js CDN Assets 2 | 3 | [![install size](https://packagephobia.now.sh/badge?p=highlight.js)](https://packagephobia.now.sh/result?p=highlight.js) 4 | 5 | **This package contains only the CDN build assets of highlight.js.** 6 | 7 | This may be what you want if you'd like to install the pre-built distributable highlight.js client-side assets via NPM. If you're wanting to use highlight.js mainly on the server-side you likely want the [highlight.js][1] package instead. 8 | 9 | To access these files via CDN:
10 | https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@latest/build/ 11 | 12 | **If you just want a single .js file with the common languages built-in: 13 | ** 14 | 15 | --- 16 | 17 | ## Highlight.js 18 | 19 | Highlight.js is a syntax highlighter written in JavaScript. It works in 20 | the browser as well as on the server. It works with pretty much any 21 | markup, doesn’t depend on any framework, and has automatic language 22 | detection. 23 | 24 | If you'd like to read the full README:
25 | 26 | 27 | ## License 28 | 29 | Highlight.js is released under the BSD License. See [LICENSE][7] file 30 | for details. 31 | 32 | ## Links 33 | 34 | The official site for the library is at . 35 | 36 | The Github project may be found at: 37 | 38 | Further in-depth documentation for the API and other topics is at 39 | . 40 | 41 | A list of the Core Team and contributors can be found in the [CONTRIBUTORS.md][8] file. 42 | 43 | [1]: https://www.npmjs.com/package/highlight.js 44 | [7]: https://github.com/highlightjs/highlight.js/blob/main/LICENSE 45 | [8]: https://github.com/highlightjs/highlight.js/blob/main/CONTRIBUTORS.md 46 | -------------------------------------------------------------------------------- /static/libs/highlight.js/languages/yaml.min.js: -------------------------------------------------------------------------------- 1 | /*! `yaml` grammar compiled for Highlight.js 11.5.1 */ 2 | (()=>{var e=(()=>{"use strict";return e=>{ 3 | const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ 4 | className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ 5 | },{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", 6 | variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ 7 | variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ 8 | end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, 9 | end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", 10 | contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ 11 | begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ 12 | begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", 13 | relevance:10},{className:"string", 14 | begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ 15 | begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, 16 | relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", 17 | begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a 18 | },{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", 19 | begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", 20 | relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ 21 | className:"number", 22 | begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" 23 | },{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],r=[...b] 24 | ;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0, 25 | aliases:["yml"],contains:b}}})();hljs.registerLanguage("yaml",e)})(); --------------------------------------------------------------------------------