A personal website / #indieweb engine with curved swords. Curved! Swords!
Haskell JavaScript HTML CSS Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
example-feeds
indieweb-algorithms @ 833d940
indieweb-components @ 8cdd062
mf2sql @ dd5a493
micro-panel @ f6dd2ba
sweetroll-be
sweetroll-fe
sweetroll-mu
sweetroll-node-common
.editorconfig
.gitignore
.gitmodules
.mailmap
.tmuxp.yaml
CODE_OF_CONDUCT.md
README.md
UNLICENSE
nginx.conf
sweetroll-site.nginx.conf

README.md

sweetroll unlicense

A powerful engine for your personal website.

  • lets you publish many kinds of content
    • notes (microblog posts), articles (big blog posts), replies, reposts, likes, quotations, bookmarks, reviews…
  • supports categories, tags, full text search, content warnings, photos (with Exif metadata display), videos, audio files, private posts (drafts), automatic offline in-browser caching (ServiceWorkers), color theme customization
  • lets you talk to other IndieWeb-style websites by sending and receiving Webmentions (including Salmentions for threaded conversations)
  • lets you use Micropub to edit your site (post, update, delete, undelete)
    • has a media endpoint for file uploads that optimizes images, extracts Exif metadata, and works on AWS Lambda + S3
    • lets you use Markdown for post text, with nice code highlighting and math rendering
    • the included admin panel (micro-panel) itself uses Micropub
  • sends WebSub (formerly PubSubHubbub) notifications on new posts (for readers)
  • uses Granary to provide content as Atom, ActivityStreams 2.0 and JSON Feed (with WebSub notifications too)
  • represents all the things as Microformats2 objects
  • uses PostgreSQL with the mf2sql schema for storage
  • consists of services written in Haskell and Node.js

I'm running it on my website.

Installation

Installing Sweetroll on a server requires some UNIX sysadmin skills. If you can't do it, ask your friends for help or check out other IndieWeb projects: some of them have hosted versions, some run on shared PHP hosting.

Read the Docs for installation instructions!

TODO

  • frontend
    • webhooks (e.g. pushover notifications) on new/updated mentions, config in site-settings
  • micropub
    • draft flag → draft tag and private acl
    • syndication to other micropub endpoints e.g. for silo.pub
  • webmention
    • link removal webmentions
    • reverify/refetch to update user profiles and stuff
    • moderation tools
      • different modes in config: allow all (except blocked), allow known good domains (e.g. domains replied to), premoderate all, turn off webmention
      • blocking domains
        • sharing block lists
    • deduplicate syndicated replies
    • vouch
    • private webmention

License

This is free and unencumbered software released into the public domain.
For more information, please refer to the UNLICENSE file or unlicense.org.