This is my personal technical blog. It has the following features:
- Dark and Light Theme Switcher
- Search
- Automated Table of Contents
- Mobile device friendly
- Blog Tags
Astro looks for .astro or .md files in the src/pages/ directory.
Each page is exposed as a route based on its file name.
Any static assets, like images, can be placed in the public/ directory.
All blog posts are stored in src/content/blog directory.
This blog utlises a complete Gitops lifecycle.
Create a feature branch blog/n/blogslug
Review your changes by using a spell checker and preview your markdown script
Push your code and create a pull or merge request.
A pipeline will run and give you a staging url to review your changes.
Once QA is complete; merge the pull request.
Take care to squash and merge the pull request. Also, delete the feature branch when you are done.
The template requires date field to be provided in the ISO 8601 fmt
# current timestamp in ISO 8601 format using Bash
TZ="Australia/Sydney" date -u +"%Y-%m-%dT%H:%M:%SZ"
By convention, images are saved in png format and favicon as svg format.
It is best to use the vtracer tool to convert images.
# Ubuntu
sudo apt update -y
sudo apt install cargo -y
cargo install vtracer
# Add the follwowing to your bash profile
# Add Cargo's bin directory to PATH
if [ -d "$HOME/.cargo/bin" ]; then
PATH="$HOME/.cargo/bin:$PATH"
fi
vtracer --input blog3.png --output blog3.svg
Main Framework - Astro
Website Theme - AstroPaper
Web Hosting - Cloudflare
You can contact me via my socials:
Licensed under the MIT License, Copyright © 2025
Made with 🤍 by Nishad K S