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.15.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3432f816f39326c8bada48c47028133f1ff5549bf2cf779c467b969c6afd25d6 |
|
MD5 | 9fbbb9d917bb572c7fd7fcd16998016b |
|
BLAKE2b-256 | 769bf12ace15f20385f1fa7c86bec8be3b0307fddf3f2eb35bce14610b589871 |
Hashes for django_joplin_vieweb-1.15.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcf0b875a48dd16da9416bc195c6d144d7fcdd4b61013d9d7e8d4d436e6aedc9 |
|
MD5 | cd7e9e65adb69b4fdead69ec0d4e74cb |
|
BLAKE2b-256 | 9b830e8e38f69d3c0f68a417ebf9f2a74a87fa55c9282de2b65b3c99d8400ab2 |