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 sync --all-extras --dev
    

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, to force uv to pick up the latest local copy:

    [tool.uv.sources]
    plumage = { path = "../plumage", editable = true }

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.