关于Org-capture的一些问题...

org
elisp

#1

我现在在用Org-mode构建一个笔记系统,然后现在我遇到了这样一个问题,我在org-capture里面键入了内容之后,我想在保存的时候动态指定保存位置和文件名,然后在所载入org-capture模板所在的文件夹内的index.org文件内建立一个hyperlink指向它,使得我下次在访问index.org的时候点击hyperlink就直接跳到那个文件里,这个怎么实现,求论坛内的各位大佬和Emacs道友帮忙解答我的疑惑


#2

挺复杂的需求……

  1. 保存的时候动态指定保存位置和文件名: 是指每次 capture 的内容都保存成一个单独的文件吗?如果不是的话是在若干已知的位置、文件名中选择吗?如果是后者的话看是否能不能按规律拆成多个 org-capture 的模板,感觉会简单一些;如果是前者也有办法;如果是介于两者之间那……告辞……

  2. org-capture 成功后好像会记录一个 last capture 的信息,所以手工在 org-capture 结束后去那个 index.org 里插入这个信息能接受吗?如果不能的话也许能用 org-capture-after-finalize-hook 来达到目的,但这个没怎么用过也不是很熟

感觉你是想用来建立 wiki 或其他类似的东西?不妨再展开聊聊呗,因为确实不是很理解你为什么要这么做……如果是我猜想的那样,我也挺有兴趣的。


#6

是这样,假设我Org文件的根目录下有三个文件夹,note,work,journal和一个总索引文件index.org每个文件夹下面有一个index.org和templates.org(模板),我org-capture写了一个note,我要保存到note1.org里,在保存的时候,minibuffer显示:Save capture at: note/,然后后面写上note1.org,回车保存,在保存的时候,要在note/index.org内建立一个超链接,超链接名字为note1.org的org标签#+TITLE所写的内容,使得我在访问根目录下的index.org时,点击note/note1.org的超链接我直接跳到note/note1.org里去。


#7

然后index的管理方面,我是这样计划的: 在总index文件内,用一级标题当文件夹的名字 然后在这些一级标题后面跟上一个有序列表,列表内记录文件夹下的org文件的超链接,这个有序列表是按照每个文件夹下面的index为基础来做的。 我不知道这个能不能做


#8

https://code.orgmode.org/bzg/org-mode/src/master/contrib/scripts/dir2org.zsh

org-plus-contrib 里有个脚本专门把目录结构flatten到一个org文件里作为索引, 可以考虑在org-capture结束后执行这个脚本手动更新索引