我正在考虑使用 Sphinx 改进信息页面的索引。但为了做到这一点,我需要某种方式以编程方式提取所有节点(以便然后通过 xmlpipe 将每个节点的内容插入数据库)。但是,我没有看到以编程方式执行此操作的方法,您对如何执行此操作有什么建议吗?
它被标记为“Emacs”,因为 Emacs 可以用作信息浏览器,并且如果原始的信息程序不能生成这样的列表,那么使用 Emacs Lisp 来实现此目的也是可以的。
附言:如果某人有更多声誉,请添加“信息”标签,因为用 Google 搜索它已经够难的了。
编辑,我想我已经有所收获:
info --subnodes -o ./info.txt
这几乎就是我想要的,只是它提供了太多信息(不仅是节点列表,还有一些描述和装饰)。
好吧,写起来似乎比搜索更容易,毕竟整个努力的目的就是让搜索更容易,所以,我认为,没有坏处!:D
(defun sphinx-info-nodes ()
(let ((tmp-file (make-temp-file "info")))
(shell-command (format "info --subnodes -o '%s'" tmp-file))
(with-temp-buffer
(insert-file-contents tmp-file)
(cl-loop while (re-search-forward "^\\*\\s-*\\([^:]+\\):" nil t)
collect (match-string 1)))))