A professional ML/AI engineering blog built with Zola static site generator and the tabi theme.
Before running this blog locally, you need:
| Requirement | Version | Purpose |
|---|---|---|
| macOS/Linux/Windows | - | Operating system |
| Git | 2.x+ | Version control & submodule management |
| Zola | 0.19.2+ | Static site generator |
| Tool | Purpose |
|---|---|
| Node.js | If you need to modify/test JavaScript locally |
macOS (Homebrew):
brew install zolaLinux (Snap):
snap install zola --edgeLinux (Debian/Ubuntu):
# Download latest release from https://github.com/getzola/zola/releases
wget https://github.com/getzola/zola/releases/download/v0.19.2/zola-v0.19.2-x86_64-unknown-linux-gnu.tar.gz
tar -xzf zola-v0.19.2-x86_64-unknown-linux-gnu.tar.gz
sudo mv zola /usr/local/bin/Windows (Chocolatey):
choco install zolaWindows (Scoop):
scoop install zolaVerify installation:
zola --version
# Expected output: zola 0.19.2 or highergit clone --recurse-submodules https://github.com/Cpicon/myblog.git
cd myblogIf you already cloned without --recurse-submodules:
git submodule update --init --recursivezola serveThe site will be available at: http://127.0.0.1:1111
Note: Use
127.0.0.1:1111, notlocalhost:1111. Zola generates asset URLs based on the bound address, so accessing vialocalhostwill cause styles to fail loading. To use localhost instead:zola serve --base-url http://localhost:1111
The development server:
- Hot-reloads on file changes
- Shows build errors in the terminal
- Serves drafts by default
zola buildOutput will be in the public/ directory.
myblog/
├── config.toml # Site configuration
├── content/ # Markdown content
│ ├── _index.md # Homepage content
│ └── posts/ # Blog posts
├── sass/ # Custom SCSS
│ └── skins/
│ └── cyber.scss # ML/AI color theme
├── static/ # Static assets
│ ├── css/
│ │ └── custom.css # Custom styles
│ ├── js/
│ │ ├── neural-bg.js # Three.js animation
│ │ └── typing.js # Typing effect
│ └── icons/ # Favicons
├── templates/ # Custom templates
│ └── index.html # Homepage override
└── themes/
└── tabi/ # Theme (git submodule)
- Dark/Light Mode - Automatic OS detection with manual toggle
- ML/AI Aesthetic - Custom "cyber" skin with electric cyan accents
- Neural Network Background - Interactive Three.js particle animation
- Terminal-Style Code Blocks - Professional code presentation
- Typing Animation - Dynamic hero text cycling through titles
- KaTeX Math Rendering - For mathematical notation
- Mermaid Diagrams - For flowcharts and architecture diagrams
- Responsive Design - Mobile-first approach
- Perfect Lighthouse Scores - Optimized for performance
-
Create a new directory in
content/posts/:mkdir content/posts/my-new-post
-
Create
index.mdwith front matter:+++ title = "My New Post" date = 2025-01-04 description = "A brief description" [taxonomies] categories = ["MLOps"] tags = ["machine-learning", "python"] +++ Your content here...
-
Add images to the same directory and reference them:

+++
title = "Post Title"
date = 2025-01-04
updated = 2025-01-05
description = "SEO description"
draft = false
[taxonomies]
categories = ["Category"]
tags = ["tag1", "tag2"]
[extra]
toc = true # Show table of contents
math = true # Enable KaTeX
mermaid = true # Enable Mermaid diagrams
+++The site is configured for Netlify deployment:
- Push changes to the
mainbranch - Netlify automatically builds and deploys
- Live at: https://futurewithml.netlify.app
zola build
# Upload contents of public/ to your hosting providerEnsure the tabi submodule is initialized:
git submodule update --init --recursiveCheck Zola version compatibility:
zola --version
# Should be 0.19.2 or higherClear browser cache or use incognito mode during development.
Content: All rights reserved Code: MIT License