5.3 KiB
CowYo
Collections of Organized Words You Open
This is a self-contained notepad webserver that makes sharing easy and fast. The most important feature here is simplicity. There are many other features as well including versioning, page locking, self-destructing messages, encryption, math support, syntax highlighting, command line support, content-delivery, and listifying. Read on to learn more about the features. CowYo is also Open Source.
Features
Simplicity. The philosophy here is to just type. 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. 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. To quickly link to /view pages, just use [[AnythingYouWant]].
Listifying. 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 struck through and moved to the end. This is helpful if you write a grocery list and then want to easily delete things from it.
Page locking. Pages can be locked by providing a password to prevent further editing. The whole version tree will still be available. Note: This is not available for list mode.
Automatic 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).
Self-destructing messages. You can write a message that will delete itself when a user loads it (in any view). Useful for transmitting sensitive information. To use, simply add a line somewhere that says only "self-destruct".
Security. HTTPS support is provided and everything is sanitized to prevent XSS attacks. Though all URLs are publicly accessible, you are free to obfuscate your website by using an obscure/random address (read: the site is still publicly accessible, just hard to find!). In addition to TLS support, you can PGP-encrypt your messages using a passphrase (Note: This will delete the version tree).
Syntax highlighting. If you use a coding extension (e.g. .py, .md, .txt, .js, ...) then you'll automatically see syntax highlighting and line numbers.
CLI tools. Want to upload/download from the command line? Its super easy. Upload/download files using curl with a simple command:
$ echo "Hello, world!" > hi.txt
$ curl -L --upload-file hi.txt cowyo.com
File uploaded to http://cowyo.com/hi.txt
$ curl -L cowyo.com/test.txt
Hello, world!
or just skip the file-creation step and let cowyo figure out a name for you:
$ echo "Wow, so easy" | curl -L --upload-file "-" cowyo.com
File uploaded to http://cowyo.com/CautiousCommonLoon
$ curl -L cowyo.com/CautiousCommonLoon
Wow, so easy
Keyboard Shortcuts. Quickly transition between Edit/View/List by using Ctl+Shift+E to Edit, Ctl+Shift+Z to View, and Ctl+Shift+L to Listify.
Admin controls. The Admin can view/delete all the documents by setting the -a YourAdminKey when starting the program. Then the admin has access to the /ls/YourAdminKey to view and delete any of the pages.
Math support. Math is supported with Katex using $\frac{1}{2}$ for inline equations and $$\frac{1}{2}$$ for regular equations.
Contact
Any other comments, questions or anything at all, just tweet me @zack_118
Have fun.
Powered by Raspberry Pi, Go, and NGINX










