Skip to content

Commit b03f614

Browse files
calderbuildclaude
andcommitted
feat: complete rebuild with minimal Cyberpunk Brutalism design
Removed the complex Hux Blog template and built from scratch: New structure: - Single CSS file (css/style.css) with complete design system - 3 minimal layouts (default, post, page) - Clean pages: index, about, archive, blog, 404 Design system: - Cyberpunk Brutalism aesthetic - Dark background (#0a0a0f), Cyan accents (#00ffff) - Space Mono + IBM Plex Sans + JetBrains Mono typography - Grid background effect, neon glows, sharp corners Removed: - All Less preprocessing (direct CSS now) - Complex template inheritance - Multilingual system - PWA service worker - All JS dependencies (jQuery, Bootstrap) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent cc37348 commit b03f614

File tree

101 files changed

+1298
-43425
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+1298
-43425
lines changed

.claude/settings.local.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@
1515
"mcp__chrome-devtools__take_snapshot",
1616
"mcp__chrome-devtools__navigate_page",
1717
"mcp__chrome-devtools__list_pages",
18-
"mcp__fetch__fetch_markdown",
1918
"mcp__chrome-devtools__performance_start_trace",
2019
"mcp__chrome-devtools__take_screenshot",
2120
"mcp__chrome-devtools__resize_page",
2221
"Skill(frontend-design)",
2322
"mcp__chrome-devtools__evaluate_script",
24-
"mcp__chrome-devtools__new_page"
23+
"mcp__chrome-devtools__new_page",
24+
"mcp__chrome-devtools__click",
25+
"mcp__chrome-devtools__performance_analyze_insight",
26+
"mcp__chrome-devtools__list_network_requests",
27+
"mcp__chrome-devtools__list_console_messages",
28+
"mcp__chrome-devtools__get_console_message"
2529
],
2630
"deny": []
2731
}

404.html

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
---
22
layout: default
33
title: 404
4-
hide-in-nav: true
5-
description: "Page not found - The page you're looking for doesn't exist"
6-
header-img: "img/404-bg.jpg"
74
permalink: /404.html
85
---
96

10-
<!-- Page Header -->
11-
{% include intro-header.html type="page" short='true' %}
12-
13-
<script>
14-
document.body.classList.add('page-fullscreen');
15-
</script>
7+
<section class="error-page">
8+
<div class="container text-center">
9+
<h1 class="error-code">404</h1>
10+
<p class="error-message">Page not found. The page you're looking for doesn't exist.</p>
11+
<a href="/" class="btn btn-primary">Back to Home</a>
12+
</div>
13+
</section>

CLAUDE.md

Lines changed: 27 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,42 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
Jekyll-based technical blog with PWA support, dark mode, and bilingual content (English/Chinese). Live at https://jasonrobert.me.
7+
Minimal Jekyll blog with Cyberpunk Brutalism design. Live at https://jasonrobert.me.
88

99
## Development Commands
1010

1111
```bash
1212
# Install dependencies
1313
bundle install
1414

15-
# Compile Less to CSS (REQUIRED before any commit with CSS changes)
16-
./build.sh
17-
# Windows: bash build.sh
18-
1915
# Local development
2016
bundle exec jekyll serve
2117

2218
# Production build
2319
bundle exec jekyll build
2420
```
2521

26-
## Critical Rules
22+
## Architecture
2723

28-
### CSS/Less Workflow
29-
1. **NEVER edit `/css` files directly** - edit `/less` files instead
30-
2. **ALWAYS run `./build.sh` before committing CSS changes** - GitHub Actions does NOT compile Less
31-
3. Entry point: `less/calder-blog.less` imports all modules
32-
4. Output: `css/calder-blog.css` (dev) + `css/calder-blog.min.css` (prod)
24+
### Directory Structure
25+
```
26+
/
27+
├── _config.yml # Site configuration
28+
├── _layouts/ # Page templates (default, post, page)
29+
├── _posts/ # Blog posts (YYYY-MM-DD-title.md)
30+
├── css/style.css # Single CSS file (Cyberpunk Brutalism)
31+
├── img/ # Images
32+
├── index.html # Homepage
33+
├── about.md # About page
34+
├── archive.html # Post archive
35+
├── blog.html # Blog listing with pagination
36+
└── 404.html # Error page
37+
```
3338

