Sunday , May 16 2021

laurent22 / joplin, Hacker News



DonateBecome a patron

Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organized into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are inMarkdown format.

Notes exported from Evernote via .enex filescan be importedinto Joplin, including the formatted content ( which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported.

The notes can besynchronizedwith various cloud services includingNextcloud, Dropbox, OneDrive, WebDAV or the file system (for example with a network directory). When synchronizing the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around.

The application is available for Windows, Linux, macOS, Android and iOS (the terminal app also works on FreeBSD). AWeb Clipper, to save web pages and screenshots from your browser, is also available for (Firefox) and (Chrome) .

Three types of applications are available: for thedesktop(Windows, macOS and Linux), formobile(Android and iOS) and forterminal(Windows, macOS, Linux and FreeBSD). All applications have similar user interfaces and can synchronize with each other.

Desktop applications

(Windows) 32 and 64 – bit)



Operating System Download Alternative
Get it on Windows Or get the (Portable version) Theportable applicationallows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key; the application will then create a directory called “JoplinProfile” next to the executable file.
Get it on macOS You can also use Homebrew:brew cask install joplin
Get it on Linux An Arch Linux package (is also available) .

If it works with your distribution (it has been tested on Ubuntu, Fedora, Gnome and Mint), the recommended way is to use this script as it will handle the desktop icon too:

wget -O - / Joplin / Master / | Bash

Mobile applications

Terminal application

(Linux or Windows) viaWSL)

(Arch Linux)

Operating system Method
macOS brew install joplin
Important:First,install Node 8 .

NPM_CONFIG_PREFIX=~ / .joplin-bin npm install -g joplin
sudo ln - s ~ / .joplin-bin / bin / joplin / usr / bin / joplin

By default, the application binary will be installed under (~ / joplin-bin) . You may change this directory if needed. Alternatively, if your npm permissions are setup as describedhere(Option 2) then simply runningnpm -g install joplinwould work.

An Arch Linux package is availablehere. To install it, use an AUR wrapper such as yay:yay -S joplin. Both the CLI tool (typeJoplin) and desktop app (typeJoplin-Desktop) are packaged. You can also install a compiled version with thechaotic-aurrepository. For support, please go to theGitHub repo.

To start it, typeJoplin.

For usage information, please refer to the fullJoplin Terminal Application Documentation.

Web Clipper

The Web Clipper is a browser extension that allows you to save web pages and screenshots from your browser. For more information on how to install and use it, see theWeb Clipper Help Page.

  • Desktop, mobile and terminal applications.
  • Web Clipperfor Firefox and Chrome.
  • End To End Encryption (E2EE)
  • Note history (revisions)
  • Synchronization with various services, including NextCloud, Dropbox, WebDAV and OneDrive.
  • Import Enex files (Evernote export format) and Markdown files.
  • Export JEX files (Joplin Export format) and raw files.
  • Support notes, to-dos, tags and notebooks.
  • Goto Anything feature.
  • Sort notes by multiple criteria – title, updated time, etc.
  • Support for alarms (notifications) in mobile and desktop applications.
  • Offline first, so the entire data is always available on the device even without an internet connection.
  • Markdown notes, which are rendered with images and formatting in the desktop and mobile applications. Support for extra features such as math notation and checkboxes.
  • File attachment support – images are displayed, and other files are linked and can be opened in the relevant application.
  • Search functionality.
  • (Geo-location support.)

  • Supports multiple languages ​​
  • External editor support – open notes in your favorite external editor with one click in Joplin.

Importing from Evernote

Joplin was designed as a replacement for Evernote and so can import complete Evernote notebooks, as well as notes, tags, resources (attached files) and note metadata (such as author, geo-location, etc.) via ENEX files. In terms of data, the only two things that might slightly differ are:

  • Recognition data – Evernote images, in particular scanned (or photographed) documents haverecognition dataassociated with them. It is the text that Evernote has been able to recognize in the document. This data is not preserved when the note are imported into Joplin. However, should it become supported in the search tool or other parts of Joplin, it should be possible to regenerate this recognition data since the actual image would still be available.

  • Color, font sizes and faces – Evernote text is stored as HTML and this is converted to Markdown during the import process. For notes that are mostly plain text or with basic formatting (bold, italic, bullet points, links, etc.) this is a lossless conversion, and the note, once rendered back to HTML should be very similar. Tables are also imported and converted to Markdown tables. For very complex notes, some formatting data might be lost – in particular colors, font sizes and font faces will not be imported. The text itself however is always imported in full regardless of formatting.

To import Evernote data, first export your Evernote notebooks to ENEX files as describedhere. Then follow these steps:

In thedesktop application, open File>Import>ENEX and select your file. The notes will be imported into a new separate notebook. If needed they can then be moved to a different notebook, or the notebook can be renamed, etc.

In theterminal application, incommand-line mode, typeimport /path/to/file.enex. This will import the notes into a new notebook named after the filename.

Importing from Markdown files

Joplin can import notes from plain Markdown file. You can either import a complete directory of Markdown files or individual files.

In thedesktop application, open File>Import>MD and select your Markdown file or directory.

In theterminal application, incommand-line mode, typeimport --format md /path/to/file.mdorimport --format md / path / to / directory /.

Importing from other applications

In general the way to import notes from any application into Joplin is to convert the notes to ENEX files (Evernote format) and to import these ENEX files into Joplin using the method above. Most note-taking applications support ENEX files so it should be relatively straightforward. For help about specific applications, see below:

  • Standard Notes: Please seethis tutorial
  • Tomboy Notes: Export the notes to ENEX filesas described herefor example, and import these ENEX files into Joplin.
  • OneNote: Firstimport the notes from OneNote into Evernote. Then export the ENEX file from Evernote and import it into Joplin.
  • NixNote: Synchronize with Evernote, then export the ENEX files and import them into Joplin. More info (in this thread) .

Joplin can export to the JEX format (Joplin Export file), which is a tar file that can contain multiple notes, notebooks, etc. This is a lossless format in that all the notes, but also metadata such as geo-location, updated time, tags, etc. are preserved. This format is convenient for backup purposes and can be re-imported into Joplin. A “raw” format is also available. This is the same as the JEX format except that the data is saved to a directory and each item represented by a single file.

One of the goals of Joplin was to avoid being tied to any particular company or service, whether it is Evernote, Google or Microsoft. As such the synchronization is designed without any hard dependency to any particular service. Most of the synchronization process is done at an abstract level and access to external services, such as Nextcloud or Dropbox, is done via lightweight drivers. It is easy to support new services by creating simple drivers that provide a filesystem-like interface, i.e. the ability to read, write, delete and list items. It is also simple to switch from one service to another or to even sync to multiple services at once. Each note, notebook, tags, as well as the relation between items is transmitted as plain text files during synchronisation, which means the data can also be moved to a different application, can be easily backed up, inspected, etc.

Currently, synchronization is possible with Nextcloud, Dropbox (by default), OneDrive or the local filesystem. To setup synchronization please follow the instructions below. After that, the application will synchronize in the background whenever it is running, or you can click on “Synchronize” to start a synchronization manually.

Nextcloud synchronization

Nextcloudis a self- hosted, private cloud solution. It can store documents, images and videos but also calendars, passwords and countless other things and can sync them to your laptop or phone. As you can host your own Nextcloud server, you own both the data on your device and infrastructure used for synchronization. As such it is a good fit for Joplin. The platform is also well supported and with a strong community, so it is likely to be around for a while – since it’s open source anyway, it is not a service that can be closed, it can exist on a server for as long as one chooses.

In thedesktop applicationormobile application, go to the config screen and select Nextcloud as the synchronization target. Then input the WebDAV URL (to get it, click on Settings in the bottom left corner of the page, in Nextcloud), this is normally sure to create the “Joplin” directory in Nextcloud), and set the username and password. If it does not work, pleasesee this explanationfor more details.

In theterminal application, you will need to set thesync.targetconfig variable and all the (sync.5.path) ,sync.5.usernameandsync.5.passwordconfig variables to, respectively the Nextcloud WebDAV URL, your username and your password. This can be done from the command line mode using:

: config sync.5.path webdav / Joplin : config sync.5.username YOUR_USERNAME : config sync.5.password YOUR_PASSWORD : config 5

If synchronization does not work, please consult the logs in the app profile directory – it is often due to a misconfigured URL or password. The log should indicate what the exact issue is.

Dropbox synchronization

When syncing with Dropbox, Joplin creates a sub-directory in Dropbox, in/ Apps / Joplinand read / write the notes and notebooks from it. The application does not have access to anything outside this directory.

In thedesktop applicationormobile application, select “Dropbox” as the synchronization target in the config screen (it is selected by default). Then, to initiate the synchronization process, click on the “Synchronize” button in the sidebar and follow the instructions.

In theterminal application, to initiate the synchronization process, type: sync. You will be asked to follow a link to authorize the application. It is possible to also synchronize outside of the user interface by typingJoplin Syncfrom the terminal. This can be used to setup a cron script to synchronize at regular interval. For example, this would do it every 30 minutes:

