WikiJS

Wiki software built on [[NodeJS]]. Has great DeployToHeroku support

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!

Tips

Keyboard Shortcuts

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

Footnotes

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
note.]

Bugs

Task list items break all other formatting

https://github.com/Requarks/wiki/issues/1908

- [ ] Task list [link](/path/to/page)
- [ ] Task next https://example.com
- [ ] 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

https://github.com/Requarks/wiki/issues/1358

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.

Tag-linking

#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:

---
title:
description:
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).

Notes mentioning this note