Load the plaindetect library from packagist
[phorkie.git] / README.rst
index 889f474f4cfe88065a20d43a529e25dcd65194c5..422306ce22038092d2eb852dc5805788bd13c612 100644 (file)
@@ -22,7 +22,7 @@ Features
   - add new files
   - delete existing files
   - replace file with upload
   - add new files
   - delete existing files
   - replace file with upload
-- embedding of pastes in your blog
+- embedding of pastes in your blog (via JavaScript or oEmbed)
 - multiple files in one paste
   - option to edit single files in a multi-file paste
 - syntax highlighting with GeSHi
 - multiple files in one paste
   - option to edit single files in a multi-file paste
 - syntax highlighting with GeSHi
@@ -42,6 +42,7 @@ Features
 - webhook support - get notified when pastes are created, edited or deleted
 - atom feed for new and updated pastes
 - notifies remote instances via linkbacks when a paste has been forked
 - webhook support - get notified when pastes are created, edited or deleted
 - atom feed for new and updated pastes
 - notifies remote instances via linkbacks when a paste has been forked
+- text file detection for unknown file types
 
 
 ============
 
 
 ============
@@ -50,7 +51,7 @@ Installation
 
 .phar
 =====
 
 .phar
 =====
-Download ``phorkie-0.5.0.phar`` and put it in your web server's document root
+Download ``phorkie-0.7.0.phar`` and put it in your web server's document root
 directory.
 
 No further setup needed.
 directory.
 
 No further setup needed.
@@ -59,17 +60,21 @@ No further setup needed.
    PHP handle ``.phar`` files.
 
    Unfortunately, no Linux distribution has this activated by default.
    PHP handle ``.phar`` files.
 
    Unfortunately, no Linux distribution has this activated by default.
+   You can do it yourself, though - see
+   `Enable .phar handling in your web server`__.
 
 .. warning:: PHP has some bugs in its .phar handling code (e.g. with FPM).
 
    So currently, the ``.phar`` option is considered experimental.
 
 
 .. warning:: PHP has some bugs in its .phar handling code (e.g. with FPM).
 
    So currently, the ``.phar`` option is considered experimental.
 
+__ http://cweiske.de/tagebuch/phar-webserver.htm
+
 
 Zip package
 ===========
 1. Unzip the phorkie release file::
 
 
 Zip package
 ===========
 1. Unzip the phorkie release file::
 
-   $ tar xjvf phorkie-0.5.0.tar.bz2
+   $ tar xjvf phorkie-0.7.0.tar.bz2
 
 2. Create the git directories::
 
 
 2. Create the git directories::
 
@@ -99,6 +104,10 @@ Zip package
 
 7. Go to http://yourhost/
 
 
 7. Go to http://yourhost/
 
+8. If you like phorkie, send a mail to `cweiske+phorkie@cweiske.de`__
+
+__ mailto:cweiske+phorkie@cweiske.de
+
 
 Dependencies
 ============
 
 Dependencies
 ============
@@ -109,6 +118,8 @@ on your machine:
 
 - Git v1.7.5 or later
 - PHP v5.3.0 or later
 
 - Git v1.7.5 or later
 - PHP v5.3.0 or later
+
+  - optionally the ``mbstring`` extension
 - PEAR v1.9.2 or later
 
 ::
 - PEAR v1.9.2 or later
 
 ::
@@ -151,9 +162,15 @@ phorkie makes use of an Elasticsearch__ installation, if you have one.
 
 It is used to provide search capabilities and the list of recent pastes.
 
 
 It is used to provide search capabilities and the list of recent pastes.
 
-Elasticsearch version 1.3 is supported.
+Elasticsearch version 2.0 is supported.
+
+You have to install the `delete-by-query`__ plugin::
+
+    $ cd /usr/share/elasticsearch
+    $ bin/plugin install delete-by-query
 
 __ http://www.elasticsearch.org/
 
 __ http://www.elasticsearch.org/
+__ https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/plugins-delete-by-query.html
 
 
 Setup
 
 
 Setup
@@ -362,13 +379,13 @@ If you use nginx, place the following lines into your ``server`` block:
     rewrite ^/([0-9]+)/delete/confirm$ /delete.php?id=$1&confirm=1;
     rewrite ^/([0-9]+)/doap$ /doap.php?id=$1;
     rewrite ^/([0-9]+)/edit$ /edit.php?id=$1;
     rewrite ^/([0-9]+)/delete/confirm$ /delete.php?id=$1&confirm=1;
     rewrite ^/([0-9]+)/doap$ /doap.php?id=$1;
     rewrite ^/([0-9]+)/edit$ /edit.php?id=$1;
