~gpanders/wk

Command line tool to manage a personal wiki

f8a7ff4 Make tags an array in template

~gpanders pushed to ~gpanders/wk git

2 months ago

b87dc11 Make tags an array in template

~gpanders pushed to ~gpanders/wk git

2 months ago

#wk

Command line tool to manage a personal wiki.

#Introduction

wk is a command line tool to manage a personal wiki. By design, the wiki is minimal and made up of simple plain text files. It is designed to be used solely in the terminal (it has no GUI or web interface) and to be synchronized using external tools (e.g. version control or a syncing service such as Nextcloud or Syncthing).

New wiki pages are given a .md extension, although there is nothing enforcing that they be written in Markdown syntax. New pages are also given a YAML metadata template, which is used by wk to extract the wiki page title and tags, which is used by various subcommands.

Example:

---
title: Some wiki page
date: July 26, 2020
tags: example
---

This is an example of a wiki page.

See examples here.

#Installation

Download and extract a release to the location of your choosing.

#Homebrew

If you use macOS and Homebrew you can use

brew install --HEAD gpanders/tap/wk

#Build from source

Install nim. After cloning this repository, build wk with

make

This will build wk in your current directory. You can install wk to the /usr/local/bin/ with

make install

To specify a different installation prefix, set the prefix variable:

make prefix=~/.local install

#Usage

Notes are stored in the directory represented by the environment variable $WIKI_DIR. If $WIKI_DIR is unset, it defaults to $HOME/.local/share/wk/.

Notes are created with

wk new TITLE

The file name of the new note will be the given title prepended with a unique ID and a .md extension. The title can contain spaces, but be sure to wrap it in quotes so your shell doesn't split it.

To list all of your existing notes, use

wk list

This will print the title of each existing note along with its ID.

For a full list of available commands, use wk help. For more information on a specific command, use wk help COMMAND.