Динамически изменяемое имя файла в org-повестки дня-экспорт - PullRequest
0 голосов
/ 29 апреля 2019

Я хотел бы экспортировать представление повестки дня в отдельный файл с уникальным именем на основе текущей даты.Основываясь на этом примере кода:

(setq org-agenda-custom-commands
    '(("X" agenda "" nil ("agenda.ps")))
)

Последний аргумент - это имя файла, поэтому я подумал, что могу поместить вывод функции concat, например:

(setq org-agenda-custom-commands
    '(("X" agenda "" nil (concat (format-time-string "%Y-%m-%d") "-agenda.html")))
)

К сожалению,этот подход не работает, так как интерпретатор воспринимает буквально concat, а строка (ожидаемый тип данных) не генерируется.Я не очень знаком с LISP, поэтому любая помощь очень ценится.

1 Ответ

0 голосов
/ 30 апреля 2019

Прежде всего, последний аргумент - это не имя файла, а список имен, поэтому вы должны добавить несколько дополнительных скобок.

Как вы уже заметили, из-за цитаты Список не оценивается, и это нормально, так как вам не нужно его оценивать, кроме последнего элемента (функция concat).Для этого вы можете использовать обратную цитату :

(setq org-agenda-custom-commands
    `(("X" agenda "" nil (,(concat (format-time-string "%Y-%m-%d") "-agenda.html"))))
)

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

...