BashWrite - demo
June 3, 2026 ยท View on GitHub

Single, pure bash script to make your blog.
You can find more information on the demo site.
Inspired by bashblog
Features
- No dependencies
- Support extended Markdown with mattcone/markdown-guide
- Darkmode
- Tags
- Recent posts
- Pinned posts
- RSS
- Github Pages [option]
Limits
- Hard to customize
- Markdown to html converter is not perfect - bug list
Quick start
Install
- Download
bw.sh- Release page. - Open
bw.sh, edit settings and save the file. - Open terminal, and run
./bw.sh b - Then your blog will be generated!
Write new posts
- Write a markdown file in write/.
- The markdown file should start with frontmatter
--- title: My new post description: Write description of this post. date: 2025-02-05 lastmod: 2025-05-02 tags: tags seperated by a whitespace draft: false pin: 1 banner: image.png --- - Save your file and run
./bw.sh b
Remove posts
- Remove a markdown file in write/
- Run
./bw.sh b - The script will delete files and links.
Commands
./bw.sh h: Show help dialog../bw.sh n: Create an empty Markdown file with front matter../bw.sh b: Build the blog../bw.sh r: Force a rebuild.
About directory structure
Download from repo
- bw.sh
- .github/ - Download this folder if you want to use Github Pages.
Automatically generated: Do not edit these files
- backup/
- checksum/ - Checksum list to compare the diffrence of files.
- posts/
- tags/
- 404.html
- all-posts.html - List of every posts.
- all-tags.html - List of every tags.
- index.html
- robots.txt
- rss.xml
- style.css
- sitemap.xml
Create these folders yourself, and work only within these folders
- write/ - Write your markdowns in this folder. You can also add assets needed for the posting.
- assets/ - Add any assets in this folder.