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
- Calendar Notes is a Joplin plugin that adds a small calendar panel for opening or creating day-based notes.
3
+ A Joplin plugin that adds a calendar panel for daily notes.
4
4
 
5
- Use it as a lightweight daily journal, work log, meeting diary, or any workflow where one note should represent one calendar day.
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
- - Open a calendar from the note toolbar or the **Tools** menu.
10
- - Click any day to open the note for that date.
11
- - Automatically create the note if it does not exist yet.
12
- - Highlight calendar days that already have matching notes.
13
- - Navigate between months and jump back to today.
14
- - Configure the note title format.
15
- - Choose whether the week starts on Monday or Sunday.
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
- - Joplin **3.5** or newer.
24
+ Joplin **3.5** or newer.
23
25
 
24
26
  ## Installation
25
27
 
26
- ### From Joplin
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
- ```text
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
- Open **Tools Options → Calendar Notes** to configure the plugin.
75
-
76
- ### Note title format
77
-
78
- Controls how calendar note titles are generated.
79
-
80
- Date expressions must be wrapped in `{{...}}`. Text outside the braces is kept as-is.
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
- ```text
117
- Calendar Notes/2026
118
- ```
43
+ Each setting includes inline help in Joplin with the full list of supported tokens.
119
44
 
120
- If the path does not exist, the plugin creates the missing notebooks automatically.
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
- The build process creates the plugin package in the generated publish output used by the Joplin plugin tooling.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joplin-plugin-calendar-notes",
3
- "version": "0.9.0",
3
+ "version": "1.1.1",
4
4
  "description": "Create notes for any day in the calendar",
5
5
  "author": "Eugene Lesnov",
6
6
  "scripts": {
@@ -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.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:f51b4c4f78a7b5cd1146b6658db394f377cfb79afe250e020859964d139f6d53",
17
- "_publish_commit": "main:8f0d5859e4476bb189b4458321918a64a05e538e"
16
+ "_publish_hash": "sha256:2395d09ea07339b5f619cb1a44f48112e1c01ecb23773c0f75d525ec78fa88bd",
17
+ "_publish_commit": "main:41ac4f0e4ffc53be00fd56e57e54c28e85cb0566"
18
18
  }