Sources for building the english version of my professional website https://matt.marcha.pro/en/
Find a file
2025-12-01 18:40:36 -10:00
content fix(resume): Typo 2025-12-01 18:40:11 -10:00
plugins/topdf feat: Add plugin for PDF generation 2025-10-11 21:37:29 -10:00
pro-theme feat: Minor improvements on pdf style 2025-10-11 15:35:57 -10:00
.gitignore ops : clear offline pages from the cache, and set website folder as output 2025-10-12 07:39:43 -10:00
Makefile chore: init 2025-10-07 07:13:58 -10:00
pelicanconf.py ops : clear offline pages from the cache, and set website folder as output 2025-10-12 07:39:43 -10:00
publishconf.py chore: init 2025-10-07 07:13:58 -10:00
README.md chore: Update README 2025-12-01 18:40:36 -10:00
tasks.py chore: init 2025-10-07 07:13:58 -10:00

Site pro : Pelican source files

Files to generate matt.marcha.pro website with Pelican

Installation

Follow Pelican official documentation for installing Pelican.

Requires markdown : python -m pip install "pelican[markdown]"
And extension md_in_html (already in pelicanconf.py)

PDF export

PDF are auto-generated with the Pelican plugin topdf. The plugin uses wkhtmltopdf and pdfkit.

Prerequises :

On system : install wkhtmltopdf (+ qt5-wayland on my system)
On python env : pip install pdfkit

Generate

Simply add the metadata To_pdf to your page to trigger a PDF generation for the page/article.
The value can be empty, or a python dictionnary to set the file name and/or add a stylesheet :

To_pdf: {'name': 'mysuperfile', 'css': 'content/static/print.css'}

Note : PDF files will be generated on the same path as the HTML file.
PDF files with the same name in a directory will overwrite previously generated files.

Emojis

For emojis support in wkhtmltopdf, the font has to be set to one with emoji support which will depend of the system or has to be fetched online (ex: Noto Color Emoji on my system).
For emojis added through css content, use the unicode.

Theme

Most pages have been disabled. Website is designed as a one-page and relies on few templates:

  • base for... the base
  • home the homepage - display page content as intro, then the list of articles
  • article single article

Resume

Live in its own, highly customized template resume.html.
Inherits base.html, keeps the <head> and discards the <body> (kids, don't do that at home).
header/main/footer structure is handled in the markdown file with md_in_html (markdown="1" in html tags).

Workflow

  • One full version of the resume for the web, without personal contact info
  • Full version & customized resumes in the unlisted offline folder
  • Apart from pages & images, first-level folders are article categories

Roadmap

  • Migrate the current portfolio index page to Pelican
    • entries are articles
    • add tags & categories
    • disable most features: feeds, articles, authors
  • Translate md files and setup site translation en/fr
  • Add 404 / legal pages
  • Remove unused template files