Skip to content
/ oracolo Public

A minimalist Nostr blog that consists of a single html file

License

Notifications You must be signed in to change notification settings

dtonon/oracolo

Repository files navigation

Oracolo

Oracolo is a minimalist blog powered by Nostr, that consists of a single html file, weighing only ~140Kb. You can use whatever Nostr client that supports long format (habla.news, yakihonne, highlighter.com, etc) to write your posts, and your personal blog is automatically updated.
It works also without a web server; for example you can send it via email as a business card.

Oracolo preview

Examples

Here you can find some generated blogs for OpenSats, Hodlbod and fiatjaf.

How to use - Developer mode

  1. Open index.html and personalize the author meta tag with your npub
  2. Run npm install
  3. Run npm run build
  4. Deploy the generated dist/index.html file

How to use - "I hate npm" mode

  1. Open directly dist/index.html and personalize the author meta tag with your npub
  2. Save the file and deploy

Optional settings

In addition to the npub meta in the index.html there are other optional meta tags to configure:

relays: set a list of custom relays;
top-notes: show N notes in a boxed format with cover image, zero to disable;
short-notes: show short notes as carousel (value 'carousel') or in the main feed (value 'main'), empty to disable;
short-notes-min-chars: show short notes with X minimum characters for the 'short-notes' setting, zero to disable;
short-notes-summary-max-chars: size in characters of the short notes preview in the feed, zero to display full content;
topics: let user navigate by topics, filtering articles by tags, empty to disable;
comments: enable comments at the bottom of the articles, with NIP-7 + NIP-46 login;

Screen.Recording.2024-05-28.at.17.26.48.mp4

Why this ugly hash routing?

Because this way the blog has fully functioning permalinks, without needing any additional server-level configuration to capture all the urls.

Caveats / To do

SEO is currently not existent, work in progress.
No pagination in the home.