bitspook / cl-ownpress

Publish all the things (mostly as static websites)
23 stars 0 forks source link

+begin_quote

⚠️ Published documentation might be lying. I am in middle of re-doing the architecture (including the public API) of cl-ownpress, and am doing docs-first test-driven development. Once I am happy with it, I will create a 1.0 release and do future releases in release branches.

+end_quote

+begin_quote

⚠️ Under active development. API/architecture might change without warning.

+end_quote

Practically, cl-ownpress is a static site generator.

Theoretically, its primary objective is to

+begin_quote

Give hackers the ability to publish their content while maintaining its ownership.

+end_quote

** Goals

  1. Paramount Hack-ability

    Tweaking isn't sufficient. Hackers should have the freedom of extend, replace and bend the system to their will.

  2. Friction-free development experience

    Ability to hack isn't sufficient. Hacking experience should be pleasant.

  3. Content ownership

    As users of the internet, we publish a lot of content on the web. It almost always end up in a walled platform, at the mercy of someone-not-you's whims. Cl-ownpress should bring ownership of user's published content back to user.

** Current state

I am using cl-ownpress as a library to create [[https://bitspook.in/][my personal website]] ([[https://github.com/bitspook/bitspook.github.io][git repo]]). It allows me achieve my desired publishing workflow.

Cl-ownpress enables building [[https://en.wikipedia.org/wiki/Extract,_transform,_load][ETL]] pipeline meant for publishing content. It enable a very simple use-case:

  1. Extract data from multiple sources. e.g. from a [[https://protesilaos.com/emacs/denote][Denote]] direcotry
  2. Transform, enhance and collect it e.g collect e.g enhance collected notes with more information to create instances of =blog-post=
  3. Use it to publish artifacts e.g convert =blog-post='s to HTML+CSS+JS+Image files