tildewiki

command module
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2019 License: GPL-3.0 Imports: 16 Imported by: 0

README

Tildewiki Go Report Card GolangCI Travis CI

A wiki engine designed around the needs of the tildeverse

v0.5.3

A ton of refactoring has gone into v0.5. Here are some noteworthy changes:

  • Various performance improvements
  • Index page is now being cached
  • Refresh interval for the index page is configurable
  • Logging can be output to stdout (default), to a file, or to /dev/null for some peace and quiet.
  • Fixed an annoying bug where a CSS change in tildewiki.yml wasn't reflected without a restart
  • Code readability improvements

I've been stress testing it with tsenart/vegeta. With all the internal changes in v0.5, it can handle a lot of requests before performance starts to degrade.

Development Branch

Contains all the new changes going into the next version

Currently powering the tilde.institute wiki:

Features

  • Speed is a priority
  • Mobile-friendly pages
  • Markdown!
  • Uses kognise/water.css dark theme by default (and includes as an example, a simple but nice local CSS file)
  • YAML configuration
  • Automatically reloads config file when a change is detected.
  • Generates list of pages, then places at an anchor comment in the index page
  • Caches pages to memory and only re-renders when the file changes
  • Very configurable. For example:
    • URL path for viewing pages
    • Directory for page data
    • File to use for index page
    • Logging output (file, stdout, null) and file location
  • Runs as a multithreaded service, rather than via CGI
  • Easily use Nginx to proxy requests to it. This allows you to use your existing SSL certificates.
Notes
  • Builds with Go 1.11 and Go 1.12. Not tested with any other version.
  • Tested on Linux (Ubuntu 18.04LTS, Debian 9) and OpenBSD 6.4
  • If you have access to other environments and can test, please let me know. It will be much appreciated.

For tildeverse projects, we tend to use a PR workflow. For example, wiki pages are submitted to the repo via pull request. That's what I'm initially designing this around. I will likely add authentication and in-place page editing last, after everything else is done, including unit tests.

Uses a patched copy of russross/blackfriday (gopkg) as the markdown parser. The patch allows injection of various <meta.../> tags into the document header during the markdown->html translation.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL