Welcome to OpenJournal’s documentation!

OpenJournal is a simple journal, note-taking, and assistant application supporting Markdown syntax and Markdown rendering thanks to qmarkdowntextedit. It is designed to be as simple as possible with complete Markdown syntax, smart drag’n drop, and keyboard shortcuts.
OpenJournal is available for Linux, Windows, macOS and offers a cloud storage see more on the website.
Design Philosophy
OpenJournal is a simple note-taking application. Each day represents a separate entry that can be navigated using a calendar widget. Each journal is stored inside a database that can be either a local file (*.jnl) or a database inside a MariaDB server.
User Interface
The user interface of OpenJournal is designed to be as simple as possible. It is constituted of 3 resizable panels:
The editor panel.
The calendar panel.
The preview panel.
A toolbox provides shortcuts to the Markdown syntax and a menu bar to create and open journals.
Editor
The editor is based on QMarkdowTextEdit and supports the Markdown syntax and find and replace. It supports smart drag and drop for images and texts. Dropping an image from a local folder or from an Html link will copy the image in the journal and reference it locally. Plain text can be added by dropping a text file in the editor. The text will be inserted at the cursor location.
Calendar
The calendar provides a quick way to navigate through the journal.
Preview
The preview provides a way to visualize the rendered Markdown document. It can be used to previsualize the result of an entry and to comfortably read a journal.
Installation
Stable versions of OpenJournal can be found on the releases page. It is available on Linux as an AppImage compatible with all the major distributions, on Windows as a basic installer, and on macOS as an App.
Note
During the installation on Windows and Mac systems, security alerts are displayed because the OpenJournal executable does not possess an EV code signing certificate. These alerts can be ignored safely.
Text formatting
Markdown text
Paragraph
Paragraphs are separated by a blank line.
Style
*italic*,
**bold**
Link
[OpenJournal](https://github.com/bgallois/OpenJournal)
Header
# Title
## Subtitle
### SubSubtitle
List
Bullet list:
* Start a line with an asterisk
* Food
* Fruits
* Oranges
* Apples
Numbered list:
1. One
2. Two
3. Three
To do list:
- [x] Task one
- [ ] Task two
- [ ] Task three
Code
`inline`
```
block
```
Formulas
\\( inline \\)
\\[ block \\]
Quote
> This is a blockquote.
Separator
---
Markdown image
Images can be added by dropping a file in the editor or using the Markdown syntax . The image will be stored in the journal database and the reference will be updated to  and should not be modified afterward. Image files are temporarily copied in the system temporary folder for rendering and deleted when no longer useful.
Notification
OpenJournal included a system of alarms that can be set using the Add Alarm button on the toolbar or directly in plaintext with the command:
setAlarm(hh:mm,message);
The alarm sound can be activated in the Options menu in the menu bar. In any case, the alarm will display the alarm’s message in the system tray.
Keyboard shortcuts
Markdown features
Bold text
CTRL + Key_B
If a text is selected, it will be set as bold. If no text selected, cursor will be placed between balises.
Italic text
CTRL + Key_I
If a text is selected, it will be set as bold. If no text selected, cursor will be placed between balises.
Strikethrough text
CTRL + Key_S
If a text is selected, it will be set as bold. If no text selected, cursor will be placed between balises.
Insert to-do list
CTRL + Key_D
Insert numbered list
CTRL + Key_L
Insert unordered list
CTRL + SHIFT + Key_L
Insert table
CTRL + Key_T
Insert link
CTRL + Key_U
If a text is selected, it will be passed as a legend or link.
Insert image
CTRL + Key_SHIFT + Key_I
If a text is selected, it will be passed as as path.
Insert formula
CTRL + Key_F
If a text is selected, it will be passed as as path.
OpenJournal features
Lock the journal
CTRL + Key_Escape
Insert alarm
CTRL + Key_A
OpenJournal cloud
OpenJournal offers cloud storage for journals. It required an account creation and it is currently in open beta, ie. the data are backup twice a day, but the server can undergo unplanned maintenance.
Account creation
Accounts creation is done by filling the registration form. A Token will be sent to verify the registration email. Then the user can connect to its remote journal.
Connection
Go to File -> Cloud connection.
Enter username and password.
Note
Concurrency is not supported in OpenJournal. You can’t edit the same journal on several computers. However, one journal open on several computers will update itself if the two subsequent changes on two different computers are separated by more than twenty seconds.
Advanced
MariaDB journal
Note
OpenJournal can access remotely created journals that are hosted on a MariaDB/MySQL server. For security purposes, do not expose databases to the internet!.
Server creation
sudo apt install mariadb-server
sudo mysql_secure_installation
mysql -u root -p
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Connection
Go to File -> Connect to a remote planner.
Enter username@hostname:port
Enter journalname@password. If username has write privilege on the server, journalname database will be created if it doesn’t exist, else journalname has to be created on the server by a user with write privilege.