Weekly Note command + docs
parent
23fd58bad4
commit
c56261a024
|
@ -203,6 +203,11 @@ functions:
|
|||
command:
|
||||
name: "Open Daily Note"
|
||||
key: "Alt-Shift-d"
|
||||
weeklyNoteCommand:
|
||||
path: ./template.ts:weeklyNoteCommand
|
||||
command:
|
||||
name: "Open Weekly Note"
|
||||
key: "Alt-Shift-w"
|
||||
|
||||
instantiateTemplateCommand:
|
||||
path: ./template.ts:instantiateTemplateCommand
|
||||
|
|
|
@ -152,6 +152,47 @@ export async function dailyNoteCommand() {
|
|||
}
|
||||
}
|
||||
|
||||
function getWeekStartDate(monday = false) {
|
||||
const d = new Date();
|
||||
const day = d.getDay();
|
||||
let diff = d.getDate() - day;
|
||||
if (monday) {
|
||||
diff += day == 0 ? -6 : 1;
|
||||
}
|
||||
return new Date(d.setDate(diff));
|
||||
}
|
||||
|
||||
export async function weeklyNoteCommand() {
|
||||
const { weeklyNoteTemplate, weeklyNotePrefix, weeklyNoteMonday } =
|
||||
await readSettings({
|
||||
weeklyNoteTemplate: "template/page/Weekly Note",
|
||||
weeklyNotePrefix: "🗓️ ",
|
||||
weeklyNoteMonday: false,
|
||||
});
|
||||
let weeklyNoteTemplateText = "";
|
||||
try {
|
||||
weeklyNoteTemplateText = await space.readPage(weeklyNoteTemplate);
|
||||
} catch {
|
||||
console.warn(`No weekly note template found at ${weeklyNoteTemplate}`);
|
||||
}
|
||||
const date = niceDate(getWeekStartDate(weeklyNoteMonday));
|
||||
const pageName = `${weeklyNotePrefix}${date}`;
|
||||
if (weeklyNoteTemplateText) {
|
||||
try {
|
||||
await space.getPageMeta(pageName);
|
||||
} catch {
|
||||
// Doesn't exist, let's create
|
||||
await space.writePage(
|
||||
pageName,
|
||||
replaceTemplateVars(weeklyNoteTemplateText, pageName),
|
||||
);
|
||||
}
|
||||
await editor.navigate(pageName);
|
||||
} else {
|
||||
await editor.navigate(pageName);
|
||||
}
|
||||
}
|
||||
|
||||
export async function insertTemplateText(cmdDef: any) {
|
||||
const cursorPos = await editor.getCursor();
|
||||
const page = await editor.getCurrentPage();
|
||||
|
|
|
@ -10,6 +10,7 @@ release.
|
|||
* New directive `#eval` see [[🔌 Directive@eval]]
|
||||
* New PlugOS feature: redirecting function calls. Instead of specifying a `path` for a function, you can now specify `redirect` pointing to another function name, either in the same plug using the `plugName.functionName` syntax.
|
||||
* `Cmd-click` or `Ctrl-click` now opens page references in a new window. You can `Alt-click` to put your cursor at the target without navigation.
|
||||
* New {[Open Weekly Note]} command (weeks start on Sunday by default, to allow for planning, but you can change this to Monday by setting the `weeklyNoteMonday` to `true` in [[Settings]]). Like for {[Open Daily Note]} you can create a template in `template/page/Weekly Note`.
|
||||
* The `Create page` option when navigating pages now always appears as the _second_ option. Let me know how you like it.
|
||||
* New `Preview` using a custom markdown renderer offering a lot of extra flexibility (and a much smaller file size). New thing it does:
|
||||
* Render front matter in a table
|
||||
|
|
|
@ -65,7 +65,12 @@ Which would insert the cursor right after `#query`.
|
|||
### Daily Note
|
||||
|
||||
The {[Open Daily Note]} command navigates (or creates) a daily note prefixed
|
||||
with a 📅 emoji by default, but this is configurable via the `dailyNotePrefix` setting in `SETTINGS`. If you have a page template (see above) named `Daily Note` it will use this as a template, otherwise, the page will just be empty.
|
||||
with a 📅 emoji by default, but this is configurable via the `dailyNotePrefix` setting in `SETTINGS`. If you have a page template (see above) named `templates/page/Daily Note` it will use this as a template, otherwise, the page will just be empty.
|
||||
|
||||
### Weekly Note
|
||||
|
||||
The {[Open Weekly Note]} command navigates (or creates) a weekly note prefixed
|
||||
with a 🗓️ emoji by default, but this is configurable via the `weeklyNotePrefix` setting in `SETTINGS`. If you have a page template (see above) named `templates/page/Weekly Note` it will use this as a template, otherwise, the page will just be empty.
|
||||
|
||||
### Quick Note
|
||||
|
||||
|
|
Loading…
Reference in New Issue