Gkroam is a lightweight roam repica, built on top of Org-mode.
另外,我不清楚 org-roam 是怎么实现的。如果要支持其他格式的文件(markdown?),没有org的原生支持,headline引用该怎么实现呢?似乎很麻烦。
Gkroam is a lightweight roam repica, built on top of Org-mode.
另外,我不清楚 org-roam 是怎么实现的。如果要支持其他格式的文件(markdown?),没有org的原生支持,headline引用该怎么实现呢?似乎很麻烦。
org-roam
还是基于org
的,但是它要求开启org-roam-mode
(这是一个minor-mode
)。
使用minor-mode
的一个好处是优先级高,可以防止keymap
被覆盖。 这是个它的定义 org-roam-mode
此外,company-mode
的额外依赖不是必须的,直接提供completion-at-point-functions
就可以了吧?
之前的 linked reference 只支持在没有标题 且 链接位于 plain list 的第一级 item 时,可以在 reference中显示整个 list 结构。现在,经过完善已经非常强大了,实现了和 Roam Research 一样的效果。即,链接位于 plain list 的任意层级的任意位置,都会在 reference 中显示整个层级结构。
之前生成 headline id 的时机是每次保存时生成,且作用于所有 headline。这样对于使用 自动保存 的用户很不友好,且存在大量冗余的 id properties。 现在只有在使用 gkroam-insert
插入 headline 链接时生成对应页面的对应 headline 的 id 并缓存。
对于多余的 id properties,可以手动删除,也可以不管,对使用没有影响。对于已经存在的冗余 缓存,使用 gkroam-rebuild-caches
命令清除所有旧的缓存,生成新的 只有 headline 引用的缓存。
根据 @Youmu 的建议, 设置 gkroam-mode 为 minor mode。按键绑定到 gkroam-mode-map, 优先级更高。(注意更新配置)
Link brackets 的渲染由 overlay 改为 text-properties 实现。
删掉了 gkroam-toggle-dynamic
,动态模式在 text properties 中不好实现。且原本的代码有bug(光标不闪)。
优化了 gkroam-smart-new
的逻辑,更加智能。
gkroam-find
。在windows以及wsl的ubuntu系统里都安装了gkroam
wsl里面可以看到linked reference 而在win下面就没有显示linked refence也没有错误提示
exec-find 可以找到ripgrep(用scoop安装) 不知道怎么解决这个问题
我手头上没有用于测试的 windows, 你可以到 GitHub 开个issue,我回头研究一下。
gkroam-delete
, 用于删除 page.gkroam-insert-new
命令为 gkroam-dwim
.gkroam-show-unlinked
在 side window 显示 unlinked references.今天准备适用一下gkroam,发现这个root dir 不能向下发现子目录的文件。这个就很麻烦了,只能发现一级目录的文件
是的,不能。因为gkroam不关心文件名及文件的层级。不过改的话应该也不困难。你可以提个issue,我有空改一下。
好的感谢,其实 root-dir type sexp -> directory 是个好的方式,至少和org-roam org-brain一样了,用户可以无痛build-cache去用gkroam.至于multi-dirs. type -> list,这个就看作者你了,org-roam已经有相关的issue讨论,必要性其实不大。我的初衷就是用gkroam的轻量+org-brain的graph mindmap去代替org-roam.
gkroam 和 org-brain 配合效果怎么样? 我是用 org-brain 和 org-agenda 配合,有心研究研究roam ,但又担心太复杂,人老了,有点懒了
是的, org-roam我在windows上安装老费劲了, 还慢. 然后一怒之下我就去用obsidian了…
gkroam是无法和org-brain使用的,gkroam-link-mode还要适配org-brian-vis。就是它独特的语法设计{[xx][xx]} 导入到处其他格式都需要一次转换。如果到ref link已经涉及结构
,为啥当前的insert link还需要这种语法。不直接使用[id:xxx][headline]一开始设计的时候,没有考虑到兼容性这些,就是按照我自己的方式来。这个问题reddit上也有人提过,我是有计划支持原生 org link 的,不过暂时没有时间搞。如果你非要用的话,可以试试这个链接转换补丁。
怎么用的啊?gkroam-insert新建一个链接后,在链接上回车,创建了一个有linked reference的文件,然后在里面不能编辑?一直提示
newline: Text is read-only: “References region is uneditable.” [6 times]
OK,原来编辑区域是在上面。