org-mode
Прекрасное средство для работы с текстами и планами. Опять же, случайные бессистемные заметки о.
Вообще, подумала, что сложно рассказывать, что это такое.
- просто возможность удобно работать со структурированными файлами - древовидная структура, заголовки на любую, наверное, безумную глубину, сворачивание, разворачивание, ограничение области видимого.
- легкий язык разметки, где при этом основное есть.
- списки, в том числе чеклисты с возможностью ставить отметки выполнения и видеть, какая часть сделана
- "шкафчики" (drawers), возможность сворачивать некоторую область текста, не делая там ничего подзаголовком. Можно использовать самой, есть и те, которые делает сам орг-мод, чтоб хранить в тексте какую-то информацию.
- комментарии - в смысле, можно закомментировать какую-то часть файла, чтоб оно не экспортировалось, не применялось, но оставалось.
- блоки для разных целей - включать и выполнять код на разных языках, отображать стихи или цитаты, да мало ли.
- таблички с формулами. Вот многострочных и объединенных ячеек нет, это иногда жаль.
- ссылки, наружу вообще, на другие файлы, на другие разделы этого же файла.
- тудушки - с возможностью весьма хитрой настройки статусов, приоритетов, категорий. И сборка адженды, обзор тудушек многих файлов. Назначение расписаний, назначение дедлайнов…
- теги
- свойства
- учёт времени
- перекидывание фрагментов файлов между файлами не только путём копипаста руками
- формочки для инфы
- прикладывание файлов к текстам
- экспорт в разные форматы
- возможность работать с шифрованными файлами и разделами файлов - https://www.masteringemacs.org/article/keeping-secrets-in-emacs-gnupg-auth-sources
- дико удобная возможность работать с кусочками исходного кода, выполнять прямо с места, получать результат, собирать из кусочков файлы. Удобство literate programming, когда пишешь текст и код так, что в результате и читать реально удобно, и работает. Я уже убеждалась, что мне прям надо прям подробно писать себе самой даже по поводу очень простых штук, что это я делаю и зачем - потому что забывается всё. Так вот тут - удобно! - org-babel
- и уйма дополнений, которые пишут по разным случаям. Теоретически можно ж и самой что-то писать, это я пока не умею, но ничего невозможного.
Не уверена, что перечислила всё, что стоило упомянуть, но я хотя бы попыталась :) Полнее, наверное, - https://orgmode.org/features.html.
- https://orgmode.org/quickstart.html
- https://orgmode.org/guide/ - пишут, побольше инфы, чем в быстром старте, поменьше, чем в мануале. (Мануал - поистине чтение на многие годы, перечитывать и перечитывать :))
- https://github.com/tbanel/orgaggregate – анализ табличек
Странички про оргмодное
архивировать
org-archive-location — очень удобная переменная. Можно в файл рядом, можно в том же файле под специальный заголовок, можно в другой файл в другой папке, там ещё datetree и заголовок.
The "datetree/" string is special, signifying to archive items to the datetree. Items are placed in either the CLOSED date of the item, or the current date if there is no CLOSED date. The heading will be a subentry to the current date. There doesn’t need to be a heading, but there always needs to be a slash after datetree. For example, to store archived items directly in the datetree, use "~/org/datetree.org::datetree/".
Про повторяющиеся даты (2023-10-05)
Для SCHEDULED событий можно ставить даты, которые будут переставляться в будущее после завершения событий.
Если хочется перенести на условное через 5 дней, то
- +5d - перенесет на 5 дней относительно той даты, на которую было намечено. Если условная я спохватилась отметить сделанное через недельку, то намеченная дата окажется вообще в прошлом.
- .+5d - перенесет на 5 дней относительно даты, когда я отметила. Хорошо работает с тем, что хочется делать с определенной периодичностью, но что не имеет внешних привязок. Условно, если я хочу мыть голову не реже, чем раз в пять дней, то неважно, что там было раньше. Я отметила сегодня, значит, следующий раз напомнить нужно через пять дней от сегодня, тчк.
- ++5d - перенесет на дату обязательно в будущем, но от ближайшего предыдущего по расписанию. Условно, если у меня намеченная дата в этом месяце - 5ое (и дальше предполагались бы 10, 15, 20…), и я спохватилась числа этак 12го отметить дело сделанным в этот раз, то следующее намеченное будет 15го, а не 17го, как было бы при
.+5d, и не 10го, как было бы при+5d.
inline-task (2021-12-02)
годится для ситуации, когда хочется в середину каких-нибудь заметок вкошачить тудушку, которую вообще не хочется делать заголовком.
(require 'org-inlinetask)
Потом оно по умолчанию по С-с С-x t.
Создаёт заголовок этак 15 уровня (настраиваемое число, смысл - так глубоко, что обычных заголовков такого уровня нет), в который можно вставить то самое todo со всей метаинфой. И заголовок того же уровня END после, чтоб идущее дальше не затрагивало.
Прикольно. Сейчас снова начала вести дневниковые заметки, там прекрасная уместная штука. :)
https://orgmode.org/worg/doc.html - выловлено тут.
Комментарии
2021-11-15
Org mode has a variety of ways to add comments.
- Line comments start with #.
- Inline comments wrap
@@comment:like so@@.Причёмcomment:в начале - необходимо. И они не многострочные, только до конца строки. - Block comments are wrapped with #+BEGIN_COMMENT and #+END_COMMENT.
- Section comments can be created by adding the COMMENT keyword to a heading
* COMMENT like so.
Вот внутристрочные не замечала раньше. Это как раз из - https://orgmode.org/quickstart.html
org-capture
перестал одобрять file+datetree, хотя в доках ещё и не вычищены все следы. Надо заменять на file+olp+datetree. https://orgmode.org/org.html#Capture-templates Это про формочки для быстрых записей, содержимое которых уходит на заранее указанное место.
- https://github.com/alphapapa/org-protocol-capture-html - про то, чтоб собирать текст из браузера не тупо текстом, а с таблицами и ещё какой-то осмысленной разметкой.
- https://github.com/sprig/org-capture-extension - расширение для упрощения настройки в файрфоксе и гугл-хроме.
ютюб-видео с расшифровкой
https://sachachua.com/blog/2021/04/org-mode-insert-youtube-video-with-separate-captions/
А для возни с локальным - mpv.el.
Библиография
- https://blog.tecosaur.com/tmio/2021-07-31-citations.html - обещают в близком будущем.
- https://github.com/jkitchin/org-ref
- https://github.com/jkitchin/org-ref/blob/master/org-ref.org
Для работы с bibtex-ссылками
auto-add-update-date-of-last-modification-of-heading-and-or-its-body-to
- https://emacs.stackexchange.com/questions/39348/org-auto-add-update-date-of-last-modification-of-heading-and-or-its-body-to - если хочется, чтоб в properties подзаголовка обновлялась дата изменения именно этого фрагмента.
Временами перестают срабатывать шаблончики вида <буква +Tab.
Вообще, это модуль Org-tempo. Про tempo, на котором он летает, е тут: темплейты и шаблоны
Вставляются ещё по C-c C-, - там будет выбор буквы.
Custom-id
Через установку property Custom_ID
- C-c C-x p (org-set-property)
- Set a property. This prompts for a property name and a value. If necessary, the property drawer is created as well.
Потом ссылка выглядит как
#* Headline # :PROPERTIES: # :CUSTOM_ID: myID # :END: # #и в другом месте # #[[#custom_id-name]] #либо #<a href="my-file.html#myID">Headline</a>
Собстно, тока для красивых ссылок. Так просто id норм.
Не зашло
- org-fc - spaced repetition
org-brain
Мне не зашло. По крайней мере, пока.
- https://github.com/Kungsgeten/org-brain - больше руководство
- https://kungsgeten.github.io/org-brain.html - больше о том, зачем
org-protocol - сгребать фрагменты из браузера
Одно время активно использовала, сейчас практически никогда.
- https://orgmode.org/manual/Protocols.html, особенно https://orgmode.org/manual/The-capture-protocol.html#The-capture-protocol
- И ещё инструкций - http://orgmode.org/worg/org-contrib/org-protocol.html
- Кажется, вариант, сгребающий с html-разметкой, но не разбиралась https://github.com/alphapapa/org-protocol-capture-html
- https://www.orgroam.com/manual.html#Org_002droam-Protocol - примерно то же, но про org-roam. И https://github.com/org-roam/org-roam/blob/master/org-roam-capture.el - там в комментариях кода про то, что там вообще возможно.
Cохраняю сразу в файл ссылку, тайтл страницы, текст страницы и дату добавления.
Это в настроечном файл должно быть сразу:
- (server-start) - чтобы можно было подключаться через emacsclient.
- (add-to-list 'load-path "~/path/to/org-protocol/") - но возможно, у вас об этом заботится менеджер пакетов.
- (require 'org-protocol) - возможно, это заменяется на настройку переменной org-modules.
Это в закладку. Да, джаваскрипт. Я их не люблю, но этот полезный.
javascript:location.href='org-protocol://capture://l/'\sout{encodeURIComponent(location.href)}'/'\sout{encodeURIComponent(document.title)}'/'+encodeURIComponent(window.getSelection())
l после "org-protocol://capture://" - это буква используемого шаблона, может быть и другой. Шаблоны настраиваются через M-x customize-apropos<RET>org-capture-templates. Шаблон l у меня выглядит в итоге уже в конфиге так:
("l" "" entry (file+headline "~/Desktop/org/notes.org" "Captured links") "** \%:description
- Добавляется в файл notes.org, под заголовок * Captured Links
- :immediate-finish - чтоб не приходилось вручную подтверждать добавление, переключаясь в емакс. Если я что хочу подправить, я это в файле сделаю.
- :prepend - расположение "новые вверху".
<a href="org-protocol://capture://l/'+encodeURIComponent(location.href)+'/'+encodeURIComponent(document.title)+'/'+encodeURIComponent(window.getSelection())">Линк для настройки org-capture</a>
В смысле, тыркать и смотреть, проходит ли и чокак.
Повторяющееся событие - org-clone-subtree-with-time-shift
M-x org-clone-subtree-with-time-shift (or C-c C-x c if you can remember it).
You simply create one instance of your event without any repeater interval and invoke M-x org-clone-subtree-with-time-shift. Then, Org asks you how many copies it should create and an optional time-shift between those instances.
With our volleyball example, this would look like that:
- Volleyball training
Then invoke M-x org-clone-subtree-with-time-shift, ask for twenty copies (or how many weeks in advance you want to define trainings), and a time-shift of 1w.
Then you end up with following headings:
- Volleyball training
- Volleyball training
- Volleyball training
- Volleyball training
[…]
Now you have in total twenty-one instances of your volleyball training event. You are now free to delete single occurrences (canceled trainings), delete a series of trainings (school holidays with no hall), move single occurrences to different days (exceptions), and you are able to add notes to single trainings more easily.
I am using this method instead of sexp expressions for advanced recurrence definitions like «every second Tuesday of the month». I clone an event with a almost fitting period like +4w. Then I manually change the instances to fix them. I move to the months where +4w did not result in the second Tuesday and use Shift left and right to modify the time-stamp.
It is highly recommended to create a simple recurring todo scheduled after the last clone which reminds you of creating the clones for the next series of events. https://karl-voit.at/2017/01/15/org-clone-subtree-with-time-shift/
helm-org-rifle-*
"I prefer the body text being part of the search space. Currently, I usually use tags when normal search results return too many candidates to skim. In recent months, I learned to love helm-org-rifle-* for searching the current file or all of my agenda files." https://karl-voit.at/2020/06/14/Zettelkasten-concerns/
Ссылки
- https://cao.sh/blog/2024-12-27--on-notes-apps/ – статеечко про то, как конкретный чел устроил всё у себя. Английский, старается быть понятным.
- https://orgmode.org/org.html - мануал на одной странице.
- https://orgmode.org/manual/index.html - оглавление многостраничного варианта
- https://orgmode.org/worg/dev/org-syntax.html
- https://www.emacswiki.org/emacs/OrgMode - оргмодная страничка на емаксвики
- https://karl-voit.at/2019/09/25/using-orgmode/
- https://karl-voit.at/2017/09/23/orgmode-as-markup-only/ - про оргмод как разметку.
- https://karl-voit.at/2020/01/20/start-using-orgmode/ - как начать (ну, по мне можно и ещё проще)
- https://karl-voit.at/2021/08/30/the-org-mode-way/ - правильное использование - а как понравится, так и правильно. Текст об этом. Ну, от авторитетного чела такое тож полезно :)
- ссылки про разное оргмодное
