buku/bukuserver
rachmadani haryono be50451d1d Feature/server (#289)
* new: dev: version flag

fix: dev: pylint error

* chg: dev: sort route !cosmetic

* new: dev: custom BaseModelView for buku bookmark

* new: dev: formatted entry

* new: dev: url render mode

* new: dev: bookmark edit !wip

* chg: dev: use existing form for bookmark

* chg: dev: form name !refactor

* new: dev: enable details views

* new: dev:  views module

* new: dev: tag model view

* chg: dev: only split  page_size defined

* chg: dev: use SelectMultipleField

* fix: dev: Bookmark tags choices

* chg dev: configure tags

* chg: dev: tag edit form !wip

* chg: dev: update bookmark model

* chg: dev: remove unused function

* new: dev: add flask wtf and admin

* chg: dev: use SimpleNamespace instead namedtuple

* new: dev: delete tags feature

* new: dev: chatty parameter for delete_tag_at_index

* fix: dev: skip confirmation when deleting tag

* fix: dev: when update bookmark model

* new: dev: update tag

* chg: dev: use parse_tags method

* new: dev: select2 field for tagsfield

* chg: dev: remove unused code

* fix: dev: syntax

* fix: dev: update bookmark model

* chg: dev: change api based on flask-api

* fix: dev: new tags on tag_detail PUT

* chg: dev: raise error when parsing failed

* chg: dev: move server required package

* new: dev: create_model

* chg: dev: override abstract method model view class

* chg: dev: delete model for bookmark

* fix: dev: pylint ignore !cosmetic

* new: dev: filter for tag

* chg: dev: more filter for TagModel

* new: dev: new filter for tag model

* chg: dev: deduplicate filter

* fix: dev: pylint !cosmetic

* chg: dev: generalize tag, bookmark filter

* chg: dev: add filters for bookmark

* fix: dev: not equal filter

* new: dev: url basic filter

* chg: dev: configure bookmark model view

* chg: dev: reorder bookmark view method

* new: dev: tags number filter

* chg: dev: bookmark url with unknown scheme

* new: dev: network handle api

* new: dev: modal edit/create for bookmark

* chg: dev: link tag  bookmark tag search

* fix: dev: empty tag contain search

* chg: dev: buku search option

* new: dev: buku search to filter

* chg: dev: front page search

* chg: dev: move Statistic page to views module

* fix: dev: bookmark search

* new: dev: title filter

* fix: dev: statistic label

* fix: dev: link on statistic page

* chg: dev: strip search value

* fix: dev: bookmark entry fix

* fix: dev: netloc modal on

* fix: dev: pylint !cosmetic

* chg: dev: remove duplicate package

* chg: dev: move admin to root

* fix: dev: link on statistic page

* chg: dev: pin pyyaml package
2018-06-28 19:34:35 +05:30
..
static/bukuserver/js Feature/server (#289) 2018-06-28 19:34:35 +05:30
templates/bukuserver Feature/server (#289) 2018-06-28 19:34:35 +05:30
__init__.py chg: dev: rename api folder to bukuserver 2018-04-06 15:07:33 +08:00
__main__.py chg: dev: review request 2018-04-06 15:07:34 +08:00
filters.py Feature/server (#289) 2018-06-28 19:34:35 +05:30
forms.py Feature/server (#289) 2018-06-28 19:34:35 +05:30
README.md Update documentation 2018-05-30 19:04:58 +05:30
requirements.txt chg: dev: rename api folder to bukuserver 2018-04-06 15:07:33 +08:00
response.py chg: dev: rename api folder to bukuserver 2018-04-06 15:07:33 +08:00
server.py Feature/server (#289) 2018-06-28 19:34:35 +05:30
views.py Feature/server (#289) 2018-06-28 19:34:35 +05:30

Bukuserver

Table of Contents

Installation

You need to have some packages before you install bukuserver on your server. So be sure to have python3, python3-pip , python3-dev, libffi-dev packages from your distribution.

Installing dependencies

$ python3 -m pip install --user --upgrade pip
$ python3 -m pip install --user virtualenv
$ python3 -m virtualenv env
$ source env/bin/activate
$ git clone https://github.com/jarun/Buku
$ cd Buku
$ pip3 install .[server]

Installing from PyPi

$ pip3 install buku[server]

Webserver options

To run the server on host 127.0.0.1, port 5001, run following command:

$ bukuserver run --host 127.0.0.1 --port 5001

Visit 127.0.0.1:5001 in your browser to access your bookmarks.

See more option on bukuserver run --help and bukuserver --help

Configuration

Following are available os env config available for bukuserver.

Name (without prefix) Description Value
PER_PAGE bookmarks per page positive integer [default: 10]
SECRET_KEY server secret key string [default: os.urandom(24)]
URL_RENDER_MODE url render mode full or netloc [default: full]

Note: BUKUSERVER_ is the common prefix.

Note: if input is invalid, the default value will be used

e.g. to set bukuserver to show 100 item per page run the following command

# on linux
$ export BUKUSERVER_PER_PAGE=100

# on windows
$ SET BUKUSERVER_PER_PAGE=100

# in dockerfile
ENV BUKUSERVER_PER_PAGE=100

Screenshots


home page

home page



index page

bookmark stats



index page

bookmark page (1)



index page

bookmark page (2)



index page

bookmark edit page



index page

tag page