https://github.com/ashmod/ashmod.github.io
A website where I share stuff.
https://github.com/ashmod/ashmod.github.io
blog portfolio-website
Last synced: about 2 months ago
JSON representation
A website where I share stuff.
- Host: GitHub
- URL: https://github.com/ashmod/ashmod.github.io
- Owner: ashmod
- License: other
- Created: 2023-04-17T09:16:50.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-04-16T13:20:22.000Z (2 months ago)
- Last Synced: 2026-05-03T05:52:56.136Z (about 2 months ago)
- Topics: blog, portfolio-website
- Language: HTML
- Homepage: https://ashmod.dev/
- Size: 71.1 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ashmod.dev
Personal portfolio and blog built with a custom Static Site Generator.
## Features
- Custom Node.js-based SSG for generating static HTML from Markdown
- Responsive design with light/dark mode toggle
- Markdown content management for blog posts and work/projects
- Simple templating system without heavy frameworks
- Hosted on GitHub Pages
## Tech Stack
- **Core**: HTML, CSS, JavaScript
- **SSG**: Custom Node.js script (`scripts/baker.js`)
- **Content**: Markdown files parsed with `marked`
- **Templating**: Custom string replacement engine
- **Hosting**: GitHub Pages
## Installation
### Prerequisites
- Node.js (v14+ recommended)
- npm
### Setup
1. Clone the repository:
```bash
git clone https://github.com/ashmod/ashmod.github.io.git
cd ashmod.github.io
```
2. Install dependencies:
```bash
npm install
# Installs: fs-extra, gray-matter, marked
```
## Usage
### Development Workflow
1. Edit content in `content/` (Markdown files), templates in `templates/`, or styles in `assets/css/style.css`.
2. Build the site:
```bash
npm run build
```
3. Preview locally:
Open `index.html` in a browser or run:
```bash
npx serve .
```
### Content Management
#### Blog Posts
Create `content/blog/my-post.md`:
```markdown
---
title: "My Post Title"
date: "2025-01-01"
description: "A short summary."
tags: ["tech", "life"]
layout: post
---
Your content here...
```
#### Work/Projects
Create `content/projects/my-project.md`:
```markdown
---
title: My Project
year: 2025
description: A short description.
category: TOOL
tags: ["Python", "CLI"]
link: https://github.com/...
layout: project
---
Details about the project...
```
Categories: `TOOL`, `WEB`, `GAME`, `ACADEMIC`, `MISC`, or `OPEN SOURCE` (via `open-source.json`).
## Project Structure
```
.
├── assets/ # Static assets (images, CSS, JS)
├── content/ # Source content (Markdown)
│ ├── blog/ # Blog posts
│ ├── pages/ # Static pages
│ └── projects/ # Work/project entries
├── scripts/ # Build scripts
│ └── baker.js # Static Site Generator
├── templates/ # HTML templates
├── .gitignore
├── package.json
└── README.md
```
## Contributing
Contributions are always welcome. Report issues or suggest improvements via GitHub issues.
## License
Licensed under [Creative Commons Attribution 3.0 Unported](https://creativecommons.org/licenses/by/3.0/).
See [LICENSE](LICENSE) for more details.