Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

20.11.2023

org-roam

Замечательное средство для ведения цеттелькастена, из которого я делаю вот этот цифровой сад. Случайные заметки.

Как обсидиан, только в emacs (то есть, в привычной для емаксеров среде работы с текстом) и на основе формата org-mode (тоже язык легкой разметки, как и markdown, и учитывая весьма крутой и интересный org-mode емакса - это много плюшек). :))

task management with org-roam

На сейчас (2022-09-24) всякие такие штуки не использую. Список файлов для agenda включает в себя и орг-роамные, но добавляю вручную. При этом сама тема создания проектных файлов именно в орг-роаме — на мой взгляд очень правильна.

обработать каким-то образом все орг-роамные файлы

https://org-roam.discourse.group/t/how-to-list-incomplete-entries/2444/3 Здесь - всем добавить тег draft.

(dolist (f (org-roam-list-files))
        (progn
        (interactive)
        (find-file f)
        (org-roam-tag-add
         '("draft"))
        (save-buffer)
        (kill-current-buffer)))

Искалочка оргроамного - по тегам, названию, части пути.

Если захочется делать сохранённые поиски.

(org-roam-node-find t "japan" nil)
[[elisp:(org-roam-node-find t "japan" nil)]] - в виде ссылки.

Если это оставить ссылкой, org-roam-graph портится — делает dot, который не конвертируется в svg из-за синтаксической ошибки.

Какой примерно командой можно смотреть, что там пошло не так, подставляя правильное имя файла:

dot -Tpng /tmp/input.dot > output.png
dot -Tsvg /tmp/input.dot > output.svg

Соответственно, png и svg на выходе.

И ещё есть org-roam-db-query.

Переименовывать файл вслед за тайтлом. Мне, по ходу, ненужное.

, примерно как в v1 https://org-roam.discourse.group/t/does-renaming-title-no-longer-renames-the-filename/2018/2

(defun azr/org-roam-modify-title ()
    "Modify title of org-roam current node and update all backlinks in roam database."
    (interactive)
    (unless (org-roam-buffer-p) (error "Not in an org-roam buffer."))
    (save-some-buffers t)
    (let* ((old-title (org-roam-get-keyword "title"))
           (ID (org-entry-get (point) "ID"))
           (new-title (read-string "Enter new title: " old-title)))
      (org-roam-set-keyword "title" new-title)
      (save-buffer)
      (let* ((new-slug (org-roam-node-slug (org-roam-node-at-point)))
             (new-file-name (replace-regexp-in-string "-.*\\.org" (format "-%s.org" new-slug) (buffer-file-name)))
             (new-buffer-name (file-name-nondirectory new-file-name)))
        (rename-buffer new-buffer-name)
        (rename-file (buffer-file-name) new-file-name 1)
        (set-visited-file-name new-file-name)) ; I don't know why this last command is necessary. Getting it from here: https://stackoverflow.com/a/384346/2422698
      (save-buffer)
      ;; Rename backlinks in the rest of the Org-roam database.
      (let* ((search (format "[[id:%s][%s]]" ID old-title))
             (replace (format "[[id:%s][%s]]" ID new-title))
             (rg-command (format "rg -t org -lF %s ~/Org/roam/" search))
             (file-list (split-string (shell-command-to-string rg-command))))
        (dolist (file file-list)
          (let ((file-open (get-file-buffer file)))
            (find-file file)
            (beginning-of-buffer)
            (while (search-forward search nil t)
              (replace-match replace))
            (save-buffer)
            (unless file-open
              (kill-buffer)))))))


Как сделать заголовок с id не узлом графа

Засунуть в PROPERTIES

:ROAM_EXCLUDE: t

Чтобы видеть структуру - org-roam-graph.

The entry point to graph creation is org-roam-graph. Прикрутила к кнопочкам C-c n g

Function: org-roam-graph & optional arg file node-query

Build and possibly display a graph for FILE from NODE-QUERY. If FILE is nil, default to current buffer’s file name. ARG may be any of the following values:

https://org-roam.discourse.group/t/update-a-field-last-modified-at-save/321/7 - способ обновлять тег Last-modified

(require 'time-stamp)
(add-hook 'write-file-functions 'time-stamp)

https://www.emacswiki.org/emacs/TimeStamp

сохранённый поиск - уже не помню, чем заинтересовало

following query to retrieve the file names of all notes that are related (target of links) to notes that have embedding and change in their file names:

SELECT DISTINCT(source) FROM links WHERE dest LIKE "%embedding%" INTERSECT SELECT DISTINCT(source) FROM links WHERE dest LIKE "%change%" сохраненный поиск https://org-roam.discourse.group/t/how-to-create-a-link-to-a-org-roam-search/85/3

убрать с модлайна org-roam-ui и org-roam-ui-follow моды

(diminish 'org-roam-ui-mode)
(diminish 'org-roam-ui-follow-mode)

Ссылки


Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение на agnessa@agnessa.pp.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