Denote. Соглашение об именовании
Denote. Соглашение об именовании.
Содержание
1 Общая информация
- Emacs. Пакет denote
- Поддерживает любые текстовые форматы файлов.
- Информация кодируется в названии файла.
- Название файла следует строгим соглашениям.
2 Схема именования файлов
- Каталог с файлами содержит просто список файлов, желательно избегать подкаталоги. 
- Шаблон имени файла: - DATE==SIGNATURE--TITLE__KEYWORDS.EXTENSION
- Поле - DATE: дата в формате год-месяц-день, за которой следует с большой буквы- T(для «времени») текущее время в обозначение час-минута-секунда.- Примерно так: 20220531T091625.
- DATEслужит уникальным идентификатором каждого файла.
 
- Примерно так: 
- Поле - SIGNATURE: строка буквенно-цифровых символов.- Не имеют чётко определённой цели.
- Определяется пользователем.
- Варианты заполнения:- Разделение видео на части : part1иpart2.
- Приоритет : a,b,c.
- Для установления последовательные отношения между файлами (например, 1, 1a, 1b, 1b1, 1b2, …).
 
- Разделение видео на части : 
- Подписи — это дополнительное расширение схемы именования файлов Denote.
- Их можно добавлять во вновь создаваемые файлы по требованию с помощью команды denote-signatureили изменив значение пользовательской опцииdenote-prompts.
 
- Поле - TITLE: заголовок заметки, предоставленный пользователем.- По умолчанию он автоматически записывается строчными буквами, через дефис (см. Соглашения о кодировании).
 
- Поле - KEYWORDSсостоит из одной или нескольких записей, разделённых значком подчёркивание.- Каждое ключевое слово строка, предоставленная пользователем в соответствующем приглашении, которая в целом описывает содержание записи.
- Каждое из ключевых слов представляет собой одно слово.
- Пользователи, которым необходимо составить ключевое слово из нескольких слов, например как camelCase/CamelCase, рекомендуется использовать опцию пользователя denote-file-name-slug-functions.
 
- EXTENSION: тип файла.- По умолчанию это .org(org-mode) хотя пользовательский вариантdenote-file-typeобеспечивает поддержку Markdown с вариантами YAML или TOML (.md) и простой текст (.txt).
 
- По умолчанию это 
- Примеры: - 20220610T043241--initial-thoughts-on-the-zettelkasten-method__notetaking.org 20220610T062201--define-custom-org-hyperlink-type__denote_emacs_package.md 20220610T162327--on-hierarchy-and-taxis__notetaking_philosophy.txt
- Различные разделители полей, а именно - --и- __дают эффективный способ поиска.- Запрос для _wordвсегда соответствует ключевому слову, а регулярное выражение в виде"\\([0-9T]+?\\)--\\(.*?\\)_"фиксирует дату в группе\1и название в\2.
 
- Запрос для 
- Можно использовать следующие перестановки частей имён файлов: - DATE.EXT DATE--TITLE.EXT DATE__KEYWORDS.EXT DATE==SIGNATURE.EXT DATE==SIGNATURE--TITLE.EXT DATE==SIGNATURE--TITLE__KEYWORDS.EXT DATE==SIGNATURE__KEYWORDS.EXT
- По умолчанию имена файлов имеют три поля и два набора разделителей между ними: - DATE--TITLE__KEYWORDS.EXTENSION
- Когда подпись присутствует: - DATE==SIGNATURE--TITLE__KEYWORDS.EXTENSION
3 Изменение порядка компонентов имени файла
- Стандартная схема именования файлов предписывает определённый порядок компонентов имени файла.
- Также предоставляется опция пользователя denote-file-name-components-order, позволяющая пользователю изменить их порядок по своему усмотрению.
- Значением этой пользовательской опции является список следующих символов:- identifier: комбинация даты и времени. Когда он первый в списке, то пишется без префикса. Когда он находится в другом месте имени файла, он пишется с префиксом- @@(например,- @@20240519T073456).
- signature: произвольная строка, которую можно использовать для определения файла каким-либо образом, в соответствии с методологией пользователя. Строка всегда имеет префикс- ==.
- title: произвольная строка, описывающая файл. Всегда с префиксом- --.
- keywords: серия из одного или нескольких слов. Несколько ключевых слов разделяются подчёркиванием. Компонент имени файла всегда имеет префикс- __.
 
- Все четыре символа должны появиться ровно один раз. Дубликаты игнорируются. Любой недостающий символ добавляется автоматически.
- Примеры:(setq denote-file-name-components-order '(identifier signature title keywords)) ;; => 20240519T07345==hello--this-is-the-title__denote_testing.org (setq denote-file-name-components-order '(signature identifier title keywords)) ;; => ==hello@@20240519T07345--this-is-the-title__denote_testing.org (setq denote-file-name-components-order '(title signature identifier keywords)) ;; => --this-is-the-title==hello@@20240519T07345__denote_testing.org (setq denote-file-name-components-order '(keywords title signature identifier)) ;; => __denote_testing--this-is-the-title==hello@@20240519T07345.org
- Выберите один вариант расположения элементов имени.
3.1 Очистка компонентов имени файла
- Имена файлов могут содержать любые символы, разрешённые файловой системой.
- Denote накладывает несколько дополнительных ограничений:- Элементы ==,__и--интерпретируются Denote и должны появляются только один раз.
- В имени файла не допускается использование точки, за исключением расширения типа файла.- Denote распознает два расширения для зашифрованных файлов, например .txt.gpg.
 
- Denote распознает два расширения для зашифрованных файлов, например 
 
- Элементы 
- По умолчанию Denote применяет правила к именам файлов denote-file-name-slug-functions.
- Эти правила применяются к имена файлов по умолчанию:- Удаляются незаконные символы.
- Запись названия файла осуществляется через дефис.
- Из ключевых слов удаляются пробелы и другие разделители.
- Все компоненты имени файла записываются в нижнем регистре.
 
ы
4 Поддержка цепочек заметок
- Denote может поддерживать концепцию Folgezettel (см. Нумерация Folgezettel).
- Поддержка осуществляется расширением denote-sequence.el.
- Используется необязательная компонента имени файла SIGNATURE.
- Специализированный вариант использования SIGNATURE— определить иерархические отношения между файлами.
- Предлагается разделать элементы знаком равно: =.
- Например, примечание с SIGNATURE1=1является первым дочерним примечанием к1и сестринским примечаним к1=2.
- Пользовательская опция denote-sequence-schemeпозволяет выбрать либо числовую (numeric) схему вида1=1=2или буквенно-цифровую (alphanumeric) схему вида1a2.
4.1 Числовая схема секвенирования
- Числовая последовательность состоит только из чисел.
- Поля разделены знаком равно.
- Таким образом, последовательность 1=1=2состоит из трёх уровней глубины.
- Для более глубоких последовательностей числовая схема станет длиннее.
- Плюс состоит в том, что можно использовать большие числа, такие как 1=100=2=50.
4.2 Буквенно-цифровая схема секвенирования
- Буквенно-цифровая последовательность объединяет цифры и буквы, которые чередуются.
- Например, последовательность 1a2имеет три уровня глубины.
- Эта схема компактнее.
- Может труднее восприниматься, например 1zzzv2zxсоответствует числовой схеме1=100=2=50(число 26 - z, 27 - это za, 52 zz и так далее).
