TechArticle

wiki install

Infobox

headline
wiki install
description
Fetch and lock external data sources declared in wiki.yml.

Fetch external data sources (git repositories with wiki pages or RDF data), resolve commit SHAs, and pin them in wiki.lock. Without arguments, installs all sources declared in the sources: block of wiki.yml. With a URL, adds the source to wiki.yml first, then fetches and locks it.

You can use GitHub owner/repo shorthand instead of a full URL — EthanThatOneKid/solar-system-wiki expands to https://github.com/EthanThatOneKid/solar-system-wiki.git automatically.

Transitive dependencies are resolved recursively. wiki install reads each cloned source's own wiki.yml to discover its sources: block, fetches those transitive sources, and locks them too — forming a dependency tree. Circular dependency chains are detected and raise an error. If two sources declare the same dependency name with different URLs or refs, install fails with a conflict error.

Usage

wiki install
wiki install https://github.com/EthanThatOneKid/solar-system-wiki.git
wiki install https://github.com/EthanThatOneKid/solar-system-wiki.git#v0.1.0
wiki install EthanThatOneKid/solar-system-wiki

Options

Flag Description
URL Git repository URL to add and install. Supports #ref pinning (branch, tag, or commit). If omitted, installs all sources from wiki.yml.

Lockfile

wiki install produces wiki.lock in the same directory as wiki.yml. This machine-authored JSON file records the resolved commit SHA, requested ref, and fetch timestamp for each source. Check it into version control so builds are reproducible — the lockfile is the source of truth for which version of each source is used.

Source cache

Cloned repositories are cached under .wiki/sources/<name>/repo/ relative to the wiki config root. wiki install always fetches the latest remote refs (shallow clone, --depth 1) so it stays fast.

.gitignore

The .wiki/ source cache directory (and the _site/ build output) should not be committed to version control. wiki init scaffolds a .gitignore that includes both directories.

ContentsOn this page

[hide]

Backlinks