Skip to content

HomeofNever/Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

78 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Never่ฟทใฎๅฐ็ช

Personal blog built with Eleventy 3.x and Tailwind CSS v4, deployed to Cloudflare Pages.

History

This blog has gone through three generations. Previous versions are preserved as archive branches.

Current: Eleventy (2026โ€“present)

Branch: master

Built with Eleventy 3.x (ESM, Nunjucks templates), styled with Tailwind CSS v4. Comments powered by giscus (GitHub Discussions). Deployed to Cloudflare Pages with native git integration.

Saber (2018โ€“2026)

Branch: archive-saber

Built with Saber, a Vue.js-based static site generator (now archived/unmaintained). Custom Vue theme with components for layouts, embeds, and comments. Disqus for comments, GA Lite for analytics, jsDelivr as CDN. Deployed to Netlify.

Hexo (2017โ€“2018)

Branch: archive-2017

Built with Hexo 3.x, a Node.js static site generator. Used the NexT theme with built-in search, categories, and tags. The original version of the blog.

Project Structure

src/
โ”œโ”€โ”€ _data/              # Global data files
โ”‚   โ”œโ”€โ”€ site.json       # Site metadata (title, url, nav)
โ”‚   โ”œโ”€โ”€ categories.json # Category slug mapping
โ”‚   โ”œโ”€โ”€ friends.js      # Build-time fetch of friends list
โ”‚   โ””โ”€โ”€ legacyRedirects.js  # Old URL redirect rules
โ”œโ”€โ”€ _includes/
โ”‚   โ”œโ”€โ”€ layouts/
โ”‚   โ”‚   โ”œโ”€โ”€ base.njk    # Base HTML (head, OG tags, Twitter Cards)
โ”‚   โ”‚   โ”œโ”€โ”€ post.njk    # Blog post layout (tags, giscus comments)
โ”‚   โ”‚   โ””โ”€โ”€ page.njk    # Static page layout
โ”‚   โ”œโ”€โ”€ header.njk
โ”‚   โ””โ”€โ”€ footer.njk
โ”œโ”€โ”€ posts/              # Blog posts (markdown)
โ”œโ”€โ”€ pages/              # Static pages (about, friends, archives)
โ”œโ”€โ”€ drafts/             # Draft posts (excluded from build)
โ”œโ”€โ”€ assets/             # Images and files (passthrough copy)
โ”œโ”€โ”€ static/             # Favicon, icons, robots.txt (passthrough copy)
โ”œโ”€โ”€ css/main.css        # Tailwind CSS entry point
โ”œโ”€โ”€ index.njk           # Homepage with pagination
โ”œโ”€โ”€ feed.njk            # Atom feed
โ”œโ”€โ”€ feed-json.njk       # JSON feed
โ”œโ”€โ”€ sitemap.njk         # Sitemap
โ”œโ”€โ”€ tags.njk            # Tag listing page
โ”œโ”€โ”€ tag-page.njk        # Individual tag page template
โ””โ”€โ”€ redirects.njk       # _redirects generator
eleventy.config.js      # Eleventy configuration

Development

# First-time setup (creates the dev container from distrobox.ini)
distrobox assemble create

# Enter the dev container
distrobox enter blog-dev

# Install dependencies
yarn install

# Dev server with hot reload
yarn dev

# Production build
yarn build

Deployment

Deploys automatically to Cloudflare Pages via native git integration. Push to master triggers a production deploy; PRs get preview deployments.

Build settings in Cloudflare Pages dashboard:

  • Build command: yarn build
  • Build output directory: _site
  • Environment variable: NODE_VERSION = 22

About

๐Ÿ“ A new start

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors