X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/cdc99846c94bacdd7a2a0681d77bac3de45c4f2a..dbb5f97b068c83860b15241227e21b78e4d131c4:/README.rst diff --git a/README.rst b/README.rst index f5c7b78..c4dc195 100644 --- a/README.rst +++ b/README.rst @@ -12,13 +12,28 @@ Homepage: http://sourceforge.net/p/phorkie/ Features ======== - every paste is a git repository + + - repositories can be cloned + - clone url can be displayed - paste editing - add new files - delete existing files + - replace file with upload - multiple files in one paste - syntax highlighting with GeSHi - rST rendering +- image upload + display +- external tool support + + - xmllint + - php syntax check +- history in the sidebar + + - old files can be downloaded easily +- search across pastes: description, file names and file content + + - options: quoting, logical and, or, not, partial words ============ @@ -26,17 +41,16 @@ Dependencies ============ phorkie stands on the shoulders of giants. - -Install VersionControl_Git -========================== :: $ pear install versioncontrol_git-alpha + $ pear install services_libravatar-alpha + $ pear install http_request2 + $ pear install pager + $ pear install https://github.com/downloads/cweiske/Date_HumanDiff/Date_HumanDiff-0.1.0.tgz - -Install GeSHi -============= -:: + $ pear channel-discover pear.twig-project.org + $ pear install twig/Twig $ pear channel-discover mediawiki.googlecode.com/svn $ pear install mediawiki/geshi @@ -45,12 +59,29 @@ Note that this version of GeSHi is a bit outdated, but it's the fastest way to install it. -Install Twig -============ -:: +====== +Search +====== - $ pear channel-discover pear.twig-project.org - $ pear install twig/Twig +phorkie makes use of an Elasticsearch__ installation if you have one. + +It is used to provide search capabilities and the list of recent pastes. + +__ http://www.elasticsearch.org/ + +Setup +===== +Edit ``config.php``, setting the ``elasticsearch`` property to the HTTP URL +of the index, e.g. :: + + http://localhost:9200/phorkie/ + +Run the index script to import all existing pastes into the index:: + + php scripts/index.php + +That's all. Open phorkie in your browser, and you'll notice the search box +in the top menu. ===== @@ -66,7 +97,7 @@ Now make the repositories available by symlinking the paste repository directory (``$GLOBALS['phorkie']['cfg']['repos']`` setting) into ``/var/cache/git``, e.g.:: - $ ln -s /home/user/www/paste/repos /var/cache/git/paste + $ ln -s /home/user/www/paste/repos/git /var/cache/git/paste Edit your ``config.php`` and set the ``$GLOBALS['phorkie']['cfg']['git']['public']`` setting to ``git://$yourhostname/git/paste/``. @@ -82,15 +113,15 @@ Technical details TODO ==== -- search - OpenID-Login to get username+email as authorship information -- sidebar: history -- image upload +- filters (``xmllint --format``, ``rapper``) - document how to keep disk usage low (block size) - comments - when 2 people edit, merge changes - diff changes - configurable highlights +- Atom feed for new pastes +- Atom feed for paste changes URLs @@ -104,12 +135,18 @@ URLs Edit the paste ``/[0-9]+/raw/(.+)`` Display raw file contents +``/[0-9]/tool/[a-zA-Z]+/(.+)`` + Run a tool on the given file +``/[0-9]/rev/[a-z0-9]+`` + Show specific revision of the paste ``/[0-9]/delete`` Delete the paste -``/search(/.+)?`` - Search for term +``/[0-9]/fork`` + Create a fork of the paste +``/search?q=..(&page=[0-9]+)?`` + Search for term, with optional page ``/list(/[0-9])?`` - List all pastes + List all pastes, with optional page Internal directory layout @@ -117,16 +154,10 @@ Internal directory layout :: repos/ - 1/ - git repository for paste #1 - .git/ + work/ + 1/ - work directory for paste #1 + 2/ - work directory for paste #2 + git/ + 1.git/ - git repository for paste #1 description - Description for the repository - 2/ - git repository for paste #2 - - -Search -====== -Use ``ack-grep`` - - - - + 2.git/ - git repository for paste #2