1
0
mirror of https://github.com/schollz/cowyo.git synced 2023-08-10 21:13:00 +03:00
Go to file
Zack fb6405ba1b
Merge pull request #109 from DanielHeath/fix-comment
Fix comment: Upload the right binary
2018-01-27 07:56:16 -05:00
encrypt Moved the encryption to its own package 2017-06-29 15:24:34 -06:00
static Updated logo and README 2017-03-23 19:23:33 -06:00
templates Use a struct for related data instead of four separate arrays 2018-01-18 17:08:04 +11:00
vendor Update all dependencies to latest 2018-01-24 08:45:42 +11:00
.gitattributes Create .gitattributes 2016-03-15 20:51:09 -04:00
.gitignore Fixup gitignore 2018-01-22 21:04:15 +11:00
.travis.yml Update .travis.yml 2017-03-23 19:30:24 -06:00
bindata.go Use a struct for related data instead of four separate arrays 2018-01-18 17:08:04 +11:00
docker-compose.yml Improvements for Dockerfile; docker-compose file added 2017-10-11 00:26:33 -04:00
Dockerfile Improvements for Dockerfile; docker-compose file added 2017-10-11 00:26:33 -04:00
Gopkg.lock Update all dependencies to latest 2018-01-24 08:45:42 +11:00
Gopkg.toml Vendoring 2017-10-03 14:43:55 -04:00
handlers.go Add password to access wiki 2018-01-21 12:09:16 +11:00
LICENSE Start again from scratch 2017-03-22 20:49:55 -06:00
listify.go List works 2017-03-22 11:19:39 -06:00
main.go Add password to access wiki 2018-01-21 12:09:16 +11:00
Makefile Upload the binary you built (ok, it's just a comment) 2018-01-27 20:27:33 +11:00
migrate.go migrate: return on error (esp. Save) 2017-10-02 13:55:48 +02:00
page_test.go Use a struct for related data instead of four separate arrays 2018-01-18 17:08:04 +11:00
page.go Sort 'ls' page by recent 2018-01-18 17:39:05 +11:00
README.md Update the readme 2017-11-04 16:15:57 -06:00
utils_test.go Moved the encryption to its own package 2017-06-29 15:24:34 -06:00
utils.go Allow insecure markup (for private wikis amongst friends) 2018-01-18 20:50:55 +11:00

linkcrawler
Build Status Version

A feature-rich wiki for minimalists

cowyo is a self-contained wiki server that makes jotting notes easy and fast. The most important feature here is simplicity. Other features include versioning, page locking, self-destructing messages, encryption, and listifying. You can download cowyo as a single executable or install it with Go. Try it out at https://cowyo.com.

There is now a command-line tool, cowyodel to interact with cowyo and transfer information between computers with only a code phrase: schollz/cowyodel.

Getting Started

Install

If you have go

go get -u github.com/schollz/cowyo/...

or just download the latest release.

Run

To run just double click or from the command line:

cowyo

and it will start a server listening on 0.0.0.0:8050. To view it, just go to http://localhost:8050 (the server prints out the local IP for your info if you want to do LAN networking). You can change the port with -port X, and you can listen only on localhost using -host localhost.

Running with TLS

Specify a matching pair of SSL Certificate and Key to run cowyo using https. cowyo will now run in a secure session.

N.B. Let's Encrypt is a CA that signs free and signed certificates.

cowyo --cert "/path/to/server.crt" --key "/p/t/server.key"

Running with Docker

You can easily get started with Docker. First pull the latest image and create the volume with:

docker run -d --name cowyo -p 8050:8050 schollz/cowyo

Then you can stop it with docker stop cowyo and start it again with docker start cowyo.

Server customization

There are a couple of command-line flags that you can use to make cowyo your own micro-CMS.

cowyo -lock 123 -default-page index.html -css mystyle.css -diary

The -lock flag will automatically lock every page with the passphrase "123". Also, the default behavior will be to redirect / to /index.html. Also, every page that is published will automatically redirect to /mypage/read which will show the custom CSS file if it is supplied with -css. The -diary flag allows you to generate a time-stamped page instead of a random named page when you select "New".

Usage

cowyo is straightforward to use. Here are some of the basic features:

Publishing

If you hover the the top left button (the name of the page) you will see the option "Publish". Publishing will add the page to the sitemap.xml for crawlers to find. It will also default that page to go to the /read route so it can be easily viewed as a single page.

View all the pages

To view the current list of all the pages goto to /ls.

Editing

When you open a document you'll be directed to an alliterative animal (which is supposed to be easy to remember). You can write in Markdown. Saving is performed as soon as you stop writing. You can easily link pages using PageName as you edit.

Editing

History

You can easily see previous versions of your documents.

History

Lists

You can easily make lists and check them off.

Lists

Locking

Locking prevents other users from editing your pages without a passphrase.

Locking

Encryption

Encryption is performed using AES-256.

Encryption

Self-destructing pages

Just like in mission impossible.

Self-destructing

Development

You can run the tests using

$ cd $GOPATH/src/github.com/schollz/cowyo
$ go test ./...

Any contributions are welcome.

License

MIT