Boris Mann

Open Source. Community. Decentralized Web. Building dev tools at Fission. Cooks & eats.



  • Last Edit: September 28, 2020

Various thoughts on wiki software
Used to run this site – see [[WikiJS]].

Licensed as Business Source License – which I had not heard of. Documenting under [[Licensing]]
My fork:, setup to easily deploy to Heroku (not updated to recent head, yet). The app.json did get merged, so you should use the main version.
The other issue I had, with having mult...
software built on NodeJS. Has great DeployToHerokuDeployToHeroku
[[Heroku]] has a “Deploy to Heroku” button that lets people deploy apps using just a browser and the Heroku dashboard.
Creating a ‘Deploy to Heroku’ Button
The two base requirements are that the source code is on [[Github]] and that it contains an app.json file.

app.json schema is


An open source, modern and powerful wiki app built on Node.js, Git and Markdown. Can be maintained through a git repo (public or private, Github, Gitlab, etc) with standard git commits, as well as allowing edits through the front end, which writes back to the git repo.

Runs this site!


Keyboard Shortcuts

CMD + S on Mac (and iOS with external keyboard) will save the page you are working on.


Uses Markdown-It footnotes

Here is a footnote reference,[^1] and another.[^longnote]

[^1]: Here is the footnote.

[^longnote]: Here's one with multiple blocks.

    Subsequent paragraphs are indented to show that they
belong to the previous footnote.

Inline Footnote

Here is an inline note.^[Inlines notes are easier to write, since
you don't have to pick an identifier and move down to type the


Task list items break all other formatting

- [ ] Task list [link](/path/to/page)
- [ ] Task next
- [ ] Task the **third**

(I can’t show this live because it screws up formatting for the whole rest of the page)

Moving files in Git

Still trying to confirm this as I mass edit my files locally in git. May be “fixed” if I know which cache button to purge.

Wish List

Wiki-linking of pages

Some way to indicate that a page doesn’t exist yet, so that you can come back and create it. Double Square Brackets might get used, or really, just single [square brackets] which might be more native

Also, a global list of linked-to-but-not-created pages. I don’t know what the common term for this is.


#tips links to the tips tag automatically.

(Discourse does this for categories and tags)

Count and store all of the external links. Have a page that shows all of the external links, how many times they are linked from a page

Show backlinks to pages that link to the current page

OEmbed support

Rich embeds of links

Check off “checkmark” lists without full page edit

You can make checkmark lists, but you have to go into full edit mode to “check them off”. Either a separate permission, or just link it to page permission and allow checking them off through the front end.

Global view of all un-checked and checked checkmarks, filterable by tag.

Allow for in-page view / edit of frontmatter

Currently, front matter is written back correctly to the git repo, but you need to use the UI to edit all of the options.

As an option, enable the ability to display the frontmatter inline.

For reference, the frontmatter includes:

published: true
date: 2020-05-20T04:02:00.507Z
tags: comma, separate, can use spaces, even

Mobile Editing Interface

Probably not going to happen with the full app, but there is a GraphQL endpoint.

The project itself could ship with /m/, with a mobile optimized interface. Specifically for editing, adding notes, etc.

Syncing the entire git repo to your phone and searching / editing that “works”, too :)

RSS Feed

A feed of (public) updates

Bonus: per-tag feeds, per-“folder” feeds

Auto-save mode

I have several pages that I keep open, and edit over time, especially my worklog pages. Default to an auto-save mode, which saves automatically (at the very least, locally to the DB).