This repository implements a static site generator pipeline using Jekyll v3.10.0 to produce bilingual HTML pages deployed via GitHub Pages at lzwjava.github.io. The system processes Markdown source files located in _posts/en/ and _posts/zh/ directories to generate parallel English and Chinese content with -en.html and -zh.html suffixes in the _site/ output directory.
The build process generates approximately 400+ pages per language. Content attribution is indicated through title suffixes: | Original, | Generated by AI, | AI生成和翻译, and | 原创,AI翻译. AI model attribution (e.g., grok-4-fast, claude-4.5-sonnet) is displayed in footer <p class="model"> elements.
The system integrates external dependencies via CDN: MathJax 2.7.7 for LaTeX rendering, Marked.js for markdown parsing, and Cloudflare Web Analytics (beacon token: 70fc8c466cc1445098b3fc6f209c22c2). Client-side functionality is implemented in assets/js/dark-mode.js, assets/js/audio.js, and assets/js/pdf.js.
Jekyll v3.10.0 processes source markdown files through jekyll-seo-tag v2.8.0 to generate static HTML output in _site/ directory:
Sources: _site/unexplored-experience-map-zh.html1-240 _site/list-en.html1-248 _site/posts-en.html1-100 _site/original-zh.html1-100
Generated HTML pages follow this DOM structure with specific id and class attributes for JavaScript targeting:
Sources: _site/unexplored-experience-map-zh.html1-240 _site/list-en.html1-248 _site/yin-wang-zh.html1-249 _site/truth-en.html1-300
Markdown source files in _posts/en/ and _posts/zh/ subdirectories generate parallel HTML files with language suffixes. The select#languageSelect element implements URL-based navigation between language pairs:
Language switching implementation in every page:
_site/unexplored-experience-map-zh.html228-235
Sources: _site/unexplored-experience-map-zh.html184-235 _site/list-en.html186-189 _site/yin-wang-zh.html34-187 _site/notes/2025-10-30-unexplored-experience-map-en.html177-180
The system distinguishes between original human-authored content and AI-generated content through title suffixes and metadata:
| Attribution Type | Title Suffix | Example Files |
|---|---|---|
| Original | | Original | _site/list-en.html117 |
| AI Generated | | Generated by AI | _site/notes/2025-10-30-unexplored-experience-map-en.html116 |
| AI Translated | | AI生成和翻译 | _site/unexplored-experience-map-zh.html117 |
| Original + AI Translation | | 原创,AI翻译 | _site/list-zh.html117 |
AI model attribution is displayed in the footer:
_site/unexplored-experience-map-zh.html216
Sources: _site/unexplored-experience-map-zh.html117 _site/list-en.html117 _site/notes/2025-10-30-unexplored-experience-map-en.html116 _site/human-wiring-priorities-zh.html117
Three deferred JavaScript modules implement theme toggling, audio playback, and PDF generation:
Theme toggle button DOM structure in _site/list-en.html153-174:
Script loading sequence in _site/unexplored-experience-map-zh.html225-227:
Sources: _site/list-en.html153-174 _site/unexplored-experience-map-zh.html153-227 _site/yin-wang-zh.html153-172 _site/list-en.html126
MathJax 2.7.7 and Marked.js are loaded from CDN for LaTeX and markdown rendering:
MathJax configuration in _site/list-en.html83-96:
CDN script tags in _site/list-en.html98-101:
Sources: _site/list-en.html83-101 _site/yin-wang-zh.html83-101 _site/unexplored-experience-map-zh.html83-101
The jekyll-seo-tag v2.8.0 plugin generates Open Graph, Twitter Card, and JSON-LD structured data in HTML <head>:
Example output from _site/unexplored-experience-map-zh.html29-48:
Sources: _site/unexplored-experience-map-zh.html29-48 _site/list-en.html29-48 _site/yin-wang-zh.html29-48 _site/truth-en.html29-48
The style.css file includes a version query parameter for cache invalidation:
_site/unexplored-experience-map-zh.html80
The version parameter v=8ad0d016e9d46f9a7051641b3a087e327b0a1e4f is a Git commit hash that updates when CSS content changes, forcing browsers to fetch the new stylesheet.
Sources: _site/unexplored-experience-map-zh.html80 _site/list-en.html80 _site/yin-wang-zh.html80 _site/truth-en.html80
The analytics beacon script loads with defer attribute to avoid blocking page rendering:
_site/unexplored-experience-map-zh.html14-16
The data-cf-beacon attribute contains the site-specific analytics token 70fc8c466cc1445098b3fc6f209c22c2. Google Analytics code is commented out in _site/unexplored-experience-map-zh.html18-26
Sources: _site/unexplored-experience-map-zh.html14-26 _site/list-en.html14-26 _site/yin-wang-zh.html14-26
An RSS feed is provided for content syndication:
_site/unexplored-experience-map-zh.html9-10
Sources: _site/unexplored-experience-map-zh.html9-10 _site/list-en.html9-10
The system includes a complete favicon package and web app manifest:
_site/unexplored-experience-map-zh.html5-7
Sources: _site/unexplored-experience-map-zh.html5-7 _site/list-en.html5-7
Four index pages provide navigation entry points to content:
| File | Purpose | Link Count |
|---|---|---|
_site/posts-en.html | Complete chronological post listing | 400+ links |
_site/original-en.html | Human-authored original content | 300+ links |
_site/list-en.html | Categorical taxonomy navigation | 13 categories |
_site/notes-en.html | Dated notes archive | Variable |
Category taxonomy in _site/list-en.html202-216:
Sources: _site/list-en.html200-216 _site/posts-en.html1-570 _site/original-zh.html1-330 _site/list-zh.html200-216
All pages share a common Open Graph image for social media sharing:
_site/unexplored-experience-map-zh.html68
_site/unexplored-experience-map-zh.html77
Sources: _site/unexplored-experience-map-zh.html68 _site/unexplored-experience-map-zh.html77
Mobile browser theme colors are configured:
Sources: _site/list-en.html51-53 _site/unexplored-experience-map-zh.html51-53
The notes/ subdirectory contains timestamped versions of posts:
notes/YYYY-MM-DD-topic-en.html<a href="#" class="button">2026.02</a>Language selector in notes pages redirects to main page:
_site/notes/2025-10-30-unexplored-experience-map-en.html177-180
Sources: _site/notes/2025-10-30-unexplored-experience-map-en.html1-232 _site/notes/2025-10-15-shallow-to-deep-en.html1-233
Refresh this wiki