A web blogging system
Find a file
Pranshu Sharma a2426dee1c Added zig source as well
Why not, it was due for long time.  If you guys manage to find
exploits some how, please send than use them malciouly.
2025-05-14 23:02:20 +10:00
genserve Added zig source as well 2025-05-14 23:02:20 +10:00
.gitignore Added gitignore 2025-05-14 23:01:10 +10:00
genorg inital commit 2025-05-14 22:42:33 +10:00
README.md inital commit 2025-05-14 22:42:33 +10:00

Dependencies

Gnome libxml2

Usage

Templates

This uses Template::Toolkit for template syntax.

You must now have any value in [no_name_dir] in blog_dir.

Concepts

Orignally the genorg that was made had the concept that moving files was natural and should not affect the system.

Static file tree

Contradictory to orignal genorg, this is designed for the blog org tree to remain static. The orignal reason I wanted this was that so the blog directory tree would be easy to try. But then I realised, it's supposed to be write-only. For a linear blog, you don't really make modifications to article once it's published, and you should be able to find new

Caching

This uses a 2 step caching procsess.

      Input                  Cache                Output
    +-----------+       +---------------+       +-----------+
    | Org files | ----> | direct org    | ----> | Modified  |
    |           | ----> | html export   | ----> | html      |
    +-----------+       +---------------+       +-----------+
                          |        |
                        +---------------+       +-----------+
                        | Neccasary info| ---->	| navigtion |
                        | eg title, date| ---->	| files     |
                        +---------------+		+-----------+

The intermideate transformation of the direct org to html is stored for caching. The neccasry info like path and all is stord in seperate xml document to not make it so the whole file has to be parsed again to link.

Speed for space

genorg copies the whole file tree accross to cache in intermiediate stage, this allows for the -m option.