diff --git a/.eleventy.js b/.eleventy.js
index bc04a89..6b794b7 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,5 +1,7 @@
-const { DateTime } = require("luxon");
const fs = require("fs");
+const path = require("path");
+
+const { DateTime } = require("luxon");
const pluginRss = require("@11ty/eleventy-plugin-rss");
const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
const pluginNavigation = require("@11ty/eleventy-navigation");
@@ -8,6 +10,7 @@ const markdownIt = require("markdown-it");
const markdownItAnchor = require("markdown-it-anchor");
const markdownItAttrs = require("markdown-it-attrs");
+
function hyphenize(input) {
return input.replace(/[^\w- ]/, "").replace(/[_ ]/, "-").toLowerCase();
}
@@ -72,11 +75,11 @@ ${content}
});
eleventyConfig.addPairedAsyncShortcode("banner", async (content, title, backgroundSource, backgroundAlt) => {
- const backgroundMetadata = await Image(backgroundSource, {
+ const backgroundMetadata = await Image(`src/images/${backgroundSource}`, {
widths: [1200, 1980, 4000],
formats: ["avif", "webp", "jpeg"],
urlPath: "/assets/img",
- outputDir: "./_site/assets/img",
+ outputDir: "./dist/assets/img",
sharpAvifOptions: { quality: 40 },
sharpWebpOptions: { quality: 50 },
sharpJpegOptions: { quality: 65 },
@@ -122,12 +125,12 @@ ${
// Build settings
//
- eleventyConfig.addPassthroughCopy("assets");
+ eleventyConfig.addPassthroughCopy({ "src/assets": "assets" });
eleventyConfig.setBrowserSyncConfig({
callbacks: {
ready: function(err, browserSync) {
- const content_404 = fs.readFileSync('_site/404.html');
+ const content_404 = fs.readFileSync('dist/404.html');
browserSync.addMiddleware("*", (req, res) => {
// Provides the 404 content without redirect.
@@ -145,7 +148,17 @@ ${
// Other settings
//
+
return {
+ dir: {
+ input: 'src/content',
+ // These are all relative to the input directory so the paths get a little
+ // weird:
+ includes: '../includes',
+ data: '../data',
+ output: 'dist',
+ },
+
templateFormats: [
"md",
"njk",
diff --git a/.eleventyignore b/.eleventyignore
index 46f6ebb..8838c3d 100644
--- a/.eleventyignore
+++ b/.eleventyignore
@@ -1,2 +1 @@
-README.md
assets/fonts/OFL.txt
diff --git a/.gitignore b/.gitignore
index 9d92510..6f92aeb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,7 @@
node_modules/
# Eleventy build output
-/assets/css/
-/_site/
+dist/
# Editor settings
.vscode/
@@ -11,4 +10,5 @@ node_modules/
# Environment
.env
# `nix build` output
+/.dev
/result
diff --git a/.nvmrc b/.nvmrc
deleted file mode 100644
index 48082f7..0000000
--- a/.nvmrc
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/README.md b/README.md
index b1dfb09..f76477e 100644
--- a/README.md
+++ b/README.md
@@ -16,10 +16,11 @@ npm run build:styles
npm run dev:site
```
-Go to , which will update live when content changes.
+Go to , which will update live when content changes
+(the initial build may take some time to render out the different image sizes).
If you make style changes, make sure to recompile the CSS files with the second
-command. Alternatively, run `npm run dev:styles` in a second terminal to watch
-for changes.
+of the above commands. Alternatively, run `npm run dev:styles` in an additional
+terminal to watch for changes.
### Nix environment
diff --git a/flake.nix b/flake.nix
index 6ab3200..e859e5f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -10,7 +10,7 @@
nodejs = pkgs.nodejs-16_x;
- nodePackages = import ./_nix/default.nix { inherit pkgs system nodejs; };
+ nodePackages = import ./nix/default.nix { inherit pkgs system nodejs; };
nodeDependencies = nodePackages.nodeDependencies.override {
nativeBuildInputs = with pkgs; [ pkg-config ];
buildInputs = with pkgs; [ vips ];
diff --git a/_nix/default.nix b/nix/default.nix
similarity index 100%
rename from _nix/default.nix
rename to nix/default.nix
diff --git a/_nix/node-env.nix b/nix/node-env.nix
similarity index 100%
rename from _nix/node-env.nix
rename to nix/node-env.nix
diff --git a/_nix/node-packages.nix b/nix/node-packages.nix
similarity index 100%
rename from _nix/node-packages.nix
rename to nix/node-packages.nix
diff --git a/_nix/update.sh b/nix/update.sh
similarity index 100%
rename from _nix/update.sh
rename to nix/update.sh
diff --git a/package.json b/package.json
index f037d28..7956e83 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"description": "Angestöpselt Homepage",
"scripts": {
"build:site": "eleventy",
- "build:styles": "sass --style=compressed styles/:_site/assets/css/",
+ "build:styles": "sass --style=compressed src/styles/:dist/assets/css/",
"build": "npm run build:site && npm run build:styles",
"dev:site": "eleventy --serve",
"dev:styles": "npm run build:styles -- --watch"
diff --git a/assets/fonts/Comfortaa-Bold.ttf b/src/assets/fonts/Comfortaa-Bold.ttf
similarity index 100%
rename from assets/fonts/Comfortaa-Bold.ttf
rename to src/assets/fonts/Comfortaa-Bold.ttf
diff --git a/assets/fonts/Comfortaa-Light.ttf b/src/assets/fonts/Comfortaa-Light.ttf
similarity index 100%
rename from assets/fonts/Comfortaa-Light.ttf
rename to src/assets/fonts/Comfortaa-Light.ttf
diff --git a/assets/fonts/Comfortaa-Medium.ttf b/src/assets/fonts/Comfortaa-Medium.ttf
similarity index 100%
rename from assets/fonts/Comfortaa-Medium.ttf
rename to src/assets/fonts/Comfortaa-Medium.ttf
diff --git a/assets/fonts/Comfortaa-Regular.ttf b/src/assets/fonts/Comfortaa-Regular.ttf
similarity index 100%
rename from assets/fonts/Comfortaa-Regular.ttf
rename to src/assets/fonts/Comfortaa-Regular.ttf
diff --git a/assets/fonts/Comfortaa-SemiBold.ttf b/src/assets/fonts/Comfortaa-SemiBold.ttf
similarity index 100%
rename from assets/fonts/Comfortaa-SemiBold.ttf
rename to src/assets/fonts/Comfortaa-SemiBold.ttf
diff --git a/assets/fonts/Comfortaa-VariableFont_wght.ttf b/src/assets/fonts/Comfortaa-VariableFont_wght.ttf
similarity index 100%
rename from assets/fonts/Comfortaa-VariableFont_wght.ttf
rename to src/assets/fonts/Comfortaa-VariableFont_wght.ttf
diff --git a/assets/fonts/OFL.txt b/src/assets/fonts/OFL.txt
similarity index 100%
rename from assets/fonts/OFL.txt
rename to src/assets/fonts/OFL.txt
diff --git a/404.md b/src/content/404.md
similarity index 100%
rename from 404.md
rename to src/content/404.md
diff --git a/computer-beantragen/index.md b/src/content/computer-beantragen/index.md
similarity index 100%
rename from computer-beantragen/index.md
rename to src/content/computer-beantragen/index.md
diff --git a/computer-beantragen/organisation.md b/src/content/computer-beantragen/organisation.md
similarity index 100%
rename from computer-beantragen/organisation.md
rename to src/content/computer-beantragen/organisation.md
diff --git a/computer-beantragen/privat.md b/src/content/computer-beantragen/privat.md
similarity index 100%
rename from computer-beantragen/privat.md
rename to src/content/computer-beantragen/privat.md
diff --git a/computer-reparieren.md b/src/content/computer-reparieren.md
similarity index 100%
rename from computer-reparieren.md
rename to src/content/computer-reparieren.md
diff --git a/feed/feed.njk b/src/content/feed/feed.njk
similarity index 100%
rename from feed/feed.njk
rename to src/content/feed/feed.njk
diff --git a/feed/htaccess.njk b/src/content/feed/htaccess.njk
similarity index 100%
rename from feed/htaccess.njk
rename to src/content/feed/htaccess.njk
diff --git a/feed/json.njk b/src/content/feed/json.njk
similarity index 100%
rename from feed/json.njk
rename to src/content/feed/json.njk
diff --git a/hardware-spenden/index.md b/src/content/hardware-spenden/index.md
similarity index 100%
rename from hardware-spenden/index.md
rename to src/content/hardware-spenden/index.md
diff --git a/hardware-spenden/organisation.md b/src/content/hardware-spenden/organisation.md
similarity index 100%
rename from hardware-spenden/organisation.md
rename to src/content/hardware-spenden/organisation.md
diff --git a/hardware-spenden/privat.md b/src/content/hardware-spenden/privat.md
similarity index 100%
rename from hardware-spenden/privat.md
rename to src/content/hardware-spenden/privat.md
diff --git a/impressum.md b/src/content/impressum.md
similarity index 100%
rename from impressum.md
rename to src/content/impressum.md
diff --git a/index.md b/src/content/index.md
similarity index 99%
rename from index.md
rename to src/content/index.md
index 69a31de..dcc1cb6 100644
--- a/index.md
+++ b/src/content/index.md
@@ -3,7 +3,7 @@ layout: layouts/home.njk
---
{% banner
"Angestöpselt",
- "images/home-banner.jpg",
+ "home-banner.jpg",
"Kinder und Jugendliche verfolgen die Präsentation eines 3D-Druckers"
%}
Wir bieten Bedürftigen Zugang in die digitale Welt
diff --git a/kontakt/erfolg.md b/src/content/kontakt/erfolg.md
similarity index 100%
rename from kontakt/erfolg.md
rename to src/content/kontakt/erfolg.md
diff --git a/kontakt/index.md b/src/content/kontakt/index.md
similarity index 98%
rename from kontakt/index.md
rename to src/content/kontakt/index.md
index 79be1a8..ef6ff3b 100644
--- a/kontakt/index.md
+++ b/src/content/kontakt/index.md
@@ -7,7 +7,7 @@ eleventyNavigation:
---
{% banner
"",
- "images/contact-banner.jpg",
+ "contact-banner.jpg",
"Aufnahme des Vereinsheims bei Nacht. Die Innenbeleuchtung ist an und der Angestöpselt-Schriftzug ist zu sehen."
%}
{% endbanner %}
diff --git a/kontakt/problem.md b/src/content/kontakt/problem.md
similarity index 100%
rename from kontakt/problem.md
rename to src/content/kontakt/problem.md
diff --git a/mitmachen.md b/src/content/mitmachen.md
similarity index 98%
rename from mitmachen.md
rename to src/content/mitmachen.md
index bc7cd33..30b141e 100644
--- a/mitmachen.md
+++ b/src/content/mitmachen.md
@@ -4,7 +4,7 @@ useForms: true
---
{% banner
"",
- "images/work-banner.jpg",
+ "work-banner.jpg",
"Nahaufnahme eines Laptops mit geöffnetem Gehäuse. Sichtbar ist die ausgebaute Festplatte."
%}
{% endbanner %}
diff --git a/neuigkeiten/firstpost.md b/src/content/neuigkeiten/firstpost.md
similarity index 100%
rename from neuigkeiten/firstpost.md
rename to src/content/neuigkeiten/firstpost.md
diff --git a/neuigkeiten/neuigkeiten.json b/src/content/neuigkeiten/neuigkeiten.json
similarity index 100%
rename from neuigkeiten/neuigkeiten.json
rename to src/content/neuigkeiten/neuigkeiten.json
diff --git a/sitemap.xml.njk b/src/content/sitemap.xml.njk
similarity index 100%
rename from sitemap.xml.njk
rename to src/content/sitemap.xml.njk
diff --git a/_data/metadata.json b/src/data/metadata.json
similarity index 100%
rename from _data/metadata.json
rename to src/data/metadata.json
diff --git a/images/contact-banner.jpg b/src/images/contact-banner.jpg
similarity index 100%
rename from images/contact-banner.jpg
rename to src/images/contact-banner.jpg
diff --git a/images/home-banner.jpg b/src/images/home-banner.jpg
similarity index 100%
rename from images/home-banner.jpg
rename to src/images/home-banner.jpg
diff --git a/images/work-banner.jpg b/src/images/work-banner.jpg
similarity index 100%
rename from images/work-banner.jpg
rename to src/images/work-banner.jpg
diff --git a/_includes/layouts/base.njk b/src/includes/layouts/base.njk
similarity index 100%
rename from _includes/layouts/base.njk
rename to src/includes/layouts/base.njk
diff --git a/_includes/layouts/home.njk b/src/includes/layouts/home.njk
similarity index 100%
rename from _includes/layouts/home.njk
rename to src/includes/layouts/home.njk
diff --git a/_includes/layouts/page.njk b/src/includes/layouts/page.njk
similarity index 100%
rename from _includes/layouts/page.njk
rename to src/includes/layouts/page.njk
diff --git a/_includes/layouts/post.njk b/src/includes/layouts/post.njk
similarity index 100%
rename from _includes/layouts/post.njk
rename to src/includes/layouts/post.njk
diff --git a/styles/base.scss b/src/styles/base.scss
similarity index 100%
rename from styles/base.scss
rename to src/styles/base.scss
diff --git a/styles/components/_actions.scss b/src/styles/components/_actions.scss
similarity index 100%
rename from styles/components/_actions.scss
rename to src/styles/components/_actions.scss
diff --git a/styles/components/_banner.scss b/src/styles/components/_banner.scss
similarity index 100%
rename from styles/components/_banner.scss
rename to src/styles/components/_banner.scss
diff --git a/styles/components/_form-choices.scss b/src/styles/components/_form-choices.scss
similarity index 100%
rename from styles/components/_form-choices.scss
rename to src/styles/components/_form-choices.scss
diff --git a/styles/components/_form-elements.scss b/src/styles/components/_form-elements.scss
similarity index 100%
rename from styles/components/_form-elements.scss
rename to src/styles/components/_form-elements.scss
diff --git a/styles/components/_markup.scss b/src/styles/components/_markup.scss
similarity index 100%
rename from styles/components/_markup.scss
rename to src/styles/components/_markup.scss
diff --git a/styles/components/_page.scss b/src/styles/components/_page.scss
similarity index 100%
rename from styles/components/_page.scss
rename to src/styles/components/_page.scss
diff --git a/styles/components/_site.scss b/src/styles/components/_site.scss
similarity index 100%
rename from styles/components/_site.scss
rename to src/styles/components/_site.scss
diff --git a/styles/components/_tabs.scss b/src/styles/components/_tabs.scss
similarity index 100%
rename from styles/components/_tabs.scss
rename to src/styles/components/_tabs.scss
diff --git a/styles/forms.scss b/src/styles/forms.scss
similarity index 100%
rename from styles/forms.scss
rename to src/styles/forms.scss
diff --git a/styles/home.scss b/src/styles/home.scss
similarity index 100%
rename from styles/home.scss
rename to src/styles/home.scss
diff --git a/styles/lib/_colors.scss b/src/styles/lib/_colors.scss
similarity index 100%
rename from styles/lib/_colors.scss
rename to src/styles/lib/_colors.scss
diff --git a/styles/lib/_layout.scss b/src/styles/lib/_layout.scss
similarity index 100%
rename from styles/lib/_layout.scss
rename to src/styles/lib/_layout.scss
diff --git a/styles/lib/_motion.scss b/src/styles/lib/_motion.scss
similarity index 100%
rename from styles/lib/_motion.scss
rename to src/styles/lib/_motion.scss
diff --git a/styles/lib/_typography.scss b/src/styles/lib/_typography.scss
similarity index 100%
rename from styles/lib/_typography.scss
rename to src/styles/lib/_typography.scss