-    rewrite ^/([0-9]+)/edit/(.+)$ edit.php?id=$1&file=$2
+    rewrite ^/([0-9]+)/edit/(.+)$ /edit.php?id=$1&file=$2;
     rewrite ^/([0-9]+)/embed$ /embed.php?id=$1;
     rewrite ^/([0-9]+)/embed$ /embed.php?id=$1;
-    rewrite ^/([0-9]+)/embed/(.+)$ embed.php?id=$1&file=$2
+    rewrite ^/([0-9]+)/embed/(.+)$ /embed.php?id=$1&file=$2;
     rewrite ^/([0-9]+)/fork$ /fork.php?id=$1;
     rewrite ^/([0-9]+)/raw/(.+)$ /raw.php?id=$1&file=$2;
     rewrite ^/([0-9]+)/rev/(.+)$ /revision.php?id=$1&rev=$2;
     rewrite ^/([0-9]+)/fork$ /fork.php?id=$1;
     rewrite ^/([0-9]+)/raw/(.+)$ /raw.php?id=$1&file=$2;
     rewrite ^/([0-9]+)/rev/(.+)$ /revision.php?id=$1&rev=$2;
-    rewrite ^/([0-9]+)/rev-raw/(.+)$ /raw.php?id=$1&rev=$2&file=$3;
+    rewrite ^/([0-9]+)/rev-raw/(.+)/(.+)$ /raw.php?id=$1&rev=$2&file=$3;
     rewrite ^/([0-9]+)/tool/([^/]+)/(.+)$ /tool.php?id=$1&tool=$2&file=$3;
 
     rewrite ^/fork-remote$ /fork-remote.php;
     rewrite ^/([0-9]+)/tool/([^/]+)/(.+)$ /tool.php?id=$1&tool=$2&file=$3;
 
     rewrite ^/fork-remote$ /fork-remote.php;
@@ -388,3 +405,63 @@ If you use nginx, place the following lines into your ``server`` block:
     rewrite ^/setup$ /setup.php;
     rewrite ^/user$ /user.php;
   }
     rewrite ^/setup$ /setup.php;
     rewrite ^/user$ /user.php;
   }
+
+Lighttpd rewrites
+=================
+
+::
+
+    url.rewrite-once += (
+        "^/([0-9]+)$" => "/display.php?id=$1",
+        "^/([0-9]+)/delete$" => "/delete.php?id=$1",
+        "^/([0-9]+)/delete/confirm" => "/delete.php?&id=$1&confirm=1",
+        "^/([0-9]+)/doap$" => "/doap.php?id=$1",
+        "^/([0-9]+)/edit$" => "/edit.php?id=$1",
+        "^/([0-9]+)/edit/(.+)" => "/edit.php?id=$1&file=$2",
+        "^/([0-9]+)/embed$" => "/embed.php?id=$1",
+        "^/([0-9]+)/embed/(.+)$" => "/embed.php?id=$1",
+        "^/([0-9]+)/fork$" => "/fork.php?id=$1",
+        "^/([0-9]+)/raw/(.+)$" => "/raw.php?id=$1&file=$2",
+        "^/([0-9]+)/rev/(.+)$" => "/revision.php?id=$1&rev=$2",
+        "^/([0-9]+)/rev-raw/(.+)/(.+)$" => "/raw.php?id=$1&rev=$2&file=$3",
+        "^/([0-9]+)/tool/([^/]+)/(.+)$" => "/tool.php?id=$1&tool=$2&file=$3",
+
+        "^/fork-remote$" => "/fork-remote.php",
+        "^/help$" => "/help.php",
+        "^/new$" => "/new.php",
+
+        "^/feed/new$" => "/feed-new.php",
+        "^/feed/updated$" => "/feed-updated.php",
+
+        "^/list$" => "/list.php",
+        "^/list/([0-9]+)$" => "/list.php?page=$1",
+
+        "^/search$" => "/search.php",
+        "^/search/([0-9]+)$" => "/search.php?page=$1",
+
+        "^/login$" => "/login.php",
+        "^/setup$" => "/setup.php",
+        "^/user$" => "/user.php"
+    )
+
+
+===========
+Development
+===========
+
+Releasing a new version
+=======================
+
+#. Update ``ChangeLog``, ``NEWS.rst``, ``build.xml`` and ``README.rst``.
+#. Update local dependencies::
+
+    $ phing collectdeps
+#. Build ``.tar.bz2`` and ``.phar`` release files with::
+
+    $ phing zip
+    $ phing phar
+#. Test.
+#. Tag the release in git
+#. Upload release to sourceforge::
+
+    $ phing deploy-sf