https://github.com/lostvikx/blog
A static blog site to share my thoughts with the world.
https://github.com/lostvikx/blog
blog markdown pandoc static-site-generator
Last synced: about 1 month ago
JSON representation
A static blog site to share my thoughts with the world.
- Host: GitHub
- URL: https://github.com/lostvikx/blog
- Owner: lostvikx
- License: mit
- Created: 2025-03-24T17:58:26.000Z (about 1 year ago)
- Default Branch: stable
- Last Pushed: 2025-04-02T00:36:53.000Z (about 1 year ago)
- Last Synced: 2025-04-02T01:29:42.273Z (about 1 year ago)
- Topics: blog, markdown, pandoc, static-site-generator
- Language: HTML
- Homepage:
- Size: 1.48 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blog
* A static blog site to share my weird thoughts with the world.
* Contact [vikram.s.negi@proton.me](mailto:vikram.s.negi@proton.me) if you have any issues related to my content.
## Dependencies
pandoc, ImageMagick, JS beautify, uv package manager
```bash
sudo apt install pandoc imagemagick
npm -g install js-beautify
curl -LsSf https://astral.sh/uv/install.sh | sh
```
## Usage
```bash
uv run generate.py
```
## Test Server
```bash
cd site/ && python -m http.server
```
## Markdown Metadata
Make sure all your blog posts (`.md` files) have this metadata:
```yaml
---
title: "Title Goes Here"
author: "Vikram S. Negi"
date: "$(date +'%b %d, %Y')"
description: "Add a description for the article."
thumbnail: "assets/image_720p.webp"
---
```
Note: Use the `create_post.sh` script to create a new blog post.
## Generate Site
Script generates a directory `site/` these things:
1. HTML files with the same name as the markdown file.
2. Directories `posts/*.html` and `posts/assets`.
* `site/` will contain all static files.
* Please refer the Cloudflare Pages [docs](https://developers.cloudflare.com/pages/framework-guides/deploy-anything/).
## TODO
- [x] Let python access the markdown metadata
- [x] Add post title and date to index.html
- [x] Image compression
- [x] index.html page
- [x] Add a create_post.sh script
- [ ] ABOUT page
- [x] Create `site/` directory
- [ ] LINKS page