48c4a76f6edaa0c47542f3a950c7e35dcf430026
[phorkie.git] / README.rst
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.
6
7 Homepage: http://sourceforge.net/p/phorkie/
8
9
10 ========
11 Features
12 ========
13 - every paste is a git repository
14 - paste editing
15 - multiple files in one paste
16 - syntax highlighting with GeSHi
17 - rST rendering
18
19
20 ============
21 Dependencies
22 ============
23 phorkie stands on the shoulders of giants.
24
25
26 Install VersionControl_Git
27 ==========================
28 ::
29
30   $ pear install versioncontrol_git-alpha
31
32
33 Install GeSHi
34 =============
35 ::
36
37   $ pear channel-discover mediawiki.googlecode.com/svn
38   $ pear install mediawiki/geshi
39
40 Note that this version of GeSHi is a bit outdated, but it's the fastest
41 way to install it.
42
43
44 Install Twig
45 ============
46 ::
47
48   $ pear channel-discover pear.twig-project.org
49   $ pear install twig/Twig
50
51
52 =================
53 Technical details
54 =================
55
56 TODO
57 ====
58 - search
59 - OpenID-Login to get username+email as authorship information
60 - sidebar: history
61 - image upload
62 - document how to keep disk usage low (block size)
63 - comments
64 - when 2 people edit, merge changes
65 - diff changes
66 - configurable highlights
67
68
69 URLs
70 ====
71
72 ``/``
73   Index page. Shows form for new paste
74 ``/[0-9]+``
75   Display page for paste
76 ``/[0-9]/edit``
77   Edit the paste
78 ``/[0-9]+/raw/(.+)``
79   Display raw file contents
80 ``/[0-9]/delete``
81   Delete the paste
82 ``/search(/.+)?``
83   Search for term
84 ``/list(/[0-9])?``
85   List all pastes
86
87
88 Internal directory layout
89 =========================
90 ::
91
92   repos/
93     1/ - git repository for paste #1
94       .git/
95         description - Description for the repository
96     2/ - git repository for paste #2
97
98
99 Search
100 ======
101 Use ``ack-grep``
102
103
104
105