diff --git a/LICENSE.md b/LICENSE.md index a469e0c..df79ffa 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,7 +1,7 @@ # Articles -All files under the `/content/files` directory (and likewise, the corresponding and respective files in /_site) are licensed under -[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). The attribution requirement is appropriately met under the following conditions as specified by the license: +All files under the `/content` directory (and likewise, the corresponding and respective files in `/_site`) are licensed under +[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). The attribution requirement is appropriately satisfied under the following conditions as specified by the license: 1. Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. Whereby the following terms shall mean: @@ -16,15 +16,15 @@ Whereby "technological measures" shall mean: # Images ## Images -All files under the `/content/images/site/` directory (and likewise, the corresponding and respective files in /_site) are copyrighted to Noah L. Schrick. All rights reserved. +All files under the `/content/images/site/` directory (and likewise, the corresponding and respective files in `/_site`) are copyrighted to Noah L. Schrick. All rights reserved. ## Screenshots -No licensing is provided for any files under `/content/images/screenshots` (and likewise, the corresponding and respective files in /_site) due to potential conflicts with copyright claims with the publisher, developer, artist, or other in any relevant screenshot. +No licensing is provided for any files under `/content/images/screenshots` (and likewise, the corresponding and respective files in `/_site`) due to potential conflicts with copyright claims with the publisher, developer, artist, or other in any relevant screenshot. ## Logos -All files under the `/content/images/logos` directory (and likewise, the corresponding and respective files in /public) are copyrighted to their respective holders. +All files under the `/content/images/logos` directory (and likewise, the corresponding and respective files in `/_site`) are copyrighted to their respective holders. # Other files diff --git a/_data/metadata.js b/_data/metadata.js new file mode 100644 index 0000000..0766e8c --- /dev/null +++ b/_data/metadata.js @@ -0,0 +1,11 @@ +module.exports = { + title: "TheSchricks Site", + url: "https://theschricks.com/", + language: "en", + description: "Misc content from theschricks.", + author: { + name: "Noah L. Schrick", + email: "noah@theschricks.com", + url: "https://theschricks.com/noah/about" + } +} \ No newline at end of file diff --git a/_includes/layouts/base.njk b/_includes/layouts/base.njk index 19d028e..7a7885a 100644 --- a/_includes/layouts/base.njk +++ b/_includes/layouts/base.njk @@ -1,89 +1,61 @@ - - - - - {{ renderData.title or title or metadata.title }} - - - - - - - - - + + + + + {{ title or metadata.title }} + - - - - - - - -
-
- {%- for entry in collections.all | eleventyNavigation %} - {{ entry.title}} - {%- endfor %} -
-
-
- + {#- Uncomment this if you’d like folks to know that you used Eleventy to build your site! #} + {#- #} -
-
-
    -
  1. Edit the _data/metadata.json with your blog’s information.
  2. -
  3. (Optional) Edit .eleventy.js with your configuration preferences.
  4. -
  5. Delete this message from _includes/layouts/base.njk.
  6. -
-

This is an Eleventy project created from the eleventy-base-blog repo.

-
+ {#- + CSS bundles are provided via the `eleventy-plugin-bundle` plugin: + 1. You can add to them using `{% css %}` + 2. You can get from them using `{% getBundle "css" %}` or `{% getBundleFileUrl "css" %}` + 3. You can do the same for JS: {% js %}{% endjs %} and + 4. Learn more: https://github.com/11ty/eleventy-plugin-bundle + #} - {{ content | safe }} -
+ {#- Add an arbitrary string to the bundle #} + {%- css %}* { box-sizing: border-box; }{% endcss %} + {#- Add the contents of a file to the bundle #} + {%- css %}{% include "public/css/index.css" %}{% endcss %} + {#- Or add from node_modules #} + {# {%- css %}{% include "node_modules/prismjs/themes/prism-okaidia.css" %}{% endcss %} #} - - + {#- Render the CSS bundle using Inlined CSS (for the fastest site performance in production) #} + + {#- Renders the CSS bundle using a separate file, if you can't set CSP directive style-src: 'unsafe-inline' #} + {#- #} + + + Skip to main content - - +
+ {{ metadata.title }} + + {#- Read more about `eleventy-navigation` at https://www.11ty.dev/docs/plugins/navigation/ #} + +
+ +
+ {{ content | safe }} +
+ + + + + \ No newline at end of file diff --git a/content/css/prism-base16-monokai.dark.css b/content/css/prism-base16-monokai.dark.css deleted file mode 100644 index c60b1b4..0000000 --- a/content/css/prism-base16-monokai.dark.css +++ /dev/null @@ -1,89 +0,0 @@ -code[class*="language-"], pre[class*="language-"] { - font-size: 14px; - line-height: 1.375; - direction: ltr; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; - background: #272822; - color: #f8f8f2; -} -pre[class*="language-"] { - padding: 1.5em 0; - margin: .5em 0; - overflow: auto; -} -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; -} -.token.comment, .token.prolog, .token.doctype, .token.cdata { - color: #75715e; -} -.token.punctuation { - color: #f8f8f2; -} -.token.namespace { - opacity: .7; -} -.token.operator, .token.boolean, .token.number { - color: #fd971f; -} -.token.property { - color: #f4bf75; -} -.token.tag { - color: #66d9ef; -} -.token.string { - color: #a1efe4; -} -.token.selector { - color: #ae81ff; -} -.token.attr-name { - color: #fd971f; -} -.token.entity, .token.url, .language-css .token.string, .style .token.string { - color: #a1efe4; -} -.token.attr-value, .token.keyword, .token.control, .token.directive, .token.unit { - color: #a6e22e; -} -.token.statement, .token.regex, .token.atrule { - color: #a1efe4; -} -.token.placeholder, .token.variable { - color: #66d9ef; -} -.token.deleted { - text-decoration: line-through; -} -.token.inserted { - border-bottom: 1px dotted #f9f8f5; - text-decoration: none; -} -.token.italic { - font-style: italic; -} -.token.important, .token.bold { - font-weight: bold; -} -.token.important { - color: #f92672; -} -.token.entity { - cursor: help; -} -pre > code.highlight { - outline: 0.4em solid #f92672; - outline-offset: .4em; -} \ No newline at end of file diff --git a/content/files/noah/about/index.njk b/content/files/noah/about/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/backups/index.njk b/content/files/noah/homelab/backups/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/Communications/index.njk b/content/files/noah/homelab/hosts/Proxmox/Communications/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/FEVM/index.njk b/content/files/noah/homelab/hosts/Proxmox/FEVM/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/LANSrv/index.njk b/content/files/noah/homelab/hosts/Proxmox/LANSrv/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/MediaSrv/index.njk b/content/files/noah/homelab/hosts/Proxmox/MediaSrv/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/MonBox/index.njk b/content/files/noah/homelab/hosts/Proxmox/MonBox/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/ProgDev/index.njk b/content/files/noah/homelab/hosts/Proxmox/ProgDev/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/Proxmox/index.njk b/content/files/noah/homelab/hosts/Proxmox/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/StorageSrv/index.njk b/content/files/noah/homelab/hosts/StorageSrv/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/hosts/index.njk b/content/files/noah/homelab/hosts/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/index.njk b/content/files/noah/homelab/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/logging/index.njk b/content/files/noah/homelab/logging/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/homelab/networking/index.njk b/content/files/noah/homelab/networking/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/index.njk b/content/files/noah/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/interests/index.njk b/content/files/noah/interests/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/interests/personal/index.njk b/content/files/noah/interests/personal/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/files/noah/interests/professional/index.njk b/content/files/noah/interests/professional/index.njk deleted file mode 100644 index e69de29..0000000 diff --git a/content/images/images.11tydata.js b/content/images/images.11tydata.js new file mode 100644 index 0000000..003521c --- /dev/null +++ b/content/images/images.11tydata.js @@ -0,0 +1,3 @@ +module.exports = { + eleventyExcludeFromCollections: true +} \ No newline at end of file diff --git a/content/files/index.njk b/content/index.njk similarity index 100% rename from content/files/index.njk rename to content/index.njk diff --git a/content/madison/about-madison.md b/content/madison/about-madison.md new file mode 100644 index 0000000..7fb26cc --- /dev/null +++ b/content/madison/about-madison.md @@ -0,0 +1,7 @@ +--- +title: Madison's Home Page +description: Overview +--- + +# {{ title }} +Madison's Page. \ No newline at end of file diff --git a/content/noah/about/about-noah.md b/content/noah/about/about-noah.md new file mode 100644 index 0000000..ba7b6b2 --- /dev/null +++ b/content/noah/about/about-noah.md @@ -0,0 +1,7 @@ +--- +title: About Noah +description: About Noah +--- + +# {{ title }} +Noah's About. \ No newline at end of file diff --git a/content/noah/homelab/backups/backups.md b/content/noah/homelab/backups/backups.md new file mode 100644 index 0000000..2a7ba3a --- /dev/null +++ b/content/noah/homelab/backups/backups.md @@ -0,0 +1,10 @@ +--- +title: Backups +description: Detailed information on the implemented backup solution. +tags: + - Backups + - Borg +--- + +# {{ title }} +Backups. \ No newline at end of file diff --git a/content/noah/homelab/homelab.md b/content/noah/homelab/homelab.md new file mode 100644 index 0000000..aae59e8 --- /dev/null +++ b/content/noah/homelab/homelab.md @@ -0,0 +1,10 @@ +--- +title: Homelab Home Page +description: Overview of TheSchricks' Home Page +tags: + - Self-hosting + - Homelabbing +--- + +# {{ title }} +Homelab. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/Communications/communications.md b/content/noah/homelab/hosts/Proxmox/Communications/communications.md new file mode 100644 index 0000000..27a6d17 --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/Communications/communications.md @@ -0,0 +1,11 @@ +--- +title: Communications System +description: Overview of the server responsible for communication services. +tags: + - Communications + - Chat Platforms + - Matrix Protocol +--- + +# {{ title }} +Communications. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/FEVM/fevm.md b/content/noah/homelab/hosts/Proxmox/FEVM/fevm.md new file mode 100644 index 0000000..b8ed1fb --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/FEVM/fevm.md @@ -0,0 +1,10 @@ +--- +title: Front-End System +description: Overview of the public-facing server responsible for processing requests and distributing traffic to the appropriate servers. +tags: + - Public VLAN + - nginx +--- + +# {{ title }} +FEVM. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/LANSrv/lansrv.md b/content/noah/homelab/hosts/Proxmox/LANSrv/lansrv.md new file mode 100644 index 0000000..52f61ee --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/LANSrv/lansrv.md @@ -0,0 +1,9 @@ +--- +title: LAN Server +description: Overview of the server responsible for internal services. +tags: + - Omada +--- + +# {{ title }} +LanSrv. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/MediaSrv/media.md b/content/noah/homelab/hosts/Proxmox/MediaSrv/media.md new file mode 100644 index 0000000..c5c8be4 --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/MediaSrv/media.md @@ -0,0 +1,10 @@ +--- +title: Media Server +description: Overview of the media server responsible for handling media acquisition, organization, and streaming. +tags: + - Jellyfin + - Arr Stack +--- + +# {{ title }} +MediaSrv. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/MonBox/monbox.md b/content/noah/homelab/hosts/Proxmox/MonBox/monbox.md new file mode 100644 index 0000000..ecc47ad --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/MonBox/monbox.md @@ -0,0 +1,12 @@ +--- +title: Monitoring Server +description: Overview of the monitoring server responsible for monitoring and logging all systems. +tags: + - Grafana + - Promtail + - Loki + - Prometheus +--- + +# {{ title }} +MonBox. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/ProgDev/progdev.md b/content/noah/homelab/hosts/Proxmox/ProgDev/progdev.md new file mode 100644 index 0000000..395a6df --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/ProgDev/progdev.md @@ -0,0 +1,11 @@ +--- +title: Program Development Server +description: Overview of the media server responsible for aiding and streamlining software development. +tags: + - Gitea + - VSCode + - RStudio +--- + +# {{ title }} +ProgDev. \ No newline at end of file diff --git a/content/noah/homelab/hosts/Proxmox/proxmox.md b/content/noah/homelab/hosts/Proxmox/proxmox.md new file mode 100644 index 0000000..99e1734 --- /dev/null +++ b/content/noah/homelab/hosts/Proxmox/proxmox.md @@ -0,0 +1,10 @@ +--- +title: Proxmox +description: Overview of the installed Proxmox system +tags: + - Proxmox + - Virtual Machines +--- + +# {{ title }} +Proxmox. \ No newline at end of file diff --git a/content/noah/homelab/hosts/StorageSrv/storage.md b/content/noah/homelab/hosts/StorageSrv/storage.md new file mode 100644 index 0000000..f54eef5 --- /dev/null +++ b/content/noah/homelab/hosts/StorageSrv/storage.md @@ -0,0 +1,10 @@ +--- +title: Storage Server +description: Overview of the storage server responsible for handling all file storage. +tags: + - ZFS + - NFS +--- + +# {{ title }} +StorageSrv. \ No newline at end of file diff --git a/content/noah/homelab/hosts/hosts.md b/content/noah/homelab/hosts/hosts.md new file mode 100644 index 0000000..c06a44c --- /dev/null +++ b/content/noah/homelab/hosts/hosts.md @@ -0,0 +1,10 @@ +--- +title: Hosts +description: Top-level host overview for the hosts' installed on metal. +tags: + - Bare-metal + - OS +--- + +# {{ title }} +Hosts. \ No newline at end of file diff --git a/content/noah/homelab/logging/logging.md b/content/noah/homelab/logging/logging.md new file mode 100644 index 0000000..bde2a39 --- /dev/null +++ b/content/noah/homelab/logging/logging.md @@ -0,0 +1,12 @@ +--- +title: Logging +description: Overview of the logging process in the monitoring stack. +tags: + - Grafana + - Loki + - Promtail + - Prometheus +--- + +# {{ title }} +Logging. \ No newline at end of file diff --git a/content/noah/homelab/networking/networking.md b/content/noah/homelab/networking/networking.md new file mode 100644 index 0000000..d9747b0 --- /dev/null +++ b/content/noah/homelab/networking/networking.md @@ -0,0 +1,10 @@ +--- +title: Networking +description: Overview of the networking solution for the homelab. +tags: + - Brocade + - pfSense +--- + +# {{ title }} +Networking. \ No newline at end of file diff --git a/content/noah/interests/noah-interests.md b/content/noah/interests/noah-interests.md new file mode 100644 index 0000000..ccfb8dd --- /dev/null +++ b/content/noah/interests/noah-interests.md @@ -0,0 +1,9 @@ +--- +title: Interests +description: Overview of Noah's interests. +tags: + - Interests +--- + +# {{ title }} +Interests. \ No newline at end of file diff --git a/content/noah/interests/personal/noah-personal.md b/content/noah/interests/personal/noah-personal.md new file mode 100644 index 0000000..0ce1914 --- /dev/null +++ b/content/noah/interests/personal/noah-personal.md @@ -0,0 +1,11 @@ +--- +title: Personal Interests +description: Overview of Noah's personal interests. +tags: + - Homelabbing + - Board Games + - Ice Cream Making +--- + +# {{ title }} +Personal. \ No newline at end of file diff --git a/content/noah/interests/professional/noah-professional.md b/content/noah/interests/professional/noah-professional.md new file mode 100644 index 0000000..0ef8f1f --- /dev/null +++ b/content/noah/interests/professional/noah-professional.md @@ -0,0 +1,11 @@ +--- +title: Professional Interests +description: Overview of Noah's professional interests. +tags: + - System Engineering + - Research Computing + - High-Performance Computing +--- + +# {{ title }} +Professional. \ No newline at end of file diff --git a/content/noah/noah.md b/content/noah/noah.md new file mode 100644 index 0000000..a9c616b --- /dev/null +++ b/content/noah/noah.md @@ -0,0 +1,7 @@ +--- +title: Noah's Home Page +description: Overview +--- + +# {{ title }} +Noah's Page \ No newline at end of file diff --git a/content/sitemap/sitemap.xml.njk b/content/sitemap/sitemap.xml.njk new file mode 100644 index 0000000..9e82ff0 --- /dev/null +++ b/content/sitemap/sitemap.xml.njk @@ -0,0 +1,14 @@ +--- +permalink: /sitemap.xml +eleventyExcludeFromCollections: true +--- + + +{%- for page in collections.all %} + {% set absoluteUrl %}{{ page.url | htmlBaseUrl(metadata.url) }}{% endset %} + + {{ absoluteUrl }} + {{ page.date | htmlDateString }} + +{%- endfor %} + \ No newline at end of file diff --git a/content/tags-list.njk b/content/tags-list.njk new file mode 100644 index 0000000..4ae8417 --- /dev/null +++ b/content/tags-list.njk @@ -0,0 +1,12 @@ +--- +permalink: /tags/ +layout: layouts/home.njk +--- +

Tags

+ + \ No newline at end of file diff --git a/content/tags.njk b/content/tags.njk new file mode 100644 index 0000000..7dc72b4 --- /dev/null +++ b/content/tags.njk @@ -0,0 +1,22 @@ +--- +pagination: + data: collections + size: 1 + alias: tag + filter: + - all + - post + - posts + - tagList + addAllPagesToCollections: true +layout: layouts/home.njk +eleventyComputed: + title: Tagged “{{ tag }}” +permalink: /tags/{{ tag | slugify }}/ +--- +

Tagged “{{ tag }}”

+ +{% set postslist = collections[ tag ] %} +{% include "postslist.njk" %} + +

See all tags.

\ No newline at end of file diff --git a/eleventy.config.js b/eleventy.config.js index d35612f..22a93ce 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -6,6 +6,8 @@ const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight"); const pluginBundle = require("@11ty/eleventy-plugin-bundle"); const pluginNavigation = require("@11ty/eleventy-navigation"); const { EleventyHtmlBasePlugin } = require("@11ty/eleventy"); +const directoryOutputPlugin = require("@11ty/eleventy-plugin-directory-output"); + const pluginDrafts = require("./eleventy.config.drafts.js"); const pluginImages = require("./eleventy.config.images.js"); @@ -90,6 +92,8 @@ module.exports = function(eleventyConfig) { level: [1,2,3,4], slugify: eleventyConfig.getFilter("slugify") }); + + eleventyConfig.addPlugin(directoryOutputPlugin); }); // Features to make your build faster (when you need them) diff --git a/package.json b/package.json index be2c036..d925c7b 100644 --- a/package.json +++ b/package.json @@ -28,5 +28,8 @@ "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "luxon": "^3.4.4", "markdown-it-anchor": "^8.6.7" + }, + "dependencies": { + "@11ty/eleventy-plugin-directory-output": "^1.0.1" } } diff --git a/public/css/index.css b/public/css/index.css new file mode 100644 index 0000000..15cc558 --- /dev/null +++ b/public/css/index.css @@ -0,0 +1,270 @@ +/* Defaults */ +:root { + --font-family: -apple-system, system-ui, sans-serif; + --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace; +} + +/* Theme colors */ +:root { + --color-gray-20: #e0e0e0; + --color-gray-50: #C0C0C0; + --color-gray-90: #333; + + --background-color: #fff; + + --text-color: var(--color-gray-90); + --text-color-link: #082840; + --text-color-link-active: #5f2b48; + --text-color-link-visited: #17050F; + + --syntax-tab-size: 2; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-gray-20: #e0e0e0; + --color-gray-50: #C0C0C0; + --color-gray-90: #dad8d8; + + /* --text-color is assigned to --color-gray-_ above */ + --text-color-link: #1493fb; + --text-color-link-active: #6969f7; + --text-color-link-visited: #a6a6f8; + + --background-color: #15202b; + } +} + + +/* Global stylesheet */ +* { + box-sizing: border-box; +} + +html, +body { + padding: 0; + margin: 0 auto; + font-family: var(--font-family); + color: var(--text-color); + background-color: var(--background-color); +} +html { + overflow-y: scroll; +} +body { + max-width: 40em; +} + +/* https://www.a11yproject.com/posts/how-to-hide-content/ */ +.visually-hidden { + clip: rect(0 0 0 0); + clip-path: inset(50%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; +} + +p:last-child { + margin-bottom: 0; +} +p { + line-height: 1.5; +} + +li { + line-height: 1.5; +} + +a[href] { + color: var(--text-color-link); +} +a[href]:visited { + color: var(--text-color-link-visited); +} +a[href]:hover, +a[href]:active { + color: var(--text-color-link-active); +} + +main { + padding: 1rem; +} +main :first-child { + margin-top: 0; +} + +header { + border-bottom: 1px dashed var(--color-gray-20); +} +header:after { + content: ""; + display: table; + clear: both; +} + +.links-nextprev { + list-style: none; + border-top: 1px dashed var(--color-gray-20); + padding: 1em 0; +} + +table { + margin: 1em 0; +} +table td, +table th { + padding-right: 1em; +} + +pre, +code { + font-family: var(--font-family-monospace); +} +pre:not([class*="language-"]) { + margin: .5em 0; + line-height: 1.375; /* 22px /16 */ + -moz-tab-size: var(--syntax-tab-size); + -o-tab-size: var(--syntax-tab-size); + tab-size: var(--syntax-tab-size); + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; +} +code { + word-break: break-all; +} + +/* Header */ +header { + display: flex; + gap: 1em .5em; + flex-wrap: wrap; + align-items: center; + padding: 1em; +} +.home-link { + font-size: 1em; /* 16px /16 */ + font-weight: 700; + margin-right: 2em; +} +.home-link:link:not(:hover) { + text-decoration: none; +} + +/* Nav */ +.nav { + display: flex; + padding: 0; + margin: 0; + list-style: none; +} +.nav-item { + display: inline-block; + margin-right: 1em; +} +.nav-item a[href]:not(:hover) { + text-decoration: none; +} +.nav a[href][aria-current="page"] { + text-decoration: underline; +} + +/* Posts list */ +.postlist { + list-style: none; + padding: 0; + padding-left: 1.5rem; +} +.postlist-item { + display: flex; + flex-wrap: wrap; + align-items: baseline; + counter-increment: start-from -1; + margin-bottom: 1em; +} +.postlist-item:before { + display: inline-block; + pointer-events: none; + content: "" counter(start-from, decimal-leading-zero) ". "; + line-height: 100%; + text-align: right; + margin-left: -1.5rem; +} +.postlist-date, +.postlist-item:before { + font-size: 0.8125em; /* 13px /16 */ + color: var(--color-gray-90); +} +.postlist-date { + word-spacing: -0.5px; +} +.postlist-link { + font-size: 1.1875em; /* 19px /16 */ + font-weight: 700; + flex-basis: calc(100% - 1.5rem); + padding-left: .25em; + padding-right: .5em; + text-underline-position: from-font; + text-underline-offset: 0; + text-decoration-thickness: 1px; +} +.postlist-item-active .postlist-link { + font-weight: bold; +} + +/* Tags */ +.post-tag { + display: inline-flex; + align-items: center; + justify-content: center; + text-transform: capitalize; + font-style: italic; +} +.postlist-item > .post-tag { + align-self: center; +} + +/* Tags list */ +.post-metadata { + display: inline-flex; + flex-wrap: wrap; + gap: .5em; + list-style: none; + padding: 0; + margin: 0; +} +.post-metadata time { + margin-right: 1em; +} + +/* Direct Links / Markdown Headers */ +.header-anchor { + text-decoration: none; + font-style: normal; + font-size: 1em; + margin-left: .1em; +} +a[href].header-anchor, +a[href].header-anchor:visited { + color: transparent; +} +a[href].header-anchor:focus, +a[href].header-anchor:hover { + text-decoration: underline; +} +a[href].header-anchor:focus, +:hover > a[href].header-anchor { + color: #aaa; +} + +h2 + .header-anchor { + font-size: 1.5em; +} \ No newline at end of file diff --git a/public/css/message-box.css b/public/css/message-box.css new file mode 100644 index 0000000..af60ec8 --- /dev/null +++ b/public/css/message-box.css @@ -0,0 +1,18 @@ +/* Message Box */ +.message-box { + --color-message-box: #ffc; + + display: block; + background-color: var(--color-message-box); + color: var(--color-gray-90); + padding: 1em 0.625em; /* 16px 10px /16 */ +} +.message-box ol { + margin-top: 0; +} + +@media (prefers-color-scheme: dark) { + .message-box { + --color-message-box: #082840; + } +} \ No newline at end of file diff --git a/public/css/prism-diff.css b/public/css/prism-diff.css new file mode 100644 index 0000000..96b3c5d --- /dev/null +++ b/public/css/prism-diff.css @@ -0,0 +1,45 @@ +/* + * New diff- syntax + */ + + pre[class*="language-diff-"] { + --eleventy-code-padding: 1.25em; + padding-left: var(--eleventy-code-padding); + padding-right: var(--eleventy-code-padding); +} +.token.deleted { + background-color: hsl(0, 51%, 37%); + color: inherit; +} +.token.inserted { + background-color: hsl(126, 31%, 39%); + color: inherit; +} + +/* Make the + and - characters unselectable for copy/paste */ +.token.prefix.unchanged, +.token.prefix.inserted, +.token.prefix.deleted { + -webkit-user-select: none; + user-select: none; + display: inline-flex; + align-items: center; + justify-content: center; + padding-top: 2px; + padding-bottom: 2px; +} +.token.prefix.inserted, +.token.prefix.deleted { + width: var(--eleventy-code-padding); + background-color: rgba(0,0,0,.2); +} + +/* Optional: full-width background color */ +.token.inserted:not(.prefix), +.token.deleted:not(.prefix) { + display: block; + margin-left: calc(-1 * var(--eleventy-code-padding)); + margin-right: calc(-1 * var(--eleventy-code-padding)); + text-decoration: none; /* override del, ins, mark defaults */ + color: inherit; /* override del, ins, mark defaults */ +} \ No newline at end of file