diff --git a/content/posts/a-fresh-coat-of-paint.md b/content/posts/a-fresh-coat-of-paint.md index 034c25c..03069a1 100644 --- a/content/posts/a-fresh-coat-of-paint.md +++ b/content/posts/a-fresh-coat-of-paint.md @@ -1,155 +1,58 @@ +++ -title = "A Fresh Coat of Paint" -description = "It's time for something new." -url = "posts/a-fresh-coat-of-paint" -date = 2021-12-31T21:04:00-08:00 +title = "A Fresh Coat Of Paint" +description = "Migrating to Zola" +author = "Ian Andwati" +date = 2023-08-24 [taxonomies] -tags = ["webdev", "CSS", "HTML"] +tags = ["zola", "blog", "tera", "rust"] +++ -I'm starting the new year with a new job. To paraphrase a friend, "it's just -moving from one `$BIGCORP` to another", but it's still exciting. I worked my -last gig for 5 years, so I'm nervous, but also very ready to do something new. -While I'm doing one new thing I might as well do another. Taking some time off -between jobs has given me enough breathing room to redo my website. + +Using Zola as my preferred static site generator +After using Hugo for over eight months I got tired of it and looked for other alternatives. That's when I stumbled upon Zola. Zola is a static site generator (SSG), similar to [Hugo](https://gohugo.io/), [Pelican](https://blog.getpelican.com/), and [Jekyll](https://jekyllrb.com/). -## New Features +It is written in Rust and uses the Tera template engine, similar to Jinja2, Django templates, Liquid, and Twig. SSGs use dynamic templates to transform content into static HTML pages. Static sites are thus very fast and require no databases, making them easy to host. -If you've been here before you'll probably have noticed a significant visual -overhaul. The site is now in dark mode, has a more varied color palette, and is -more responsive to differently sized viewports. +My previous Hugo site used a theme because I wasn't really ready to learn Go's template engine. I'm already familiar with Python Django and its template system so using Tera wasn't hard because it's similar to jinja2 and the Django template syntax. -In addition to the visual changes on this site there are new features as well! +Content is written in [CommonMark](https://commonmark.org/), a strongly defined, highly compatible specification of [Markdown](https://www.markdownguide.org/). Zola uses [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark#pulldown-cmark) to parse markdown files. The goal of this library is 100% compliance with the CommonMark spec. It adds a few additional features such as parsing footnotes, Github-flavored tables, Github-flavored task lists, and strikethrough. -1. [Posts] now have summaries thanks to Zola's [summary] feature, which allows - you to use any content before a - `` - comment in a page's Markdown. +Zola comes with built-in syntax highlighting, but you must first enable it in the configuration file. -2. There are [tags] as well! These were actually always there, but I only put - them in post [front matter] and didn't expose them on any pages. Tags are - supported via Zola's [taxonomies], which are much more complicated and - powerful than simple tags demand. +Zola is very minimalistic, it is installed only as a single binary, with no extra dependencies needed. It is configured in `toml` and you only use what is needed. For example here is the configuration for this site `config.toml`: -3. The metadata for site pages now includes [Open Graph protocol] and - [Twitter card] support for a better display in social media. +```toml +title = "Ian Andwati" +description = "Ian Andwati's personal website" +base_url = "https://andwati.github.io" -## What I Learned +generate_categories_pages = false +generate_tags_pages = false +generate_feed = true +feed_filename = "rss.xml" +minify_html = false +taxonomies = [{ name = 'tags', feed = false }] +compile_sass = true -Every time I update this website I learn something new. I continued to use -vanilla HTML and CSS and eschew JavaScript, but was still blown away by how -little I know in the webdev space. +[markdown] +highlight_code = true +highlight_theme = "gruvbox-dark" -In the interest of chronicling my newfound knowledge, here are a handful of the -things I learned. +[link_checker] -- There are a whole lot of [semantic] HTML tags! I was already using tags like - `
`, `
`, and `