A Django app to view your Joplin notes online.
Project description
joplin-vieweb
A simple web viewer for Joplin app
View on github
Purpose
I'm going to use Joplin as a notes application (instead of OneNote).
It's a long time I wanted for something like Joplin: opensource, not coupled to a web giant, and without illimited storage: storage has a price, we should pay for it.
This quick dev is to provide an online view of my Joplin notes.
It's running on a "Django server", running beside a configured & running Joplin terminal app.
A screenshot
Features and not(-yet?) features
Yes it does ❤
- Protect joplin-vieweb access by login
- Display notebooks, and notes
- images
- attachments
- code syntax highlight
- Add a table of content if note contains headers
- Display tags, and notes linked.
- Joplin sync:
- Background periodic joplin sync
- Manual trigged sync, with notebooks and tag refresh
- Public link if note has public tag
- Option to number (or not) header in notes:
- Tag edition: add / remove / create tags in notes:
Once tags edited, a little reminder not to forget to synchronize Joplin:
- Checkbox list changes can be saved to notes. See this release note.
- Note edition / deletion, with support of image paste, and image / attachment drag&drop.
- Note creation
- Notebook edition: create / rename / delete
- Notes history: list of the latest notes consulted, to be able to open them quickly, or pin them:
- Tabs in notes (not displayed in joplin applications). Syntax here.
No it doesn't (yet?) 💔
- Sort notebooks nor notes
- Move note or notebook from one notebook to another.
- No specific handling for todos.
- Search for notes or tags
Installation, configuration
-
Install Joplin terminal.
Configure it and start it. -
Install joplin-vieweb with
pip install django-joplin-vieweb
-
Create a django project and configure it:
-
Add "joplin_vieweb" to your INSTALLED_APPS settings.py like this:
INSTALLED_APPS = [
...
'joplin_vieweb',
...
]
-
Add some variable in your project settings.py:
# Joplin variables JOPLIN_SERVER_URL="http://127.0.0.1" JOPLIN_SERVER_PORT=41184 JOPLIN_SERVER_TOKEN="1234567890987654321" JOPLIN_RESSOURCES_PATH="/home/pi/.config/joplin/resources/" JOPLIN_LOGIN_REQUIRED=True # set to True only if you require a logged user for accessing the notes JOPLIN_SYNC_PERIOD_S=86400 # once a day JOPLIN_SYNC_INFO_FILE="/home/pi/.config/joplin/joplin_vieweb_sync_info" JOPLIN_NOTES_HISTORY_DEPTH = 10
-
If you set JOPLIN_LOGIN_REQUIRED=True
python manage.py migrate
python manage.py createsuperuser
- Add the 'accounts/' path in urls.py (see next point)
-
Include the joplin_vieweb URLconf in your project urls.py like this:
path('joplin/', include('joplin_vieweb.urls')), path('accounts/', include('django.contrib.auth.urls')), # only if JOPLIN_LOGIN_REQUIRED=True
-
Start the development server and visit http://127.0.0.1:8000/joplin
More advanced guides
Why not joplin-web?
I tried for some hours to make it run. The master branch was easy to setup, but work is still in progress.
And the full featured "vuejs" branch: I just didn't succeed to set it up (neither with node nor with docker).... probably a matter of versions with my raspberry distribution.
➡ I decided to do my simple own product, for my simple need: view my notes online.
Thanks for joplin-api that helped me !
For dev: how to setup a dev server around this "package"
Execute script setup_dev_env.sh
Then: check joplin ressource path in dev_server/dev_server/settings.py (STATICFILES_DIRS), and ALLOWED_HOSTS.
If you choose JOPLIN_LOGIN_REQUIRED=True
, then: :add
urlpatterns = [
...
path('accounts/', include('django.contrib.auth.urls')),
]
Then:
. venv/bin/activate
cd dev_server
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver 0:8000
Thanks to azure for free domain name
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
Built Distribution
Hashes for django-joplin_vieweb-1.14.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a624501fde02885c72cd873314451f00c36addedf4b6b4a922317b8a3ff8327d |
|
MD5 | a023dac5a94313707148d8602794af05 |
|
BLAKE2b-256 | 52b72ef86976bd21c55767068711ec9fe32e6ad16da8c049715caa1d7f455176 |
Hashes for django_joplin_vieweb-1.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bc3d1f466437368108bd8cd8091f3a111753865c7831987821de0f0dd56766d |
|
MD5 | 1619c92c6fe2fbe7da57e39d1c621004 |
|
BLAKE2b-256 | 876e99afc6e37b75e9305c42a3958ec028aeafe98114f572e978ebfc864b47fb |