Архив
● Форум в архиве

Форум сообщества Zettelkasten работал с 2021 по 2026 год. Читать можно всё, писать — уже нет. Вся жизнь сообщества теперь — в книжном клубе ККРА: встречи, задания, записи и разговоры.

В книжный клуб →
Архив форума / Obsidian

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

11 сообщений · 2 420 просмотров 21 апреля 2022 — 31 июля 2022
Dmitry_Fert #1

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

Для этого в настройках в разделе 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
Рустам@Rustam #2

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

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

Dmitry_Fert #3 · ↩ #2

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

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

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

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

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

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

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

Рустам@Rustam #4 · ↩ #3

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

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

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

Денис@shdenis #5 · ↩ #2

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

Рустам@Rustam #6 · ↩ #5

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

♥ 1
Денис@shdenis #7 · ↩ #6

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

Рустам@Rustam #8 · ↩ #7

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

♥ 1
Денис@shdenis #9

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

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

Рустам@Rustam #10 · ↩ #9

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

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

Денис@shdenis #11 · ↩ #10

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

● Продолжить разговор

Обсуждение закрыто вместе с форумом. Поговорить об этом можно в книжном клубе ККРА — там теперь живёт сообщество.

В книжный клуб →