diff --git a/.editorconfig b/.editorconfig
index d415404..844771f 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,7 +1,7 @@
root = true
[*]
-indent_style = space
+indent_style = tab
indent_size = 2
end_of_line = lf
insert_final_newline = true
diff --git a/.eleventy.js b/.eleventy.js
index abb8a8f..4e4f328 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,64 +1,63 @@
-const { DateTime } = require("luxon");
-const fs = require("fs");
-const pluginRss = require("@11ty/eleventy-plugin-rss");
-const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
-const pluginNavigation = require("@11ty/eleventy-navigation");
-const markdownIt = require("markdown-it");
-const markdownItAnchor = require("markdown-it-anchor");
+const { DateTime } = require('luxon')
+const fs = require('fs')
+const pluginRss = require('@11ty/eleventy-plugin-rss')
+const pluginNavigation = require('@11ty/eleventy-navigation')
+const markdownIt = require('markdown-it')
+const markdownItAnchor = require('markdown-it-anchor')
module.exports = function(eleventyConfig) {
// Add plugins
- eleventyConfig.addPlugin(pluginRss);
- eleventyConfig.addPlugin(pluginSyntaxHighlight);
- eleventyConfig.addPlugin(pluginNavigation);
+ eleventyConfig.addPlugin(pluginRss)
+ eleventyConfig.addPlugin(pluginNavigation)
// https://www.11ty.dev/docs/data-deep-merge/
- eleventyConfig.setDataDeepMerge(true);
+ eleventyConfig.setDataDeepMerge(true)
// Alias `layout: post` to `layout: layouts/post.njk`
- eleventyConfig.addLayoutAlias("post", "layouts/post.njk");
+ eleventyConfig.addLayoutAlias('post', 'layouts/post.njk')
- eleventyConfig.addFilter("readableDate", dateObj => {
- return DateTime.fromJSDate(dateObj, {zone: 'utc'}).toFormat("dd LLL yyyy");
- });
+ eleventyConfig.addFilter('readableDate', dateObj => {
+ return DateTime.fromJSDate(dateObj, {zone: 'utc'}).toFormat('dd LLL yyyy')
+ })
// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string
eleventyConfig.addFilter('htmlDateString', (dateObj) => {
- return DateTime.fromJSDate(dateObj, {zone: 'utc'}).toFormat('yyyy-LL-dd');
- });
+ return DateTime.fromJSDate(dateObj, {zone: 'utc'}).toFormat('yyyy-LL-dd')
+ })
// Get the first `n` elements of a collection.
- eleventyConfig.addFilter("head", (array, n) => {
+ eleventyConfig.addFilter('head', (array, n) => {
if( n < 0 ) {
- return array.slice(n);
+ return array.slice(n)
}
- return array.slice(0, n);
- });
+ return array.slice(0, n)
+ })
// Return the smallest number argument
- eleventyConfig.addFilter("min", (...numbers) => {
- return Math.min.apply(null, numbers);
- });
+ eleventyConfig.addFilter('min', (...numbers) => {
+ return Math.min.apply(null, numbers)
+ })
- eleventyConfig.addFilter("filterTagList", tags => {
+ eleventyConfig.addFilter('filterTagList', tags => {
// should match the list in tags.njk
- return (tags || []).filter(tag => ["all", "nav", "post", "posts"].indexOf(tag) === -1);
+ return (tags || []).filter(tag => ['all', 'nav', 'post', 'posts'].indexOf(tag) === -1)
})
// Create an array of all tags
- eleventyConfig.addCollection("tagList", function(collection) {
- let tagSet = new Set();
+ eleventyConfig.addCollection('tagList', function(collection) {
+ let tagSet = new Set()
collection.getAll().forEach(item => {
- (item.data.tags || []).forEach(tag => tagSet.add(tag));
- });
+ (item.data.tags || []).forEach(tag => tagSet.add(tag))
+ })
- return [...tagSet];
- });
+ return [...tagSet]
+ })
// Copy the `img` and `css` folders to the output
- eleventyConfig.addPassthroughCopy("img");
- eleventyConfig.addPassthroughCopy("css");
+ // ki9: passthrough done by template languages, see below
+ //eleventyConfig.addPassthroughCopy('img')
+ //eleventyConfig.addPassthroughCopy('css')
// Customize Markdown library and settings:
let markdownLibrary = markdownIt({
@@ -69,26 +68,26 @@ module.exports = function(eleventyConfig) {
permalink: true,
permalinkClass: "direct-link",
permalinkSymbol: "#"
- });
- eleventyConfig.setLibrary("md", markdownLibrary);
+ })
+ eleventyConfig.setLibrary("md", markdownLibrary)
// Override Browsersync defaults (used only with --serve)
eleventyConfig.setBrowserSyncConfig({
callbacks: {
ready: function(err, browserSync) {
- const content_404 = fs.readFileSync('_dist/404.html');
+ const content_404 = fs.readFileSync('_dist/404.html')
browserSync.addMiddleware("*", (req, res) => {
// Provides the 404 content without redirect.
- res.writeHead(404, {"Content-Type": "text/html; charset=UTF-8"});
- res.write(content_404);
- res.end();
- });
+ res.writeHead(404, {"Content-Type": "text/html charset=UTF-8"})
+ res.write(content_404)
+ res.end()
+ })
},
},
ui: false,
ghostMode: false
- });
+ })
return {
// Control which files Eleventy will process
@@ -96,39 +95,44 @@ module.exports = function(eleventyConfig) {
templateFormats: [
"md",
"njk",
- "html",
- "liquid"
+ 'html',
+ 'liquid',
+ 'css',
+ 'png',
+ 'jpg',
+ 'gif',
+ 'js',
],
// -----------------------------------------------------------------
// If your site deploys to a subdirectory, change `pathPrefix`.
// Don’t worry about leading and trailing slashes, we normalize these.
- // If you don’t have a subdirectory, use "" or "/" (they do the same thing)
+ // If you don’t have a subdirectory, use "" or "/' (they do the same thing)
// This is only used for link URLs (it does not affect your file structure)
// Best paired with the `url` filter: https://www.11ty.dev/docs/filters/url/
// You can also pass this in on the command line using `--pathprefix`
// Optional (default is shown)
- pathPrefix: "/",
+ pathPrefix: '/',
// -----------------------------------------------------------------
// Pre-process *.md files with: (default: `liquid`)
- markdownTemplateEngine: "njk",
+ markdownTemplateEngine: 'njk',
// Pre-process *.html files with: (default: `liquid`)
- htmlTemplateEngine: "njk",
+ htmlTemplateEngine: 'njk',
// Opt-out of pre-processing global data JSON files: (default: `liquid`)
dataTemplateEngine: false,
// These are all optional (defaults are shown):
dir: {
- input: "_src",
- includes: "_includes",
- data: "_data",
- output: "_dist"
+ input: '_src',
+ includes: '_includes',
+ data: '_data',
+ output: '_dist'
}
- };
-};
+ }
+}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 3c4e436..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-language: node_js
-node_js:
- - 12
-before_script:
- - npm install @11ty/eleventy -g
-script: eleventy --pathprefix="/eleventy-base-blog/"
-deploy:
- local-dir: _dist
- provider: pages
- skip-cleanup: true
- github-token: $GITHUB_TOKEN # Set in travis-ci.org dashboard, marked secure
- keep-history: true
- on:
- branch: master
diff --git a/README.md b/README.md
index fb7724c..7093311 100644
--- a/README.md
+++ b/README.md
@@ -73,6 +73,6 @@ DEBUG=* npx eleventy
* The blog post feed template is in `feed/feed.njk`. This is also a good example of using a global data files in that it uses `_data/metadata.json`.
* This example uses three layouts:
* `_includes/layouts/base.njk`: the top level HTML structure
- * `_includes/layouts/home.njk`: the home page template (wrapped into `base.njk`)
+ * `_includes/base.njk`: the home page template (wrapped into `base.njk`)
* `_includes/layouts/post.njk`: the blog post template (wrapped into `base.njk`)
* `_includes/postlist.njk` is a Nunjucks include and is a reusable component used to display a list of all the posts. `index.njk` has an example of how to use it.
diff --git a/_src/404.md b/_src/404.md
index 8b9aeea..90397dc 100644
--- a/_src/404.md
+++ b/_src/404.md
@@ -1,5 +1,5 @@
---
-layout: layouts/home.njk
+layout: base.njk
permalink: 404.html
eleventyExcludeFromCollections: true
---
diff --git a/_src/_data/metadata.json b/_src/_data/metadata.json
index 7431631..7ed01c2 100644
--- a/_src/_data/metadata.json
+++ b/_src/_data/metadata.json
@@ -2,16 +2,5 @@
"title": "Galactic Fortress 4",
"url": "https://www.gf4.pw/",
"language": "en",
- "description": "Galactic Fortress 4 is a private virtual hackerspace.",
-
- "feed": {
- "subtitle": "Galactic Fortress 4 is a private virtual hackerspace.",
- "filename": "feed.xml",
- "path": "/feed/feed.xml",
- "id": "https://www.gf4.pw/"
- },
- "jsonfeed": {
- "path": "/feed/feed.json",
- "url": "https://www.gf4.pw/feed/feed.json"
- }
+ "description": "Galactic Fortress 4 is a private virtual hackerspace."
}
diff --git a/_src/_includes/base.njk b/_src/_includes/base.njk
new file mode 100644
index 0000000..aaef1c0
--- /dev/null
+++ b/_src/_includes/base.njk
@@ -0,0 +1,17 @@
+
+
+
+
+
+ {{ title or metadata.title }}
+
+
+
+
+
+
+
+ {{ content | safe }}
+
+
+
diff --git a/_src/_includes/layouts/base.njk b/_src/_includes/layouts/base.njk
deleted file mode 100644
index ad6569e..0000000
--- a/_src/_includes/layouts/base.njk
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
- {{ title or metadata.title }}
-
-
-
-
-
-
-
-
-
-
- {#- Read more about `eleventy-navigation` at https://www.11ty.dev/docs/plugins/navigation/ #}
-
- {%- for entry in collections.all | eleventyNavigation %}
- {{ entry.title }}
- {%- endfor %}
-
-
-
-
-
-
-
-
-
- {{ content | safe }}
-
-
-
-
-
-
-
diff --git a/_src/_includes/layouts/home.njk b/_src/_includes/layouts/home.njk
deleted file mode 100644
index ebba6b3..0000000
--- a/_src/_includes/layouts/home.njk
+++ /dev/null
@@ -1,5 +0,0 @@
----
-layout: layouts/base.njk
-templateClass: tmpl-home
----
-{{ content | safe }}
diff --git a/_src/_includes/layouts/post.njk b/_src/_includes/layouts/post.njk
deleted file mode 100644
index 27d6e20..0000000
--- a/_src/_includes/layouts/post.njk
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: layouts/base.njk
-templateClass: tmpl-post
----
-{{ title }}
-
-{{ page.date | readableDate }}
-{%- for tag in tags | filterTagList -%}
-{%- set tagUrl %}/tags/{{ tag | slug }}/{% endset -%}
-{{ tag }}
-{%- endfor %}
-
-{{ content | safe }}
-
-{%- set nextPost = collections.posts | getNextCollectionItem(page) %}
-{%- set previousPost = collections.posts | getPreviousCollectionItem(page) %}
-{%- if nextPost or previousPost %}
-
-
-{%- endif %}
diff --git a/_src/_includes/postslist.njk b/_src/_includes/postslist.njk
deleted file mode 100644
index d220513..0000000
--- a/_src/_includes/postslist.njk
+++ /dev/null
@@ -1,12 +0,0 @@
-
-{% for post in postslist | reverse %}
-
- {% if post.data.title %}{{ post.data.title }}{% else %}{{ post.url }}
{% endif %}
- {{ post.date | readableDate }}
- {% for tag in post.data.tags | filterTagList %}
- {% set tagUrl %}/tags/{{ tag | slug }}/{% endset %}
- {{ tag }}
- {% endfor %}
-
-{% endfor %}
-
diff --git a/_src/about/index.md b/_src/about/index.md
deleted file mode 100644
index c74e8ba..0000000
--- a/_src/about/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: layouts/post.njk
-title: About Me
-templateClass: tmpl-post
-eleventyNavigation:
- key: About Me
- order: 3
----
-
-I am a person that writes stuff.
diff --git a/_src/archive.njk b/_src/archive.njk
deleted file mode 100644
index 0b277a8..0000000
--- a/_src/archive.njk
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: layouts/home.njk
-permalink: /posts/
-eleventyNavigation:
- key: Archive
- order: 2
----
-
-Archive
-
-{% set postslist = collections.posts %}
-{% include "postslist.njk" %}
diff --git a/_src/base.css b/_src/base.css
new file mode 100644
index 0000000..b58f466
--- /dev/null
+++ b/_src/base.css
@@ -0,0 +1,13 @@
+html {
+ margin: 0;
+ color: #a8d;
+ background-color: #020202;
+}
+body {
+ margin: 1vw;
+ font-size: calc(1em + 1vw);
+}
+main {
+ margin: 3vw;
+ font-family: monospace;
+}
diff --git a/_src/css/index.css b/_src/css/index.css
deleted file mode 100644
index 514f370..0000000
--- a/_src/css/index.css
+++ /dev/null
@@ -1,247 +0,0 @@
-/* Colors */
-:root {
- --lightgray: #e0e0e0;
- --gray: #C0C0C0;
- --darkgray: #333;
- --navy: #17050F;
- --blue: #082840;
- --white: #fff;
-}
-
-/* Global stylesheet */
-* {
- box-sizing: border-box;
-}
-
-html,
-body {
- padding: 0;
- margin: 0;
- font-family: -apple-system, system-ui, sans-serif;
- color: var(--darkgray);
- background-color: var(--white);
-}
-p:last-child {
- margin-bottom: 0;
-}
-p,
-.tmpl-post li,
-img {
- max-width: 37.5em; /* 600px /16 */
-}
-p,
-.tmpl-post li {
- line-height: 1.45;
-}
-a[href] {
- color: var(--blue);
-}
-a[href]:visited {
- color: var(--navy);
-}
-main {
- padding: 1rem;
-}
-main :first-child {
- margin-top: 0;
-}
-header {
- border-bottom: 1px dashed var(--lightgray);
-}
-header:after {
- content: "";
- display: table;
- clear: both;
-}
-table {
- margin: 1em 0;
-}
-table td,
-table th {
- padding-right: 1em;
-}
-
-pre,
-code {
- font-family: 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;
- line-height: 1.5;
-}
-pre {
- 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;
- padding: 1em;
- margin: .5em 0;
- background-color: #f6f6f6;
-}
-code {
- word-break: break-all;
-}
-.highlight-line {
- display: block;
- padding: 0.125em 1em;
- text-decoration: none; /* override del, ins, mark defaults */
- color: inherit; /* override del, ins, mark defaults */
-}
-
-/* allow highlighting empty lines */
-.highlight-line:empty:before {
- content: " ";
-}
-/* avoid double line breaks when using display: block; */
-.highlight-line + br {
- display: none;
-}
-
-.highlight-line-isdir {
- color: #b0b0b0;
- background-color: #222;
-}
-.highlight-line-active {
- background-color: #444;
- background-color: hsla(0, 0%, 27%, .8);
-}
-.highlight-line-add {
- background-color: #45844b;
-}
-.highlight-line-remove {
- background-color: #902f2f;
-}
-
-/* Header */
-.home {
- padding: 0 1rem;
- float: left;
- margin: 1rem 0; /* 16px /16 */
- font-size: 1em; /* 16px /16 */
-}
-.home :link:not(:hover) {
- text-decoration: none;
-}
-
-/* Nav */
-.nav {
- padding: 0;
- list-style: none;
- float: left;
- margin-left: 1em;
-}
-.nav-item {
- display: inline-block;
- margin-right: 1em;
-}
-.nav-item a[href]:not(:hover) {
- text-decoration: none;
-}
-.nav-item-active {
- font-weight: 700;
- text-decoration: underline;
-}
-
-/* Posts list */
-.postlist {
- list-style: none;
- padding: 0;
-}
-.postlist-item {
- display: flex;
- flex-wrap: wrap;
- align-items: baseline;
- counter-increment: start-from -1;
- line-height: 1.8;
-}
-.postlist-item:before {
- display: inline-block;
- pointer-events: none;
- content: "" counter(start-from, decimal-leading-zero) ". ";
- line-height: 100%;
- text-align: right;
-}
-.postlist-date,
-.postlist-item:before {
- font-size: 0.8125em; /* 13px /16 */
- color: var(--darkgray);
-}
-.postlist-date {
- word-spacing: -0.5px;
-}
-.postlist-link {
- padding-left: .25em;
- padding-right: .25em;
- text-underline-position: from-font;
- text-underline-offset: 0;
- text-decoration-thickness: 1px;
-}
-.postlist-item-active .postlist-link {
- font-weight: bold;
-}
-.tmpl-home .postlist-link {
- font-size: 1.1875em; /* 19px /16 */
- font-weight: 700;
-}
-
-
-/* Tags */
-.post-tag {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- text-transform: uppercase;
- font-size: 0.6875em; /* 11px /16 */
- padding: 0.09090909090909em 0.3636363636364em; /* 1px 4px /11 */
- margin-left: 0.8em; /* 8px /10 */
- color: var(--darkgray);
- border: 1px solid var(--gray);
- border-radius: 0.25em; /* 3px /12 */
- text-decoration: none;
- line-height: 1.8;
-}
-a[href].post-tag,
-a[href].post-tag:visited {
- color: inherit;
-}
-a[href].post-tag:hover,
-a[href].post-tag:focus {
- background-color: var(--lightgray);
-}
-.postlist-item > .post-tag {
- align-self: center;
-}
-
-/* Warning */
-.warning {
- background-color: #ffc;
- padding: 1em 0.625em; /* 16px 10px /16 */
-}
-.warning ol:only-child {
- margin: 0;
-}
-
-/* Direct Links / Markdown Headers */
-.direct-link {
- font-family: sans-serif;
- text-decoration: none;
- font-style: normal;
- margin-left: .1em;
-}
-a[href].direct-link,
-a[href].direct-link:visited {
- color: transparent;
-}
-a[href].direct-link:focus,
-a[href].direct-link:focus:visited,
-:hover > a[href].direct-link,
-:hover > a[href].direct-link:visited {
- color: #aaa;
-}
diff --git a/_src/css/prism-base16-monokai.dark.css b/_src/css/prism-base16-monokai.dark.css
deleted file mode 100644
index dceb2a6..0000000
--- a/_src/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;
-}
diff --git a/_src/feed/feed.njk b/_src/feed/feed.njk
deleted file mode 100755
index 161fc93..0000000
--- a/_src/feed/feed.njk
+++ /dev/null
@@ -1,29 +0,0 @@
----
-# Metadata comes from _data/metadata.json
-permalink: "{{ metadata.feed.path }}"
-eleventyExcludeFromCollections: true
----
-
-
- {{ metadata.title }}
- {{ metadata.feed.subtitle }}
- {% set absoluteUrl %}{{ metadata.feed.path | url | absoluteUrl(metadata.url) }}{% endset %}
-
-
- {{ collections.posts | rssLastUpdatedDate }}
- {{ metadata.feed.id }}
-
- {{ metadata.author.name }}
- {{ metadata.author.email }}
-
- {%- for post in collections.posts | reverse %}
- {% set absolutePostUrl %}{{ post.url | url | absoluteUrl(metadata.url) }}{% endset %}
-
- {{ post.data.title }}
-
- {{ post.date | rssDate }}
- {{ absolutePostUrl }}
- {{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}
-
- {%- endfor %}
-
diff --git a/_src/feed/htaccess.njk b/_src/feed/htaccess.njk
deleted file mode 100644
index ac4a3c5..0000000
--- a/_src/feed/htaccess.njk
+++ /dev/null
@@ -1,6 +0,0 @@
----
-permalink: feed/.htaccess
-eleventyExcludeFromCollections: true
----
-# For Apache, to show `{{ metadata.feed.filename }}` when browsing to directory /feed/ (hide the file!)
-DirectoryIndex {{ metadata.feed.filename }}
diff --git a/_src/feed/json.njk b/_src/feed/json.njk
deleted file mode 100644
index 40bba3c..0000000
--- a/_src/feed/json.njk
+++ /dev/null
@@ -1,32 +0,0 @@
----
-# Metadata comes from _data/metadata.json
-permalink: "{{ metadata.jsonfeed.path }}"
-eleventyExcludeFromCollections: true
----
-{
- "version": "https://jsonfeed.org/version/1.1",
- "title": "{{ metadata.title }}",
- "language": "{{ metadata.language }}",
- "home_page_url": "{{ metadata.url }}",
- "feed_url": "{{ metadata.jsonfeed.url }}",
- "description": "{{ metadata.description }}",
- "author": {
- "name": "{{ metadata.author.name }}",
- "url": "{{ metadata.author.url }}"
- },
- "items": [
- {%- for post in collections.posts | reverse %}
- {%- set absolutePostUrl %}{{ post.url | url | absoluteUrl(metadata.url) }}{% endset -%}
- {
- "id": "{{ absolutePostUrl }}",
- "url": "{{ absolutePostUrl }}",
- "title": "{{ post.data.title }}",
- "content_html": {% if post.templateContent %}{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) | dump | safe }}{% else %}""{% endif %},
- "date_published": "{{ post.date | rssDate }}"
- }
- {%- if not loop.last -%}
- ,
- {%- endif -%}
- {%- endfor %}
- ]
-}
diff --git a/_src/gf4.ca.crt b/_src/gf4.ca.crt
new file mode 100644
index 0000000..af1ae7f
--- /dev/null
+++ b/_src/gf4.ca.crt
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
diff --git a/_src/img/.gitkeep b/_src/img/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/_src/index.njk b/_src/index.njk
index bf096f7..b3cbaf0 100644
--- a/_src/index.njk
+++ b/_src/index.njk
@@ -1,14 +1,10 @@
---
-layout: layouts/home.njk
-eleventyNavigation:
- key: Home
- order: 1
+title: Galactic Fortress 4
+layout: base.njk
---
-{% set maxPosts = collections.posts.length | min(3) %}
-Latest {% if maxPosts == 1 %}Post{% else %}{{ maxPosts }} Posts{% endif %}
-{% set postslist = collections.posts | head(-3) %}
-{% set postslistCounter = collections.posts | length %}
-{% include "postslist.njk" %}
+{{title}}
-More posts can be found in the archive .
+GF4 is a virtual private hackerspace. We are nerds, sharing computer resources and hosted services on a shared virtual private network.
+
+We host a matrix server and an Urban Terror server on gf4.pw
. You can usually find us there.
diff --git a/_src/page-list.njk b/_src/page-list.njk
deleted file mode 100644
index cb53ec6..0000000
--- a/_src/page-list.njk
+++ /dev/null
@@ -1,24 +0,0 @@
----
-pagination:
- data: collections.all
- size: 20
- alias: entries
-layout: layouts/home.njk
-permalink: /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}
----
-
-
-
- URL
- Page Title
-
-
-
-{%- for entry in entries %}
-
- {{ entry.url }}
- {{ entry.data.title }}
-
-{%- endfor %}
-
-
diff --git a/_src/posts/firstpost.md b/_src/posts/firstpost.md
deleted file mode 100644
index 21b3d6c..0000000
--- a/_src/posts/firstpost.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: This is my first post.
-description: This is a post on My Blog about agile frameworks.
-date: 2018-05-01
-tags:
- - another tag
-layout: layouts/post.njk
----
-Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
-
-Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
-
-## Section Header
-
-Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
-
-``` text/2-3
-// this is a command
-function myCommand() {
- let counter = 0;
- counter++;
-}
-
-// Test with a line break above this line.
-console.log('Test');
-```
diff --git a/_src/posts/fourthpost.md b/_src/posts/fourthpost.md
deleted file mode 100644
index c928a9f..0000000
--- a/_src/posts/fourthpost.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: This is my fourth post.
-description: This is a post on My Blog about touchpoints and circling wagons.
-date: 2018-09-30
-tags: second tag
-layout: layouts/post.njk
----
-Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
-
-Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
-
-## Section Header
-
-Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
-
diff --git a/_src/posts/posts.json b/_src/posts/posts.json
deleted file mode 100644
index 17f25d5..0000000
--- a/_src/posts/posts.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "tags": [
- "posts"
- ]
-}
diff --git a/_src/posts/secondpost.md b/_src/posts/secondpost.md
deleted file mode 100644
index e2e4ca4..0000000
--- a/_src/posts/secondpost.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: This is my second post.
-description: This is a post on My Blog about leveraging agile frameworks.
-date: 2018-07-04
-tags:
- - number 2
-layout: layouts/post.njk
----
-Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
-
-## Section Header
-
-First post
-Third post
-
-Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
-
-Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
diff --git a/_src/posts/thirdpost.md b/_src/posts/thirdpost.md
deleted file mode 100644
index df0ee74..0000000
--- a/_src/posts/thirdpost.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: This is my third post.
-description: This is a post on My Blog about win-win survival strategies.
-date: 2018-08-24
-tags:
- - second tag
-layout: layouts/post.njk
----
-Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
-
-``` js/2/4
-// this is a command
-function myCommand() {
- let counter = 0;
-
- counter++;
-
-}
-
-// Test with a line break above this line.
-console.log('Test');
-```
-
-Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
-
-## Section Header
-
-Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
diff --git a/_src/sitemap.xml.njk b/_src/sitemap.xml.njk
deleted file mode 100644
index 0a74480..0000000
--- a/_src/sitemap.xml.njk
+++ /dev/null
@@ -1,14 +0,0 @@
----
-permalink: /sitemap.xml
-eleventyExcludeFromCollections: true
----
-
-
-{%- for page in collections.all %}
- {% set absoluteUrl %}{{ page.url | url | absoluteUrl(metadata.url) }}{% endset %}
-
- {{ absoluteUrl }}
- {{ page.date | htmlDateString }}
-
-{%- endfor %}
-
diff --git a/_src/tags-list.njk b/_src/tags-list.njk
deleted file mode 100644
index d37ae36..0000000
--- a/_src/tags-list.njk
+++ /dev/null
@@ -1,10 +0,0 @@
----
-permalink: /tags/
-layout: layouts/home.njk
----
-Tags
-
-{% for tag in collections.tagList | filterTagList %}
- {% set tagUrl %}/tags/{{ tag | slug }}/{% endset %}
- {{ tag }}
-{% endfor %}
diff --git a/_src/tags.njk b/_src/tags.njk
deleted file mode 100644
index 0fbd53b..0000000
--- a/_src/tags.njk
+++ /dev/null
@@ -1,23 +0,0 @@
----
-pagination:
- data: collections
- size: 1
- alias: tag
- filter:
- - all
- - nav
- - post
- - posts
- - tagList
- addAllPagesToCollections: true
-layout: layouts/home.njk
-eleventyComputed:
- title: Tagged “{{ tag }}”
-permalink: /tags/{{ tag | slug }}/
----
-Tagged “{{ tag }}”
-
-{% set postslist = collections[ tag ] %}
-{% include "postslist.njk" %}
-
-See all tags .
diff --git a/netlify.toml b/netlify.toml
deleted file mode 100644
index 05203f0..0000000
--- a/netlify.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-[build]
- publish = "_dist"
- command = "DEBUG=* eleventy"
diff --git a/package.json b/package.json
index d4b3df8..7205fdf 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,6 @@
"@11ty/eleventy": "^0.12.1",
"@11ty/eleventy-navigation": "^0.1.6",
"@11ty/eleventy-plugin-rss": "^1.1.1",
- "@11ty/eleventy-plugin-syntaxhighlight": "^3.1.0",
"luxon": "^1.26.0",
"markdown-it": "^12.0.4",
"markdown-it-anchor": "^7.1.0"