2013-08-25 23:21:39 +02:00
|
|
|
#+STARTUP: showall
|
|
|
|
|
2013-08-01 01:24:32 +02:00
|
|
|
Quickly share bits of code, screenshots or whatnot with some friends.
|
|
|
|
Easily delete them too.
|
|
|
|
|
|
|
|
* Setup
|
|
|
|
|
|
|
|
Hypo is written in [[http://hylang.org][hy]]. Which is a Lisp and Python thrown together.
|
|
|
|
This doesn't matter much, it should function as a regular python
|
|
|
|
module.
|
|
|
|
|
|
|
|
** Requirements
|
|
|
|
|
|
|
|
Hypo has the following requirements:
|
|
|
|
|
|
|
|
- [[http://hylang.org][hy]] :: The language.
|
|
|
|
- [[http://webpy.org][web.py]] :: The Python web framework.
|
|
|
|
- [[http://postgresql.org][Postgresql]] :: The database.
|
|
|
|
- [[http://initd.org/psycopg/][psycopg2]] :: The database connector.
|
|
|
|
|
|
|
|
Besides these it also requires everything needed to run web.py
|
|
|
|
applications using your favorite webserver.
|
|
|
|
|
|
|
|
* Usage
|
|
|
|
|
|
|
|
Once setup it will not show much of anything, first you'll have to
|
|
|
|
upload something.
|
|
|
|
|
|
|
|
** Uploading
|
|
|
|
|
|
|
|
Uploading is done with the ~PUT~ HTTP method. An example with curl:
|
|
|
|
|
|
|
|
: # curl --upload-file README.org http://yourserver.example.com/ 2>/dev/null
|
|
|
|
: http://yourserver.example.com/abcdef1
|
|
|
|
|
|
|
|
After uploading a file to the server it will respond with the url
|
|
|
|
of your newly uploaded file. If you browse to this URL using your
|
|
|
|
favorite browser you will find a page showing the file. For text
|
|
|
|
files it will try to provide some syntax highlighting, for certain
|
|
|
|
types of images (currently ~jpg~, ~png~ and ~gif~) it will show the
|
|
|
|
image.
|
|
|
|
|
|
|
|
If Hypo doens't know what kind of file you're uploading it will
|
|
|
|
default to treating it as a text file.
|
|
|
|
|
2013-08-25 23:21:39 +02:00
|
|
|
** Viewing
|
|
|
|
|
|
|
|
All files can be viewed (from, for example, your web browser) in
|
|
|
|
three different ways. The regularly, raw and as download.
|
|
|
|
|
|
|
|
The regular way shows a web page with the file either syntax
|
|
|
|
highlighted using ~pygments~ or (in case it is an image) with the
|
|
|
|
image shown on the page. This is viewed by using the URL printed
|
|
|
|
after upload has completed. For example:
|
|
|
|
|
|
|
|
: http://yourserver.example.com/abcdef1
|
|
|
|
|
|
|
|
The raw view is just the file, saving this file is the same as
|
|
|
|
downloading it. This is viewed by prefixing the last part of the
|
|
|
|
URL with ~raw/~. For example:
|
|
|
|
|
|
|
|
: http://yourserver.example.com/raw/abcdef1
|
|
|
|
|
|
|
|
The download view is the same as the raw view except that the
|
|
|
|
~Content-Disposition~ header has been set to ~attachment~. This causes
|
|
|
|
a download dialog to show up instead of your browser trying to
|
|
|
|
render it. This ir viewed by prefixing the last part of the URL
|
|
|
|
with ~dl/~. For example:
|
|
|
|
|
|
|
|
: http://yourserver.example.com/dl/abcdef1
|
|
|
|
|
2013-08-01 01:24:32 +02:00
|
|
|
** Deleting
|
|
|
|
|
|
|
|
After you have uploaded a file you can delete it again by using
|
|
|
|
the ~DELETE~ HTTP method. An example with curl:
|
|
|
|
|
|
|
|
: # curl -XDELETE http://yourserver.example.com/abcdef1
|
|
|
|
: None
|
|
|
|
|
|
|
|
There is currently no way to authenticate yourself with the
|
|
|
|
server, so anyone can delete (also post) files. Of course they
|
|
|
|
would first have to know the URL to send the delete to.
|
|
|
|
|
2013-08-25 23:21:39 +02:00
|
|
|
* Clients
|
|
|
|
|
|
|
|
Hypo tries to stay simple to work with, at least on the
|
|
|
|
client-side. However, some clients may make things easier.
|
|
|
|
Currently there is only the (incomplete) [[http://code.ryuslash.org/hypo-emacs/][Emacs client]].
|
|
|
|
|
2013-08-01 01:24:32 +02:00
|
|
|
* License
|
|
|
|
|
|
|
|
Hypo is free software: you can redistribute it and/or modify it
|
|
|
|
under the terms of the GNU Affero General Public License as
|
|
|
|
published by the Free Software Foundation, either version 3 of the
|
|
|
|
License, or (at your option) any later version.
|
|
|
|
|
|
|
|
Hypo is distributed in the hope that it will be useful, but
|
|
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Affero General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Affero General Public
|
|
|
|
License along with Hypo. If not, see [[http://www.gnu.org/licenses/]].
|
|
|
|
|
2013-08-01 01:29:00 +02:00
|
|
|
See [[http://code.ryuslash.org/cgit.cgi/hypo/tree/COPYING][COPYING]] for more information.
|