aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruser <user@node5.net>2024-01-24 15:51:52 +0100
committeruser <user@node5.net>2024-01-24 15:51:52 +0100
commit71bdd03e3a7582fdb7ca2f8f6de3474ccae1a708 (patch)
tree619d1fd6be5667d818996b71998dfffe4b1d5613
parentc04ca67072c9c3014aa62f734a80eab0c666b416 (diff)
readme: add TODOs, follow markdown syntax, update meta data syntax, todo sub goals
-rw-r--r--README.md99
1 files changed, 59 insertions, 40 deletions
diff --git a/README.md b/README.md
index f88e7f7..b8d6578 100644
--- a/README.md
+++ b/README.md
@@ -3,23 +3,22 @@
For [blog.node5.net](https://blog.node5.net), Made for my speceific use case, but otherwise generalized.
## Table of contents
- - [KISS static blog site generator](#kiss-static-blog-site-generator)
- - [Table of contents](#table-of-contents)
- - [Features](#features)
- - [Installation](#installation)
- - [Creating content](#creating-content)
- - [Articles](#articles)
- - [Templates](#templates)
- - [Static](#static)
- - [Usage](#usage)
- - [TODO](#todo-feature-creep-galore)
- - [Done](#done)
+- [KISS static blog site generator](#kiss-static-blog-site-generator)
+- [Table of contents](#table-of-contents)
+- [Features](#features)
+- [Installation](#installation)
+- [Creating content](#creating-content)
+ - [Articles](#articles)
+ - [Templates](#templates)
+ - [Static](#static)
+- [Usage](#usage)
+- [TODO](#todo-feature-creep-galore)
## Features
- - [Jinja2](https://jinja.palletsprojects.com/) templating
- - [markdown](https://python-markdown.github.io/) content writing
- - [code blocks syntax hightlighting](https://python-markdown.github.io/extensions/code_hilite/)
- - [live reload](https://pypi.org/project/livereload/)
+- [Jinja2](https://jinja.palletsprojects.com/) templating
+- [markdown](https://python-markdown.github.io/) content writing
+- [code blocks syntax hightlighting](https://python-markdown.github.io/extensions/code_hilite/)
+- [live reload](https://pypi.org/project/livereload/)
## Installation
`git clone https://git.node5.net/blog-generator.git`
@@ -28,9 +27,9 @@ For [blog.node5.net](https://blog.node5.net), Made for my speceific use case, bu
## Creating content
All the of the site content is derived from one folder e.g. `default page` this containts 3 folders:
- - [articles](#articles)
- - [templates](#templates)
- - [static](#static)
+- [articles](#articles)
+- [templates](#templates)
+- [static](#static)
To make your own site simply, copy the `Default page`,
and pass this to the blog generator `blog_generator.py "Default page" live_reload`
@@ -39,15 +38,21 @@ and pass this to the blog generator `blog_generator.py "Default page" live_reloa
Each directory is one article, it contains the markdown, and all the needed media for this article.
The name of the article is derived from the folder name.
The markdown file can be named what ever, there must only be one
-Meta data is defined at the top of the article in YAML format enclosed in `---`
+Meta data is defined at the top of the article in YAML format enclosed in `---`
```yaml
---
-Created: 2024-01-30
-Description: Example description
+description: Example description
+created: 2024-01-30
+modified: 2024-02-01
---
```
+Todays date can be generated in this format using the following command
+```bash
+date +%F
+```
+
### Templates
These are [Jinja2](https://jinja.palletsprojects.com/) templates, which makes them very flexible.
@@ -63,24 +68,38 @@ The `generate` and `live_reload` both generate the site and outputs it to the `o
Which can be served, or copied to the web server you host it on.
## TODO Feature creep galore
- - Refactor code, split out logic
- - Refactor code, add comments
- - On file change, generate only the specific file, don't regenerate the entire site
- - Code highlight theme, based on blog color theme
- - Headlines ids, for URL #reference
- - Move more stuff to config(s), e.g. port, dateformat, sort
- - Pretty format logging
- - Propagate additional article meta data to be
- - Categories
- - Split out article meta data to seperate class
- - DEVOPS git deploy pipeline
- - Page source content root defined in one dir, pass arg with this, so it's easy to make a new page
+- Refactor code, split out logic
+- Refactor code, add comments
+- On file change, generate only the specific file, don't regenerate the entire site
+- Code highlight theme, based on blog color theme
+- Headlines ids, for URL #reference
+- Move more stuff to config(s), e.g. port, dateformat, sort
+- Pretty format logging
+- Propagate additional article meta data to be
+- Split out article meta data to seperate class, do this once the desired features are more well known
+- Build test pipeline
+- Page source content root defined in one dir, pass arg with this, so it's easy to make a new page
+- Text to diagrams
+- Package code
+- Default page code highlight
+- Default page CSS
+- Allow an article to not have a directory, but just be a markdown file in the source directory
+- Publish node5.net source
+- Fix Debian install, it doesn't have user writable bin folder in `$PATH` by default like Arch's `~/.local/bin`
+- Tags, article meta data tags
+- RSS feed, auto generated
+- Support other markdown files extentions
+- Command line arguments for creating articles with meta data pre-filled
+- Table of contents, auto generated
+- Article source versioning
+ - Sites as a sub repo? What about big media files like images?
+ - Versioning git integration for markdown change history
- PEP8 check
- - Text to diagrams
- - Describe insertion of HTML like for videos
- - Package code
- - Default page code highlight
- - Default page CSS
-
-## Done
+ - CI/CD git deploy pipeline
+- Categories
+ - Derive values from directory structure
+ - Allow for sub categories e.g. `hardware/keyboards`
+ - Display the sub categories like folder structure
+- Done
- Make install
+ - Describe insertion of HTML like for videos