A minimal, privacy-focused static blog built with Eleventy.
- Static site generation with Eleventy v3.x
- Markdown content with frontmatter
- WebC component-based architecture
- Liquid template engine for layouts
- Responsive design with vanilla CSS
- Syntax highlighting for code blocks
- Privacy-focused (no tracking cookies)
- GitHub Actions CI/CD for deployment
- Markdown linting for content consistency
- Clone the repository:
git clone https://github.com/yourusername/blog.git
cd blog- Install dependencies:
npm installStart the local development server:
npm run startThe site will be available at http://localhost:8080.
Build the site for production:
npm run buildThe output will be generated in the _site/ directory.
Check Markdown files for style issues:
npm run lintAuto-fix linting issues:
npm run lint:fixblog/
├── _data/ # Global data files
│ └── site.json # Site metadata
├── _includes/ # Reusable template components
│ ├── layouts/ # Base HTML templates (.liquid)
│ │ ├── base.liquid
│ │ ├── post.liquid
│ │ └── page.liquid
│ └── components/ # WebC components (.webc)
│ ├── header.webc
│ ├── footer.webc
│ └── youtube.webc
├── assets/ # Static assets
│ ├── css/
│ │ └── main.css
│ └── img/
│ └── favicon.svg
├── blog/ # Blog posts
├── pages/ # Static pages
├── .eleventy.js # Eleventy configuration
├── .eleventyignore # Files to exclude from build
├── .gitignore # Git ignore rules
├── .markdownlint.json # Markdown linting rules
├── .nojekyll # Disable Jekyll on GitHub Pages
├── package.json # Dependencies and scripts
├── index.md # Homepage
└── README.md # This file
Create a new Markdown file in the blog/ directory with the filename
format YYYY-MM-DD-post-slug.md:
---
layout: post
title: Your Post Title
date: 2025-12-30
tags:
- tag1
- tag2
description: A brief description of the post
---
Your post content here...Create a new Markdown file in the pages/ directory:
---
layout: page
title: Page Title
---
Your page content here...This blog supports the following Markdown features:
- Headings (h1-h6)
- Lists (ordered and unordered)
- Code blocks with syntax highlighting
- Inline code
- Blockquotes
- Links
- Images
- Bold and italic text
- Footnotes
- Definition lists
- Custom containers
- Emoji support
The site is automatically deployed to GitHub Pages when you push to the
main branch.
- Commit and push your changes:
git add .
git commit -m "Your commit message"
git push origin main- The GitHub Actions workflow will automatically build and deploy the site.
Make sure GitHub Pages is configured:
- Go to repository Settings > Pages
- Set source to "GitHub Actions"
- The site will be available at
https://yourusername.github.io/blog/
- Eleventy: Static site generator
- Markdown: Content format
- Liquid: Template engine
- WebC: Component system
- markdown-it: Markdown parser with plugins
- Vanilla CSS: Styling (no frameworks)
- GitHub Actions: CI/CD pipeline
ISC