当前位置: 首页 > 科技观察

在Firefox上使用Org协议捕获URLs

时间:2023-03-15 19:29:51 科技观察

简介作为一个Emacs人,我尽量将我的所有工作流程保持在Org模式下——我更喜欢文本。我倾向于在Org-modewaitlist中为记录添加书签,而Org-protocol,org-protocol,允许外部进程利用Org-mode的一些特性。但是,配置这样做很麻烦。有很多教程(在搜索引擎上),也有类似这样的Firefox扩展,但我对其中任何一个都不是很满意。所以我决定把我目前的配置记录在这个博客里,以方便其他有需要的人。配置EmacsOrg模式启用Org协议:(require'org-protocol)添加捕获模板捕获模板——我的配置是这样的:(setqorg-capture-templates(quote(...("w""org-protocol"entry(file"~/org/refile.org")"*TODOReview%a\n%U\n%:initial\n":immediate-finish)...)))您可以从Org阅读schemamanual在捕获模板一章中获取帮助。设置默认使用的模板:(setqorg-protocol-default-template-key"w")执行这些新配置,使它们在当前Emacs会话中生效。快速测试在开始下一步之前,让我们测试配置:emacsclient-n"org-protocol:///capture?url=http%3a%2f%2fduckduckgo%2ecom&title=DuckDuckGo"基于配置模板,可能会弹出一个弹窗向上捕获窗口。请确保其正常工作,否则以下操作无意义。如果它不起作用,请检查以前的配置并确保执行这些代码块。如果你有一个旧版本的Org-mode(早于7),测试的格式有点不同:这种URL编码格式需要更改为使用斜线来分隔url和标题。通过在线搜索很容易找到两者之间的区别。Firefox协议现在设置Firefox。浏览:配置。右键单击配置项列表,选择“新建->布尔”,然后输入network.protocol-handler.expose.org-protocol作为名称并将值设置为true。有的教程说这一步可以省略——适不适合因人而异。添加一个桌面文件大多数教程都有这个步骤:添加一个文件~/.local/share/applications/org-protocol.desktop:[DesktopEntry]Name=org-protocolExec=/path/to/emacsclient-n%uType=ApplicationTerminal=falseCategories=系统;MimeType=x-scheme-handler/org-protocol;然后运行更新程序。对于i3窗口管理器,我使用以下命令(与gnome相同):update-desktop-database~/.local/share/applications/KDE方法不同...您可以查看其他相关教程。在FireFox中设置捕获按钮创建一个书签(我在工具栏上创建了这个书签),在地址栏中输入如下内容:javascript:location.href="org-protocol:///capture?url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title||"[untitledpage]")保存书签后,再次编辑书签,你应该看到其中的所有空格都被替换为%20--即,空格的URL编码形式。现在,当您单击该书签时,您将在某个Emacs框架(可能是任何框架)中打开一个窗口,显示您预先确定的模板。