1
0
mirror of https://github.com/schollz/cowyo.git synced 2023-08-10 21:13:00 +03:00
cowyo/README.md
Zack Scholl b9047a98cb Updated readme
Former-commit-id: f4f3048f885661aaa305075dba4d3b6c216902a3 [formerly a7578f031252ada516669d02408f12d40640b213] [formerly 0e8f43732b9e0f7cc296a44a011c210f2325bf3c [formerly 6260e38ec0b0db3ec73e48d8d837a618fe4ffb95 [formerly 4f1ed7f932]]]
Former-commit-id: bccf16fea924b49f2ffe849e08e655a2434cfd9e [formerly 46202ff90972e4608cacc0047d38f662232e876e]
Former-commit-id: 0f856ba6d91b9e2ec4a0d177b0ab4fd57d283ba0
Former-commit-id: 909db1e871
2016-02-10 09:01:20 -05:00

4.7 KiB

Logo

AwwKoala

A Websocket Wiki and Kind Of A List Application

Version 1.0 Go Report Card Join the chat at https://gitter.im/schollz/AwwKoala

This is a self-contained wiki webserver that makes sharing easy and fast. You can make any page you want, and any page is editable by anyone. Pages load instantly for editing, and have special rendering for whether you want to view as a web page or view as list.

Basics

To jot a note, simply load the page at / and just start typing. No need to press edit, the browser will already be focused on the text. No need to press save - it will automatically save when you stop writing. The URL at / will redirect to an easy-to-remember name that you can use to reload the page at anytime, anywhere. But, you can also use any URL you want, e.g. /AnythingYouWant.

Views and Lists

All pages can be rendered into HTML by adding /view. For example, the page /AnythingYouWant is rendered at /AnythingYouWant/view. You can write in HTML or Markdown for page rendering. Math is supported using Katex. Base64 images are supported in img tags as well.

If you are writing a list and you want to tick off things really easily, just add /list. For example, after editing /grocery, goto /grocery/list. In this page, whatever you click on will be striked through and moved to the end. This is helpful if you write a grocery list and then want to easily delete things from it.

Versioning

All previous versions of all notes are stored and can be accessed by adding ?version=X onto /view or /edit. If you are on the /view or /edit pages the menu below will show the most substantial changes in the history. Note, only the current version can be edited (no branching allowed, yet).

Disclaimer

Be cautious about writing sensitive information in the notes as anyone with the URL has access to it. For more information, or if you'd like to edit the code, use the github.

Contact

If you'd like help or find a bug, please submit an issue. Any other comments, quetions or anything at all, just tweet me @zack_118

Install

To get started on your local network just do:

git clone https://github.com/schollz/awwkoala.git
cd awwkoala
make
./awwkoala -p :8001 LOCALIPADDRESS

and then goto the address http://LOCALIPADDRESS:8001/

Production server

I recommend using NGINX as middleware, as it will do caching of the static files for you. There is an example NGINX block in install/. To automatically install, on Raspberry Pi / Ubuntu / Debian system use:

git clone https://github.com/schollz/awwkoala.git
cd awwkoala
nano Makefile <--- EDIT Makefile to include YOUR EXTERNAL ADDRESS
make && sudo make install

Now the program starts and stops with

sudo /etc/init.d/AwwKoala start|stop|restart

Edit your crontab (sudo crontab -e) to start on boot:

@reboot /etc/init.d/AwwKoala start

Usage

$ awwkoala --help
awwkoala: A Websocket Wiki and Kind Of A List Application
run this to start the server and then visit localhost at the port you specify
(see parameters).
Example: 'awwkoala localhost'
Example: 'awwkoala -p :8080 localhost'
Example: 'awwkoala -db /var/lib/awwkoala/db.bolt localhost'
Example: 'awwkoala -p :8080 -crt ssl/server.crt -key ssl/server.key localhost'
Options:
  -a string
        key to access admin priveleges (default no admin priveleges)
  -crt string
        location of ssl crt
  -db string
        location of database file (default "/home/mu/awwkoala/data.db")
  -httptest.serve string
        if non-empty, httptest.NewServer serves on this address and blocks
  -key string
        location of ssl key
  -p string
        port to bind (default ":12312")

If you set the admin flag, `-a` you can access a list of all the current files by going to `/ls/WhateverYouSetTheFlagTo`.