-
Notifications
You must be signed in to change notification settings - Fork 1
Editing this Wiki
What this page covers: how to edit, commit, and push these wiki pages — the wiki is a git submodule of the main repo, with its own remote — plus where the page conventions live so your edits stay consistent.
# From inside the main EveryDatabase checkout:
cd wiki # enter the submodule (its own git repo)
# ...edit / add Markdown pages...
git add Building-from-Source.md
git commit -m "Wiki: clarify the Jabel dual-target"
git push # pushes to the wiki remote, not the main repoThat push goes to the wiki repository, not to the main project. The two are linked but versioned separately — see below.
📌 Note — page conventions (page shape, the four callout markers, code rules, English-only) are summarised below — follow them. Caching & References is the gold-standard example page to imitate for voice and depth.
The wiki is the GitHub wiki at https://github.com/EverNife/EveryDatabase.wiki.git, vendored into the
main repo as the wiki/ submodule. From .gitmodules:
[submodule "wiki"]
path = wiki
url = https://github.com/EverNife/EveryDatabase.wiki.gitA submodule is its own independent git repository living inside the parent. Consequences:
-
wiki/has its own history, its ownHEAD, its own remote (the wiki repo). - The main repo doesn't track the wiki's files — it tracks a single pointer: the exact wiki
commit it's pinned to. That's why
git statusin the main repo showswikias a one-line change when the submodule moves, not a diff of the Markdown.
flowchart LR
M["EveryDatabase (main repo)"] -->|"pins commit"| W["wiki submodule<br/>(EveryDatabase.wiki.git)"]
W -->|"git push from inside wiki/"| GH["GitHub wiki remote"]
A fresh clone of the main repo leaves the submodule empty until you initialize it:
git clone https://github.com/EverNife/EveryDatabase.git
cd EveryDatabase
git submodule update --init wiki # populate wiki/ at the pinned commitAlready cloned? git submodule update --init does the same retroactively.
⚠️ Gotcha — a freshly populated submodule is often in detached HEAD (checked out at the pinned commit, not on a branch). Before committing wiki changes, put yourself on the wiki's default branch so the push has somewhere to go:cd wiki && git checkout master(the GitHub wiki's branch). Otherwise your commit lands on a detached HEAD andgit pushhas no upstream.
Everything happens inside wiki/, which is its own repo:
cd wiki
git checkout master # ensure you're on a branch, not detached HEAD
# ...add or edit pages (e.g. New-Page.md)...
git add New-Page.md _Sidebar.md # add the page AND link it in the sidebar
git commit -m "Wiki: add New-Page"
git push # -> the wiki remoteWhen you add a new page, two things must travel with it:
-
The file, named to match its title (
Editing this Wiki→Editing-this-Wiki.md). GitHub maps spaces in the title to hyphens in the filename and in the URL. -
A sidebar entry in
_Sidebar.md— navigation is manual; there is no auto-generated tree. The sidebar is the single source of structure and order. Use the exact titles there in your[[links]].
💡 Tip — wiki-internal links use
[[Page Title]](or[[Custom text|Page Title]]). The title must match the page's filename (hyphenation handled by GitHub). Link liberally — cross-linking is the spine of this wiki.
Pushing inside wiki/ publishes your pages immediately — that alone is enough to update the live
GitHub wiki. If you also want the main repo to pin the new wiki commit (so a clone of the project
checks out these pages), commit the moved submodule pointer in the parent:
cd .. # back to the main repo root
git add wiki # stage the new submodule commit pointer
git commit -m "Bump wiki submodule"📌 Note — these are two separate commits in two separate repos: one inside
wiki/(your actual page edits, pushed to the wiki remote) and, optionally, one in the main repo (just the pointer bump). Forgetting the inner push is the classic mistake — the pointer would reference a commit that only exists on your machine.
Don't reinvent the page style. The authoritative example is:
- Caching & References — the flagship worked example; match its voice, callout use, and See-also block.
The conventions in brief:
-
Page shape: a one-line "what this page covers", then the smallest runnable example, then concept
expansion with focused snippets, gotchas inline, and a
## See alsoblock of[[links]]. -
Callouts (exact markers):
> 💡 **Tip** — …,> 📌 **Note** — …,> ⚠️ **Gotcha** — …,> 🧭 **Decision** — …. - Versions live in exactly one page — Dependency Versions & Overrides. Pin artifact coordinates to 1.0.4, but never restate a dependency version elsewhere; link there instead.
- English only, matching the codebase convention.
- Building from Source — the build the wiki documents.
- Running the Tests · Project Layout — the sibling Contributing pages.
- Dependency Versions & Overrides — the single home for version numbers.
EveryDatabase · Home · made by Petrus Pradella
Getting Started
Core Concepts
Working with Data
Backends
Manager Module
- Caching & References
- Typed References (Ref)
- Caching Managers
- Cache Policies & Freshness
- Cross-Process Cache Sync
- One Entity, Many Databases
Operations
Advanced
Reference
Contributing