* / 30 *** / path / to / joplin sync

Select the “WebDAV” synchronization target and follow the same instructions as for Nextcloud above.

WebDAV-compatible services that are known to work with Joplin:

OneDrive synchronization

When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in / Apps / Joplin and read / write the notes and notebooks from it. The application does not have access to anything outside this directory.

In thedesktop applicationormobile application, select “OneDrive” as the synchronization target in the config screen. Then, to initiate the synchronization process, click on the “Synchronize” button in the sidebar and follow the instructions.

In theterminal application, to initiate the synchronization process, type: sync. You will be asked to follow a link to authorize the application (simply input your Microsoft credentials – you do not need to register with OneDrive).

Joplin supports end-to-end encryption (E2EE) on all the applications. E2EE is a system where only the owner of the notes, notebooks, tags or resources can read them. It prevents potential eavesdroppers – including telecom providers, internet providers, and even the developers of Joplin from being able to access the data. Please see theEnd-To-End Encryption Tutorialfor more information about this feature and how to enable it.

For a more technical description, mostly relevant for development or to review the method being used, please see theEncryption specification.

The Joplin applications automatically save previous versions of your notes at regular intervals. These versions are synced across devices and can be viewed from the desktop application. To do so, click on the “Information” button on a note, then click on “Previous version of this note”. From this screen you can view the previous versions of the note as well as restore any of them.

This feature can be disabled from the “Note history” section in the settings, and it is also possible to change for how long the history of a note is saved.

More information about this feature in theannouncement post.

Joplin notes can be opened and edited using an external editor of your choice. It can be a simple text editor like Notepad or Sublime Text or an actual Markdown editor like Typora. In that case, images will also be displayed within the editor. To open the note in an external editor, click on the icon in the toolbar or press Ctrl E (or Cmd E). Your default text editor will be used to open the note. If needed, you can also specify the editor directly in the General Options, under “Text editor command”.

Any kind of file can be attached to a note. In Markdown, links to these files are represented as a simple ID to the attachment. In the note viewer, these files, if they are images, will be displayed or, if they are other files (PDF, text files, etc.) they will be displayed as links. Clicking on this link will open the file in the default application.

In thedesktop application, files can be attached either by clicking the “Attach file” icon in the editor or via drag and drop. If you prefer to create a link to a local file instead, hold the ALT key while performing the drag and drop operation. If the OS-clipboard contains an image you can directly paste it in the editor via Ctrl V.

Resources that are not attached to any note will be automatically deleted after 10 days (seerationale).

Important:Resources larger than 10 MB are not currently supported on mobile. They will crash the application when synchronizing so it is recommended not to attach such resources at the moment. The issue is being looked at.

Downloading attachments

The way the attachments are downloaded during synchronization can be customized in the Configuration screen, under “Attachment download behavior”. The default option (“Always”) is to download all the attachments, all the time, so that the data is available even when the device is offline. There is also the option to download the attachments manually (option “Manual”), by clicking on it, or automatically (Option “Auto”), in which case the attachments are downloaded only when a note is opened. These options should help saving disk space and network bandwidth, especially on mobile.

