Blog Workflow Part 2: Build Process
July 18, 2026
This is Part 2 of a 3-part series documenting the blog workflow. This part covers the build process, deployment workflow, and server configuration.
Build Process
11ty Configuration (.eleventy.js)
The .eleventy.js file configures the build process:
- Passthrough Copy: CSS and favicon files are copied to output without processing
- Custom Filters:
dateDisplay: Formats dates in "Month Day, Year" formatrssDate: Formats dates for RSS feeds (UTC string)stripHtml: Removes HTML tags from content
- Collections:
posts: Collects all Markdown files insrc/posts/notes: Collects all Markdown files insrc/notes/
- Directory Configuration:
- Input:
src/ - Output:
_site/
- Input:
Build Commands
# Install dependencies
npm install
# Build the site (generates _site/ directory)
npm run build
# Start local development server with hot reload
npm run serve
# Deploy to NFS server
npm run deploy
Deployment Workflow
Local Development
- Edit content in
src/directory (Markdown files, Nunjucks templates, CSS) - Run
npm run serveto start local development server - View changes at
http://localhost:8080 - 11ty watches for file changes and automatically rebuilds
Building for Production
- Run
npm run buildto generate static HTML in_site/ - The build process:
- Processes Nunjucks templates
- Converts Markdown to HTML
- Applies layouts and partials
- Copies CSS and favicon files
- Generates RSS feed
- Creates the complete static site in
_site/
Deploying to NFS Server
The npm run deploy command uses rsync to sync the _site/ directory to the NFS server:
rsync -avz --delete _site/ brennanbrown_bren@ssh.nyc1.nearlyfreespeech.net:/home/public/
-a: Archive mode (preserves permissions, times, symbolic links)-v: Verbose output-z: Compress data during transfer--delete: Delete files on server that don't exist in_site/
Server Details
- SSH Host: ssh.nyc1.nearlyfreespeech.net
- Username: brennanbrown_bren
- Document Root: /home/public/
- URL: https://brennan.casa
- Server Type: Apache 2.4 Static Content (No PHP, CGI, or Daemons)
Deployment Workflow
The deployment workflow is:
- Make changes to source files in
src/ - Run
npm run buildto generate static HTML - Run
npm run deployto sync to NFS server - Changes are live at https://brennan.casa
Next Steps
Continue to Part 3: Content Creation & Git Workflow to learn about creating content and the Git workflow.
Return to Part 1: Project Structure & Architecture for information about the project structure and template architecture.