bookmarking tool based on Web UI and JSON REST API
Project description
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.
Requirements
Python 2.7
Django (>= 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-jsonfield
python-openid (>= 2.2.5)
django_openid_auth (>= 0.5)
south
netaddr
lxml
defusedxml
requests
celery
jQuery (>= 2.1.1)
underscore.js (>= 1.5.2)
backbone.js (>= 1.1.0)
JSON in JavaScript
Twitter bootstrap (>= 3.2.0)
Recommends
MySQL
python-mysqldb
RabbitMQ
Setup
Install Debian packages that Shiori depends on
Shiori 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-jsonfield
Update and rebuild libjs-backbone
The 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.deb
Install Shiori
from source
$ git clone https://github.com/mkouhei/shiori.git $ cd shiori $ sudo python setup.py install
from PyPI
$ pip install shiori
Workaround django-auth-openid someproblems
django-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 install
Make symlinks of JavaScript Libraries
Shiori 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/underscore
Configuration
You must change some values in shiori/core/settings.py.
SECRET_KEY
DEBUG
ALLOWED_HOSTS
DATABASES
Execute syncdb.:
$ python /path/to/shiori/manage.py syncdb
Run server.:
$ python /path/to/shiori/manage.py runserver
Start Celery.:
$ celery -A shiori.core worker --beat -l info
Development
You copy pre-commit hook scripts after git clone.:
$ cp -f utils/pre-commit.txt .git/hooks/pre-commit
Next 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-tox
Then checkout ‘devel’ branch for development, commit your changes. Before pull request, execute git rebase.
See also
History
0.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 view
Fixed category and tag query
Changed behavior of popover
0.3.0 (2014-04-03)
Change API path /v1 to /api
Change behavior of Category API
Change behavior of Tag API
Added FeedSubscription and CralingHistory models
Added API of FeedSubscription
Added view of subscribed feeds list and manage view
Added register bookmarks from subscribed feeds
Added feed parser and register of bookmark from subscribed feed by celery
Added list display at Django admin
Using fake name generator for test
Change using fixtures for User, Category, Tag
0.2.7 (2014-03-15)
Fixed Fixed forbid deleting bookmark by not owner user
Added some unit test
0.2.6 (2014-03-08)
Added toggle switch to display all bookmarks
Fixed #12 Tags and categories that do not have a bookmark is displayed
Fixed #13 bookmarks does not appear in the tag view
- Fixed #10 It is impossible to view the bookmarks of other users
in the login state in the UI
Fixed #7 URL of bookmark should be unique by user
0.2.5 (2014-03-05)
Added test REST API for anonymous user and another user
Fixed #6 any authenticated users can change bookmarks
Fixed #8 invalid URL of login on logout page
0.2.4 (2014-03-01)
Redirect root to /shiori/
Add test code of routing, bookmark view, REST API
Use django test in setup.py test
Use tox
Use travis-ci
Use coverage and coverall.io
0.2.3 (2014-02-26)
Add pagination
Remove patches of django-openid-auth why fixed at python-django-auth-openid 0.5-2
0.2.2 (2014-02-22)
Fix importing modules
0.2.1 (2014-02-16)
Remove django-notification from dependency
0.2.0 (2014-02-16)
Added feed generator
Fixed some bugs related views
0.1.0 (2014-02-08)
First release
TODO
Add 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file shiori-0.4.0.tar.gz
.
File metadata
- Download URL: shiori-0.4.0.tar.gz
- Upload date:
- Size: 65.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 173da2d988cfe83920b2fe73fda09c7af122ada52490a639e3da33eb449631ee |
|
MD5 | 3309816d15669c9265093f88300364d4 |
|
BLAKE2b-256 | 6f0d66a511c51af789767ee2ec0c350301f6247466d936dc1b3c82c915d456ff |