Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flofriday/blog
My personal blog
https://github.com/flofriday/blog
Last synced: 10 days ago
JSON representation
My personal blog
- Host: GitHub
- URL: https://github.com/flofriday/blog
- Owner: flofriday
- Created: 2022-07-06T13:23:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-23T22:58:14.000Z (11 days ago)
- Last Synced: 2025-01-23T23:32:36.527Z (11 days ago)
- Language: Python
- Homepage: http://flofriday.dev
- Size: 2.35 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# blog
My personal blog build with my custom static site generator.
## Usage
I use [uv](https://github.com/astral-sh/uv) to manage python and it's dependencies for my personal blog.
Once installed simply run:
```bash
uv run blog.py
``````
usage: blog.py [-h] {build,serve,new} ...positional arguments:
{build,serve,new}
build Build the website.
serve A development server that, watches the input folder, rebuilds it and serves it on localhost:8000
new Create a new post.options:
-h, --help show this help message and exit
```## Structure
This repository holds all all source code to build my blog and all contents of
each blog.The generator currently is a single script called `blog.py` and uses a custom
Markdown parser.Each blog post is a directory in the `posts` directory. There all images,
and text, or notes the post uses are bundled together. Subdirectories will
be ignored.In the frontmatter of a post the following fields are supported:
- **date:** When the post was published `YYYY-MM-DD`
- **title:** Used for the title and on the homepage
- **description:** Only used for social media previews
- **image:** Only used for social media previews
- **draft:** Whether or not the post is finished (true/false)Drafts are unfinished posts, and therefore don't appear on the home page listing
(unless `--show-draft` is enabled). However, draft's are always rendered and
deployed so that you can send the link to some friends for proof-reading.The rationale behind that is that the drafts are anyway public in this repo.
## Contribution
Feel free to create an issue or PR if you think I got something wrong or that
a section wasn't understandable.