A weblog engine focusing on data ownership and persistence.

How is it different?

Nefelibata (Portuguese for “one who walks on clouds”) is an IndieWeb static website generator written in Python 3 that focus on preserving your content. In order to achieve that goal, it works similarly to common static website generators, with the following design decisions:

  • Each post is a separate directory. The actual post is written in Markdown and stored as an email message, and each post can have its own images, CSS, Javascript and other files.

  • Posts are converted into HTML, and the resulting weblog is composed of only static files. There are no databases, and all extra data is stored in JSON files.

  • External images are locally mirrored when the weblog is built, and the link is altered to point to the local resource. The engine will warn you if the generated HTML has any external resources (CSS, for example).

  • External links are saved to the Wayback Machine, and links are annotated with the archived link and date of archival, allowing readers to follow the original links even if they change in the future.

  • The weblog can be published to different locations, using a plugin architecture. Currently, nefelibata supports publishing to Amazon S3, Neocities, FTP, and IPFS.

The IndieWeb

Nefelibata acknowledges that most interactions occur in social networks like Twitter or Mastodon. The engine can be configured with global or per-post announcers that will post to social networks linking back to the content, so that people can comment and discuss posts outside of the weblog, a concept called POSSE (Publish on your Own Site, Syndicate Elsewhere) in the IndieWeb.

When the weblog is rebuilt, the announcers will collect any replies and store them locally, so that the comments are displayed in the weblog with your post. A post can be announced to multiple social networks, and the comments will be aggregated and preserved.


Indices and tables