GNU bug report logs -
#27153
gnu: sicp: Add the HTML version.
Previous Next
Full log
View this message in rfc822 format
Yesterday, while browsing the Info version of SICP, I came accross an
incomplete figure (Figure 3.1: environments A and B are missing). I
thought the HTML version might be complete and indeed it was. It's
really nice by the way, see http://sarabander.github.io/sicp/. And real
figures are in my opinion more pleasant to study than ASCII art figures.
So I think we should add the HTML version to our package. :-) That
would allow us to use it without Internet access.
I find it much easier to browse the Info manual than the HTML one, so I
wrote this small Elisp snippet to switch from the former to the latter:
--8<---------------cut here---------------start------------->8---
(defun sicp-browse ()
"Ask a browser to load the HTML version of the current node."
(interactive)
(let* ((home (expand-file-name "~"))
(dir (concat "file://" home "/.guix-profile/share/doc/sicp/html/"))
(node Info-current-node)
(pattern
(string-join
'("^\\(?1:[0-9]\\)\.\\(?2:[0-9]\\)\.\\(?3:[0-9]\\)$" ; 4-5-7
"^\\(?1:[0-9]\\)\.\\(?2:[0-9]\\)$" ; 4-5
"^Chapter \\(?1:[0-9]\\)$") ; Chapter 4
"\\|")))
(if (string-match pattern node)
(let ((chapter (match-string 1 node)) ; 4
(section (match-string 2 node)) ; 5
(sub-section (match-string 3 node)) ; 7
base
(anchor ""))
(if section
(setq base (format "%s_002e%s" chapter section))
(setq base (format "Chapter-%s" chapter)))
(when sub-section
(setq anchor (format "#g_t%s_002e%s" base sub-section)))
(browse-url (concat dir base ".xhtml" anchor)))
(error "Node not matched"))))
--8<---------------cut here---------------end--------------->8---
This bug report was last modified 7 years and 356 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.