Skip to content

Feature sheet

T342 edited this page Jun 14, 2026 · 1 revision

Spectre feature sheet - This is work in progress.

Hello there! This is a draft and is the first revision of the feature sheet, its not concrete yet.

Overview

The spectre wiki project is a spiritual successor to wiki.js.

Why make this project?

The spectre wiki project is building off the current needs of a few things: Most wiki technologies are outdated and use PHP. Though, while next-generation wikis exist, the only large-scale one is wiki.js, and is currently in a state of life support.

Furthermore, lots of people like to collaborate on their work, like google docs. But there is also another flaw with large knowledge bases: they eventually get knowledge rot and become outdated overtime.

Spectre aims to solve these issues with a few goals:

  • Make a very fast, easily accessible, collaborate and modular wiki technology.
  • Keep this technology open for everyone with the GPL-3.0 license.
  • And in the far future, make a wiki that is able to adapt, help, and patch your knowledge base, weather be it a department wiki, a large fandom of lore, or the information you wrote yourself.

Crates

  • spacetimeDB - database
  • leptos - front-end web UI framework - https://leptos.dev/
  • axum - web directory/slugs

FEATURES - Basics

  • Full markdown, evolving into SpecMarkUp.
  • full image capabilities
  • real-time collaborative editing (thanks to the insane speeds provided by spacetime DB)
  • web alerts for the admin and operators
  • complete leptos UI
    • use Axum for slug editing on pages
  • ready-to-deploy pod man and docker containers.
  • add a banner system for the system and APIs to use, with any color and any text, plus a small icon slot.

Plugins. AKA; "Pallets"

Since spectre is written in rust, plugins will be added as "pallets". The plugin, as a pallet of code, will interact with the spectre API. The API will call for a trigger in the pallet, then the pallet will react accordingly, and return another event to the API.

The plugin is quite literally a pallet of code being loaded into the spectre instance, then being called to and read from. its not added to the system, but to a shelf where they get access.

Features - Core, modules, or other - sketch

SpecMarkUp

SpecMarkUp, (or specmark, whatever u wanna call it) aka spectre markup, is an advanced version of Markdown. It includes extra features for intentions, raised and lowered characters, and Unicode characters... Etc, without requiring the support of html or an edit bar.

Basic syntax

The basic syntax will remain the markdown standard.

Advanced syntax

The advance syntax is for the extra functions. WORK IN PROGRESS

  • todo, draft unique syntax

Word filter - module

Since some wikis like Wikipedia have hard requirements on how to write pages, or maybe some wikis dont like some words, add a rule-based soft filter that warns the writer they may be breaking a rule. Most wikis, for example, don't say "we". So this could be added as a soft alert.

Link checker - ADD INFO

Since Wikipedia requires links to state facts, there should be a link checker to:

  1. mark the link as a supporting evidence
  2. make sure the link is still operational. if the link dies, then a warning will show on the page.

Multi-page and multi-domain - ADD INFO

Wiki.js 3.0 had an upcoming feature to make multiple wikis, in one wiki.js installation.

Core feature: Stale alerts - ADD INFO

If a page has been unedited or unviewed for too long, the page will gain a stale banner warning readers that the information may be outdated.

Source of truth checker (SOTC) - module

Note: SOTC might actually be pointless, But it will be an optional feature for those lore bases n stuff.
The single source of truth checker is an internal, automated tool that checks the reliance of information, and an extension of [[#Link checker]].

upon the creation of a page, and if a page has no links, the editor will ask the editor if the page is a First source of truth. But, If a page has a few links, the editor will ask if it is a Second source of truth. any SOT will satisfy the [[#Link checker]], as SOT pages act just like a normal source of truth link from an external party.

example: Warhammer 40,000 lore, having the emperor of mankind being a first source of truth, and the golden throne and holy Terra being a second source of truth.

Specifications

Classes

SOT's have generic classes, and are optional. If a class is made, they are automatically generated as a branch of the main SOT. An SOT by itself does NOT have a class appended to it.

Example

Holy terra - generic SOT link, not different. Holy terra::Community-rewrite - A branched version of the SOT, now appended with a [[#Classes|class]].

Source of truth ranking

Sources of truth only have 2 ranks, and either of them have requirements to be considered as such.

First Source of truth

A first source of truth is a foundational document that has essential or critical information that cannot be verified anywhere else. As since it is the ONLY source of truth on the topic.

Upon the editing of the page, and if the page exceeds;

  1. Greater then 1000 words, or;
  2. Has more then 3 pages linking to it. The editor will suggest converting the page to a First source of truth.

Alongside, specific criteria must be met:

  1. No Sources of truth of any variance is linked in the page.
Second source of truth

A second source of truth is another foundational document that is essential or critical, and contains vital information that is only built upon a [[#First Source of truth]].

Upon editing a page, and a First source of truth is found, the editor will suggest the user to convert the page to a Second source of truth. Though, If an external source of truth OR another second source of truth is entered, then this suggestion is not available.