diff options
author | Christian Cleberg <hello@cleberg.net> | 2024-03-29 01:42:38 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2024-03-29 01:42:38 -0500 |
commit | 00b2726e0561f174393ae600f0f11adb8afebaab (patch) | |
tree | a4733d553ce68f64277ffa3a52f800dc58ff72de /theme | |
parent | 8ba3d90a0f3db7e5ed29e25ff6d0c1b557ed3ca0 (diff) | |
parent | 41bd0ad58e44244fe67cb36e066d4bb68738516f (diff) | |
download | cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.tar.gz cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.tar.bz2 cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.zip |
merge org branch into main
Diffstat (limited to 'theme')
-rw-r--r-- | theme/static/gpg.txt | 52 | ||||
-rw-r--r-- | theme/static/robots.txt | 3 | ||||
-rw-r--r-- | theme/static/styles.css | 578 | ||||
-rw-r--r-- | theme/static/styles.min.css | 1 | ||||
-rw-r--r-- | theme/static/syntax-theme-dark.css | 280 | ||||
-rw-r--r-- | theme/static/syntax-theme-light.css | 407 | ||||
-rw-r--r-- | theme/templates/atom.xml | 42 | ||||
-rw-r--r-- | theme/templates/base.html | 41 | ||||
-rw-r--r-- | theme/templates/blog.html | 14 | ||||
-rw-r--r-- | theme/templates/index.html | 55 | ||||
-rw-r--r-- | theme/templates/page.html | 11 | ||||
-rw-r--r-- | theme/templates/post.html | 30 | ||||
-rw-r--r-- | theme/templates/wiki.html | 32 |
13 files changed, 1546 insertions, 0 deletions
diff --git a/theme/static/gpg.txt b/theme/static/gpg.txt new file mode 100644 index 0000000..93b642d --- /dev/null +++ b/theme/static/gpg.txt @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +0jZ4tA== +=pl2G +-----END PGP PUBLIC KEY BLOCK----- diff --git a/theme/static/robots.txt b/theme/static/robots.txt new file mode 100644 index 0000000..a252a5f --- /dev/null +++ b/theme/static/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: +Allow: / diff --git a/theme/static/styles.css b/theme/static/styles.css new file mode 100644 index 0000000..123db20 --- /dev/null +++ b/theme/static/styles.css @@ -0,0 +1,578 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +/* CUSTOM CSS */ +:root { + --bg: #fff; + --bg-bright: #eee; + --fg: #111; + --link: #00f; + --code: #f00; + --border: #ccc; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + background-color: var(--bg); + color: var(--fg); + font-family: + Menlo, + Consolas, + Monaco, + Liberation Mono, + Lucida Console, + monospace; + font-size: 0.9rem; + line-height: 1.5; + max-width: 50em; + margin: 0 auto; + padding: 0 1rem; +} + +.site-nav, +footer { + border-color: var(--fg); +} + +footer { + border-top: 1px dotted; + padding-top: 1rem; + margin: 1rem 0; +} + +footer p { + margin: 0; +} + +.site-nav { + border-bottom: 1px dotted; +} + +.site-nav ul { + list-style-type: none; + display: flex; + align-items: center; + padding: 0; +} + +.site-nav ul li { + margin-right: 0.5rem; +} + +h1, +h2, +h3, +h4 { + color: var(--fg); +} + +a, +a:visited { + color: var(--link); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +img { + width: 100%; +} + +table { + border-collapse: collapse; + color: var(--fg); + border-color: var(--bg-bright); + font-family: + Menlo, + Consolas, + Monaco, + Liberation Mono, + Lucida Console, + monospace; + font-size: 0.9rem; +} + +thead, +th, +tr, +td { + border: 1px solid var(--border); + padding: 0.25rem; +} + +pre > code, +time, +code { + font-family: + Menlo, + Consolas, + Monaco, + Liberation Mono, + Lucida Console, + monospace; + font-size: inherit; +} + +pre { + background-color: var(--bg-bright) !important; + margin: 0.5rem 0; + padding: 0.5rem; + overflow-x: auto; +} + +:not(pre) > code { + color: var(--code); + font-family: inherit; +} + +aside { + background-color: var(--bg-bright); + padding: 1rem; +} + +blockquote { + background-color: var(--bg-bright); + border-left: 5px solid var(--link); + margin: 1rem 0; + padding: 0.5rem 1rem; +} + +blockquote p { + margin: 0; +} + +.post, +.wiki-post { + display: flex; +} + +.post time { + flex-shrink: 0; + margin-right: 0.5rem; +} + +.wiki-post { +justify-content: space-between; +} + +.wiki-post:first-of-type { +border-bottom: 1px dotted var(--fg); +margin-bottom: 1rem; +} + +.wiki-post p { +margin: 0; +} + +.post-metadata { + border: 1px dotted var(--fg); + border-top: none; + padding: 1rem; +} + +.post-metadata h1 { + margin: 0; +} + +.post-metadata p { + margin: 0; +} + +details { + margin-top: 1rem; +} + +summary { + font-weight: bold; +} + +.footnote-definition { + display: flex; + justify-content: flex-start; + align-items: top; + margin: 1rem 0; +} + +.footnote-definition sup { + font-size: inherit; + top: 0; + line-height: inherit; + padding-right: 0.5rem; +} + +.footnote-definition sup::after { + content: "."; +} + +.footnote-definition p { + display: inline-block; + margin: 0; +} + +@media (prefers-color-scheme: dark) { + :root { + --bg: #141617; + --bg-bright: #191c1d; + --fg: #b2aea9; + /* --link: #2b8ad9; */ + --link: #ff79c6; + --code: #ffb454; + --border: #333; + } +} diff --git a/theme/static/styles.min.css b/theme/static/styles.min.css new file mode 100644 index 0000000..f42cf24 --- /dev/null +++ b/theme/static/styles.min.css @@ -0,0 +1 @@ +/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--bg:#fff;--bg-bright:#eee;--fg:#111;--link:#00f;--code:#f00;--border:#ccc}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{background-color:var(--bg);color:var(--fg);font-family:Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;font-size:.9rem;line-height:1.5;max-width:50em;margin:0 auto;padding:0 1rem}.site-nav,footer{border-color:var(--fg)}footer{border-top:1px dotted;padding-top:1rem;margin:1rem 0}footer p{margin:0}.site-nav{border-bottom:1px dotted}.site-nav ul{list-style-type:none;display:flex;align-items:center;padding:0}.site-nav ul li{margin-right:.5rem}h1,h2,h3,h4{color:var(--fg)}a,a:visited{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}img{width:100%}table{border-collapse:collapse;color:var(--fg);border-color:var(--bg-bright);font-family:Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;font-size:.9rem}thead,th,tr,td{border:1px solid var(--border);padding:.25rem}pre>code,time,code{font-family:Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;font-size:inherit}pre{background-color:var(--bg-bright)!important;margin:.5rem 0;padding:.5rem;overflow-x:auto}:not(pre)>code{color:var(--code);font-family:inherit}aside{background-color:var(--bg-bright);padding:1rem}blockquote{background-color:var(--bg-bright);border-left:5px solid var(--link);margin:1rem 0;padding:.5rem 1rem}blockquote p{margin:0}.post,.wiki-post{display:flex}.post time{flex-shrink:0;margin-right:.5rem}.wiki-post{justify-content:space-between}.wiki-post:first-of-type{border-bottom:1px dotted var(--fg);margin-bottom:1rem}.wiki-post p{margin:0}.post-metadata{border:1px dotted var(--fg);border-top:none;padding:1rem}.post-metadata h1{margin:0}.post-metadata p{margin:0}details{margin-top:1rem}summary{font-weight:700}.footnote-definition{display:flex;justify-content:flex-start;align-items:top;margin:1rem 0}.footnote-definition sup{font-size:inherit;top:0;line-height:inherit;padding-right:.5rem}.footnote-definition sup::after{content:"."}.footnote-definition p{display:inline-block;margin:0}@media(prefers-color-scheme:dark){:root{--bg:#141617;--bg-bright:#191c1d;--fg:#b2aea9;--link:#ff79c6;--code:#ffb454;--border:#333}}
\ No newline at end of file diff --git a/theme/static/syntax-theme-dark.css b/theme/static/syntax-theme-dark.css new file mode 100644 index 0000000..75cf13b --- /dev/null +++ b/theme/static/syntax-theme-dark.css @@ -0,0 +1,280 @@ +/* + * theme "ayu" generated by syntect + */ + +.z-code { + color: #bfbab0; + background-color: #0f1419; +} + +.z-comment, .z-punctuation.z-definition.z-comment { + color: #5c6773; +font-style: italic; +} +.z-variable { + color: #bfbab0; +} +.z-string, .z-constant.z-other.z-symbol { + color: #c2d94c; +} +.z-constant.z-numeric { + color: #f29718; +} +.z-string.z-regexp, .z-constant.z-character.z-escape { + color: #95e6cb; +} +.z-constant.z-language { + color: #f29718; +} +.z-constant.z-character, .z-constant.z-other { + color: #f29718; +} +.z-variable.z-member { + color: #ec5f67; +} +.z-keyword, .z-keyword.z-operator.z-word { + color: #ff7733; +} +.z-keyword.z-operator { + color: #f29668; +} +.z-punctuation.z-separator, .z-punctuation.z-terminator { + color: #bfbab0; +} +.z-punctuation.z-section { + color: #bfbab0; +} +.z-punctuation.z-accessor { + color: #f29668; +} +.z-punctuation.z-definition.z-annotation { + color: #bfbab0; +} +.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { + color: #e6b673; +} +.z-storage { + color: #ff7733; +} +.z-storage.z-type { + color: #ff7733; +} +.z-entity.z-name.z-function { + color: #ffb454; +} +.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label) { + color: #59c2ff; +} +.z-entity.z-other.z-inherited-class { + color: #59c2ff; +text-decoration: underline; +} +.z-variable.z-parameter { + color: #f29718; +} +.z-variable.z-language { + color: #39bae6; +font-style: italic; +} +.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { + color: #39bae6; +} +.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { + color: #39bae6; +} +.z-entity.z-other.z-attribute-name { + color: #ffb454; +} +.z-variable.z-function, .z-variable.z-annotation { + color: #ffb454; +} +.z-support.z-function, .z-support.z-macro { + color: #f07178; +} +.z-support.z-constant { + color: #f29668; +font-style: italic; +} +.z-support.z-type, .z-support.z-class { + color: #39bae6; +font-style: italic; +} +.z-invalid { + color: #ff3333; +} +.z-invalid.z-deprecated { + color: #ffffff; + background-color: #ff7733; +} +.z-meta.z-diff, .z-meta.z-diff.z-header { + color: #c594c5; +} +.z-source.z-ruby .z-variable.z-other.z-readwrite { + color: #ffb454; +} +.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { + color: #59c2ff; +} +.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { + color: #5c6773; +} +.z-support.z-type.z-property-name { + color: #39bae6; +} +.z-constant.z-numeric.z-line-number.z-find-in-files { + color: #5c6773; +} +.z-constant.z-numeric.z-line-number.z-match { + color: #ff7733; +} +.z-entity.z-name.z-filename.z-find-in-files { + color: #c2d94c; +} +.z-message.z-error { + color: #ff3333; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { + color: #39bae6; +} +.z-markup.z-heading { + color: #ff7733; +font-weight: bold; +} +.z-string.z-other.z-link, .z-markup.z-underline.z-link { + color: #95e6cb; +text-decoration: underline; +font-style: italic; +} +.z-punctuation.z-definition.z-image { + color: #ffb454; +} +.z-markup.z-italic { + color: #f07178; +font-style: italic; +} +.z-markup.z-bold { + color: #f07178; +font-weight: bold; +} +.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { +font-weight: bold; +font-style: italic; +} +.z-markup.z-raw { + background-color: #bfbab0; +} +.z-markup.z-raw.z-inline { + background-color: #bfbab0; +} +.z-meta.z-separator { + color: #5c6773; + background-color: #bfbab0; +font-weight: bold; +} +.z-markup.z-quote { + color: #f29718; +font-style: italic; +} +.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { + color: #95e6cb; +} +.z-markup.z-inserted { + color: #c2d94c; +} +.z-markup.z-changed { + color: #39bae6; +} +.z-markup.z-deleted { + color: #f07178; +} +.z-markup.z-strike { + color: #e6b673; +} +.z-markup.z-table { + color: #39bae6; + background-color: #bfbab0; +} +.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { + color: #f29668; +} +.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { + color: #5c6773; +} +.z-markup.z-raw.z-block.z-fenced.z-markdown { + color: #bfbab0; + background-color: #bfbab0; +} +.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { + color: #5c6773; + background-color: #bfbab0; +} +.z-variable.z-language.z-fenced.z-markdown { + color: #5c6773; +} +.z-markup.z-inserted.z-git_gutter { + color: #c2d94c; +} +.z-markup.z-changed.z-git_gutter { + color: #39bae6; +} +.z-markup.z-deleted.z-git_gutter { + color: #ff3333; +} +.z-markup.z-ignored.z-git_gutter { + color: #20272c; +} +.z-markup.z-untracked.z-git_gutter { + color: #20272c; +} +.z-gutter_color { + color: #ffffff; +} +.z-acejump.z-label.z-blue { + color: #ffffff; + background-color: #39bae6; +} +.z-acejump.z-label.z-green { + color: #ffffff; + background-color: #c2d94c; +} +.z-acejump.z-label.z-orange { + color: #ffffff; + background-color: #ff7733; +} +.z-acejump.z-label.z-purple { + color: #ffffff; + background-color: #f07178; +} +.z-sublimelinter.z-mark.z-warning { + color: #39bae6; +} +.z-sublimelinter.z-gutter-mark { + color: #ffffff; +} +.z-sublimelinter.z-mark.z-error { + color: #ff3333; +} diff --git a/theme/static/syntax-theme-light.css b/theme/static/syntax-theme-light.css new file mode 100644 index 0000000..f7dfcb3 --- /dev/null +++ b/theme/static/syntax-theme-light.css @@ -0,0 +1,407 @@ +/* + * theme "GitHub" generated by syntect + */ + +.z-code { + color: #323232; + background-color: #ffffff; +} + +.z-comment { + color: #969896; +font-style: italic; +} +.z-string { + color: #183691; +} +.z-regexp-operator { + color: #a71d5d; +} +.z-string.z-regexp.z-characterclass .z-punctuation.z-definition.z-string.z-begin, .z-string.z-regexp.z-characterclass .z-punctuation.z-definition.z-string.z-end { + color: #a71d5d; +} +.z-constant.z-numeric { + color: #0086b3; +} +.z-constant.z-language { + color: #0086b3; +} +.z-constant.z-character, .z-constant.z-other, .z-variable.z-other.z-constant { + color: #0086b3; +} +.z-variable { + color: #323232; +} +.z-keyword { + color: #a71d5d; +font-weight: bold; +} +.z-bitwise-operator { + color: #a71d5d; +font-weight: bold; +} +.z-storage { + color: #a71d5d; +font-weight: bold; +} +.z-storage.z-type { + color: #a71d5d; +font-weight: bold; +} +.z-entity.z-name.z-class { + color: #0086b3; +} +.z-entity.z-other.z-inherited-class { + color: #0086b3; +} +.z-entity.z-name.z-function { + color: #795da3; +font-weight: bold; +} +.z-variable.z-parameter { + color: #323232; +} +.z-entity.z-name.z-tag { + color: #63a35c; +} +.z-entity.z-other.z-attribute-name { + color: #795da3; +} +.z-support.z-function { + color: #62a35c; +} +.z-support.z-constant { + color: #0086b3; +} +.z-support.z-type, .z-support.z-class { + color: #0086b3; +} +.z-support.z-other.z-variable { + color: #323232; +} +.z-invalid, .z-invalid.z-illegal, .z-invalid.z-deprecated { + color: #b52a1d; + background-color: #f5f5f5; +font-weight: bold; +} +.z-entity.z-name.z-filename.z-find-in-files { + color: #323232; +font-weight: bold; +} +.z-constant.z-numeric.z-line-number.z-find-in-files, .z-constant.z-numeric.z-line-number.z-match.z-find-in-files { + color: #b3b3b3; +} +.z-meta.z-diff.z-header { + color: #969896; + background-color: #ffffff; +font-style: italic; +} +.z-meta.z-diff.z-header .z-punctuation.z-definition.z-from-file.z-diff { + color: #bd2c00; + background-color: #ffecec; +font-weight: bold; +font-style: italic; +} +.z-meta.z-diff.z-header .z-punctuation.z-definition.z-to-file.z-diff { + color: #55a532; + background-color: #eaffea; +font-weight: bold; +font-style: italic; +} +.z-meta.z-diff.z-range { + color: #969896; +font-weight: bold; +font-style: italic; +} +.z-markup.z-deleted { + background-color: #ffecec; +} +.z-markup.z-deleted .z-punctuation.z-definition.z-inserted { + color: #bd2c00; +font-weight: bold; +} +.z-markup.z-inserted { + background-color: #eaffea; +} +.z-markup.z-inserted .z-punctuation.z-definition.z-inserted { + color: #55a532; +font-weight: bold; +} +.z-markup.z-deleted.z-git_gutter { + color: #bd2c00; +} +.z-markup.z-inserted.z-git_gutter { + color: #55a532; +} +.z-markup.z-changed.z-git_gutter { + color: #0086b3; +} +.z-markup.z-ignored.z-git_gutter { + color: #b3b3b3; +} +.z-markup.z-untracked.z-git_gutter { + color: #b3b3b3; +} +.z-source.z-css .z-punctuation.z-definition.z-entity { + color: #323232; +} +.z-source.z-css .z-entity.z-other.z-attribute-name.z-pseudo-class, .z-source.z-css .z-entity.z-other.z-attribute-name.z-pseudo-element { + color: #a71d5d; +} +.z-source.z-css .z-meta.z-value, .z-source.z-css .z-support.z-constant, .z-source.z-css .z-support.z-function { + color: #323232; +} +.z-source.z-css .z-constant.z-other.z-color { + color: #ed6a43; +} +.z-source.z-scss .z-punctuation.z-definition.z-entity { + color: #323232; +} +.z-source.z-scss .z-entity.z-other.z-attribute-name.z-pseudo-class, .z-source.z-scss .z-entity.z-other.z-attribute-name.z-pseudo-element { + color: #a71d5d; +} +.z-source.z-scss .z-support.z-constant.z-property-value, .z-source.z-scss .z-support.z-function { + color: #323232; +} +.z-source.z-scss .z-variable { + color: #a71d5d; +} +.z-variable.z-language.z-this.z-js { + color: #ed6a43; +} +.z-source.z-js .z-entity.z-name.z-function { + color: #323232; +} +.z-source.z-js .z-meta.z-function .z-entity.z-name.z-function, .z-source.z-js .z-entity.z-name.z-function .z-meta.z-function { + color: #795da3; +font-weight: bold; +} +.z-entity.z-name.z-type.z-new.z-js { + color: #795da3; +} +.z-variable.z-language.z-prototype.z-js { + color: #0086b3; +} +.z-source.z-js .z-support.z-function { + color: #0086b3; +} +.z-support.z-type.z-object.z-console.z-js { + color: #795da3; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { + color: #183691; +font-weight: bold; +} +.z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { + color: #323232; +} +.z-source.z-python .z-keyword { +font-weight: bold; +} +.z-source.z-python .z-storage { +font-weight: bold; +} +.z-source.z-python .z-storage.z-type { +font-weight: bold; +} +.z-source.z-python .z-entity.z-name.z-function { + color: #323232; +font-weight: bold; +} +.z-source.z-php .z-entity.z-name.z-type.z-class { + color: #323232; +font-weight: bold; +} +.z-variable.z-language.z-ruby { + color: #ed6a43; +} +.z-entity.z-name.z-type.z-module.z-ruby { + color: #795da3; +font-weight: bold; +} +.z-entity.z-name.z-type.z-class.z-ruby { + color: #795da3; +font-weight: bold; +} +.z-entity.z-other.z-inherited-class.z-ruby { + color: #795da3; +font-weight: bold; +} +.z-punctuation.z-definition.z-heading.z-markdown, .z-punctuation.z-definition.z-italic.z-markdown, .z-punctuation.z-definition.z-bold.z-markdown, .z-punctuation.z-definition.z-string.z-begin.z-markdown, .z-punctuation.z-definition.z-string.z-end.z-markdown, .z-punctuation.z-definition.z-metadata.z-markdown, .z-punctuation.z-definition.z-link.z-markdown, .z-punctuation.z-definition.z-blockquote.z-markdown, .z-punctuation.z-definition.z-raw.z-markdown { + color: #a71d5d; +} +.z-text.z-html.z-markdown .z-meta.z-separator { + color: #b3b3b3; +} +.z-text.z-html.z-markdown .z-markup.z-heading { +font-weight: bold; +} +.z-text.z-html.z-markdown .z-markup.z-raw.z-block { + color: #323232; +} +.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { + color: #323232; +} +.z-text.z-html.z-markdown .z-meta.z-link, .z-text.z-html.z-markdown .z-meta.z-image { + color: #4183c4; +} +.z-text.z-html.z-markdown .z-markup.z-underline.z-link, .z-text.z-html.z-markdown .z-constant.z-other.z-reference { +font-style: italic; +} +.z-text.z-html.z-markdown .z-markup.z-list { + color: #ed6a43; +} +.z-text.z-html.z-markdown .z-markup.z-bold { +font-weight: bold; +} +.z-text.z-html.z-markdown .z-markup.z-italic { +font-style: italic; +} +.z-text.z-html.z-markdown .z-markup.z-bold .z-markup.z-italic { +font-weight: bold; +font-style: italic; +} +.z-text.z-html.z-markdown .z-markup.z-italic .z-markup.z-bold { +font-weight: bold; +font-style: italic; +} diff --git a/theme/templates/atom.xml b/theme/templates/atom.xml new file mode 100644 index 0000000..8ff1e30 --- /dev/null +++ b/theme/templates/atom.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<rss version="2.0" + xmlns:content="http://purl.org/rss/1.0/modules/content/" + xmlns:wfw="http://wellformedweb.org/CommentAPI/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" + xmlns:slash="http://purl.org/rss/1.0/modules/slash/" + xmlns:georss="http://www.georss.org/georss" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:media="http://search.yahoo.com/mrss/"> + <channel> + <title>{{ site_name | default("Simple Blog") }}</title> + <atom:link + href="{{ url_for("rss") }}" + rel="self" type="application/rss+xml" /> + <link>{{ url_for("index") }}</link> + <description><![CDATA[]]></description> + <language>en</language> + <pubDate>{{ posts | first | getattr("date") | strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate> + <lastBuildDate>{{ now() | strftime("%a, %d %b %Y %H:%M:%S %z") }}</lastBuildDate> + <generator>{{ meta.generator }}</generator> + <webMaster>{{ site_owner | default("hello@cleberg.net") }}</webMaster> + <image> + <url>{{ url_for("index") }}media/img/8bitme.png</url> + <title>Blog Author</title> + <link>{{ url_for("index") }}</link> + </image> + + {% for post in posts %} + <item> + <title>{{ post.title }}</title> + <link>{{ url_for("blog", slug=post.slug) }}</link> + <author>{{ post.author|default("hello@cleberg.net") }}</author> + <guid isPermaLink="false">{{ url_for("blog", slug=post.slug) }}</guid> + <pubDate>{{ post.date|strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate> + <description><![CDATA[{{ post.html|safe }}]]></description> + </item> + {% endfor %} + + </channel> +</rss> diff --git a/theme/templates/base.html b/theme/templates/base.html new file mode 100644 index 0000000..167883c --- /dev/null +++ b/theme/templates/base.html @@ -0,0 +1,41 @@ + +<!doctype html> +<html lang="en-us"> +<head> + {% block head %} + <meta charset="utf-8"> + <title> + {% block subtitle %}{% endblock %} + {% block title %}{{ site_name | default("weblorg website") }}{% endblock %} + </title> + <meta name="viewport" content="width=device-width, initial-scale=1"> + {% if site_owner is defined %}<meta name="author" content="{{ site_owner }}" >{% endif %} + {% if site_description is defined %}<meta name="description" content="{{ site_description }}" >{% endif %} + {% if site_keywords is defined %}<meta name="keywords" content="{{ site_keywords }}" >{% endif %} + <link rel="stylesheet" href="{{ url_for("static", file="styles.min.css") }}" type="text/css"> + {% block meta %}{% endblock %} + {% endblock %} +</head> +<body> + {% block nav %} + <nav class="site-nav" aria-label="site-nav" role="navigation"> + <ul> + <li><a href="/">Home</a></li> + <li><a href="/blog/">Blog</a></li> + <li><a href="/services/">Services</a></li> + <li><a href="/wiki/">Wiki</a></li> + </ul> + </nav> + {% endblock %} + + <main>{% block main %}{% endblock %}</main> + + {% block footer %} + <footer> + <p>Last Build: <{{ now() | strftime("%Y-%m-%d %a %H:%M:%S") }}></p> + <p><a href="https://git.cleberg.net/cleberg.net.git" target="_blank" rel="noopener">Source Code</a></p> + <p><a href="/atom.xml">Atom RSS Feed</a></p> + </footer> + {% endblock %} +</body> +</html> diff --git a/theme/templates/blog.html b/theme/templates/blog.html new file mode 100644 index 0000000..b3b3a3f --- /dev/null +++ b/theme/templates/blog.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block subtitle %}Blog | {% endblock %} +{% block main %} + <h1>Blog</h1> + <p>Use <code>Ctrl + F</code> to search blog post titles for keywords.</p> + <p>You can also add the <a href="/feed.xml">RSS Feed</a> to your feed reader.</p> + {% for post in posts %} + <div class="post"> + <time datetime="{{ post.date | strftime("%Y-%m-%d") }}"><{{ post.date|strftime("%Y-%m-%d") }}></time> + <a href="{{ url_for("blog", slug=post.slug) }}">{{ post.title }}</a> + </div> + {% endfor %} +{% endblock %} diff --git a/theme/templates/index.html b/theme/templates/index.html new file mode 100644 index 0000000..923d920 --- /dev/null +++ b/theme/templates/index.html @@ -0,0 +1,55 @@ +{% extends "base.html" %} + +{% block main %} +<section> + <h1>cleberg.net</h1> + <blockquote>Do AIs dream in electric sheep?<br>He hoped it had nanosecond nightmares.</blockquote> +</section> +<section> + <h2>Recent Blog Posts</h2> +<<<<<<< HEAD:templates/index.html + {% set section = get_section(path="blog/_index.md") %} + {% set i = 0 %} + {% for page in section.pages %} + {% if i < 3%} + {% set_global i = i + 1%} + <div class="post"> + <time datetime="{{ page.date | date(format='%Y-%m-%d %H:%M:%S') }}">{{ page.date | date(format='%Y-%m-%d') }}</time> + <a href="/blog/{{ page.slug }}/">{{ page.title }}</a> + </div> + {% endif %} + {% endfor %} +======= + <div class="post"> + <time datetime="2024-03-15"><2024-03-15></time> + <a href="/blog/self-hosting-ddns-updater.html">Self-Hosting DDNS Updater</a> + </div> + <div class="post"> + <time datetime="2024-03-14"><2024-03-14></time> + <a href="/blog/doom-emacs-org-mode.html">Doom Emacs & Org-Mode</a> + </div> + <div class="post"> + <time datetime="2024-02-21"><2024-02-21></time> + <a href="/blog/self-hosting-an-otter-wiki.html">Self-Hosting An Otter Wiki</a> + </div> +>>>>>>> org:theme/templates/index.html + <br> + <a href="/blog/">All Posts →</a> +</section> +<section> + <h2>Everything Else</h2> + <ul> + <li><a href="/salary/">Salary</a></li> + <li><a href="/services/">Services</a></li> + <li><a href="/wiki/">Wiki</a></li> + </ul> +</section> +<section> + <h2>Contact</h2> + <ul> + <li>hello [at] cleberg.net (<a href="/gpg.txt">GPG</a>)</li> + <li><a href="https://matrix.to/#/@cyborg:matrix.tchncs.de" target="_blank" rel="noopener">@cyborg:@matrix.tchncs.de</a></li> + <li><a href="https://git.cleberg.net/cleberg.net.git" target="_blank" rel="noopener">Git</a></li> + </ul> +</section> +{% endblock %} diff --git a/theme/templates/page.html b/theme/templates/page.html new file mode 100644 index 0000000..fb7afa9 --- /dev/null +++ b/theme/templates/page.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} + +{% block subtitle %} + {{ post.title }} | +{% endblock %} +{% block main %} +<article role="article"> + <h1>{{ post.title }}</h1> + <section>{{ post.html | safe }}</section> +</article> +{% endblock %} diff --git a/theme/templates/post.html b/theme/templates/post.html new file mode 100644 index 0000000..d0b76db --- /dev/null +++ b/theme/templates/post.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} + +{% block subtitle %} + {{ post.title }} | +{% endblock %} +{% block meta %} +<meta property="og:title" content="{{ post.title }}"> +<meta property="og:url" content="{{ post.url }}"> +{% if post.description is defined %} +<meta property="og:description" content="{{ post.description }}"> +{% elif project_description is defined %} +<meta property="og:description" content="{{ project_description }}"> +{% endif %} +<link rel="stylesheet" href="/syntax-theme-dark.css" media="(prefers-color-scheme: dark)"> +<link rel="stylesheet" href="/syntax-theme-light.css" media="(prefers-color-scheme: light)"> +{% endblock %} + +{% block main %} +<article role="article"> + <section class="post-metadata"> + <h1 class="post__title">{{ post.title }}</h1> + {% if post.date is defined %} + <time datetime="{{ post.date|strftime("%Y-%m-%d") }}"><{{ post.date|strftime("%Y-%m-%d %a %H:%M:%S") }}></time> + {% endif %} + </section> + <section> + {{ post.html | safe }} + </section> +</article> +{% endblock %} diff --git a/theme/templates/wiki.html b/theme/templates/wiki.html new file mode 100644 index 0000000..ead64c4 --- /dev/null +++ b/theme/templates/wiki.html @@ -0,0 +1,32 @@ +{% extends "base.html" %} + +<<<<<<< HEAD:templates/wiki.html +{% block content %} +<h1>{{ section.title }}</h1> +======= +{% block subtitle %}Wiki | {% endblock %} +{% block main %} +<h1>Wiki</h1> +>>>>>>> org:theme/templates/wiki.html +<p>Use <code>Ctrl + F</code> to search wiki pages for keywords.</p> +<div class="wiki-post"> + <p>Wiki Page</p> + <p>Last Updated</p> +</div> +<<<<<<< HEAD:templates/wiki.html +{% for page in section.pages %} + <div class="wiki-post"> + <p><a href="/wiki/{{ page.slug }}/">{{ page.title }}</a></p> + <time datetime="{{ page.updated | date(format='%Y-%m-%d %H:%M:%S') }}">{{ page.updated | date(format='%Y-%m-%d')}}</p> + </div> +{% endfor %} +{% endblock content %} +======= +{% for post in posts %} + <div class="wiki-post"> + <a href="{{ url_for("wiki", slug=post.slug) }}">{{ post.title }}</a> + <time datetime="{{ post.date | strftime("%Y-%m-%d") }}"><{{ post.date|strftime("%Y-%m-%d") }}></time> + </div> +{% endfor %} +{% endblock %} +>>>>>>> org:theme/templates/wiki.html |