Categorygithub.com/jonhanks/wiki
modulepackage
0.0.0-20141212082340-e2cf42e180da
Repository: https://github.com/jonhanks/wiki.git
Documentation: pkg.go.dev

# README

wiki

A simple Go based wiki. This is being done because each OS X upgrade breaks my apache (and thus my moin moin install) and to provide a test project for using some go toolkits and libraries (Gorilla web toolkit) and GoConvey).

Basic goals:

  • Simple markup (initially markdown)
  • Simple backend(s)
    • Memory based
    • Flat file possibly as this is readable when the system dies
    • Sqlite - not yet implemented

Current Status:

  • Basic Wiki features work

    • Create/edit pages
    • Automatically setup links between pages
    • Pages have a history
    • Old page revisions can be viewed
    • Attachments and basic image support works
  • Ideas being tested

    • Using middleware as a data/compute pipeline
      • This should make the handlers very minimal and make it easier to do a REST api and a standalone non-js interface as well.

Todo

  • Users
  • Modular authentication
  • LMDB/BoltDB backend
  • categories/tags/...
  • typing in some scripting/templating for use in pages ?
  • make some decent page templates
  • make a simple REST api
    • Currently it is a simple html and form based system, simple is good, it doesn't break. But REST api's are simple and open up possibilties.

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Retreive the current page associated with the request.
Retreive the request paramters from the context.
CurRev retrieves the current revision for this request from the context.
No description provided by the author
No description provided by the author
Is the given string a WikiWord.
No description provided by the author
No description provided by the author
The MuxVarMiddleware is used to decouble the rest of the middleware/handlers from the mux router it simply copies mux positional values into a known location in the context.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
Lexer is heavily based on the Lexer presented in Rob Pike's Lexical Analyzer in Go talk of 2010.
This is a request context of sorts, bring it all to one place so that it bacn be accessed in each handler.
Hold basic user information.

# Interfaces

No description provided by the author
Generic interface into the database.
No description provided by the author

# Type aliases

No description provided by the author