A modern BBS-style website with Nord color theme (slightly darker variant), designed to be simple, responsive, and easy to update. This is a static website focusing on mobile-first design and using monospace text-heavy content with a BBS aesthetic.
- 🎨 Responsive, mobile-first design with BBS-style aesthetic
- 🌙 Dark mode by default with Nord color theme (darker variant)
- 📱 Mobile-friendly navigation with hamburger menu
- 🔧 Simple HTML/CSS with minimal JavaScript
- 📝 Easy to update content via HTML files
- 🖥️ Monospace text-heavy design inspired by old bulletin board systems
- ⚡ Modern retro feel with clean typography and terminal-inspired elements
- 📰 Blog system with Markdown to HTML conversion
- 📄 Dynamic CV loading system
├── css/ # Stylesheets
│ └── style.css # Main CSS with Nord theme & all styling
├── js/ # JavaScript files
│ ├── scripts.js # Main site scripts (theme toggle, mobile menu)
│ ├── post-loader.js # Blog post loading functionality
│ ├── cv-loader.js # CV content loading system
│ └── posts.json # Generated blog post index
├── pages/ # Main website pages
│ ├── about.html # About page
│ ├── blog.html # Blog listing page
│ ├── cv.html # Resume/CV page
│ └── portfolio.html # Portfolio page
├── blog/ # Blog post files
│ ├── *.html # Individual blog posts
│ ├── *.md # Markdown blog posts
│ └── template.html # Blog post template
├── _posts/ # Markdown blog posts (Jekyll-style)
│ └── *.md # Blog posts with front matter
├── img/ # Image assets
│ ├── blog/ # Blog-related images
│ ├── general/ # General site images
│ └── portfolio/ # Portfolio images
├── files/ # Document files
│ ├── cv.md # CV content in Markdown
│ └── *.pdf # Resume PDFs and documents
├── scripts/ # Build & automation scripts
│ ├── convert-blog.js # Markdown to HTML converter
│ ├── generate-post-json.js # Blog post index generator
│ ├── *.bat # Windows batch scripts
│ └── README.md # Scripts documentation
├── docs/ # Documentation
│ ├── cv-system.md # CV system documentation
│ └── README-blog-system.md # Blog system documentation
├── template-version/ # Template backup/reference
├── backups/ # Site backups
├── .github/ # GitHub workflows and templates
├── index.html # Homepage
├── policy.html # Privacy policy
├── package.json # Node.js dependencies for build tools
├── CNAME # Custom domain configuration
├── robots.txt # Search engine directives
├── sitemap.xml # Site map for SEO
└── README.md # This file
- Clone or download this repository
- Install dependencies (for build tools):
npm install
- Open
index.html
in your browser to view the site - Edit content directly in the HTML files or use Markdown
- Deploy to any static hosting service
Each main section has its own HTML file:
index.html
- Homepage with welcome message and recent updatespages/about.html
- About information and biopages/blog.html
- Blog post listing with dynamic loadingpages/cv.html
- Resume/CV with dynamic content loadingpages/portfolio.html
- Portfolio of work and projects
The site features a flexible blog system supporting both HTML and Markdown:
Method 1: Markdown Posts (Recommended)
- Create a new
.md
file in_posts/
directory - Use Jekyll-style naming:
YYYY-MM-DD-post-title.md
- Include front matter with title, date, and excerpt
- Run conversion script:
npm run convert
orscripts/convert-blog.js
Method 2: HTML Posts
- Create a new HTML file in
blog/
directory - Use
blog/template.html
as a starting point - Update
js/posts.json
manually or runscripts/generate-post-json.js
---
title: "Your Post Title"
date: 2025-06-13
excerpt: "Brief description of the post"
---
Your markdown content here...
The CV page uses a dynamic loading system:
- Edit CV content in
files/cv.md
- PDF versions are stored in
files/
directory - Dynamic loading handled by
js/cv-loader.js
The site uses inline navigation in each page for simplicity:
- Navigation is embedded in each HTML file's header
- Active page highlighting is handled via CSS classes
- Mobile menu toggle functionality in
js/scripts.js
# Convert Markdown posts to HTML
npm run convert
# Or run individual scripts:
node scripts/convert-blog.js
node scripts/generate-post-json.js
scripts/convert-and-preview.bat
- Convert and open in browserscripts/deploy.bat
- Deployment scriptscripts/preview.bat
- Quick preview script
markdown-it
- Markdown parsingfront-matter
- YAML front matter parsingfs-extra
- Enhanced file system operations
The Nord-inspired color scheme is defined in CSS variables in css/style.css
:
:root {
--bg-primary: #1e2128; /* Main background */
--bg-secondary: #242933; /* Secondary background */
--text-primary: #e5e9f0; /* Primary text */
--accent: #88c0d0; /* Links and accents */
--accent-hover: #81a1c1; /* Hover states */
}
- Primary font:
JetBrains Mono, Consolas, Monaco, 'Courier New', monospace
- All typography settings in the
--font-mono
CSS variable
Current site title: "Behind You, a Syntax Error..."
- Change in each page's header section
- Or update the template files for consistency
- Start local server:
python -m http.server
ornpx serve
- Open browser:
http://localhost:8000
- Edit files and refresh to see changes
- Pages: Edit HTML files directly
- Blog: Add Markdown files and run conversion scripts
- CV: Update
files/cv.md
- Styling: Modify
css/style.css
- GitHub Pages: Push to
main
branch (configured viaCNAME
) - Manual deployment: Use
scripts/deploy.bat
- Other hosts: Upload all files to web directory
robots.txt
- Search engine directivessitemap.xml
- Site structure for search enginespolicy.html
- Privacy policy page- Meta tags configured in each page's
<head>
CNAME
- Custom domain configuration for GitHub Pages.htaccess
- Apache server configuration- Compatible with all static hosting services
- ✅ Chrome/Edge (latest versions)
- ✅ Firefox (latest versions)
- ✅ Safari (latest versions)
- ✅ Mobile browsers (iOS/Android)
- ✅ Progressive enhancement (works without JavaScript)
Additional documentation available in docs/
:
docs/cv-system.md
- CV loading system detailsdocs/README-blog-system.md
- Blog system documentationscripts/README.md
- Build scripts documentation
Feel free to fork this project and customize it for your own use. The code is designed to be simple and readable for easy modification.
This template is free to use and modify for personal or commercial projects. See LICENSE
for details.
"Behind You, a Syntax Error..." - A nostalgic journey through the digital frontier 🚀