34-
### Frontend Development
35-
**Invoke `Skill(frontend-design)` before any UI/CSS work** - this ensures design quality and avoids generic AI aesthetics.
39+
### Design System
40+
- **Colors**: Dark background (#0a0a0f), Cyan accent (#00ffff)
41+
- **Typography**: Space Mono (display), IBM Plex Sans (body), JetBrains Mono (code)
42+
- **Style**: Cyberpunk Brutalism - sharp corners, neon glows, grid backgrounds
3643

3744
### Blog Posts
3845
Posts must follow naming: `_posts/YYYY-MM-DD-title.md`
@@ -43,76 +50,22 @@ Front matter template:
4350
layout: post
4451
title: "Post Title"
4552
subtitle: "Optional subtitle"
46-
description: "SEO meta description (150-160 chars)"
53+
description: "SEO meta description"
4754
date: YYYY-MM-DD HH:MM:SS
4855
author: "Calder"
49-
header-img: "img/path/to/header.jpg"
50-
catalog: true # Enables table of contents sidebar
51-
multilingual: false # Set true for posts with en.md/zh.md in _includes/posts/
5256
tags:
53-
- Tag1
57+
- Tag1
58+
- Tag2
5459
---
5560
```
5661

57-
For FAQ structured data, use `{% include faq-schema.html %}` in posts.
58-
59-
## Architecture
60-
61-
### Key Directories
62-
- `less/` - Less source files (edit here for styles)
63-
- `_layouts/` - Page templates (default, post, page, keynote)
64-
- `_includes/` - Reusable components (nav, footer, head, faq-schema)
65-
- `js/` - Client scripts (dark-mode.js, search, PWA registration)
66-
67-
### Less Module Structure
68-
`calder-blog.less` imports 19 modules in order:
69-
1. `variables.less` - CSS custom properties, colors, breakpoints (768/992/1200px)
70-
2. `design-tokens.less` - Spacing, typography scales
71-
3. `mixins.less` - Reusable Less mixins
72-
4. Component modules: sidebar, side-catalog, snackbar, highlight, search
73-
5. Enhancement modules: tech, home, scroll, interactive, article, archive
74-
6. `dark-mode.less` - Dark theme via `[data-theme="dark"]` selector
75-
7. `accessibility.less`, `multilingual.less`, `mobile-performance.less`, `editorial-design.less`
76-
77-
Dark mode uses CSS custom properties toggled by `js/dark-mode.js`. Edit `variables.less` for both light and dark theme colors.
78-
79-
### Bilingual Content
80-
Language-specific content lives in `_includes/` subdirectories:
81-
- `_includes/about/en.md` / `zh.md` - About page content
82-
- `_includes/posts/[date]-[slug]/en.md` / `zh.md` - Post translations
83-
84-
The multilingual selector component is in `_includes/multilingual-sel.html`.
85-
8662
### Deployment
8763
- Push to `master` triggers GitHub Actions deployment
8864
- Workflow: `.github/workflows/jekyll.yml`
8965
- Ruby 3.1, auto-deploys to GitHub Pages
90-
- Future-dated posts ARE published (`future: true` in _config.yml)
91-
92-
### PWA / Service Worker
93-
`sw.js` implements offline-first caching with auto-versioning on each Jekyll build. Cache strategies:
94-
- Pages: NetworkFirst (1hr cache)
95-
- Static assets (JS/CSS): CacheFirst
96-
- Images/fonts: Separate cache buckets
97-
98-
Edit `PRECACHE_LIST` in `sw.js` to add critical offline resources.
99-
100-
## Common Issues
101-
102-
### Styles not updating after deploy
103-
You forgot to run `./build.sh` before commit. The compiled CSS files must be committed.
104-
105-
### Jekyll serve fails
106-
Run `bundle install` first. Check Ruby version (needs 2.7+, prod uses 3.1).
107-
108-
### Dark mode not working
109-
Check `js/dark-mode.js` and `less/variables.less` (both `:root` and `[data-theme="dark"]` blocks). Toggle via browser DevTools: `document.documentElement.dataset.theme = 'dark'`.
110-
111-
### Build script fails on Windows
112-
Use WSL or Git Bash: `bash build.sh`
66+
- Future-dated posts ARE published (`future: true`)
11367

114-
## Key Configuration Files
68+
## Key Configuration
11569

116-
- `_config.yml` - Site metadata, SEO fields, social links, pagination, excluded paths
117-
- `pwa/manifest.json` - PWA app manifest
118-
- `sw.js` - Service worker (auto-versions via Jekyll)
70+
- `_config.yml` - Site metadata, social links, pagination
71+
- `css/style.css` - Complete design system (edit directly)

0 commit comments

Comments
 (0)