A personal blogging website created to share my thoughts and experiences on software technologies and open source tools.
- Static website builder: Hugo
- Theme: PaperMod
- Comments: Disqus
- Diagrams: Mermaid
- Dev Containers: Dev Containers
There are two ways to spin up this application
- The hard way: Install everything in local and hope everything works in CI/CD as well :)
- The easy way: Using dev containers. Just spin up the application in a docker container.
Make sure you have the following tools installed as pre-requisite. The steps are for mac, but you can use alternatives for your OS.
- Install Hugo:
brew install hugo - install pre-commit tool:
pip install pre-commit
- Clone the repository
- Install pre-commit in your system by running:
pip install pre-commit - Run
pre-commit install -fto install thepre-commithooks in the repository - Install hugo using the command:
brew install hugo - Install the theme submodule using the command:
git submodule update --init --recursive --remote - Install
pre-commitextension in your text editor to maintain consistency in formatting. To install, run:brew install pre-commitand thenpre-commit-installto update the pre-commit hook in your local repository
You can use the devcontainers to run a pre-configured developement environment in your machine. This repository already has a prec-configured template in devcontainer/devcontainer.json. All you have to do is to run this application on github codespaces, vs code dev containers or any devcontainer of your choice.
To create a new content page run the command
hugo new content content/blog/<your-page-name>.mdTo publish the content you will have to
- Set the
draftkey to false in the content page - Push the changes using
git pushcommand
- Run
pre-commit autoupdateto fetch and install the latest version of thepre-commithooks - To generate a blog page, run
hugo new content blog/<page-name>.md - To run the server with draft views enabled, run
hugo server -D - To run the server
hugo server