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
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"
-
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.12.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 527588f875cdffe5441f7dcb9ed4851f0bc7e6d1d67e285f19597a8c2212b248 |
|
MD5 | 5f2660db3361377afa3df3a9a50017ad |
|
BLAKE2b-256 | ec27efa4b5ec7b2b0957d13b9507a59a93adf751c4281f8059624d574ec92f08 |
Hashes for django_joplin_vieweb-1.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c12529cd92fde4eda443b3837b3c58408b4457805b5158bca0b2bac503580ba0 |
|
MD5 | 6c0e29377a84c3d37115bb87e653fbdf |
|
BLAKE2b-256 | 7e69c48cd2be60f79b5fcaddcf60ed50c52a4fb15d0144a00ed52c4a91e88d5b |