1 ************************************
2 phorkie - PHP and Git based pastebin
3 ************************************
4 Self-hosted pastebin software written in PHP.
5 Pastes are editable, may have multiple files and are stored in git repositories.
7 Homepage: http://sourceforge.net/p/phorkie/
9 .. contents:: Table of Contents
14 - every paste is a git repository
16 - repositories can be cloned
17 - clone url can be displayed
21 - delete existing files
22 - replace file with upload
23 - multiple files in one paste
24 - syntax highlighting with GeSHi
26 - image upload + display
27 - external tool support
31 - history in the sidebar
33 - old files can be downloaded easily
38 phorkie stands on the shoulders of giants.
41 Install VersionControl_Git
42 ==========================
45 $ pear install versioncontrol_git-alpha
47 Install Services_Libravatar
48 ==========================
51 $ pear install services_libravatar-alpha
54 Install Date_HumanDiff
55 ======================
58 $ pear install https://github.com/downloads/cweiske/Date_HumanDiff/Date_HumanDiff-0.1.0.tgz
65 $ pear channel-discover mediawiki.googlecode.com/svn
66 $ pear install mediawiki/geshi
68 Note that this version of GeSHi is a bit outdated, but it's the fastest
76 $ pear channel-discover pear.twig-project.org
77 $ pear install twig/Twig
84 Make git repositories clonable
85 ==============================
86 To make git repositories clonable, you need to install ``git-daemon``
87 (``git-daemon-run`` package on Debian/Ubuntu).
89 Now make the repositories available by symlinking the paste repository
90 directory (``$GLOBALS['phorkie']['cfg']['repos']`` setting) into
91 ``/var/cache/git``, e.g.::
93 $ ln -s /home/user/www/paste/repos/git /var/cache/git/paste
95 Edit your ``config.php`` and set the ``$GLOBALS['phorkie']['cfg']['git']['public']``
96 setting to ``git://$yourhostname/git/paste/``.
97 The rest will be appended automatically.
100 You're on your own to setup writable repositories.
109 - filters (xmllint --format, rapper)
111 - OpenID-Login to get username+email as authorship information
112 - document how to keep disk usage low (block size)
114 - when 2 people edit, merge changes
116 - configurable highlights
118 - autotags for file types
119 - Atom feed for new pastes
120 - Atom feed for paste changes
127 Index page. Shows form for new paste
129 Display page for paste
133 Display raw file contents
136 ``/search(/[0-9]+)?q=..``
137 Search for term, with optional page
139 List all pastes, with optional page
142 Internal directory layout
143 =========================
148 1/ - work directory for paste #1
149 2/ - work directory for paste #2
151 1.git/ - git repository for paste #1
152 description - Description for the repository
153 2.git/ - git repository for paste #2