Resources used to build mylearnbase

Jun 30, 2026
4 min read

The external tools and references behind this site: what each one does, and how it fits here.

Site generator and theme

  • Zola — the static site generator the whole site is built on. Single Rust binary, no plugin ecosystem to manage; Markdown in, HTML out. Its Tera templating language is what every layout and shortcode here is written in. The shortcodes documentation earned its own bookmark — it's where the rule that {{/* */}}-style escaping is needed inside code blocks finally became clear.
  • Serene — the theme the design started from. Pulled in as a pinned git submodule and then heavily customized: the persistent header, site search, reader controls, and post chrome are all built on top of it rather than shipped by it.

Hosting and deployment

  • Cloudflare Pages — builds and serves the site. The build command fetches Zola (it isn't pre-installed on the image), runs the build, then generates the search index. The free tier covers a static site of this size comfortably.
  • Pagefind — the in-browser search. It builds a chunked index at deploy time and queries it entirely client-side, so search works with no server and no third-party service. Chosen over Zola's built-in search index and over hosted options like Algolia.

Reading experience

  • OpenDyslexic — the dyslexia-friendly typeface offered in the reader controls, alongside the default serif and a sans option.
  • KaTeX — renders math. Loaded from a CDN only on pages that actually contain math, so most pages pull nothing extra.
  • Mermaid — renders diagrams from text, on the same load-only-when-needed basis as KaTeX.
  • Syntax highlighting — handled by Zola's built-in syntect engine in class mode, which emits a stylesheet at build time rather than highlighting in the browser.

Documentation

  • mdBook — generates the project's separate documentation site, deployed to GitHub Pages. Kept apart from the Zola site so build/process docs don't mix with published posts.

Authoring tooling

  • showboat — records terminal sessions and runs commands for verification. It's the substrate the project's own post-authoring tools are built on, so the posts about building this site can show real command output rather than hand-copied snippets.
  • uv — installs and runs those Python tools as standalone commands, so they work from any project, not just this one.

SEO and audits

  • Lighthouse — the audit used to drive the SEO pass to 100/100 and to watch performance.
  • ahrefs — site auditing; the health score moved from 67% to 98% during the SEO work.
  • Google Search Console and Bing Webmaster Tools — sitemap submission and index coverage for the two search engines.
  • schema.org — the vocabulary the site's JSON-LD structured data is written against (BlogPosting, WebSite, BreadcrumbList).

Alternatives considered

What I compared before settling on Zola and Serene.

  • Choosing a generator and theme. Compared options through the Zola theme directory and a community Zola themes collection, studied the Serene demo and its usage guide, and read tabi's settings guide as a point of comparison before settling on Serene.
  • The Rust-fullstack detour (abandoned). Before choosing a static generator I explored a server-rendered Rust stack: Dioxus, Leptos' start-axum, and cinnog (a Leptos static-site tool), plus a scattering of r/rust threads and a Leptos-as-data-layer blog post. The proof-of-concept never justified its complexity for a content site, so the whole approach was dropped in favour of Zola.
https://mylearnbase.com/posts/rss.xml