Mango Umbrella
Mango Umbrella is a self-evolving recursive umbrella system that powers Mango Umbrella.
The umbrella has a goal of making it easy to organize and demonstrate the things I craft. It is hugely inspired by Devine Lu Linvega's amazing work on XXIIVV.
Universes
At the highest level, umbrella has a concept of universes. Each universe represents a product. There are current two universes: Mango Baby, and Umbrella Universe. Not all products have a universe. Different universes might also have unique features:
- Umbrella Universe has posts. Each post is associated with a top-level node.
- Mango Baby has release notes.
Nodes
Each universe also supports two levels of nodes. Nodes can be public or private.
For example, Mango Baby's Support page is a node. Icons is a sub-node under Resources.
Client
Mango Umbrella also has an in-house iOS/macOS client app that manages the content.
Roadmap
- Support native node references in markdown, and have linked nodes auto updated.
- Show linked nodes.
- Support Issues and move task management to Umbrella.
- Associate posts with top-level nodes.
- Support universes on the node level.
- Less restrictions on sub-node slug uniqueness. When querying a sub node, query all nodes with the same slug. If there is a matched sub-node with the same parent, use that. Otherwise ignoring the parent, redirect to the page with matched parent slug.
- Move markdown rendering to server side. Choice of markdown parser: goldmark. Reasons:
- It's adopted by gohugo.io
- It supports custom extensions.
- Support custom
<figure>
syntax for images with captions. This is done via a custom goldmark plugin open sourced as goldemark-figure - Support image management on the client.