joplin-plugin-calendar-notes 0.9.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,203 +1,50 @@
|
|
|
1
1
|
# Calendar Notes
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A Joplin plugin that adds a calendar panel for daily notes.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Modes
|
|
6
|
+
|
|
7
|
+
- **Zen** — one note per day. Click a day -> open or create the day's note.
|
|
8
|
+
- **Flow** — multiple notes per day. Click a day -> select it; a section below the calendar lists that day's notes (click to open) and provides a `+ New note` button.
|
|
9
|
+
|
|
10
|
+
Switch modes in **Tools → Options → Calendar Notes**.
|
|
6
11
|
|
|
7
12
|
## Features
|
|
8
13
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- Store new calendar notes in a dedicated notebook path.
|
|
17
|
-
- Use an existing Joplin note as a template for newly created calendar notes.
|
|
18
|
-
- Supports English and Russian UI text.
|
|
14
|
+
- Calendar panel toggled from the toolbar or **Tools → Toggle Calendar**.
|
|
15
|
+
- Days with existing notes are highlighted.
|
|
16
|
+
- Configurable note title formats (Zen and Flow).
|
|
17
|
+
- Configurable target notebook path; missing notebooks are created automatically.
|
|
18
|
+
- Optional template note with placeholders (`{{title}}`, `{{date}}`, `{{time}}`, `{{YYYY}}`, `{{MM}}`, `{{dd}}`, `{{date:dd.MM.YYYY}}`, …).
|
|
19
|
+
- Week starts on Monday or Sunday.
|
|
20
|
+
- English and Russian UI.
|
|
19
21
|
|
|
20
22
|
## Requirements
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Joplin **3.5** or newer.
|
|
23
25
|
|
|
24
26
|
## Installation
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
When the plugin is available in the Joplin plugin registry:
|
|
29
|
-
|
|
30
|
-
1. Open **Tools → Options → Plugins**.
|
|
31
|
-
2. Search for **Calendar Notes**.
|
|
32
|
-
3. Install the plugin and restart Joplin if prompted.
|
|
33
|
-
|
|
34
|
-
### Manual installation
|
|
35
|
-
|
|
36
|
-
1. Download the plugin `.jpl` file from the release artifacts.
|
|
37
|
-
2. Open **Tools → Options → Plugins**.
|
|
38
|
-
3. Choose **Install from file**.
|
|
39
|
-
4. Select the downloaded `.jpl` file.
|
|
40
|
-
5. Restart Joplin if prompted.
|
|
41
|
-
|
|
42
|
-
## Usage
|
|
43
|
-
|
|
44
|
-
1. Click the calendar button in the note toolbar, or use **Tools → Toggle Calendar**.
|
|
45
|
-
2. The calendar panel opens with the current month.
|
|
46
|
-
3. Click a day:
|
|
47
|
-
- if a matching note already exists, it is opened;
|
|
48
|
-
- otherwise, a new note is created and opened.
|
|
49
|
-
4. Use **Previous**, **Next**, and **Today** to navigate the calendar.
|
|
50
|
-
5. Use **Refresh** if you want to update calendar markers manually.
|
|
51
|
-
|
|
52
|
-
## How notes are matched
|
|
53
|
-
|
|
54
|
-
Calendar Notes identifies existing notes by their title.
|
|
55
|
-
|
|
56
|
-
For each visible day, the plugin builds the expected title using the configured note title format. If a note with exactly that title exists anywhere in Joplin, the day is marked as having a note.
|
|
57
|
-
|
|
58
|
-
By default, notes are named using this format:
|
|
59
|
-
|
|
60
|
-
```text
|
|
61
|
-
{{YYYY-MM-dd}}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
For example, the note for January 5, 2026 is created as:
|
|
28
|
+
**From Joplin:** Tools → Options → Plugins → search for *Calendar Notes*.
|
|
65
29
|
|
|
66
|
-
|
|
67
|
-
2026-01-05
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
> Existing calendar notes are searched globally by title in all notebooks. New notes are created in the configured notebook path, or in the currently selected notebook if no path is configured.
|
|
30
|
+
**Manual:** Tools → Options → Plugins → *Install from file* → select the `.jpl` file.
|
|
71
31
|
|
|
72
32
|
## Settings
|
|
73
33
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
Examples:
|
|
83
|
-
|
|
84
|
-
```text
|
|
85
|
-
{{YYYY-MM-dd}}
|
|
86
|
-
Daily note {{dd.MM.YYYY}}
|
|
87
|
-
Journal / {{YYYY}}-{{MM}}-{{dd}}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Supported date tokens:
|
|
91
|
-
|
|
92
|
-
| Token | Meaning | Example |
|
|
93
|
-
| --- | --- | --- |
|
|
94
|
-
| `YYYY`, `yyyy` | Four-digit year | `2026` |
|
|
95
|
-
| `YY` | Two-digit year | `26` |
|
|
96
|
-
| `MM`, `mm` | Two-digit month | `01` |
|
|
97
|
-
| `M`, `m` | Month without leading zero | `1` |
|
|
98
|
-
| `DD`, `dd` | Two-digit day | `05` |
|
|
99
|
-
| `D`, `d` | Day without leading zero | `5` |
|
|
100
|
-
|
|
101
|
-
### Week starts on
|
|
102
|
-
|
|
103
|
-
Controls the first day of the week in the calendar panel.
|
|
104
|
-
|
|
105
|
-
Available values:
|
|
106
|
-
|
|
107
|
-
- Monday
|
|
108
|
-
- Sunday
|
|
109
|
-
|
|
110
|
-
### Calendar notes notebook path
|
|
111
|
-
|
|
112
|
-
Controls where new calendar notes are created.
|
|
113
|
-
|
|
114
|
-
Example:
|
|
34
|
+
| Setting | Purpose |
|
|
35
|
+
| --- |-----------------------------------------------------------------------------------------------|
|
|
36
|
+
| Mode | Zen (one note/day) or Flow (multiple notes/day) |
|
|
37
|
+
| Zen mode title format | Title for the day's note, e.g. `{{YYYY-MM-dd}}` |
|
|
38
|
+
| Flow mode title format | Title for each Flow note; must contain `{{zenModeTitle}}`, e.g. `{{zenModeTitle}} - {{time}}` |
|
|
39
|
+
| Week starts on | Monday or Sunday |
|
|
40
|
+
| Calendar notes notebook path | Where new notes are created, e.g. `Calendar Notes/2026` |
|
|
41
|
+
| New calendar note template path | Joplin note used as a body template, e.g. `Templates/Calendar note` |
|
|
115
42
|
|
|
116
|
-
|
|
117
|
-
Calendar Notes/2026
|
|
118
|
-
```
|
|
43
|
+
Each setting includes inline help in Joplin with the full list of supported tokens.
|
|
119
44
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
If this setting is empty, new notes are created in the currently selected notebook. If no notebook is selected, Joplin's first available notebook is used as a fallback.
|
|
123
|
-
|
|
124
|
-
Notebook paths may use `/` or `\` as separators.
|
|
125
|
-
|
|
126
|
-
### New calendar note template path
|
|
127
|
-
|
|
128
|
-
Allows using an existing Joplin note as the body template for newly created calendar notes.
|
|
129
|
-
|
|
130
|
-
Example:
|
|
131
|
-
|
|
132
|
-
```text
|
|
133
|
-
Templates/Calendar note
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
If this setting is empty, new calendar notes are created with an empty body.
|
|
137
|
-
|
|
138
|
-
The value is a Joplin note path. The last path segment is treated as the template note title, and the previous segments are treated as notebook names.
|
|
139
|
-
|
|
140
|
-
## Template placeholders
|
|
141
|
-
|
|
142
|
-
Template note bodies support placeholders that are replaced when a calendar note is created.
|
|
143
|
-
|
|
144
|
-
Example template:
|
|
145
|
-
|
|
146
|
-
```markdown
|
|
147
|
-
# {{title}}
|
|
148
|
-
|
|
149
|
-
Date: {{date}}
|
|
150
|
-
|
|
151
|
-
## Plan
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
## Notes
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
## Summary
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Supported placeholders:
|
|
163
|
-
|
|
164
|
-
| Placeholder | Meaning | Example |
|
|
165
|
-
| --- | --- | --- |
|
|
166
|
-
| `{{title}}`, `{{noteTitle}}` | Generated note title | `2026-01-05` |
|
|
167
|
-
| `{{date}}`, `{{isoDate}}` | ISO date | `2026-01-05` |
|
|
168
|
-
| `{{YYYY}}`, `{{yyyy}}` | Four-digit year | `2026` |
|
|
169
|
-
| `{{YY}}` | Two-digit year | `26` |
|
|
170
|
-
| `{{MM}}`, `{{mm}}` | Two-digit month | `01` |
|
|
171
|
-
| `{{M}}`, `{{m}}` | Month without leading zero | `1` |
|
|
172
|
-
| `{{DD}}`, `{{dd}}` | Two-digit day | `05` |
|
|
173
|
-
| `{{D}}`, `{{d}}` | Day without leading zero | `5` |
|
|
174
|
-
| `{{date:dd.MM.YYYY}}` | Custom date expression | `05.01.2026` |
|
|
175
|
-
|
|
176
|
-
The `date:` placeholder accepts the same date tokens as the note title format.
|
|
177
|
-
|
|
178
|
-
## Important notes
|
|
179
|
-
|
|
180
|
-
- Matching is title-based. If several notes have the same generated title, the plugin opens the first matching note returned by Joplin.
|
|
181
|
-
- Changing the note title format changes which existing notes are recognized as calendar notes.
|
|
182
|
-
- Existing notes are searched in all notebooks, even when a calendar notes notebook path is configured.
|
|
183
|
-
- New notes receive their user-created and user-updated timestamps set to the start of the selected local day.
|
|
184
|
-
- The plugin does not move or rename existing notes automatically.
|
|
185
|
-
|
|
186
|
-
## Development
|
|
187
|
-
|
|
188
|
-
Install dependencies:
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
npm install
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
Build the plugin:
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
npm run dist
|
|
198
|
-
```
|
|
45
|
+
## How notes are matched
|
|
199
46
|
|
|
200
|
-
|
|
47
|
+
Notes are matched globally by title using the configured format. New notes are created in the configured notebook path (or the selected notebook if the path is empty).
|
|
201
48
|
|
|
202
49
|
## License
|
|
203
50
|
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": 1,
|
|
3
3
|
"id": "com.github.eugenelesnov.CalendarNotes",
|
|
4
4
|
"app_min_version": "3.5",
|
|
5
|
-
"version": "1.0.
|
|
5
|
+
"version": "1.0.1",
|
|
6
6
|
"name": "Calendar Notes",
|
|
7
7
|
"description": "Create notes for any day in the calendar.",
|
|
8
8
|
"author": "Eugene Lesnov",
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
"screenshots": [],
|
|
14
14
|
"icons": {},
|
|
15
15
|
"promo_tile": {},
|
|
16
|
-
"_publish_hash": "sha256:
|
|
17
|
-
"_publish_commit": "main:
|
|
16
|
+
"_publish_hash": "sha256:2395d09ea07339b5f619cb1a44f48112e1c01ecb23773c0f75d525ec78fa88bd",
|
|
17
|
+
"_publish_commit": "main:41ac4f0e4ffc53be00fd56e57e54c28e85cb0566"
|
|
18
18
|
}
|