# Microcosm

Microcosm is a tiny lightweight micropub endpoint written in Python to support my website Brainstorm.

# Intro to Microcosm

<p class="callout warning">Warning: This page is very much a work in progress</p>

Microcosm is a tiny and lightweight micropub server written in python to support a static site powered by[ Hugo](https://gohugo.io/)

It works by accepting micropub payloads and storing them in a Git repository that backs a hugo site. A CI pipeline can then be used to update the live site.

Currently Microcosm supports [Gitea](https://github.com/go-gitea/gitea) API but the intention is that it should support other Git providers (or possibly other VCS systems).

#### Features

- Authentication via[ IndieAuth](https://indieauth.net/) protocol and public [Token Endpoints](https://tokens.indieauth.com/)
- Micropub publication that is compliant with [micropub.rocks](https://micropub.rocks/) test suite

#### IndieWeb post types supported

- [x]  Like
- [x]  Bookmark
- [x]  Reply
- [x]  Note
- [x]  Article
- [ ]  Repost
- [x]  Watch
- [ ]  Listen
- [ ]  Read
- [ ]  RSVP

# Planning

- Move configuration out into yaml file - the mishmash of environment variables is pretty gross
- Add an FTP option for photo upload
- Add simple UI for obtaining a token