diff options
-rw-r--r-- | CHANGELOG.md | 9 | ||||
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | newspipe/templates/edit_bookmark.html | 93 | ||||
-rw-r--r-- | newspipe/templates/layout.html | 4 | ||||
-rw-r--r-- | newspipe/templates/login.html | 2 | ||||
-rw-r--r-- | newspipe/templates/management.html | 4 | ||||
-rw-r--r-- | newspipe/templates/user_stream.html | 22 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | poetry.lock | 9 | ||||
-rw-r--r-- | pyproject.toml | 2 |
10 files changed, 80 insertions, 70 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index a6f29ca3..b044a963 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,15 @@ Newspipe Changelog ================== +## 9.1.0 (2020-03-12) + + Improvements: + * the Web graphical interface is now using Bootstrap 4; + * a lot of responsiveness work has been done; + * the back-end code has been refactored and cleaned; + * the configuration and deployment of Newspipe is now a lot easier. + + ## 9.0 (2020-02-27) New: @@ -60,6 +60,9 @@ $ vim instance/postgresql.py # customize it $ export Newspipe_CONFIG=postgresql.py ``` +For production you can use [Gunicorn](https://gunicorn.org) or ``mod_wsgi``. + + ## License [Newspipe](https://git.sr.ht/~cedric/newspipe) is under the diff --git a/newspipe/templates/edit_bookmark.html b/newspipe/templates/edit_bookmark.html index ee0e0243..bc28b171 100644 --- a/newspipe/templates/edit_bookmark.html +++ b/newspipe/templates/edit_bookmark.html @@ -1,67 +1,70 @@ {% extends "layout.html" %} {% block content %} <div class="container"> - <div class="well"> - <h3>{{ action }}</h3> - <form action="" method="post" name="save" class="form-horizontal"> - {{ form.hidden_tag() }} - <div class="form-group"> - <label for="{{ form.href.id }}" class="col-sm-3 control-label">{{ form.href.label }}</label> - <div class="col-sm-9"> - {{ form.href(class_="form-control", size="100%") }} + <div class="row"> + <div class="col"> + <h3>{{ action }}</h3> + <form action="" method="post" name="save" class="form-horizontal"> + {{ form.hidden_tag() }} + <div class="form-group"> + <label for="{{ form.href.id }}" class="col-sm-3 control-label">{{ form.href.label }}</label> + <div class="col-sm-9"> + {{ form.href(class_="form-control", size="100%") }} + </div> + {% for error in form.href.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} </div> - {% for error in form.href.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} - </div> - <div class="form-group"> - <label for="{{ form.title.id }}" class="col-sm-3 control-label">{{ form.title.label }}</label> - <div class="col-sm-9"> - {{ form.title(class_="form-control", size="100%") }} + <div class="form-group"> + <label for="{{ form.title.id }}" class="col-sm-3 control-label">{{ form.title.label }}</label> + <div class="col-sm-9"> + {{ form.title(class_="form-control", size="100%") }} + </div> + {% for error in form.title.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} </div> - {% for error in form.title.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} - </div> - <div class="form-group"> - <label for="{{ form.description.id }}" class="col-sm-3 control-label">{{ form.description.label }}</label> - <div class="col-sm-9"> - {{ form.description(class_="form-control", size="100%") }} + <div class="form-group"> + <label for="{{ form.description.id }}" class="col-sm-3 control-label">{{ form.description.label }}</label> + <div class="col-sm-9"> + {{ form.description(class_="form-control", size="100%") }} + </div> + {% for error in form.description.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} </div> - {% for error in form.description.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} - </div> - <div class="form-group"> - <label for="{{ form.tags.id }}" class="col-sm-3 control-label">{{ form.tags.label }}</label> - <div class="col-sm-9"> - {{ form.tags(class_="form-control", size="100%") }} + <div class="form-group"> + <label for="{{ form.tags.id }}" class="col-sm-3 control-label">{{ form.tags.label }}</label> + <div class="col-sm-9"> + {{ form.tags(class_="form-control", size="100%") }} + </div> + {% for error in form.tags.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} </div> - {% for error in form.tags.errors %} <span style="color: red;">{{ error }}<br /></span>{% endfor %} - </div> - <div class="form-group"> - <label for="{{ form.shared.id }}" class="col-sm-3 control-label">{{ form.shared.label }}</label> - <div class="col-sm-9"> - <div class="checkbox"> - {{ form.shared(class_="checkbox", style="margin-left: 0px;") }} + <div class="form-group"> + <label for="{{ form.shared.id }}" class="col-sm-3 control-label">{{ form.shared.label }}</label> + <div class="col-sm-9"> + <div class="checkbox"> + {{ form.shared(class_="checkbox", style="margin-left: 0px;") }} + </div> </div> </div> - </div> - <div class="form-group"> - <label for="{{ form.to_read.id }}" class="col-sm-3 control-label">{{ form.to_read.label }}</label> - <div class="col-sm-9"> - <div class="checkbox"> - {{ form.to_read(class_="checkbox", style="margin-left: 0px;") }} + <div class="form-group"> + <label for="{{ form.to_read.id }}" class="col-sm-3 control-label">{{ form.to_read.label }}</label> + <div class="col-sm-9"> + <div class="checkbox"> + {{ form.to_read(class_="checkbox", style="margin-left: 0px;") }} + </div> </div> </div> - </div> - <div class="form-group"> - <div class="col-sm-offset-3 col-sm-9"> - {{ form.submit(class_="btn btn-primary") }} + <div class="form-group"> + <div class="col-sm-offset-3 col-sm-9"> + {{ form.submit(class_="btn btn-primary") }} + </div> </div> - </div> - </form> + </form> + </div> </div> + {% if action == _('Add a new bookmark') %} <div class="row"> <div class="col-md-6 pull-right"> diff --git a/newspipe/templates/layout.html b/newspipe/templates/layout.html index 45ad7fdf..ad859070 100644 --- a/newspipe/templates/layout.html +++ b/newspipe/templates/layout.html @@ -40,7 +40,7 @@ <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownRSS" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-rss" aria-hidden="true"></i> {{ _('Feeds') }}</a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownRSS"> - <a class="dropdown-item" href="{{ url_for('feeds.feeds') }}">{{ _('Subscribed') }}</a> + <a class="dropdown-item" href="{{ url_for('feeds.feeds') }}">{{ _('Feeds') }}</a> <a class="dropdown-item" href="{{ url_for('feeds.inactives') }}">{{ _('Inactive') }}</a> <a class="dropdown-item" href="{{ url_for('popular') }}">{{ _('Popular') }}</a> <a class="dropdown-item" href="{{ url_for('articles.history') }}">{{ _('History') }}</a> @@ -141,7 +141,7 @@ {% with messages = get_flashed_messages(with_categories=true) %} {% if messages %} <div class="row justify-content-center"> - <div class="col-6"> + <div class="col-md-6"> {% for category, message in messages %} <div class="alert alert-{{category}}"> <button type="button" class="close" data-dismiss="alert">×</button> diff --git a/newspipe/templates/login.html b/newspipe/templates/login.html index d0849c0b..cade2777 100644 --- a/newspipe/templates/login.html +++ b/newspipe/templates/login.html @@ -2,7 +2,7 @@ {% block content %} <div class="container"> <div class="row justify-content-center"> - <div class="col-4"> + <div class="col-md-6"> <h2>{{ _('Log In') }}</h2> <form action="{{ url_for('login') }}" method=post> {{ form.hidden_tag() }} diff --git a/newspipe/templates/management.html b/newspipe/templates/management.html index 22ebde8a..eb5dbeb9 100644 --- a/newspipe/templates/management.html +++ b/newspipe/templates/management.html @@ -48,7 +48,7 @@ <a href="{{ url_for('articles.export') }}" class="btn btn-primary">{{ _('Export') }}</a> </div> </div> - <br /> + <hr /> <div class="row"> <div class="col"> <h3 id="import">{{ _('Feeds') }}</h3> @@ -85,7 +85,7 @@ </form> </div> </div> - + <hr /> <div class="row"> <div class="col-md-12"> <br /> diff --git a/newspipe/templates/user_stream.html b/newspipe/templates/user_stream.html index b05376a8..2cf0ab7a 100644 --- a/newspipe/templates/user_stream.html +++ b/newspipe/templates/user_stream.html @@ -2,17 +2,17 @@ {% block content %} <div class="container"> <div class="row"> - <div class="col-md-8"> + <div class="col"> <form class="form-inline"> <div class="form-group"> - <label>Filter per category</label> + <label>Filter per category</label> <select class="form-control" id="category-select" name="category_id"> - <option value="0">All</option> - {% for cur_category in user.categories %} - <option value="{{cur_category.id}}" {% if cur_category.id==category.id %}selected{% endif %}>{{ cur_category.name }}</option> - {% endfor %} + <option value="0">All</option> + {% for cur_category in user.categories %} + <option value="{{cur_category.id}}" {% if cur_category.id==category.id %}selected{% endif %}>{{ cur_category.name }}</option> + {% endfor %} </select> - <button type="submit" class="btn btn-primary mb-2">OK</button> + <button type="submit" class="btn btn-primary">OK</button> </div> </form> </div> @@ -22,20 +22,20 @@ {% if category %} <div class="row"> - <div class="col-md-8 offset-md-1"> + <div class="col"> <p class="lead">Articles from the category <a href="{{ url_for('user.profile_public', nickname=user.nickname, category_id=category.id) }}">{{ category.name }}</a></p> </div> </div> {% endif %} <div class="row"> - <div class="col-md-8 offset-md-1"> + <div class="col"> {{ pagination.info }} </div> </div> <div class="row"> - <div class="col-md-8 offset-md-1"> + <div class="col"> {{ pagination.links }} </div> </div> @@ -62,7 +62,7 @@ </div> <div class="row"> - <div class="col-md-8 offset-md-1"> + <div class="col"> {{ pagination.links }} </div> </div> diff --git a/package.json b/package.json index e89900cd..2daf23cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "newspipe", - "version": "9.0.0", + "version": "9.1.0", "license": "AGPL-3.0", "private": true, "dependencies": { diff --git a/poetry.lock b/poetry.lock index e52afc54..a01c0418 100644 --- a/poetry.lock +++ b/poetry.lock @@ -497,7 +497,7 @@ description = "Database Abstraction Library" name = "sqlalchemy" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.3.13" +version = "1.3.15" [package.extras] mssql = ["pyodbc"] @@ -752,11 +752,6 @@ markupsafe = [ {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, ] mccabe = [ @@ -867,7 +862,7 @@ soupsieve = [ {file = "soupsieve-2.0.tar.gz", hash = "sha256:e914534802d7ffd233242b785229d5ba0766a7f487385e3f714446a07bf540ae"}, ] sqlalchemy = [ - {file = "SQLAlchemy-1.3.13.tar.gz", hash = "sha256:64a7b71846db6423807e96820993fa12a03b89127d278290ca25c0b11ed7b4fb"}, + {file = "SQLAlchemy-1.3.15.tar.gz", hash = "sha256:c4cca4aed606297afbe90d4306b49ad3a4cd36feb3f87e4bfd655c57fd9ef445"}, ] sqlalchemy-schemadisplay = [ {file = "sqlalchemy_schemadisplay-1.3.tar.gz", hash = "sha256:0a9f26d77be9d92c9564d87cc17668fe141a816036c5f5d7c8cb053b253957e0"}, diff --git a/pyproject.toml b/pyproject.toml index 028ccae5..c3ca7692 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "newspipe" -version = "9.0.0" +version = "9.1.0" description = "Newspipe is a web news aggregator." authors = ["Cédric Bonhomme <cedric@cedricbonhomme.org>"] license = "AGPL-3.0-or-later" |