Skip to main content

Personal wiki software for busy programmers

Project description

Personal wiki software for busy programmers.

Features

  • Wiki pages written in Markdown
  • Inline citations with auto-generated bibliography
  • Links between wiki articles using regular Markdown link syntax
  • Inline and display math with LaTeX

Installation

Make sure you have Python 3.6 or higher and git installed.

Clone the repository:

$ git clone https://github.com/iafisher/wiki.git

Make a directory for your wiki somewhere else and create a wiki page:

$ mkdir path/to/wiki
$ cd path/to/wiki
$ echo "Git is a distributed version-control system." > git.md

Now, return to the repository directory and run the wiki server:

$ cd path/to/repo
$ WIKI_HOME=path/to/wiki ./wiki

The wiki script will open up the wiki home page in your default browser.

For convenience, it's recommended that you (a) set the environment variable in your shell's start-up script (for Bash users, add export WIKI_HOME=path/to/wiki to your .bashrc), and (b) add the wiki script to your PATH (and wikicite and wikiserver, if you like) so you can invoke it from anywhere.

Once you've set it up, wiki can be invoked in a number of ways:

# Open the home page:
$ wiki

# Open the page called `geometry`. It may be at `$WIKI_HOME/geometry.md` or any
# sub-directory, e.g. `$WIKI_HOME/math/geometry.md`:
$ wiki geometry

# Open every page that contains the keyword "Habsburg":
$ wiki -s Habsburg

You can use wikiserver to explicitly start and stop the web server:

$ wikiserver
Listening on port 8181.

wikicite generates a bibliography entry given a URL:

$ wikicite "https://www.nytimes.com/2019/11/19/dining/gotham-bar-and-grill-review-pete-wells.html"
  {
    "kind": "web",
    "title": "Changing Chefs, Gotham Bar and Grill Starts a New Era",
    "url": "https://www.nytimes.com/2019/11/19/dining/gotham-bar-and-grill-review-pete-wells.html",
    "authors": [
      "Pete Wells"
    ],
    "publication": "*The New York Times*",
    "date": "2019-11-19"
  }

Non-standard Markdown extensions

The wiki articles are written in Markdown using a couple of non-standard extensions.

You can create an inline citation with the syntax {{my-citation-key}}, where my-citation-key is a key in the bibliography file, $WIKI_HOME/bib.json. The inline citation will be an integer corresponding to an entry in the bibliography generated at the end. Typically, you will want to write ^[{{my-citation-key}}] to create a bracketed superscript citation. You can also do {{full:my-citation-key}} to generate the full bibliography entry inline.

You can link to another wiki page with [display text](wiki:page) where page is the relative path to the file.

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for iafisher-wiki, version 0.1.dev3
Filename, size File type Python version Upload date Hashes
Filename, size iafisher_wiki-0.1.dev3-py3-none-any.whl (192.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size iafisher-wiki-0.1.dev3.tar.gz (188.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page