aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2021-10-16-jekyll-to-hugo.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/2021-10-16-jekyll-to-hugo.md')
-rw-r--r--content/posts/2021-10-16-jekyll-to-hugo.md65
1 files changed, 65 insertions, 0 deletions
diff --git a/content/posts/2021-10-16-jekyll-to-hugo.md b/content/posts/2021-10-16-jekyll-to-hugo.md
new file mode 100644
index 0000000..f3ff839
--- /dev/null
+++ b/content/posts/2021-10-16-jekyll-to-hugo.md
@@ -0,0 +1,65 @@
+---
+slug: jekyll-to-hugo
+title: "Jekyll to Hugo"
+date: "2021-10-16T07:51:29-04:00"
+draft: false
+---
+I took some time this weekend to do the following:
+
+1. Migrate this site from [Jekyll][] to [Hugo][].
+2. Create a new site theme.
+3. Update the [About][] page.
+4. Add a new [Articles][] section.
+
+The [Articles][] section will allow me to write longer articles without
+polluting the main blog.
+
+### Hugo Migration
+
+Pros:
+
+* Significantly faster. [Jekyll][] sometimes tool 30 seconds to
+ regenerate this site, and [Hugo][] does it in less than a second.
+* Single static binary. Much easier to install.
+* Built-in [SASS/SCSS][sass] support.
+* [HTML][], [CSS][], and [JavaScript][js] [minification][]. In
+ particular, HTML minification is content-aware so it doesn't strip
+ significant whitespace in `<pre>` or `<code>` blocks. View the
+ source of this page to see what I mean).
+* [Go template][html-template] support.
+* [Jekyll][] importer that works reasonably well (but see below).
+
+Cons:
+
+* The default [Markdown][] parser is limited and not based on
+ [GitHub][]-flavored [Markdown][].
+* Because of the previous item, many of the literal `<img>` elements in
+ my imported [Jekyll][] content had to be fixed by hand.
+* Occasionally baffling template search order.
+* Default RSS feed entry contents are truncated and stripped of HTML.
+
+### Theme Rewrite
+
+Changes in the new theme:
+
+* Clean rewrite based on [Bulma v0.9.3][bulma].
+* Icons from [Feather Icons][feathericons].
+* Consistent font sizes.
+* Improved layout. In particular, I removed the sidebar and improved
+ the page header.
+
+[jekyll]: https://jekyllrb.com/ "Jekyll static site generator"
+[hugo]: https://gohugo.io/ "Hugo static site generator"
+[bulma]: https://bulma.io/ "Bulma CSS framework"
+[sass]: https://sass-lang.com/ "Syntactically Awesome Style Sheets"
+[css]: https://en.wikipedia.org/wiki/CSS "Cascading Style Sheets"
+[html]: https://en.wikipedia.org/wiki/HTML "HyperText Markup Language"
+[js]: https://en.wikipedia.org/wiki/JavaScript "JavaScript programming language"
+[minification]: https://en.wikipedia.org/wiki/Minification_(programming) "Remove all unnecessary characters from source code to reduce it's size"
+[go]: https://golang.org/ "Go programming language."
+[html-template]: https://pkg.go.dev/html/template "Go html/template"
+[feathericons]: https://github.com/feathericons/feather "beautiful open source icons"
+[about]: /about "About page"
+[articles]: /articles "Articles section"
+[markdown]: https://en.wikipedia.org/wiki/Markdown "Markdown markup language"
+[github]: https://github.com/ "GitHub"