Former-commit-id: dcaa24a8b3ad1061e030a199114e37098d7754d1 [formerly 465a8828455861be4eddc8f2b40fd3479f7c8ad0] [formerly a4506a805eccfdb4a06bca1d6b07de52e10cc2a1 [formerly bbd1c22a8da4d25d2a6d2c25831f86a0c6f5074b [formerly9660d10a3b]]] Former-commit-id: acd39c54ddbe0ab880be698e6d4e66508e4e915a [formerly 0be1de2e137cf57930b3b7ca2dd3903ade96d521] Former-commit-id: ef6be0d037258783b9b054e092ce2d0efceb1d6e Former-commit-id:2c5d4e1692
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










