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 -f
to install thepre-commit
hooks 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-commit
extension in your text editor to maintain consistency in formatting. To install, run:brew install pre-commit
and thenpre-commit-install
to 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>.md
To publish the content you will have to
- Set the
draft
key to false in the content page - Push the changes using
git push
command
- Run
pre-commit autoupdate
to fetch and install the latest version of thepre-commit
hooks - 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