In the desktop and mobile apps, an alarm can be associated with any to-do. It will be triggered at the given time by displaying a notification. How the notification will be displayed depends on the operating system since each has a different way to handle this. Please see below for the requirements for the desktop applications:

  • Windows:>=8. Make sure the Action Center is enabled on Windows. Task bar balloon for Windows
  • macOS:>=(**************************************************************************************************************************************************************************************************************************************************************************. 8 or Growl if earlier.
  • Linux: (notify-osd) orlibnotify-bininstalled (Ubuntu should have this by default). Growl otherwise

Seedocumentation and flow chart for reporter choice

On mobile, the alarms will be displayed using the built-in notification system.

If for any reason the notifications do not work, pleaseopen an issue.

Sub-notebooks allow organizing multiple notebooks into a tree of notebooks. For example it can be used to regroup all the notebooks related to work, to family or to a particular project under a parent notebook.

  • In thedesktop application, to create a subnotebook, drag and drop it onto another notebook. To move it back to the root, drag and drop it on the “Notebooks” header. Currently only the desktop app can be used to organize the notebooks.
  • Themobile applicationsupports displaying and collapsing / expanding the tree of notebooks, however it does not currently support moving the subnotebooks to different notebooks.
  • Theterminal appsupports displaying the tree of subnotebooks but it does not support collapsing / expanding them or moving the subnotebooks around.

Joplin uses and renders a Github-flavored Markdown with a few variations and additions. In particular it adds math formula support, interactive checkboxes and support for note links. Joplin also supports Markdown plugins which allow enabling and disabling various advanced Markdown features. Have a look at theMarkdown Guidefor more information.

Rendered markdown can be customized by placing a userstyle file in the profile directory~ / .config / joplin-desktop / userstyle.css(This path might be different on your device – check at the top of the Config screen for the exact path). This file supports standard CSS syntax. Joplinmustbe restarted for the new css to be applied, please ensure that Joplin is not closing to the tray, but is actually exiting. Note that this file is used for both displaying the notes and printing the notes. Be aware how the CSS may look printed (for example, printing white text over a black background is usually not wanted).

In thedesktop app, templates can be used to create new notes or to insert into existing ones by creating a (templates) folder in Joplin’s config folder and placing Markdown template files into it. For example creating the filehours.mdin thetemplatesdirectory with the contents:

Date: {{date}} Hours: Details:

Templates can then be inserted from the menu (File->Templates).

The currently supported template variables are:

Variable Description Example
{{date}} Today’s date formatted based on the settings format 2019 – 01 – 01
{{time}} Current time formatted based on the settings format 13: 00
{{datetime}} Current date and time formatted based on the settings format 01 / 01 / 19 1 : (PM)
{{# custom_datetime}} Current date and / or time formatted based on a supplied string (usingmoment.jsformatting) {{# custom_datetime}} M d {{/ custom_datetime }}

Joplin implements the SQLite Full Text Search (FTS4) extension. It means the content of all the notes is indexed in real time and search queries return results very fast. BothSimple FTS QueriesandFull-Text Index Queriesare supported. See below for the list of supported queries:

Search type Description Example
Single word Returns all the notes that contain this term. For example, searching for (cat) will return all the notes that contain this exact word. Note: it will not return the notes that contain the substring – thus, for “cat”, notes that contain “cataclysmic” or “prevaricate” willnotbe returned.
Multiples words Returns all the notes that containallthese words, but not necessarily next to each other. dog cat– will return any notes that contain the words “dog “and” cat “anywhere in the note, no necessarily in that order nor next to each other. It willnotreturn results that contain “dog” or “cat” only.
Phrase query Add double quotes to return the notes that contain exactly this phrase. "shopping list"– will return the notes that contain theseexact termsnext to each other and in this order. It willnotreturn for example a note that contains “going shopping with my list”.
Prefix Add a wildcard to return all the notes that contain a term with a specified prefix. swim *– will return all the notes that contain eg. “swim”, but also “swimming”, “swimsuit”, etc. IMPORTANT: The wildcardcan only be at the end– it will be ignored at the beginning of a word (eg.* swim) and will be treated as a literal asterisk in the middle of a word (eg.ast * rix)
Field restricted Add eithertitle:orbody:before a note to restrict your search to just the title, or just the body. title: shopping,body: egg

Notes are sorted by “relevance”. Currently it means the notes that contain the requested terms the most times are on top. For queries with multiple terms, it also matters how close to each other the terms are. This is a bit experimental so if you notice a search query that returns unexpected results, please report it in the forum, providing as many details as possible to replicate the issue.

In the desktop application, press Ctrl G or Cmd G and type the title of a note to jump directly to it. You can also type#followed by a tag or@followed by a notebook title.

Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.

Please see thedonation pagefor information on how to support the development of Joplin.

Please see the guide for information on how to contribute to the development of Joplin: 22 / joplin / blob / master /

Joplin is currently available in the languages ​​below. If you would like to contribute anew translation, it is quite straightforward, please follow these steps:

  • Download Poedit, the translation editor, and install it.
  • Download the file to be translated.
  • In Poedit, open this .pot file, go into the Catalog menu and click Configuration. Change “Country” and “Language” to your own country and language.
  • From then you can translate the file. Once it is done, please eitheropen a pull requestor send the file to .

This translation will apply to the three applications – desktop, mobile and terminal.

Toupdate a translation, follow the same steps as above but instead of getting the .pot file, get the .po file for your language from the table below.

Current translations:

  • Resources larger than 10 MB are not currently supported on mobile. They will crash the application so it is recommended not to attach such resources at the moment. The issue is being looked at.
  • Non-alphabetical characters such as Chinese or Arabic might create glitches in the terminal on Windows. This is a limitation of the current Windows console.
  • It is only possible to upload files of up to 4MB to OneDrive due to a limitation ofthe APIbeing currently used. There is currently no plan to support OneDrive “large file” API.

MIT License

Copyright (c) 2016 – 2019 Laurent Cozic

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use , copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.



(Read More)

About admin

Leave a Reply

Your email address will not be published. Required fields are marked *