information about this website

Created: by Pradeep Gowda Updated: Feb 25, 2024

This website is put together using a Python script1 that leverages all the following software and libraries.

Table of contents


Python Libraries

See for python package information.

  • bs4
    • for parsing metadata out of HTML pages, even ones not generated by the sitebuild script
    • for outputting well formatted HTML (Do “View Source”) :)
  • dateparser
  • extruct
  • gitpython
  • htmlmin – minimize HTML output by removing extra whitespaces
  • isoweek
  • jinja2 – Templating
  • libsass
  • markdown – convert markdown to html with help from markdown extensions
  • markdown-full-yaml-metadata
  • mdx_bib
  • minify-html
  • pandoc
  • panflute
  • pinboard-to-sqlite
  • pinboard>=2.0
  • pybtex
  • pygments
  • pypandoc
  • pyquery
  • pytidylib
  • tinydb
  • twitter-to-sqlite
  • verbalexpressions
  • wheel

Python-Markdown Extensions

2023-10-10 I’m slowly moving away from using Python markdown to parse content, except use it to extract the YAML headers for metadata. The actual parsing of the HTML happens though pandoc and pandoc filters.

  • TocExtension
  • WikiLinkExtension
  • admonition
  • attr_list
  • full_yaml_metadata
  • fenced_code
  • def_list
  • footnotes
  • tables
  • admonition
  • codehilite
  • smarty


I use my fork of mdx_bib, to render citations in markdown.

2023-04-08 Not using it anymore as it was inserting false entries even on pages without any bib refs. I continue to use pandoc to render citations.

The headers of posts/notebooks that have citations have this in the meta header:

bib: bib/nbrefs.bib
csl: csl/jcsl.csl

and the sitebuild script knows to call pandoc to render the HTML.

I push the changes to the server hosting this website and the git hooks compile the html files from the .md file and publish them.

I also have a Taskfile to automate some of the tasks associated with writing and publishing (task publish triggers the push) the website.


Visitor traffic is collected using Cloudflare.

Site Notes

Setting image width in markdown:

    ![alt text](path-to-image){ width=600px }

See also: About this Website

  1. This file is generated by running pygmentize -O full,style=emacs,linenos=1 -f html -l python -o sitebuild.html sitebuild↩︎