Write the...
Python JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
aa_datafile.py
aa_formboiler.py
aa_macro.py
aa_sqlite.py
aa_tablelib.py
aa_webpage.py
changelog.md
citesmod1.dsys
doc_system.cfg
doc_system.py
figurmod1.dsys
glossmod1.dsys
html401.dsys
indexmod1.dsys
mousetrap.js
notesmod1.dsys
npbar.dsys
tocmod1.dsys
todo.md
users-guide.md

README.md

wtfm

This repo shares my online documentation system, wtfm, which utilizes my aa_macro project. wtfm is fully operational and I am using it for a number of projects, so it's pretty stable.

The documentation is here. Unfortunately I couldn't do the documentation here on Github, because they offer no support for repo-centric syntax highlighting, and they won't accept a generally available syntax highlighting definition until hundreds of repos use it. Fortunately, in this case, I'm documenting an actual documentation system, so providing my own documentation serves as a lovely demo.

About

wtfm resides on a *NIX web server. It is CGI that allows you to create and maintain online (HTML, most likely, although it certainly isn't limited to HTML) documentation right on the server, working in your browser. It is single creator, multiple client software; by this I mean that document creation is designed to be a private undertaking by the documentation author as a security matter, ideally via https, while the resulting documentation itself can and most likely will be shared; wtfm can run in one location, and generate output from any project into any directory you wish on a per-project basis (assuming you've set up your filesystem permissions accordingly).

Features

  • Password and IP security
  • Hugely customizable
  • Extensive macro capability
  • Styles allow global document changes with an absolute minimum of effort
  • Full access to all of HTML and CSS
  • Handles multiple documentation undertakings
  • Global (all projects), doc-wide (all pages) and page-Local preset styles
  • External document and style includes
  • Glossary generation
  • Multi-level TOC generation
  • Index generation
  • HTML Tables
  • HTML Lists
  • Variables
  • Counters
  • Data lists
  • Data dictionaries
  • Stack operations
  • Math
  • Base conversion
  • Word wrapping
  • Text alignment for fixed width fonts
  • Conditional Content
  • Character mapping
  • Data Sorting
  • Word expansion
  • Various word casing modes
  • Various numbering schemes (Roman, etc.)
  • Footnote generation
  • Endnote generation
  • Images
  • Links
  • Side blocks (left and/or right)
  • Note blocks
  • Warning blocks
  • Caution blocks
  • Forward and Backward references (multi-pass link resolution)

...plus more

Examples

Examples of custom doc conventions

Examples of custom doc conventions

Examples of custom blocks

Examples of custom blocks

Example of content using some of these features

Example of document content

Example of content using images

Example of images

Credit

Author

Ben, AA7AS / fyngyrz

Name

Credit for the name wtfm goes to xxxJonBoyxxx on Slashdot. He just threw it out like it should have been obvious. It wasn't. But it is now!

mousetrap.js

I include, for your convenience, mousetrap.js by Craig Campbell. This is a lovely little bit of cross-browser compatible javascript that allows, among other things, reliable keyboard navigation of documents. I use it in the wftm documentation, and I highly recommend you do as well. There's a page in the manual about how to use it here.