Templater: автоматическое использование разных шаблонов в зависимости от метода создания заметки (имени файла)

Ранее тут делились шаблоном, который вставляет в ежедневную заметку ссылки на предыдущий и следующий день. Я решил его улучшить, сделать так, чтобы при нажатии на следующий день не просто создавалась пустая заметка, а сразу по шаблону ежедневной заметки.

Для этого в настройках в разделе Folder Templates я выбрал шаблон, из которого будет создаваться любая новая заметка. Но это привело к новой проблеме: теперь при создании любой новой заметки использовался этот шаблон.

Нужно было сделать так, чтобы в зависимости от способа создания заметки (переход по ссылке, ведущей на еще не созданную заметку или простое создание новой заметки) использовались разные шаблоны. Ниже решение:

Основной шаблон для новой заметки:

<%*
let title = tp.file.title
var TemplateText;
if(title.startsWith("Без названия")) { 
	TemplateText = "" 
	await tp.file.rename(tp.file.creation_date("YYYY.MM.DD HH_mm_ss")   );
} else {
	TemplateText = await tp.file.include("[[Шаблон страницы дня]]")
};

tR += TemplateText;
%>

Вместо [[Шаблон страницы дня]] вставляете ссылку на любой свой шаблон

При этом шаблон ежедневной заметки содержит

<< [[<% tp.date.now("YYYY.MM.DD", -1, tp.file.title, "YYYY.MM.DD") %>]] | [[<% tp.date.now("YYYY.MM.DD", 1, tp.file.title, "YYYY.MM.DD") %>]] >>

Итого:

  • В шаблоне ежедневной заметки есть удобные кнопки для навигации между ближайшими днями.
  • При нажатии на следующий день, для него автоматически создастся заметка по шаблону ежедневной заметки. Так, к примеру, нажатием одной кнопки можно сразу приступить к набрасыванию плана на следующий день.
  • При создании новой заметки стандартным методом имя заметки меняется на текущие дату и время. Это нужно для того, чтобы избежать конфликтов синхронизации при создании заметок с разных устройств.
4 лайка

Вопрос про шаблоны, у меня есть цельная куча разных шаблонов, которые так или иначе используются. Это и шаблон стандартной заметки, и книжной заметки (но она вызывается quick add) и шаблон для дайжеста, для гостей дискуссионного клуба. В общем – целый зоопарк.

Как может помочь темплейтер навести порядок в этом зоопарке? У меня он, конечно стоит, но использовать его так и не научился.

Исходя из описания задачи не понял, зачем нужен для этого отдельный плагин вместо родного.

Я этот использую по причине более богатого языка, такой код, как выше, в стандартном не запустить.

Чем плагин может помочь:

Если шаблоном создаётся файл в специфическую папку, можно к этой папке привязать определённый шаблон по умолчанию.

Можно хоткеи назначить на шаблоны.

Но я запускаю шаблоны (кроме описанного выше) просто выбором из списка шаблонов, а это есть и в templater и в нативном плагине.

Собственно, в чем сложность? Их настолько много, что неудобно выбирать из списка? И там и там есть поиск в списке шаблонов.

Нет, действительно удобно. Я честно думал, что может есть какая-то более продвинутая функция, которая показывает новое, ранее неизвестное мне использование.

Текущий фоеймворк, базовый, крайне функциональный. Смотрю на то чем может быть полезен темплейтер в приницпе. Не являюсь поверюзером темплейтера, отсюда и интерес.

До этого не понимал пользы датавью, пока не попробовал первые вещи на нем поделать.

Можно ли новичку для более глубокого понимания принципов ведения заметок, посмотреть ()на форуме) наглядные примеры шаблонов, которые позволят стартануть так, что не потребуется через 2 месяца все менять и быстрее углубится в принципы zettelkasten. Формирования тегов, названия файлов, перелинковка.

Шаблонов, которые мы используем для ведения своих заметок?

1 лайк

Да, все верно, я про них

Накидал вот тут: Шаблоны ведения заметок

1 лайк

Столкнулся с тем, что не обновляется информация о дате последнего редактирования,

Вношу изменения, а строка изменено не меняется, использую вот такой шаблон:

Мне кажется в разметке yaml оно и не будет обновляться.

Снесите ниже и проверьте.

Фактически попробовал добавить ниже, да, код отрабатывает, показывает дату последнего изменения, но фактически он показывает, когда добавляешь строку с кодом и активируешь CMD+R, а сам не обновляется.