Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- sexp.lua - new code to handle elisp hyperlinks. -- This is experimental and loaded by only a few files: -- (find-THgrep "grep --color -nH -e sexp.lua *.blogme") -- It uses: -- (find-angg "LUA/lua50init.lua" "EevIntro") -- (find-angg "LUA/lua50init.lua" "ELispH") -- (find-angg "LUA/lua50init.lua" "ELispHF") -- (find-angg "LUA/lua50init.lua" "SexpSkel") -- (find-angg "LUA/lua50init.lua" "ELispInfo") -- -- Test and debug with: -- (eek "M-h M-k M-h b ;; find-sexptotarget-links") -- (find-efunction 'find-sexptotarget-links) -- (find-angg ".emacs" "sexptotarget") -- (to "tests") -- -- This is part of blogme3. -- Author: Eduardo Ochs <[email protected]> -- Version: 2019feb28 -- <http://anggtwu.net/blogme3/sexp.lua> -- <http://anggtwu.net/blogme3/sexp.lua.html> -- License: GPL. -- «.find-xxx-intros» (to "find-xxx-intros") -- «.find-xxxnodes» (to "find-xxxnodes") -- «.code-c-d-angg» (to "code-c-d-angg") -- «.STOH» (to "STOH") -- «.tests» (to "tests") -- «find-xxx-intros» (to ".find-xxx-intros") -- See: (find-blogme3 "eevintros.lua" "listofintros") -- (find-fline "~/eev-intros/README" " (find-eev-intro)") ee_intro_stems_generator = function () local bigstr = ee_readfile "~/eev-intros/README" local pat = "\n %(find%-([!-~]*)%-intro%)" return bigstr:gmatch(pat) end ee_intro_stems = [[ anchors audiovideo bounded brxxx channels code-c-d debootstrap defun dot-emacs edit-index eejump eepitch eev eev-exercises eev-install eev-levels eev-quick elisp emacs emacs-keys escripts eval git here-links kl-here kla lean4 lexical links-conv links lua-tutorial multiwindow org pdf-like prepared psne rcirc refining rstdoc saving-links show2 strange-functions templates three-main-keys try-sly videos video-links windows-beginner wrap lisptree show-conses ]] for _,stem in ipairs(split(ee_intro_stems)) do local f=format("find-%s-intro", stem) _EHF[f] = ELispHF.newintro(f) end -- «find-xxxnodes» (to ".find-xxxnodes") -- (find-blogme3 "angglisp.lua" "code_c_m_b_s") -- (find-es "lua5" "ELispInfo") -- (find-angg "LUA/lua50init.lua" "ELispInfo") code_c_m_b = function (c, manual, basedir) infomanual_basedir[manual] = basedir local find_cnode = "find-"..c.."node" _EHF[find_cnode] = ELispHF.newnode(find_cnode, c, manual) end code_c_m_b("e", "emacs", "http://www.gnu.org/software/emacs/manual/html_node/emacs/") code_c_m_b("el", "elisp", "http://www.gnu.org/software/emacs/manual/html_node/elisp/") code_c_m_b("eli", "eintr", "http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/") code_c_m_b("efaq", "efaq", "https://www.gnu.org/software/emacs/manual/html_node/efaq/") code_c_m_b("cl", "cl", "http://www.gnu.org/software/emacs/manual/html_node/cl/") code_c_m_b("gnus", "gnus", "http://www.gnu.org/software/emacs/manual/html_node/gnus/") code_c_m_b("message", "message", "http://www.gnu.org/software/emacs/manual/html_node/message/") code_c_m_b("woman", "woman", "http://www.gnu.org/software/emacs/manual/html_node/woman/") code_c_m_b("rcirc", "rcirc", "http://www.gnu.org/software/emacs/manual/html_node/rcirc/") code_c_m_b("org", "org", "http://www.gnu.org/software/emacs/manual/html_node/org/") code_c_m_b("gst", "gst", "http://www.gnu.org/software/smalltalk/manual/html_node/") code_c_m_b("gstbase", "gst-base", "http://www.gnu.org/software/smalltalk/manual-base/html_node/") code_c_m_b("gstlibs", "gst-libs", "http://www.gnu.org/software/smalltalk/manual-libs/html_node/") code_c_m_b("pclcvs", "pcl-cvs", "http://www.gnu.org/software/emacs/manual/html_node/pcl-cvs/") code_c_m_b("autotype", "autotype", "http://www.gnu.org/software/emacs/manual/html_node/autotype/") code_c_m_b("libc", "libc", "http://www.gnu.org/software/libc/manual/html_node/") code_c_m_b("make", "make", "http://www.gnu.org/software/make/manual/html_node/") code_c_m_b("grub", "grub", "https://www.gnu.org/software/grub/manual/grub/html_node/") code_c_m_b("gawk", "gawk", "http://www.gnu.org/software/gawk/manual/html_node/") code_c_m_b("texi", "texinfo", "http://www.gnu.org/software/texinfo/manual/texinfo/html_node/") code_c_m_b("gcc", "gcc-4.1", "http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/") code_c_m_b("coreutils", "coreutils", "http://www.gnu.org/software/coreutils/manual/html_node/") code_c_m_b("bash", "bash", "http://www.gnu.org/software/bash/manual/html_node/") code_c_m_b("bash", "bashref", "http://www.gnu.org/software/bash/manual/html_node/") code_c_m_b("wget", "wget", "http://www.gnu.org/software/wget/manual/html_node/") code_c_m_b("slime", "slime", "http://common-lisp.net/project/slime/doc/html/") code_c_m_b("bison", "bison", "http://www.gnu.org/software/bison/manual/html_node/") code_c_m_b("octave", "octave", "http://www.gnu.org/software/octave/doc/interpreter/") code_c_m_b("rcirc", "rcirc", "http://www.gnu.org/software/emacs/manual/html_node/rcirc/") code_c_m_b("binutils", "binutils", "http://sourceware.org/binutils/docs/binutils/") code_c_m_b("gdb", "gdb", "http://sourceware.org/gdb/download/onlinedocs/gdb/") code_c_m_b("parted", "parted", "https://www.gnu.org/software/parted/manual/html_node/") -- «code-c-d-angg» (to ".code-c-d-angg") -- (find-blogme3 "angglisp.lua" "code_c_d_angg") code_c_d_angg = function (c, d, suffix) local find_c = "find-"..c local find_cfile = "find-"..c.."file" _EHF[find_c ] = ELispHF.newangg(find_c, d, suffix or ".html") _EHF[find_cfile] = ELispHF.newangg(find_c, d, ".html") end code_c_d_angg("angg", "") code_c_d_angg("es", "e/", ".e.html") code_c_d_angg("dednat4", "dednat4/") code_c_d_angg("dn4", "dednat4/") code_c_d_angg("dn4ex", "dednat4/examples/") code_c_d_angg("dn5", "dednat5/") code_c_d_angg("dn6", "LATEX/dednat6/") code_c_d_angg("dednat6", "dednat6/") code_c_d_angg("dednat6lua", "dednat6/dednat6/") code_c_d_angg("blogme", "blogme/") code_c_d_angg("blogme3", "blogme3/") code_c_d_angg("blogme4", "blogme4/") code_c_d_angg("eev", "eev-current/") code_c_d_angg("flua", "flua/") code_c_d_angg("rubyforth", "rubyforth/") code_c_d_angg("miniforth", "miniforth/") code_c_d_angg("vtutil", "vtutil/") code_c_d_angg("vtutil4", "vtutil4/") code_c_d_angg("RETRO", "RETRO/") code_c_d_angg("gab", "gab/") code_c_d_angg("eevvideos", "eev-videos/") code_c_d_angg("quadr", "quadradinho/") code_c_d_angg("ydb", "youtube-db/") code_c_d_angg("fbcache", "fbcache/") code_c_d_angg("clg", "2019-CLG/") code_c_d_angg("books", "books/") -- «STOH» (to ".STOH") -- Sexp to html, sexp to target, sexp to section name... def [[ STOH 1 line SexpSkel.fromline(line:gsub("%s+", " ")):tosexphtml() ]] def [[ STOT 1 line SexpSkel.fromline(line:gsub("%s+", " ")):totarget() ]] def [[ STOSN 1 line '"'..R(STOT(line), (line:match'"(.*)"'))..'"' ]] -- «tests» (to ".tests") --[[ -- (find-angg "LUA/lua50init.lua" "loadblogme3") -- (find-es "blogme" "interactive") -- (find-angg ".emacs" "blogme3") -- (find-blogme3 "angglisp.lua" "code_c_d_angg") * (eepitch-blogme3) * (eepitch-kill) * (eepitch-blogme3) require "sexp" for stem in ee_intro_stems_generator() do print(stem) end = _EHF = STOH '(find-eev-quick-intro "1. Installing eev")' = STOH '(find-three-main-keys-intro)' = STOH 'foo (find-eev-quick-intro "1. Installing eev") ' = STOH '(find-enode "Top") ' = STOT '(find-grubnode "Overview") ' = STOH '(find-blogme3 "sexp.lua") ' = STOH '(find-blogme3 "sexp.lua" "STOH") ' _EHF["code-video"] = ELispHF {f="codevideo"} = STOH '(code-video "ECvideo" "/foo/bar-86yiRG8YJD0.mp4")' = STOH '(find-ECvideo "1:23")' * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "sexp.lua" --]]