Package: django-joplin-vieweb
joplin-viewebA simple web viewer for Joplin appView on githubPurposeI'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 anonline view of my Joplin notes.It's running on a "Django server", running beside a configured & runningJoplin terminal app.A screenshotFeatures and not(-yet?) featuresYes it does ❤Protect joplin-vieweb access by loginDisplay notebooks, and notesimagesattachmentscode syntax highlightAdd a table of content if note contains headersDisplay tags, and notes linked.Joplin sync:Background periodic joplin syncManual trigged sync, with notebooks and tag refreshPublic link if note haspublictagOption 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. Seethis release note.Note edition / deletion, with support of image paste, and image / attachment drag&drop.Note creationNotebook edition: create / rename / deleteNotes 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.Hyperlink preview in notes, on mouse hover:No it doesn't (yet?) 💔Sort notebooks nor notesMove note or notebook from one notebook to another.No specific handling for todos.Search for notes or tagsInstallation, configurationInstallJoplin terminal.Configure it and start it.Install joplin-vieweb withpip install django-joplin-viewebCreate 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 = 10If you set JOPLIN_LOGIN_REQUIRED=Truepython manage.py migratepython manage.py createsuperuserAdd 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=TrueStart the development server and visithttp://127.0.0.1:8000/joplinMore advanced guidesRead here the step-by-step full install: joplin-vieweb with daphne with nginx with TLS with Let's Encrypt.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.shThen: check joplin ressource path in dev_server/dev_server/settings.py (STATICFILES_DIRS), and ALLOWED_HOSTS.If you chooseJOPLIN_LOGIN_REQUIRED=True, then: :addurlpatterns=[...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:8000Thanks to azure for free domain name