diff --git a/.bundle/config b/.bundle/config deleted file mode 100644 index aea37992..00000000 --- a/.bundle/config +++ /dev/null @@ -1,3 +0,0 @@ ---- -BUNDLE_BUILD__LIBV8: "--with-system-v8" -BUNDLE_BUILD__THERUBYRACER: "--with-v8-dir=/usr/local/opt/v8@3.15" diff --git a/.gitignore b/.gitignore index 5a137d9a..ff704489 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,3 @@ -_site -.sass-cache -.jekyll-cache -.jekyll-metadata -vendor node_modules _drafts/* +public diff --git a/Gemfile b/Gemfile deleted file mode 100644 index c256cbe0..00000000 --- a/Gemfile +++ /dev/null @@ -1,13 +0,0 @@ -source "https://rubygems.org" - -ruby '~> 2.7' - -gem "jekyll", "~> 4.4.1" - -group :jekyll_plugins do - gem "jekyll-feed", "~> 0.12" - gem "jekyll-last-modified-at", "~> 1.3" - gem "jekyll-seo-tag", "~> 2.6" - gem "jekyll-sitemap", "~> 1.4" - gem "jekyll-target-blank", "~> 2.0" -end diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 40e4dc29..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,102 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) - base64 (0.2.0) - colorator (1.1.0) - concurrent-ruby (1.3.5) - csv (3.3.2) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - eventmachine (1.2.7) - ffi (1.17.1) - forwardable-extended (2.6.0) - google-protobuf (3.25.6) - http_parser.rb (0.8.0) - i18n (1.14.7) - concurrent-ruby (~> 1.0) - jekyll (4.4.1) - addressable (~> 2.4) - base64 (~> 0.2) - colorator (~> 1.0) - csv (~> 3.0) - em-websocket (~> 0.5) - i18n (~> 1.0) - jekyll-sass-converter (>= 2.0, < 4.0) - jekyll-watch (~> 2.0) - json (~> 2.6) - kramdown (~> 2.3, >= 2.3.1) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (~> 0.3, >= 0.3.6) - pathutil (~> 0.9) - rouge (>= 3.0, < 5.0) - safe_yaml (~> 1.0) - terminal-table (>= 1.8, < 4.0) - webrick (~> 1.7) - jekyll-feed (0.17.0) - jekyll (>= 3.7, < 5.0) - jekyll-last-modified-at (1.3.2) - jekyll (>= 3.7, < 5.0) - jekyll-sass-converter (3.0.0) - sass-embedded (~> 1.54) - jekyll-seo-tag (2.8.0) - jekyll (>= 3.8, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-target-blank (2.0.2) - jekyll (>= 3.0, < 5.0) - nokogiri (~> 1.10) - jekyll-watch (2.2.1) - listen (~> 3.0) - json (2.9.1) - kramdown (2.5.1) - rexml (>= 3.3.9) - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.4) - listen (3.9.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.4.0) - mini_portile2 (2.8.2) - nokogiri (1.15.2) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (5.1.1) - racc (1.7.1) - rake (13.2.1) - rb-fsevent (0.11.2) - rb-inotify (0.11.1) - ffi (~> 1.0) - rexml (3.4.0) - rouge (4.5.1) - safe_yaml (1.0.5) - sass-embedded (1.63.6) - google-protobuf (~> 3.23) - rake (>= 13.0.0) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) - unicode-display_width (2.6.0) - webrick (1.9.1) - -PLATFORMS - ruby - -DEPENDENCIES - jekyll (~> 4.4.1) - jekyll-feed (~> 0.12) - jekyll-last-modified-at (~> 1.3) - jekyll-seo-tag (~> 2.6) - jekyll-sitemap (~> 1.4) - jekyll-target-blank (~> 2.0) - -RUBY VERSION - ruby 2.7.7p221 - -BUNDLED WITH - 2.4.7 diff --git a/Makefile b/Makefile index d6003249..ac61378c 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,12 @@ -export EXECJS_RUNTIME=Node +BUILD_DIR=public .PHONEY: default build default: clean - bundle exec jekyll serve --livereload --drafts --incremental --future + zola serve build: clean - JEKYLL_ENV=production bundle exec jekyll build --verbose --profile --trace && pnpm gulp + zola build -clean: clean_cache - bundle exec jekyll clean - -clean_cache: - rm -rf .jekyll-cache +clean: + rm -rf ${BUILD_DIR} diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 3af6f1c8..00000000 --- a/_config.yml +++ /dev/null @@ -1,86 +0,0 @@ -# Welcome to Jekyll! -# -# This config file is meant for settings that affect your whole blog, values -# which you are expected to set up once and rarely edit after that. If you find -# yourself editing this file very often, consider using Jekyll's data files -# feature for the data you need to update frequently. -# -# For technical reasons, this file is *NOT* reloaded automatically when you use -# 'bundle exec jekyll serve'. If you change this file, please restart the server process. -# -# If you need help with YAML syntax, here are some quick references for you: -# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml -# https://learnxinyminutes.com/docs/yaml/ -# -# Site settings -# These are used to personalize your new site. If you look in the HTML files, -# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. -# You can create any custom variable you would like, and they will be accessible -# in the templates via {{ site.myvariable }}. - -title: Brian van Burken -baseurl: "" # the subpath of your site, e.g. /blog -url: "https://brianvanburken.nl" # the base hostname & protocol for your site, e.g. http://example.com - -date_format: "%Y-%m-%d" - -github_source: https://github.com/brianvanburken/brianvanburken.github.io/tree/master/ - -# Build settings -permalink: "/:title/" - -defaults: - - scope: - path: "" # an empty string here means all files in the project - values: - layout: "default" - -highlighter: none - -sass: - style: compressed - sourcemap: development - load_paths: - - _sass - - node_modules - -liquid: - error_mode: strict - -assets: - source_maps: false - -plugins: - - jekyll-feed - - jekyll-last-modified-at - - jekyll-seo-tag - - jekyll-sitemap - - jekyll-target-blank - -# Exclude from processing. -# The following items will not be processed, by default. -# Any item listed under the `exclude:` key here will be automatically added to -# the internal "default list". -# -# Excluded items can be processed by explicitly listing the directories or -# their entries' file path in the `include:` list. -# -exclude: - - .github - - .jekyll-cache/ - - .sass-cache/ - - Gemfile - - Gemfile.lock - - Makefile - - gemfiles/ - - gulpfile.js - - node_modules/ - - package-lock.json - - package.json - - pnpm-lock.yaml - - shiki-themes/ - - tags - - vendor/bundle/ - - vendor/cache/ - - vendor/gems/ - - vendor/ruby/ diff --git a/_includes/footer.html b/_includes/footer.html deleted file mode 100644 index 0610b2bc..00000000 --- a/_includes/footer.html +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index 5abbf278..00000000 --- a/_includes/head.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - {%- - feed_meta -%} {%- seo -%} - diff --git a/_includes/header.html b/_includes/header.html deleted file mode 100644 index 06f23c0e..00000000 --- a/_includes/header.html +++ /dev/null @@ -1,10 +0,0 @@ -

- Writings - | - GitHub - | - LinkedIn -

diff --git a/_includes/post-excerpt.html b/_includes/post-excerpt.html deleted file mode 100644 index 36bf70ff..00000000 --- a/_includes/post-excerpt.html +++ /dev/null @@ -1,9 +0,0 @@ -
-{{ post.title }} -— -{{post.extra.excerpt}} -
-🗓 {{ post.date | date: site.date_format }} -
-🏷 {%- include tags-list.html tags=post.tags -%} -
diff --git a/_includes/post-link.html b/_includes/post-link.html deleted file mode 100644 index 785e4fd0..00000000 --- a/_includes/post-link.html +++ /dev/null @@ -1 +0,0 @@ -{{ post.date | date: site.date_format }} - {{ post.title }} diff --git a/_includes/post-metadata.html b/_includes/post-metadata.html deleted file mode 100644 index efccf6f3..00000000 --- a/_includes/post-metadata.html +++ /dev/null @@ -1,13 +0,0 @@ -Published on - - -
-Tags: {%- include tags-list.html tags=include.post.tags -%} - -
-Source on Github diff --git a/_includes/tags-list.html b/_includes/tags-list.html deleted file mode 100644 index 245d37be..00000000 --- a/_includes/tags-list.html +++ /dev/null @@ -1,6 +0,0 @@ -{% assign sorted = include.tags | sort %} -{% for tag in sorted %} -{{ - tag -}}{% if forloop.last == false %},{% endif %} {% endfor %} diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 5bac042a..00000000 --- a/_layouts/default.html +++ /dev/null @@ -1,9 +0,0 @@ - - - {%- include head.html -%} - - {%- include header.html -%} - {{ content }} - {%- include footer.html -%} - - diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index bad7a475..00000000 --- a/_layouts/page.html +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: default ---- -
-

{{ page.title | escape }}

- {{ content }} -
diff --git a/_layouts/post.html b/_layouts/post.html deleted file mode 100644 index 100e91cd..00000000 --- a/_layouts/post.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: default ---- - -
-

- {{ page.title | escape }} -

- -
- {{ content }} -
- - -
diff --git a/assets/styles.scss b/assets/styles.scss deleted file mode 100644 index 88ac0136..00000000 --- a/assets/styles.scss +++ /dev/null @@ -1,5 +0,0 @@ ---- -# Only the main Sass file needs front matter (the dashes are enough) ---- - -@import "../_sass/index"; diff --git a/config.toml b/config.toml new file mode 100644 index 00000000..6b009112 --- /dev/null +++ b/config.toml @@ -0,0 +1,33 @@ +base_url = "/" +title = "Brian van Burken" +author = "Brian van Burken" +description = "" +default_language = "en" +compile_sass = true +generate_sitemap = true +generate_robots_txt = true +build_search_index = false +generate_feeds = true +feed_filenames = ["rss.xml"] +minify_html = true + +[markdown] +highlight_code = false + +ignored_static = [ + ".github", + "Makefile", + "gulpfile.js", + "node_modules/", + "package-lock.json", + "package.json" +] + +external_links_target_blank = true +external_links_no_follow = true +external_links_no_referrer = true + +[extra] +# Put all your custom variables here + +github_source = "https://github.com/brianvanburken/brianvanburken.github.io/tree/master/content" diff --git a/_posts/2015-08-22-bulk-association-creation-in-rails.md b/content/2015-08-22-bulk-association-creation-in-rails.md similarity index 100% rename from _posts/2015-08-22-bulk-association-creation-in-rails.md rename to content/2015-08-22-bulk-association-creation-in-rails.md diff --git a/_posts/2018-08-13-maybe-dont-use-maybe.md b/content/2018-08-13-maybe-dont-use-maybe.md similarity index 100% rename from _posts/2018-08-13-maybe-dont-use-maybe.md rename to content/2018-08-13-maybe-dont-use-maybe.md diff --git a/_posts/2019-05-01-solving-challenges-with-elixirs-compile-time-function.md b/content/2019-05-01-solving-challenges-with-elixirs-compile-time-function.md similarity index 100% rename from _posts/2019-05-01-solving-challenges-with-elixirs-compile-time-function.md rename to content/2019-05-01-solving-challenges-with-elixirs-compile-time-function.md diff --git a/_posts/2020-08-03-become-a-fire-keramik-with-kotlin.md b/content/2020-08-03-become-a-fire-keramik-with-kotlin.md similarity index 100% rename from _posts/2020-08-03-become-a-fire-keramik-with-kotlin.md rename to content/2020-08-03-become-a-fire-keramik-with-kotlin.md diff --git a/_posts/2021-10-24-changing-angular-components-for-printing.md b/content/2021-10-24-changing-angular-components-for-printing.md similarity index 100% rename from _posts/2021-10-24-changing-angular-components-for-printing.md rename to content/2021-10-24-changing-angular-components-for-printing.md diff --git a/_posts/2021-10-25-detecting-output-listeners-in-angular.md b/content/2021-10-25-detecting-output-listeners-in-angular.md similarity index 100% rename from _posts/2021-10-25-detecting-output-listeners-in-angular.md rename to content/2021-10-25-detecting-output-listeners-in-angular.md diff --git a/_posts/2021-11-15-combine-properties-when-decoding-json-in-elm.md b/content/2021-11-15-combine-properties-when-decoding-json-in-elm.md similarity index 100% rename from _posts/2021-11-15-combine-properties-when-decoding-json-in-elm.md rename to content/2021-11-15-combine-properties-when-decoding-json-in-elm.md diff --git a/_posts/2021-11-20-rest-of-json-properties-as-list-when-decoding-in-elm.md b/content/2021-11-20-rest-of-json-properties-as-list-when-decoding-in-elm.md similarity index 100% rename from _posts/2021-11-20-rest-of-json-properties-as-list-when-decoding-in-elm.md rename to content/2021-11-20-rest-of-json-properties-as-list-when-decoding-in-elm.md diff --git a/_posts/2021-12-01-pre-render-syntax-highlighting-with-prism-in-jekyll.md b/content/2021-12-01-pre-render-syntax-highlighting-with-prism-in-jekyll.md similarity index 100% rename from _posts/2021-12-01-pre-render-syntax-highlighting-with-prism-in-jekyll.md rename to content/2021-12-01-pre-render-syntax-highlighting-with-prism-in-jekyll.md diff --git a/_posts/2021-12-06-a-more-sustainable-blog.md b/content/2021-12-06-a-more-sustainable-blog.md similarity index 100% rename from _posts/2021-12-06-a-more-sustainable-blog.md rename to content/2021-12-06-a-more-sustainable-blog.md diff --git a/_posts/2021-12-12-building-a-builder-pattern-in-typescript.md b/content/2021-12-12-building-a-builder-pattern-in-typescript.md similarity index 100% rename from _posts/2021-12-12-building-a-builder-pattern-in-typescript.md rename to content/2021-12-12-building-a-builder-pattern-in-typescript.md diff --git a/_posts/2022-12-26-access-the-last-argument-of-the-last-command-in-a-shell.md b/content/2022-12-26-access-the-last-argument-of-the-last-command-in-a-shell.md similarity index 100% rename from _posts/2022-12-26-access-the-last-argument-of-the-last-command-in-a-shell.md rename to content/2022-12-26-access-the-last-argument-of-the-last-command-in-a-shell.md diff --git a/_posts/2022-12-26-access-the-last-command-in-a-shell.md b/content/2022-12-26-access-the-last-command-in-a-shell.md similarity index 100% rename from _posts/2022-12-26-access-the-last-command-in-a-shell.md rename to content/2022-12-26-access-the-last-command-in-a-shell.md diff --git a/_posts/2022-12-27-using-read-in-vim.md b/content/2022-12-27-using-read-in-vim.md similarity index 100% rename from _posts/2022-12-27-using-read-in-vim.md rename to content/2022-12-27-using-read-in-vim.md diff --git a/_posts/2022-12-30-wrap-visual-selection-using-vim-surround-plugin.md b/content/2022-12-30-wrap-visual-selection-using-vim-surround-plugin.md similarity index 100% rename from _posts/2022-12-30-wrap-visual-selection-using-vim-surround-plugin.md rename to content/2022-12-30-wrap-visual-selection-using-vim-surround-plugin.md diff --git a/_posts/2022-12-31-home-and-end-keys-equivalent-on-macbook-keyboards.md b/content/2022-12-31-home-and-end-keys-equivalent-on-macbook-keyboards.md similarity index 100% rename from _posts/2022-12-31-home-and-end-keys-equivalent-on-macbook-keyboards.md rename to content/2022-12-31-home-and-end-keys-equivalent-on-macbook-keyboards.md diff --git a/_posts/2023-01-03-keep-case-when-replacing-text-in-vim.md b/content/2023-01-03-keep-case-when-replacing-text-in-vim.md similarity index 100% rename from _posts/2023-01-03-keep-case-when-replacing-text-in-vim.md rename to content/2023-01-03-keep-case-when-replacing-text-in-vim.md diff --git a/_posts/2023-01-04-git-add-patch-split-chunks.md b/content/2023-01-04-git-add-patch-split-chunks.md similarity index 100% rename from _posts/2023-01-04-git-add-patch-split-chunks.md rename to content/2023-01-04-git-add-patch-split-chunks.md diff --git a/_posts/2023-01-15-flatten-directory-on-unix.md b/content/2023-01-15-flatten-directory-on-unix.md similarity index 100% rename from _posts/2023-01-15-flatten-directory-on-unix.md rename to content/2023-01-15-flatten-directory-on-unix.md diff --git a/_posts/2023-03-02-disable-npm-funding-message.md b/content/2023-03-02-disable-npm-funding-message.md similarity index 100% rename from _posts/2023-03-02-disable-npm-funding-message.md rename to content/2023-03-02-disable-npm-funding-message.md diff --git a/_posts/2025-02-07-caching-elm-dependencies-on-github-actions.md b/content/2025-02-07-caching-elm-dependencies-on-github-actions.md similarity index 98% rename from _posts/2025-02-07-caching-elm-dependencies-on-github-actions.md rename to content/2025-02-07-caching-elm-dependencies-on-github-actions.md index a36e3393..d4dc4622 100644 --- a/_posts/2025-02-07-caching-elm-dependencies-on-github-actions.md +++ b/content/2025-02-07-caching-elm-dependencies-on-github-actions.md @@ -73,7 +73,7 @@ This should go in the `steps:` section of the workflow file. uses: actions/cache@v3 with: path: .elm -{% raw %} key: elm-${{ runner.os }}-${{ hashFiles('elm.json') }}{% endraw %} + key: elm-${{ runner.os }}-${{ hashFiles('elm.json') }} ``` This ensures that dependencies are only redownloaded when `elm.json` changes, as its content is used as the cache key. We set an `id` so that we can reference it to check for cache hits. diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 00000000..2c1426ee --- /dev/null +++ b/content/_index.md @@ -0,0 +1,3 @@ +--- +sort_by: date +--- diff --git a/gulpfile.js b/gulpfile.js index b9332acd..570bed05 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -15,7 +15,7 @@ import { createHighlighter } from "shiki"; import { transform } from "gulp-html-transform"; import { deleteSync } from "del"; -const source = process.env.BUILD_DIR || "_site"; +const source = process.env.BUILD_DIR || "public"; const dirname = new URL(".", import.meta.url).pathname; const theme = "ayu-dark"; const highlighter = await createHighlighter({ diff --git a/index.html b/index.html deleted file mode 100644 index 3d40d948..00000000 --- a/index.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: default -title: Writings ---- - -

Writings

- -{% for post in site.posts %} - {%- include post-excerpt.html post=page -%} -{% endfor %} diff --git a/mise.toml b/mise.toml index b0b000b4..58650a30 100644 --- a/mise.toml +++ b/mise.toml @@ -1,3 +1,3 @@ [tools] node = "22" -ruby = "2.7.7" +zola = "0.21.0" diff --git a/pages/tags.html b/pages/tags.html deleted file mode 100644 index 7b1ab1c5..00000000 --- a/pages/tags.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -permalink: /tags/ ---- - -

Tags

- -{% assign sortedtags = site.documents | map: 'tags' | uniq | sort_natural %} -{% for tag in sortedtags %} -

{{ tag }}

-

- {% assign posts = site.documents | where: 'tags', tag %} - {% for post in posts %} {%- include post-link.html post=page -%} -
- {% endfor %} -

-{% endfor %} diff --git a/_sass/index.scss b/sass/style.scss similarity index 100% rename from _sass/index.scss rename to sass/style.scss diff --git a/assets/become-a-fire-keramik-with-kotlin/lambdaconf_slfp.pdf b/static/become-a-fire-keramik-with-kotlin/lambdaconf_slfp.pdf similarity index 100% rename from assets/become-a-fire-keramik-with-kotlin/lambdaconf_slfp.pdf rename to static/become-a-fire-keramik-with-kotlin/lambdaconf_slfp.pdf diff --git a/assets/changing-angular-components-for-printing/screenshot.jpg b/static/changing-angular-components-for-printing/screenshot.jpg similarity index 100% rename from assets/changing-angular-components-for-printing/screenshot.jpg rename to static/changing-angular-components-for-printing/screenshot.jpg diff --git a/assets/solving-challenges-with-elixirs-compile-time-function/rna_transcription.jpg b/static/solving-challenges-with-elixirs-compile-time-function/rna_transcription.jpg similarity index 100% rename from assets/solving-challenges-with-elixirs-compile-time-function/rna_transcription.jpg rename to static/solving-challenges-with-elixirs-compile-time-function/rna_transcription.jpg diff --git a/404.html b/templates/404.html similarity index 57% rename from 404.html rename to templates/404.html index f135983d..5b85910d 100644 --- a/404.html +++ b/templates/404.html @@ -1,7 +1,7 @@ ---- -permalink: /404.html ---- +{% extends "index.html" %} -

Page not found :(

+{% block content %} +

Page not found

The requested page could not be found.

Go to overview of writings +{% endblock content %} diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 00000000..69fb7c29 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,41 @@ + + + + + + + {% block title %}{{ config.title }}{% endblock title %} + {% if config.mode == "serve" %} + + {% else %} + + {% endif %} + + + Writings + | + GitHub + | + LinkedIn + + {% block content %} +

Writings

+ {% for page in section.pages %} +
+ {{ page.title }} + {% if page.extra.excerpt is defined %} + — + {{page.extra.excerpt}} + {% endif %} +
+ 🗓 {{ page.date }} +
+ {% endfor %} + {% endblock content %} + + {% if config.mode != "serve" and current_path %} + + + {% endif %} + + diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 00000000..da11b67a --- /dev/null +++ b/templates/page.html @@ -0,0 +1,18 @@ +{% extends "index.html" %} + + +{% block content %} +
+

+ {{ page.title }} +

+ +
+ {{ page.content | safe }} +
+ + +
+{% endblock content %} diff --git a/templates/robots.txt b/templates/robots.txt new file mode 100644 index 00000000..adbdfe1a --- /dev/null +++ b/templates/robots.txt @@ -0,0 +1,7 @@ +User-agent: Yandex +Disallow: / + +User-agent: * +Disallow: +Allow: / +Sitemap: {{ get_url(path="sitemap.xml") }}