Skip to content

How I created this blog

I have tested multiple blogging frameworks, but I found that mkdocs is the simplest framework to generate documents and blog posts

Install mkdocs

pip install mkdocs

Install material theme

pip install mkdocs-material

Install blog plugin

https://liang2kl.github.io/mkdocs-blogging-plugin/

pip install mkdocs-blogging-plugin

I am using Obsidian to create the content of this blog. Hence I need a plugin to support back-link in Obsidian.

pip install mkdocs-roamlinks-plugin

Create a config files mkdocs.yml

site_name: VincentVu's blog
site_url: https://vincentvu.ca
docs_dir: content
site_dir: vincentvu.github.io

locale: en         # The locale for time localizations, default: system's locale
time_format: '%Y-%m-%d %H:%M:%S' # The format used to display the time
meta_time_format: '%Y-%m-%d %H:%M:%S' # The format used to parse the time from meta

theme:
  name: material

plugins:
  - search
  - roamlinks
  - blogging:
      dirs: # The directories to be included
        - blog
      size: 5

Start to create content of the site in folder content

Pasted image 20231105110903.png

Build the site

mkdocs build

Serve the generated static site

Go to the site_dir (in the mkdocs.yml config file) to serve the static files

python -m http.server 8000

Documents