Package: shiori
What’s “Shiori”?This tool provides web UI and JSON REST API for bookmarking.
The API depends on django REST framework,
Web UI depends on it’s API and Backbone.js.
The user registeration and login of this tool uses OpenID.“Shiori” is means a bookmark in Japanese.
It is written “栞” in Kanji, this caracter is 0x681E in Unicode.RequirementsPython 2.7Django (>= 1.6)Django REST framework (>= 2.3.12)shortuuid (== 0.3.2)
(this is work-around for the garbage (v0.4 not released) is left in the PyPI.)django-shortuuidfield (>= 0.1.2)django-jsonfieldpython-openid (>= 2.2.5)django_openid_auth (>= 0.5)southnetaddrlxmldefusedxmlrequestsceleryjQuery (>= 2.1.1)underscore.js (>= 1.5.2)backbone.js (>= 1.1.0)JSON in JavaScriptTwitter bootstrap (>= 3.2.0)RecommendsMySQLpython-mysqldbRabbitMQSetupInstall Debian packages that Shiori depends onShiori depends on as following.:$ sudo apt-get install python-django python-djangorestframework \
python-django-shortuuidfield python-django-auth-openid python-celery \
python-lxml python-defusedxml python-netaddr python-django-south \
libjs-jquery libjs-underscore libjs-json \
libxml2-dev libxslt1-dev python-requests python-dev libpython2.7-dev \
python-django-jsonfieldUpdate and rebuild libjs-backboneThe version of libjs-backbone in Sid is 0.9.2-4 at 2014-02-08. (1)
So you must rebuild from source package currently.:$ sudo apt-get build-dep libjs-backbone
$ apt-get source libjs-backbone
$ cd backbone-0.9.2
$ uscan
$ uupdate ../1.x.x.tar.gz 1.x.x
$ cd ../backbone-1.x.x
$ debuild -us -uc
$ sudo dpkg -i ../libjs-backbone_1.x.x-1_all.debhttp://packages.qa.debian.org/b/backbone.htmlInstall Shiorifrom source$ git clone https://github.com/mkouhei/shiori.git
$ cd shiori
$ sudo python setup.py installfrom PyPI$ pip install shioriWorkaround django-auth-openid someproblemsdjango-auth-openid is not support django 1.5 over now,
then you should use source debian package, and must apply some patches.:$ apt-get source python-django-auth-openid
$ cd django-openid-auth-0.5
$ python setup.py installMake symlinks of JavaScript LibrariesShiori has no depended on JavaScript libraries, so make symlinks.
Executute miscs/setup.sh script.:$ cd /path/to/lib/python2.7/site-packages/shiori-0.x.x-py2.7.egg/shiori/static
$ sh ../miscs/setup.sh
$ ls -n
total 8
lrwxrwxrwx 1 1000 1000   30 Feb  9 09:26 backbone -> /usr/share/javascript/backbone
drwxr-xr-x 2 1000 1000 4096 Feb  9 06:49 css
lrwxrwxrwx 1 1000 1000   34 Feb  9 09:26 twbs -> /usr/share/twitter-bootstrap/files
lrwxrwxrwx 1 1000 1000   28 Feb  9 09:26 jquery -> /usr/share/javascript/jquery
drwxr-xr-x 2 1000 1000 4096 Feb  9 06:49 js
lrwxrwxrwx 1 1000 1000   26 Feb  9 09:26 json -> /usr/share/javascript/json
lrwxrwxrwx 1 1000 1000   32 Feb  9 09:26 underscore -> /usr/share/javascript/underscoreConfigurationYou must change some values in shiori/core/settings.py.SECRET_KEYDEBUGALLOWED_HOSTSDATABASESExecute syncdb.:$ python /path/to/shiori/manage.py syncdbRun server.:$ python /path/to/shiori/manage.py runserverStart Celery.:$ celery -A shiori.core worker --beat -l infoDevelopmentYou copy pre-commit hook scripts after git clone.:$ cp -f utils/pre-commit.txt .git/hooks/pre-commitNext install python 2.7 later and setuptools, pytest, pep8.
Below way is for Debian GNU/Linux Sid system.:$ sudo apt-get install python python-setuptools python-pytest pep8 libxml2-dev libxml2 python-dev closure-linter python-toxThen checkout ‘devel’ branch for development, commit your changes.
Before pull request, execute git rebase.See alsodjango REST frameworkdjango-openid-auth READMEBackbone.jsHistory0.4.0 (2014-07-13)Applied Bootstrap 3.Fixed link of category and tag.Fixed jslint violations.Improved loading bookmark.0.3.4 (2014-06-02)Fixed pylint violations.Fixed the name of the dependent Python packages.0.3.3 (2014-05-12)Fixed bug of validators.Added unit test of feed_parser.0.3.2 (2014-04-18)Fixed #25 can not search for multi-byte string.Applied closure-linter, and fixed invalid Google JavaScript Style Guide.Fixed exclude directory for PEP8 test.0.3.1 (2014-04-09)Added search API and viewFixed category and tag queryChanged behavior of popover0.3.0 (2014-04-03)Change API path /v1 to /apiChange behavior of Category APIChange behavior of Tag APIAdded FeedSubscription and CralingHistory modelsAdded API of FeedSubscriptionAdded view of subscribed feeds list and manage viewAdded register bookmarks from subscribed feedsAdded feed parser and register of bookmark from subscribed feed by celeryAdded list display at Django adminUsing fake name generator for testChange using fixtures for User, Category, Tag0.2.7 (2014-03-15)Fixed Fixed forbid deleting bookmark by not owner userAdded some unit test0.2.6 (2014-03-08)Added toggle switch to display all bookmarksFixed #12 Tags and categories that do not have a bookmark is displayedFixed #13 bookmarks does not appear in the tag viewFixed #10 It is impossible to view the bookmarks of other usersin the login state in the UIFixed #7 URL of bookmark should be unique by user0.2.5 (2014-03-05)Added test REST API for anonymous user and another userFixed #6 any authenticated users can change bookmarksFixed #8 invalid URL of login on logout page0.2.4 (2014-03-01)Redirect root to /shiori/Add test code of routing, bookmark view, REST APIUse django test in setup.py testUse toxUse travis-ciUse coverage and coverall.io0.2.3 (2014-02-26)Add paginationRemove patches of django-openid-auth why fixed at python-django-auth-openid 0.5-20.2.2 (2014-02-22)Fix importing modules0.2.1 (2014-02-16)Remove django-notification from dependency0.2.0 (2014-02-16)Added feed generatorFixed some bugs related views0.1.0 (2014-02-08)First releaseTODOAdd appending signature to bookmark and validation signature with GnuPG.Add linking social web services with OAuth.Add job scedular for feed parser and push message to social web services.Add applying reST style description.Add unit test code.