expectocode / pagong

pagong - a site generator for slow connections
Apache License 2.0
7 stars 2 forks source link

Design goals #15

Open Lonami opened 6 months ago

Lonami commented 6 months ago

Pagong design

Main goal

Read markdown, write HTML and Atom feed, doing exactly what is needed for a minimalist style of blog.

Considerations

When reading files, we have to consider:

Subfolders have no special meaning and merely separate posts.

Headers and footers apply to the whole site. (caveat: translated posts would use the original text for header and footers too)

translation is a complication that doesn't apply to tan, but does apply to lonami. would be nice to integrate a neat solution for it in mainline pagong, but an alternative is a patch kind of thing i'm okay with having posts excluded from the listing that still generate a page and I can manually link to

For simplicity there will be no templating.

Unresolved questions

How do we reliable handle linking to other posts?

How do we handle additional assets?

What heuristics to follow when generating the output path? (Is every simple post a new folder with index.html sitting alone inside?)

What metadata is needed?

What is the best way to embed metadata in the posts?

The atom feed needs an absolute URL to the blog, along with other details. What's the best place for this information? perhaps _index metadata would apply site-wide by default (author, url, etc.) https://github.com/expectocode/pagong/issues/8

Should site-wide metadata show in all children posts (e.g. author)?

What happens if someone wants to use multiple CSS files? Can they specify them somewhere? Can they be configured per-post with metadata?

Is it pagong's job to minify the output files (CSS, compress images into JPG and automatically link to the original-size version…)?

Perhaps there can be metadata to override the header/footer on a per-post basis?

Example sites