Estou pensando em melhorar a indexação de páginas de informações com o Sphinx. Mas, para fazer isso, eu precisaria de algum modo de extrair programaticamente todos os nós (para então inserir o conteúdo de cada nó em um banco de dados via xmlpipe). Mas, eu não vejo uma maneira de fazer isso de forma programática, você tem alguma sugestão sobre como fazer isso?
Isto é marcado como "Emacs" porque o Emacs pode ser usado como navegador de informações, e se o programa Info original não puder produzir tal lista, então usar o Emacs Lisp para esse propósito também seria OK.
PS. Alguém com mais rep. Por favor, adicione "info" tag, é difícil o suficiente para google como ele é.
Editar , acho que estou chegando a algum lugar:
info --subnodes -o ./info.txt
Isso é quase o que eu quero, exceto que ele fornece muita informação (não apenas a lista de nós, mas também alguma descrição e decoração).
OK, escrever parece ser mais fácil do que pesquisar, bem, afinal o objetivo de todo esse esforço é tornar a busca mais fácil, então, eu acho, nenhum mal feito! : 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)))))