Skip to content

kdeldycke/kevin-deldycke-blog

Repository files navigation

Kevin Deldycke's blog

Source and content to generate my static blog, which is powered by Pelican (engine) and Plumage (theme).

Installation

  • Fetch a copy of the repository:

    $ git clone https://github.com/kdeldycke/kevin-deldycke-blog.git blog
    $ cd ./blog
    
  • Install Python:

    $ brew install python
    $ python --version
    Python 3.12.4
    
  • Install uv:

    $ python -m pip install uv
    
  • Install this blog's dependencies:

    $ uv venv
    $ source .venv/bin/activate
    $ uv pip install --all-extras --requirement ./pyproject.toml
    

Build and browse website

  • To build the content, in one terminal, run:

    $ uv run -- pelican
    
  • And to serve the website, in another terminal:

    $ uv run -- pelican --listen
    (...)
    Serving site at: 127.0.0.1:8000 - Tap CTRL-C to stop
    
  • Then go to http://localhost:8000.

Theme development

The section above is enough to add and modify the website content.

Now if you need to work both on the content and the theme you need to:

  • Get a local copy of the theme outside your ./blog virtualenv:

    $ cd ..
    $ git clone https://github.com/kdeldycke/plumage.git
    $ cd ./blog
    
  • Change plumage dependency in the Blog's pyproject.toml from:

    dependencies = [
        ...
        "plumage <anything>",
        ...
    ]

    To:

    dependencies = [
        ...
        "plumage",
        ...
    ]
  • Also add this new section in the same pyproject.toml:

    [tool.uv.sources]
    plumage = { path = "../plumage" }
  • Always build the content by forcing uv to pick the latest version of your local changes from ../plumage:

    $ uv run --reinstall-package plumage -- pelican
    warning: `uv run` is experimental and may change without warning.
    ⠙ Resolving dependencies...
    Resolved 77 packages in 39ms
      Built plumage @ file:///Users/kde/plumage
    Prepared 1 package in 651ms
    Uninstalled 1 package in 6ms
    Installed 1 package in 2ms
    - plumage==4.1.0 (from file:///Users/kde/plumage)
    + plumage==4.1.0 (from file:///Users/kde/plumage)
    ⠦ Generating...
    

TODO

Content

Plugins

Theme

Dependencies

License

The content of this repository is copyrighted © 2004-2024 Kevin Deldycke.

Unless contrary mention, the content of this repository is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.