189 lines
5.2 KiB
Text
189 lines
5.2 KiB
Text
|
\input texinfo @c -*-texinfo-*-
|
||
|
@c %**start of header
|
||
|
@setfilename hypo.info
|
||
|
@settitle Hypo user manual
|
||
|
@c %**end of header
|
||
|
@copying
|
||
|
How to use hypo.
|
||
|
|
||
|
Copyright @copyright{} 2013 Tom Willemse
|
||
|
|
||
|
@quotation
|
||
|
Permission is granted to copy, distribute and/or modify this document
|
||
|
under the terms of the GNU Free Documentation License, Version 1.3
|
||
|
or any later version published by the Free Software Foundation;
|
||
|
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||
|
A copy of the license is included in the section entitled ``GNU
|
||
|
Free Documentation License''.
|
||
|
|
||
|
A copy of the license is also available from the Free Software
|
||
|
Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.
|
||
|
|
||
|
@end quotation
|
||
|
|
||
|
The document was typeset with
|
||
|
@uref{http://www.texinfo.org/, GNU Texinfo}.
|
||
|
|
||
|
@end copying
|
||
|
|
||
|
@titlepage
|
||
|
@title Hypo user manual
|
||
|
@subtitle How to use hypo
|
||
|
@author Tom Willemse <tom@@ryuslash.org>
|
||
|
@page
|
||
|
@vskip 0pt plus 1filll
|
||
|
@insertcopying
|
||
|
@end titlepage
|
||
|
|
||
|
@c Output the table of the contents at the beginning.
|
||
|
@contents
|
||
|
|
||
|
@ifnottex
|
||
|
@node Top, Introduction, (dir), (dir)
|
||
|
@top Hypo user manual
|
||
|
|
||
|
@insertcopying
|
||
|
@end ifnottex
|
||
|
|
||
|
@c Generate the nodes for this menu with `C-c C-u C-m'.
|
||
|
@menu
|
||
|
* Introduction:: Meet Hypo
|
||
|
* Usage:: What you can do with hypo
|
||
|
* Clients::
|
||
|
* Copying This Manual::
|
||
|
* Index::
|
||
|
@end menu
|
||
|
|
||
|
@c Update all node entries with `C-c C-u C-n'.
|
||
|
@c Insert new nodes with `C-c C-c n'.
|
||
|
@node Introduction, Usage, Top, Top
|
||
|
@chapter Introduction to Hypo
|
||
|
|
||
|
Hypo comes from a desire to share snippets, screenshots and the like
|
||
|
with friends and colleagues the easiest and fastest way possible.
|
||
|
|
||
|
@menu
|
||
|
* Features:: What hypo can do
|
||
|
@end menu
|
||
|
|
||
|
@node Features, , Introduction, Introduction
|
||
|
@section Features
|
||
|
|
||
|
Hypo offers a small, but useful number of features.
|
||
|
|
||
|
@itemize
|
||
|
@item
|
||
|
Easy sharing and maintenance of files, snippets or screenshots using
|
||
|
familiar HTTP verbs such as @samp{POST}, @samp{GET} and @samp{DELETE}.
|
||
|
|
||
|
@item
|
||
|
Syntax highlighting with @uref{http://pygments.org/, pygments}.
|
||
|
|
||
|
@item
|
||
|
Separate HTML, raw or download views.
|
||
|
@end itemize
|
||
|
|
||
|
@node Usage, Clients, Introduction, Top
|
||
|
@chapter Using hypo
|
||
|
|
||
|
Hypo is used through a very simple web API that uses normal, everyday
|
||
|
HTTP methods to manipulate files.
|
||
|
|
||
|
@menu
|
||
|
* Uploading:: Getting new files in hypo
|
||
|
* Viewing:: Viewing the files in hypo
|
||
|
* Deleting:: Removing old files from hypo
|
||
|
@end menu
|
||
|
|
||
|
@node Uploading, Viewing, Usage, Usage
|
||
|
@section Uploading files
|
||
|
|
||
|
Uploading is done with the @samp{PUT} HTTP method. An example with
|
||
|
curl:
|
||
|
|
||
|
@example
|
||
|
# curl --upload-file README.org http://yourserver.example.com/ 2>/dev/null
|
||
|
http://yourserver.example.com/abcdef1
|
||
|
@end example
|
||
|
|
||
|
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 @samp{jpg}, @samp{png} and @samp{gif}) it will show
|
||
|
the image.
|
||
|
|
||
|
If Hypo doesn't know what kind of file you're uploading it will
|
||
|
default to treating it as a text file.
|
||
|
|
||
|
@node Viewing, Deleting, Uploading, Usage
|
||
|
@section Viewing uploaded files
|
||
|
|
||
|
All files can be viewed (from, for example, your web browser) in three
|
||
|
different ways. The regularly, raw and as download.
|
||
|
|
||
|
The regular way sshows a web page with the file either syntax
|
||
|
highlighted using @samp{pygments} or (in case it is an image) with the
|
||
|
image shown on the page. This is viewed using the URL printed after
|
||
|
upload has completed. For example:
|
||
|
|
||
|
@example
|
||
|
http://yourserver.example.com/abcdef1
|
||
|
@end example
|
||
|
|
||
|
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 @samp{raw/}. For example:
|
||
|
|
||
|
@example
|
||
|
http://yourserver.example.com/raw/abcdef1
|
||
|
@end example
|
||
|
|
||
|
The download view is the same as the raw view except that the
|
||
|
@samp{Content-Disposition} header has been set to @samp{attachment}.
|
||
|
This causes a download dialog to show up instead of your browser
|
||
|
trying to render it. This is viewed by prefixing the last part of the
|
||
|
URL with @samp{dl/}. For example:
|
||
|
|
||
|
@example
|
||
|
http://yourserver.example.com/dl/abcdef1
|
||
|
@end example
|
||
|
|
||
|
@node Deleting, , Viewing, Usage
|
||
|
@section Deleting uploaded files
|
||
|
|
||
|
After you have uploaded a file you can delete it again by using the
|
||
|
@samp{DELETE} HTTP method. An example with curl:
|
||
|
|
||
|
@example
|
||
|
# curl -XDELETE http://yourserver.example.com/abcdef1
|
||
|
Succesfully removed abcdef1
|
||
|
@end example
|
||
|
|
||
|
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.
|
||
|
|
||
|
@node Clients, Copying This Manual, Usage, Top
|
||
|
@chapter Client programs
|
||
|
|
||
|
Hypo tries to stay simple to work with, at least on the client-side.
|
||
|
However, some clients may make things even easier. Currently there is
|
||
|
the (incomplete) @uref{http://code.ryuslash.org/hypo-emacs/about/,
|
||
|
Emacs client} and also a
|
||
|
@uref{http://code.ryuslash.org/hypo-cli/about/, simple CLI client}.
|
||
|
|
||
|
@node Copying This Manual, Index, Clients, Top
|
||
|
@appendix Copying This Manual
|
||
|
|
||
|
@include fdl.texi
|
||
|
|
||
|
@node Index, , Copying This Manual, Top
|
||
|
@unnumbered Index
|
||
|
|
||
|
@printindex cp
|
||
|
|
||
|
@bye
|
||
|
|
||
|
@c hypo.texi ends here
|