Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;; This file: ;; http://anggtwu.net/.emacs.templates ;; http://anggtwu.net/.emacs.templates.html ;; file:///home/edrx/TH/L/.emacs.templates.html ;; (find-angg ".emacs.templates") ;; ;; (load (buffer-file-name)) ;; (find-angg ".emacs") ;; (find-angg ".emacs" ".emacs.papers") ;; (find-angg ".emacs" ".emacs.templates") ;; «.ee-template» (to "ee-template") ;; «.ee-template-expand» (to "ee-template-expand") ;; «.ee-match-data-replace» (to "ee-match-data-replace") ;; «.find-edrx-update-links» (to "find-edrx-update-links") ;; «.find-qtdemo-links» (to "find-qtdemo-links") ;; «.find-dn4tex-links» (to "find-dn4tex-links") ;; «.find-beamer-links» (to "find-beamer-links") ;; «.s2008a» (to "s2008a") ;; «.find-blogme3-links» (to "find-blogme3-links") ;; «.find-blogme3-curso-links» (to "find-blogme3-curso-links") ;; «.find-curso-links» (to "find-curso-links") ;; «.find-curso-makefile-links» (to "find-curso-makefile-links") ;; «.find-quadro-links» (to "find-quadro-links") ;; «.find-baudio-links» (to "find-baudio-links") ;; «.bsec» (to "bsec") ;; «.ee-bsec» (to "ee-bsec") ;; «.ee-mkdl» (to "ee-mkdl") ;; «.find-mkdl» (to "find-mkdl") ;; «.ee-ps2pdf-script» (to "ee-ps2pdf-script") ;; «.class» (to "class") ;; «.bname» (to "bname") ;; «.find-scp-links» (to "find-scp-links") ;; «.find-gigapedia-links» (to "find-gigapedia-links") ;; «.find-dn5-file-links» (to "find-dn5-file-links") ;; «.find-blogme4-file-links» (to "find-blogme4-file-links") ;; «.find-dhmake-links» (to "find-dhmake-links") ;; «.find-dhmake-old-links» (to "find-dhmake-old-links") ;; «.find-escript-links» (to "find-escript-links") ;; «.find-thttpd-links» (to "find-thttpd-links") ;; «.find-gitclone-links» (to "find-gitclone-links") ;; «.find-newhost-links» (to "find-newhost-links") ;; «.find-newhost-links-old» (to "find-newhost-links-old") ;; «.find-prince-links» (to "find-prince-links") ;; «.find-youtubedl-links-old» (to "find-youtubedl-links-old") ;; «.find-eepitch-def-links» (to "find-eepitch-def-links") ;; «.find-wpa-links» (to "find-wpa-links") ;; «.find-intro-links» (to "find-intro-links") ;; «.diagskel» (to "diagskel") ;; «.ee-latex-header» (to "ee-latex-header") ;; «.find-tail-call-links» (to "find-tail-call-links") ;; «.find-pdflikedef-links» (to "find-pdflikedef-links") ;; «.find-eev-video-record-links» (to "find-eev-video-record-links") ;; «.find-eev-create-tar-links» (to "find-eev-create-tar-links") ;; «.find-screencast-links» (to "find-screencast-links") ;; «.find-angg-upload-links» (to "find-angg-upload-links") ;; «.find-blogme-upload-links» (to "find-blogme-upload-links") ;; «.find-a2html-upload-links» (to "find-a2html-upload-links") ;; «.find-escript-upload-links» (to "find-escript-upload-links") ;; «.find-latex-upload-links» (to "find-latex-upload-links") ;; «.find-book-links» (to "find-book-links") ;; «.find-lua-links» (to "find-lua-links") ;; «.find-scast-links» (to "find-scast-links") ;; «.find-python-links» (to "find-python-links") ;; «.find-fbc-links» (to "find-fbc-links") ;; «.find-lualatex-links» (to "find-lualatex-links") ;; «.find-dlualatex-links» (to "find-dlualatex-links") ;; «.find-br-links» (to "find-br-links") ;; «.find-pastebin-links» (to "find-pastebin-links") ;; «.find-texlive-links» (to "find-texlive-links") ;; «.find-matplotlib-links» (to "find-matplotlib-links") ;; «.find-C-links» (to "find-C-links") ;; «.find-luarocks-links» (to "find-luarocks-links") ;; «.find-luarocks-src-links» (to "find-luarocks-src-links") ;; «.find-math-b-links» (to "find-math-b-links") ;; «.find-defcsprefix-links» (to "find-defcsprefix-links") ;; «.find-debian-version-links» (to "find-debian-version-links") ;; «.find-sound-debug-links» (to "find-sound-debug-links") ;; «.find-bradytdd-links» (to "find-bradytdd-links") ;; «.find-dednat4-convert-links» (to "find-dednat4-convert-links") ;; «.find-psne-article-links» (to "find-psne-article-links") ;; «.find-psne-arxiv-links» (to "find-psne-arxiv-links") ;; «.find-book-grep-links» (to "find-book-grep-links") ;; «.find-my-this-file-links» (to "find-my-this-file-links") ;; «.find-ebook-convert-links» (to "find-ebook-convert-links") ;; «.find-lilypond-links» (to "find-lilypond-links") ;; «.find-latexgimp-links» (to "find-latexgimp-links") ;; «.find-latexinkscape-links» (to "find-latexinkscape-links") ;; «.find-latexscan-links» (to "find-latexscan-links") ;; «.find-C2-aula-links» (to "find-C2-aula-links") ;; «.find-C3-aula-links» (to "find-C3-aula-links") ;; «.ee-template0-file» (to "ee-template0-file") ;; «.find-CN-aula-links» (to "find-CN-aula-links") ;; «.find-MM-aula-links» (to "find-MM-aula-links") ;; «.find-MM-aula-2023-2-links» (to "find-MM-aula-2023-2-links") ;; «.find-MM-tudo-links» (to "find-MM-tudo-links") ;; «.find-ssr-links» (to "find-ssr-links") ;; «.find-obs-links» (to "find-obs-links") ;; «.find-emacs-test-links» (to "find-emacs-test-links") ;; «.find-vimeodl-links» (to "find-vimeodl-links") ;; «.find-repl-lualatex-links» (to "find-repl-lualatex-links") ;; «.find-classroom-trab-links» (to "find-classroom-trab-links") ;; «.find-emacsdevel-links» (to "find-emacsdevel-links") ;; «.find-helpgnuemacs-links» (to "find-helpgnuemacs-links") ;; «.find-emacsorgmode-links» (to "find-emacsorgmode-links") ;; «.find-vscan-links» (to "find-vscan-links") ;; «.find-LATEXpdf-links» (to "find-LATEXpdf-links") ;; «.find-pdfpages-links» (to "find-pdfpages-links") ;; «.find-pdfpages2-links» (to "find-pdfpages2-links") ;; «.find-sshot-links» (to "find-sshot-links") ;; «.find-eevvideopage-links» (to "find-eevvideopage-links") ;; «.find-eevvideopage-linkss» (to "find-eevvideopage-linkss") ;; «.eev-videos-data» (to "eev-videos-data") ;; «.code-youtube» (to "code-youtube") ;; «.find-fossil-update-srf-links» (to "find-fossil-update-srf-links") ;; «.find-code-xxx-links» (to "find-code-xxx-links") ;; «.code-eec-LATEX» (to "code-eec-LATEX") ;; «.code-eec-dir» (to "code-eec-dir") ;; «.find-cp-angg-links» (to "find-cp-angg-links") ;; «.find-eevshortvideo-links» (to "find-eevshortvideo-links") ;; «.find-telegram-save-log-links» (to "find-telegram-save-log-links") ;; «.find-build-for-arxiv-links» (to "find-build-for-arxiv-links") ;; «.find-mygitrepo-links» (to "find-mygitrepo-links") ;; «.find-rcirc-quick-links» (to "find-rcirc-quick-links") ;; «.find-anggwget-links» (to "find-anggwget-links") ;; «.find-find-angg-links» (to "find-find-angg-links") ;; «.find-find-es-links» (to "find-find-es-links") ;; «.find-maclanemoerdijk-links» (to "find-maclanemoerdijk-links") ;; «.find-cwm-links» (to "find-cwm-links") ;; «.find-emacs28-bisect-by-hand-links» (to "find-emacs28-bisect-by-hand-links") ;; «.find-agda-links» (to "find-agda-links") ;; «.find-agdafile-links» (to "find-agdafile-links") ;; «.find-emodeline-links» (to "find-emodeline-links") ;; «.find-fvwmdoc-links» (to "find-fvwmdoc-links") ;; «.find-agdalatex-links» (to "find-agdalatex-links") ;; «.find-fsbot-links» (to "find-fsbot-links") ;; «.find-mvideo-links» (to "find-mvideo-links") ;; «.find-princeurl-links» (to "find-princeurl-links") ;; «.find-luademo-links» (to "find-luademo-links") ;; «.find-emlua-links» (to "find-emlua-links") ;; «.find-pict2elua-links» (to "find-pict2elua-links") ;; «.find-maxima-links» (to "find-maxima-links") ;; «.find-pip3-links» (to "find-pip3-links") ;; «.find-yttranscript-links» (to "find-yttranscript-links") ;; «.find-maximaindex-links» (to "find-maximaindex-links") ;; «.find-maximamsg-links» (to "find-maximamsg-links") ;; «.find-maximamsg» (to "find-maximamsg") ;; «.find-Maxima2-links» (to "find-Maxima2-links") ;; «.find-qdraw-links» (to "find-qdraw-links") ;; «.find-stream-links» (to "find-stream-links") ;; «.code-etv» (to "code-etv") ;; «.find-cabal-links» (to "find-cabal-links") ;; «.find-cabal-unpack-links» (to "find-cabal-unpack-links") ;; «.find-cabal-unpack» (to "find-cabal-unpack") ;; «.find-cabos-links» (to "find-cabos-links") ;; «.find-elinks-haskell» (to "find-elinks-haskell") ;; «.find-ghc-links» (to "find-ghc-links") ;; «.find-opam-links» (to "find-opam-links") ;; «.find-tikz-links» (to "find-tikz-links") ;; «.find-tikzsearch-links» (to "find-tikzsearch-links") ;; «.find-C2C3git-links» (to "find-C2C3git-links") ;; «.find-MMMMgit-links» (to "find-MMMMgit-links") ;; «.find-paps-links» (to "find-paps-links") ;; «.find-sandwiches-def-links» (to "find-sandwiches-def-links") ;; «.find-untgz-links» (to "find-untgz-links") ;; «.find-sandwichsexp-links» (to "find-sandwichsexp-links") ;; «.find-blogme3-rstdoc-links» (to "find-blogme3-rstdoc-links") ;; «.find-eepitch-select-shell-links» (to "find-eepitch-select-shell-links") ;; «.find-movebigfiles-links» (to "find-movebigfiles-links") ;; «.find-jpgstopdf-links» (to "find-jpgstopdf-links") ;; «.find-curso2023-links» (to "find-curso2023-links") ;; «.find-semestre-links» (to "find-semestre-links") ;; «.find-semestre-MM-links» (to "find-semestre-MM-links") ;; «.find-semestre-emacs-links» (to "find-semestre-emacs-links") ;; «.find-semestre-MM-quadros-links» (to "find-semestre-MM-quadros-links") ;; «.find-mkdir-links» (to "find-mkdir-links") ;; «.find-wgetrecursive-links» (to "find-wgetrecursive-links") ;; «.find-ajuda-email-links» (to "find-ajuda-email-links") ;; «.find-ajuda-jpgs-links» (to "find-ajuda-jpgs-links") ;; «.find-engrave-faces-links» (to "find-engrave-faces-links") ;; «.find-planodecurso-links» (to "find-planodecurso-links") ;; «.find-mtp-links» (to "find-mtp-links") ;; «.find-copy-quadros-links» (to "find-copy-quadros-links") ;; «.find-gmail-links» (to "find-gmail-links") ;; «.find-class-links» (to "find-class-links") ;; «.find-expands-links» (to "find-expands-links") ;; «.code-etv2» (to "code-etv2") ;; «.find-editeevsubtitles-links» (to "find-editeevsubtitles-links") ;; «.find-blogme3-legendas-links» (to "find-blogme3-legendas-links") ;; «.find-blogme3-st-up-links» (to "find-blogme3-st-up-links") ;; «.find-cp-LUA-links» (to "find-cp-LUA-links") ;; «.find-Deps1-links» (to "find-Deps1-links") ;; «.find-show2-links» (to "find-show2-links") ;; «.show2» (to "show2") ;; «.find-godotref-links» (to "find-godotref-links") ;; «.find-defhydra-links» (to "find-defhydra-links") ;; «.find-rsynccamera-links» (to "find-rsynccamera-links") ;; «.find-eev-new-el-file-links» (to "find-eev-new-el-file-links") ;; «.find-tikz2-links» (to "find-tikz2-links") ;; «.find-screenkey-links» (to "find-screenkey-links") ;; «.find-tikzsearch2-links» (to "find-tikzsearch2-links") ;; «.find-luaso-links» (to "find-luaso-links") ;; «.find-let*-macro-links» (to "find-let*-macro-links") ;; «.find-luawget-links» (to "find-luawget-links") ;; «.eewrap-require» (to "eewrap-require") ;; «.find-termux-links» (to "find-termux-links") ;; «.tm-expand» (to "tm-expand") ;; «.tm-setenv» (to "tm-setenv") ;; «.find-npm-links» (to "find-npm-links") ;; «.find-my-mode-links» (to "find-my-mode-links") ;; «.find-show2-use-links» (to "find-show2-use-links") ;; «.find-etv-links» (to "find-etv-links") ;; «.find-luatree-links» (to "find-luatree-links") ;; «.find-lean-links» (to "find-lean-links") ;; «.find-twitter-links» (to "find-twitter-links") ;; «.find-pdfanim-links» (to "find-pdfanim-links") ;; «.find-qrencode-links» (to "find-qrencode-links") ;; «.find-leanrstdoc-links» (to "find-leanrstdoc-links") ;; «.find-leanhtml-links» (to "find-leanhtml-links") ;; «.find-pyghtml-links» (to "find-pyghtml-links") ;; «.find-leanbook-links» (to "find-leanbook-links") ;; «.find-leanquestion-links» (to "find-leanquestion-links") ;; «.find-wrap-links» (to "find-wrap-links") ;; «.find-machinectl-tar-links» (to "find-machinectl-tar-links") ;; «.find-lakefile-links» (to "find-lakefile-links") ;; «.find-leanwgetr-links» (to "find-leanwgetr-links") ;; «.find-subtitles3-links» (to "find-subtitles3-links") ;; «.kla-tex» (to "kla-tex") ;; «.find-instagram-links» (to "find-instagram-links") ;; «.find-htmlpdf-links» (to "find-htmlpdf-links") ;; «.find-sbcl-links» (to "find-sbcl-links") ;; «.find-dednat7debug-links» (to "find-dednat7debug-links") ;; «.eewrap-maximamsg» (to "eewrap-maximamsg") ;; «.find-tryit-links» (to "find-tryit-links") ;; «.ee-tryit-1» (to "ee-tryit-1") ;; «.find-ytvideoinfo-links» (to "find-ytvideoinfo-links") ;; «.find-subs-links» (to "find-subs-links") ;; «ee-template» (to ".ee-template") ;; «ee-template-expand» (to ".ee-template-expand") ;; (find-efunction 'replace-regexp-in-string) ;; (find-elnode "Index" "* replace-regexp-in-string:") ;; (find-elnode "Search and Replace") ;; (find-elnode "Association Lists") ;; (cadr (assoc "b" '(("a" "AA") ("b" "CC") ("c" "CC")))) ;; (find-efunction 'find-psne-links) ;; Moved to: ;; (find-eev "eev-insert.el") ;; (find-eev "eev-insert.el" "ee-template") ' (defun ee-template (pairs template) (let ((f (lambda (match) (or (cadr (assoc (match-string 1 match) pairs)) match)))) (replace-regexp-in-string "{\\([^{}]+\\)}" f template 'fixedcase))) ;; Two demos: ' (ee-template '(("a" "AA") ("b" "CC") ("c" "CC")) "foo{a}bar{bla}poo{b}bletch") ' (ee-template '(("http" "https") ("a/b/" "foo/bar/") ("c" "index.html")) "* (eepitch-shell) mkdir -p $S/{http}/{a/b/} cd $S/{http}/{a/b/} wget '{http}://{a/b/}{c}' echo '{http}://{a/b/}{c}' >> ~/.psne.log") ;; «ee-match-data-replace» (to ".ee-match-data-replace") ;; (find-efunction 'replace-string) ;; (find-efunction 'replace-regexp-in-string) ;; (find-elnode "Search and Replace" "replace-regexp-in-string") ;; (find-elnode "Entire Match Data") ;; (find-elnode "Saving Match Data") ;; (find-elnode "Replacing Match") ;; (find-efunction 'set-match-data) ;; (find-efunction 'match-data) ;; (defun ee-match-data-pairs (start strings) (if strings (let* ((len (length (car strings))) (end (+ start len))) `(,start ,end . ,(ee-match-data-pairs end (cdr strings)))))) (defun ee-match-data-replace (strings replacement) (save-match-data (let* ((subj (apply 'concat strings)) (pairs (ee-match-data-pairs 0 strings))) (set-match-data `(0 ,(length subj) . ,pairs)) (replace-match replacement 'fixedcase nil subj)))) ;; Tests: ' (progn (string-match "<\\([a-z]+\\)_\\([a-z]+\\)>" "a<bc_def>g" 0) (match-data)) ;; --> (1 9 2 4 5 8) ' (ee-match-data-pairs 0 '("bc" "def")) ;; --> (0 2 2 5) ' (ee-match-data-replace '("bc" "def") "<\\1_\\2>") ;; --> "<bc_def>" ;; «find-edrx-update-links» (to ".find-edrx-update-links") ;; Skel: (find-find-links-links-new "edrx-update" "" "") ;; Test: (find-edrx-update-links) ;; (defun find-edrx-update-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for edrx-update." (interactive) (apply 'find-elinks `((find-edrx-update-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-edrx-update-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd laf edrx.tgz edrx-old.tgz mv -v edrx.tgz edrx-old.tgz wget http://anggtwu.net/edrx.tgz laf edrx.tgz edrx-old.tgz tar -xvzf edrx.tgz ") ) pos-spec-list)) ;; «find-qtdemo-links» (to ".find-qtdemo-links") ;; (find-qtdemo-links) (defun find-qtdemo-links (&optional name &rest rest) (interactive) (setq name (or name "{qtdemo}")) (find-elinks `((find-qtdemo-links ,name ,@rest) (find-angg ".emacs.templates" "find-qtdemo-links") (find-angg ".emacs" "qt") (find-qtprogrammingw3m "toc.html") (find-qt4docfile "") (find-es "qt") "" ,(ee-template `(("qtdemo" ,name)) "#* rm -Rv /tmp/{qtdemo}/ mkdir /tmp/{qtdemo}/ cd /tmp/{qtdemo}/ cat > {qtdemo}.pro <<'%%%' TEMPLATE = app CONFIG += qt warn_on HEADERS = SOURCES = main.cpp TARGET = {qtdemo} QTDIR_build:REQUIRES=\"contains(QT_CONFIG, small-config)\" %%% cat > main.cpp <<'%%%' #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton hello(\"Hello world!\"); hello.resize(100, 30); hello.show(); return app.exec(); } %%% qmake-qt4 -project qmake-qt4 {qtdemo}.pro make CXX=\"gcc -g\" |& tee om #*")))) ;; «find-dn4tex-links» (to ".find-dn4tex-links") ;; (find-angg ".emacs" "find-dn4tex-links") ;; (define-key eev-mode-map "\M-h\M-u" 'find-dn4tex-links) ;; Test: ;; (find-dn4tex-links) ;; (defun find-dn4tex-links (&optional stem &rest rest) "Visit a temporary buffer containing hyperlinks for dn4tex." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `( (find-dn4tex-links ,stem ,@rest) ;; "" ,(ee-template0 "\ # (kill-new \" LATEX/{stem}.tex\\n\") # (find-blogme3file \"anggmake.lua\" \"LATEX/\") # (wrobak 2 ' (find-angg \"LATEX/{stem}.tex\")) % (find-angg \"LATEX/{stem}.tex\") % (find-dn4ex \"edrx08.sty\") % (find-angg \".emacs.templates\" \"s2008a\") % (defun c () (interactive) (find-zsh \"cd ~/LATEX/ && ~/dednat4/dednat41 {stem}.tex && latex {stem}.tex\")) % (defun c () (interactive) (find-zsh \"cd ~/LATEX/ && ~/dednat4/dednat41 {stem}.tex && pdflatex {stem}.tex\")) % (eev \"cd ~/LATEX/ && Scp {stem}.{<}dvi,pdf{>} edrx@anggtwu.net:slow_html/LATEX/\") % (defun d () (interactive) (find-dvipage \"~/LATEX/{stem}.dvi\")) % (find-dvipage \"~/LATEX/{stem}.dvi\") % (find-pspage \"~/LATEX/{stem}.ps\") % (find-pspage \"~/LATEX/{stem}.pdf\") % (find-xpdfpage \"~/LATEX/{stem}.pdf\") % (find-zsh0 \"cd ~/LATEX/ && dvipdf {stem}.dvi {stem}.pdf\") % (find-zsh0 \"cd ~/LATEX/ && dvips -D 300 -o {stem}.ps {stem}.dvi\") % (find-zsh0 \"cd ~/LATEX/ && dvips -D 600 -P pk -o {stem}.ps {stem}.dvi && ps2pdf {stem}.ps {stem}.pdf\") % (find-zsh0 \"cd ~/LATEX/ && dvips -D 300 -o tmp.ps tmp.dvi\") % (find-pspage \"~/LATEX/tmp.ps\") % (ee-cp \"~/LATEX/{stem}.pdf\" (ee-twupfile \"LATEX/{stem}.pdf\") 'over) % (ee-cp \"~/LATEX/{stem}.pdf\" (ee-twusfile \"LATEX/{stem}.pdf\") 'over) % (find-twusfile \"LATEX/\" \"{stem}\") % http://anggtwu.net/LATEX/{stem}.pdf") ;; "\\documentclass[oneside]{book} \\usepackage[latin1]{inputenc} \\usepackage{edrx08} % (find-dn4ex \"edrx08.sty\") %L process \"edrx08.sty\" -- (find-dn4ex \"edrx08.sty\") \\input edrxheadfoot.tex % (find-dn4ex \"edrxheadfoot.tex\") \\begin{document}\n \\input {stem}.dnt\n %* % (eedn4-51-bounded)\n Index of the slides: \\msk % To update the list of slides uncomment this line: %\\makelos{tmp.los} % then rerun LaTeX on this file, and insert the contents of \"tmp.los\" % below, by hand (i.e., with \"insert-file\"): % (find-fline \"tmp.los\") % (insert-file \"tmp.los\")\n %*\n \\end{document}\n % L\157cal Variables: % coding: raw-text-unix % ee-anchor-format: \"«%s»\" % End:\n" ) rest)) ;; «find-beamer-links» (to ".find-beamer-links") ;; (find-find-links-links "{k}" "beamer" "stem") ;; A test: (find-beamer-links ___) (defun find-beamer-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq stem (or stem "{stem}")) (let* ((bigstr0 (ee-read-file "~/LATEX/beamer-template.tex")) (bigstr1 (replace-regexp-in-string "BSTEM" stem bigstr0 'fixedcase))) (apply 'find-elinks `((find-beamer-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-beamer-links) "" ,bigstr1 ) pos-spec-list))) ;; Test: (find-beamer-links "2099-foo") ;; «s2008a» (to ".s2008a") ;; (find-angg ".emacs.templates" "s2008a") ;; Used to create section headers for some LaTeX files. ;; (find-LATEX "2008comprcat.tex") ;; (defalias 's 's2008a) ;; Example: ' (eesteps '( (find-estring (format "%% %S\n" '(s2008a "Slide: foo bar" "foo-bar"))) "M-e")) (defun ee-delete-and-extract-this-line (&optional adjust) (ee-no-trailing-nl (ee-no-properties (ee-delete-and-extract-line adjust)))) (defun mysection (sectioncommand spaces title tag) (insert (ee-template `(("_section" ,sectioncommand) (" " ,spaces) ("title" ,title) ("tag" ,tag) ("line" ,(ee-delete-and-extract-this-line))) "\ % { }«.{tag}» (to \"{tag}\") % -------------------- % «{tag}» (to \".{tag}\") {line} {_section} {{title}} {{tag}} "))) (defun slide (title tag) (mysection "\\\\myslide" "" title tag)) (defun chap (title tag) (mysection "\\\\mychapter" "" title tag)) (defun sec (title tag) (mysection "\\\\mysection" " " title tag)) (defun subsec (title tag) (mysection "\\\\mysubsection" " " title tag)) ;; (mysection "\\\\section" " " "Foo Bar" "foo-bar") ;; (chap "Foo bar" "foo-bar") (defalias 's2008a 'sec) (defalias 's 'slide) (defalias 'sec2008a 'sec) (defalias 'chap2008a 'chap) ;; «find-blogme3-links» (to ".find-blogme3-links") ;; Skel: (find-find-links-links-new "blogme3" "stem" "") ;; Test: (find-blogme3-links) ;; See: (find-efunction 'find-find-links-links) ;; (find-efunction 'find-dn4tex-links) ;; (find-efunction 'blogme3-footer) ;; (find-efunction 'blogme3-lisp) ;; (find-find-links-links "blogme3") ;; (defun find-blogme3-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for blogme3." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `( (find-blogme3-links ,stem ,@pos-spec-list) (find-blogme3-utf8-links ,stem ,@pos-spec-list) (find-efunction 'find-blogme3-links) (find-efunction 'find-blogme3-utf8-links) (find-blogme3-curso-links) (find-blogme3file "blogme3.el") (find-blogme3file "") "" (kill-new ,stem) (find-blogme3 "anggmake.lua" "blogmestems") (find-TH ,stem) (ee-copy-rest 1 '(find-TH ,stem)) ;; ,(ee-template0 " \[INCLUDE TH/speedbar.blogme] \[SETFAVICON dednat4/dednat4-icon.png] \[SETFAVICON IMAGES/forthsun.png] \[# \(defun c () (interactive) (find-blogme3-sh0-if \"{stem}\")) \(defun u () (interactive) (find-blogme-upload-links \"{stem}\")) ;; http://anggtwu.net/{stem}.html ;; file:///home/edrx/TH/L/{stem}.html #] \[lua: require \"defs-2022\" -- (find-blogme3 \"defs-2022.lua\") short_:add [[ ]] ] \[SETHEADSTYLE [LUCIDA]] \[htmlize8 [J (Title)]\n ] \[# # Local Variables: # coding: utf-8-unix # modes: (fundamental-mode blogme-mode) # End: #]")) pos-spec-list)) (defun find-blogme3-links (&optional stem &rest rest) "Visit a temporary buffer containing hyperlinks for blogme3." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `( (find-blogme3-links ,stem ,@rest) (find-efunction 'find-blogme3-links) (find-blogme3-curso-links) (find-blogme3file "blogme3.el") (find-blogme3file "") "" (kill-new ,stem) (find-blogme3 "anggmake.lua" "blogmestems") (find-TH ,stem) (ee-copy-rest 1 '(find-TH ,stem)) ;; (wrobak 2 ' (find-TH ,stem)) ;; ,(ee-template0 " \[INCLUDE TH/speedbar.blogme] \[SETFAVICON dednat4/dednat4-icon.png] \[SETFAVICON IMAGES/forthsun.png] \[# \(defun c () (interactive) (find-blogme3-sh0-if \"{stem}\")) \(defun u () (interactive) (find-blogme-upload-links \"{stem}\")) ;; http://anggtwu.net/{stem}.html ;; file:///home/edrx/TH/L/{stem}.html #] \[lua: require \"defs-2022\" -- (find-blogme3 \"defs-2022.lua\") short_:add [[ ]] ] \[SETHEADSTYLE [LUCIDA]] \[htmlize [J (Title)]\n ] \[# # Local Variables: # coding: raw-text-unix # modes: (fundamental-mode blogme-mode) # End: #]") ) rest)) ;; «find-blogme3-curso-links» (to ".find-blogme3-curso-links") ;; Test: (find-blogme3-curso-links) ;; Test: (find-blogme3-curso-links "2017" "2" "GA" "2017.1") ;; Test: (find-blogme3-curso-links "2017" "2" "C2" "2017.1") ;; Test: (find-blogme3-curso-links "2017" "2" "LA" "2017.1") ;; Test: (find-blogme3-curso-links "2020" "1" "C2" "2019.2") ;; Test: (find-blogme3-curso-links "2020" "1" "C3" "2019.2") ;; Test: (find-blogme3-curso-links "2020" "2" "C2" "2020.1") ;; Test: (find-blogme3-curso-links "2020" "2" "C3" "2020.1") ;; (defun find-blogme3-curso-links (&optional year sem name prevsem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for blogme3." (interactive) (setq year (or year "{year}")) (setq sem (or sem "{sem}")) (setq name (or name "{name}")) (setq prevsem (or prevsem "{prevsem}")) (let ((stem (format "%s.%s-%s" year sem name))) (apply 'find-elinks `( (find-blogme3-curso-links ,year ,sem ,name ,prevsem ,@pos-spec-list) (find-efunction 'find-blogme3-curso-links) "" (kill-new ,stem) (find-blogme3 "anggmake.lua" "blogmestems") (find-blogme3 "anggmake.lua" "blogmestems" "2017.1-LA") (find-TH ,stem) "" ,(ee-template0 " # Create directories and makefiles * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir ~/{year}.{sem}-{name}/ cp -iv ~/{prevsem}-{name}/Makefile ~/{year}.{sem}-{name}/ # (find-2b '(find-angg \"{prevsem}-{name}/Makefile\") '(find-angg \"{year}.{sem}-{name}/Makefile\")) # (find-fline \"~/{year}.{sem}-{name}/Makefile\") # (kill-new \"{stem}\") # (find-THfile \"Makefile\" \"2019.1-TD\") # (kill-new \"\\n {stem}/Makefile\") # (find-blogme3file \"anggmake.lua\" \"2019.1-TD/Makefile\") * (eepitch-Twu) * (eepitch-kill) * (eepitch-Twu) mkdir ~/public_html/{year}.{sem}-{name}/ mkdir ~/slow_html/{year}.{sem}-{name}/ # Create ___-material.tex: # (find-lualatex-links \"{year}-{sem}-{name}-material\") # Create {year}.{sem}.blogme: # (find-2a '(find-TH \"{prevsem}\") '(find-TH \"{year}.{sem}\")) # Adjust {stem}.blogme: # (find-2a '(find-TH \"{prevsem}-{name}\") '(find-TH \"{stem}\")) # Create {stem}.blogme: # (ee-copy-rest 1 '(find-TH \"{stem}\")) \[INCLUDE TH/speedbar.blogme] \[SETFAVICON dednat4/dednat4-icon.png] \[SETFAVICON IMAGES/forthsun.png] \[# \(defun c () (interactive) (find-blogme3-sh0-if \"{stem}\")) \(defun u () (interactive) (find-blogme-upload-links \"{stem}\")) ;; http://anggtwu.net/{stem}.html ;; file:///home/edrx/TH/L/{stem}.html ;; (find-curso-links \"{year}\" \"{sem}\" \"{name}\" \"78\") ;; ;; (find-fline \"~/{stem}/\") ;; (find-pdf-page \"~/{stem}/{stem}.pdf\") ;; (find-sh0 \"cp -v ~/{stem}/{stem}.pdf /tmp/\") #] \[lua: LR = R ] \[htmlize [J {name} {year}.{sem} - Eduardo Ochs]\n \[P [R {year}.{sem}.html Salas, horários, etc] \[BR] [R {prevsem}-{name}.html Página do semestre anterior] \] \[BE' PDFs com todos os quadros: http://anggtwu.net/{stem}/{stem}.pdf (este semestre) http://anggtwu.net/{prevsem}-{name}/{prevsem}-{name}.pdf (semestre anterior) Material para exercÃcios: http://anggtwu.net/LATEX/{year}-{sem}-{name}-material.pdf (este semestre) http://anggtwu.net/LATEX/{year}-{sem}-{name}-material.pdf (semestre anterior) Fotos dos quadros: \(ainda não\) \] \[# Alunos: #] ] \[# # Local Variables: # coding: raw-text-unix # modes: (fundamental-mode blogme-mode) # End: #]") ) pos-spec-list))) ;; «find-curso-links» (to ".find-curso-links") (defun find-curso-links (&optional year sem name nlines variants &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq year (or year "{year}")) (setq sem (or sem "{sem}")) (setq name (or name "{name}")) (setq nlines (or nlines "{nlines}")) (setq variants (or variants "")) (apply 'find-elinks `((find-curso-links ,year ,sem ,name ,nlines ,@pos-spec-list) (find-curso-links "2016" "2" "GA" "20" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-curso-links) "# Superseded by: (find-efunction 'find-curso2023-links)" "" ,(ee-find-curso-script year sem name nlines variants) ;; ,(ee-template0 "\ ;; ") ) pos-spec-list)) ;; (find-estring (ee-find-curso-script "2016" "1" "GA" "20")) ;; (defun ee-find-curso-script (year sem name nlines variants) "Return a list of sexps and strings for curso. This is an internal function used by `find-curso-links'." (ee-template0 "\ # Adjust nlines: # (find-2a nil '(find-TH \"{year}.{sem}-{name}\")) # (eek \"M-o M-> {nlines}*<up> M-o\") # (find-angg \"{year}.{sem}-{name}/\") # (find-twusfile \"{year}.{sem}-{name}/\") # (find-fline \"/tmp/\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ # sudo chmod -v 644 {year}*{name}*.jpg chmod -v 644 {year}*{name}*.jpg A=($(ls {year}*{name}*.jpg)) print -l $A for i in $A; do echo convert $i -rotate 0 -auto-orient $i convert $i -rotate 0 -auto-orient $i done # (find-fline \"/tmp/\") cp -iv $A ~/{year}.{sem}-{name}/ cd ~/{year}.{sem}-{name}/ for i in $A; do echo \"http://anggtwu.net/{year}.{sem}-{name}/$i\" done |& tee /tmp/o.{name} # * (kill-new (find-sh00 \"cat /tmp/o.{name}\")) * (find-2a nil '(find-TH \"{year}.{sem}-{name}\")) * (eek \"M-o M-> {nlines}*<up> M-o\") ** Now run this with M-e: (eek \"M-o C-y M-o\") ** cd /tmp/ A=($(ls {year}*{name}*.jpg)) print -l $A cd ~/{year}.{sem}-{name}/ laf $A { Scp-np $A edrx@anggtwu.net:/home/edrx/slow_html/{year}.{sem}-{name}/ Scp-np $A edrx@anggtwu.net:/home/edrx/public_html/{year}.{sem}-{name}/ } # (find-twusfile \"{year}.{sem}-{name}/\") ** Make djvus * (eepitch-shell) * (eepitch-kill) * (eepitch-shell2) cd ~/{year}.{sem}-{name}/ make pngs make djvus make {year}.{sem}-{name}.djvu make {year}.{sem}-{name}.pdf make pdfs { Scp-np {year}.{sem}-{name}{variants}.{<}djvu,pdf{>} edrx@anggtwu.net:/home/edrx/slow_html/{year}.{sem}-{name}/ Scp-np {year}.{sem}-{name}{variants}.{<}djvu,pdf{>} edrx@anggtwu.net:/home/edrx/public_html/{year}.{sem}-{name}/ } # http://anggtwu.net/{year}.{sem}-{name}/{year}.{sem}-{name}.pdf # (find-fline \"~/{year}.{sem}-{name}/\") # (find-djvupage \"~/{year}.{sem}-{name}/{year}.{sem}-{name}.djvu\") # (find-xpdfpage \"~/{year}.{sem}-{name}/{year}.{sem}-{name}.pdf\") ** Update html * (find-2a nil '(find-TH \"{year}.{sem}-{name}\")) * (eek \"M-o C-x C-s M-o\") * * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # makeR # touch ~/TH/{year}.{sem}-{name}.blogme makeR1 {year}.{sem}-{name}.html Scp-np {year}.{sem}-{name}.html $TWUP/{year}.{sem}-{name}.html # Scp-np TH/{year}.{sem}-{name}.blogme $TWUP/TH/{year}.{sem}-{name}.blogme # http://anggtwu.net/{year}.{sem}-{name}.html # file:///home/edrx/TH/R/{year}.{sem}-{name}.html ")) ;; «find-curso-makefile-links» (to ".find-curso-makefile-links") ;; (find-curso-makefile-links) (defun find-curso-makefile-links (&optional year sem name &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq year (or year "{year}")) (setq sem (or sem "{sem}")) (setq name (or name "{name}")) (apply 'find-elinks `((find-curso-makefile-links ,year ,sem ,name ,@pos-spec-list) (find-curso-makefile-links "2016" "2" "GA") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-curso-makefile-links) "" ,(ee-template0 "\ # (kill-new \" {year}.{sem}-{name}/Makefile\\n\") # (find-blogme3file \"anggmake.lua\" \"2016.1-LA/Makefile\") # (kill-new \"{year}.{sem}-{name}\") # (find-THfile \"Makefile\" \"2016.2-LA\") # (kill-new \"{year}.{sem}-{name}\") # (find-twusfile \"\" \"2016.1-LA\") # (mkdir \"~/{year}.{sem}-{name}/\") # (ee-copy-rest 1 '(find-fline \"~/{year}.{sem}-{name}/Makefile\")) # This file: (find-angg \"{year}.{sem}-{name}/Makefile\") # Based on: (find-angg \"bin/djvuize\") # Generated by: (find-angg \".emacs.templates\" \"find-curso-makefile-links\") # (find-angg \"2014.2-GA/Makefile\") # (find-angg \"SCANS/Makefile\") # (find-node \"(make)Text Functions\") THIS = {year}.{sem}-{name} PNGS = $(patsubst %.jpg,%.png,$(wildcard *.jpg)) DJVUS = $(patsubst %.png,%.djvu,$(wildcard *.png)) # (find-angg \"bin/whiteboard\") # (find-es \"gimp\" \"whiteboard\") pngs_: echo $(PNGS) pngs: $(PNGS) %.png: %.jpg whiteboard $< $@ %.pgm: %.png convert $< $@ %.pbm: %.pgm mkbitmap -x -f 50 -t 0.4 $< -o $@ %.djvu: %.pbm cjb2 -lossy $< $@ djvus_: echo $(DJVUS) djvus: $(DJVUS) djvu: $(THIS).djvu $(THIS).djvu: $(DJVUS) djvm -create $(THIS).djvu $(DJVUS) pdf: $(THIS).pdf %.pdf: %.djvu ddjvu -format=pdf $< $@ ") ) pos-spec-list)) ;; «find-quadro-links» (to ".find-quadro-links") ;; (find-find-links-links "{k}" "quadro" "name yys") ;; (defun find-quadro-links (&optional name yys &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq name (or name "{name}")) (setq yys (or yys "{yys}")) (apply 'find-elinks `((find-quadro-links ,name ,yys ,@pos-spec-list) (find-quadro-links "la" "172" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-quadro-links) "" ,(ee-template0 "\ ;; <{name}q{yys}> \(defun {name}qe{yys} (&rest rest) (interactive) (apply 'find-angg \".emacs\" \"{name}q{yys}\" rest)) \(defun {name}qe (&rest rest) (interactive) (apply '{name}qe{yys} rest)) ;; ({name}q{yys} 1 \"201708xx\" \"\") ") ) pos-spec-list)) ;; Test: (find-quadro-links) ;; «find-baudio-links» (to ".find-baudio-links") ;; Test: (find-baudio-links) ;; Test: (find-baudio-links nil "2013dec-EP") ;; (find-find-links-links "baudio") ;; (defun find-baudio-links (&optional dir/ stem &rest rest) "Visit a temporary buffer containing hyperlinks for blogme3." (interactive) (setq dir/ (or dir/ "audios/")) (setq stem (or stem "{stem}")) (apply 'find-elinks `( (find-baudio-links ,dir/ ,stem ,@rest) (find-2a '(find-twusfile "audios/") '(find-twupfile "audios/")) ;; (eev ,(format "Scp ~/audios/%s.mp3 $TWUS/audios/%s.mp3" stem stem)) "" (find-angg ".emacs.audios" ,stem) ;; (find-blogme3file "blogme3.el") ;; (find-blogme3file "") ;; ,(ee-template0 "\ ;; <{stem}> ;; (find-TH \"audios/{stem}\") ;; (find-fline \"~/audios/\") ;; (find-fline \"~/audios/\" \"{stem}.mp3\") ;; (find-audio \"~/audios/{stem}.mp3\") \(code-audio \"{stem}\" \"~/audios/{stem}.mp3\") ;; (find-{stem} \"0:00\") ;; (find-{stem} t) ;; (eev-avadj-mode 1) ") ;; (kill-new ,(format "audios/%s" stem)) (find-blogme3 "anggmake.lua" "blogmestems" "audios/") (find-TH ,(format "audios/%s" stem)) (ee-copy-rest 1 '(find-TH ,(format "audios/%s" stem))) ;; ,(ee-template0 " \[INCLUDE TH/speedbar.blogme] \[SETFAVICON dednat4/dednat4-icon.png] \[SETFAVICON IMAGES/forthsun.png] \[# \(defun c () (interactive) (find-blogme3-sh0-if \"audios/{stem}\")) \(defun u () (interactive) (find-blogme-upload-links \"audios/{stem}\")) ;; http://anggtwu.net/audios/{stem}.html ;; file:///home/edrx/TH/L/audios/{stem}.html ;; (find-sh0 \"cp -lv ~/audios/{stem}.mp3 ~/TH/L/audios/\") ;; (find-angg \".emacs.audios\" \"{stem}\") ;; (find-blogme3 \"anggdefs.lua\" \"html5-audio\") #] \[lua: LR = R ] \[htmlizetxt [J {stem}] \[AUDIO_INDEX {stem}.mp3 0:00 ] \[BE' # Pra baixar uma copia local: wget http://anggtwu.net/audios/{stem}.mp3 wget http://anggtwu.net/audios/{stem}.html # Veja: # http://anggtwu.net/ferramentas-para-ativistas.html#audios # http://anggtwu.net/ferramentas-para-ativistas.html#audios-copias-locais ] ] \[# # Local Variables: # coding: raw-text-unix # modes: (fundamental-mode blogme-mode) # End: #]") ) rest)) ;; «bsec» (to ".bsec") ;; (find-THfile "monep.blogme" "defun bsec") ;; (find-blogme3grep "grep -nH -e sec *.lua") ;; (find-blogme3 "anggdefs.lua" "readqline" "sec") ;; (bsec "{tag}" "{H}" "{title}") ;; (bsec "foo" "H2" "Foo Bar") (defun ee-bsec-string (tag H title) (ee-template0 "\ \[br ----------------------------------------]\n \[# # «.{tag}» (to \"{tag}\") # (bsec \"{tag}\" \"{H}\" \"{title}\") #] \[sec «{tag}» (to \".{tag}\") {H} [++N]. {title}] ")) ;; (defun bsec (tag H title) ;; (ee-delete-and-extract-line) ;; (insert (ee-bsec-string tag H title))) ;; (find-efunction 'bsec) ;; (find-efunction 'eewrap-audiovideo) (defun bsec (&optional tag H title) (interactive) (if (not tag) (ee-this-line-wrapn 3 'ee-bsec-string) (ee-this-line-extract) (insert (ee-bsec-string tag H title)))) ;; «ee-bsec» (to ".ee-bsec") ;; 2017abr14 ;; Typical usage: (find-THfile "luatex.blogme" "defun bsec") ;; A test: (find-estring (ee-bsec "ebl-2017" "H2" "IPL For Children and")) (defun ee-bsec (tag h head) (ee-template0 " \[br ----------------------------------------] \[# # «.{tag}»\t\t(to \"{tag}\") # {(format \"%S\" `(bsec ,tag ,h ,head))} #] \[sec «{tag}» (to \".{tag}\") {h} [++N]. {head}] ")) ;; «ee-mkdl» (to ".ee-mkdl") ;; «find-mkdl» (to ".find-mkdl") ;; (find-dn4 "Makefile.base") ;; Make a download block for my makefiles ;; (find-efunction 'eeurl-u-to-f) ;; (find-efunction 'ee-template) ;; (find-estring (ee-mkdl "FOO" "http://foo.org/bar/plic.tgz")) ;; (find-mkdl "STEM" "http://foo/bar/plic.tgz") (defun find-mkdl (STEM url) (interactive (list "STEM" "http://foo/bar/plic.tgz")) (find-elinks `((find-mkdl ,STEM ,url) nil ,(ee-mkdl STEM url)))) (defun ee-mkdl (STEM url) (let* ((localurl (replace-regexp-in-string "^\\(https?\\|ftp\\)://" "\\1/" url)) (localurldir (file-name-directory localurl))) (ee-template `(("http://www.foo.org/bar/plic.tgz" ,url) ( "http/www.foo.org/bar/plic.tgz" ,localurl) ( "http/www.foo.org/bar/" ,localurldir) ("STEM" ,STEM) ("stem" ,(downcase STEM))) "\ {STEM}URL = {http://www.foo.org/bar/plic.tgz} {STEM}TGZ = $(S)/{http/www.foo.org/bar/plic.tgz} {STEM}TGZDIR = $(S)/{http/www.foo.org/bar/} {stem}download: $({STEM}TGZ) $({STEM}TGZ): mkdir -p $({STEM}TGZDIR) cd $({STEM}TGZDIR) && \\ $(wget) $({STEM}URL) "))) ;; «ee-ps2pdf-script» (to ".ee-ps2pdf-script") ;; (find-efunctiondescr 'ee-template) ;; (ee-ps2pdf-script "$S/http/foo/" "stem" ".ps.gz") (defun ee-ps2pdf-script (dir stem ext) (ee-template `(("$S/http/foo/" ,dir) ("stem" ,stem) (".ps.gz" ,ext)) "cd {$S/http/foo/} && zcat {stem}{.ps.gz} | ps2pdf - {stem}.pdf")) ;; «class» (to ".class") ;; For: (find-dn6 "eoo.lua") ;; See: (find-dn6 "eoo.lua" "Vector") ;; (find-dn6 "eoo.lua" "Vector" "Vector = Class {") ;; (to "find-class-links") ;; Usage: if the point is on a line that says just "FooBar" and you type ;; `M-x class' then that line will be converted into these five lines: ;; ;; FooBar = Class { ;; type = "FooBar", ;; __index = { ;; }, ;; } ;; ;; (find-angg "LUA/canvas2.lua" "Class") ;; (find-efunction 'ee-delete-and-extract-line) ;; (find-eev "eev-wrap.el" "ee-this-line-wrapn") ;; (find-eewrap-links "{C}" "class" "str") (defalias 'class 'eewrap-class) (defun eewrap-class () (interactive) (ee-this-line-wrapn 1 'ee-wrap-class)) (defun ee-wrap-class (Name) "An internal function used by `eewrap-class'." (ee-template0 "\ {Name} = Class {<} type = \"{Name}\", __index = {<} {>}, {>} ")) ;; «bname» (to ".bname") ;; (defun bname () (interactive) (let ((str (ee-no-trailing-nl (ee-no-properties (ee-delete-and-extract-line 1))))) (insert (format "\ \[# «%s» (to \".%s\") # «.%s»\t\t(to \"%s\") #\] \[NAME %s\]" str str str str str)))) ;; «find-scp-links» (to ".find-scp-links") ;; (find-scp-links) ;; (defun find-scp-links (&optional user addr &rest rest) "Visit a temporary buffer containing hyperlinks for scp." (interactive) (setq user (or user "{user}")) (setq addr (or addr "{addr}")) (apply 'find-elinks `( (find-scp-links ,user ,addr ,@rest) (find-fline "/etc/hosts" ,addr) "" ,(ee-template `(user addr) "\ \(defun eepitch-{addr} () (interactive) (eepitch '(find-comintprocess \"ssh {addr}\" \"ssh {user}@{addr}\"))) \(code-c-d \"{addr}\" \"/scp:{user}@{addr}:\") ;; (find-{addr}file \"\") * (eepitch-{addr}) * (eepitch-kill) * (eepitch-{addr})") ) rest)) ;; «find-gigapedia-links» (to ".find-gigapedia-links") ;; (define-key eev-mode-map "\M-G" 'find-gigapedia-links) ;; Deleted. ;; «find-dn5-file-links» (to ".find-dn5-file-links") ;; (find-find-links-links "dn5-file" "stem") ;; (find-dn5-file-links) ;; (defun find-dn5-file-links (&optional c stem ext &rest rest) (interactive) (setq c (or c "--")) (setq stem (or stem "{stem}")) (setq ext (or ext ".lua")) (apply 'find-elinks `( (find-dn5-file-links ,c ,stem ,ext ,@rest) (find-dn5-file-links "--" ,stem ".lua" ,@rest) (find-dn5-file-links "%" ,stem ".tex" ,@rest) ,(ee-template `(c stem ext) "\ {c} (kill-new \" dednat5/{stem}{ext}\") {c} (find-blogme3file \"anggmake.lua\" \"dednat5/\" \"\\n\") {c} (find-dn5file \"{stem}{ext}\") {c} {stem}{ext}: {c} This file: {c} http://anggtwu.net/dednat5/{stem}{ext}.html {c} http://anggtwu.net/dednat5/{stem}{ext} {c} (find-dn5 \"{stem}{ext}\") {c} Author: Eduardo Ochs <eduardoochs@gmail.com> {c} Version: 2011feb27? {c} License: GPL3 {c} require \"eoo\" -- (find-dn5 \"eoo.lua\") {c} dump-to: tests {c}[==[ {c}]==] {c} Local Variables: {c} coding: raw-text-unix {c} ee-anchor-format: \"«%s»\" {c} End: ") ) rest)) ;; (find-dn5-file-links) ;; (find-dn5file "") ;; (find-dn5-file-links "prefixes") ;; (find-dn5-file-links "process") ;; (find-dn5-file-links "trees") ;; (find-dn5-file-links "diags") ;; (find-dn5-file-links "common") ;; (find-dn5file "common.lua") ;; (find-dn5file "prefixes.lua") ;; (find-dn5file "process.lua") ;; (find-dn5file "trees.lua") ;; (find-dn5file "diags.lua") ;; (find-dn5file "parse.lua") ;; (find-dn5file "trees.lua") ;; «find-blogme4-file-links» (to ".find-blogme4-file-links") ;; (find-find-links-links "blogme4-file" "stem") ;; (find-blogme4-file-links) ;; (defun find-blogme4-file-links (&optional c stem ext &rest rest) (interactive) (setq c (or c "--")) (setq stem (or stem "{stem}")) (setq ext (or ext ".lua")) (apply 'find-elinks `( (find-blogme4-file-links ,c ,stem ,ext ,@rest) (find-blogme4-file-links "--" ,stem ".lua" ,@rest) (find-blogme4-file-links "%" ,stem ".tex" ,@rest) ,(ee-template `(c stem ext) "\ {c} (kill-new \" blogme4/{stem}{ext}\") {c} (find-blogme3file \"anggmake.lua\" \"blogme4/\" \"\\n\") {c} (find-blogme4file \"{stem}{ext}\") {c} {stem}{ext}: {c} This file: {c} http://anggtwu.net/blogme4/{stem}{ext}.html {c} http://anggtwu.net/blogme4/{stem}{ext} {c} (find-blogme4 \"{stem}{ext}\") {c} Author: Eduardo Ochs <eduardoochs@gmail.com> {c} Version: 2011jun02? {c} License: GPL3 {c} require \"eoo\" -- (find-blogme4 \"eoo.lua\") {c} dump-to: tests {c}[==[ {c}]==] {c} Local Variables: {c} coding: raw-text-unix {c} ee-anchor-format: \"«%s»\" {c} End: ") ) rest)) ;; (find-blogme4-file-links) ;; (find-blogme4file "") ;; (find-blogme4-file-links "prefixes") ;; (find-blogme4-file-links "process") ;; (find-blogme4-file-links "trees") ;; (find-blogme4-file-links "diags") ;; (find-blogme4-file-links "common") ;; (find-blogme4file "common.lua") ;; (find-blogme4file "prefixes.lua") ;; (find-blogme4file "process.lua") ;; (find-blogme4file "trees.lua") ;; (find-blogme4file "diags.lua") ;; (find-blogme4file "parse.lua") ;; (find-blogme4file "trees.lua") ;; (find-scan-links) (defun find-scan-links (&optional dir &rest rest) "Visit a temporary buffer containing hyperlinks for scan." (interactive) (setq dir (or dir "/tmp/scans/")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-scan-links ,dir ,@rest) (find-scan-links "~/SCANS/foo/" ,@rest) (find-fline "~/SCANS/") ,(ee-expand dir) ;; Body: "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir {dir} cd {dir} sudo xsane & # (find-fline \"{dir}\") # (find-xzgv \"{dir}\") # (find-fline \"~/SCANS/Makefile\") make -f ~/SCANS/Makefile djvu600s make -f ~/SCANS/Makefile all.djvu make -f ~/SCANS/Makefile all.pdf # (find-djvupage \"{dir}all.djvu\") # (find-xpdfpage \"{dir}all.pdf\") * (eepitch-eshell) cd {dir} cp -v all.djvu (ee-twusfile \"SCANS/\") cp -v all.pdf (ee-twusfile \"SCANS/\") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) for i=166,210,2 do s = format(\"%04d\", i) printf(\"convert %s.jpg -rotate 180 %sr.jpg; mv -v %sr.jpg %s.jpg\\n\", s, s, s, s) end ") ) rest)) ;; (find-scan-links) ;; «find-dhmake-links» (to ".find-dhmake-links") ;;; _ _ _ ;;; __| | |__ _ __ ___ __ _| | _____ ;;; / _` | '_ \| '_ ` _ \ / _` | |/ / _ \ ;;; | (_| | | | | | | | | | (_| | < __/ ;;; \__,_|_| |_|_| |_| |_|\__,_|_|\_\___| ;;; ;; «find-dhmake-links» (to ".find-dhmake-links") ;; ;; Some templates for generating ".deb"s. ;; If you want to build a .deb for a package called, say, "foo-bar", ;; these scripts will use the directory "~/usrc/foo-bar/foo-bar_xxx/" ;; to build it - that directory will be recreated from scratch each ;; time - and the "override files for dhmake" will be taken from the ;; directory "~/foo-bar/". At this moment these paths are hardcoded. ;; ;; I generate the 3 main packages at ;; http://anggtwu.net/debian/ ;; http://anggtwu.net/debian/README.html ;; with these commands: ;; (find-dhmake-links "eev" "eevbuild") ;; (find-dhmake-links "eev-puro" "eevpuro") ;; (find-dhmake-links "eev-lua-extras" "eevluaextras") (defvar ee-dhmake-fullname "Eduardo Ochs") (defvar ee-dhmake-email "eduardoochs@gmail.com") ;; (find-estring-elisp (ee-dhmake-codecds "eev-puro" "eevpuro" "20120305")) ;; (defun ee-dhmake-codecds (stem c date) (ee-template '(stem c date) "\ ;; Generated by: ;; (ee-dhmake-codecds \"{stem}\" \"{c}\" \"{date}\") ;; \(code-c-d \"{c}dh\" \"~/{stem}/\") \(code-c-d \"{c}dhd\" \"~/{stem}/debian/\") \(code-c-d \"{c}\" \"~/usrc/{stem}/{stem}-0.1.{date}/\") \(code-c-d \"{c}d\" \"~/usrc/{stem}/{stem}-0.1.{date}/debian/\") \(code-c-d \"{c}dd\" \"~/usrc/{stem}/{stem}-0.1.{date}/debian/{stem}/\") \(code-c-d \"{c}unp\" \"~/usrc/{stem}/{stem}-unpacked/\") ;; (find-{c}dhfile \"\") ;; (find-{c}dhdfile \"\") ;; (find-{c}file \"\") ;; (find-{c}dfile \"\") ;; (find-{c}ddfile \"\") ;; (find-{c}unpfile \"\") ;; (find-{c}dsh \"find * | sort\") ;; (find-{c}ddsh \"find * | sort\") ;; (find-{c}unpsh \"find * | sort\") ;; (find-status \"{stem}-deb\") ;; (find-vldifile \"{stem}-deb.list\") ;; (find-udfile \"{stem}-deb-puro/\")")) ;; (find-estring (ee-dhmake-build "eev-puro" "eevpuro" "20120305")) ;; (defun ee-dhmake-build (stem c date) (ee-template '(stem c date ee-dhmake-fullname ee-dhmake-email) "\ # Generated by: # (ee-dhmake-build \"{stem}\" \"{c}\" \"{date}\") # rm -Rv ~/usrc/{stem}/ mkdir -p ~/usrc/{stem}/ mkdir ~/usrc/{stem}/{stem}-0.1.{date}/ # ln -s {stem}-0.1.{date} ~/usrc/{stem}/{stem}-0.1 ln -s {stem}-0.1.{date} {stem}-0.1 cd ~/usrc/{stem}/{stem}-0.1.{date}/ echo | \\ DEBFULLNAME=\"{ee-dhmake-fullname}\" \\ dh_make --email {ee-dhmake-email} \\ --copyright=gpl \\ --cdbs \\ --native rm -v debian/README.Debian rm -v debian/*.EX rm -v debian/*.ex cp -iv debian/control debian/control.orig # (find-fline \"~/{stem}/debian/\") # (find-sh0 \"rm -Rv ~/{stem}/debian/\") mkdir -p ~/{stem}/debian/ if [ ! -e ~/{stem}/Makefile ]; then echo Creating: ~/{stem}/Makefile echo \"clean:\" > ~/{stem}/Makefile fi if [ ! -e ~/{stem}/debian/control ]; then echo Creating: ~/{stem}/debian/control cp -v debian/control ~/{stem}/debian/control fi if [ ! -e ~/{stem}/debian/rules ]; then echo Creating: ~/{stem}/debian/rules cp -v debian/rules ~/{stem}/debian/rules echo \"build/{stem}::\" >> ~/{stem}/debian/rules echo \"install/{stem}::\" >> ~/{stem}/debian/rules fi # (find-{c}dh \"debian/\") # (find-{c}dh \"debian/control\") # (find-{c}dh \"debian/rules\") cp -v ~/{stem}/debian/* debian/ cp -v ~/{stem}/Makefile . # (find-man \"1 dpkg-buildpackage\") # dpkg-buildpackage -us -uc -rfakeroot 2>&1 | tee odb dpkg-buildpackage -us -uc -b -rfakeroot 2>&1 | tee odb # (find-{c}file \"odb\") rm -Rv ~/usrc/{stem}/{stem}-unpacked/ mkdir ~/usrc/{stem}/{stem}-unpacked/ mkdir ~/usrc/{stem}/{stem}-unpacked/DEBIAN/ cd ~/usrc/{stem}/ ar p {stem}_*.deb control.tar.gz | tar -C {stem}-unpacked/DEBIAN/ -xvzf - ar p {stem}_*.deb data.tar.gz | tar -C {stem}-unpacked/ -xvzf - # (find-{c}unpfile \"\") # (find-{c}unpfile \"DEBIAN/\") # (find-{c}unpfile \"DEBIAN/control\") # (find-{c}unpsh \"find * | sort\")")) (defun find-dhmake-links (&optional stem c date &rest rest) "Visit a temporary buffer containing hyperlinks for dhmake." (interactive) (setq stem (or stem "{stem}")) (setq c (or c "{c}")) (setq date (or date (format-time-string "%Y%m%d"))) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-dhmake-links ,stem ,c ,date ,@rest) (find-efunction 'find-dhmake-links) ;; Body: "" ;; (find-estring-elisp (ee-dhmake-codecds ,stem ,c ,date)) ;; (find-estring (ee-dhmake-build ,stem ,c ,date)) ;; (eev (ee-dhmake-build ,stem ,c ,date)) ;; (find-fline "$EE") ;; (find-fline (format "~/%s/debian/" stem)) ;; (find-sh0 ,(format "rm -Rv ~/%s/debian/" stem)) ;; "" ,(ee-template `(stem c date) "\ # Set up the build script that `ee' will execute: # (find-estring-elisp (ee-dhmake-codecds \"{stem}\" \"{c}\" \"{date}\")) # (find-estring (ee-dhmake-build \"{stem}\" \"{c}\" \"{date}\")) # (eev (ee-dhmake-build \"{stem}\" \"{c}\" \"{date}\")) # (find-fline \"$EE\") # Examine its main control files: # (find-fline \"~/{stem}/debian/rules\") # (find-fline \"~/{stem}/debian/control\") # (find-fline \"~/{stem}/debian/\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ee cd ~/usrc/{stem}/ ls -lF *.deb sudo dpkg -i {stem}*.deb # sudo dselect update # (find-status \"{stem}\") # (find-vldifile \"{stem}.list\") # (find-udfile \"{stem}/\") # Upload to anggtwu.net. # (THIS IS A HACK!) # (find-twusfile \"debian/\") * (eepitch-eshell) cd ~/usrc/{stem}/ ls -l {stem}_0.1.{date}_all.deb cp -v {stem}_0.1.{date}_all.deb (ee-twusfile \"debian/\") ls -l (ee-twusfile \"debian/\") # (find-twusfile \"debian/\") * (eepitch-Twu) cd ~/slow_html/debian/ mkdir -p dists/./main/binary-i386/ mkdir -p dists/./main/binary-amd64/ ls -lAF apt-ftparchive packages . apt-ftparchive packages . \\ | tee dists/./main/binary-i386/Packages \\ | gzip -c9 > dists/./main/binary-i386/Packages.gz apt-ftparchive packages . \\ | tee dists/./main/binary-amd64/Packages \\ | gzip -c9 > dists/./main/binary-amd64/Packages.gz ") ) rest)) ;; (find-dhmake-links) ;; (find-dhmake-links "{stem}" "{c}" "{date}") ;; (find-dhmake-links "foo-bar" "foobar") ;; (find-dhmake-links "eev" "eevbuild") ;; (find-dhmake-links "eev" "eevbuild" "20120404") ;; «find-dhmake-old-links» (to ".find-dhmake-old-links") ;; (find-angg ".emacs" "eev-puro") ;; (find-angg "debian/README") ;; (defun find-dhmake-old-links (&optional stem c date &rest rest) "Visit a temporary buffer containing hyperlinks for dhmake." (interactive) (setq stem (or stem "{stem}")) (setq c (or c "{c}")) (setq date (or date "{date}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-dhmake-old-links ,stem ,c ,date ,@rest) ;; Body: "" ,(ee-template `(stem c date) "\ # (find-angg \".emacs\" \"{stem}-deb\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv ~/usrc/{stem}/ mkdir ~/usrc/{stem}/ mkdir ~/usrc/{stem}/{stem}-0.1.{date}/ # ln -s {stem}-0.1.{date} {stem}-0.1 ln -s {stem}-0.1.{date} ~/usrc/{stem}/{stem}-0.1 cd ~/usrc/{stem}/{stem}-0.1.{date}/ echo | \\ DEBFULLNAME=\"Eduardo Ochs\" \\ dh_make --email eduardoochs@gmail.com \\ --copyright=gpl \\ --cdbs \\ --native rm -v debian/README.Debian rm -v debian/*.EX rm -v debian/*.ex mv -iv debian/control debian/control.orig # (find-angg \"{stem}/debian/\") # (find-angg \"{stem}/debian/control\") # (find-angg \"{stem}/debian/rules\") cp -v ~/{stem}/debian/* debian/ cp -v ~/{stem}/Makefile . # (find-man \"1 dpkg-buildpackage\") # dpkg-buildpackage -us -uc -rfakeroot |& tee odb dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb # (find-{c}file \"odb\") rm -Rv ~/usrc/{stem}/{stem}-unpacked/ mkdir ~/usrc/{stem}/{stem}-unpacked/ mkdir ~/usrc/{stem}/{stem}-unpacked/DEBIAN/ cd ~/usrc/{stem}/ ar p {stem}_*_all.deb control.tar.gz | tar -C {stem}-unpacked/DEBIAN/ -xvzf - ar p {stem}_*_all.deb data.tar.gz | tar -C {stem}-unpacked/ -xvzf - # (find-{c}unpfile \"\") # (find-{c}unpfile \"DEBIAN/\") # (find-{c}unpfile \"DEBIAN/control\") # (find-{c}unpsh \"find * | sort\") cd ~/usrc/{stem}/ # sudo dpkg -i {stem}_0.1.{date}_all.deb sudo dpkg -i {stem}*.deb sudo dselect update # (find-status \"{stem}\") # (find-vldifile \"{stem}.list\") # (find-udfile \"{stem}/\") # (find-es \"eev\" \"apt-ftparchive\") # (find-es \"eev\" \"eev-deb-unpacked\") # (find-fline \"~/usrc/eev/eev-unpacked/\") # (find-eev \"debian/README.Debian\") # (find-angg \"debian/README\") # (find-twusfile \"debian/\") # (ee-cp \"~/usrc/{stem}/{stem}_0.1.{date}_all.deb\" (ee-twusfile \"debian/{stem}_0.1.{date}_all.deb\") 'over) # (find-twusfile \"debian/\") * (eepitch-Twu) cd ~/slow_html/debian/ mkdir -p dists/./main/binary-i386/ mkdir -p dists/./main/binary-amd64/ ls -lAF apt-ftparchive packages . apt-ftparchive packages . \\ | tee dists/./main/binary-i386/Packages \\ | gzip -c9 > dists/./main/binary-i386/Packages.gz apt-ftparchive packages . \\ | tee dists/./main/binary-amd64/Packages \\ | gzip -c9 > dists/./main/binary-amd64/Packages.gz ;; (find-angg \".emacs\" \"{stem}-deb\") ;; <{stem}-deb> \(code-c-d \"{c}\" \"~/usrc/{stem}/{stem}-0.1.{date}/\") \(code-c-d \"{c}d\" \"~/usrc/{stem}/{stem}-0.1.{date}/debian/\") \(code-c-d \"{c}dd\" \"~/usrc/{stem}/{stem}-0.1.{date}/debian/{stem}/\") \(code-c-d \"{c}unp\" \"~/usrc/{stem}/{stem}-unpacked/\") ;; (find-{c}file \"\") ;; (find-{c}dfile \"\") ;; (find-{c}ddfile \"\") ;; (find-{c}unpfile \"\") ;; (find-{c}dsh \"find * | sort\") ;; (find-{c}ddsh \"find * | sort\") ;; (find-{c}unpsh \"find * | sort\") ;; (find-status \"{stem}-deb\") ;; (find-vldifile \"{stem}-deb.list\") ;; (find-udfile \"{stem}-deb-puro/\") cd ~/usrc/{stem}/{stem}-0.1.{date}/ cat > debian/control <<'%%%' Source: {stem} Section: unknown Priority: extra Maintainer: Eduardo Ochs <eduardoochs@gmail.com> Build-Depends: cdbs, debhelper (>= 7.0.50~) Standards-Version: 3.8.4 Homepage: http://anggtwu.net/{stem}.html Package: {stem} Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends} Description: <insert up to 60 chars description> <insert long description, indented with spaces> %%% cat >> debian/rules <<'%%%' # clean:: build/{stem}:: install/{stem}:: %%% echo \"clean:\" > debian/Makefile echo \"clean:\" > Makefile # (find-angg \"{stem}/debian/\") cp -iv debian/control ~/{stem}/debian/ cp -iv debian/rules ~/{stem}/debian/ ") ) rest)) ;; (define-key eev-mode-map "\M-h\M-u" 'find-dhmake-old-links) ;; Test: ;; (find-dhmake-old-links) ;; (find-dhmake-old-links "eev-puro" "eevpuro" "20111027") ;; (find-dhmake-old-links "eev" "eevbuild" "20110612") ;; (find-angg ".emacs" "eev-puro-deb") ;; «find-escript-links» (to ".find-escript-links") ;; (find-find-links-links "escript" "stem") ;; (find-efunction 'find-find-links-links) ;; (defun find-escript-links (&optional stem &rest rest) "Visit a temporary buffer containing hyperlinks for escript." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-escript-links ,stem ,@rest) (kill-new ,stem) (find-blogme3 "anggmake.lua" "escriptstems") "" ;; (wrobak 4 '(find-es ,stem)) (ee-copy-rest 2 '(find-es ,stem)) (find-es ,stem) ;; Body: "" ,(ee-template0 "\ ####### # # E-scripts on {stem}. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://anggtwu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://anggtwu.net/e/{stem}.e> # or at <http://anggtwu.net/e/{stem}.e.html>. # See also <http://anggtwu.net/emacs.html>, # <http://anggtwu.net/.emacs[.html]>, # <http://anggtwu.net/.zshrc[.html]>, # <http://anggtwu.net/escripts.html>, # and <http://anggtwu.net/>. # ####### \n\n\n\n # Local Variables: # coding: utf-8-unix # End:\ ") ) rest)) ;; Test: ;; (find-escript-links) ;; (find-escript-links "foo") ;; «find-thttpd-links» (to ".find-thttpd-links") ;; (defun find-thttpd-links (&optional dir &rest rest) "Visit a temporary buffer containing hyperlinks for thttpd." (interactive) (setq dir (or dir "{dir}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-thttpd-links ,dir ,@rest) (find-thttpd-links "~/usrc/varwww/" ,@rest) (find-angg ".emacs.templates" "find-thttpd-links") (find-es "http" "thttpd") "# http://localhost:8080/" (find-wget "http://localhost:8080/") (find-sh "/sbin/ifconfig") ;; Body: "" ,(ee-template `(dir) "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) kill -9 $(cat {dir}pid); sleep 1 rm -Rv {dir} mkdir -p {dir} cd {dir} /usr/sbin/thttpd -p 8080 \\ -d {dir} \\ -i {dir}pid \\ -nor -nos -c \"*\" -l /dev/null \\ -T iso-8859-1 cd {dir} date > 1 date > 2 ln -s ~/TH/L . # (find-sh \"/sbin/ifconfig\") cd /etc/ sudo chmod 666 hosts # (kill-new \"192.168.0.172 reef\") # (find-file \"/etc/hosts\") # http://reef:8080/ # http://reef:8080/L/e/tex.e.html ") ) rest)) ;; (find-thttpd-links) ;; «find-gitclone-links» (to ".find-gitclone-links") ;; (find-find-links-links "gitclone" "url stem") ;; (find-efunction 'find-find-links-links) ;; (defun find-gitclone-links (&optional url stem &rest rest) "Visit a temporary buffer containing hyperlinks for gitclone." (interactive) (setq url (or url (car (browse-url-interactive-arg "URL: ")))) (message "%S" url) (setq stem (or stem "{foo}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-gitclone-links ,url ,stem ,@rest) ;; Body: "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rfv /tmp/{stem}/ mkdir /tmp/{stem}/ cd /tmp/{stem}/ git clone {url} tar -cvzf ~/tmp/{stem}-git.tgz * rm -Rfv ~/usrc/{stem}/ tar -C ~/usrc/ -xvzf ~/tmp/{stem}-git.tgz cd ~/usrc/{stem}/ ") ) rest)) ;; (find-find-links-links "newhost" "name ip VAR") ;; «find-newhost-links» (to ".find-newhost-links") ;; «find-newhost-links-old» (to ".find-newhost-links-old") ;; (find-eev "eev-template.el" "find-newhost-links") ;; (find-newhost-links) ;; (find-newhost-links "lugao" "192.168.0.198" "LU") ;; (find-newhost-links "varda" "192.168.1.100" "VA") ;; (find-newhost-links "gwen" "192.168.1.101" "GW") ;; (defun find-newhost-links-old (&optional name ip VAR &rest rest) "Visit a temporary buffer with hyperlinks for connecting to a new host." (interactive) (setq name (or name "{name}")) (setq ip (or ip "{ip}")) (setq VAR (or VAR "{VAR}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-newhost-links ,name ,ip ,VAR ,@rest) (find-efunction 'find-newhost-links) (kill-new ,ip ,name) (find-fline "/etc/hosts" ,name) ;; Body: "" ,(ee-template `(name ip VAR) "\ ;; Basic setup ;; (find-sh \"/sbin/ifconfig\") ;; (find-sh \"/sbin/ifconfig\" \"wlan0\") ;; (find-sh \"/sbin/ifconfig\" \"wlan0\" \"inet addr:\") ;; (find-sh \"/sbin/ifconfig wlan0\" \"inet addr:\") ;; (find-fline \"/etc/hosts\") ;; Low-level tests * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ssh edrx@{name} * (eepitch-kill) ;; (find-fline \"/scp:edrx@{name}:\") ;; <{name}> \(code-c-d \"{name}\" \"/scp:edrx@{name}:/\") ;; (find-{name}file \"\") \(defun eepitch-{name} () (interactive) (eepitch '(find-comintprocess \"{name}\" \"ssh edrx@{name}\"))) * (eepitch-{name}) * (eepitch-kill) * (eepitch-{name}) ;; (setenv \"{VAR}\" \"/scp:edrx@{name}:\") \(setenv \"LR\" \"/sudo::\") \(setenv \"RE\" \"/ssh:edrx@{name}:\") \(setenv \"RR\" \"/sudo:root@{name}:\") \(ee-tramp-proxy \"{name}\" \"/sudo:%h:\") \(code-c-d \"LR\" (ee-expand \"$LR/\")) \(code-c-d \"RE\" (ee-expand \"$RE/\")) \(code-c-d \"RR\" (ee-expand \"$RR/\")) \(defun eepitch-RE () (interactive) (eepitch-comint \"{name}\" \"ssh edrx@{name}\")) \(defun eepitch-RR () (interactive) (eepitch-comint \"{name}/R\" \"ssh edrx@{name}\")) ;; (find-LRfile \"\") ;; (find-REfile \"\") ;; (find-RRfile \"\") ;; (find-sh \"/sbin/ifconfig\" \"wlan\" \"inet addr:\") ;; (find-RR3 \"etc/hosts\") ;; (find-thttpd-links) * (eepitch-RE) wget -O - http://reef:8080/ ;; (find-RR3 \"etc/apt/apt.conf.d/90apt-proxy.conf\") ;; (find-fline \"/sudo:{name}:\") ;; (find-fline \"/sudo:root@{name}:\") \(ee-tramp-proxy \"{name}\" \"/ssh:%h:\") \(ee-tramp-proxy \"{name}\" \"/ssh:%u@%h:\") \(ee-tramp-proxy \"{name}\" \"/sudo:%h:\") \(setq tramp-default-proxies-alist nil) \(add-to-list 'tramp-default-proxies-alist '(\"\\\\`{name}\\\\'\" \"\\\\`root\\\\'\" \"/ssh:%h:\")) \(add-to-list 'tramp-default-proxies-alist '(\"\\\\`{name}\\\\'\" \"\\\\`root\\\\'\" \"/ssh:%u@%h:\")) \(add-to-list 'tramp-default-proxies-alist '(\"\\\\`{name}\\\\'\" \"\\\\`root\\\\'\" \"/sudo:%h:\")) ;; (describe-variable 'tramp-default-proxies-alist) ") ) rest)) ;; «find-prince-links» (to ".find-prince-links") ;; (to "find-htmlpdf-links") ;; (find-es "html" "princexml") ;; (find-es "prince" "princexml") ;; (find-THgrep "grep -nH -e find-prince-links *.blogme") ;; Tests: (find-prince-links "2011.1-GA") ;; (find-prince-links "2011.1-MD") ;; (find-prince-links "2011.2-GA") ;; (find-prince-links "2011.2-MD") (defun find-prince-links (&optional stem GA size &rest rest) "Visit a temporary e-script that runs princexml on a blogme3 file." (interactive) (setq stem (or stem "{stem}")) (setq GA (or GA "GA")) (setq size (or size "{size}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-prince-links ,stem ,GA ,size ,@rest) (find-prince-links ,stem ,GA "8pt" ,@rest) (find-efunction 'find-prince-links) ;; Body: "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cat > /tmp/print.css <<'%%%' body {<} font-size: {size} !important {>} %%% cd lua51 blogme3/blogme3.lua \\ -e \"PRINCEPRINT=1\" \\ -o /tmp/{stem}.html \\ -i TH/{stem}.blogme prince -s /tmp/print.css \\ -o /tmp/{stem}.pdf \\ /tmp/{stem}.html # (find-pdf-page \"/tmp/{stem}.pdf\") * (eepitch-shell) mkdir /tmp/pen/ sudo mount -o uid=$UID /dev/sdb1 /tmp/pen/ cp -v /tmp/{stem}.pdf /tmp/pen/ # (find-sh \"dmesg | tail\") # (find-fline \"/tmp/pen/\") sudo umount /tmp/pen sync # (find-fline \"/tmp/\" \"{stem}.pdf\") # (find-xpdfpage \"/tmp/{stem}.pdf\") # (find-evincepage \"/tmp/{stem}.pdf\") # file:///tmp/{stem}.html # (ee-cp \"/tmp/{stem}.pdf\" (ee-twusfile \"{GA}/{stem}.pdf\") 'over) # (ee-cp \"/tmp/{stem}.pdf\" (ee-twupfile \"{GA}/{stem}.pdf\") 'over) # (find-twusfile \"{GA}/\") # http://anggtwu.net/{GA}/{stem}.pdf echo $TWUS/{GA}/{stem}.pdf Scp-np /tmp/{stem}.pdf $TWUS/{GA}/{stem}.pdf Scp-np /tmp/{stem}.pdf $TWUP/{GA}/{stem}.pdf ") ) rest)) ;; «find-youtubedl-links-old» (to ".find-youtubedl-links-old") ;; (find-eev "eev-tlinks.el" "find-youtubedl-links") ;; (find-es "video" "youtube-dl") ;; (find-eev "eev-tlinks.el" "find-youtubedl-links") ;; (find-find-links-links "youtubedl" "dir title hash ext") ;; (find-youtubedl-links nil nil "vcXUrNSvjhU" ".flv") ;; (find-youtubedl-links "/sda5/videos/" "Prince_XML_Generating_High_Quality_PDFs_from_HTML_CSS" "vcXUrNSvjhU" ".flv" "princexml") ;; (find-es "video" "youtube-dl") ;; (find-es "html" "princexml-video") ;; ;; (find-fline "/sda5/videos/") ;; (find-sh "ls /sda5/videos | tr '.-' '\n\n'") ;; (find-sh "ls /sda5/videos | tr '.-' '\n\n' | awk 'length($1)==11'") ;; (find-sh "ls /sda5/videos/ | grep ZjiQQlgkBVM") ;; (find-sh "ls /sda5/videos/ | grep ZjiQQlgkBVM | awk -F . '{print substr($1, 1, length($1)-12)}'") ;; (find-sh "ls /sda5/videos/ | grep ZjiQQlgkBVM | awk -F . '{print $2}'") ;; (find-sh "ls /sda5/videos/ | grep ZjiQQlgkBVM | awk -F . '{print \".\" $2}'") ;; (find-fline "/sda5/videos/" "Marco_Baringer_s_SLIME_Tutorial_Video-_B_4vhsmRRI.flv") ;; (find-fline "/sda5/videos/" "Sun_Will_Set-l4WN9elfA9o.flv") ;; (ee-youtube-guess "/sda5/videos/" "l4WN9elfA9o" 'title) ;; (ee-youtube-guess "/sda5/videos/" "l4WN9elfA9o" 'ext) ;; (defun ee-youtube-guess0 (dir hash prog) (if (eq prog 'title) (setq prog "substr($1, 1, length($1)-12)")) (if (eq prog 'ext) (setq prog "\".\" $2")) (format "ls %s | grep -e %s | awk -F . '{print %s}'" dir hash prog)) (defun ee-youtube-guess (dir hash prog &optional default) (let ((ans (find-sh0 (ee-youtube-guess0 dir hash prog)))) (if (and default (equal ans "")) default ans))) (defun find-youtubedl-links-old (&optional dir title hash ext stem &rest rest) "Visit a temporary buffer containing hyperlinks for youtube-dl." (interactive) (setq dir (or dir "{dir}")) (setq title (or title "{title}")) (setq hash (or hash "{hash}")) (setq ext (or ext "{ext}")) (setq stem (or stem "{stem}")) (let* ((dirp (file-directory-p dir)) (hash-g (ee-no-properties (ee-stuff-around-point "-0-9A-Za-z_"))) (title-g (if dirp (ee-youtube-guess dir hash 'title))) (ext-g (ee-youtube-guess dir hash 'ext)) ) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-youtubedl-links ,dir ,title ,hash ,ext ,stem ,@rest) ;; (find-youtubedl-links ,dir ,title ,hash-g ,ext ,stem ,@rest) (find-youtubedl-links "/sda5/videos/" ,title ,hash ,ext ,stem ,@rest) ,(if dirp `(find-youtubedl-links ,dir ,title-g ,hash ,ext-g ,stem ,@rest)) ;; Body: "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) cd {dir} youtube-dl -t 'http://www.youtube.com/watch?v={hash}' # http://www.youtube.com/watch?v={hash} # youtube-dl -F -t 'http://www.youtube.com/watch?v={hash}' # youtube-dl -f 18 -t 'http://www.youtube.com/watch?v={hash}' # (find-es \"video\" \"youtube-dl\") # (find-fline \"{dir}\" \"{hash}\") # (find-fline \"{dir}\" \"{title}-{hash}\") # (find-fline \"{dir}\" \"{title}-{hash}{ext}\") # (find-mplayer \"{dir}{title}-{hash}{ext}\") # (find-mplayer \"{dir}{title}-{hash}{ext}.part\") # (code-mplayer \"{stem}\" \"{dir}{title}-{hash}{ext}\") # (code-mplayer \"{stem}\" \"{dir}{title}-{hash}{ext}.part\") # (find-{stem}) ") ) rest))) ;; «find-eepitch-def-links» (to ".find-eepitch-def-links") ;; (find-find-links-links "eepitch-def" "stem") ;; (defun find-eepitch-def-links (&optional stem &rest rest) "Visit a temporary buffer containing hyperlinks for eepitch-def." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-eepitch-def-links ,stem ,@rest) ;; Body: "" ,(ee-template `(stem) "\ \(defun eepitch-{stem} () (interactive) (eepitch-comint \"{stem}\" \"{stem}\")) * (eepitch-{stem}) * (eepitch-kill) * (eepitch-{stem}) ") ) rest)) ;; «find-wpa-links» (to ".find-wpa-links") ;; 2012apr26: scripts to connect and disconnect from net devices ;; semi-manually. ;; Written in collaboration with Jose Flavio Pereira Guimaraes. ;; ;; (find-wpa-links) (defun find-wpa-links (&optional nomedoarquivo essid password &rest rest) "Visit a temporary buffer containing hyperlinks for wpa." (interactive) (setq nomedoarquivo (or nomedoarquivo "{nomedoarquivo}")) (setq essid (or essid "{essid}")) (setq password (or password "{password}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-wpa-links ,nomedoarquivo ,essid ,password ,@rest) (find-wpa-links "Casa" ,@rest) (find-wpa-links "Lab2" ,@rest) (find-wpa-links "LLaRC" ,@rest) (find-wpa-links "Livre" "LIVRE" ,@rest) (find-livre-links) (find-fline "/home/Rede/") (find-efunction 'find-wpa-links) ;; Body: "" ,(ee-template `(nomedoarquivo essid password) "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # Modo rapido: sudo ifconfig wlan0 up sudo iwconfig wlan0 essid \"{essid}\" sudo iwconfig wlan0 essid \"{essid}\" key \"{password}\" sudo wpa_supplicant -D wext -i wlan0 -c /home/Rede/{nomedoarquivo}Rede -B sudo kill -9 $(cat /var/run/dhcpcd.pid) sudo dhcpcd # Testes: ifconfig ifconfig wlan0 sudo ifconfig wlan0 down sudo ifconfig wlan0 up ifconfig wlan0 ifconfig iwconfig wlan0 sudo iwconfig wlan0 essid \"{essid}\" iwconfig wlan0 sudo dhcpcd ps ax | grep dhcp cat /var/run/dhcpcd.pid echo kill -9 $(cat /var/run/dhcpcd.pid) sudo kill -9 $(cat /var/run/dhcpcd.pid) ps ax | grep dhcp sudo dhcpcd ") ) rest)) ;; (define-key eev-mode-map "\M-h\M-w" 'find-wpa-links) ;; «find-intro-links» (to ".find-intro-links") ;; (find-eev "eev-tlinks.el" "find-intro-links") (defun find-mydvi-links (&optional c stem &rest rest) "Visit a temporary buffer containing hyperlinks for mydvi." (interactive) (setq c (or c "{c}")) (setq stem (or stem "{stem}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-mydvi-links ,c ,stem ,@rest) (find-efunction 'find-mydvi-links) ;; Body: "" ,(ee-template `(c stem) "\ ;; «.{c}» (to \"{c}\") ;; «{c}» (to \".{c}\") \(code-c-d \"{c}\" \"~/LATEX/{stem}.tex\" :anchor) \(code-dvi \"{c}\" \"~/LATEX/{stem}.dvi\") \(code-pdftotext \"{c}\" \"~/LATEX/{stem}.pdf\") ;; (find-{c} \"\" \"lambda-intro\") ;; (find-{c}page 25 \"17. Objects of Line Type\") ;; (find-{c}text) ") ) rest)) ;; «diagskel» (to ".diagskel") ;; Used to be here: (find-angg ".emacs-tex.el" "diagskel") ;; (defun diagskel () (interactive) (insert " %D diagram ?? %D 2Dx 100 %D 2D 100 %D 2D %D 2D +20 %D 2D %D # ren ==> %D %D (( %D %D )) %D enddiagram %D $$\\pu \\diag{??} $$ ")) ;; «ee-latex-header» (to ".ee-latex-header") (defun ee-latex-header (d/ stem) (ee-template0 "\ % (find-angg \"{d/}{stem}.tex\") % (find-dn4ex \"edrx08.sty\") % (defun c () (interactive) (find-zsh \"cd ~/{d/} && latex {stem}.tex\")) % (defun c () (interactive) (find-zsh \"cd ~/{d/} && pdflatex {stem}.tex\")) % (eev \"cd ~/{d/} && Scp {stem}.pdf edrx@anggtwu.net:slow_html/{d/}\") % (defun d () (interactive) (find-dvipage \"~/{d/}{stem}.dvi\")) % (find-dvipage \"~/{d/}{stem}.dvi\") % (find-pspage \"~/{d/}{stem}.ps\") % (find-xpdfpage \"~/{d/}{stem}.pdf\") % (find-evincepage \"~/{d/}{stem}.pdf\") % (find-bgprocess \"evince ~/{d/}{stem}.pdf\") % (find-zsh0 \"cd ~/{d/} && dvipdf {stem}.dvi {stem}.pdf\") % (find-zsh0 \"cd ~/{d/} && dvips -D 300 -o {stem}.ps {stem}.dvi\") % (find-zsh0 \"cd ~/{d/} && dvips -D 600 -P pk -o {stem}.ps {stem}.dvi && ps2pdf {stem}.ps {stem}.pdf\") % (find-zsh0 \"cd ~/{d/} && dvips -D 300 -o tmp.ps tmp.dvi\") % (find-pspage \"~/{d/}tmp.ps\") % (ee-cp \"~/{d/}{stem}.pdf\" (ee-twupfile \"{d/}{stem}.pdf\") 'over) % (ee-cp \"~/{d/}{stem}.pdf\" (ee-twusfile \"{d/}{stem}.pdf\") 'over) % (find-twusfile \"{d/}\" \"{stem}\") % http://anggtwu.net/{d/}{stem}.pdf ")) ;; (find-estring (ee-latex-header "quadradinho/" "quadradinho-a5")) ;; «find-tail-call-links» (to ".find-tail-call-links") ;; Orig skel: (find-find-links-links "\\M-P" "tail-call" "stem firstargs") ;; New skel: (find-find-links-links-new "tail-call" "stem firstargs" "") ;; Test: (defun find-tail-call-links (&optional stem firstargs &rest rest) "Visit a temporary buffer containing hyperlinks for tail-call." (interactive) (setq stem (or stem "{stem}")) (setq firstargs (or firstargs "{firstargs}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-tail-call-links ,stem ,firstargs ,@rest) (find-efunction 'find-tail-call-links) (emacs-lisp-mode) ;; Body: "" ,(ee-template `(stem ("c fname" ,firstargs)) "\ ;; (find-efunction 'code-{stem}) ;; find-{stem}-page ;; \(defalias 'find-{stem}page 'find-{stem}-page) \(defun find-{stem}-page (fname &optional page &rest rest) (find-bgprocess (ee-find-{stem}-page fname page))) \(defvar ee-find-{stem}-page-args nil) \(defun ee-find-{stem}-page (fname &optional page) `(\"{stem}\" ,@ee-find-{stem}-page-args ,@(if page `(,(format \"--page=%d\" page))) ,fname)) ;; code-{stem}: top-level functions ;; \(defun code-{stem} ({c fname} &rest rest) (eval (ee-read (apply 'ee-code-{stem} {c fname} rest)))) \(defun find-code-{stem} ({c fname} &rest rest) (find-estring-elisp (apply 'ee-code-{stem} {c fname} rest))) \(defun ee-code-{stem} ({c fname} &rest rest) (concat (ee-template0 \"\\ (defun find-{c}page (&optional page &rest rest) (find-{stem}-page fname page)) \") (ee-code-{stem}-rest rest))) ;; Support for extra arguments ;; \(defun ee-code-{stem}-rest (rest) (ee-tail-call \"ee-code-{stem}-%S\" rest)) \(defun ee-code-{stem}-:key (arg &rest rest) (concat (ee-template0 \"\\ (defun find-{c}page () ...) \") (ee-code-{stem}-rest rest))) ;; Test: ;; (find-code-{stem} \"{c}\" \"{fname}\" :key \"{foo}\" :key \"{bar}\") ") ) rest)) ;; Tests: ;; (find-tail-call-links) ;; (find-tail-call-links "xpdf" "c fname") ;; (find-tail-call-links "xpdf" "c fname") ;; «find-pdflikedef-links» (to ".find-pdflikedef-links") ;; (find-find-links-links "pdflikedef" "stem firstargs") (defun find-pdflikedef-links (&optional stem firstargs &rest rest) "Visit a temporary buffer containing hyperlinks for pdflikedef." (interactive) (setq stem (or stem "{stem}")) (setq firstargs (or firstargs "{firstargs}")) (apply 'find-elinks-elisp `( ;; Convention: the first sexp always regenerates the buffer. (find-pdflikedef-links ,stem ,firstargs ,@rest) (find-pdflikedef-links ,stem "c fname" ,@rest) (find-efunction 'find-pdflikedef-links) ;; Body: "" ,(ee-template0 "\ \(defun find-{stem}-page (fname &optional page &rest rest) (find-bgprocess (ee-find-{stem}-page fname page))) \(defvar ee-find-{stem}-page-options '()) \(defun ee-find-{stem}-page (fname &optional page) `(\"{stem}\" ,@ee-find-{stem}-page-options ,@(if page `(,(format \"--page=%d\" page))) ,fname)) ;; (find-efunction 'code-{stem}) ;; find-{stem}page ;; find-{stem}-page ;; code-{stem} ;; \(defalias 'find-{stem}page 'find-{stem}-page) \(defun code-{stem} ({firstargs} &rest rest) (eval (ee-read (apply 'ee-code-{stem} {firstargs} rest)))) \(defun find-code-{stem} ({firstargs} &rest rest) (find-estring-elisp (apply 'ee-code-{stem} {firstargs} rest))) \(defun ee-code-{stem} ({firstargs} &rest rest) (concat (ee-template0 \"\\ \\(defun find-{<}c{>}page (&optional page &rest rest) (find-{stem}-page {<}(ee-pp0 fname){>} page)) \") (ee-code-pdftext-rest rest))) ;; Tests: ;; (find-epp (ee-find-{stem}-page \"/tmp/foo.pdf\")) ;; (find-epp (ee-find-{stem}-page \"/tmp/foo.pdf\" 2)) ;; (find-{stem}-page \"/tmp/foo.pdf\") ;; (find-{stem}-page \"/tmp/foo.pdf\" 2) ;; ;; (find-code-{stem} \"foo\" \"/tmp/foo.pdf\") ;; (code-{stem} \"foo\" \"/tmp/foo.pdf\") ;; (find-foopage) ;; (find-foopage 2) ;; (code-pdftotext \"foo\" \"/tmp/foo.pdf\") ") ) rest)) ;; Tests: ;; (find-pdflikedef-links) ;; (find-pdflikedef-links "xpdf" "c fname") ;; ;; (find-epp (ee-find-xpdf-page "/tmp/foo.pdf")) ;; (find-epp (ee-find-xpdf-page "/tmp/foo.pdf" 2)) ;; (find-xpdf-page "/tmp/foo.pdf") ;; (find-xpdf-page "/tmp/foo.pdf" 2) ;; ;; (find-code-xpdf "foo" "/tmp/foo.pdf") ;; (code-xpdf "foo" "/tmp/foo.pdf") ;; (find-foopage) ;; (find-foopage 2) ;; (code-pdftotext "foo" "/tmp/foo.pdf") ;; «find-eev-video-record-links» (to ".find-eev-video-record-links") ;; (find-find-links-links "<none>" "eev-video" "stem") ;; A test: (find-eev-video-record-links) (defun find-eev-video-record-links-old (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-eev-video-record-links ,stem ,@pos-spec-list) (find-eev-video-record-links "2" ,@pos-spec-list) (find-eev-video-record-links nil ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-eev-video-record-links) ,(ee-template0 "\ ;; (emacs-lisp-mode) ;; (sh-mode) # Edit # # (find-angg \".zshrc\" \"eev2-files\") # (find-eev \"eev-readme.el\") # (find-angg \"eev-videos/\") # (find-angg \"eev-videos/0.sh\") # (find-angg \"eev-videos/2.sh\") # (find-angg \"eev-videos/2.el\") # (eee) # (find-zsh \"eev2-build-tgz; cp -v ~/eev-videos/2.el /tmp/\") # (find-sh0 \"~/eev-videos/2.sh record\") # Rehearse / record / upload # * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) eev2-build-tgz; cp -v ~/eev-videos/2.el /tmp/ #eev2-upload -v; rm -v /tmp/eev2.tgz /tmp/2.el ~/eev-videos/2.sh record killall avconv # (find-mplayer \"/tmp/out.mp4\") # Copy video and audio # (find-fline \"~/eev-videos/\") # (find-fline \"~/eev-videos/\" \"video{stem}-\") # (find-fline \"/tmp/\") # (find-fline \"/tmp/pen/VOICE/FOLDER01/\") # laf -h /tmp/out.mp4 cp -iv /tmp/out.mp4 ~/eev-videos/video{stem}-video.mp4 # # (find-pen-links) mkdir /tmp/pen/ sudo mount -o ro /dev/sdb1 /tmp/pen/ sudo mount -o ro /dev/sdc1 /tmp/pen/ sudo mount -o uid=$UID /dev/sdb1 /tmp/pen/ sudo mount -o uid=$UID /dev/sdc1 /tmp/pen/ # (find-fline \"/tmp/pen/\") # (find-fline \"/tmp/pen/VOICE/FOLDER01/\") # A0=$('ls' /tmp/pen/VOICE/FOLDER01/* | tail -n 1) echo $A0 laf -h $A0 cp -iv $A0 ~/eev-videos/video{stem}-audio.mp3 # sudo umount /tmp/pen sync # Play # ;; (eev-avadj-mode 0) ;; (eev-avadj-mode 1) ;; (find-fline \"~/eev-videos/\") \(code-audio \"lastaudio\" \"~/eev-videos/video{stem}-audio.mp3\") \(code-video \"lastvideo\" \"~/eev-videos/video{stem}-video.mp4\") \(code-video \"lastall\" \"~/eev-videos/video{stem}.mp4\") ;; (find-lastaudio) ;; (find-lastvideo) ;; (find-lastall) # Stick audio and video together # (find-es \"ffmpeg\" \"adding-audio\") * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) cd ~/eev-videos/ avconv -i video{stem}-video.mp4 \\ -i video{stem}-audio.mp3 \\ -map 0 -map 1 -c copy \\ video{stem}.mp4 # Upload # http://anggtwu.net/eev-videos/ # http://anggtwu.net/eev-videos/README.html # http://anggtwu.net/eev-videos/video{stem}.mp4 # (find-twusfile \"eev-videos/\") # (find-angg \"eev-videos/README\") Scp-np ~/eev-videos/video{stem}.mp4 \\ edrx@anggtwu.net:/home/edrx/slow_html/eev-videos/ \(defun e () (interactive) (find-angg \"eev-videos/2.sh\")) \(defun r () (interactive) (find-sh0 \"~/eev-videos/2.sh record\")) \(defun k () (interactive) (message \"%s\" (find-sh0 \"killall -v ffmpeg\"))) ;; \(defun ev () (interactive) (find-3L '(find-angg \"eev-videos/0.sh\") '(find-angg \"eev-videos/2.sh\"))) \(defun ee () (interactive) (find-3L '(find-angg \"eev-videos/2.sh\") '(find-eev \"eev-readme.el\"))) \(defun eee () (interactive) (find-wset '\"13_o2_o_o\" '(find-angg \"eev-videos/2.sh\") '(find-eev \"eev-readme.el\") '(find-angg \"eev-videos/2.el\") )) # (find-eev \"eev-readme.el\") # (find-zsh0 \"eev2-build-tgz && cp -v ~/eev-videos/2.el /tmp/\") # (find-angg \"eev-videos/0.sh\") # (find-angg \"eev-videos/2.sh\") # (find-angg \"eev-videos/2.el\") # (find-es \"ffmpeg\" \"avconv\") # Edit scripts # (find-file \"~/eev-videos/video2-pt-video.mp4\") # (find-fline \"/tmp/pen/VOICE/FOLDER01/\") # (find-angg \"eev-videos/\") # (find-mplayer \"/tmp/out.mp4\") ") ) pos-spec-list)) ;; A test: (find-eev-video-record-links "2pt") ;; «find-eev-create-tar-links» (to ".find-eev-create-tar-links") ;; Skel: (find-find-links-links-new "eev-create-tar" "date" "") ;; Test: (find-eev-create-tar-links) ;; (defun find-eev-create-tar-links (&optional date &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for eev-create-tar." (interactive) (setq date (or date "{date}")) (apply 'find-elinks `((find-eev-create-tar-links ,date ,@pos-spec-list) (find-eev-create-tar-links "20201022") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-eev-create-tar-links) "" ,(ee-template0 "\ # http://elpa.gnu.org/packages/eev.html # http://elpa.gnu.org/packages/eev-20201013.tar # (find-eev2-links) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rfv /tmp/eev-g mkdir /tmp/eev-g/ cd /tmp/eev-g/ && git clone https://github.com/edrx/eev.git . cd /tmp/eev-g/ git checkout UTF-8 rm -Rfv /tmp/eev-tar/ mkdir -p /tmp/eev-tar/eev-{date}/ cd /tmp/eev-tar/eev-{date}/ cp -iv /tmp/eev-g/* . rm -v /tmp/eev-tar/eev-{date}/ChangeLog cd /tmp/eev-tar/ tar -cvf /tmp/eev-tar/eev-{date}.tar eev-{date}/ Scp-np /tmp/eev-tar/eev-{date}.tar edrx@anggtwu.net:public_html/tmp/ # (find-fline \"/tmp/eev-tar/eev-{date}.tar\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -fv /tmp/eev-{date}.tar cd /tmp/ wget http://anggtwu.net/tmp/eev-{date}.tar # (package-install-file \"/tmp/eev-{date}.tar\") ") ) pos-spec-list)) ;; «find-screencast-links» (to ".find-screencast-links") ;; (find-find-links-links "{k}" "screencast" "geom") ;; A test: (find-screencast-links) (defun find-screencast-links (&optional geom &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) ;; (setq geom (or geom "{geom}")) (setq geom (or geom (frame-width-height))) (apply 'find-elinks `((find-screencast-links ,geom ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-screencast-links) "" (defalias 'r 'ee-scast-start) (defalias 's 'ee-scast-stop) (find-fline "/tmp/" "out.mp4") (find-video "/tmp/out.mp4") "" (frame-width--) (frame-width++) (frame-height--) (frame-height++) (frame-width-height) (frame-width-height-set " 80c 37c") (frame-width-height-set "167c 46c") (frame-width-height-set "108c 37c") ) pos-spec-list)) ;; «find-angg-upload-links» (to ".find-angg-upload-links") ;; «find-blogme-upload-links» (to ".find-blogme-upload-links") ;; «find-escript-upload-links» (to ".find-escript-upload-links") ;; (find-find-links-links "<none>" "blogme-upload" "stem") ;; A test: (find-blogme-upload-links "2012.1") ;; (find-eapropos "suffix") (defalias 'bup 'find-blogme-upload-links) (defun find-blogme-upload-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) ;; (ee-rmprefix "~/TH/" "~/THfname "") (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-blogme-upload-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-blogme-upload-links) (find-TH ,stem) ,(ee-template0 " * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # makeR # touch ~/TH/{stem}.blogme makeR1 {stem}.html scp {stem}.html $LINP/{stem}.html Scp-np {stem}.html $TWUP/{stem}.html Scp-np TH/{stem}.blogme $TWUP/TH/{stem}.blogme # http://anggtwu.net/{stem}.html # file:///home/edrx/TH/R/{stem}.html") ) pos-spec-list)) (defun find-angg-upload-links (&optional dir stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) ;; (ee-rmprefix "~/TH/" "~/THfname "") (setq dir (or dir "{stem}")) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-angg-upload-links ,dir ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-angg-upload-links) ;; (find-angg ,stem) ,(ee-template0 " * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # makeR # touch ~/TH/{stem}.blogme makeL1 {dir}{stem}.html makeR1 {dir}{stem}.html Scp-np {dir}{stem} {dir}{stem}.html $TWUP/{dir} # http://anggtwu.net/{dir}{stem}.html # http://anggtwu.net/{dir}{stem} # file:///home/edrx/TH/L/{dir}{stem}.html # file:///home/edrx/TH/R/{dir}{stem}.html") ) pos-spec-list)) ;; «find-a2html-upload-links» (to ".find-a2html-upload-links") ;; (find-blogme3 "options.lua" "dooptions") ;; (find-blogme3 "options.lua" "dooptions" "dooption_a2html") ;; (find-a2html-upload-links "blogme3/options.lua" "dooptions") ;; (defalias 'aup 'find-a2html-upload-links) (defun find-a2html-upload-links (&optional stem tag &rest pos-spec-list) "Visit a temporary buffer containing a script to upload an ascii file to angg." (interactive) (setq stem (or stem (ee-rmprefix "~/" (ee-fname-here)) "{stem}")) (setq tag (or tag "{tag}")) (apply 'find-elinks `((find-a2html-upload-links ,stem ,tag ,@pos-spec-list) (find-a2html-upload-links ,stem ,(ee-last-kill-matches "^[!-~]+$")) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-a2html-upload-links) (find-angg ,stem ,tag) (find-angg ,stem) ,(ee-template0 " * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # makeR # touch ~/{stem} makeR1 {stem}.html scp {stem}.html $LINP/{stem}.html scp {stem} $LINP/{stem} Scp-np {stem}.html $TWUP/{stem}.html Scp-np {stem} $TWUP/{stem} * (eepitch-linode) * (eepitch-kill) * (eepitch-linode) cd ~/public_html/ makepageindexhtmls # http://anggtwu.net/{stem}.html # file:///home/edrx/TH/R/{stem}.html # http://anggtwu.net/{stem}.html#{tag} # file:///home/edrx/TH/R/{stem}.html#{tag} # (find-angg \"{stem}\" \"{tag}\") # (find-anggwgeta \"{stem}\" \"{tag}\") # (find-wget \"http://anggtwu.net/{stem}\") # (find-wget-elisp \"http://anggtwu.net/{stem}\") ") ) pos-spec-list)) ;; «find-escript-upload-links» (to ".find-escript-upload-links") ;; (find-find-links-links "<none>" "escript-upload" "stem") ;; A test: (find-escript-upload-links "python") (defalias 'eup 'find-escript-upload-links) (defun find-escript-upload-links (&optional stem tag &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) ;; (setq stem (or stem "{stem}")) (setq stem (or stem (ee-rmprefixsuffix "~/e/" ".e" (ee-fname-here)) "{stem}")) (setq tag (or tag "{tag}")) (apply 'find-elinks `((find-escript-upload-links ,stem ,tag ,@pos-spec-list) (find-escript-upload-links ,stem ,(ee-last-kill-matches "^[!-~]+$")) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-escript-upload-links) "" (find-es ,stem) (find-es ,stem ,tag) "" (find-blogme3 "sandwiches-defs.lua") (find-blogme3 "sandwiches-defs.lua" "code_helponly2_lines") "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) makeL; makeR touch ~/e/{stem}.e makeR1 e/{stem}.e.html scp e/{stem}.e.html $LINP/e/{stem}.e.html scp e/{stem}.e $LINP/e/{stem}.e Scp-np e/{stem}.e.html $TWUP/e/{stem}.e.html Scp-np e/{stem}.e $TWUP/e/{stem}.e # http://anggtwu.net/e/{stem}.e.html # file:///home/edrx/TH/R/e/{stem}.e.html # http://anggtwu.net/e/{stem}.e.html#{tag} # file:///home/edrx/TH/R/e/{stem}.e.html#{tag} # (find-es \"{stem}\" \"{tag}\") # (find-angg \"e/{stem}.e\" \"{tag}\") # (find-anggwgeta \"e/{stem}.e\" \"{tag}\") ") ) pos-spec-list)) ;; «find-latex-upload-links» (to ".find-latex-upload-links") ;; (find-find-links-links "{k}" "latex-upload" "stem") ;; A test: (find-latex-upload-links "2015-2-GA-material") (defun find-latex-upload-links (&optional stem dir) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq stem (or stem "{stem}")) (setq dir (or dir "/tmp/edrx-latex/")) (find-elinks `((find-latex-upload-links ,stem ,dir) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-latex-upload-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # Upload pdf cd ~/LATEX/ scp {stem}.pdf $LINP/LATEX/{stem}.pdf scp {stem}.pdf $LINS/LATEX/{stem}.pdf Scp-np {stem}.pdf $TWUP/LATEX/{stem}.pdf Scp-np {stem}.pdf $TWUS/LATEX/{stem}.pdf # Test the pdf (open the urls in a browser): # (find-pdf-page \"~/LATEX/{stem}.pdf\") # http://anggtwu.net/LATEX/{stem}.pdf # file:///home/edrx/LATEX/{stem}.pdf # Make .tgz and upload it cd ~/LATEX/ flsfiles-tgz {stem}.fls {stem}.tgz Scp-np {stem}.tgz $LINP/LATEX/{stem}.tgz Scp-np {stem}.tgz $LINS/LATEX/{stem}.tgz Scp-np {stem}.tgz $TWUP/LATEX/{stem}.tgz Scp-np {stem}.tgz $TWUS/LATEX/{stem}.tgz # http://anggtwu.net/LATEX/{stem}.tgz # Make .zip and upload it cd ~/LATEX/ flsfiles-zip {stem}.fls {stem}.zip Scp-np {stem}.zip $LINP/LATEX/{stem}.zip Scp-np {stem}.zip $LINS/LATEX/{stem}.zip Scp-np {stem}.zip $TWUP/LATEX/{stem}.zip Scp-np {stem}.zip $TWUS/LATEX/{stem}.zip # http://anggtwu.net/LATEX/{stem}.zip # Test the .tgz. # The e-script below downloads, unpacks and compiles the .tgz in {dir} # rm -rfv /tmp/{stem}.tgz rm -rfv {dir} cd /tmp/ wget http://anggtwu.net/LATEX/{stem}.tgz # curl -O http://anggtwu.net/LATEX/{stem}.tgz # cp -v ~/LATEX/{stem}.tgz . mkdir {dir} tar -C {dir} -xvzf /tmp/{stem}.tgz cd {dir} lualatex {stem}.tex # (find-fline \"{dir}\") # (find-pdf-page \"{dir}{stem}.pdf\") # (find-pdf-text \"{dir}{stem}.pdf\") # Test the .zip. # The e-script below downloads, unpacks and compiles the .zip in {dir} # rm -rfv /tmp/{stem}.zip rm -rfv {dir} cd /tmp/ wget http://anggtwu.net/LATEX/{stem}.zip # cp -v ~/LATEX/{stem}.zip . mkdir {dir} unzip -d {dir} /tmp/{stem}.zip cd {dir} lualatex {stem}.tex # (find-fline \"{dir}\") # (find-pdf-page \"{dir}{stem}.pdf\") # (find-pdf-text \"{dir}{stem}.pdf\") % (defun u () (interactive) (find-latex-upload-links \"{stem}\")) ") ))) ;; «find-book-links» (to ".find-book-links") ;; (defun ee-dired-to-fname0 () (and (eq major-mode 'dired-mode) (file-name-nondirectory (ee-dired-to-fname)))) (defun find-book-links (&optional fmt dir fname author stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive (list nil nil (and (ee-dired-to-fname0)))) (setq fmt (or fmt "pdf")) (setq dir (or dir "{dir}")) (setq fname (or fname "{fname}")) (setq author (or author "{author}")) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-book-links ,fmt ,dir ,fname ,author ,stem) (find-book-links "djvu" ,dir ,fname ,author ,stem) (find-book-links ,fmt "__alg" ,fname ,author ,stem) (find-book-links ,fmt "__etc" ,fname ,author ,stem) (find-book-links ,fmt "__cats" ,fname ,author ,stem) (find-book-links ,fmt "__comp" ,fname ,author ,stem) (find-book-links ,fmt "__phil" ,fname ,author ,stem) (find-book-links ,fmt "__logic" ,fname ,author ,stem) (find-book-links ,fmt "__small" ,fname ,author ,stem) (find-book-links ,fmt "__gender" ,fname ,author ,stem) (find-book-links ,fmt "__physics" ,fname ,author ,stem) (find-book-links ,fmt "__analysis" ,fname ,author ,stem) (find-book-links ,fmt "__discrete" ,fname ,author ,stem) (find-book-links ,fmt "__politics" ,fname ,author ,stem) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-book-links) "" ,(ee-template0 "\ # (find-efunction 'find-book-links) # (find-books \"{dir}/{dir}.el\") # (find-books \"{dir}/{dir}.el\" \"{author}\") # (find-sh0 \"mv -iv {fname} ~/books/{dir}/\") # (ee-copy-rest 1 ' (find-angg \"books/{dir}/{dir}.el\")) ;; <{author}> ;; (find-books \"{dir}/{dir}.el\" \"{author}\") \(code-{fmt}-page \"{stem}\" \"~/books/{dir}/{fname}\") \(code-{fmt}-text \"{stem}\" \"~/books/{dir}/{fname}\" 1) ;; (find-{stem}page) ;; (find-{stem}page 1 \"Contents\") ;; (find-{stem}page (+ 1 189) \"Index\") ;; (find-{stem}text \"\") ") ) pos-spec-list)) ;; (find-book-links) ;; «find-lua-links» (to ".find-lua-links") ;; (find-find-links-links "{k}" "lua" "fname") ;; ;; Test: (find-sh0 "rm -v /tmp/foo.lua") ;; (find-lua-links "/tmp/foo.lua") ;; (defun find-lua-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq fname (or fname "{fname}")) (let ((dir (file-name-directory fname)) (fname0 (file-name-nondirectory fname))) (find-elinks `((find-lua-links ,fname ,@pos-spec-list) (find-lua-links "~/LUA/foo.lua") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-lua-links) "" (find-fline ,dir ,fname0) (find-sh0 ,(format "touch %s && chmod 755 %s" fname fname)) "" (ee-copy-rest 1 '(find-fline ,fname)) "" ,(ee-template0 "\ #!/usr/bin/env lua5.1 -- (defun c () (interactive) (find-sh \"cd {dir}; ./{fname0}\")) -- (defun d () (interactive) (find-fline \"{dir}\")) -- (defun e () (interactive) (find-fline \"{fname}\")) -- -- (find-sh \"./{fname0} arg1 arg2\") -- -- (find-lua51manual \"\") -- (find-pil2page 8 \"Contents\") -- (find-pil2text 8 \"Contents\") -- (find-fline \"~/LUA/lua50init.lua\") print(\"Hello from {fname}\") --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"{fname0}\" --]]\ ") )))) ;; Test: (find-lua-links "~/LUA/foo.lua") (defun find-lua-links-old (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq fname (or fname "{fname}")) (let ((fname- (file-name-nondirectory fname))) (apply 'find-elinks `((find-lua-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-lua-links) "" (kill-new ,fname) (find-blogme3 "anggmake.lua" "anggtranslate") "" (ee-copy-rest 1 '(find-angg ,fname)) "" ,(ee-template0 "\ -- This file: -- http://anggtwu.net/{fname} -- http://anggtwu.net/{fname}.html -- (find-angg \"{fname}\") -- -- (find-lua51manualw3m \"\") -- (find-books \"__comp/__comp.el\" \"ierusalimschy\") -- (find-pil2page 8 \"Contents\") -- (find-pil2text 8 \"Contents\") --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"{fname-}\" --]] -- Local Variables: -- coding: raw-text-unix -- End: ") ) pos-spec-list))) ;; Test: (find-lua-links) ;; (find-lua-links "LUA/youtube.lua") ;; «find-scast-links» (to ".find-scast-links") ;; (find-find-links-links "{k}" "scast" "prep stem sexp") ;; A test: (find-scast-links "R=6" "git-animations" '(find-es "git" "git-animations")) (defun find-scast-links (&optional prep stem sexp &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq prep (or prep "{prep}")) (setq stem (or stem "{stem}")) (setq sexp (or sexp "{sexp}")) (apply 'find-elinks `((find-scast-links ,prep ,stem ,sexp ,@pos-spec-list) (find-scast-links "R=6;r" ,stem ,sexp ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-scast-links) "" ,(ee-template0 "\ \(scast \"k\") \(progn (scast \"R=6;c;g\") {(ee-S sexp)} ) \(scast \"k\") # (find-video \"/tmp/out.mp4\") # file:///tmp/out.mp4 # # (find-fline \"~/screencasts/\" \"{stem}.mp4\") # (find-sh0 \"cp -v /tmp/out.mp4 ~/screencasts/{stem}.mp4\") # (find-video \"~/screencasts/{stem}.mp4\" # file:///home/edrx/screencasts/{stem}.mp4 # http://anggtwu.net/screencasts/ # http://anggtwu.net/screencasts/{stem}.mp4 ") ) pos-spec-list)) ;; Test: (find-scast-links ___) ;; «find-python-links» (to ".find-python-links") ;; (find-find-links-links "{k}" "python" "dir fname") ;; A test: (find-python-links ___) (defun find-python-links (&optional dir fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq dir (or dir "{dir}")) (setq fname (or fname "{fname}")) (apply 'find-elinks `((find-python-links ,dir ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-python-links) "" (kill-new ,(concat " " dir fname "\n")) (find-blogme3 "anggmake.lua" "anggtranslate") (ee-copy-rest 1 '(find-angg ,(concat dir fname))) "" ,(ee-template0 "\ # vim: set fileencoding=latin-1 : # This file: # http://anggtwu.net/{dir}{fname} # http://anggtwu.net/{dir}{fname}.html # (find-angg \"{dir}{fname}\") # # Edrx: # (defun p () (interactive) (find-angg \"{dir}{fname}\")) # (defun pu () (interactive) (find-angg \"{dir}{fname}\" \"upload\")) # # Tau: # (defun p () (interactive) (find-fline \"/tmp/{fname}\")) # (defun d () (interactive) (find-sh \"cd /tmp/ && wget -O {fname} http://anggtwu.net/{dir}{fname}\")) # (defun w () (interactive) (find-wget \"http://anggtwu.net/{dir}{fname}\")) # # file:///usr/share/doc/python2.7/html/howto/regex.html # file:///usr/share/doc/python2.7/html/reference/executionmodel.html \"\"\" * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile(\"{fname}\", globals()) \"\"\" \"\"\" # <upload> * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) makeR1 {dir}{fname}.html Scp-np {dir}{fname}.html {dir}{fname} $TWUP/{dir} # http://anggtwu.net/{dir}{fname}.html \"\"\" # Local Variables: # coding: raw-text-unix # End: ") ) pos-spec-list)) ;; Test: (find-python-links "foo/" "bar.py") ;; Test: (find-python-links "fbcache/" "q.py") ;; «find-fbc-links» (to ".find-fbc-links") ;; (find-find-links-links "{k}" "fbc" "id") ;; Test: (find-fbc-links "1412988905624743") ;; (defun find-fbc-links (&optional id &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for Python-fbcache." (interactive "sId: ") (setq id (or id "{id}")) (apply 'find-elinks `((find-fbc-links ,id) (find-fbc-links "1412988905624743") (find-fbcacheluafile ,id) ;; Convention: the first sexp always regenerates the buffer. (find-angg "fbcache/urls.lua" "prubyks") (find-angg ".pythonrc.py") (find-efunction 'find-fbc-links) "" ,(ee-template0 "\ * (eepitch-python) * (eepitch-kill) * (eepitch-python) o = ggo(\"{id}\") type(o) o.keys() o['description'][:1000] o['message'][:1000] ") ) pos-spec-list)) ;; Test: (find-fbc-links "1412988905624743") ;; «find-lualatex-links» (to ".find-lualatex-links") ;; (find-find-links-links "{k}" "lualatex" "stem tla") ;; Tests: (find-lualatex-links) ;; (find-lualatex-links "2022yoneda-pseudocode" "yps") (defun find-lualatex-links (&optional stem tla &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq stem (or stem "{stem}")) (setq tla (or tla "{tla}")) (apply 'find-elinks `((find-lualatex-links ,stem ,tla ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-lualatex-links) "" (kill-new ,(concat " LATEX/" stem ".tex\n")) (find-blogme3 "anggmake.lua" "anggtranslate") (find-blogme3 "anggmake.lua" "anggtranslate" "LATEX/") (find-blogme3 "anggmake.lua" "anggtranslate" "LATEX/2019.mk") "" (find-eeshortdefs) (code-etex-tla ,tla ,stem) "" (ee-copy-rest 1 '(find-LATEX ,(concat stem ".tex"))) "" ,(ee-template0 "\ % (find-LATEX \"{stem}.tex\") % (defun c () (interactive) (find-LATEXsh \"lualatex -record {stem}.tex\" :end)) % (defun C () (interactive) (find-LATEXSH \"lualatex {stem}.tex\" \"Success!!!\")) % (defun D () (interactive) (find-pdf-page \"~/LATEX/{stem}.pdf\")) % (defun d () (interactive) (find-pdftools-page \"~/LATEX/{stem}.pdf\")) % (defun e () (interactive) (find-LATEX \"{stem}.tex\")) % (defun u () (interactive) (find-latex-upload-links \"{stem}\")) % (defun v () (interactive) (find-2a '(e) '(d))) % (defun cv () (interactive) (C) (ee-kill-this-buffer) (v) (g)) % (defun d0 () (interactive) (find-ebuffer \"{stem}.pdf\")) % (code-eec-LATEX \"{stem}\") % (find-pdf-page \"~/LATEX/{stem}.pdf\") % (find-sh0 \"cp -v ~/LATEX/{stem}.pdf /tmp/\") % (find-sh0 \"cp -v ~/LATEX/{stem}.pdf /tmp/pen/\") % file:///home/edrx/LATEX/{stem}.pdf % file:///tmp/{stem}.pdf % file:///tmp/pen/{stem}.pdf % http://anggtwu.net/LATEX/{stem}.pdf % (find-LATEX \"2019.mk\") % (find-lualatex-links \"{stem}\" \"{tla}\")") ;; " \\documentclass[oneside,12pt]{article} \\usepackage[colorlinks,citecolor=DarkRed,urlcolor=DarkRed]{hyperref} % (find-es \"tex\" \"hyperref\") \\usepackage{amsmath} \\usepackage{amsfonts} \\usepackage{amssymb} \\usepackage{pict2e} \\usepackage[x11names,svgnames]{xcolor} % (find-es \"tex\" \"xcolor\") %\\usepackage{colorweb} % (find-es \"tex\" \"colorweb\") %\\usepackage{tikz} % % (find-dn6 \"preamble6.lua\" \"preamble0\") %\\usepackage{proof} % For derivation trees (\"%:\" lines) %\\input diagxy % For 2D diagrams (\"%D\" lines) %\\xyoption{curve} % For the \".curve=\" feature in 2D diagrams % \\usepackage{edrx21} % (find-LATEX \"edrx21.sty\") \\input edrxaccents.tex % (find-LATEX \"edrxaccents.tex\") \\input edrx21chars.tex % (find-LATEX \"edrx21chars.tex\") \\input edrxheadfoot.tex % (find-LATEX \"edrxheadfoot.tex\") \\input edrxgac2.tex % (find-LATEX \"edrxgac2.tex\") %\\input 2017planar-has-defs.tex % (find-LATEX \"2017planar-has-defs.tex\") % %\\usepackage[backend=biber, % style=alphabetic]{biblatex} % (find-es \"tex\" \"biber\") %\\addbibresource{catsem-slides.bib} % (find-LATEX \"catsem-slides.bib\") % % (find-es \"tex\" \"geometry\") \\begin{document} \\catcode`\\^^J=10 \\directlua{dofile \"dednat6load.lua\"} % (find-LATEX \"dednat6load.lua\") % %L dofile \"edrxtikz.lua\" -- (find-LATEX \"edrxtikz.lua\") % %L dofile \"edrxpict.lua\" -- (find-LATEX \"edrxpict.lua\") % \\pu %\\printbibliography \\GenericWarning{Success:}{Success!!!} % Used by `M-x cv' \\end{document} " ,(ee-template0 "\ % __ __ _ % | \\/ | __ _| | _____ % | |\\/| |/ _` | |/ / _ \\ % | | | | (_| | < __/ % |_| |_|\\__,_|_|\\_\\___| % % <make> * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-LATEXfile \"2019planar-has-1.mk\") make -f 2019.mk STEM={stem} veryclean make -f 2019.mk STEM={stem} pdf % Local Variables: % coding: utf-8-unix % ee-tla: \"{tla}\" % End: ") ) pos-spec-list)) ;; «find-dlualatex-links» (to ".find-lualatex-links") ;; (find-find-links-links "{k}" "dlualatex" "stem") ;; A test: (find-dlualatex-links) (defun find-dlualatex-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-dlualatex-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-dlualatex-links) "" (kill-new ,(concat " dednat6/" stem ".tex\n")) (find-blogme3 "anggmake.lua" "anggtranslate") (find-blogme3 "anggmake.lua" "anggtranslate" " dednat6/") (ee-copy-rest 1 '(find-dednat6 ,(concat stem ".tex"))) "" ,(ee-template0 "\ % (find-angg \"dednat6/{stem}.tex\") % (defun c () (interactive) (find-dednat6sh \"lualatex -record {stem}.tex\")) % (defun d () (interactive) (find-pdf-page \"~/dednat6/{stem}.pdf\")) % (defun e () (interactive) (find-dednat6 \"{stem}.tex\")) % (defun u () (interactive) (find-latex-upload-links \"{stem}\")) % (find-pdf-page \"~/dednat6/{stem}.pdf\") % (find-sh0 \"cp -v ~/dednat6/{stem}.pdf /tmp/\") % (find-sh0 \"cp -v ~/dednat6/{stem}.pdf /tmp/pen/\") % file:///home/edrx/dednat6/{stem}.pdf % file:///tmp/{stem}.pdf % file:///tmp/pen/{stem}.pdf % http://anggtwu.net/dednat6/{stem}.pdf") ;; "\ \\documentclass[oneside]{book} \\usepackage[colorlinks]{hyperref} % (find-es \"tex\" \"hyperref\") \\usepackage{amsmath} \\usepackage{amsfonts} \\usepackage{amssymb} \\usepackage{pict2e} \\usepackage[x11names,svgnames]{xcolor} % (find-es \"tex\" \"xcolor\") %\\usepackage{tikz} % % (find-dn6 \"preamble6.lua\" \"preamble0\") %\\usepackage{proof} % For derivation trees (\"%:\" lines) %\\input diagxy % For 2D diagrams (\"%D\" lines) %\\xyoption{curve} % For the \".curve=\" feature in 2D diagrams % \\begin{document} \\catcode`\\^^J=10 \\directlua{dofile \"dednat6load.lua\"} % (find-LATEX \"dednat6load.lua\") \\end{document} % Local Variables: % coding: utf-8-unix % End:" ) pos-spec-list)) ;; «find-br-links» (to ".find-br-links") ;; (find-find-links-links "{key}" "br" "fun stem") ;; Test: (find-br-links "find-fline" "f") (defun find-br-links (&optional fun stem) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq fun (or fun "{fun}")) (setq stem (or stem "{stem}")) (find-elinks `((find-br-links ,fun ,stem) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-br-links) "" ,(ee-template0 "\ ;; (find-code-brurl '{fun} :remote 'br{stem} :local 'br{stem}l :dired 'br{stem}d) ;; (find-code-brfile '{fun} :local 'br{stem}l) \(code-brurl '{fun} :remote 'br{stem} :local 'br{stem}l :dired 'br{stem}d) \(code-brfile '{fun} :local 'br{stem}l) ") ))) ;; «find-pastebin-links» (to ".find-pastebin-links") ;; (find-es "emacs" "pastebin") ;; (defun find-pastebin-links (&optional a &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq a (or a "{a}")) (apply 'find-elinks `((find-pastebin-links ,a ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-pastebin-links) "" ,(ee-template0 "\ # <ecbrown> edrx: ,,pastebin # http://emacswiki.org/wiki/pastebin # http://paste.lisp.org/new # see also <lisppaste>, <pastebin.el> # https://www.emacswiki.org/emacs/download/pastebin.el ") ) pos-spec-list)) ;; Test: (find-pastebin-links) ;; «find-matplotlib-links» (to ".find-matplotlib-links") ;; (find-find-links-links "{k}" "matplotlib" "subdir name") ;; (find-matplotlibexfile "mplot3d/") ;; Test: (find-matplotlib-links "mplot3d" "wire3d_animation_demo") (defun find-matplotlib-links (&optional subdir name &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for matplotlib." (interactive) (setq subdir (or subdir "{subdir}")) (setq name (or name "{name}")) (let* ((origfname (format "/usr/share/doc/python-matplotlib-doc/examples/%s/%s.py" subdir name)) (bigstr (ee-read-file origfname)) ) (apply 'find-elinks `((find-matplotlib-links ,subdir ,name ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-matplotlib-links) "" ,(ee-template0 "\ # (ee-copy-rest 1 '(find-angg \"MATPLOTLIB/{name}.py\")) # This file: (find-angg \"MATPLOTLIB/{name}.py\") # (find-matplotlib-links \"{subdir}\" \"{name}\") # (find-es \"python\" \"matplotlib-examples\") # (find-matplotlibexfile \"{subdir}/\") # (find-matplotlibexfile \"{subdir}/{name}.py\") # file:///usr/share/doc/python-matplotlib-doc/html/gallery.html#{subdir} # file:///usr/share/doc/python-matplotlib-doc/html/examples/{subdir}/{name}.html * (eepitch-python3) * (eepitch-kill) * (eepitch-python3) {bigstr} ") ) pos-spec-list) (python-mode) )) ;; Test: (find-matplotlib-links "mplot3d" "wire3d_animation_demo") ;; (defun ee-matplotlib-subdir (&optional fname) ;; (car (ee-matplotlib-split (or fname (ee-dired-to-fname))))) ;; ;; (defun ee-matplotlib-name (&optional fname) ;; (cadr (ee-matplotlib-split (or fname (ee-dired-to-fname))))) (defun ee-matplotlib-subdir (&optional fname) (car (ee-matplotlib-split fname))) (defun ee-matplotlib-name (&optional fname) (cadr (ee-matplotlib-split fname))) (defun ee-matplotlib-split (fname) (setq fname (replace-regexp-in-string "\\(\\.py\\|\\.html\\)$" "" fname)) (if (string-match "^.*/\\([^/]+\\)/\\([^/]+\\)$" fname) (list (match-string 1 fname) (match-string 2 fname)) (error "Not a matplotlib thing: %s fname"))) (defun find-matplotlib-file (fname) (interactive (list (ee-dired-to-fname))) (find-matplotlib-links (ee-matplotlib-subdir fname) (ee-matplotlib-name fname))) (code-brfile 'find-matplotlib-file :dired 'brmpd) ;; Test: go here and type M-x brmpd on a file: ;; (find-matplotlibexfile "mplot3d/") ;; (setq mystr "/usr/share/doc/python-matplotlib-doc/examples/mplot3d/2dcollections3d_demo.py") ;; (ee-matplotlib-split mystr) ;; «find-C-links» (to ".find-C-links") ;; (find-find-links-links "{k}" "C" "fname") ;; (find-C-links) (defun find-C-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for foo." (interactive) (setq stem (or stem "{stem}")) (let* ((stem stem)) (apply 'find-elinks `((find-C-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-C-links) "" ,(ee-template0 "\ # (find-C-links \"{stem}\") # (find-C-links \"/tmp/test\") # (ee-copy-rest 1 '(find-fline \"{stem}.c\")) /* // (defun c () (interactive) (find-sh \"gcc -o {stem} {stem}.c\")) // (defun e () (interactive) (find-fline \"{stem}.c\")) // (find-libcnode \"Function Index\" \" printf:\") */ #include <stdio.h> #include <stdlib.h> int main() {<} return 0; {>} /* * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) gcc -o {stem} {stem}.c */ ") ) pos-spec-list))) ;; «find-luarocks-links» (to ".find-luarocks-links") ;; Test: (find-luarocks-links) ;; (find-luarocks-links "StackTracePlus") ;; (find-luarocks-links "ltcltk" "0.9-1") ;; (find-luarocks-links "lpeg" "0.10" "-2") ;; (find-luarocks-links "lposix" "20031107" "-1" "posix") ;; (find-luarocks-links "luamacro" "2.4" "-1" "macro") ;; (find-luarocks-links "penlight" "0.9.8" "-1" "pl???") ;; See: (find-TH "eev/find-luarocks-links") ;; (find-angg ".emacs" "luarocks") ;; (find-angg "LUA/lua50init.lua" "userocks") ;; (find-es "lua5" "luarocks") ;; Skel: (find-find-links-links-new "luarocks" "pkgname v s req" "") ;; (defun find-luarocks-links (&optional pkgname v s req &rest rest) "Visit a temporary buffer containing hyperlinks for luarocks." (interactive (list (ee-stuff-around-point "a-z"))) (setq pkgname (or pkgname "{pkgname}")) (setq v (or v "{ver}")) (setq s (or s "{sub}")) (setq req (or req pkgname)) (apply 'find-elinks `( (find-luarocks-links ,pkgname ,@rest) (find-luarocks-links ,pkgname ,v ,s ,req ,@rest) ;; (find-luarocks-links "ltcltk" "0.9-1") (find-angg ".emacs.templates" "find-luarocks-links") (find-efunction 'find-luarocks-links) "" ;; (find-angg ".emacs" "luarocks") ;; (find-angg "LUA/lua50init.lua" "userocks") ;; (find-es "lua5" "luarocks") ,(ee-template0 "\ ** Search ** ====== ** https://luarocks.org/search?q={pkgname} ** (find-sh \"luarocks list\") ** (find-sh \"luarocks list {pkgname}\") ** (find-sh \"luarocks search {pkgname}\") ** (find-sh \"luarocks install --local {pkgname}\") ** (find-fline \"~/.luarocks/lib/luarocks/rocks/\") ** (find-sh \"find ~/.luarocks/ ~/.cache/luarocks/ | sort\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) luarocks luarocks help luarocks help path luarocks path luarocks path --lr-path luarocks path --lr-cpath luarocks path --lr-bin luarocks path --lr-path | tr ';' '\\n' luarocks path --lr-cpath | tr ';' '\\n' luarocks path --lr-bin | tr ';' '\\n' ** Reinstall luarocks ** ================== ** (find-status \"luarocks\") ** (find-vldifile \"luarocks.list\") ** (find-udfile \"luarocks/\") ** (find-sh \"find ~/.cache/luarocks/ ~/.luarocks/ | sort\") ** (find-sh \"rm -Rfv ~/.cache/luarocks/ ~/.luarocks/ | sort\") ** (find-angg \".zshrc\" \"luarocks\") ** * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) aptrm luarocks apti luarocks # 2014aug29: https://rocks.moonscript.org/m/root # Search (locally): # (find-luarocksfile \"lib/lua/5.1/\") # (find-luarocksfile \"share/lua/5.1/\") # (find-luarocksfile \"lib/luarocks/rocks/\") # (find-luarocksfile \"bin/\" \"{pkgname}\") # (find-luarockssh \"find * | sort\") # (find-luarocksfile \"\") # (find-luarockssh \"bin/luarocks\") # (find-luarockssh \"bin/luarocks list\") # (find-luarockssh \"bin/luarocks list {pkgname}\") # (find-luarockssh \"bin/luarocks show {pkgname}\") # (find-luarockssh \"bin/luarocks help search\") # (find-luarockssh \"bin/luarocks help list\") # Search and download (from the internet): # https://luarocks.org/search?q={pkgname} # http://luarocks.org/repositories/rocks/ # http://luarocks.org/repositories/rocks/index.html#{pkgname} # (find-luarockssh \"bin/luarocks search -all\") # (find-luarockssh \"bin/luarocks search {pkgname}\") # (find-luarockssh \"cd bin/; ./luarocks download {pkgname}\") # Install (from the internet): * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ luarocks list {pkgname} luarocks show {pkgname} luarocks search {pkgname} luarocks --local install {pkgname} |& tee olli-{pkgname} cd ~/usrc/luarocks/bin/ ./luarocks download {pkgname} ./luarocks build {pkgname} |& tee olb-{pkgname} # (find-luarocksbinfile \"\") # (find-luarocksbinfile \"olb-{pkgname}\") #./luarocks install {pkgname} |& tee oli-{pkgname} # Test: * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) userocks() -- (find-angg \"LUA/lua50init.lua\" \"userocks\") require \"{req}\" # Inspect: # (find-luarocksrocksfile \"\") # (find-luarocksrocksfile \"manifest\") # (find-luarocksrocksfile \"{pkgname}/{v}{s}/\") # Inspect and unpack: * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-luarocksfile \"bin/\" \"{pkgname}\") # (find-luarocksfile \"bin/{pkgname}-{v}{s}.src.rock\") unzip -l ~/usrc/luarocks/bin/{pkgname}-{v}{s}.src.rock unzip -p ~/usrc/luarocks/bin/{pkgname}-{v}{s}.src.rock {pkgname}-{v}.tar.gz \\ | tar -tvzf - rm -Rfv ~/usrc/{pkgname}-{v}/ unzip -p ~/usrc/luarocks/bin/{pkgname}-{v}{s}.src.rock {pkgname}-{v}.tar.gz \\ | tar -C ~/usrc/ -xvzf - cd ~/usrc/{pkgname}-{v}/ ;; (find-angg \".emacs\" \"luarocks\") ;; (find-luarocks-links \"{pkgname}\" \"{v}\" \"{s}\") ;; (find-{pkgname}file \"\") \(code-c-d \"{pkgname}\" \"~/usrc/{pkgname}-{v}/\") ") ) rest)) ;; Test: (find-luarocks-links) ;; (find-luarocks-links "ltcltk") ;; (find-luarocks-links "ltcltk" "0.9-1") ;; (find-luarocks-links "lpeg" "0.10" "-1") ;; (find-luarocks-links "lpeg" "0.12" "-1") ;; «find-luarocks-src-links» (to ".find-luarocks-src-links") ;; Skel: (find-find-links-links-new "luarocks-src" "pkgname dir c" "") ;; Test: (find-luarocks-src-links "lpeglabel") ;; (defun ee-luarocks-src-dir1 () (find-sh0 "cd /tmp/rock/* && find * -maxdepth 0 -type d")) (defun find-luarocks-src-links (&optional pkgname dir c &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for luarocks-src." (interactive) (setq pkgname (or pkgname "{pkgname}")) (setq dir (or dir "{dir}")) (setq c (or c pkgname "{c}")) (apply 'find-elinks `((find-luarocks-src-links ,pkgname ,dir ,c ,@pos-spec-list) (find-luarocks-src-links ,pkgname (ee-luarocks-src-dir1) ,c ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-luarocks-src-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) luarocks search {pkgname} | tee /tmp/ols # (find-fline \"/tmp/ols\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv /tmp/rock/ mkdir /tmp/rock/ cd /tmp/rock/ luarocks unpack {pkgname} # (find-luarocks-src-links \"{pkgname}\" (ee-luarocks-src-dir1) \"{c}\") rm -Rv ~/usrc/{dir}/ cd /tmp/rock/ cd * cp -Rv {dir} ~/usrc/ # (code-c-d \"{c}\" \"~/usrc/{dir}/\") # (find-{c}file \"\") ") ) pos-spec-list)) ;; «find-math-b-links» (to ".find-math-b-links") ;; Skel: (find-find-links-links-new "math-b" "tag fnamestem" "") ;; Test: (find-math-b-links "2020-classifier" "2019classifier") ;; (defun find-math-b-links (&optional tag fnamestem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for math-b." (interactive) (setq tag (or tag "{tag}")) (setq fnamestem (or fnamestem "{fnamestem}")) (apply 'find-elinks `((find-math-b-links ,tag ,fnamestem ,@pos-spec-list) (find-math-b-links ,(ee-last-kill) ,(ee-last-kill) ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-math-b-links) "" ,(ee-template0 "\ % (find-TH \"math-b\" \"{tag}\") % http://anggtwu.net/math-b.html#{tag} % file:///home/edrx/TH/L/math-b.html#{tag} [# (find-math-b-links \"{tag}\" \"{fnamestem}\") # (find-LATEX \"{fnamestem}.tex\") # (find-pdf-page \"~/LATEX/{fnamestem}.pdf\") # http://anggtwu.net/LATEX/{fnamestem}.pdf #] ") ) pos-spec-list)) ;; «find-defcsprefix-links» (to ".find-defcsprefix-links") ;; Skel: (find-find-links-links-new "defcsprefix" "csprefix fullname" "") ;; Test: (find-defcsprefix-links "zha") ;; (find-defcsprefix-links "tcg") ;; (find-defcsprefix-links "mateight" "MATRIX 4x2") ;; (defun find-defcsprefix-links (&optional csprefix fullname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for defcsprefix." (interactive) (setq csprefix (or csprefix "{csprefix}")) (setq fullname (or fullname (upcase csprefix) "{fullname}")) (apply 'find-elinks `((find-defcsprefix-links ,csprefix ,fullname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-defcsprefix-links) "" ,(ee-template0 "\ % <def{csprefix}> % Skel: (find-defcsprefix-links \"{csprefix}\" \"{fullname}\") % \\def\\def{csprefix}#1#2{<}\\expandafter\\def\\csname {csprefix}-#1\\endcsname{<}#2{>}{>} \\def\\if{csprefix}undefined#1{<}\\expandafter\\ifx\\csname {csprefix}-#1\\endcsname\\relax{>} \\def\\{csprefix}#1{<}\\if{csprefix}undefined{<}#1{>} \\errmessage{<}UNDEFINED {fullname}: #1{>} \\else \\csname {csprefix}-#1\\endcsname \\fi {>} ") ) pos-spec-list)) ;; «find-debian-version-links» (to ".find-debian-version-links") ;; Skel: (find-find-links-links-new "debian-version" "" "") ;; Test: (find-debian-version-links) ;; (defun find-debian-version-links (&rest pos-spec-list) "Visit a temporary buffer containing a script for determining the Debian version." (interactive) (apply 'find-elinks `((find-debian-version-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-debian-version-links) ;; "" ,(ee-template0 "\ # https://linuxconfig.org/check-what-debian-version-you-are-running-on-your-linux-system # https://www.debian.org/releases/ # https://www.debian.org/doc/manuals/debian-faq/ # https://www.debian.org/doc/manuals/debian-faq/getting-debian.en.html#version # https://en.wikipedia.org/wiki/Debian_version_history # (find-es \"x\" \"which-window-manager\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cat /etc/issue cat /etc/debian_version cat /etc/os-release cat /etc/hostname lsb_release -da hostnamectl wmctrl -m echo $XDG_CURRENT_DESKTOP echo $GDMSESSION echo $SHELL ") ) pos-spec-list)) ;; «find-sound-debug-links» (to ".find-sound-debug-links") ;; Skel: (find-find-links-links-new "sound-debug" "" "") ;; Test: (find-sound-debug-links) ;; (defun find-sound-debug-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for sound-debug." (interactive) (apply 'find-elinks `((find-sound-debug-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-sound-debug-links) "" " logthis () { echo $*:; eval $* 2>&1; echo; echo; } { # (find-efunction 'find-debian-version-links) logthis cat /etc/issue logthis cat /etc/debian_version logthis cat /etc/os-release logthis lsb_release -da logthis hostnamectl # (find-es \"alsa\" \"aplay\") logthis aplay -l logthis aplay -L # (find-es \"sound\" \"troubleshooting\") logthis \"lspci -vvv | grep -A8 Audio\" logthis \"lspci -knn | grep -A2 Audio\" logthis groups logthis \"rm -f /tmp/oac; /usr/sbin/alsactl -f /tmp/oac store; cat /tmp/oac\" } \\ | tee ~/oalsa " ,(ee-template0 "\ ") ) pos-spec-list)) ;; «find-bradytdd-links» (to ".find-bradytdd-links") ;; Skel: (find-find-links-links-new "bradytdd" "fullfname" "shortfname stem") ;; Test: (find-bradytdd-links "~/IDRIS/brady/02/Average.idr") ;; (defun find-bradytdd-links (&optional fullfname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for bradytdd." (interactive) (setq fullfname (or fullfname buffer-file-name)) (setq fullfname (or fullfname "{fullfname}")) (let* ((shortfname (replace-regexp-in-string "^.*/IDRIS/" "" fullfname)) (stem (replace-regexp-in-string "^.*/\\([-A-Za-z0-9_]*\\).idr$" "\\1" shortfname))) (apply 'find-elinks `((find-bradytdd-links ,fullfname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. ;; `(find-efunction 'find-bradytdd-links) (ee-copy-rest 1 '(find-fline ,fullfname)) "" ,(ee-template0 "\ -- This file: -- http://anggtwu.net/IDRIS/{shortfname}.html -- http://anggtwu.net/IDRIS/{shortfname} -- (find-angg \"IDRIS/{shortfname}\") -- -- (find-bradytddfile \"Chapter2/\") -- (find-books \"__comp/__comp.el\" \"brady\") {<}- * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) idris {stem} -{>} ") ) pos-spec-list))) ;; «find-dednat4-convert-links» (to ".find-dednat4-convert-links") ;; Skel: (find-find-links-links-new "dednat4-convert" "fname" "stem") ;; Test: ;; (defun find-dednat4-convert-links (&optional fname &rest pos-spec-list) "Material for converting a .tex from dednat4 to dednat6." (interactive) (setq fname (or fname buffer-file-name)) (setq fname (or fname "{fname}")) (let* ((stem (file-name-nondirectory fname))) (setq stem (replace-regexp-in-string "\\.tex$" "" stem)) (setq stem (replace-regexp-in-string "\\-utf8$" "" stem)) (apply 'find-elinks `((find-dednat4-convert-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-dednat4-convert-links) "" (find-lualatex-links ,(concat stem "-utf8")) (find-LATEX ,(concat stem ".tex")) (find-LATEX ,(concat stem "-utf8.tex")) " \\catcode`\\^^O=13 \\def*{\\ensuremath{\\bullet}} % (find-dednat6 \"dednat6/block.lua\" \"TexLines\") \\directlua{tf:processuntil(texlines:nlines())} " ,(ee-template0 " * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v ~/LATEX/{stem}.tex /tmp/o ~/LUA/texcatcodes.lua -trans /tmp/o /tmp/o2 # (find-fline \"/tmp/o2\") ") ) pos-spec-list))) ;; «find-psne-article-links» (to ".find-psne-article-links") ;; Skel: (find-find-links-links-new "psne-article" "url stem" "localurl localdir") ;; (defun find-psne-article-links (&optional url stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for psne-article." (interactive) (setq url (or url "{url}")) (setq stem (or stem "{stem}")) (let* ((localurl (ee-url-to-fname0 url)) (localdir (file-name-directory localurl)) ) (apply 'find-elinks `((find-psne-article-links ,url ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-psne-article-links) "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) mkdir -p {localdir} cd {localdir} wget -nc '{url}' echo '{url}' >> ~/.psne.log # (find-fline \"{localdir}\") # (find-pdf-page \"{localurl}\") # (find-pdf-text \"{localurl}\") ;; <{stem}> ;; {url} ;; (find-fline \"{localdir}\") \(code-pdf-page \"{stem}\" \"{localurl}\") \(code-pdf-text \"{stem}\" \"{localurl}\") ;; (find-{stem}page) ;; (find-{stem}text) ") ) pos-spec-list))) (code-brurl 'find-psne-article-links :remote 'brap) ;; «find-psne-arxiv-links» (to ".find-psne-arxiv-links") ;; Skel: (find-find-links-links-new "psne-arxiv" "url stem" "localurl localdir") ;; Test: (find-psne-arxiv-links "https://arxiv.org/pdf/1906.11236.pdf") ;; (defun find-psne-arxiv-links (&optional url stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for psne-arxiv." (interactive) (setq url (or url "{url}")) (setq stem (or stem "{stem}")) (let* ((localurl (ee-url-to-fname0 url)) (localdir (file-name-directory localurl)) ;; (fname0 (file-name-nondirectory localurl)) (fname00 (replace-regexp-in-string ".pdf$" "" fname0)) (srcurl (format "https://arxiv.org/e-print/%s" fname00)) (srcfile (format "$S/https/arxiv.org/e-print/%s.tar" fname00)) (srcdir "$S/https/arxiv.org/e-print/") (usrcdir (format "~/usrc/arxiv-%s/" stem)) ) (apply 'find-elinks `((find-psne-arxiv-links ,url ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-psne-arxiv-links) "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) mkdir -p {localdir} cd {localdir} cp -iv /tmp/{(file-name-nondirectory localurl)} {localdir} # wget -nc '{url}' echo '{url}' >> ~/.psne.log # (find-fline \"{localdir}\") # (find-pdf-page \"{localurl}\") # (find-pdf-text \"{localurl}\") ;; <{stem}> ;; https://arxiv.org/abs/{fname00} ;; {url} \(code-pdf-page \"{stem}\" \"{localurl}\") \(code-pdf-text \"{stem}\" \"{localurl}\") ;; (find-{stem}page) ;; (find-{stem}text) # Download the source: # https://arxiv.org/abs/{fname00} # {url} # {srcurl} # (find-fline \"{srcfile}\") # (find-fline \"{usrcdir}\") * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) mkdir -p {srcdir} cp -v /tmp/{fname00} {srcfile} rm -Rv {usrcdir} mkdir {usrcdir} cd {usrcdir} tar -xvf {srcfile} # (find-psne-arxiv-links \"{url}\" \"{stem}\") # (find-booksgrep \"grep --color -nH --null -e {stem} */*.el\") # (code-c-d \"{stem}\" \"~/usrc/arxiv-{stem}/\") # (find-{stem}file \"\") ") ) pos-spec-list))) ;; Test: (find-psne-arxiv-links "https://arxiv.org/pdf/1906.11236.pdf") ;; Test: (find-psne-arxiv-links "https://arxiv.org/pdf/1906.11236.pdf" "hughesfopws") (code-brurl 'find-psne-arxiv-links :remote 'brarxp) ;; «find-book-grep-links» (to ".find-book-grep-links") ;; Skel: (find-find-links-links-new "book-grep" "str" "") ;; Test: (book-grep) ;; (defalias 'book-grep 'find-book-grep-links) (defun find-book-grep-links (&optional str0 &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for book-grep." (interactive) (setq str0 (or str0 "{str0}")) (apply 'find-elinks `((find-book-grep-links ,str0 ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-book-grep-links) "" ,(ee-template0 "\ # (find-booksgrep \"grep --color -nH --null -e {str0} */*.el\") # (find-booksgrep \"grep --color -niH --null -e {str0} */*.el\") ") ) pos-spec-list)) ;; «find-my-this-file-links» (to ".find-my-this-file-links") ;; Skel: (find-find-links-links-new "my-this-file" "fname0 c" "fname pre post") ;; Test: (find-my-this-file-links) ;; (defun find-my-this-file-links (&optional fname0 c pre post &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for my-this-file." (interactive) (setq fname0 (or fname0 (ee-shorten-file-name (buffer-file-name)) "{fname0}")) (setq c (or c "%" "{c}")) (let* ((fname (ee-replace-prefix "~/" "" fname0)) (pre (or pre "")) (post (or post ""))) (apply 'find-elinks `((find-my-this-file-links ,fname0 ,c ,@pos-spec-list) (find-my-this-file-links ,fname0 "#") (find-my-this-file-links ,fname0 "%") (find-my-this-file-links ,fname0 "--") (find-my-this-file-links ,fname0 ";;") (find-my-this-file-links ,fname0 "//") (find-my-this-file-links ,fname0 " *" "/*\n" "\n*/") (find-my-this-file-links ,fname0 "--" "<!--\n" "\n-->") (find-my-this-file-links ,fname0 "{c}") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-my-this-file-links) "" ,(ee-template0 "\ # (kill-new \" {fname}\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \" LEAN/\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \" LUA/\") # (find-THfile \"Makefile\" \"dirs\") # (ee-copy-rest 2 '(find-fline \"{fname0}\")) # (ee-copy-rest0 1 nil) {pre}\ {c} This file: {c} http://anggtwu.net/{fname}.html {c} http://anggtwu.net/{fname} {c} (find-angg \"{fname}\") {c} Author: Eduardo Ochs <eduardoochs@gmail.com> {c} {c} (defun e () (interactive) (find-angg \"{fname}\"))\ {post} {pre}\ {c} Local Variables: {c} coding: utf-8-unix {c} End:\ {post} ") ) pos-spec-list))) ;; Test: (find-my-this-file-links) ;; «find-ebook-convert-links» (to ".find-ebook-convert-links") ;; Skel: (find-find-links-links-new "ebook-convert" "fname" "dir fname- stem") ;; (defun find-ebook-convert-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for ebook-convert." (interactive) (setq fname (or fname (ee-dired-to-fname) "{fname}")) (let* ((dir (file-name-directory fname)) (fname- (file-name-nondirectory fname)) (stem (replace-regexp-in-string ".epub$" "" fname-))) (apply 'find-elinks `((find-ebook-convert-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-ebook-convert-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd {dir} ebook-convert \\ {fname-} \\ {stem}.pdf \\ --base-font-size=12 \\ --pdf-page-numbers cd {dir} pandoc \\ -f epub \\ -t latex \\ -o my.pdf \\ --epub-chapter-level=1 \\ --pdf-engine=lualatex \\ {fname-} # (find-pdf-page \"{dir}{stem}.pdf\") # (find-pdf-text \"{dir}{stem}.pdf\") # (cd \"{dir}\") # (find-book-links \"pdf\" nil \"{stem}.pdf\") ") ) pos-spec-list))) (code-brfile 'find-ebook-convert-links :dired 'brecd) ;; (find-ebook-convert-links "/tmp/cheng__cakes_custard_and_category_theory.epub") ;; «find-lilypond-links» (to ".find-lilypond-links") ;; Skel: (find-find-links-links-new "lilypond" "stem" "") ;; (defun find-lilypond-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for lilypond." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-lilypond-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-lilypond-links) "" ,(ee-template0 "\ # (kill-new \" LILYPOND/{stem}.ly\\n\") # (find-fline \"~/blogme3/anggmake.lua\" \"LILYPOND/\") # (ee-copy-rest 1 '(find-fline \"~/LILYPOND/{stem}.ly\")) % (defun c () (interactive) (find-sh \"cd ~/LILYPOND/ && lilypond {stem}.ly\")) % (defun d () (interactive) (find-pdf-page \"~/LILYPOND/{stem}.pdf\")) % (defun d () (interactive) (find-pdftools-page \"~/LILYPOND/{stem}.pdf\")) % (defun e () (interactive) (find-fline \"~/LILYPOND/{stem}.ly\")) % (defun v () (interactive) (find-2a '(e) '(d)) (g)) % (find-lilylearnpage 2 \"Table of Contents\") % (find-lilylearntext 2 \"Table of Contents\") % (find-books \"__comp/__comp.el\" \"lilypond\") % (find-lilylearnpage (+ 5 1) \"1.1 Compiling a file\") % (find-lilylearntext (+ 5 1) \"1.1 Compiling a file\") \\version \"2.18.2\" {<} c' e' g' e' {>} ") ) pos-spec-list)) ;; Test: (find-lilypond-links "a_new_ground") ;; «find-latexgimp-links» (to ".find-latexgimp-links") ;; Skel: (find-find-links-links-new "latexgimp" "fname" "fullfname fulldir") ;; (defun find-latexgimp-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for latexgimp." (interactive) (setq fname (or fname "{fname}")) (setq fname (or (ee-if-prefixp "~/LATEX/" "" fname 'fname+) fname)) (let* ((fullfname (concat "~/LATEX/" fname)) (fulldir (file-name-directory fullfname)) ) (apply 'find-elinks `((find-latexgimp-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-latexgimp-links) "" ,(ee-template0 "\ % (find-fline \"{fulldir}\") % (find-fline \"{fullfname}.png\") % (kill-new \"{fullfname}.xcf\") % (kill-new \"{fullfname}.png\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd {fulldir} gimp {fullfname}.xcf % (eek \"2*<right> C-SPC 3*<down> M-w\") % (find-latexgimp-links \"{fname}\") % (find-fline \"{fullfname}.png\") \\includegraphics[width=2cm]{<}{fname}.png{>} ") ) pos-spec-list))) ;; Test: (find-latexgimp-links "~/LATEX/GIMP/1") ;; «find-latexinkscape-links» (to ".find-latexinkscape-links") ;; Skel: (find-find-links-links-new "latexinkscape" "fname" "fullfname fulldir") ;; (defun find-latexinkscape-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for latexinkscape." (interactive) (setq fname (or fname "{fname}")) (setq fname (or (ee-if-prefixp "~/LATEX/" "" fname 'fname+) fname)) (let* ((fullfname (concat "~/LATEX/" fname)) (fulldir (file-name-directory fullfname))) (apply 'find-elinks `((find-latexinkscape-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-latexinkscape-links) "" ,(ee-template0 "\ % (find-fline \"{fulldir}\") % (find-fline \"{fullfname}.svg\") % (find-fline \"{fullfname}.pdf\") % (find-pdf-page \"{fullfname}.pdf\") % (kill-new \"{fullfname}.svg\") % (kill-new \"{fullfname}.pdf\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # mkdir {fulldir} cd {fulldir} inkscape {fullfname}.svg % (eek \"2*<right> C-SPC 3*<down> M-w\") % (find-latexinkscape-links \"{fname}\") % (find-fline \"{fullfname}.pdf\") \\includegraphics[width=2cm]{<}{fname}.pdf{>} ") ) pos-spec-list))) ;; «find-latexscan-links» (to ".find-latexscan-links") ;; Skel: (find-find-links-links-new "latexscan" "cn stem" "pdffname") ;; Test: (find-latexscan-links) ;; (defun find-latexscan-links (&optional cn stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for latexscan." (interactive) (setq cn (or cn "{cn}")) (setq stem (or stem "{stem}")) (let* ((pdffname (ee-template0 "2024-2-{cn}/{stem}.pdf"))) (apply 'find-elinks `((find-latexscan-links ,cn ,stem ,@pos-spec-list) (find-latexscan-links "C3" "20201125_114928_poli_grau_5") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-latexscan-links) "" ,(ee-template0 "\ % (find-fline \"~/2024.2-{cn}/\") % (find-fline \"~/LATEX/2024-2-{cn}/\") % (find-LATEX \"2020-1-C3-aprox-2a-ordem-R2.tex\" \"scans\") % (find-latexscan-links \"{cn}\" \"{stem}\") % (find-xpdf-page \"~/LATEX/{pdffname}\") \\includegraphics[height=8cm]{<}{pdffname}{>} \\includegraphics[width=11cm]{<}{pdffname}{>} ") ) pos-spec-list))) ;; «find-C2-aula-links» (to ".find-C2-aula-links") ;; Skel: (find-find-links-links-new "C2-aula" "stem n shortsuffix" "") ;; Test: (find-C2-aula-links) ;; (find-C2-aula-links "2020-1-C2-somas-2" "2" "somas2") ;; (defun find-C2-aula-links (&optional stem n shortsuffix &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for C2-aula." (interactive) (setq stem (or stem "{stem}")) (setq n (or n "{n}")) (setq shortsuffix (or shortsuffix "{shortsuffix}")) (apply 'find-elinks `((find-C2-aula-links ,stem ,n ,shortsuffix ,@pos-spec-list) (find-C2-aula-links "2020-1-C2-foo-bar" "42" "foobar") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-C2-aula-links) "" ,(ee-template0 "\ # (find-angg \".emacs\" \"2020-1-slides-aulas\") (code-etex \"c2m201{shortsuffix}\" \"{stem}\") (code-etex \"c2m{n}\" \"{stem}\") # (find-lualatex-links \"{stem}\") # (find-LATEX \"{stem}.tex\") # (c2m201{shortsuffix}p) # (c2m201{shortsuffix}) # (c2m{n}p) # (c2m{n}) % (find-es \"tex\" \"geometry\") \\usepackage[a6paper, landscape, top=1.5cm, bottom=.25cm, left=1cm, right=1cm, includefoot ]{<}geometry{>} % % ee-tla: \"c2m201{shortsuffix}\" (find-2a '(find-LATEX \"2020-1-C2-somas-1.tex\" \"defs\") '(find-LATEX \"{stem}.tex\") ) % (find-vscan-links \"{stem}\") ") ) pos-spec-list)) ;; «find-C3-aula-links» (to ".find-C3-aula-links") ;; Skel: (find-find-links-links-new "C3-aula" "stem n shortsuffix" "") ;; Test: (find-C3-aula-links) ;; (find-C3-aula-links "2020-1-C3-taylor-1" "2" "taylor1") ;; (defun find-C3-aula-links (&optional stem n shortsuffix &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for C3-aula." (interactive) (setq stem (or stem "{stem}")) (setq n (or n "{n}")) (setq shortsuffix (or shortsuffix "{shortsuffix}")) (apply 'find-elinks `((find-C3-aula-links ,stem ,n ,shortsuffix ,@pos-spec-list) (find-C3-aula-links "2020-1-C3-foo-bar" "42" "foobar") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-C3-aula-links) "" ,(ee-template0 "\ # (find-angg \".emacs\" \"2020-1-slides-aulas\") (code-etex \"c3m201{shortsuffix}\" \"{stem}\") (code-etex \"c3m{n}\" \"{stem}\") # (find-lualatex-links \"{stem}\") # (find-LATEX \"{stem}.tex\") % (find-es \"tex\" \"geometry\") \\usepackage[a6paper, landscape, top=1.5cm, bottom=.25cm, left=1cm, right=1cm, includefoot ]{<}geometry{>} % % ee-tla: \"c3m201{shortsuffix}\" (find-2a ;; ' (find-LATEX \"2020-1-C3-vetor-tangente.tex\" \"defs\") ' (find-LATEX \"2020-1-C3-taylor-3.tex\" \"defs\") ' (find-LATEX \"{stem}.tex\") ) ") ) pos-spec-list)) ;; «ee-template0-file» (to ".ee-template0-file") ;; Tests: ' (find-2a ' (find-fline "~/LATEX/2020-1-CN-template.tex") ' (find-estring (let ((stem "*STEM*")) (ee-template0-file "~/LATEX/2020-1-CN-template.tex" "⟦\\([!-~]+\\)⟧")))) ' (find-2a ' (find-fline "~/LATEX/2022template.lagda.tex") ' (find-estring (let ((stem "*STEM*")) (ee-template0-file "~/LATEX/2022template.lagda.tex")))) ;; (defvar ee-template0-file-re "⟦\\([!-~]+\\)⟧") (defun ee-template0-file (fname &optional re) (let ((ee-template00-re (or re ee-template0-file-re))) (ee-template0 (ee-read-file fname)))) ;;; ____ _ _ _ ;;; / ___| \ | | __ _ _ _| | __ _ ;;; | | | \| |_____ / _` | | | | |/ _` | ;;; | |___| |\ |_____| (_| | |_| | | (_| | ;;; \____|_| \_| \__,_|\__,_|_|\__,_| ;;; ;; «find-CN-aula-links» (to ".find-CN-aula-links") ;; Skel: (find-find-links-links-new "CN-aula" "stem N tlalong tla" "yys") ;; Tests: (find-CN-aula-links "2020-2-C5-foo-bar" "5" "c5mfoobar" "c5mfb") ;; (find-CN-aula-links "2020-2-C2-intro" "2" "c2m202intro" "c2m202i") ;; (defun find-CN-aula-links (&optional stem N tlalong tla &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for CN-aula." (interactive) (setq stem (or stem "{stem}")) (setq N (or N "{N}")) (setq tlalong (or tlalong "{tlalong}")) (setq tla (or tla "{tla}")) (let* ((yys "{yys}")) (apply 'find-elinks `((find-CN-aula-links ,stem ,N ,tlalong ,tla ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-CN-aula-links) "" ,(ee-template0 "\ # (kill-new \" LATEX/{stem}.tex\\n\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/2023-1\") # ^ Add to the makefile ;; ({tlalong}a \"title\") (code-etex-tla \"{tla}\" \"{stem}\") (code-etex-tla \"{tlalong}\" \"{stem}\") ;; ^ add to: (find-angg \".emacs\" \"c{N}-2023-1\") [R http://anggtwu.net/LATEX/{stem}.pdf PDF]. [# ({tlalong}p 1 \"index\") # ({tlalong}a \"index\") #] # ^ copy to: (find-TH \"2023.1-C{N}\") % ({tlalong}a \"title\") \\incl{<}{stem}{>} % ^ copy to: (find-LATEX \"2023-1-C{N}-tudo.tex\" \"parts\") # (ee-copy-rest 3 '(find-LATEX \"{stem}.tex\")) ") ;; (find-LATEX "2023-1-CN-template.tex") ;; (find-LATEX "2022-2-CN-template.tex") ;; (find-LATEX "2022-1-CN-template.tex") ;; (find-LATEX "2021-2-CN-template.tex") ,(ee-template0-file "~/LATEX/2023-1-CN-template.tex" "⟦\\([!-~]+\\)⟧") ) pos-spec-list))) ;;; __ __ __ __ _ ;;; | \/ | \/ | __ _ _ _| | __ _ ;;; | |\/| | |\/| |_____ / _` | | | | |/ _` | ;;; | | | | | | |_____| (_| | |_| | | (_| | ;;; |_| |_|_| |_| \__,_|\__,_|_|\__,_| ;;; ;; «find-MM-aula-links» (to ".find-MM-aula-links") ;; Skel: (find-find-links-links-new "MM-aula" "stem M tlalong tla" "") ;; Test: (find-MM-aula-links "2024-1-C3-teste-niv" "3" "c3m241testeniv" "c3tn") ;; (defun find-MM-aula-links (&optional stem M tlalong tla &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for MM-aula." (interactive) (setq stem (or stem "{stem}")) (setq M (or M "{M}")) (setq tlalong (or tlalong "{tlalong}")) (setq tla (or tla "{tla}")) (apply 'find-elinks `((find-MM-aula-links ,stem ,M ,tlalong ,tla ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-MM-aula-links) (find-LATEX "2024-2-MM-template.tex") "" ,(ee-template0 "\ # (kill-new \" LATEX/{stem}.tex\\n\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/2024-2\") # ^ Add to the makefile ;; ({tlalong}a \"title\") (code-etex-tla \"{tla}\" \"{stem}\") (code-etex-tla \"{tlalong}\" \"{stem}\") ;; ^ add to: (find-angg \".emacs\" \"c{M}-2024-2\") [R http://anggtwu.net/LATEX/{stem}.pdf PDF]. [# ({tlalong}p 1 \"index\") # ({tlalong}a \"index\") #] # ^ copy to: (find-TH \"2024.2-{M}\") % ({tlalong}a \"title\") \\incl{<}{stem}{>} % ^ copy to: (find-LATEX \"2024-2-C{M}-tudo.tex\" \"parts\") ({tlalong}a \"title\") ({tla}p) -> http://anggtwu.net/LATEX/{stem}.pdf % ^ copy to: (find-TH \"2024.2-C{M}\" \"executado\") # (ee-copy-rest 1 '(find-LATEX \"{stem}.tex\")) ") ;; (find-LATEX "2023-1-CN-template.tex") ;; (find-LATEX "2023-1-MM-template.tex") ;; (find-LATEX "2023-2-MM-template.tex") ;; (find-LATEX "2024-1-MM-template.tex") ;; (find-LATEX "2024-2-MM-template.tex") ,(ee-template0-file "~/LATEX/2024-2-MM-template.tex" "⟦\\([!-~]+\\)⟧") ) pos-spec-list)) ;; ;; «find-MM-aula-2023-2-links» (to ".find-MM-aula-2023-2-links") ;; ;; Skel: (find-find-links-links-new "MM-aula" "stem MM tlalong tla" "yys mm") ;; ;; Test: (find-MM-aula-links "2023-1-LA-intro" "LA" "lam231intro" "lami") ;; ;; ;; (defun find-MM-aula-links (&optional stem MM tlalong tla &rest pos-spec-list) ;; "Visit a temporary buffer containing hyperlinks for MM-aula." ;; (interactive) ;; (setq stem (or stem "{stem}")) ;; (setq MM (or MM "{MM}")) ;; (setq tlalong (or tlalong "{tlalong}")) ;; (setq tla (or tla "{tla}")) ;; (let* ((yys "{yys}") ;; (mm (downcase MM))) ;; (apply ;; 'find-elinks ;; `((find-MM-aula-links ,stem ,MM ,tlalong ,tla ,@pos-spec-list) ;; ;; Convention: the first sexp always regenerates the buffer. ;; (find-efunction 'find-MM-aula-links) ;; (find-LATEX "2023-2-MM-template.tex") ;; "" ;; ,(ee-template0 "\ ;; ;; # (kill-new \" LATEX/{stem}.tex\\n\") ;; # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") ;; # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/2023-2\") ;; # ^ Add to the makefile ;; ;; ;; ({tlalong}a \"title\") ;; (code-etex-tla \"{tla}\" \"{stem}\") ;; (code-etex-tla \"{tlalong}\" \"{stem}\") ;; ;; ^ add to: (find-angg \".emacs\" \"{mm}-2023-2\") ;; ;; [R http://anggtwu.net/LATEX/{stem}.pdf PDF]. ;; [# ({tlalong}p 1 \"index\") ;; # ({tlalong}a \"index\") ;; #] ;; ;; # ^ copy to: (find-TH \"2023.2-{MM}\") ;; ;; % ({tlalong}a \"title\") ;; \\incl{<}{stem}{>} ;; ;; % ^ copy to: (find-LATEX \"2023-2-{MM}-tudo.tex\" \"parts\") ;; ;; # (ee-copy-rest 3 '(find-LATEX \"{stem}.tex\")) ;; ;; ;; ") ;; ;; (find-LATEX "2023-1-CN-template.tex") ;; ;; (find-LATEX "2023-1-MM-template.tex") ;; ;; (find-LATEX "2023-2-MM-template.tex") ;; ,(ee-template0-file "~/LATEX/2023-2-MM-template.tex" ;; "⟦\\([!-~]+\\)⟧") ;; ) ;; pos-spec-list))) ;; «find-MM-tudo-links» (to ".find-MM-tudo-links") ;; Skel: (find-find-links-links-new "MM-tudo" "yy s MM" "mm") ;; Test: (find-MM-tudo-links "23" "1" "LA") ;; (find-MM-tudo-links "24" "2" "C2") ;; (defun find-MM-tudo-links (&optional yy s MM &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for MM-tudo." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq MM (or MM "{MM}")) (let* ((mm (downcase MM)) (stem (ee-template0 "20{yy}-{s}-{MM}-tudo")) (tlalong (ee-template0 "{mm}m{yy}{s}tudo")) (tla (ee-template0 "{mm}tu"))) (apply 'find-elinks `((find-MM-tudo-links ,yy ,s ,MM ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-MM-tudo-links) (find-LATEX "2023-2-MM-tudo-template.tex") "" ,(ee-template0 "\ # (kill-new \" LATEX/20{yy}-{s}-{MM}-tudo.tex\\n\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/20{yy}-{s}-{MM}\") # ^ Add to the makefile ;; ({tlalong}a \"title\") (code-etex-tla \"{tla}\" \"{stem}\") (code-etex-tla \"{tlalong}\" \"{stem}\") ;; ^ add to: (find-angg \".emacs\" \"{mm}-2024-2\") # (ee-copy-rest 1 '(find-LATEX \"20{yy}-{s}-{MM}-tudo.tex\")) ") ;; (find-LATEX "2023-1-MM-tudo-template.tex") ;; (find-LATEX "2023-2-MM-tudo-template.tex") ,(ee-template0-file "~/LATEX/2023-2-MM-tudo-template.tex" "⟦\\([!-~]+\\)⟧") ) pos-spec-list))) (defun ee-1stclassvideos-add (entry) (setq ee-1stclassvideos-info (ee-areplace ee-1stclassvideos-info (car entry) (cdr entry)))) ;;; ;;; ___ ___ _ __ ;;; / __/ __| '__| ;;; \__ \__ \ | ;;; |___/___/_| ;;; ;; «find-ssr-links» (to ".find-ssr-links") ;; Skel: (find-find-links-links-new "ssr" "stem c hash" "") ;; Test: (find-ssr-links "nam" "nameofthevideofile") ;; (defun find-ssr-links (&optional c stem hash time &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for SimpleScreenRecorder." (interactive) (setq stem (or stem "{stem}")) (setq c (or c "{c}")) (setq hash (or hash "{hash}")) (setq time (or time "{time}")) (apply 'find-elinks `((find-ssr-links ,c ,stem ,hash ,time ,@pos-spec-list) (find-ssr-links "nam" "nameofthevideofile" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-ssr-links) "" ,(ee-template0 "\ # (find-es \"xfce\" \"keyboard-shortcuts\") # Alt-F1 -> Multimedia -> SimpleScreenRecorder # Alt-F9 = hide_window_key # SSR hotkey (record/stop): super-R # Play: # (find-fline \"/tmp/\" \"ssr.mp4\") # (find-video \"/tmp/ssr.mp4\") http://anggtwu.net/eev-videos/{stem}.mp4 https://www.youtube.com/watch?v={hash} * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ scp ssr.mp4 $LINP/eev-videos/{stem}.mp4 scp ssr.mp4 $LINS/eev-videos/{stem}.mp4 Scp-np ssr.mp4 $TWUP/eev-videos/{stem}.mp4 Scp-np ssr.mp4 $TWUS/eev-videos/{stem}.mp4 # http://anggtwu.net/eev-videos/{stem}.mp4 # (find-linpfile \"eev-videos/\" \"{stem}\") # (find-linsfile \"eev-videos/\" \"{stem}\") # (find-twupfile \"eev-videos/\" \"{stem}\") # (find-twusfile \"eev-videos/\" \"{stem}\") # cp -v /tmp/ssr.mp4 $S/http/anggtwu.net/eev-videos/{stem}.mp4 mkdir -p $S/http/anggtwu.net/eev-videos/ cd $S/http/anggtwu.net/eev-videos/ wget -nc 'http://anggtwu.net/eev-videos/{stem}.mp4' echo 'http://anggtwu.net/eev-videos/{stem}.mp4' >> ~/.psne.log # (find-fline \"$S/http/anggtwu.net/eev-videos/\") # (find-fline \"$S/http/anggtwu.net/eev-videos/\" \"{stem}.mp4\") # (find-video \"http://anggtwu.net/eev-videos/{stem}.mp4\") # (find-video \"$S/http/anggtwu.net/eev-videos/{stem}.mp4\") # Upload to youtube: # (kill-new \"/home/edrx/snarf/anggtwu.net/eev-videos/{stem}.mp4\") # (find-sh0 \"cp -v $S/http/anggtwu.net/eev-videos/{stem}.mp4 /tmp/\") # (setq ee-subs-c \"{c}\") # (setq ee-subs-hash \"{hash}\") # (setq ee-subs-mp4stem \"{stem}\") # (setq ee-subs-length \"{time}\") # (find-subs-links \"{c}\") videos [R http://anggtwu.net/eev-videos/{stem}.mp4 1] ([R https://www.youtube.com/watch?v={hash} YT]) # https://www.youtube.com/watch?v={hash} # https://www.youtube.com/watch?v={hash}#t=0m00s # (code-video \"{c}video\" \"$S/http/anggtwu.net/eev-videos/{stem}.mp4\") % (find-ssr-links \"{c}\" \"{stem}\" \"{hash}\") % (code-eevvideo \"{c}\" \"{stem}\" \"{hash}\") % (code-eevlinksvideo \"{c}\" \"{stem}\" \"{hash}\") % (find-1stclassvideolsubs \"{c}\") % (find-{c}video \"0:00\") ;; Info: (find-1stclassvideo-links \"{c}\") ;; (find-eev \"eev-videolinks.el\" \"{c}\") ;; (find-eev \"eev-videolinks.el\" \"eev2021\") ;; (ee-1stclassvideos-add ' ;; ;; <{c}> ;; Play: (find-{c}video \"0:00\") ;; Index: (find-1stclassvideoindex \"{c}\") (\"{c}\" :title \"TITLE\" :mp4 \"http://anggtwu.net/eev-videos/{stem}.mp4\" :yt \"http://www.youtube.com/watch?v={hash}\" :page \"http://anggtwu.net/PAGE.html\" :lang \"portuguese\" :date \"DATE\" :length \"{time}\" :subs \".vtt\" :comment \"COMMENT\") ) ;; (find-code-1stclassvideos) (code-1stclassvideos) code_eevshortvideo(\"{c}\", \"{stem}\", \"{hash}\") # ^ copy to: (find-blogme3 \"sandwiches-defs.lua\" \"code_eevshortvideos\") [\"{c}\"] = \"{hash}\", # ^ copy to: (find-blogme3 \"videoindex.lua\") # (find-sshot-links \"5\" \"{stem}\") def [[ PLEFT 1 body \"<p align=\\\"left\\\">$body</p>\" ]] def [[ FIG 2 target,img \"<a href=\\\"$target\\\"><IMG SRC=\\\"$img\\\"></a>\" ]] [PLEFT [FIG http://anggtwu.net/eev-videos/{stem}.mp4 IMAGES/{stem}-small.png] ] # (find-subtitles3-links \"{c}\" \"{stem}\" \"{hash}\") # (find-yttranscript-links \"{c}\" \"{stem}\" \"{hash}\") # (find-editeevsubtitles-links-1 \"{c}\") # (find-blogme3-legendas-links \"{c}\" \"{stem}\" \"{hash}\") {<}\\footnotesize \\url{<}http://anggtwu.net/eev-videos/{stem}.mp4{>} \\url{<}https://www.youtube.com/watch?v={hash}{>} {>} ") ) pos-spec-list)) ;; ,(ee-find-psne-core (format "http://anggtwu.net/eev-videos/%s.mp4" stem) "-nc") ;;; ___ _ ;;; / _ \| |__ ___ ;;; | | | | '_ \/ __| ;;; | |_| | |_) \__ \ ;;; \___/|_.__/|___/ ;;; ;; «find-obs-links» (to ".find-obs-links") ;; Skel: (find-find-links-links-new "obs" "stem c hash" "") ;; Test: (find-obs-links "2022test0" "test0") ;; (defun find-obs-links (&optional stem c hash &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for obs." (interactive) (setq stem (or stem "{stem}")) (setq c (or c "{c}")) (setq hash (or hash "{hash}")) (apply 'find-elinks `((find-obs-links ,stem ,c ,hash ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-obs-links) "" ,(ee-template0 "\ # (find-es \"xfce\" \"keyboard-shortcuts\") # Alt-F1 -> Multimedia -> SimpleScreenRecorder # Alt-F9 = hide_window_key # SSR hotkey (record/stop): super-R * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # Rename: # (find-fline \"/tmp/\" \" Screen\") cd /tmp/ ls -lAF /tmp/Screen*.mov ls -lAF /tmp/Screen*.mov #mv -iv /tmp/Screen*.mov /tmp/obs.mov mv -v /tmp/Screen*.mov /tmp/obs.mov # Convert: ffmpeg -i obs.mov -vcodec h264 obs.mp4 # Play: # (find-fline \"/tmp/\" \"obs.mov\") # (find-fline \"/tmp/\" \"obs.mp4\") # (find-video \"/tmp/obs.mov\") # (find-video \"/tmp/obs.mp4\") # Upload: # (Scp-np is my script to run scp with no password - please change) Scp-np {stem}.mp4 marc@0branch.com:snippets/eev-videos/{stem}.mp4 # Check with tramp: # (find-fline \"/scp:marc@0branch.com:~/public_html/eev-videos/\") # (find-fline \"/scp:marc@0branch.com:~/public_html/eev-videos/\" \"{stem}.mp4\") # Psne it: mkdir -p $S/https/0branch.com/snippets/eev-videos/ cd $S/https/0branch.com/snippets/eev-videos/ wget -nc 'https://0branch.com/snippets/eev-videos/{stem}.mp4' echo 'https://0branch.com/snippets/eev-videos/{stem}.mp4' >> ~/.psne.log # Verify and play the local copy: # (find-fline \"$S/https/0branch.com/snippets/eev-videos/\" \"{stem}.mp4\") # (find-video \"$S/https/0branch.com/snippets/eev-videos/{stem}.mp4\") # (code-video \"{c}video\" \"$S/https/0branch.com/snippets/eev-videos/{stem}.mp4\") # (find-{c}video \"0:00\") ") ) pos-spec-list)) ;; «find-emacs-test-links» (to ".find-emacs-test-links") ;; Skel: (find-find-links-links-new "emacs-test" "stem" "") ;; Test: (find-emacs-test-links) ;; (defun find-emacs-test-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for emacs-test." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-emacs-test-links ,stem ,@pos-spec-list) (find-emacs-test-links "empty") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-emacs-test-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) EMACSFONT=\"Monospace 14\" EMACSFONT=\"6x13\" function emacs-with-big-font () {<} ~/bigsrc/emacs27/src/emacs -fg bisque -bg black -fn \"$EMACSFONT\" $* {>} # (find-fline \"~/.emacs\") # (find-fline \"~/.emacs.d/\") # (find-fline \"~/.emacs.d/elpa/\") # (find-fline \"~/.emacs-orig\") # (find-fline \"~/.emacs-orig.d/\") # (find-fline \"~/.emacs-orig.d/elpa/\") # (find-fline \"~/.emacs-{stem}\") # (find-fline \"~/.emacs-{stem}.d/\") # (find-fline \"~/.emacs-{stem}.d/elpa/\") cd; mv -ivT .emacs .emacs-orig cd; mv -ivT .emacs.d .emacs-orig.d cd; mv -ivT .emacs-{stem} .emacs cd; mv -ivT .emacs-{stem}.d .emacs.d # (require 'package) # (package-initialize) # (package-install 'eev) # (eev-beginner) # (add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\")) emacs-with-big-font cd; mv -ivT .emacs .emacs-{stem} cd; mv -ivT .emacs.d .emacs-{stem}.d cd; mv -ivT .emacs-orig .emacs cd; mv -ivT .emacs-orig.d .emacs.d ") ) pos-spec-list)) ;; «find-vimeodl-links» (to ".find-vimeodl-links") ;; (find-fline "/sda5/videos/__shibari/") ;; (defvar ee-vimeodl-dir "/sda5/videos/") (defvar ee-vimeodl-dir2 "/sda5/videos/__shibari/") (defvar ee-vimeodl-command "youtube-dl") (defun ee-vimeodl-hash-around-point () (ee-stuff-around-point "0-9")) ;; (find-efunction 'find-youtubedl-links) ;; Test: (find-vimeodl-links nil nil "193478557") ;; (defun find-vimeodl-links (&optional dir title hash ext- stem &rest rest) "Visit a temporary buffer containing hyperlinks for vimeo-dl." (interactive) (setq dir (or dir ee-vimeodl-dir "{dir}")) (setq hash (or hash (ee-vimeodl-hash-around-point) "{hash}")) ;; (setq title (or title (ee-vimeodl-guess-title dir hash) "{title}")) ;; (setq ext- (or ext- (ee-vimeodl-guess-ext- dir hash) "{ext-}")) (setq title (or title "{title}")) (setq ext- (or ext- "{ext-}")) (setq stem (or stem "{stem}")) (apply 'find-elinks `( ;; Convention: the first sexp always regenerates the buffer. (find-vimeodl-links ,dir ,title ,hash ,ext- ,stem) (find-vimeodl-links ,dir nil ,hash nil ,stem) "" (find-vimeodl-links ,ee-vimeodl-dir nil ,hash nil ,stem) (find-vimeodl-links ,ee-vimeodl-dir2 nil ,hash nil ,stem) ;; (find-vimeodl-links ,ee-vimeodl-dir3 nil ,hash nil ,stem) ;; (find-vimeodl-links ,ee-vimeodl-dir4 nil ,hash nil ,stem) (setq ee-vimeodl-dir "/sda5/sda5/videos/__shibari/") (find-efunction 'find-vimeodl-links) ;; ;; (find-vimeodl-links ee-vimeodl-dir ,title ,hash ,ext- ,stem) ;; (setq ee-vimeodl-dir ,ee-vimeodl-dir) "" ;; (find-ydbgrep ,(format "grep --color -nH -e %s db.lua" hash)) ;; ;; Body: "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) # https://vimeo.com/{hash} # http://www.vimeo.com/watch?v={hash}#t=0h00m00s cd {dir} {ee-vimeodl-command} -f http-540p 'https://vimeo.com/{hash}' # Or: {ee-vimeodl-command} -F 'https://vimeo.com/{hash}' {ee-vimeodl-command} 'https://vimeo.com/{hash}' # (find-es \"video\" \"vimeo-dl\") # (find-fline \"{dir}\" \"{hash}\") # (find-fline \"{dir}\" \"{title}-{hash}\") # (find-fline \"{dir}\" \"{title}-{hash}{ext-}\") # (find-video \"{dir}{title}-{hash}{ext-}\") # (find-video \"{dir}{title}-{hash}{ext-}.part\") # (code-video \"{stem}video\" \"{dir}{title}-{hash}{ext-}\") # (code-video \"{stem}video\" \"{dir}{title}-{hash}{ext-}.part\") # (find-{stem}video) # (find-{stem}video \"0:00\") # Error messages (for the player): # (find-ebuffer \"*Messages*\") ") ) rest)) ;; «find-repl-lualatex-links» (to ".find-repl-lualatex-links") ;; Skel: (find-find-links-links-new "repl-lualatex" "" "") ;; Test: (find-repl-lualatex-links) ;; (defun find-repl-lualatex-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for repl-lualatex." (interactive) (apply 'find-elinks `((find-repl-lualatex-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-repl-lualatex-links) "" ,(ee-template0 "\ % (find-LATEX \"tmp.tex\") \\catcode`\\^^J=10 \\directlua{<}dofile \"dednat6load.lua\"{>} % (find-LATEX \"dednat6load.lua\") \\def\\repl{<}\\directlua{<}print(); REPL = Repl:new(); REPL:repl(){>}{>} \\repl * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-es \"luatex\" \"show\") cd ~/LATEX/ lualatex tmp.tex mt = function (s) tok = token.create(s); print(tok) end ma = function (s) print(token.get_macro(s)) end me = function (s) print(token.get_meaning(s)) end md = function (s) local meaning = token.get_meaning(s) local a,b = meaning:match\"^(.-)%->(.*)$\" print(\"\\\\\"..s..a..\"\\n -> \"..b) end ma \"break\" me \"break\" ma \"section\" ma \"@startsection\" md \"thmsubsection\" md \"@thm\" md \"@xthm\" md \"@begintheorem\" md \"@endtheorem\" md \"end\" ") ) pos-spec-list)) ;; «find-classroom-trab-links» (to ".find-classroom-trab-links") ;; Skel: (find-find-links-links-new "classroom-trab" "name" "dir len") ;; Test: (find-classroom-trab-links "Alexandre Dos Santos Goncalves Junior") ;; (defun find-classroom-trab-links (&optional name &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for classroom-trab." (interactive) (setq name (or name "{name}")) (let* ((dir ee-classroom-dir) (len (length name))) (apply 'find-elinks `((find-classroom-trab-links ,name ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-classroom-trab-links) "" (setq ee-classroom-dir "~/2020.1-C2/P1/C1/") (setq ee-classroom-dir "~/2020.1-C2/P1/E1/") (setq ee-classroom-dir "~/2020.1-C3/P1/") (find-fline ,ee-classroom-dir) "" ,(ee-template0 "\ # (kill-new \"{name}\") # (find-fline \"{dir}\") # (find-fline \"{dir}\" \"{name}\") # (kill-new \"{dir}{name}.pdf\") # (kill-new \"{dir}{name}_1.jpg\") # (kill-new \"{dir}{name}_2.jpg\") # (kill-new \"{dir}{name}_3.jpg\") # (kill-new \"{dir}{name}_4.jpg\") # (find-fline \"{dir}{name}.pdf\") # (find-fline \"{dir}{name}_all.pdf\") # (find-fline \"{dir}{name}_corr.pdf\") # (find-pdf-page \"{dir}{name}.pdf\") # (find-pdf-page \"{dir}{name}_all.pdf\") # (find-pdf-page \"{dir}{name}_corr.pdf\") # (find-xournalpp \"{dir}{name}.pdf\") # (find-xournalpp \"{dir}{name}_all.pdf\") # (find-xournalpp \"{dir}{name}_corr.pdf\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd {dir} laf \"{name}\"* convert \"{name}\"*.jpg \"{name}_all\".pdf laf \"{name}\"* laf \"{name}\"*_small.jpg rm -v \"{name}\"*_small.jpg laf \"{name}\"*.jpg ls \"{name}\"*.jpg ls \"{name}\"*.jpg | cut -b{(+ 2 len)}- ls \"{name}\"*.jpg | cut -b{(+ 2 len)}- | rev | cut -b5- | rev | tee /tmp/o for i in 01 02 03 04 05 06 07 08 09 10; do convert \"{name}\"_$i.jpg \\ -scale 50% \"{name}\"_${<}i{>}_small.jpg done laf \"{name}\"* convert \"{name}\"*small.jpg \"{name}_all\".pdf laf \"{name}\"* # (find-fline \"{dir}\" \"{name}\") cp -v {dir}\"{name}\".pdf /tmp/a.pdf # rm -Rv /tmp/pdf-jpg-pdf/ mkdir /tmp/pdf-jpg-pdf/ cd /tmp/pdf-jpg-pdf/ pdftoppm -jpeg -jpegopt quality=80 -r 150 /tmp/a.pdf b convert b*.jpg /tmp/b.pdf # (find-fline \"/tmp/pdf-jpg-pdf/\") # (find-fline \"/tmp/\" \"a.pdf\") # (find-fline \"/tmp/\" \"b.pdf\") # cp -v /tmp/b.pdf {dir}\"{name}\"_small.pdf ") ) pos-spec-list))) (setq ee-classroom-dir "~/2020.1-C2/P1/C1/") ;; «find-emacsdevel-links» (to ".find-emacsdevel-links") ;; Skel: (find-find-links-links-new "emacsdevel" "yyyy-mm nnnn" "") ;; Test: (find-emacsdevel-links) ;; (defalias 'find-eml-links 'find-emacsdevel-links) (defun find-emacsdevel-links (&optional yyyy-mm nnnn &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for emacsdevel." (interactive) (setq yyyy-mm (or yyyy-mm "2024-12")) (setq yyyy-mm (or yyyy-mm "{yyyy-mm}")) (setq nnnn (or nnnn "{nnnn}")) (apply 'find-elinks `((find-emacsdevel-links ,yyyy-mm ,nnnn ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-emacsdevel-links) (find-efunction 'find-eml-links) "" ,(ee-template0 "\ # http://lists.gnu.org/archive/html/emacs-devel/ # https://lists.gnu.org/archive/html/emacs-devel/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/emacs-devel/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-devel/{yyyy-mm}/threads.html # https://lists.gnu.org/archive/html/emacs-devel/{yyyy-mm}/threads.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-devel/{yyyy-mm}/msg{nnnn}.html # https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=emacs-devel # http://lists.gnu.org/archive/html/help-gnu-emacs/ # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/threads.html # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/threads.html#{nnnn} # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/msg{nnnn}.html # https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=help-gnu-emacs # http://lists.gnu.org/archive/html/bug-gnu-emacs/ # https://lists.gnu.org/archive/html/bug-gnu-emacs/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/bug-gnu-emacs/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/bug-gnu-emacs/{yyyy-mm}/threads.html # https://lists.gnu.org/archive/html/bug-gnu-emacs/{yyyy-mm}/threads.html#{nnnn} # https://lists.gnu.org/archive/html/bug-gnu-emacs/{yyyy-mm}/msg{nnnn}.html # https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=bug-gnu-emacs # http://lists.gnu.org/archive/html/emacs-orgmode/ # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/threads.html # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/threads.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/msg{nnnn}.html # https://lists.gnu.org/archive/html/eev/ # https://lists.gnu.org/archive/html/eev/{yyyy-mm}/ # https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=emacs-orgmode # https://lists.gnu.org/archive/html/info-gnu-emacs/ # https://lists.gnu.org/archive/html/info-gnu-emacs/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/info-gnu-emacs/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-tangents/{yyyy-mm}/ # https://lists.gnu.org/archive/html/emacs-tangents/{yyyy-mm}/msg{nnnn}.html ") ) pos-spec-list)) ;; «find-helpgnuemacs-links» (to ".find-helpgnuemacs-links") ;; Skel: (find-find-links-links-new "helpgnuemacs" "yyyy-mm nnnn" "") ;; Test: (find-helpgnuemacs-links) ;; (defun find-helpgnuemacs-links (&optional yyyy-mm nnnn &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for helpgnuemacs." (interactive) (setq yyyy-mm (or yyyy-mm "2021-12")) (setq yyyy-mm (or yyyy-mm "{yyyy-mm}")) (setq nnnn (or nnnn "{nnnn}")) (apply 'find-elinks `((find-helpgnuemacs-links ,yyyy-mm ,nnnn ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-helpgnuemacs-links) "" ,(ee-template0 "\ # http://lists.gnu.org/archive/html/help-gnu-emacs/ # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/threads.html # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/threads.html#{nnnn} # https://lists.gnu.org/archive/html/help-gnu-emacs/{yyyy-mm}/msg{nnnn}.html # https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=help-gnu-emacs ") ) pos-spec-list)) ;; «find-emacsorgmode-links» (to ".find-emacsorgmode-links") ;; Skel: (find-find-links-links-new "emacsorgmode" "yyyy-mm nnnn" "") ;; Test: (find-emacsorgmode-links) ;; (defun find-emacsorgmode-links (&optional yyyy-mm nnnn &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for emacsorgmode." (interactive) (setq yyyy-mm (or yyyy-mm "2021-01")) (setq yyyy-mm (or yyyy-mm "{yyyy-mm}")) (setq nnnn (or nnnn "{nnnn}")) (apply 'find-elinks `((find-emacsorgmode-links ,yyyy-mm ,nnnn ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-emacsorgmode-links) "" ,(ee-template0 "\ # http://lists.gnu.org/archive/html/emacs-orgmode/ # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/index.html # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/index.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/threads.html # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/threads.html#{nnnn} # https://lists.gnu.org/archive/html/emacs-orgmode/{yyyy-mm}/msg{nnnn}.html # https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=emacs-orgmode ") ) pos-spec-list)) ;; «find-vscan-links» (to ".find-vscan-links") ;; Skel: (find-find-links-links-new "vscan" "fname" "thisfname") ;; Test: (find-vscan-links "2020-1-C3-P2") ;; (defun find-vscan-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for vscan." (interactive) (setq fname (or fname "{fname}")) (let* ((thisfname (buffer-file-name))) (apply 'find-elinks `((find-vscan-links ,fname ,@pos-spec-list) (find-vscan-links ,thisfname ,@pos-spec-list) (find-vscan-links "2020-1-C3-P2") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-vscan-links) "" ,(ee-template0 "\ # (ee-copy-rest 1 '(find-LATEX \"{fname}.tex\")) % <videos> % (find-ssr-links \"2020_videoname\" \"videoc\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v ~/LATEX/{fname}.pdf /tmp/ cd /tmp/ xournalpp {fname}.pdf % <scans> % (find-LATEX \"2020-1-C3-aprox-2a-ordem-R2.tex\" \"scans\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline \"~/2020.1-C2/\") # (find-fline \"~/2020.1-C3/\") # (find-fline \"~/LATEX/2020-1-C2/\") # (find-fline \"~/LATEX/2020-1-C3/\") # (find-fline \"/tmp/qc3/\") # (find-fline \"/tmp/\") cd /tmp/qc3/ cd /tmp/ for i in *.jpg; do echo f $(basename $i .jpg); done f () {<} rm -fv $1.png $1.pdf; djvuize $1.pdf {>} f () {<} rm -fv $1.png $1.pdf; djvuize WHITEBOARDOPTS=\"-m 0.5\" $1.pdf; xpdf $1.pdf {>} f () {<} rm -fv $1.png $1.pdf; djvuize WHITEBOARDOPTS=\"-m 0.25\" $1.pdf; xpdf $1.pdf {>} f () {<} cp -fv $1.png $1.pdf ~/2020.1-C3/ {>} f () {<} cp -fv $1.pdf ~/LATEX/2020-1-C3/ {>} f () {<} cp -fv $1.png $1.pdf ~/2020.1-C2/ cp -fv $1.pdf ~/LATEX/2020-1-C2/ cat <<%%% % (find-latexscan-links \"C2\" \"$1\") %%% {>} f 20201202_substtrig_grande f 20201202_substtrig_ids_e_blocos ") ) pos-spec-list))) ;; «find-LATEXpdf-links» (to ".find-LATEXpdf-links") ;; Skel: (find-find-links-links-new "LATEXpdf" "stem n" "") ;; Test: (find-LATEXpdf-links "2020-1-C2-P1" "10") ;; (c2mp1p 10) ;; (defun find-LATEXpdf-links (&optional stem n &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for LATEXpdf." (interactive) (setq stem (or stem "{stem}")) (setq n (or n 1)) (setq n (or n "{n}")) (apply 'find-elinks `((find-LATEXpdf-links ,stem ,n ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-LATEXpdf-links) "" ,(ee-template0 "\ # (find-xpdf-page \"~/LATEX/{stem}.pdf\" {n}) # (find-fline \"~/LATEX/{stem}.tex\") # (kill-new \"http://anggtwu.net/LATEX/{stem}.pdf#page={n}\") # (brg \"http://anggtwu.net/LATEX/{stem}.pdf#page={n}\") ") ) pos-spec-list)) ;; «find-pdfpages-links» (to ".find-pdfpages-links") ;; Skel: (find-find-links-links-new "pdfpages" "pages" "") ;; Test: (find-pdfpages-links "7,11-16,175-185") ;; (defun find-pdfpages-links (&optional pages &rest pos-spec-list) "Generate an e-script for extracting pages with the pdfpages package in latex." (interactive) (setq pages (or pages "{pages}")) (apply 'find-elinks `((find-pdfpages-links ,pages ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-pdfpages-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-pdf-page \"/tmp/inp.pdf\") # (find-pdf-page \"/tmp/out.pdf\") cd /tmp/ cat > /tmp/out.tex <<'---' \\documentclass[oneside]{<}book{>} \\usepackage{<}pdfpages{>} \\begin{<}document{>} \\includepdf[pages={<}{pages}{>}]{<}inp.pdf{>} \\end{<}document{>} --- lualatex out.tex # (find-pdf-page \"/tmp/inp.pdf\") # (find-pdf-page \"/tmp/out.pdf\") ") ) pos-spec-list)) ;; «find-pdfpages2-links» (to ".find-pdfpages2-links") ;; Skel: (find-find-links-links-new "pdfpages2" "dir stem suffix opts" "") ;; Test: (find-pdfpages2-links) ;; Test: (find-pdfpages2-links "~/LATEX/" "2024-1-C2-P1") ;; Test: (find-pdfpages2-links "~/LATEX/" "2024-1-C2-P1" "-pp") ;; Test: (find-pdfpages2-links "~/LATEX/" "2024-1-C2-P1" "-pp" "fitpaper") ;; Test: (find-pdfpages2-links "~/LATEX/" "2024-1-C2-P1" "-pp" "pages=1-last,angle=90") ;; (find-es "tex" "pdfpages") ;; (defun find-pdfpages2-links (&optional dir stem suffix opts &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for pdfpages2." (interactive) (setq dir (or dir "{dir}")) (setq stem (or stem "{stem}")) (setq suffix (or suffix "{suffix}")) (setq opts (or opts "{opts}")) (apply 'find-elinks `((find-pdfpages2-links ,dir ,stem ,suffix ,opts ,@pos-spec-list) (find-pdfpages2-links ,dir ,stem "-pp" "pages=1-,fitpaper") (find-pdfpages2-links ,dir ,stem "-pp" "pages=1-,fitpaper,landscape=true") (find-pdfpages2-links ,dir ,stem) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-pdfpages2-links) "" ,(ee-template0 "\ % (find-es \"tex\" \"pdfpages\") %%% (ee-copy-rest-3m nil \"%%%-- end\" \"{dir}{stem}{suffix}.tex\") \\documentclass[oneside,a4paper,landscape]{<}article{>} \\usepackage{<}pdfpages{>} \\begin{<}document{>} \\includepdf[{opts}]{<}{stem}.pdf{>} \\end{<}document{>} %%%-- end (find-sh \"cd {dir} && lualatex {stem}{suffix}.tex\" :end) (find-pdf-page \"{dir}{stem}{suffix}.pdf\") (find-sh0 \"cp -v {dir}{stem}{suffix}.pdf /tmp/\") (find-pdf-page \"/tmp/{stem}{suffix}.pdf\") ") ) pos-spec-list)) ;; «find-sshot-links» (to ".find-sshot-links") ;; Skel: (find-find-links-links-new "sshot" "nsecs" "") ;; Test: (find-sshot-links) ;; See: (find-es "paste" "scrot-imgbb") ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-07/msg00882.html ;; (find-angg ".emacs" "sshot-run") ;; (defun find-sshot-links (&optional nsecs stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks taking a screenshot." (interactive) (setq stem (or stem "{stem}")) (setq nsecs (or nsecs "5")) (setq nsecs (or nsecs "{nsecs}")) (let ((ee-buffer-name (or ee-buffer-name "*find-sshot-links*"))) (apply 'find-elinks `((find-sshot-links ,nsecs ,stem ,@pos-spec-list) (find-sshot-links "{nsecs}") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-sshot-links) "" (find-angg "bin/scrxpp") (find-es "tcl" "screenshooter") (find-cp-angg-links "sshot.png" "/tmp/" "tmp/") (find-bgprocess "tclsh ~/usrc/screenshooter/screenshooter.tcl") "" ,(ee-template0 "\ \(find-sh0 \"rm -v /tmp/sshot*.png\") \(eev \"sleep {nsecs} && scrot -o --select /tmp/sshot.png\") \(find-bgprocess '(\"sh\" \"-c\" \"sleep {nsecs} && scrot -o --select /tmp/sshot.png\")) \(find-bgprocess '(\"sh\" \"-c\" \"sleep {nsecs} && scrot -o --select /tmp/sshot.png && scrxpp\")) \(find-bgprocess '(\"sh\" \"-c\" \"sleep {nsecs} && scrot -o --border --select /tmp/sshot.png\")) \(find-bgprocess \"xzgv /tmp/sshot.png\") \(find-bgprocess \"gimp /tmp/sshot.png\") \(find-fline \"/tmp/\" \"sshot.png\") \(find-fline \"/tmp/sshot.png\") \(imgbb-upload \"/tmp/sshot.png\") # (find-fline \"~/blogme3/anggmake.lua\" \"2022tikz-exercises.png\") # (find-fline \"~/blogme3/anggmake.lua\" \"2023-ELpeg2\") # (find-fline \"~/IMAGES/\" \"2022tikz-exercises.png\") # (find-fline \"~/IMAGES/\" \"2023-ELpeg2\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v /tmp/sshot.png /tmp/{stem}.png convert /tmp/{stem}.png -scale 25% /tmp/{stem}-small.png laf /tmp/*.png convert /tmp/{stem}.png /tmp/{stem}.jpg convert /tmp/{stem}.png -scale 25% /tmp/{stem}-small.jpg laf /tmp/*.png /tmp/*.jpg # (find-fline \"/tmp/\" \"{stem}.png\") # (find-fline \"/tmp/{stem}.png\") # (find-fline \"/tmp/{stem}-small.png\") # (xz \"/tmp/{stem}.png\") # (xz \"/tmp/{stem}.jpg\") # (xz \"/tmp/{stem}-small.png\") # (xz \"/tmp/{stem}-small.jpg\") cp -v /tmp/{stem}-small.png ~/IMAGES/ cp -v /tmp/{stem}.png ~/IMAGES/ cp -v /tmp/{stem}-small.jpg ~/IMAGES/ cp -v /tmp/{stem}.jpg ~/IMAGES/ # (find-fline \"~/IMAGES/{stem}.png\") # (find-fline \"~/IMAGES/{stem}-small.png\") # (kill-new \" IMAGES/{stem}.png\") # (kill-new \" IMAGES/{stem}-small.png\") # (kill-new \" IMAGES/{stem}-small.jpg\") # (find-blogme3file \"anggmake.lua\" \"IMAGES/2022tikz\") # (find-blogme3file \"anggmake.lua\" \"IMAGES/2024-find-luaso\") makeL makeR cd /tmp/ scp {stem}.png \\ {stem}-small.png $LINP/IMAGES/ scp {stem}.png $LINS/IMAGES/ # (find-linodesfile \"IMAGES/\") # (find-linodesfile \"IMAGES/\" \"{stem}\") # http://anggtwu.net/IMAGES/{stem}.png Scp-np {stem}.png \\ {stem}-small.png $TWUP/IMAGES/ [PLEFT [FIG IMAGES/{stem}.png IMAGES/{stem}-small.png] ] ") ) pos-spec-list))) (defalias 'sshot 'find-sshot-links) ;; «find-eevvideopage-links» (to ".find-eevvideopage-links") ;; Skel: (find-find-links-links-new "eevvideopage" "title pagestem c mp4stem hash" "") ;; (defun find-eevvideopage-links (&optional title pagestem c mp4stem hash &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for eevvideopage." (interactive) (setq title (or title "{title}")) (setq pagestem (or pagestem "{pagestem}")) (setq c (or c "{c}")) (setq mp4stem (or mp4stem "{mp4stem}")) (setq hash (or hash "{hash}")) (apply 'find-elinks `((find-eevvideopage-links ,title ,pagestem ,c ,mp4stem ,hash ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-eevvideopage-links) "" ,(ee-template0 "\ (find-angg \".emacs.templates\" \"eev-videos-data\") (find-angg \".emacs.templates\" \"eev-videos-data\" \"{c}\") ' (find-eevvideopage-links \"{title}\" \"{pagestem}\" \"{c}\" \"{mp4stem}\" \"{hash}\") (find-eev \"eev-audiovideo.el\" \"video-tutorials\" \"find-{c}video\") (find-efunction 'find-videos-intro \"1. Some videos\") (find-videos-intro \"1. Some videos\") _. \"{title}\": http://anggtwu.net/{pagestem}.html http://anggtwu.net/{pagestem}.html#code-video http://anggtwu.net/eev-videos/{mp4stem}.mp4 http://www.youtube.com/watch?v={hash} (find-angg \".emacs.videos\" \"{c}\") ;; \"{title}\": ;; (find-TH \"{pagestem}\") ;; http://anggtwu.net/{pagestem}.html ;; http://anggtwu.net/eev-videos/{mp4stem}.mp4 ;; (find-eevvideo-links \"{c}\" \"{pagestem}\" \"{hash}\") ;; (find-code-eevvideo \"{c}\" \"{pagestem}\" \"{hash}\") ' (code-eevvideo \"{c}\" \"{pagestem}\" \"{hash}\") ;; (find-angg \".emacs.templates\" \"eev-videos-data\" \"{c}\") ;; (find-eev \"eev-audiovideo.el\" \"video-tutorials\" \"find-{c}video\") ;; (find-videos-intro \"1. Some videos\" \"{c}\") ;; (find-TH \"{pagestem}\") ;; http://anggtwu.net/{pagestem}.html ;; (find-code-eevvideo \"{c}\" \"{pagestem}\" \"{hash}\") ;; (code-eevvideo \"{c}\" \"{pagestem}\" \"{hash}\") ;; (find-eevvideo-links \"{c}\" \"{mp4stem}\" \"{hash}\") ;; (code-video \"{c}video\" \"$S/http/anggtwu.net/eev-videos/{mp4stem}.mp4\") ;; (find-{c}video) ;; (ee-use-find-eevvideo-links) ;; (ee-use-find-youtube-video) ;; (setq ee-find-youtube-video-program 'find-googlechrome) ;; (setq ee-find-youtube-video-program 'find-firefox) ;; (code-eevvideo \"{c}\" \"{mp4stem}\" \"{hash}\") ;; (find-{c}video \"\") ") ) pos-spec-list)) ;; «find-eevvideopage-linkss» (to ".find-eevvideopage-linkss") ;; «eev-videos-data» (to ".eev-videos-data") ;; (find-videos-intro "1. Some videos") ;; This is obsolete! ;; See: (find-video-links-intro "9. First-class videos") ' (find-eevvideopage-links "How to record executable notes with eev - and how to play them back" "emacsconf2019" "eev2019" "emacsconf2019" "86yiRG8YJD0") ' (find-eevvideopage-links "On why most of the best features in eev look like 5-minute hacks" "emacsconf2020" "eev2020" "emacsconf2020" "hOAqBc42Gg8") ' (find-eevvideopage-links "Some template-based functions of eev that are not five-minute hacks" "2020-some-template-based" "eevtempl" "2020-some-template-based" "91-9YfRPsuk") ' (find-eevvideopage-links "How to install eev with M-x list-packages and how to navigate its tutorials" "2020-list-packages-eev-nav" "eevnav" "M-x-list-packages-eev-nav" "kxBjiUo88_U") ' (find-eevvideopage-links "How to create hyperlinks to \"here\" with `find-here-links'" "2020-find-here-links" "eevfherel" "2020-find-here-links" "8jtiBlaDor4") ' (find-eevvideopage-links "Using test blocks in eev" "2021-test-blocks" "testbls" "2020-test-blocks-1" "fpsF_M55W4o") ' (find-eevvideopage-links "Short videos about workflows - and how to upload them" "2021-ssr" "2020ssr" "2020-short-find-ssr-links-2" "_0_NLXTVhBk") ' (find-eevvideopage-links "How to use the `[Video links:]' blocks in the `intro's of eev" "2021-video-links" "vlinks" "2021-video-links" "xQqWufQgzVY") ;; Videos in Portuguese: ;; (find-eevvideo-links "eev2021pe" "2021projeto-de-ensino" "OW6WRnSQwc0") ' (find-eevvideopage-links "Introdução ao Software Livre: Python, shell, Lua e eev" "2021projeto-de-ensino" "eev2021pe" "2021projeto-de-ensino" "OW6WRnSQwc0") ' (find-eevvideopage-links "Como instalar o eev no Emacs" "2021-oficina" "eevnov2021a" "2021-oficina-1" "acFPMuZ5Jf4") ;; «code-youtube» (to ".code-youtube") ;; Tests: (code-youtube "chavosoband" "5Si7_LaxRkM" "A esquerda defende bandido?") ;; (code-youtube "hstocore" "fty9QL4aSRc" "Haskell to Core") ;; (find-hstocorevideo "0:00") ;; (defun code-youtube (c0 hash &rest rest) (let ((fname (car (ee-youtubedl-guess** hash))) (c (concat c0 "video"))) (if fname (code-video c fname) (find-elinks `((code-youtube ,c ,hash ,@rest) ,(ee-H "") ,(ee-H "Local copy not found! Run:") (find-youtubedl-links nil nil ,hash nil ,c) ))))) ;; Test: (find-eppp (ee-youtubedl-guess** "fty9QL4aSRc" nil "Haskell to Core")) ;; See: (find-eev "eev-tlinks.el" "find-youtubedl-links" "(defun ee-youtubedl-guess*") (defun ee-youtubedl-guess** (hash &optional dirs &rest rest) "Return all the files containg HASH in DIRS. HASH is usually a 11-character string. When DIRS is nil use (cons ee-youtubedl-dir ee-youtubedl-dirs)." (setq dirs (or dirs (cons ee-youtubedl-dir ee-youtubedl-dirs))) (apply 'append (mapcar (lambda (dir) (ee-youtubedl-guess* dir hash)) dirs))) ;; «find-fossil-update-srf-links» (to ".find-fossil-update-srf-links") ;; Skel: (find-find-links-links-new "fossil-update-srf" "" "") ;; (defun find-fossil-update-srf-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for fossil-update-srf." (interactive) (apply 'find-elinks `((find-fossil-update-srf-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-fossil-update-srf-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/usrc/srf/ fossil up fossil branch fossil checkout trunk fossil checkout multiline-comments * (cd \"~/usrc/srf/eg/\") * (eepitch-srf) * (eepitch-kill) * (eepitch-srf) * (eek \"M-K M-K <up>\") -- (find-srffile \"ports/lua/\") -- (find-srffile \"eg/\") -- (find-fline \"~/.srfrc\") ") ) pos-spec-list)) (defun fus () (interactive) (find-fossil-update-srf-links 13)) ;; «find-code-xxx-links» (to ".find-code-xxx-links") ;; Skel: (find-find-links-links-new "code-xxx" "xxx basicargs keywordargs" "") ;; Test: (find-code-xxx-links "eec-LATEX" "stem" "") ;; (defun find-code-xxx-links (&optional xxx basicargs keywordargs &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for code-xxx." (interactive) (setq xxx (or xxx "{xxx}")) (setq basicargs (or basicargs "{basicargs}")) (setq keywordargs (or keywordargs "{keywordargs}")) (let* (({vars} "{{vars}}")) (apply 'find-elinks-elisp `(;; Convention: the first sexp always regenerates the buffer. ,(ee-template0 "\ ;; (find-code-xxx-links \"{xxx}\" \"{basicargs}\" \"{keywordargs}\") ;; (find-efunction 'find-code-xxx-links) (defun code-{xxx} ({basicargs}) (eval (ee-read (ee-code-{xxx} {basicargs})))) (defun find-code-{xxx} ({basicargs}) (find-estring-elisp (ee-code-{xxx} {basicargs}))) (defun ee-code-{xxx} ({basicargs}) (ee-template0 \"\\ ;; (find-code-{xxx} \\\"C\\\" \\\"FNAME\\\") ;; (code-{xxx} \\\"C\\\" \\\"FNAME\\\") \")) ") ) pos-spec-list))) ;; «code-eec-LATEX» (to ".code-eec-LATEX") ;; Skel: (find-code-xxx-links "eec-LATEX" "stem" "") ;; Test: (find-code-eec-LATEX "2020-2-C3-taylor") ;; (code-eec-LATEX "2020-2-C3-taylor") ;; (defun code-eec-LATEX (stem) (eval (ee-read (ee-code-eec-LATEX stem)))) (defun find-code-eec-LATEX (stem) (find-estring-elisp (ee-code-eec-LATEX stem))) (defun ee-code-eec-LATEX (stem) (ee-template0 "\ \(setq eec-stem \"{stem}\") \(setq eec-pbname \"{stem}.pdf\") \(setq eec-pfname (ee-LATEXfile eec-pbname)) \(setq eec-cmd \"lualatex -record {stem}.tex\") \(setq eec-cbname (format \"cd %s\\n%s\" ee-LATEXdir eec-cmd)) \(defun e () (interactive) (find-LATEX \"{stem}.tex\")) \(defun d () (interactive) (find-pdftools-page eec-pfname)) \(defun eec-cbkill () (interactive) (ee-kill-buffer eec-cbname)) \(defun eec-cbview () (interactive) (find-ebuffer eec-cbname :end)) \(defun eec-cbrun0 () (interactive) (find-LATEXsh eec-cmd \"Success!!!\")) \(defun eec-pview0 () (interactive) (if (get-buffer eec-pbname) (find-ebuffer eec-pbname) (find-estring \"(no PDF)\"))) \(defun eec-comp () (interactive) (e) (save-buffer) (eec-cbkill) (eec-cbrun0)) \(defun eec-view-ok () (interactive) (find-2a '(e) '(progn (d) (g)))) \(defun eec-view-err () (interactive) (find-wset \"132_o_o_o\" '(e) '(eec-cbview) '(eec-pview0))) \(defun ce () (interactive) (condition-case nil (progn (eec-comp) (eec-view-ok)) (error (eec-view-err)))) ")) (defun ee-code-eec-LATEX (stem) (ee-code-eec-dir "LATEX" stem)) ;; «code-eec-dir» (to ".code-eec-dir") (defun code-eec-dir (c stem) (eval (ee-read (ee-code-eec-dir c stem)))) (defun find-code-eec-dir (c stem) (find-estring-elisp (ee-code-eec-dir c stem))) (defun ee-code-eec-dir (c stem) (ee-template0 "\ \(setq eec-stem \"{stem}\") \(setq eec-pbname \"{stem}.pdf\") \(setq eec-pfname (ee-{c}file eec-pbname)) \(setq eec-cmd \"lualatex -record {stem}.tex\") \(setq eec-cbname (format \"cd %s\\n%s\" ee-{c}dir eec-cmd)) \(defun e () (interactive) (find-{c} \"{stem}.tex\")) \(defun d () (interactive) (find-pdftools-page eec-pfname)) \(defun eec-cbkill () (interactive) (ee-kill-buffer eec-cbname)) \(defun eec-cbview () (interactive) (find-ebuffer eec-cbname :end)) \(defun eec-cbrun0 () (interactive) (find-{c}sh eec-cmd \"Success!!!\")) \(defun eec-pview0 () (interactive) (if (get-buffer eec-pbname) (find-ebuffer eec-pbname) (find-estring \"(no PDF)\"))) \(defun eec-comp () (interactive) (e) (save-buffer) (eec-cbkill) (eec-cbrun0)) \(defun eec-view-ok () (interactive) (find-2a '(e) '(progn (d) (g)))) \(defun eec-view-err () (interactive) (find-wset \"132_o_o_o\" '(e) '(eec-cbview) '(eec-pview0))) \(defun ce () (interactive) (condition-case nil (progn (eec-comp) (eec-view-ok)) (error (eec-view-err)))) ")) ;; «find-cp-angg-links» (to ".find-cp-angg-links") ;; Skel: (find-find-links-links-new "cp-angg" "fname localdir anggdir" "") ;; (defun find-cp-angg-links (&optional fname localdir anggdir &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for cp-angg." (interactive) (if (eq major-mode 'dired-mode) (let* ((full0 (ee-shorten-file-name (ee-dired-to-fname))) (dir0 (file-name-directory full0)) (fname0 (file-name-nondirectory full0)) (anggdir0 (replace-regexp-in-string "~/" "" dir0))) (setq fname (or fname fname0)) (setq localdir (or localdir dir0)) (setq anggdir (or anggdir anggdir0)))) (setq fname (or fname "{fname}")) (setq localdir (or localdir "{localdir}")) (setq anggdir (or anggdir "{anggdir}")) (apply 'find-elinks `((find-cp-angg-links ,fname ,localdir ,anggdir ,@pos-spec-list) (find-cp-angg-links ,fname ,localdir "tmp/" ,@pos-spec-list) (find-cp-angg-links ,fname ,localdir "2022.2-C2/" ,@pos-spec-list) (find-cp-angg-links ,fname ,localdir "2022.2-C3/" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-cp-angg-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd {localdir} scp -v {fname} $LINP/{anggdir} scp -v {fname} $LINS/{anggdir} # cp -v {fname} ~/{anggdir} # (find-linpfile \"{anggdir}\" \"{fname}\") # (find-linsfile \"{anggdir}\" \"{fname}\") # (find-twupfile \"{anggdir}\" \"{fname}\") # (find-twusfile \"{anggdir}\" \"{fname}\") # http://anggtwu.net/{anggdir}{fname} * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd {localdir} Scp-np {fname} $TWUP/{anggdir} Scp-np {fname} $TWUS/{anggdir} # (find-twupfile \"{anggdir}\" \"{fname}\") # (find-twusfile \"{anggdir}\" \"{fname}\") # http://angg.twu.net/{anggdir}{fname} ") ) pos-spec-list)) ;; «find-eevshortvideo-links» (to ".find-eevshortvideo-links") ;; Moved to: (find-eev "eev-tlinks.el" "find-eevshortvideo-links") ;; «find-telegram-save-log-links» (to ".find-telegram-save-log-links") ;; Skel: (find-find-links-links-new "telegram-save-log" "yyyy s cn tt" "") ;; Test: (find-telegram-save-log-links "2021" "1" "C2" "C1") ;; (find-telegram-save-log-links "2021" "1" "C2" "E1") ;; (find-telegram-save-log-links "2021" "1" "C3" "M1") ;; ;; (code-pdf-page "20211C2C1" "~/2021.1-C2/C2-C1-RCN-PURO-2021.1.pdf") ;; (code-pdf-text "20211C2C1" "~/2021.1-C2/C2-C1-RCN-PURO-2021.1.pdf") ;; (find-20211C2C1page) ;; (find-20211C2C1text) ;; (code-pdf-page "20211C2E1" "~/2021.1-C2/C2-E1-RCN-PURO-2021.1.pdf") ;; (code-pdf-text "20211C2E1" "~/2021.1-C2/C2-E1-RCN-PURO-2021.1.pdf") ;; (brg "~/2021.1-C2/C2-E1-RCN-PURO-2021.1.pdf") ;; (find-20211C2E1page) ;; (find-20211C2E1text) ;; (find-20211C2E1page 36 "jeito esperto") ;; (find-20211C2E1text 36 "jeito esperto") ;; (code-pdf-page "20211C3M1" "~/2021.1-C3/C3-M1-RCN-PURO-2021.1.pdf") ;; (code-pdf-text "20211C3M1" "~/2021.1-C3/C3-M1-RCN-PURO-2021.1.pdf") ;; (find-20211C3M1page) ;; (find-20211C3M1text) ;; (defun find-telegram-save-log-links (&optional yyyy s cn tt &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for telegram-save-log." (interactive) (setq yyyy (or yyyy "{yyyy}")) (setq s (or s "{s}")) (setq cn (or cn "{cn}")) (setq tt (or tt "{tt}")) (apply 'find-elinks `((find-telegram-save-log-links ,yyyy ,s ,cn ,tt ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-telegram-save-log-links) "" ,(ee-template0 "\ # (find-fline \"~/Downloads/Telegram Desktop/\" \"ChatExport\") # (kill-new \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline \"~/{yyyy}.{s}-{cn}/\") # (find-fline \"~/{yyyy}.{s}-{cn}/\" \"{cn}-{tt}-RCN-PURO-{yyyy}.{s}\") # (find-fline \"/tmp/\" \"{cn}-{tt}-RCN-PURO-{yyyy}.{s}\") # For tests: # (find-sh0 \"mv -iv ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s} /tmp/\") cat > /tmp/print.css <<'%%%' body {<} font-size: 12 !important {>} @page {<} @bottom {<} content: counter(page); {>} {>} %%% cd /tmp/ rm -v /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.zip zip -r /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.zip {cn}-{tt}-RCN-PURO-{yyyy}.{s}/ prince -s /tmp/print.css \\ -o /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf \\ /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/messages.html prince -s /tmp/print.css \\ -o /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf \\ /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/messages2.html prince -s /tmp/print.css \\ -o /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf \\ /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/messages3.html prince -s /tmp/print.css \\ -o /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf \\ /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/messages4.html prince -s /tmp/print.css \\ -o /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf \\ /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/messages5.html # (find-pdf-page \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf\") # (find-pdf-text \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf\") # (find-pdf-page \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf\") # (find-pdf-text \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf\") # (find-pdf-page \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf\") # (find-pdf-text \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf\") # (find-pdf-page \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf\") # (find-pdf-text \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf\") # (find-pdf-page \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf\") # (find-pdf-text \"/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf\") rm -Rv ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}* mv -iv /tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}* ~/{yyyy}.{s}-{cn}/ # (find-fline \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/\") # (find-fline \"~/{yyyy}.{s}-{cn}/\" \"{cn}-{tt}-RCN-PURO-{yyyy}.{s}\") #Scp-np ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf $TWUP/{yyyy}.{s}-{cn}/ # http://anggtwu.net/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf # http://anggtwu.net/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf#page=1 # (find-twupfile \"{yyyy}.{s}-{cn}/\" \"{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf\") Scp-np ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf $TWUP/tmp/ Scp-np ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf $TWUP/tmp/ Scp-np ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf $TWUP/tmp/ Scp-np ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf $TWUP/tmp/ Scp-np ~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf $TWUP/tmp/ # http://anggtwu.net/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf # http://anggtwu.net/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf # http://anggtwu.net/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf # http://anggtwu.net/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf # http://anggtwu.net/tmp/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf # (find-fline \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/\" \"messages.html\") # (find-fline \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}/\" \"messages2.html\") # (code-pdf-page \"{yyyy}{s}{cn}{tt}\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf\") # (code-pdf-text \"{yyyy}{s}{cn}{tt}\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}.pdf\") # (code-pdf-page \"{yyyy}{s}{cn}{tt}2\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf\") # (code-pdf-text \"{yyyy}{s}{cn}{tt}2\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-2.pdf\") # (code-pdf-page \"{yyyy}{s}{cn}{tt}3\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf\") # (code-pdf-text \"{yyyy}{s}{cn}{tt}3\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-3.pdf\") # (code-pdf-page \"{yyyy}{s}{cn}{tt}4\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf\") # (code-pdf-text \"{yyyy}{s}{cn}{tt}4\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-4.pdf\") # (code-pdf-page \"{yyyy}{s}{cn}{tt}5\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf\") # (code-pdf-text \"{yyyy}{s}{cn}{tt}5\" \"~/{yyyy}.{s}-{cn}/{cn}-{tt}-RCN-PURO-{yyyy}.{s}-5.pdf\") # (find-{yyyy}{s}{cn}{tt}page) # (find-{yyyy}{s}{cn}{tt}text) # (find-{yyyy}{s}{cn}{tt}2page) # (find-{yyyy}{s}{cn}{tt}2text) # (find-{yyyy}{s}{cn}{tt}3page) # (find-{yyyy}{s}{cn}{tt}3text) # (find-{yyyy}{s}{cn}{tt}4page) # (find-{yyyy}{s}{cn}{tt}4text) # (find-{yyyy}{s}{cn}{tt}5page) # (find-{yyyy}{s}{cn}{tt}5text) ") ) pos-spec-list)) ;; «find-build-for-arxiv-links» (to ".find-build-for-arxiv-links") ;; Skel: (find-find-links-links-new "build-for-arxiv" "stem" "") ;; (defun find-build-for-arxiv-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for build-for-arxiv." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-build-for-arxiv-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-build-for-arxiv-links) "" ,(ee-template0 "\ % (find-LATEX \"2020favorite-conventions.tex\" \"make-for-arxiv\") % _ _ % / \\ _ ____ _(_)_ __ % / _ \\ | '__\\ \\/ / \\ \\ / / % / ___ \\| | > <| |\\ V / % /_/ \\_\\_| /_/\\_\\_| \\_/ % % <arxiv> % (find-build-for-arxiv-links \"{stem}\") % (find-LATEX \"2020favorite-conventions.tex\" \"make-for-arxiv\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/LATEX/ #export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH export PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH #export PATH=/usr/local/bin:$PATH which biber biber --version make -f 2019.mk STEM={stem} veryclean lualatex {stem}.tex biber {stem} pdflatex -record {stem}.tex # (find-LATEXfile \"{stem}.fls\" \"biblatex/\") cd ~/LATEX/ flsfiles-zip {stem}.fls {stem}.zip rm -rfv /tmp/{stem}.zip rm -rfv /tmp/edrx-latex/ cd /tmp/ cp -v ~/LATEX/{stem}.zip . mkdir /tmp/edrx-latex/ unzip -d /tmp/edrx-latex/ /tmp/{stem}.zip cd /tmp/edrx-latex/ pdflatex {stem}.tex pdflatex {stem}.tex cp -v {stem}.pdf /tmp/ # (find-fline \"/tmp/edrx-latex/\") # (find-fline \"/tmp/edrx-latex/{stem}.bbl\" \"bbl format version\") # (find-pdf-page \"/tmp/edrx-latex/{stem}.pdf\") # (find-pdf-text \"/tmp/edrx-latex/{stem}.pdf\") # (find-fline \"/tmp/{stem}.zip\") ") ) pos-spec-list)) ;; «find-mygitrepo-links» (to ".find-mygitrepo-links") ;; Skel: (find-find-links-links-new "mygitrepo" "stem" "") ;; Tests: (find-mygitrepo-links "edrxrepl") ;; (find-mygitrepo-links "emacs-lua") ;; (find-mygitrepo-links "shelisp") ;; (find-mygitrepo-links "luatree") ;; (defun find-mygitrepo-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for mygitrepo." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-mygitrepo-links ,stem ,@pos-spec-list) (find-mygitrepo-links "emacs-lua" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-mygitrepo-links) "" ,(ee-template0 "\ # Initialize: # (find-fline \"~/{stem}/\") # (find-fline \"~/{stem}/README.org\") # (magit-status \"~/{stem}/\") # (find-gitk \"~/{stem}/\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/{stem}/ laf rm -Rf ~/{stem}/.git/ git init git add README.org git commit -m \"first commit\" git branch -M main git remote add origin https://github.com/edrx/{stem}.git git push -u origin main # (ee-copy-rest 1 '(find-angg \"{stem}/README.org\")) # This file: # https://github.com/edrx/{stem} # http://anggtwu.net/{stem}/README.org.html # http://anggtwu.net/{stem}/README.org # (find-angg \"{stem}/README.org\") # (find-angg \"{stem}/\") # Author: Eduardo Ochs <eduardoochs@gmail.com> # # Some eev-isms: # (defun c () (interactive) (eek \"C-c C-e h h\")) # (defun o () (interactive) (find-angg \"{stem}/README.org\")) # (defun v () (interactive) (brg \"~/{stem}/README.html\")) # (defun cv () (interactive) (c) (v)) # # Skel: (find-mygitrepo-links \"{stem}\") # (find-efunction 'find-mygitrepo-links) # See: (find-angg \"pict2e-lua/README.org\") # # (find-orgnode \"Table of Contents\") #+OPTIONS: toc:nil num:nil #+OPTIONS: org-html-postamble:nil #+begin_comment * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/{stem}/ laf rm -v *~ rm -v *.html # (find-fline \"~/{stem}/\") # (magit-status \"~/{stem}/\") # (find-gitk \"~/{stem}/\") # # (s)tage all changes # (c)ommit -> (c)reate # (P)ush -> (p)ushremote # https://github.com/edrx/{stem} # #+end_comment # Local Variables: # coding: utf-8-unix # modes: (org-mode fundamental-mode) # org-html-postamble: nil # End: ") ) pos-spec-list)) ;; «find-rcirc-quick-links» (to ".find-rcirc-quick-links") ;; Skel: (find-find-links-links-new "rcirc-quick" "nick passwd" "") ;; Test: (find-rcirc-quick-links) ;; (defun find-rcirc-quick-links (&optional nick passwd &rest pos-spec-list) "Super-quick configuration for rcirc on eev." (interactive) (setq nick (or nick "{nick}")) (setq passwd (or passwd "{passwd}")) (apply 'find-elinks-elisp `((find-rcirc-quick-links ,nick ,passwd ,@pos-spec-list) (find-rcirc-quick-links "edrx" "MyP4ssw0rd" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-rcirc-quick-links) "" ,(ee-template0 "\ ;; See: ;; (find-rcirc-intro) ;; (find-rcirc-intro \"1. The example that I use in workshops\") ;; (find-rcirc-intro \"4. Commands with very short names\") \(setq rcirc-default-nick \"{nick}\") \(defun e2 () (interactive) (find-libera-2a \"#eev\")) \(defun e3 () (interactive) (find-libera-3a \"#eev\")) \(defun m2 () (interactive) (find-libera-2a \"#emacs\")) \(defun m3 () (interactive) (find-libera-3a \"#emacs\")) \(setq rcirc-authinfo '((\"libera\" nickserv \"{nick}\" \"{passwd}\") )) ") ) pos-spec-list)) ;; «find-anggwget-links» (to ".find-anggwget-links") ;; Skel: (find-find-links-links-new "anggwget" "" "") ;; Test: (find-anggwget-links) ;; Use this instead: (find-angg-es-links) ;; (find-efunction 'find-angg-es-links) ;; «find-find-angg-links» (to ".find-find-angg-links") ;; Skel: (find-find-links-links-new "find-angg" "fname rest" "url findwget") ;; Tests (use `M-x efi'on the last one): ;; (find-find-angg-links "e/bullseye.e") ;; (find-find-angg-links "e/bullseye.e" "2021aug16") ;; (find-find-angg-links "e/bullseye.e" "2021aug16" "asroot") ;; (find-angg "e/bullseye.e" "2021aug16" "asroot") ;; (defun find-find-angg-links (&optional fname &rest rest) "Visit a temporary buffer containing hyperlinks for find-angg." (interactive) (setq fname (or fname "{fname}")) (let* ((url0 (format "http://anggtwu.net/%s" fname)) (url1 (format "http://anggtwu.net/%s.html" fname)) (url2 (if (car rest) (format "%s#%s" url1 (car rest)))) (findwget `(find-wgeta ,url0 ,@rest))) (apply 'find-elinks `((find-find-angg-links ,fname ,@rest) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-find-angg-links) "" "" ,url0 ,url1 ,url2 ,(ee-S `(find-wgeta ,url0 ,@rest)) ,(ee-S `(find-wgeta-elisp ,url0 ,@rest)) "" ,(ee-S `(find-angg ,fname ,@rest)) ,(ee-template0 "\ ") ) nil ;; pos-spec-list ))) (defalias 'find-find-angg 'find-find-angg-links) ;; «find-find-es-links» (to ".find-find-es-links") ;; Skel: (find-find-links-links-new "find-es" "fname rest" "url findwget") ;; Tests (use `M-x efi'on the last one): ;; (find-find-es-links "bullseye") ;; (find-find-es-links "bullseye" "2021aug16") ;; (find-find-es-links "bullseye" "2021aug16" "asroot") ;; (find-es "bullseye" "2021aug16" "asroot") ;; (defun find-find-es-links (&optional fname &rest rest) "Visit a temporary buffer containing hyperlinks for find-es." (interactive) (setq fname (or fname "{fname}")) (let* ((url0 (format "http://anggtwu.net/e/%s.e" fname)) (url1 (format "http://anggtwu.net/e/%s.e.html" fname)) (url2 (if (car rest) (format "%s#%s" url1 (car rest)))) (findwget `(find-wgeta ,url0 ,@rest))) (apply 'find-elinks `((find-find-es-links ,fname ,@rest) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-find-es-links) "" "" ,url0 ,url1 ,url2 ,(ee-S `(find-wgeta ,url0 ,@rest)) ;; ,(ee-S `(find-wgeta-elisp ,url0 ,@rest)) "" ,(ee-S `(find-es ,fname ,@rest)) ,(ee-template0 "\ ") ) nil ;; pos-spec-list ))) (defalias 'find-find-es 'find-find-es-links) ;; «find-maclanemoerdijk-links» (to ".find-maclanemoerdijk-links") ;; Skel: (find-find-links-links-new "maclanemoerdijk" "page comment" "pmain pmain3") ;; Test: (find-maclanemoerdijk-links (+ 11 26) "This makes y into a functor") ;; Used in: (find-LATEX "2021sgl.tex") ;; (defun find-maclanemoerdijk-links (&optional page comment suffix &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for maclanemoerdijk." (interactive) (setq page (or page 226)) (setq comment (or comment "{comment}")) (setq suffix (or suffix "{s}")) (let* ((pmain (- page 11)) (pmain3 (format "%03d" pmain))) (apply 'find-elinks `((find-maclanemoerdijk-links ,page ,comment ,suffix ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-maclanemoerdijkpage (+ 11 ,pmain) ,comment ,suffix ,@pos-spec-list) (find-angg "PYTHON/onepagepdftopng.py") (find-es "ps" "mupdf") (find-efunction 'find-maclanemoerdijk-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) SGL=$HOME/books/__cats/maclane_moerdijk__sheaves_in_geometry_and_logic.pdf mutool draw -o ~/LATEX/2021sgl/p{pmain3}.pdf $SGL {page} mutool info ~/LATEX/2021sgl/p{pmain3}.pdf ~/PYTHON/onepagepdftopng.py \\ ~/LATEX/2021sgl/p{pmain3}.pdf \\ ~/LATEX/2021sgl/p{pmain3}.png # (find-pdf-page \"~/LATEX/2021sgl/p{pmain3}.pdf\") # (find-gimp \"~/LATEX/2021sgl/p{pmain3}.png\") # (find-fline \"~/LATEX/2021sgl/p{pmain3}.png\") # (find-fline \"~/LATEX/2021sgl/\" \"p{pmain3}.png\") # (kill-new \"~/LATEX/2021sgl/p{pmain3}{suffix}.png\") # (find-fline \"~/LATEX/2021sgl/p{pmain3}{suffix}.png\") # (find-pdf-page \"~/LATEX/2021sgl/p{pmain3}{suffix}.pdf\") cd ~/LATEX/2021sgl/ convert p{pmain3}{suffix}.png p{pmain3}{suffix}.pdf $% (find-pdf-page \"~/LATEX/2021sgl/p{pmain3}{suffix}.pdf\") \\incgr{<}width=6cm{>}{<}2021sgl/p{pmain3}{suffix}.pdf{>} $ ") ) pos-spec-list))) ;; «find-cwm-links» (to ".find-cwm-links") ;; Skel: (find-find-links-links-new "cwm" "page comment suffix" "pmain pmain3") ;; Test: (find-cwm-links (+ 13 45) "6. Comma Categories") ;; Used in: (find-LATEX "2020cwm.tex") ;; (defun find-cwm-links (&optional page comment suffix &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for cwm." (interactive) (setq page (or page 226)) (setq comment (or comment "{comment}")) (setq suffix (or suffix "{s}")) (let* ((pmain (- page 13)) (pmain3 (format "%03d" pmain))) (apply 'find-elinks `((find-cwm-links ,page ,comment ,suffix ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-cwm2page (+ 13 ,pmain) ,comment ,suffix ,@pos-spec-list) (find-angg "PYTHON/onepagepdftopng.py") (find-es "ps" "mupdf") (find-efunction 'find-cwm-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) CWM=$HOME/books/__cats/maclane__cwm_springer_2nd_ed.pdf mutool draw -o ~/LATEX/2021cwm/p{pmain3}.pdf $CWM {page} mutool info ~/LATEX/2021cwm/p{pmain3}.pdf ~/PYTHON/onepagepdftopng.py \\ ~/LATEX/2021cwm/p{pmain3}.pdf \\ ~/LATEX/2021cwm/p{pmain3}.png # (find-pdf-page \"~/LATEX/2021cwm/p{pmain3}.pdf\") # (find-gimp \"~/LATEX/2021cwm/p{pmain3}.png\") # (find-fline \"~/LATEX/2021cwm/p{pmain3}.png\") # (find-fline \"~/LATEX/2021cwm/\" \"p{pmain3}.png\") # (kill-new \"~/LATEX/2021cwm/p{pmain3}{suffix}.png\") # (find-fline \"~/LATEX/2021cwm/p{pmain3}{suffix}.png\") # (find-pdf-page \"~/LATEX/2021cwm/p{pmain3}{suffix}.pdf\") cd ~/LATEX/2021cwm/ convert p{pmain3}{suffix}.png p{pmain3}{suffix}.pdf $% (find-pdf-page \"~/LATEX/2021cwm/p{pmain3}{suffix}.pdf\") \\incgr{<}width=6cm{>}{<}2021cwm/p{pmain3}{suffix}.pdf{>} $ ") ) pos-spec-list))) ;; «find-emacs28-bisect-by-hand-links» (to ".find-emacs28-bisect-by-hand-links") ;; Skel: (find-find-links-links-new "emacs28-bisect-by-hand" "n" "") ;; See: (find-es "git" "git-bisect-by-hand") ;; Test: (find-emacs28-bisect-by-hand-links "42") ;; (defun find-emacs28-bisect-by-hand-links (&optional n &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for emacs28-bisect-by-hand." (interactive) (setq n (or n "{n}")) (apply 'find-elinks `((find-emacs28-bisect-by-hand-links ,n ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-emacs28-bisect-by-hand-links) "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) # (find-fline \"~/bigsrc/emacs28_{n}/\") rm -Rfv ~/bigsrc/emacs28_{n}/ mkdir ~/bigsrc/emacs28_{n}/ cd ~/bigsrc/emacs28_{n}/ cd ~/bigsrc/emacs/ cp -a .* * ~/bigsrc/emacs28_{n}/ cd ~/bigsrc/emacs28_{n}/ export PAGER=cat git branch --list -a git for-each-ref git log --oneline --graph --all -20 # (find-gitk \"~/bigsrc/emacs28_{n}/\") # (magit-status \"~/bigsrc/emacs28_{n}/\") # (find-fline \"~/bigsrc/emacs28_{n}/\") git checkout master~{n} ./autogen.sh 2>&1 | tee oa # ./configure 2>&1 | tee oc ./configure --with-modules 2>&1 | tee oc make 2>&1 | tee om cat > /tmp/foo.el <<'%%%' (progn (add-to-list 'load-path \"~/eev-current\") (require 'eev-beginner) ) %%% ~/bigsrc/emacs28_{n}/src/emacs -T emacs28_{n} -fg bisque -bg black -fn $EMACSFONT /tmp/foo.el ~/bigsrc/emacs28_{n}/src/emacs -T emacs28_{n} -fg bisque -bg black -fn $EMACSFONT -Q /tmp/foo.el ") ) pos-spec-list)) ;; «find-agda-links» (to ".find-agda-links") ;; Skel: (find-find-links-links-new "agda" "" "") ;; Test: (find-agda-links) ;; (defun fal () (interactive) (find-2a nil '(find-agda-links))) ;; (defun find-agda-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for agda." (interactive) (apply 'find-elinks-elisp `((find-agda-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-agda-links) "" (find-angg ".emacs.agda" "recordstutorial") (find-es "agda" "agda2-mode-map") (find-es "agda" "selinger") (find-agdamodeelfile "agda-input.el") (eejump-554) "" (find-my-mode-links) (define-key my-mode-map (kbd "M-,") 'ee-compose-pair) (define-key my-mode-map (kbd "M-,") nil) "" ";; For Agda:" ";; (keymap-unset eev-mode-map \"M-,\" 'remove)" ";; (ee-composes-do ee-composes-bigstr-math '(ee-composes-do-remove-face))" "" ";; For non-Agda:" ";; (define-key eev-mode-map (kbd \"M-,\") 'ee-compose-pair)" ";; (ee-composes-do ee-composes-bigstr-math)" ;; (find-es "agda" "M-,") ;; ;; (eek "M-h M-k C-c C-l ;; agda2-load - replace question mark with hole") ;; (eek "M-h M-k C-c C-SPC ;; agda2-give - fill in hole") ;; (eek "M-h M-k C-c C-a ;; agda2-auto-maybe-all - automatically fill in hole") ;; (eek "M-h M-k M-. ;; agda2-goto-definition-keyboard") ;; (eek "M-h M-k M-, ;; agda2-go-back") ;; (eek "M-h M-k C-c C-c ;; agda2-make-case - case split") ;; (eek "M-h M-k C-c C-r ;; agda2-refine - refine with constructor") ;; (eek "M-h M-k C-c C-, ;; agda2-goal-and-context - goal type and context") ;; (eek "M-h M-k C-c C-. ;; agda2-goal-and-context-and-inferred - ...type") ;; (eek "M-h M-k C-c C-d ;; agda2-infer-type-maybe-toplevel") ;; (eek "M-h M-k C-c C-n ;; agda2-compute-normalised-maybe-toplevel") ;; (eek "M-h M-k C-c C-w ;; agda2-why-in-scope-maybe-toplevel") "" (find-agdausermanualpage (+ 4 12) "2.5 Quick Guide to Editing") (find-agdausermanualtext (+ 4 12) "2.5 Quick Guide to Editing") (find-agdausermanualpage (+ 4 186) "4.4 Emacs Mode") (find-agdausermanualtext (+ 4 186) "4.4 Emacs Mode") "" (eek "M-h M-k C-c C-l ;; load or reload file") (eek "M-h M-k C-c C-SPC ;; give: fill hole") (eek "M-h M-k C-c C-a ;; automatically fill in hole") (eek "M-h M-k M-. ;; go to definition") (eek "M-h M-k M-, ;; go back") (eek "M-h M-k C-c C-c ;; case split") (eek "M-h M-k C-c C-r ;; refine with constructor") (eek "M-h M-k C-c C-, ;; goal type and context") (eek "M-h M-k C-c C-. ;; goal type, context, inferred type") (eek "M-h M-k C-c C-d ;; infer type") (eek "M-h M-k C-c C-n ;; compute normalized") (eek "M-h M-k C-c C-w ;; why in scope") "" ,(ee-template0 "\ (defun ph1p (&optional n a b c d) (interactive) (find-2a nil '(find-pdftools-page \"~/LATEX/2017planar-has-1.pdf\" n))) (defun excp (&optional n a b c d) (interactive) (find-2a nil '(find-pdftools-page \"~/LATEX/2021excuse.pdf\" n))) ") ) pos-spec-list)) ;; «find-agdafile-links» (to ".find-agdafile-links") ;; Skel: (find-find-links-links-new "agdafile" "stem" "") ;; Test: (find-agdafile-links) ;; (defun find-agdafile-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for agdafile." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-agdafile-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-agdafile-links) "" ,(ee-template0 "\ # (kill-new \" AGDA/{stem}.agda\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"AGDA/\") # (ee-copy-rest 1 '(find-angg \"AGDA/{stem}.agda\")) -- This file: -- http://anggtwu.net/AGDA/{stem}.agda.html -- http://anggtwu.net/AGDA/{stem}.agda -- (find-angg \"AGDA/{stem}.agda\") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- Version: {(date-as-string 5)} -- Public domain. -- -- ;; (find-angg \"AGDA/find-agdatype.el\") -- (load \"~/AGDA/find-agdatype.el\") -- -- (find-eev \"eev-pdflike.el\" \"change-default-viewer\") -- (defalias 'find-pdf-page 'find-pdftoolsr-page) -- (defalias 'find-pdf-page 'find-xpdf-page) -- -- (defun a () (interactive) (find-angg \"AGDA/{stem}.agda\")) module {stem} where -- Local Variables: -- coding: utf-8-unix -- End: ") ) pos-spec-list)) ;; «find-fvwmdoc-links» (to ".find-fvwmdoc-links") ;; Skel: (find-find-links-links-new "fvwmdoc" "str" "") ;; Test: (find-fvwmdoc-links) ;; (defun find-fvwmdoc-links (&optional word &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for fvwmdoc." (interactive) (setq word (or word "{word}")) (apply 'find-elinks `((find-fvwmdoc-links ,word ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-fvwmdoc-links) "" ,(ee-template0 "\ # (find-fvwm3file \"doc/\" 1 '(eek \"% m txt RET t k\")) # (find-fvwm3grep \"grep --color=auto -nRH --null -e {word} doc/*.txt\") # (find-fvwm3grep \"grep --color=auto -nRH --null -e '{word}' doc/*.txt\") # (find-fvwm3grep \"grep --color=auto -niRH --null -e {word} doc/*.txt\") # (find-fvwm3grep \"grep --color=auto -niRH --null -e '{word}' doc/*.txt\") # (find-fvwm3grep \"grep --color=auto -niRH --null -e {word} doc/*.adoc\") # (find-fvwm3grep \"grep --color=auto -nRH --null -e {word} doc/*.adoc\") # (find-fvwm3file \"doc/\") # (find-angg \".fvwm/doc_Makefile\") # (find-angg \".fvwm/config\") # (find-angg \".emacs.fvwm\") ") ) pos-spec-list)) ;; «find-agdalatex-links» (to ".find-agdalatex-links") ;; Skel: (find-find-links-links-new "agdalatex" "stem" "fname fullfname") ;; Test: (find-agdalatex-links "2022AgdaTest") ;; (find-agdalatex-links "2022Cats3") ;; (defun find-agdalatex-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for agdalatex." (interactive) (setq stem (or stem "{stem}")) (let* ((fname (format "%s.lagda.tex" stem)) (fullfname (format "~/LATEX/%s.lagda.tex" stem))) (apply 'find-elinks `((find-agdalatex-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-agdalatex-links) (find-LATEX "2022template.lagda.tex") ;; (find-2a nil '(find-LATEX "2022template.lagda.tex")) "" ,(ee-template0 "\ # (kill-new \" LATEX/{fname}\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/2022agda\") # (find-2a nil '(find-LATEX \"2022template.lagda.tex\")) # (ee-copy-rest 1 '(find-LATEX \"{fname}\")) ") ,(ee-template0-file "~/LATEX/2022template.lagda.tex") ) pos-spec-list))) ;; «find-fsbot-links» (to ".find-fsbot-links") ;; Skel: (find-find-links-links-new "fsbot" "word" "fsbotnick") ;; Test: (find-fsbot-links) ;; (defun find-fsbot-links (&optional word &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for fsbot." (interactive) (setq word (or word "{word}")) (let* ((fsbotnick "fsbot")) (apply 'find-elinks `((find-fsbot-links ,word ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-fsbot-links) "" (find-es "emacs" "fsbot") (find-efunction 'eepitch-libera) "" ,(ee-template0 "\ * (eepitch-libera \"#emacs\") /query {fsbotnick} ** ** * (eepitch-libera \"{fsbotnick}\") help erbot ** {word} forget {word} all {word} is def1 {word} is also def2 {word} ") ) pos-spec-list))) ;; «find-mvideo-links» (to ".find-mvideo-links") ;; Skel: (find-find-links-links-new "mvideo" "fname" "fname-") ;; Test: (find-mvideo-links "20220302squeakdemo") ;; (defun find-mvideo-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for mvideo." (interactive) (setq fname (or fname (ee-mvideo-name-here))) (let* ((fname- (file-name-sans-extension fname))) (apply 'find-elinks `((find-mvideo-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-mvideo-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mv -iv {fname} ~/mvideos/ cp -iv {fname} ~/mvideos/ # (find-fline \"~/mvideos/\" \"{fname}\") # (find-video \"~/mvideos/{fname}\") # (find-mvideo \"{fname-}\" \"0:00\") ") ) pos-spec-list))) (defun ee-mvideo-name-here () (if (eq major-mode 'dired-mode) (file-name-nondirectory (ee-dired-to-fname)) (ee-stuff-around-point "-_0-9A-Za-z"))) (defun find-mvideo (stem &optional time &rest rest) (find-video (format "~/mvideos/%s.mp4" stem) time)) ;; «find-princeurl-links» (to ".find-princeurl-links") ;; Skel: (find-find-links-links-new "princeurl" "url outdir" "") ;; Test: (brprinceurl "https://ocaml.org/learn/tutorials/a_first_hour_with_ocaml.html") ;; See: (find-efunction 'ee-find-psne-core) ;; (to "find-htmlpdf-links") ;; (code-brurl 'find-princeurl-links :remote 'brprinceurl :dired 'brprinceurld) ;; Skel: (find-find-links-links-new "princeurl" "url outdir" "") ;; Test: (find-princeurl-links) ;; (defun find-princeurl-links (&optional url outdir &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for princeurl." (interactive) (setq url (or url "{url}")) (setq outdir (or outdir "{outdir}")) (apply 'find-elinks `((find-princeurl-links ,url) (brprinceurl ,url) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-princeurl-links) "" ,(ee-findprinceurl-core url) ) pos-spec-list)) (defun ee-findprinceurl-core (url &optional outdir) (let* ((fname0 (ee-url-to-fname0 url)) (fnamepdf (replace-regexp-in-string ".html$" ".pdf" fname0)) (localdir (or outdir (file-name-directory fnamepdf))) (stempdf (file-name-nondirectory fnamepdf))) (ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # {url} # (find-fline \"{localdir}\" \"{stempdf}\") # (find-pdf-page \"{fnamepdf}\") cat > /tmp/print.css <<'%%%' body {<} font-size: 12pt {>} @page {<} size: A4 {>} @page {<} @bottom-center {<} content: counter(page); {>} {>} %%% # @page {<} # @bottom {<} # content: counter(page); # {>} # {>} mkdir -p {localdir} cd {localdir} prince --media=print \\ -s /tmp/print.css \\ -o {fnamepdf} \\ {url} "))) ;; «find-luademo-links» (to ".find-luademo-links") ;; Skel: (find-find-links-links-new "luademo" "fname" "fname-") ;; Test: (find-luademo-links "LUA/BlogMe3.lua") ;; (defun find-luademo-links (&optional fname tag &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for luademo." (interactive) (setq tag (or tag "{tag}")) (setq fname (or fname (ee-rmprefix "~/" (ee-fname-here)) "{fname}")) (let* ((fname- (file-name-nondirectory fname))) (apply 'find-elinks `((find-luademo-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-luademo-links) (ee-use-red-bullets) (ee-use-red-stars) (setenv "LUA_INIT" "@/home/edrx/LUA/lua50init.lua") "" ,(ee-adjust-red-stars (ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) makeR makeR1 {fname}.html scp {fname} $LINP/{fname} scp {fname}.html $LINP/{fname}.html scp LUA/lua50init.lua $LINP/LUA/lua50init.lua scp LUA/lua50init.lua.html $LINP/LUA/lua50init.lua.html Scp-np {fname} $TWUP/{fname} Scp-np {fname}.html $TWUP/{fname}.html Scp-np LUA/lua50init.lua $TWUP/LUA/lua50init.lua Scp-np LUA/lua50init.lua.html $TWUP/LUA/lua50init.lua.html # http://anggtwu.net/{fname} # http://anggtwu.net/{fname}.html # http://anggtwu.net/{fname}.html#{tag} * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv /tmp/luademo/ mkdir /tmp/luademo/ cd /tmp/luademo/ wget http://anggtwu.net/LUA/lua50init.lua wget http://anggtwu.net/{fname} # (find-fline \"/tmp/luademo/\") * (setenv \"LUA_INIT\" \"@/tmp/luademo/lua50init.lua\") * (find-anchor \"/tmp/luademo/{fname-}\") * (find-anchor \"/tmp/luademo/{fname-}\" \"{tag}\") ")) ) pos-spec-list))) ;; «find-emlua-links» (to ".find-emlua-links") ;; Skel: (find-find-links-links-new "emlua" "" "") ;; Test: (find-emlua-links) ;; (defun find-emlua-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for emlua." (interactive) (apply 'find-elinks `((find-emlua-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-emlua-links) "" ,(ee-template0 "\ * (add-to-list 'load-path \"~/emlua/\") * (require 'emlua-repl) * (emlua-init) * (code-c-d \"emlua\" \"~/emlua/\" :anchor) ") ;; (find-emlua "emlua-repl.el") (find-emlua "emlua-repl.el" "eepitch-emlua") (find-emlua "emlua-repl.el" "eepitch-emlua" "test block") ) pos-spec-list)) ;; «find-pict2elua-links» (to ".find-pict2elua-links") ;; Skel: (find-find-links-links-new "pict2elua" "" "") ;; Test: (find-pict2elua-links) ;; (defun find-pict2elua-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for pict2elua." (interactive) (apply 'find-elinks `((find-pict2elua-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-pict2elua-links) "" (find-1stclassvideo-links "2022pict2elua") (find-yttranscript-links "2022pict2elua" "hiHsUhGVLGM") (find-TH "pict2e-lua") (find-angg "pict2e-lua/README.org") (find-angg "LUA/Pict2e1.lua") (find-angg "LUA/Pict2e1-1.lua") "" ,(ee-template0 "\ ") ) pos-spec-list)) (defalias 'pil 'find-pict2elua-links) ;; «find-maxima-links» (to ".find-maxima-links") ;; Skel: (find-find-links-links-new "maxima" "name" "") ;; Test: (find-maxima-links) ;; (find-maxima-links "demo") ;; (defun find-maxima-links (&optional name &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for maxima." (interactive) (setq name (or name "{name}")) (apply 'find-elinks `((find-maxima-links ,name ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-maxima-links) "" (find-maxima-links "coeff") "" ,(ee-template0 "\ # (find-maximanode \"{name}\") # (kill-new \"{name}\") # (find-maximanode \"Function and Variable Index\" \"{name}\") # (find-maximagitfile \"\") # (find-maximagitgrep \"grep --color=auto -nH --null -e {name} $(cat .files.mac)\") # (find-maximagitgrep \"grep --color=auto -nH --null -e {name} $(cat .files.lisp)\") # (find-maximagitgrep \"grep --color=auto -niH --null -e {name} $(cat .files.mac)\") # (find-maximagitgrep \"grep --color=auto -niH --null -e {name} $(cat .files.lisp)\") # (find-maximagitgrep \"grep --color=auto -nH --null -e {name} $(find * | sort | grep 'mac$')\") # (find-maximagitgrep \"grep --color=auto -nH --null -e {name} $(find * | sort | grep 'lisp$')\") # (find-maximagitgrep \"grep --color=auto -niH --null -e {name} $(find * | sort | grep 'mac$')\") # (find-maximagitgrep \"grep --color=auto -niH --null -e {name} $(find * | sort | grep 'lisp$')\") * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) ? {name} ?? {name} none fundef({name}); grind(fundef({name})); properties({name}); :lisp (describe '${name}) :lisp (symbol-plist '${name}) :lisp (get '${name} 'lineinfo) ** (find-try-sly-intro \"8. Inspect Maxima with Sly\") * (eepitch-sly) * (eepitch-kill) * (eepitch-sly) * * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load(\"startsly\"); * * (sly-connect \"localhost\" 56789) * (eepitch-sly) (describe '${name}) ;; Now go to the sly-mrepl buffer, put the point ;; on the \"MAXIMA::$<name>\", and type `M-.'. Or: * (sly-edit-definition \"${name}\") * (sly-edit-definition \"MAXIMA::${name}\") ") ) pos-spec-list)) (defalias 'grim 'ee-grim) ;; «find-maximaindex-links» (to ".find-maximaindex-links") ;; Skel: (find-find-links-links-new "maximaindex" "names" "lines") ;; Tests: (find-maximaindex-links) ;; (find-maximaindex-links "draw gr2d") ;; (ee-find-maximaindex-lines "foo bar") ;; (defun find-maximaindex-links (&optional names &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for maximaindex." (interactive) (setq names (or names "")) (let* ((lines (ee-find-maximaindex-lines names))) (apply 'find-elinks `((find-maximaindex-links ,names ,@pos-spec-list) (find-maximaindex-links "lambda subst" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-maximaindex-links) "" ,(ee-template0 "\ # (find-maximaindex) {lines} ") ) pos-spec-list))) (defun ee-find-maximaindex-lines (names) (let* ((f1 (lambda (name rest) (format "# (find-maximaindex \"%s\"%s)\n" name rest))) (f2 (lambda (name) (format "%s%s" (funcall f1 name "") (funcall f1 name " :RET"))))) (mapconcat f2 (split-string names) ""))) (defun fmi () (interactive) (find-maximaindex-links)) ;; «find-maximamsg-links» (to ".find-maximamsg-links") ;; «find-maximamsg» (to ".find-maximamsg") ;; Moved to: (find-eev "eev-tlinks.el" "find-maximamsg-links") ;; (find-eev "eev-tlinks.el" "find-maximamsg") ;; «find-Maxima2-links» (to ".find-Maxima2-links") ;; Skel: (find-find-links-links-new "Maxima2" "sa" "") ;; Test: (find-Maxima2-links) ;; (find-Maxima2-links "blockname") ;; (defun find-Maxima2-links (&optional sa &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for Maxima2." (interactive) (setq sa (or sa "{sa}")) (let ((ee-buffer-name (or ee-buffer-name "*find-Maxima2-links*"))) (apply 'find-elinks `((find-Maxima2-links ,sa ,@pos-spec-list) (find-Maxima2-links "blockname") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-Maxima2-links) "" (find-angg "LUA/Maxima2.lua" "show2-tests") "" ,(ee-template0 "\ * (setq last-kbd-macro (kbd \"C-a %M SPC C-a <down>\")) * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load(\"/usr/share/emacs/site-lisp/maxima/emaxima.lisp\")$ load(\"~/MAXIMA/barematrix1.mac\")$ load(\"~/MAXIMA/myqdraw1.mac\")$ myQdraw([args]) := apply('myQdraw_draw, args)$ myps(s):=ps(s); myQdraw([args]) := apply('myQdraw_pdf, args)$ myps(s):=ps(s/5); :lisp (setf (get '$display2d 'assign) nil) display2d:'emaxima$ linenum:0; % (find-Deps1-cps \"Maxima2\") %L dofile \"Maxima2.lua\" -- (find-angg \"LUA/Maxima2.lua\") \\pu %M (%i1) 2*3; %M (%o1) 5 %L maximahead:sa(\"{sa}\", \"\") \\pu \\vspace*{<}0cm{>} \\def\\hboxthreewidth {<}14cm{>} \\ga{<}{sa}{>} ** Debug: ** (find-angg \"LUA/Maxima2.lua\" \"MaximaHead-tests\") ** (find-angg \"LUA/Show2.lua\" \"texbody\") * (show2-use \"~/LATEX/Show2.tex\") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) Path.prependtopath \"~/LUA/?.lua\" require \"Maxima2\" -- (find-angg \"LUA/Maxima2.lua\") bigstr = [=[ (%i1) 2*3; (%o1) 5 (%i2) 2*3; (%o2) 5 ]=] mios = MaximaIOs_parse(bigstr) = mios = mios:debug() = maximahead:set_maxima_lines(bigstr) = maximahead:show00 {<}scale=0.9{>} = maximahead:show0 {<}scale=0.9{>} = maximahead:show {<}scale=0.9{>} * (etv) ") ) pos-spec-list))) (defun maxima2 () (interactive) (find-2a nil '(find-Maxima2-links))) ;; «find-qdraw-links» (to ".find-qdraw-links") ;; Moved to: (find-eev "eev-tlinks.el" "find-qdraw-links") ;; «find-stream-links» (to ".find-stream-links") ;; Skel: (find-find-links-links-new "stream" "" "") ;; Test: (find-stream-links) ;; (defun find-stream-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for stream." (interactive) (apply 'find-elinks `((find-stream-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-stream-links) "" ,(ee-template0 "\ * (eepitch-shell3) * (eepitch-kill) * (eepitch-shell3) streamlink --player=/usr/bin/mpv https://live-hls-web-aje.getaj.net/AJE/03.m3u8 best # Aljazeera live news # xdg-open -new-tab https://www.aljazeera.com/live/ & # streamlink --player=/usr/bin/mpv https://www.aljazeera.com/live/ 540p & # or 420p # streamlink --player=/usr/bin/mpv https://live-hls-web-aje.getaj.net/AJE/03.m3u8 best & # if you define the player here, it will not open in another user # workspace. So that, it is better not to define it. Then streamlink will # pick up another available player # streamlink https://live-hls-web-aje.getaj.net/AJE/index.m3u8 # if you want to master the video resolution # or use the command above ") ) pos-spec-list)) ;; «code-etv» (to ".code-etv") ;; Skel: (find-code-xxx-links "etv" "dir" "") ;; Test: (find-code-etv "~/LATEX/") ;; (defun code-etv (dir) (eval (ee-read (ee-code-etv dir)))) (defun find-code-etv (dir) (find-estring-elisp (ee-code-etv dir))) (defun ee-code-etv (dir) (ee-template0 "\ ;; (find-code-etv \"{dir}\") ;; (code-etv \"{dir}\") (defun eb () (interactive) (find-fline \"{dir}2022pict2e-body.tex\")) (defun et () (interactive) (find-fline \"{dir}2022pict2e.tex\")) (defun etl () (interactive) (find-fline \"{dir}2022pict2e.lua\")) (defun v () (interactive) (find-pdftools-page \"{dir}2022pict2e.pdf\")) (defun tb () (interactive) (find-ebuffer (eepitch-target-buffer))) (defun etv () (interactive) (find-wset \"13o2_o_o\" '(tb) '(v))) (setenv \"PICT2ELUADIR\" \"{dir}\") ")) ;; «find-cabal-links» (to ".find-cabal-links") ;; Skel: (find-find-links-links-new "cabal" "pkg" "") ;; Test: (find-cabal-links) ;; Test: (find-cabal-links "hoogle") ;; (defun find-cabal-links (&optional pkg &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for cabal." (interactive) (setq pkg (or pkg "{pkg}")) (apply 'find-elinks `((find-cabal-links ,pkg ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-cabal-links) "" ,(ee-template0 "\ # (find-fline \"~/bin/eev-cabal\") # (find-sh \"eev-cabal ghc_list\") # (find-sh \"eev-cabal ghc_list {pkg}\") # (find-sh \"eev-cabal ghc_describe {pkg}\") # (find-sh \"eev-cabal ghc_field {pkg} homepage\") # (find-sh \"eev-cabal ghc_field {pkg} library-dirs\") # (find-sh \"eev-cabal cabal_tgz {pkg}\") # (find-sh \"eev-cabal cabal_tgz_b {pkg}\") # (find-sh \"eev-cabal cabal_tgz_unpack {pkg}\") # (find-fline \"~/.cabal/packages/hackage.haskell.org/{pkg}/\") # (find-sh \"find ~/.cabal/packages/hackage.haskell.org/ | sort\") # (find-sh \"cabal --help\") # (find-sh \"cabal list --installed\") # (find-fline \"~/.cabal/\") # (find-fline \"~/.cabal/config\") # (find-fline \"~/.cabal/packages/hackage.haskell.org/\") # (find-fline \"~/.cabal/packages/hackage.haskell.org/{pkg}/\") # (find-fline \"~/.cabal/store/ghc-8.8.4/\") # (find-fline \"~/.cabal/store/ghc-8.8.4/\" \" {pkg}\") # https://cabal.readthedocs.io/en/stable/ # https://hackage.haskell.org/package/{pkg} * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cabal install {pkg} cabal install --lib {pkg} # (find-cabal-unpack \"{pkg}\") ") ) pos-spec-list)) ;; «find-cabal-unpack-links» (to ".find-cabal-unpack-links") ;; Skel: (find-find-links-links-new "cabal-unpack" "name1 name2 name3" "") ;; Test: (find-cabal-unpack-links) ;; (defun find-cabal-unpack-links (&optional name1 name2 name3 &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for cabal-unpack." (interactive) (setq name1 (or name1 "{name1}")) (setq name2 (or name2 "{name2}")) (setq name3 (or name3 "{name3}")) (apply 'find-elinks `((find-cabal-unpack-links ,name1 ,name2 ,name3 ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-cabal-unpack-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv ~/usrc/{name2}/ mkdir ~/usrc/{name2/ tar -C ~/usrc/ \\ -xvzf {name3} cd ~/usrc/{name2}/ # (code-c-d \"{name1}\" \"~/usrc/{name2}/\") # (find-{name1}file \"\") ") ) pos-spec-list)) ;; «find-cabal-unpack» (to ".find-cabal-unpack") ;; Test: (find-cabal-unpack "hoogle") ;; (defun find-cabal-unpack (name) (find-cabal-unpack-links name (find-sh0 (format "eev-cabal cabal_tgz_b %s" name)) (ee-shorten-file-name (find-sh0 (format "eev-cabal cabal_tgz %s" name))))) ;; «find-cabos-links» (to ".find-cabos-links") ;; Skel: (find-find-links-links-new "cabos" "fname0" "") ;; Test: (find-cabos-links) ;; (find-cabos-links "piramide-1") ;; (find-cabos-links "piramide-2") ;; (find-cabos-links "barranco-1") ;; (find-cabos-links "barranco-2") ;; (find-cabos-links "2022-1-C3-VS") ;; (find-cabos-links "2022-2-C3-P1") ;; (defun find-cabos-links (&optional fname0 &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for cabos." (interactive) (setq fname0 (or fname0 "{fname0}")) (apply 'find-elinks `((find-cabos-links ,fname0 ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-cabos-links) "" ,(ee-template0 "\ # (kill-new \" GNUPLOT/{fname0}.dem\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"GNUPLOT/\") # (ee-copy-rest 2 '(find-fline \"~/GNUPLOT/{fname0}.dem\")) # This file: # http://anggtwu.net/GNUPLOT/{fname0}.dem.html # http://anggtwu.net/GNUPLOT/{fname0}.dem # (find-angg \"GNUPLOT/{fname0}.dem\") # Author: Eduardo Ochs <eduardoochs@gmail.com> # # (defun o () (interactive) (find-angg \"GNUPLOT/barranco-1.dem\")) # (defun o () (interactive) (find-angg \"GNUPLOT/2023-2-C3-P1.dem\")) # (defun e () (interactive) (find-angg \"GNUPLOT/{fname0}.dem\")) # (defun l () (interactive) (find-angg \"LUA/Cabos3.lua\")) # (find-cabos-links \"{fname0}\") # (find-eepitch-intro \"3.3. `eepitch-preprocess-line'\") # (setq eepitch-preprocess-regexp \"\") # (setq eepitch-preprocess-regexp \"^#: \") # #: * (eepitch-lua51) #: * (eepitch-kill) #: * (eepitch-lua51) #: Path.prependtopath \"~/LUA/?.lua\" #: ee_dofile \"~/LUA/Cabos3.lua\" #: bigstr = [[ #: 0 1 0 #: 0 1 1 #: ]] #: ex = Expand.from(bigstr) #: = ex:expandg() #: c = CabosNaDiagonal.from [[ #: 0 - 1 - 0 #: | . | \\ | #: 0 - 1 - 1 #: ]] #: = c set for [o=1:n] obj o polygon depthorder fs transparent solid 0.8 fc \"gray75\" set pm3d depthorder border lc \"black\" lw 2 set view equal xyz set view 30,30,1.5 set title \"{fname0}\" splot -10 pause -1 \"Hit return to continue\" # (find-eepitch-intro \"3.3. `eepitch-preprocess-line'\") # (setq eepitch-preprocess-regexp \"\") # (setq eepitch-preprocess-regexp \"^#: \") # #: * (eepitch-shell) #: * (eepitch-kill) #: * (eepitch-shell) #: gnuplot {fname0}.dem # (find-bgprocess \"gnuplot {fname0}.dem\") # Local Variables: # coding: utf-8-unix # mode: gnuplot # End: ") ) pos-spec-list)) ;; «find-elinks-haskell» (to ".find-elinks-haskell") ;; Based on: (find-efunction 'find-elinks-elisp) ;; (find-efunction 'find-estring-elisp) ;; (defun find-estring-haskell (string &rest pos-spec-list) (apply 'find-eoutput-rerun (or ee-buffer-name "*string*") `(progn (insert ,string) (haskell-mode)) pos-spec-list)) (defun find-elinks-haskell (links &rest pos-spec-list) (let ((ee-buffer-name (or ee-buffer-name "*Elisp hyperlinks*")) (ee-hyperlink-prefix "-- ")) (apply 'find-estring-haskell (ee-links-to-string links) pos-spec-list))) ;; «find-ghc-links» (to ".find-ghc-links") ;; Skel: (find-find-links-links-new "ghc" "string" "") ;; Tests: (find-ghc-links) ;; (find-ghc-links "toUpper") ;; (defun find-ghc-links (&optional string &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for ghc." (interactive (list (ee-stuff-around-point "[!-~]"))) (setq string (or string "{string}")) (apply 'find-elinks-haskell `((find-ghc-links ,string ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-ghc-links) "" ,(ee-template0 "\ -- (find-es \"haskell\" \"{string}\") -- (find-es \"haskell\" \"Prelude\") -- (find-ghcbasesh \"find * | sort | grep 'hs$'\") -- (find-ghcbasesh \"find * | sort | grep '{string}'\") -- (find-ghcbasegrep \"grep --color=auto -nRH --null -e {string} *\") -- (find-ghcbasefile \"\") -- (find-ghcbasefile \"{string}\") -- (find-hoogle \"{string}\") * (eepitch-ghci) * (eepitch-kill) * (eepitch-ghci) :t {string} :info {string} :hoogle {string} ") ) pos-spec-list)) (defun ghl () (interactive) (call-interactively 'find-ghc-links)) ;; «find-opam-links» (to ".find-opam-links") ;; Skel: (find-find-links-links-new "opam" "pkg" "") ;; Tests: (find-opam-links) ;; (find-opam-links "ocaml-canvas") ;; (defun find-opam-links (&optional pkg &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for opam." (interactive) (setq pkg (or pkg "{pkg}")) (apply 'find-elinks `((find-opam-links ,pkg ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-opam-links) "" (find-es "ocaml" "opam") "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) opam update opam upgrade opam install {pkg} * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) opam list opam info {pkg} opam show {pkg} # (find-sh \"opam list\") # (find-sh \"opam info {pkg}\") # (find-sh \"opam show {pkg}\") # (find-opamfile \"\") # (find-opamsourcesfile \"\") # (find-opamsourcessh \"find * | sort\") # (find-opamsh \"find * | sort\") * (eepitch-ocaml) * (eepitch-kill) * (eepitch-ocaml) #use \"topfind\";; #list;; #require \"{pkg}\";; #use \"canv.ml\";; ") ) pos-spec-list)) ;; «find-tikz-links» (to ".find-tikz-links") ;; (find-angg "LUA/tikz1.el") ;; (find-angg "LUA/tikz1.el" "find-tikz-links") ;; (find-angg ".emacs" "tikz") ;; «find-tikzsearch-links» (to ".find-tikzsearch-links") ;; (find-angg "LUA/tikz1.el" "find-tikzsearch-links") ;; «find-C2C3git-links» (to ".find-C2C3git-links") ;; Skel: (find-find-links-links-new "C2C3git" "yyyys" "") ;; Test: (find-C2C3git-links "2022-2") ;; (defun find-C2C3git-links (&optional yyyys &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for C2C3git." (interactive) (setq yyyys (or yyyys "{yyyys}")) (apply 'find-elinks `((find-C2C3git-links ,yyyys ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-C2C3git-links) "" ,(ee-template0 "\ # (find-angg \".emacs\" \"c2-{yyyys}\") # (find-angg \".emacs\" \"c3-{yyyys}\") # (find-LATEX \"{yyyys}-C2-tudo.tex\") # (find-angg \"{yyyys}-C2-C3/\") # (find-angg \"{yyyys}-C2-C3/README.org\") # (find-angg \"{yyyys}-C2-C3/Makefile\") # (find-gitk \"~/{yyyys}-C2-C3/\") ** A hack: ** Use this to update ** the files in ~/{yyyys}-C2-C3/. ** This is the slow way, that runs ** \"lualatex -record\" many times. ** * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/LATEX/ getincls0 () {<} grep ^.incl | tr '\\\\{<}{>}' ' ' {>} getincls () {<} getincls0 | awk 'NF==2 && $1==\"incl\" {<}print $2 {>}' {>} getincltexs () {<} getincls0 | awk 'NF==2 && $1==\"incl\" {<}print $2 \".tex\"{>}' {>} cat {yyyys}-C2-tudo.tex | getincls0 cat {yyyys}-C2-tudo.tex | getincls cat {yyyys}-C2-tudo.tex | getincltexs cat {yyyys}-C{<}2,3{>}-tudo.tex | getincls cat {yyyys}-C{<}2,3{>}-tudo.tex | getincltexs cat {yyyys}-C{<}2,3{>}-tudo.tex | getincls | sort | uniq | tee /tmp/.filest0.bn cat {yyyys}-C{<}2,3{>}-tudo.tex | getincltexs | sort | uniq | tee /tmp/.filest0.tex # (find-fline \"/tmp/.filest0.tex\") # (find-fline \"/tmp/.filest0.bn\") # This step regenerates the .fls files. # It is optional and takes a long time. # If you skip it then the next step will # reuse the current .fls files. for i in $(cat /tmp/.filest0.tex); do lualatex -record $i done for i in $(cat /tmp/.filest0.bn); do flsfiles $i.fls done | sort | uniq | tee /tmp/{yyyys}.fls cat /tmp/{yyyys}.fls > /tmp/{yyyys}+.fls echo {yyyys}-C2-tudo.tex >> /tmp/{yyyys}+.fls echo {yyyys}-C3-tudo.tex >> /tmp/{yyyys}+.fls echo TocLines1.lua >> /tmp/{yyyys}+.fls # (find-tkdiff \"/tmp/{yyyys}.fls\" \"/tmp/{yyyys}+.fls\") cd ~/LATEX/ tar -cvzf /tmp/{yyyys}.tgz $(cat /tmp/{yyyys}+.fls) cd ~/{yyyys}-C2-C3/ tar -xvzf /tmp/{yyyys}.tgz # (find-fline \"~/{yyyys}-C2-C3/\") # (find-fline \"~/{yyyys}-C2-C3/Makefile\") ** Use this to update ** the files in ~/{yyyys}-C2-C3/. ** This is the fast way, that uses ** \"git ls-files\" to get the list of files to copy. ** ** WORK IN PROGRESS! ** * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/{yyyys}-C2-C3/ && git ls-files | tee /tmp/.files cat /tmp/.files \\ | grep -v README \\ | grep -v Makefile \\ | grep -v gitignore | tee /tmp/.files- cd ~/LATEX/ && tar -cvzf /tmp/.files.tgz $(cat /tmp/.files-) cd ~/LATEX/ && ls -lAF $(cat /tmp/.files-) cd ~/{yyyys}-C2-C3/ && ls -lAF $(cat /tmp/.files-) cd ~/{yyyys}-C2-C3/ && tar -xvzf /tmp/.files.tgz # (magit-status \"~/{yyyys}-C2-C3/\") # (find-fline \"~/{yyyys}-C2-C3/\") # (find-fline \"/tmp/.files\") # (find-fline \"/tmp/.files-\") # (find-fline \"/tmp/.files.tgz\") ** Use this to test ** the files in ~/{yyyys}-C2-C3/ ** * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 1: cd ~/{yyyys}-C2-C3/ tar -cvzf /tmp/{yyyys}-C2-C3.tgz * rm -Rfv /tmp/{yyyys}-C2-C3/ mkdir /tmp/{yyyys}-C2-C3/ cd /tmp/{yyyys}-C2-C3/ tar -xvzf /tmp/{yyyys}-C2-C3.tgz make # (find-fline \"/tmp/{yyyys}-C2-C3/\") # (find-pdf-page \"/tmp/{yyyys}-C2-C3/{yyyys}-C2-tudo.pdf\") # (find-pdf-page \"/tmp/{yyyys}-C2-C3/{yyyys}-C3-tudo.pdf\") * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 2: rm -Rfv /tmp/{yyyys}-C2-C3/ mkdir /tmp/{yyyys}-C2-C3/ cd /tmp/{yyyys}-C2-C3/ git clone https://github.com/edrx/{yyyys}-C2-C3 . # (find-fline \"/tmp/{yyyys}-C2-C3/\") # (find-fline \"/tmp/{yyyys}-C2-C3/Makefile\") make * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 3: cd ~/{yyyys}-C2-C3/ tar -cvzf /tmp/{yyyys}-C2-C3.tgz * rm -Rfv /tmp/{yyyys}-C2-C3/ mkdir /tmp/{yyyys}-C2-C3/ cd /tmp/{yyyys}-C2-C3/ tar -xvzf /tmp/{yyyys}-C2-C3.tgz rm -Rv /tmp/fake-home-dir/ mkdir /tmp/fake-home-dir/ #cd /tmp/fake-home-dir/ { export LUA_INIT= export HOME=/tmp/fake-home-dir cd /tmp/{yyyys}-C2-C3/ make } * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 4: rm -Rfv /tmp/{yyyys}-C2-C3/ mkdir /tmp/{yyyys}-C2-C3/ cd /tmp/{yyyys}-C2-C3/ git clone https://github.com/edrx/{yyyys}-C2-C3 . rm -Rv /tmp/fake-home-dir/ mkdir /tmp/fake-home-dir/ #cd /tmp/fake-home-dir/ { export LUA_INIT= export HOME=/tmp/fake-home-dir cd /tmp/{yyyys}-C2-C3/ make } # (find-fline \"/tmp/{yyyys}-C2-C3/\") # (find-pdf-page \"/tmp/{yyyys}-C2-C3/{yyyys}-C2-tudo.pdf\") # (find-pdf-page \"/tmp/{yyyys}-C2-C3/{yyyys}-C3-tudo.pdf\") ") ) pos-spec-list)) ;; «find-MMMMgit-links» (to ".find-MMMMgit-links") ;; Skel: (find-find-links-links-new "MMMMgit" "yyyys C2-C3" "C2cC3") ;; Test: (find-MMMMgit-links "2022-1" "C2-C3") ;; (find-MMMMgit-links "2022-2" "C2-C3") ;; (defun find-MMMMgit-links (&optional yyyys C2-C3 &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for MMMMgit." (interactive) (setq yyyys (or yyyys "{yyyys}")) (setq C2-C3 (or C2-C3 "{C2-C3}")) (let* ((C2cC3 (replace-regexp-in-string "-" "," C2-C3))) (apply 'find-elinks `((find-MMMMgit-links ,yyyys ,C2-C3 ,@pos-spec-list) (find-MMMMgit-links "2022-1" "C2-C3" ,@pos-spec-list) (find-MMMMgit-links "2022-2" "C2-C3" ,@pos-spec-list) (find-MMMMgit-links "2023-1" "C2-C4-ES" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-MMMMgit-links) "" ,(ee-template0 "\ # (find-angg \".emacs\" \"c2-{yyyys}\") # (find-angg \".emacs\" \"c3-{yyyys}\") # (find-LATEX \"{yyyys}-C2-tudo.tex\") # (find-angg \"{yyyys}-{C2-C3}/\") # (find-angg \"{yyyys}-{C2-C3}/README.org\") # (find-angg \"{yyyys}-{C2-C3}/Makefile\") # (find-gitk \"~/{yyyys}-{C2-C3}/\") ** Use this to update ** the files in ~/{yyyys}-{C2-C3}/. ** * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/LATEX/ getincls0 () {<} grep ^.incl | tr '\\\\{<}{>}' ' ' {>} getincls () {<} getincls0 | awk 'NF==2 && $1==\"incl\" {<}print $2 {>}' {>} getincltexs () {<} getincls0 | awk 'NF==2 && $1==\"incl\" {<}print $2 \".tex\"{>}' {>} cat {yyyys}-C2-tudo.tex | getincls0 cat {yyyys}-C2-tudo.tex | getincls cat {yyyys}-C2-tudo.tex | getincltexs cat {yyyys}-{<}{C2cC3}{>}-tudo.tex | getincls cat {yyyys}-{<}{C2cC3}{>}-tudo.tex | getincltexs cat {yyyys}-{<}{C2cC3}{>}-tudo.tex | getincls | sort | uniq | tee /tmp/.filest0.bn cat {yyyys}-{<}{C2cC3}{>}-tudo.tex | getincltexs | sort | uniq | tee /tmp/.filest0.tex # \"bn\" means \"base names\" (of .tex files). # (find-fline \"/tmp/.filest0.tex\") # (find-fline \"/tmp/.filest0.bn\") ** This \"for\" regenerates the .fls files by running ** \"lualatex -record\" in each one of the .tex files. ** It takes a long time and changes the dates in the footers. ** Also, it is optional! If you skip it then the rest ** of this (big) block will reuse the current .fls files. ** # for i in $(cat /tmp/.filest0.tex); do # lualatex -record $i # done for i in $(cat /tmp/.filest0.bn); do flsfiles $i.fls done | sort | uniq | tee /tmp/{yyyys}.fls cat /tmp/{yyyys}.fls > /tmp/{yyyys}+.fls echo TocLines1.lua >> /tmp/{yyyys}+.fls for i in {yyyys}-{<}{C2cC3}{>}-tudo; do echo ${<}i{>}.tex >> /tmp/{yyyys}+.fls done # (find-tkdiff \"/tmp/{yyyys}.fls\" \"/tmp/{yyyys}+.fls\") cd ~/LATEX/ tar -cvzf /tmp/{yyyys}.tgz $(cat /tmp/{yyyys}+.fls) cd ~/{yyyys}-{C2-C3}/ tar -xvzf /tmp/{yyyys}.tgz # (find-fline \"~/{yyyys}-{C2-C3}/\") # (find-fline \"~/{yyyys}-{C2-C3}/Makefile\") ** Use this to update ** the files in ~/{yyyys}-{C2-C3}/. ** This is the fast way, that uses ** \"git ls-files\" to get the list of files to copy. ** ** WORK IN PROGRESS! ** * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/{yyyys}-{C2-C3}/ && git ls-files | tee /tmp/.files cat /tmp/.files \\ | grep -v README \\ | grep -v Makefile \\ | grep -v gitignore | tee /tmp/.files- cd ~/LATEX/ && tar -cvzf /tmp/.files.tgz $(cat /tmp/.files-) cd ~/LATEX/ && ls -lAF $(cat /tmp/.files-) cd ~/{yyyys}-{C2-C3}/ && ls -lAF $(cat /tmp/.files-) cd ~/{yyyys}-{C2-C3}/ && tar -xvzf /tmp/.files.tgz # (magit-status \"~/{yyyys}-{C2-C3}/\") # (find-fline \"~/{yyyys}-{C2-C3}/\") # (find-fline \"/tmp/.files\") # (find-fline \"/tmp/.files-\") # (find-fline \"/tmp/.files.tgz\") ** Use this to test ** the files in ~/{yyyys}-{C2-C3}/ ** * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 1: cd ~/{yyyys}-{C2-C3}/ tar -cvzf /tmp/{yyyys}-{C2-C3}.tgz * rm -Rfv /tmp/{yyyys}-{C2-C3}/ mkdir /tmp/{yyyys}-{C2-C3}/ cd /tmp/{yyyys}-{C2-C3}/ tar -xvzf /tmp/{yyyys}-{C2-C3}.tgz make # (find-fline \"/tmp/{yyyys}-{C2-C3}/\") # (find-pdf-page \"/tmp/{yyyys}-{C2-C3}/{yyyys}-C2-tudo.pdf\") # (find-pdf-page \"/tmp/{yyyys}-{C2-C3}/{yyyys}-C3-tudo.pdf\") * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 2: rm -Rfv /tmp/{yyyys}-{C2-C3}/ mkdir /tmp/{yyyys}-{C2-C3}/ cd /tmp/{yyyys}-{C2-C3}/ git clone https://github.com/edrx/{yyyys}-{C2-C3} . # (find-fline \"/tmp/{yyyys}-{C2-C3}/\") # (find-fline \"/tmp/{yyyys}-{C2-C3}/Makefile\") make * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 3: cd ~/{yyyys}-{C2-C3}/ tar -cvzf /tmp/{yyyys}-{C2-C3}.tgz * rm -Rfv /tmp/{yyyys}-{C2-C3}/ mkdir /tmp/{yyyys}-{C2-C3}/ cd /tmp/{yyyys}-{C2-C3}/ tar -xvzf /tmp/{yyyys}-{C2-C3}.tgz rm -Rv /tmp/fake-home-dir/ mkdir /tmp/fake-home-dir/ #cd /tmp/fake-home-dir/ { export LUA_INIT= export HOME=/tmp/fake-home-dir cd /tmp/{yyyys}-{C2-C3}/ make } * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * # Test 4: rm -Rfv /tmp/{yyyys}-{C2-C3}/ mkdir /tmp/{yyyys}-{C2-C3}/ cd /tmp/{yyyys}-{C2-C3}/ git clone https://github.com/edrx/{yyyys}-{C2-C3} . rm -Rv /tmp/fake-home-dir/ mkdir /tmp/fake-home-dir/ #cd /tmp/fake-home-dir/ { export LUA_INIT= export HOME=/tmp/fake-home-dir cd /tmp/{yyyys}-{C2-C3}/ make } # (find-fline \"/tmp/{yyyys}-{C2-C3}/\") # (find-pdf-page \"/tmp/{yyyys}-{C2-C3}/{yyyys}-C2-tudo.pdf\") # (find-pdf-page \"/tmp/{yyyys}-{C2-C3}/{yyyys}-C3-tudo.pdf\") ") ) pos-spec-list))) ;; «find-paps-links» (to ".find-paps-links") ;; Skel: (find-find-links-links-new "paps" "fname" "fullfname fname-") ;; Test: (find-paps-links) ;; (find-paps-links "~/elisp/test.el") ;; (defun find-paps-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for paps." (interactive) (setq fname (or fname "{fname}")) (let* ((fullfname (ee-expand fname)) (fname- "{fname-}")) (apply 'find-elinks `((find-paps-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-paps-links) "" (find-es "ps" "paps") "" ,(ee-template0 "\ * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # cd /tmp/ paps \\ --header-left=\"{<}now:%Y-%m-%d %H:%M{>}\" \\ --header-center=\"{<}fname-{>}\" \\ --header-right=\"Page {<}page_idx:02d}/{num_pages:02d{>}\" \\ --header \\ -o /tmp/opaps.pdf \\ {fullfname} ") ) pos-spec-list))) ;; «find-sandwiches-def-links» (to ".find-sandwiches-def-links") ;; Skel: (find-find-links-links-new "sandwiches-def" "head" "ee-hyperlink-prefix") ;; Test: (find-sandwiches-def-links) ;; (defun find-sandwiches-def-links (&optional head &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for sandwiches-def." (interactive) (setq head (or head "{head}")) (let* ((ee-hyperlink-prefix "-- ")) (apply 'find-elinks `((find-sandwiches-def-links ,head ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-sandwiches-def-links) "" (lua-mode) (ee-copy-rest 1 '(find-blogme3 "sandwiches-defs.lua")) "" ,(ee-template0 "\ -- <{head}> -- Skel: (find-sandwiches-def-links \"{head}\") -- _SH[\"{head}\"] = SexpHead { head = \"{head}\", help = sexp_to_target_st [[ (find-eev \"eev-tlinks.el\" \"{head}\") ]], f = function (sh, si) si:add_filling(1, nil, \"help\", sh.help) local hash = si:sexp_strarg(4) if hash then si:add_filling(4, 1, \"yt\", youtube_make_url(hash)) end end, } -- <{head}-tests> --[==[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"sandwiches-defs.lua\" = sexp_to_target_si [[ ({head} \"37675653 202207 1\" \"structural\") ]] = sexp_to_target_st [[ ({head} \"37675653 202207 1\" \"structural\") ]] --]==] ") ) pos-spec-list))) ;; «find-untgz-links» (to ".find-untgz-links") ;; Supersedes: (find-angg ".emacs" "find-template-untgz") ;; Skel: (find-find-links-links-new "untgz" "url c" "fname d") ;; Test: (find-untgz-links) ;; (find-untgz-links "https://gigamonkeys.com/book/practicals-1.0.3.tar.gz" "seibel") ;; (defun find-untgz-links (&optional url c &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for untgz." (interactive) (setq url (or url "{url}")) (setq c (or c "{c}")) (let* ((fname (replace-regexp-in-string "^\\(https?\\|ftp\\)://" "$S/\\1/" url)) (d (ee-tar-tzf-first-directory fname))) (apply 'find-elinks `((find-untgz-links ,url ,c ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-untgz-links) "" ,(ee-template0 "\ # {url} * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv ~/usrc/{d}/ tar -C ~/usrc/ -xvzf \\ {fname} cd ~/usrc/{d}/ # (code-c-d \"{c}\" \"~/usrc/{d}/\") # (find-{c}file \"\") ") ) pos-spec-list))) ;; «find-sandwichsexp-links» (to ".find-sandwichsexp-links") ;; Supersedes: (find-angg ".emacs" "sexptotarget") ;; Skel: (find-find-links-links-new "sandwichsexp" "sexp0" "sexp sexpstr") ;; Test: (find-sandwichsexp-links) ;; (find-sandwichsexp-links '(find-TH "eev-videos")) ;; (defun find-sandwichsexp-links (&optional sexp0 &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for sandwichsexp." (interactive (list (read (ee-last-sexp)))) (setq sexp0 (or sexp0 "{sexp0}")) (let* ((sexp (if (stringp sexp0) (read sexp0) sexp0)) (sexpstr (ee-S sexp))) (apply 'find-elinks `((find-sandwichsexp-links ',sexp0 ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-sandwichsexp-links) "" (find-blogme3 "sandwiches-defs.lua") "" ,(ee-template0 "\ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) chdir \"~/blogme3/\" dofile \"sandwiches-defs.lua\" = sexp_to_target_si [[ {sexpstr} ]] = sexp_to_target_st [[ {sexpstr} ]] = sexp_to_target [[ {sexpstr} ]] si = sexp_to_target_si0 [[ {sexpstr} ]] PPV(si) = si.head printf('(find-blogme3 \"sandwiches-defs.lua\" \"%s\")\\n', si.head) ") ) pos-spec-list))) ;; «find-blogme3-rstdoc-links» (to ".find-blogme3-rstdoc-links") ;; Skel: (find-find-links-links-new "blogme3-rstdoc" "c" "baseweb base htm") ;; Test: (find-blogme3-rstdoc-links "leanmeta") ;; (find-blogme3-rstdoc-links "lean4") ;; (find-blogme3-rstdoc-links "sqlite3") ;; (defun find-blogme3-rstdoc-links (&optional c &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for blogme3-rstdoc." (interactive) (setq c (or c "{c}")) (let* ((baseweb (ee-rstdoc-getfield0 c :base-web)) (base (ee-rstdoc-getfield0 c :base)) (htm (ee-rstdoc-htm c))) (apply 'find-elinks `((find-blogme3-rstdoc-links ,c ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-blogme3-rstdoc-links) (find-efunction 'find-sandwichsexp-links) (find-efunction 'ee-rstdoc-html) "" ,(ee-template0 "\ -- (find-angg \".emacs\" \"ee-rstdoc-:{c}\") -- (find-rstdoc-links :{c}) -- (find-code-rstdoc :{c}) -- (find-sandwichsexp-links '(find-{c}doc \"{base}\")) * (lua-mode) * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) chdir \"~/blogme3/\" dofile \"sandwiches-defs.lua\" -- (find-blogme3 \"sandwiches-defs.lua\" \"rstdoc\") -- (find-blogme3 \"sandwiches-defs.lua\" \"rstdoc\" \"rstdoc_base_{c} \") rstdoc_base_{c} = \"{baseweb}\" -- (find-blogme3 \"sandwiches-defs.lua\" \"rstdoc\" \"\\\"find-{c}doc\\\"\") -- _SH[\"find-{c}doc\"] = SexpHead {<} head = \"find-{c}doc\", help = rstdoc_help, base = rstdoc_base_{c}, htm = \"{htm}\", f = rstdoc_f, {>} = sexp_to_target_si [[ (find-{c}doc \"{base}\") ]] = sexp_to_target_st [[ (find-{c}doc \"{base}\") ]] = sexp_to_target [[ (find-{c}doc \"{base}\") ]] ") ) pos-spec-list))) ;; «find-eepitch-select-shell-links» (to ".find-eepitch-select-shell-links") ;; Skel: (find-find-links-links-new "eepitch-select-shell" "" "") ;; Test: (find-eepitch-select-shell-links) ;; (defun find-eepitch-select-shell-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for eepitch-select-shell." (interactive) (apply 'find-elinks-elisp `((find-eepitch-select-shell-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-eepitch-select-shell-links) (find-eev "eepitch.el" "eepitch-shell") (find-angg ".emacs" "eepitch-shell") "" ,(ee-template0 "\ ;; Use bash (mainly for screenshots and videos): (defun eepitch-shell () (interactive) (eepitch-comint \"bash\" \"bash\")) (defun eepitch-shell2 () (interactive) (eepitch-comint \"bash 2\" \"bash\")) (defun eepitch-shell3 () (interactive) (eepitch-comint \"bash 3\" \"bash\")) ;; Default: (defun eepitch-shell () (interactive) (eepitch-de '(shell))) (defun eepitch-shell2 () (interactive) (eepitch-de '(shell \"*shell 2*\"))) (defun eepitch-shell3 () (interactive) (eepitch-de '(shell \"*shell 3*\"))) ") ) pos-spec-list)) ;; «find-movebigfiles-links» (to ".find-movebigfiles-links") ;; Skel: (find-find-links-links-new "movebigfiles" "from to" "") ;; Test: (find-movebigfiles-links "/tmp/" "/home/") ;; (defun find-movebigfiles-links (&optional from to &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for movebigfiles." (interactive) (setq from (or from "{from}")) (setq to (or to "{to}")) (apply 'find-elinks `((find-movebigfiles-links ,from ,to ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-movebigfiles-links) "" ,(ee-template0 "\ (find-2a ' (find-fline {(ee-S from)}) ' (find-fline {(ee-S to)}) ) * (eepitch-shell3) * (eepitch-kill) * (eepitch-shell3) laf {(ee-S from)} laf {(ee-S to)} du -c {(ee-S from)} du -ch {(ee-S from)} mv -iv {(ee-S from)}* \\ {(ee-S to)} ") ) pos-spec-list)) ;; «find-jpgstopdf-links» (to ".find-jpgstopdf-links") ;; Skel: (find-find-links-links-new "jpgstopdf" "dir stem quality" "") ;; Test: (find-jpgstopdf-links) ;; (find-jpgstopdf-links "~/LATEX/2022-comissao/" "2022-dec-22_WhatsApp_RCN") ;; See: (find-classroom-trab-links nil 2 "/tmp/pdf-jpg-pdf/") ;; (find-es "ps" "glue-pages") ;; (defun find-jpgstopdf-links (&optional dir stem quality &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for jpgstopdf." (interactive) (setq dir (or dir "{dir}")) (setq stem (or stem "{stem}")) (setq quality (or quality "10")) (apply 'find-elinks `((find-jpgstopdf-links ,dir ,stem ,quality ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-jpgstopdf-links) "" (find-fline ,dir ,stem) (find-pdf-page ,(format "%s%s.pdf" dir stem)) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv /tmp/jpg-pdf/ mkdir /tmp/jpg-pdf/ cd /tmp/jpg-pdf/ cp -v {dir}{stem}*.jpg /tmp/jpg-pdf/ convert -quality {quality} *.jpg {stem}.pdf laf # (find-pdf-page \"/tmp/jpg-pdf/{stem}.pdf\") cp -v /tmp/jpg-pdf/{stem}.pdf {dir} % (find-jpgstopdf-links \"{dir}\" \"{stem}\") % (find-pdf-page \"{dir}{stem}.pdf\") \\includecom {<}pages=-,nup=2x1, frame, pagecommand={<}{>}, scale=0.8{>} {<}{stem}{>} ") ) pos-spec-list)) ;; «find-curso2023-links» (to ".find-curso2023-links") ;; Skel: (find-find-links-links-new "curso2023" "yy s MM yyo so" "stem mm") ;; See: (to "find-semestre-links") ;; Test: (find-curso2023-links "23" "1" "2" "22" "2") ;; (find-curso2023-links "23" "1" "3" "22" "2") ;; (find-curso2023-links "23" "1" "LA" "22" "2") ;; (defun find-curso2023-links (&optional yy s MM yyo so &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for curso2023." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq MM (or MM "{MM}")) (setq yyo (or yyo "{yyo}")) (setq so (or so "{so}")) (let* ((stem (ee-template0 "20{yy}.{s}-{MM}")) (mm (downcase MM))) (apply 'find-elinks `((find-curso2023-links ,yy ,s ,MM ,yyo ,so ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-curso2023-links) (find-efunction 'find-blogme3-links) (find-blogme3-links ,stem) "" ,(ee-template0 "\ # (kill-new \"{stem}\") # (find-blogme3 \"anggmake.lua\" \"blogmestems\") # (find-blogme3 \"anggmake.lua\" \"blogmestems\" \"2024.1-C2\") # (find-TH \"{stem}\") # (ee-copy-rest 2 '(find-TH \"{stem}\")) \[INCLUDE TH/speedbar.blogme] \[SETFAVICON dednat4/dednat4-icon.png] \[SETFAVICON IMAGES/forthsun.png] \[# \(defun c () (interactive) (find-blogme3-sh0-if \"{stem}\")) \(defun u () (interactive) (find-blogme-upload-links \"{stem}\")) ;; http://anggtwu.net/{stem}.html ;; file:///home/edrx/TH/L/{stem}.html ;; (find-curso2023-links \"{yy}\" \"{s}\" \"{MM}\" \"{yyo}\" \"{so}\") ;; (find-angg \"20{yy}.{s}-{MM}/Makefile\") ;; ;; «.executado» (to \"executado\") #] \[lua: require \"defs-2022\" -- (find-blogme3 \"defs-2022.lua\") load_caepro5() -- (find-blogme3 \"defs-2022.lua\" \"load_caepro5\") def [[ GRAY 1 body COLOR(\"#CCCCCC\", body) ]] def [[ FER 1 body COLOR(\"red\", body) ]] def [[ REP 1 body COLOR(\"orange\", body) ]] short_:add [[ caepro => (find-TH \"2023-caepro\") slogans => (find-TH \"2023-precisamos-de-mais-slogans\") pdfzinhos => (find-TH \"2023-links-curtos\" \"tabelona-explicacao\") quadros => (find-TH \"2023-links-curtos\" \"quadros-e-logs\") tabelona => (find-TH \"2023-links-curtos\" \"tabelona\") ]] ] \[SETHEADSTYLE [LUCIDA]] \[htmlize [J {MM} 20{yy}.{s} - Eduardo Ochs]\n [P [R 20{yy}.{s}.html Salas, horários, etc] [BR] [R 20{yyo}.{so}-{MM}.html Página do semestre anterior.] [BR] Fotos dos quadros: [R http://anggtwu.net/20{yy}.{s}-{MM}/{MM}-quadros.pdf PDF], [R http://anggtwu.net/20{yy}.{s}-{MM}/ JPGs]. [BR] [R 2022-apresentacao-sobre-C2.html Material de todos os semestres desde 2019.2]. [BR] [R http://anggtwu.net/LATEX/20{yy}-{s}-{MM}-Tudo.pdf PDFzão] com todos os [_ pdfzinhos PDFzinhos] deste semestre. [BR] [_ tabelona Material de todos os semestres desde 2019.2]. [BR] Os links curtos, como [C 3eT25] e [C Slogans08:54], estão explicados [_ links-curtos aqui]. [BR] [_ caepro Sobre as reclamações do CAEPRO]. ] [P O plano de curso no formato tradicional está [R http://anggtwu.net/LATEX/20{yy}-{s}-{MM}-plano-de-curso.pdf aqui]. [# ({mm}m{yy}{s}plcp 1 \"plano-de-curso\") # ({mm}m{yy}{s}plca \"plano-de-curso\") #] [# [BR] A versão detalhada com links está abaixo. #] [BR] A tabela abaixo tem links pros [_ pdfzinhos] e [_ quadros] de cada aula. ] [# # «executado» (to \".executado\") # (find-angg \".emacs\" \"{mm}q{yy}{s}\") #] [lua: short_:add [[ ]] ] [# Inscritos: #] ] \[# # Local Variables: # coding: raw-text-unix # modes: (fundamental-mode blogme-mode) # End: #]") ) pos-spec-list))) ;; «find-semestre-links» (to ".find-semestre-links") ;; Skel: (find-find-links-links-new "semestre" "yy s n yyo so" "") ;; See: (to "find-curso2023-links") ;; Test: (find-semestre-links "23" "1" "2" "22" "2") ;; (find-semestre-links "23" "1" "3" "22" "2") ;; (find-semestre-links "24" "2" "3" "24" "1") ;; (defun find-semestre-links (&optional yy s n yyo so &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for semestre." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq n (or n "{n}")) (setq yyo (or yyo "{yyo}")) (setq so (or so "{so}")) (let ((ee-buffer-name (or ee-buffer-name "*find-semestre-links*"))) (apply 'find-elinks `((find-semestre-links ,yy ,s ,n ,yyo ,so ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-semestre-links) "" ,(ee-template0 "\ ** Directories: ** * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd; mkdir -p 20{yy}.{s}-quadros 20{yy}.{s}-C2 20{yy}.{s}-C3 20{yy}-{s}-C2-C3 * (eepitch-linode) * (eepitch-kill) * (eepitch-linode) cd ~/slow_html/; mkdir -p 20{yy}.{s}-quadros 20{yy}.{s}-C2 20{yy}.{s}-C3 20{yy}-{s}-C2-C3 cd ~/public_html/; mkdir -p 20{yy}.{s}-quadros 20{yy}.{s}-C2 20{yy}.{s}-C3 20{yy}-{s}-C2-C3 mkdir -p 20{yy}.{s}-C2 20{yy}.{s}-C3 20{yy}-{s}-C2-C3 # Copy to: (find-THfile \"Makefile\" \"dirs\") ** Blogme files: (find-curso2023-links \"{yy}\" \"{s}\" \"C2\" \"{yyo}\" \"{so}\") (find-curso2023-links \"{yy}\" \"{s}\" \"C3\" \"{yyo}\" \"{so}\") ** Org files: (find-2a '(find-angg \"20{yyo}-{so}-C2-C3/README.org\") '(find-angg \"20{yy}-{s}-C2-C3/README.org\") ** Makefiles: ** 20{yy}.{s}-C2/Makefile 20{yy}.{s}-C3/Makefile 20{yy}-{s}-C2-C3/README.org 20{yy}-{s}-C2-C3/Makefile # Copy to: (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"2022.2-C2/\") LATEX/20{yy}-{s}-MM-template.tex LATEX/20{yy}-{s}-C2-intro.tex LATEX/20{yy}-{s}-C2-plano-de-curso.tex LATEX/20{yy}-{s}-C2-tudo.tex LATEX/20{yy}-{s}-C3-intro.tex LATEX/20{yy}-{s}-C3-plano-de-curso.tex LATEX/20{yy}-{s}-C3-tudo.tex # Copy to: (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/20{yy}-{s}-\") # or to: (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/20{yyo}-{so}-\") (find-2a '(find-angg \"20{yyo}.{so}-C2/Makefile\") '(find-angg \"20{yy}.{s}-C2/Makefile\")) (find-2a '(find-angg \"20{yyo}.{so}-C3/Makefile\") '(find-angg \"20{yy}.{s}-C3/Makefile\")) (find-2a '(find-angg \"20{yyo}-{so}-C2-C3/README.org\") '(find-angg \"20{yy}-{s}-C2-C3/README.org\")) (find-2a '(find-angg \"20{yyo}-{so}-C2-C3/Makefile\") '(find-angg \"20{yy}-{s}-C2-C3/Makefile\")) ** .tex files: ** (find-efunction 'find-MM-aula-links) (find-2a '(find-angg \"LATEX/20{yyo}-{so}-MM-template.tex\") '(find-angg \"LATEX/20{yy}-{s}-MM-template.tex\")) (find-MM-aula-links \"20{yy}-{s}-C2-intro\" \"C2\" \"c2m{yy}{s}intro\" \"c2in\") (find-MM-aula-links \"20{yy}-{s}-C3-intro\" \"C3\" \"c3m{yy}{s}intro\" \"c3in\") (find-MM-aula-links \"20{yy}-{s}-C2-tudo\" \"C2\" \"c2m{yy}{s}tudo\" \"c2tu\") (find-MM-aula-links \"20{yy}-{s}-C3-tudo\" \"C3\" \"c3m{yy}{s}tudo\" \"c3tu\") (find-MM-aula-links \"20{yy}-{s}-C2-plano-de-curso\" \"C2\" \"c2m{yy}{s}plc\" \"c2plc\") (find-MM-aula-links \"20{yy}-{s}-C3-plano-de-curso\" \"C3\" \"c3m{yy}{s}plc\" \"c3plc\") ** ~/.emacs: ** (find-angg \".emacs\" \"c3-20{yyo}-{so}\") ** ;; (c{n}e) ;; <c{n}-20{yy}-{s}> ;; <c{n}-20{yy}-{s}-quadros> ;; Skel: (find-semestre-links \"{yy}\" \"{s}\" \"{n}\" \"{yyo}\" \"{so}\") (defun c{n}e () (interactive) (find-angg \".emacs\" \"c{n}-20{yy}-{s}\")) ;; <c{n}q{yy}{s}> ;; (find-angg \".emacs\" \"c2-2022-1-quadros\") (defun c{n}q () (interactive) (find-angg \".emacs\" \"c{n}-20{yy}-{s}-quadros\")) (code-pdf-page \"c{n}q{yy}{s}\" \"~/20{yy}.{s}-C{n}/C{n}-quadros.pdf\") (code-pdf-text \"c{n}q{yy}{s}\" \"~/20{yy}.{s}-C{n}/C{n}-quadros.pdf\") ;; http://anggtwu.net/20{yy}.{s}-C{n}/C{n}-quadros.pdf ;; (find-angg \"20{yy}.{s}-C{n}/Makefile\") ;; (find-c{n}q{yy}{s}page 1 \"fev36: pagina fake\") ") ) pos-spec-list))) ;; «find-semestre-MM-links» (to ".find-semestre-MM-links") ;; Skel: (find-find-links-links-new "semestre-MM" "yy s MM yyo so" "mm") ;; Test: (find-semestre-MM-links) ;; (defun find-semestre-MM-links (&optional yy s MM yyo so &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for semestre-MM." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq MM (or MM "{MM}")) (setq yyo (or yyo "{yyo}")) (setq so (or so "{so}")) (let* ((mm "{mm}")) (apply 'find-elinks `((find-semestre-MM-links ,yy ,s ,MM ,yyo ,so ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-semestre-MM-links) "" ,(ee-template0 "\ ") ) pos-spec-list))) ;; «find-semestre-emacs-links» (to ".find-semestre-emacs-links") ;; Skel: (find-find-links-links-new "semestre-emacs" "yy s MM yyo so" "mm") ;; Test: (find-semestre-emacs-links "23" "1" "LA" "22" "2") ;; (defun find-semestre-emacs-links (&optional yy s MM yyo so &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for semestre-emacs." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq MM (or MM "{MM}")) (setq yyo (or yyo "{yyo}")) (setq so (or so "{so}")) (let* ((mm (downcase MM))) (apply 'find-elinks-elisp `((find-semestre-emacs-links ,yy ,s ,MM ,yyo ,so ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-semestre-emacs-links) "" ,(ee-template0 "\ ;; (find-MM-aula-links \"20{yy}-{s}-{MM}-intro\" \"{MM}\" \"{mm}m{yy}{s}intro\" \"{mm}mi\") ;; (find-MM-tudo-links \"{yy}\" \"{s}\" \"{MM}\") ;; ({mm}e) ;; <{mm}-20{yy}-{s}> ;; <{mm}-20{yy}-{s}-quadros> ;; Skel: (find-semestre-emacs-links \"{yy}\" \"{s}\" \"{MM}\" \"{yyo}\" \"{so}\") (defun {mm}e () (interactive) (find-angg \".emacs\" \"{mm}-20{yy}-{s}\")) (defun {mm}eo () (interactive) (find-angg \".emacs\" \"{mm}-20{yyo}-{so}\")) ;; <{mm}q{yy}{s}> ;; (find-angg \".emacs\" \"{mm}-2022-1-quadros\") (defun {mm}q () (interactive) (find-angg \".emacs\" \"{mm}-20{yy}-{s}-quadros\")) (code-pdf-page \"{mm}q{yy}{s}\" \"~/20{yy}.{s}-{MM}/{MM}-quadros.pdf\") (code-pdf-text \"{mm}q{yy}{s}\" \"~/20{yy}.{s}-{MM}/{MM}-quadros.pdf\") ;; http://anggtwu.net/20{yy}.{s}-{MM}/{MM}-quadros.pdf ;; (find-angg \"20{yy}.{s}-{MM}/Makefile\") ;; (find-{mm}q{yy}{s}page 1 \"fev36: pagina fake\") ;; ({mm}m{yy}{s}introa \"title\") (code-etex-tla \"{mm}in\" \"20{yy}-{s}-{MM}-intro\") (code-etex-tla \"{mm}m{yy}{s}intro\" \"20{yy}-{s}-{MM}-intro\") ;; ({mm}m{yy}{s}plca \"title\") (code-etex-tla \"{mm}plc\" \"20{yy}-{s}-{MM}-plano-de-curso\") (code-etex-tla \"{mm}m{yy}{s}plc\" \"20{yy}-{s}-{MM}-plano-de-curso\") ;; ({mm}m{yy}{s}tudoa \"title\") (code-etex-tla \"{mm}tu\" \"20{yy}-{s}-{MM}-tudo\") (code-etex-tla \"{mm}m{yy}{s}tudo\" \"20{yy}-{s}-{MM}-tudo\") ") ) pos-spec-list))) ;; «find-semestre-MM-quadros-links» (to ".find-semestre-MM-quadros-links") ;; Skel: (find-find-links-links-new "semestre-MM-quadros" "yy s MM yyo so" "mm") ;; Test: (find-semestre-MM-quadros-links "23" "1" "C2" "22" "2") ;; (find-semestre-MM-quadros-links "23" "1" "LA" "22" "2") ;; (defun find-semestre-MM-quadros-links (&optional yy s MM yyo so &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for semestre-MM-quadros." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq MM (or MM "{MM}")) (setq yyo (or yyo "{yyo}")) (setq so (or so "{so}")) (let* ((mm "{mm}")) (apply 'find-elinks `((find-semestre-MM-quadros-links ,yy ,s ,MM ,yyo ,so ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-semestre-MM-quadros-links) "" ,(ee-template0 "\ # (find-angg \"2022.2-C2/Makefile\") # (find-angg \"20{yy}.{s}-{MM}/Makefile\") # (find-mkdir-links \"20{yy}.{s}-{MM}\") # (kill-new \" 20{yy}.{s}-{MM}/Makefile\\n\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LATEX/20{yy}-{s}\") # ^ Add to the makefile # (makefile-gmake-mode) # (ee-copy-rest 1 '(find-angg \"20{yy}.{s}-{MM}/Makefile\")) ") ;; (find-angg "MAKE/2023.1-MM-template") ,(ee-template0-file "~/MAKE/2023.1-MM-template" "⟦\\([!-~]+\\)⟧") ) pos-spec-list))) ;; «find-mkdir-links» (to ".find-mkdir-links") ;; Skel: (find-find-links-links-new "mkdir" "dir" "") ;; Test: (find-mkdir-links "2024.1-GA") ;; (defun find-mkdir-links (&optional dir &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for mkdir." (interactive) (setq dir (or dir "{dir}")) (let ((ee-buffer-name (or ee-buffer-name "*find-mkdir-links*"))) (apply 'find-elinks `((find-mkdir-links ,dir ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-mkdir-links) "" ,(ee-template0 "\ # (kill-new \"{dir}\") # (find-THfile \"Makefile\" \"dirs\") * (eepitch-eshell) * (eepitch-kill) * (eepitch-eshell) mkdir ~/{dir} mkdir /scp:edrx@linode:~/slow_html/{dir} mkdir /scp:edrx@linode:~/public_html/{dir} # (find-anggfile \"{dir}\") # (find-linsfile \"{dir}\") # (find-linpfile \"{dir}\") ") ) pos-spec-list))) ;; «find-ajuda-email-links» (to ".find-ajuda-email-links") ;; Skel: (find-find-links-links-new "ajuda-email" "stem" "") ;; Test: (find-ajuda-email-links) ;; (find-ajuda-email-links "2023-feb-09_oficio_anexo") ;; (defun find-ajuda-email-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for ajuda-email." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks `((find-ajuda-email-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-ajuda-email-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mv -iv /tmp/{stem}.pdf \\ ~/LATEX/2022-comissao/ % (ajup 99) % (find-ajuda-email-links \"{stem}\") % (find-pdf-page \"~/LATEX/2022-comissao/{stem}.pdf\") % (find-pdf-text \"~/LATEX/2022-comissao/{stem}.pdf\") % gmail \\includeemail{<}pages=-{>}{<}{stem}{>} ") ) pos-spec-list)) ;; «find-ajuda-jpgs-links» (to ".find-ajuda-jpgs-links") ;; Skel: (find-find-links-links-new "ajuda-jpgs" "stem" "") ;; Test: (find-ajuda-jpgs-links) ;; (find-ajuda-jpgs-links "2023-jan-05_WhatsApp_SetMat") ;; (defun find-ajuda-jpgs-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for ajuda-jpgs." (interactive) (setq stem (or stem "{stem}")) (let ((ee-buffer-name (or ee-buffer-name "*find-ajuda-jpgs-links*"))) (apply 'find-elinks `((find-ajuda-jpgs-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-ajuda-jpgs-links) "" ,(ee-template0 "\ % (find-jpgstopdf-links \"~/LATEX/2022-comissao/\" \"{stem}\") % (ajup 99) % (find-ajuda-jpgs-links \"{stem}\") % (find-pdf-page \"~/LATEX/2022-comissao/{stem}.pdf\") \\includecom {<}pages=-,nup=3x2, frame, pagecommand={<}{>}, scale=0.8{>} {<}{stem}{>} ") ) pos-spec-list))) ;; «find-engrave-faces-links» (to ".find-engrave-faces-links") ;; Skel: (find-find-links-links-new "engrave-faces" "origdir newdir fname" "") ;; Test: (find-engrave-faces-links "SQUEAK/Squeak6.0-22104/shared/" "SQUEAK/" "See.st") ;; (find-engrave-faces-links "SQUEAK/Squeak6.0-22104/shared/" "SQUEAK/" "Category-Edrx.st") ;; (defun find-engrave-faces-links (&optional origdir newdir fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for engrave-faces." (interactive) (setq origdir (or origdir "{origdir}")) (setq newdir (or newdir "{newdir}")) (setq fname (or fname "{fname}")) (apply 'find-elinks `((find-engrave-faces-links ,origdir ,newdir ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-engrave-faces-links) "" ,(ee-template0 "\ ** (find-fline \"~/{origdir}{fname}\") ** (find-fline \"~/{origdir}\") ** (find-fline \"~/{newdir}{fname}\") ** (find-fline \"~/{newdir}\") ** * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -fv ~/{newdir}{fname} rm -fv ~/{newdir}{fname}.html cp -v ~/{origdir}{fname} ~/{newdir} laf ~/{origdir} laf ~/{newdir} * (defun a () (interactive) (eek \"M-x engrave-faces-html-buffer-standalone RET\")) * (defun b () (interactive) (eek \"C-x C-w ~/{newdir}{fname}.html RET\")) * (ee-kill-buffer \"{fname}\") * (ee-kill-buffer \"{fname}.html\") ** (find-2b nil '(find-fline \"~/{newdir}{fname}\")) laf ~/{origdir} laf ~/{newdir} scp ~/{newdir}{fname}.html $LINP/{newdir} scp ~/{newdir}{fname} $LINP/{newdir} # file:///home/edrx/{newdir}{fname}.html # http://anggtwu.net/{newdir}{fname}.html # http://anggtwu.net/{newdir}{fname} ") ) pos-spec-list)) ;; «find-planodecurso-links» (to ".find-planodecurso-links") ;; Skel: (find-find-links-links-new "planodecurso" "yy s MM" "mm") ;; Test: (find-planodecurso-links "23" "1" "ES") ;; (defun find-planodecurso-links (&optional yy s MM &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for planodecurso." (interactive) (setq yy (or yy "{yy}")) (setq s (or s "{s}")) (setq MM (or MM "{MM}")) (let* ((mm (downcase MM))) (apply 'find-elinks `((find-planodecurso-links ,yy ,s ,MM ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-planodecurso-links) "" (find-blogme3sh "grep plano-de-curso anggmake.lua") (find-blogme3sh "grep plano-de-curso anggmake.lua | sort") "" ,(ee-template0 "\ # (kill-new \"LATEX/20{yy}-{s}-{MM}-plano-de-curso.tex\") # (find-blogme3 \"anggmake.lua\") # (ee-copy-rest 1 '(find-LATEX \"20{yy}-{s}-{MM}-plano-de-curso.tex\")) ") ;; (find-angg "MAKE/2023.1-MM-template") ;; (find-angg "LATEX/2023-2-MM-plano-de-curso.tex") ,(ee-template0-file "~/LATEX/2023-2-MM-plano-de-curso.tex" "⟦\\([!-~]+\\)⟧") ) pos-spec-list))) ;; «find-mtp-links» (to ".find-mtp-links") ;; Skel: (find-find-links-links-new "mtp" "phonedir localdir yyyy mm dd" "") ;; Test: (find-mtp-links) ;; (find-mtp-links "Phone/DCIM/Camera/" "/tmp/phone-camera/") ;; (find-mtp-links "Phone/DCIM/Screenshots/" "/tmp/phone-screenshots/") ;; (defun find-mtp-links (&optional phonedir localdir yyyy mm dd &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for mtp." (interactive) (setq phonedir (or phonedir "{phonedir}")) (setq localdir (or localdir "{localdir}")) (setq yyyy (or yyyy (format-time-string "%Y"))) (setq mm (or mm (format-time-string "%m"))) (setq dd (or dd (format-time-string "%d"))) (apply 'find-elinks `((find-mtp-links ,phonedir ,localdir ,yyyy ,mm ,dd ,@pos-spec-list) (find-mtp-links "Phone/DCIM/Screenshots/" "/tmp/phone-screenshots/") (find-mtp-links "Phone/DCIM/Camera/" "/tmp/phone-camera/") (find-mtp-links "Phone/DCIM/Camera/" "/tmp/phone-wpp-images/") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-mtp-links) "" (find-es "mtp" "screenshots") "" ,(ee-template0 "\ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) # (find-fline \"/media/mtp/phone/\") cd sudo fusermount -u /media/mtp/phone/ sudo umount /media/mtp/phone/ sudo mkdir -p /media/mtp/phone/ sudo chmod 775 /media/mtp/phone/ # Connect the phone to the computer, then: sudo go-mtpfs -allow-other /media/mtp/phone # \"Allow the phone to access phone data?\" -> Allow. Then: sudo go-mtpfs -allow-other /media/mtp/phone * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline \"/media/mtp/phone/\") # (find-fline \"/media/mtp/phone/{phonedir}\") # (find-fline \"/media/mtp/phone/Phone/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Images/\") # (find-fline \"{localdir}\") mkdir -p {localdir} cd \"/media/mtp/phone/Phone/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Images/\" cd /media/mtp/phone/{phonedir} # rsync -avvz -e *.jpg {localdir} rsync -avvz -e {yyyy}*.jpg {localdir} rsync -avvz -e {yyyy}{mm}*.jpg {localdir} rsync -avvz -e {yyyy}{mm}{dd}*.jpg {localdir} cp -av {yyyy}{mm}{dd}*.jpg {localdir} rsync -avvz -e Screenshot_{yyyy}*.jpg {localdir} rsync -avvz -e IMG-{yyyy}{mm}{dd}* {localdir} cd ls -lt /media/mtp/phone/ sudo go-mtpfs -allow-other /media/mtp/phone ls -lt /media/mtp/phone/ cd sudo fusermount -u /media/mtp/phone/ sudo umount /media/mtp/phone/ ") ) pos-spec-list)) ;;; _ ;;; ___ ___ _ __ _ _ __ _ _ _ __ _ __| |_ __ ___ ___ ;;; / __/ _ \| '_ \| | | |_____ / _` | | | |/ _` |/ _` | '__/ _ \/ __| ;;; | (_| (_) | |_) | |_| |_____| (_| | |_| | (_| | (_| | | | (_) \__ \ ;;; \___\___/| .__/ \__, | \__, |\__,_|\__,_|\__,_|_| \___/|___/ ;;; |_| |___/ |_| ;; ;; «find-copy-quadros-links» (to ".find-copy-quadros-links") ;; Skel: (find-find-links-links-new "copy-quadros" "yyyy mm dd" "ee-buffer-name") ;; Test: (find-copy-quadros-links) ;; (defun find-copy-quadros-links (&optional yyyy mm dd &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for copy-quadros." (interactive) (setq yyyy (or yyyy (format-time-string "%Y"))) (setq mm (or mm (format-time-string "%m"))) (setq dd (or dd (format-time-string "%d"))) (let* ((ee-buffer-name (or ee-buffer-name "*find-copy-quadros-links*"))) (apply 'find-elinks `((find-copy-quadros-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-copy-quadros-links) "" ,(ee-template0 "\ * (defun cq2 () (interactive) (ee-cq-windows \"24\" \"2\" \"C2\")) * (defun cq3 () (interactive) (ee-cq-windows \"24\" \"2\" \"C3\")) * (defun cq6 () (interactive) (ee-cq-windows \"24\" \"1\" \"GA\")) ** (defun cq2 () (interactive) (ee-cq-windows \"23\" \"2\" \"C2\")) ** (defun cq3 () (interactive) (ee-cq-windows \"23\" \"2\" \"C3\")) ** (defun cq4 () (interactive) (ee-cq-windows \"23\" \"1\" \"C4\")) ** (defun cq5 () (interactive) (ee-cq-windows \"23\" \"1\" \"ES\")) ** (defun cq7 () (interactive) (ee-cq-windows \"23\" \"1\" \"LA\")) ** ** (find-termux-links) ** ** (setq ange-ftp-generate-anonymous-password nil) ** (find-2a '(find-dcimcamerafile \"\") '(find-fline \"/tmp/phone-camera/\")) ** (find-fline \"/tmp/phone-camera/\") ** (find-angg \".emacs\" \"switftp\") ** ** (find-mtp-links \"Phone/DCIM/Camera/\" \"/tmp/phone-camera/\") ") ) pos-spec-list))) ;; (ee-cq-split-filename "/tmp/phone-camera/20230404_155202.jpg") ;; (ee-cq-split-filename "/tmp/phone-camera/20230404_155202-C2-1.jpg") ;; (ee-cq-filename-to-f "/tmp/phone-camera/20230404_155202.jpg") ;; (ee-cq-filename-to-f "/tmp/phone-camera/20230404_155202-C2-1.jpg") ;; (defun ee-cq-split-filename (fname) (setq fname (file-name-nondirectory fname)) (string-match "^\\(........\\)_\\(......\\)\\(.*\\).jpg$" fname) (list (match-string 1 fname) (match-string 2 fname) (match-string 3 fname))) (defun ee-cq-filename-to-f (fname) (seq-let (date time rest) (ee-cq-split-filename fname) (format "#T f %s_%s%s %s%s\n" date time rest date rest))) (defun ee-cq-fs () (mapconcat 'ee-cq-filename-to-f (if (eq major-mode 'dired-mode) (dired-get-marked-files)))) (defun ee-cq-windows (yy s MM) (find-wset "123_o_o3_o_o" '(find-fline "/tmp/phone-camera/") `(find-fline ,(ee-template0 "~/20{yy}.{s}-quadros/")) '(find-estring (ee-cq-fs)) `(find-fline ,(ee-template0 "~/20{yy}.{s}-{MM}/Makefile")) )) ;; «find-gmail-links» (to ".find-gmail-links") ;; Skel: (find-find-links-links-new "gmail" "hash" "") ;; Test: (find-gmail-links "KtbxLrjVjnGXBssLpnZKBXnSRTHhJjgxtg") ;; (defun find-gmail-links (&optional hash &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for gmail." (interactive (list (ee-stuff-around-point "-0-9A-Za-z_"))) (setq hash (or hash "{hash}")) (apply 'find-elinks `((find-gmail-links ,hash ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-gmail-links) "" ,(ee-template0 "\ https://mail.google.com/mail/u/0/#inbox/{hash} https://mail.google.com/mail/u/0/#sent/{hash} after:2018/6/10 before:2018/6/14 ") ) pos-spec-list)) ;; «find-class-links» (to ".find-class-links") ;; Skel: (find-find-links-links-new "class" "name" "bigname") ;; See: (to "class") ;; Test: (find-class-links) ;; (find-class-links "MkTable") ;; (defun find-class-links (&optional name &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for class." (interactive) (setq name (or name "{name}")) (let* ((bigname (figlet-string-with "-- " name))) (apply 'find-elinks `((find-class-links ,name ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-class-links) "" ,(ee-template0 "\ # (find-angg \".emacs\" \"figlet\") # (setq figlet-cmd \"figlet -f standard | gsub.lua '' '-- %1'\") {bigname}\ -- «.{name}» (to \"{name}\") -- «{name}» (to \".{name}\") {name} = Class {<} type = \"{name}\", __index = {<} {>}, {>} -- «.{name}-tests» (to \"{name}-tests\") -- «{name}-tests» (to \".{name}-tests\") ") ) pos-spec-list))) ;; «find-expands-links» (to ".find-expands-links") ;; Skel: (find-find-links-links-new "expands" "fstem var words" "word1") ;; Test: (find-expands-links "find-luademo-scp" "fname" "LUA/foo LUA/bar") ;; (find-expands-links) ;; (defun find-expands-links (&optional fstem var words &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for expands." (interactive) (setq fstem (or fstem "{fstem}")) (setq var (or var "{var}")) (setq words (or words "{words}")) (let* ((word1 (car (ee-split words)))) (apply 'find-elinks-elisp `((find-expands-links ,fstem ,var ,words ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-expands-links) "" ,(ee-template0 "\ ;; Skel: (find-expands-links \"{fstem}\" \"{var}\" \"{words}\") ;; Tests: (find-estring (ee-{fstem}1 \"{word1}\")) ;; (find-estring (ee-{fstem}s \"{words}\")) ;; \(defun ee-{fstem}1 ({var}) (ee-template0 \":{<}{var}{>}:\\n\")) \(defun ee-{fstem}s (bigstr) (mapconcat 'ee-{fstem}1 (ee-split bigstr))) ") ) pos-spec-list))) ;; «code-etv2» (to ".code-etv2") ;; Moved to: (find-eev "eev-tlinks.el" "code-etv2") ;; «find-editeevsubtitles-links» (to ".find-editeevsubtitles-links") ;; Skel: (find-find-links-links-new "editeevsubtitles" "c mp4stem hash length" "") ;; Tests: (find-editeevsubtitles-links-1 "2022pict2elua") ;; (find-editeevsubtitles-links "2022pict2elua" "2022-pict2e-lua" "hiHsUhGVLGM") ;; (find-editeevsubtitles-links "c2m211somas1d" "2021-1-C2-somas-1-dicas" "pCD1p9FZYdI" "18:18") ;; (defun find-editeevsubtitles-links-1 (c) (let* ((yt (ee-1stclassvideos-field c :yt)) (mp4stem (ee-1stclassvideos-mp4stem c)) (hash (ee-1stclassvideos-hash c)) (length (ee-1stclassvideos-field c :length))) (find-editeevsubtitles-links c mp4stem hash length))) (defun find-editeevsubtitles-links (&optional c mp4stem hash length &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for editeevsubtitles." (interactive) (setq c (or c "{c}")) (setq mp4stem (or mp4stem "{mp4stem}")) (setq hash (or hash "{hash}")) (setq length (or length "{length}")) (apply 'find-elinks `((find-editeevsubtitles-links ,c ,mp4stem ,hash ,length ,@pos-spec-list) (find-editeevsubtitles-links-1 ,c) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-editeevsubtitles-links) "" (find-blogme3-legendas-links ,c ,mp4stem ,hash) "" ,(ee-template0 "\ # (kill-new \" SUBTITLES/{mp4stem}.lua\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\") # (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"SUBTITLES/\") # (ee-copy-rest 2 '(find-fline \"~/SUBTITLES/{mp4stem}.lua\")) # (ee-copy-rest0 1 nil) -- This file: -- http://anggtwu.net/SUBTITLES/{mp4stem}.lua.html -- http://anggtwu.net/SUBTITLES/{mp4stem}.lua -- (find-angg \"SUBTITLES/{mp4stem}.lua\") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- -- (defun l () (interactive) (find-angg \"SUBTITLES/{mp4stem}.lua\")) -- (defun b () (interactive) (find-TH \"{mp4stem}\")) -- (defun R () (interactive) (ee-recompile-SUBTITLES-0)) -- (defun r () (interactive) (ee-recompile-SUBTITLES-3)) -- (defun r () (interactive) (ee-recompile-SUBTITLES-1)) -- (define-key eev-mode-map (kbd \"M-r\") 'r) -- Skel: (find-editeevsubtitles-links-1 \"{c}\") -- (find-efunction 'find-editeevsubtitles-links-1) -- Yttr: (find-yttranscript-links \"{c}\" \"{hash}\") -- Info: (find-1stclassvideo-links \"{c}\") -- Play: (find-{c}video \"0:00\") -- -- I use the code below to generate the subtitles in .vtt. -- ee_dofile \"~/LUA/Subtitles.lua\" -- (find-angg \"LUA/Subtitles.lua\") --[[ -- (find-angg \"LUA/Subtitles.lua\") ** Run the .lua and tell it to ** write the .vtt - by default in /tmp/ * * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"{mp4stem}.lua\" sts = Subtitles.fromsexps(subs_bigstr):addtime(\"{length}\") -- sts.lang = \"pt-BR\" = sts outfname = \"$S/http/anggtwu.net/eev-videos/{mp4stem}.vtt\" outfname = \"/tmp/{mp4stem}.vtt\" out = sts:vtt()..\"\\n\\n\" ee_writefile(outfname, out) -- (find-fline \"/tmp/{mp4stem}.vtt\") ** Test the .vtt ** (find-{c}video \"0:00\") ** Select /tmp/ or ee-eevvideosdir ** (find-eevvideosfile \"\") ** (find-eevvideosfile \"\" \"{mp4stem}.mp4\") ** (find-eevvideossh0 \"cp -v {mp4stem}.mp4 /tmp/\") ** (code-video \"{c}video\" \"/tmp/{mp4stem}.mp4\") ** (code-video \"{c}video\" \"$S/http/anggtwu.net/eev-videos/{mp4stem}.mp4\") ** (find-{c}video \"0:00\") ** Upload the {mp4stem}.vtt ** to http://anggtwu.net/eev-videos/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ scp {mp4stem}.vtt $LINP/eev-videos/ scp {mp4stem}.vtt $LINS/eev-videos/ Scp-np {mp4stem}.vtt $TWUP/eev-videos/ Scp-np {mp4stem}.vtt $TWUS/eev-videos/ ** Upload the subtitles to youtube ** http://www.youtube.com/watch?v={hash} ** Check that the \"psne subtitles\" thing works ** (find-1stclassvideo-links \"{c}\") --]] --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"{mp4stem}.lua\" for li in subs_bigstr:gmatch(\"([^\\n]+)\") do local time,text = li:match('^.-\"(.-)\".-\"(.*)\"%)$') text = text:gsub(\"\\\\(.)\", \"%1\") if time then print(\" \"..time..\" \"..text) end end --]] subs_bigstr = [==[ \(find-{c}video \"00:00\" \" \") ]==] unrevised_bigstr = [==[ \(find-{c}video \"00:00\" \" \") ]==] -- Local Variables: -- coding: utf-8-unix -- End: ") ) pos-spec-list)) ;; «find-blogme3-legendas-links» (to ".find-blogme3-legendas-links") ;; Skel: (find-find-links-links-new "blogme3-legendas" "short stem hash pagestem" "") ;; Test: (find-blogme3-legendas-links) ;; (defun find-blogme3-legendas-links (&optional short stem hash pagestem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for blogme3-legendas." (interactive) (setq short (or short "{short}")) (setq stem (or stem "{stem}")) (setq hash (or hash "{hash}")) (setq pagestem (or pagestem "{pagestem}")) (apply 'find-elinks `((find-blogme3-legendas-links ,short ,stem ,hash ,pagestem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-blogme3-legendas-links) (find-efunction 'find-blogme3-links) (find-efunction 'find-blogme3-links ,stem) "" (kill-new ,stem) (find-blogme3 "anggmake.lua" "blogmestems" "2023-caepro0") (find-TH ,stem) (ee-copy-rest 1 '(find-TH ,stem)) "" ,(ee-template0 "\ [INCLUDE TH/speedbar.blogme] [SETFAVICON dednat4/dednat4-icon.png] [SETFAVICON IMAGES/forthsun.png] [# (defun c () (interactive) (find-blogme3-sh0-if \"{stem}\")) (defun u () (interactive) (find-blogme-upload-links \"{stem}\")) (defun u () (interactive) (find-blogme3-st-up-links \"{stem}\")) (defun l () (interactive) (find-angg \"SUBTITLES/{stem}.lua\")) (defun b () (interactive) (find-TH \"{stem}\")) (defun p () (interactive) (find-TH \"{pagestem}\")) ;; http://anggtwu.net/{pagestem}.html ;; http://anggtwu.net/{stem}.html ;; file:///home/edrx/TH/L/{stem}.html ;; ;; (find-blogme3-legendas-links \"{short}\" \"{stem}\" \"{hash}\") #] [lua: require \"defs-2022\" -- (find-blogme3 \"defs-2022.lua\") load_caepro2() -- (find-blogme3 \"defs-2022.lua\" \"load_caepro2\") short_:add [[ caepro => (find-TH \"2023-caepro\") caepro -> 2023-caepro.html (find-1stclassvideo-links \"{short}\") {short}-page -> http://anggtwu.net/{pagestem}.html {short}-mp4 -> http://anggtwu.net/eev-videos/{stem}.mp4 {short}-lua => (find-angg \"SUBTITLES/{stem}.lua\" \"legendas\") {short}-leg => (find-TH \"{stem}\") {short}-pdf -> http://anggtwu.net/LATEX/2023-caepro.pdf {short}-video -> https://www.youtube.com/watch?v={hash} {short}-index => (find-1stclassvideoindex \"{short}\") ]] ] [SETHEADSTYLE [LUCIDA]] [htmlize8 [J \"Isso muda alguma coisa?\" (Sobre as reclamações do CAEPRO)] [P The main page about this video is [_ {short}-page here]. [BR] Its index is [_ {short}-index here]. [BR] Its subtitles in Lua are [_ {short}-lua here]. [BR] The rest of this page contains a conversion of the subtitles in Lua [BR] to a slightly more readable format. ] [P Mais informações aqui: [BR] [_ caepro Sobre as reclamações do CAEPRO]. [BR] Pra assistir o vÃdeo clique ou no thumbnail abaixo [BR] ou nas marcas de tempo nas legendas. [BR] O tÃtulo original deste vÃdeo era: \"[_ {short}-mp4 \"Isso muda alguma coisa?\" (Sobre as reclamações do CAEPRO)]\". [BR] As legendas dele em Lua estão [_ {short}-lua aqui]. [BR] O PDF dele está [_ {short}-pdf aqui]. ] [NARROW [PLEFT [FIG [__ {short}-video] IMAGES/{stem}-small.png] ] ] [br] [P [lua: -- (find-angg \"SUBTITLES/{stem}.lua\") -- (find-angg \"LUA/Subtitles.lua\" \"Subtitles\") -- (find-TH \"2021aulas-por-telegram\" \"legendas\" \"ipairs\") -- (find-fline \"~/SUBTITLES/{stem}.lua\") ee_dofile \"~/SUBTITLES/{stem}.lua\" -- (find-fline \"~/LUA/Subtitles2.lua\") ee_dofile \"~/LUA/Subtitles2.lua\" Subtitle.hash = \"{hash}\" sls = SubtitleLines.from(subs_bigstr) return sls:blogme() ] ] ] [# # Local Variables: # coding: utf-8-unix # modes: (fundamental-mode blogme-mode) # End: #] ") ) pos-spec-list)) ;; «find-blogme3-st-up-links» (to ".find-blogme3-st-up-links") ;; Skel: (find-find-links-links-new "blogme3-st-up" "stem" "") ;; Test: (find-blogme3-st-up-links "2023-visual-vs-auditivo") ;; (defun find-blogme3-st-up-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for blogme3-st-up." (interactive) (setq stem (or stem "{stem}")) (let ((ee-buffer-name (or ee-buffer-name "*find-blogme3-st-up-links*"))) (apply 'find-elinks `((find-blogme3-st-up-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-blogme3-st-up-links) "" ,(ee-template0 "\ # (defun u () (interactive) (find-blogme3-st-up-links \"{stem}\")) # (find-angg \"SUBTITLES/{stem}.lua\") # (find-TH \"{stem}\") * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) touch ~/SUBTITLES/{stem}.lua touch ~/TH/{stem}.blogme makeL1 SUBTITLES/{stem}.lua.html \\ {stem}.html # file:///home/edrx/TH/L/{stem}.html makeR1 SUBTITLES/{stem}.lua.html \\ {stem}.html makeL makeR scp SUBTITLES/{stem}.lua.html $LINP/SUBTITLES/{stem}.lua.html scp {stem}.html $LINP/{stem}.html # http://anggtwu.net/{stem}.html ") ) pos-spec-list))) ;; «find-cp-LUA-links» (to ".find-cp-LUA-links") ;; Skel: (find-find-links-links-new "cp-LUA" "all" "first") ;; Test: (find-cp-LUA-links) ;; (find-cp-LUA-links "Caepro4") ;; (find-cp-LUA-links "ELpeg-cme1") ;; (find-cp-LUA-links "ELpeg-cme1 ELpeg1 Globals1 PCall1 Show2 Subst1 Tree1") ;; (find-cp-LUA-links "Caepro4 ELpeg1 Globals1 PCall1 Show2 Subst1 Tree1") ;; See: (find-angg "LUA/Deps1.lua") ;; Try: (find-sh0 "~/LUA/Deps1.lua -runcps Caepro4") ;; (find-sh0 "~/LUA/Deps1.lua -runcps 'Caepro4 ELpeg-cme1'") ;; (defun find-cp-LUA-links (&optional all &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for cp-LUA." (interactive) (setq all (or all "{all}")) (let* ((first (car (ee-split all)))) (apply 'find-elinks `((find-cp-LUA-links ,all ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-cp-LUA-links) "" (find-angg "LUA/Deps1.lua") "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/LUA/ for i in {all}; do cp -v $i.lua ~/LATEX/; done # (find-sh0 \"cd ~/LUA/; for i in {all}; do cp -v $i.lua ~/LATEX/; done\") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) s0 = Set.from(keys(package.loaded)) Path.prependtopath \"~/LUA/?.lua\" require \"{first}\" s1 = Set.from(split(\"{first} lpeg\")) s2 = Set.from(keys(package.loaded)) = s0:ksc(\" \") = s2:ksc(\" \") = (s2-s0):ksc(\" \") = s1:ksc(\" \") = (s2-s1-s0):ksc(\" \") = \"{all}\" ") ) pos-spec-list))) ;; «find-Deps1-links» (to ".find-Deps1-links") ;; Skel: (find-find-links-links-new "Deps1" "mains" "") ;; See: (find-angg "LUA/Deps1.lua") ;; Test: (find-Deps1-links) ;; (find-Deps1-links "Caepro4 Estatistica1") ;; (find-Deps1-cps "Caepro4 Estatistica1") ;; (find-Deps1-anggs "Caepro4 Estatistica1") ;; (defun find-Deps1-links (&optional mains &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for Deps1." (interactive) (setq mains (or mains "{mains}")) (apply 'find-elinks-elisp `((find-Deps1-links ,mains ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-Deps1-links) "" (find-Deps1-links "Caepro4 Estatistica1") (find-angg "LUA/Deps1.lua") "" ,(ee-template0 "\ (find-Deps1-links \"{mains}\") (find-Deps1-cps \"{mains}\") (find-Deps1-anggs \"{mains}\") (find-sh0 \"~/LUA/Deps1.lua -runcps '{mains}'\") (defun cps () (interactive) (find-sh0 \"~/LUA/Deps1.lua -runcps '{mains}'\")) ") ) pos-spec-list)) (defun find-Deps1-cps (mains) (find-sh0 (format "~/LUA/Deps1.lua -runcps '%s'" mains))) (defun find-Deps1-list (mains) (find-sh0 (format "~/LUA/Deps1.lua -listfiles '%s'" mains))) (defun find-Deps1-anggs (mains) (find-estring (find-sh0 (format "~/LUA/Deps1.lua -findanggs '%s'" mains)))) ;;; _ ____ ;;; ___| |__ _____ _|___ \ ;;; / __| '_ \ / _ \ \ /\ / / __) | ;;; \__ \ | | | (_) \ V V / / __/ ;;; |___/_| |_|\___/ \_/\_/ |_____| ;;; ;; Moved to: (find-eev "eev-tlinks.el" "find-show2-links") ;; Moved to: (find-eev "eev-tlinks.el" "show2") ;; «find-godotref-links» (to ".find-godotref-links") ;; Skel: (find-find-links-links-new "godotref" "Class Method" "class method") ;; Test: (find-godotref-links) ;; (find-godotref-links "Expression" "parse") ;; (defun find-godotref-links (&optional Class Method &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for godotref." (interactive) (setq Class (or Class "{Class}")) (setq Method (or Method "{Method}")) (let* ((class (downcase Class)) (method (replace-regexp-in-string "_" "-" (replace-regexp-in-string "^_" "" (downcase Method))))) (apply 'find-elinks `((find-godotref-links ,Class ,Method ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-godotref-links) "" ,(ee-template0 "\ # (find-gd3docrfile \".files.rst\") # (find-gd3docrsh \"grep {Class} .files.rst\") # (find-gd3docrsh \"grep -i {Class} .files.rst\") # (find-gd3docrsh \"grep {Method} .files.rst\") # (find-gd3docrsh \"grep -i {Method} .files.rst\") # (find-gd3docrgrep \"grep --color=auto -nH --null -e {Class} $(cat .files.rst)\") # (find-gd3docrgrep \"grep --color=auto -niH --null -e {Class} $(cat .files.rst)\") # (find-gd3docrgrep \"grep --color=auto -nH --null -e {Method} $(cat .files.rst)\") # (find-gd3docrgrep \"grep --color=auto -niH --null -e {Method} $(cat .files.rst)\") # (find-gd3docr \"classes/class_{class}\") # (find-gd3doc \"classes/class_{class}\") # (find-gd3doc \"classes/class_{class}#class-{class}-method-{method}\") ") ) pos-spec-list))) ;; «find-defhydra-links» (to ".find-defhydra-links") ;; Skel: (find-find-links-links-new "defhydra" "stem short" "") ;; Test: (find-defhydra-links) ;; (defun find-defhydra-links (&optional stem short &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for defhydra." (interactive) (setq stem (or stem "{stem}")) (setq short (or short "{short}")) (apply 'find-elinks-elisp `((find-defhydra-links ,stem ,short ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-defhydra-links) "" ,(ee-template0 "\ (defhydra hydra-{stem} (:hint nil) \" _q_uit _r_edir _a_rchive _d_elorig ^^ _c_lear fbclids \" (\"r\" (progn (eek \"C-a\") (ee-read-redir))) (\"d\" (eek \"C-a <up> C-a C-k C-k\")) ;; (\"<down>\" (eek \"<down>\")) ;; (\"q\" nil) ) (defun {short} () (interactive) (hydra-{stem}/body)) ") ) pos-spec-list)) ;; «find-rsynccamera-links» (to ".find-rsynccamera-links") ;; Skel: (find-find-links-links-new "rsynccamera" "localdir yyyy mm dd" "") ;; Based on: (find-efunction 'find-mtp-links) ;; Used by: (find-efunction 'find-copy-quadros-links) ;; Test: (find-rsynccamera-links) ;; (defun find-rsynccamera-links (&optional localdir yyyy mm dd &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for rsynccamera." (interactive) (setq localdir (or localdir "/tmp/phone-camera/")) (setq yyyy (or yyyy (format-time-string "%Y"))) (setq mm (or mm (format-time-string "%m"))) (setq dd (or dd (format-time-string "%d"))) (apply 'find-elinks `((find-rsynccamera-links ,localdir ,yyyy ,mm ,dd ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-rsynccamera-links) (find-angg ".zshrc" "termux") "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline \"{localdir}\") mkdir -p {localdir} cd {localdir} exporttermuxvars exporttermuxvars echo echo rsync -avv -e \"$TERMUXE\" \"$TERMUXCAMERA/{yyyy}{mm}{dd}*.jpg\" . rsync -avv -e \"$TERMUXE\" \"$TERMUXCAMERA/{yyyy}{mm}{dd}*.jpg\" . ") ) pos-spec-list)) ;; «find-eev-new-el-file-links» (to ".find-eev-new-el-file-links") ;; Skel: (find-find-links-links-new "eev-new-el-file" "stem" "") ;; Test: (find-eev-new-el-file-links "eev-lean4") ;; (defun find-eev-new-el-file-links (&optional stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for eev-new-el-file." (interactive) (setq stem (or stem "{stem}")) (apply 'find-elinks-elisp `((find-eev-new-el-file-links ,stem ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-eev-new-el-file-links) "" ,(ee-template0 "\ ;; (kill-new \" eev-current/{stem}.el\") ;; (find-blogme3file \"anggmake.lua\" \"eev-current/eev-blinks.el\") ;; (find-eev \"{stem}.el\") ;; (kill-new \"(require '{stem}) ; (find-eev \\\"{stem}.el\\\")\") ;; (find-eev \"eev-load.el\" \"load-the-main-modules\" \"eev-kla\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/eev-g/ cp -v ~/eev-current/{stem}.el . git add {stem}.el # (magit-status \"/tmp/eev-g/\") ;; (ee-copy-rest 1 '(find-eev \"{stem}.el\")) ;;; {stem}.el -- ???. -*- lexical-binding: nil; -*- ;; Copyright (C) 2022-2023 Free Software Foundation, Inc. ;; ;; This file is part of GNU eev. ;; ;; GNU eev is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; GNU eev is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;; ;; Author: Eduardo Ochs <eduardoochs@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com> ;; Version: 20231202 ;; Keywords: e-scripts ;; ;; Latest version: <http://anggtwu.net/eev-current/{stem}.el> ;; htmlized: <http://anggtwu.net/eev-current/{stem}.el.html> ;; See also: <http://anggtwu.net/eev-current/eev-beginner.el.html> ;; <http://anggtwu.net/eev-intros/find-kla-intro.html> ;; (find-kla-intro) ;;; Comment: ;; (provide '{stem}) ;; Local Variables: ;; coding: utf-8-unix ;; no-byte-compile: t ;; End: ") ) pos-spec-list)) ;; «find-tikz2-links» (to ".find-tikz2-links") ;; Skel: (find-find-links-links-new "tikz2" "" "") ;; Test: (find-tikz2-links) ;; (defun find-tikz2-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for tikz2." (interactive) (apply 'find-elinks `((find-tikz2-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-tikz2-links) "" ,(ee-template0 "\ ** (find-angg \"LUA/Tikz2.lua\") ** (find-angg \"LUA/Show2.lua\" \"texbody\") * (show2-use \"~/LATEX/Show2.tex\") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) loadtikz2() -- usetikzlibraries.positioning = \"positioning\" -- tikzoptions.place = [[ place/.style={<}circle,draw=blue!50,fill=blue!20,thick{>} ]] tikzbody = Dang.from [[ \\draw[thick,rounded corners=8pt] (0,0)--(0,2)--(1,3.25)--(2,2)--(2,0)--(0,2)--(2,2)--(0,0)--(2,0); ]] = show00() = show0() = show() * (etv) = Show.bigstr = Show.log ") ) pos-spec-list)) (defun tikz2 () (interactive) (find-2a nil '(find-tikz2-links))) ;; «find-screenkey-links» (to ".find-screenkey-links") ;; Skel: (find-find-links-links-new "screenkey" "" "") ;; Test: (find-screenkey-links) ;; (defun find-screenkey-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for screenkey." (interactive) (apply 'find-elinks `((find-screenkey-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-screenkey-links) "" ,(ee-template0 "\ # (find-es \"screencasts\" \"screenkey\") # (find-debpkg-links \"screenkey\") # (find-status \"screenkey\") # (find-vldifile \"screenkey.list\") # (find-udfile \"screenkey/\") # (code-c-d \"screenkey\" \"/usr/lib/python3/dist-packages/Screenkey/\") # (find-screenkeyfile \"\") # (find-man \"1 screenkey\") # (find-sh \"screenkey --help\") # (find-sh \"screenkey --help\" \"--font-size\") # (find-sh \"screenkey --help\" \"--font-size\" \"--opacity OPACITY\") * (eepitch-shell3) * (eepitch-kill) * (eepitch-shell3) screenkey -s small --mods-mode emacs --opacity 0.2 --timeout 0.5 & killall screenkey * (eepitch-shell3) killall screenkey ") ) pos-spec-list)) ;; «find-tikzsearch2-links» (to ".find-tikzsearch2-links") ;; Skel: (find-find-links-links-new "tikzsearch2" "page string" "string-") ;; Test: (find-tikzsearch2-links) ;; (defun find-tikzsearch2-links (&optional page string &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for tikzsearch2." (interactive) (setq page (or page "{page}")) (setq string (or string "{string}")) (let* ((string- (replace-regexp-in-string "^[0-9. ]*" "" string))) (apply 'find-elinks `((find-tikzsearch2-links ,page ,string ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-tikzsearch2-links) "" ,(ee-template0 "\ # (find-tikzmanpage {page} \"{string}\") # (find-tikzmantext {page} \"{string}\") # (find-tikzmangrep \"grep --color=auto -nRH --null -e '{string-}' *.tex\") # (find-tikzmanpage 3 \"Contents\") # (find-tikzmantext 3 \"Contents\") # (find-tikzmanpage 3 \"Contents\" \"{string}\") # (find-tikzmantext 3 \"Contents\" \"{string}\") # (find-tikzmanpage 3 \"Contents\" \"{string-}\") # (find-tikzmantext 3 \"Contents\" \"{string-}\") # (find-angg \".emacs.papers\" \"tikz\") # (find-angg \".emacs.papers\" \"tikz\" \"{string}\") # (kill-new \"{string}\") # (find-tikzmanpage 3 \"Contents\") # (find-tikzmantext 3 \"Contents\") # (find-tikzmanpage 3 \"Contents\" \"{string-}\") # (find-tikzmantext 3 \"Contents\" \"{string-}\") # (find-tikzmanpage 3 \"Contents\" \"{string}\") # (find-tikzmantext 3 \"Contents\" \"{string}\") # (find-tikzmanpage 1235 \"Index\") # (find-tikzmantext 1235 \"Index\") # (find-tikzmanpage 1235 \"Index\" \"{string}\") # (find-tikzmantext 1235 \"Index\" \"{string}\") # (find-tikzgitfile \"\") # (find-tikzmanfile \"\") # (find-tikzgittgpfile \"\") # (find-tikzgitgrep \"grep --color=auto -nRH --null -e '{string-}' *\") # (find-tikzmangrep \"grep --color=auto -nRH --null -e '{string-}' *.tex\") # (find-tikzgittgpgrep \"grep --color=auto -nRH --null -e '{string-}' *\") # https://github.com/pgf-tikz/pgf # https://github.com/pgf-tikz/pgf/tree/master/ ") ) pos-spec-list))) ;; See: (find-angg "elisp/klapt.el") (defun ee-sexp-eol-nth (n) (ee-goto-eol) (nth n (read (ee-last-sexp)))) (defun tiks2 () (interactive) (find-tikzsearch2-links (eval (ee-sexp-eol-nth 1)) (ee-sexp-eol-nth 2))) ;; <find-luareset-links> ;; Skel: (find-find-links-links-new "luareset" "" "") ;; Test: (find-luareset-links) ;; (defun find-luareset-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for luareset." (interactive) (apply 'find-elinks `((find-luareset-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-luareset-links) "" ,(ee-template0 "\ * (setenv \"LUA_INIT\" \"@/home/edrx/LUA/lua50init.lua\") * (setenv \"LUA_PATH\" \"/home/edrx/LUA/?.lua;;\") * (setenv \"LUA_PATH\" nil) ") ) pos-spec-list)) (defalias 'luareset 'find-luareset-links) ;; «find-luaso-links» (to ".find-luaso-links") ;; Moved to: (find-eev "eev-tlinks.el" "find-luaso-links") ;; «find-let*-macro-links» (to ".find-let*-macro-links") ;; Moved to: (find-eev "eev-tlinks.el" "find-let*-macro-links") ;; «find-luawget-links» (to ".find-luawget-links") ;; See: (to "find-luademo-links") ;; Skel: (find-find-links-links-new "luawget" "stems" "stemsc wgets Main main") ;; Tests: (find-luawget-links "Dang1 CLua1") ;; (find-luawget-links "Tos3") ;; (defun find-luawget-links (&optional stems &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for luawget." (interactive) (setq stems (or stems "{stems}")) (let* ((stemsc (replace-regexp-in-string " " "," stems)) (wgets (mapconcat (lambda (stem) (format "wget http://anggtwu.net/LUA/%s.lua\n" stem)) (ee-split stems))) (Main (car (reverse (ee-split stems)))) (main (downcase Main))) (apply 'find-elinks `((find-luawget-links ,stems ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-luawget-links) "" ,(ee-adjust-red-stars (ee-template0 "\ * (ee-use-red-stars) * (ee-use-red-bullets) ** (find-Deps1-cps \"{Main}\") ** (find-Deps1-anggs \"{Main}\") ** (find-Deps1-cps \"{stems}\") ** (find-Deps1-anggs \"{stems}\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/LUA/ scp {<}lua50init,{stemsc}{>}.lua $LINP/LUA/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rfv /tmp/{main}/ mkdir /tmp/{main}/ cd /tmp/{main}/ cp -v ~/LUA/{<}lua50init,{stemsc}{>}.lua . wget http://anggtwu.net/LUA/lua50init.lua {wgets}\ ** Make `find-{main}', LUA_INIT and LUA_PATH point to /tmp/{main}/: * (code-c-d \"{main}\" \"/tmp/{main}/\" :anchor) * (setenv \"LUA_INIT\" \"@/tmp/{main}/lua50init.lua\") * (setenv \"LUA_PATH\" \"/tmp/{main}/?.lua;;\") ** If you know how to use test blocks, try these ones: ** (find-{main} \"{Main}.lua\") ** A test \"from the outside\": * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) require \"{Main}\" -- (find-{main} \"{Main}.lua\") ** (luareset) ** (find-blogme3-links \"{Main}\") ** (find-TH \"{Main}\") ** (find-sshot-links \"5\" \"2024-{Main}\") ")) ) pos-spec-list))) ;; «eewrap-require» (to ".eewrap-require") ;; Skel: (find-eewrap-links "U" "require" "stem") ;; Test: (find-eewraptest-links "require" "ELpeg1") ;; (defun eewrap-require () (interactive) (ee-this-line-wrapn 1 'ee-wrap-require)) (defun ee-wrap-require (stem) "An internal function used by `eewrap-require'." (ee-template0 "\ Path.addLUAtopath() require \"{stem}\" -- (find-angg \"LUA/{stem}.lua\")")) ;; «find-termux-links» (to ".find-termux-links") ;; Skel: (find-find-links-links-new "termux" "ip yyyy mm dd" "") ;; Test: (find-termux-links) ;; See: (find-angg ".emacs" "eepitch-termux") ;; (find-angg ".zshrc" "termux") ;; (defun find-termux-links (&optional ip yyyy mm dd &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for termux." (interactive) (setq ip (or ip "{ip}")) (setq yyyy (or yyyy (format-time-string "%Y"))) (setq mm (or mm (format-time-string "%m"))) (setq dd (or dd (format-time-string "%d"))) (apply 'find-elinks `((find-termux-links ,ip ,yyyy ,mm ,dd ,@pos-spec-list) (find-termux-links ,(getenv "TERMUXIP") ,yyyy ,mm ,dd ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-termux-links) (find-es "termux" "rsync-phonecamera") (find-es "termux" "rsync-wpvideos") (find-es "termux" "rsync-wpimages") (find-efunction 'find-mtp-links) "" ,(ee-template0 "\ rmnet5: (find-termux-links \"10.5.248.220\") rndis0: (find-termux-links \"192.168.42.129\") wlan0: (find-termux-links \"192.168.1.3\") * (tm-setenv \"TERMUXIP\" \"{ip}\") * (tm-setenv \"TERMUXUSER\" \"u0_a037\") * (tm-setenv \"TERMUXE\" \"ssh -l [TERMUXUSER] -p 8022\") * (tm-setenv \"TERMUXSSH\" \"ssh://[TERMUXUSER]@[TERMUXIP]:8022\") * * (tm-setenv \"TMTRAMP\" \"/scp:[TERMUXUSER]@[TERMUXIP]#8022:\") * (tm-setenv \"TMTRAMPCAM\" \"[TMTRAMP]/storage/emulated/0/DCIM/Camera\") * (tm-setenv \"TMTRAMPSCR\" \"[TMTRAMP]/storage/emulated/0/DCIM/Screenshots\") * (tm-setenv \"TMTRAMPWP\" \"[TMTRAMP]/storage/emulated/0/Android/media/com.whatsapp/Whatsapp\") * (tm-setenv \"TMTRAMPWPI\" \"[TMTRAMPWP]/Media/WhatsApp Images\") * (tm-setenv \"TMTRAMPWPV\" \"[TMTRAMPWP]/Media/WhatsApp Video\") * (tm-setenv \"TMTRAMPHOME\" \"[TMTRAMP]/data/data/com.termux/files/home\") * (code-c-d \"tmtrampcam\" (tm-expand \"[TMTRAMPCAM]/\")) * (code-c-d \"tmtrampscr\" (tm-expand \"[TMTRAMPSCR]/\")) * (code-c-d \"tmtrampwpi\" (tm-expand \"[TMTRAMPWPI]/\")) * (code-c-d \"tmtrampwpv\" (tm-expand \"[TMTRAMPWPV]/\")) * (code-c-d \"tmtramphome\" (tm-expand \"[TMTRAMPHOME]/\")) ** (find-tmtrampcamfile \"\") ** (find-tmtrampscrfile \"\") ** (find-tmtrampwpifile \"\") ** (find-tmtrampwpvfile \"\") ** (find-tmtramphomefile \"\") ** (find-tmtramphomefile \".bashrc\") ** ** (find-fline \"$TMTRAMPCAM\") ** (find-fline \"$TMTRAMPSCR\") ** (find-fline \"$TMTRAMPWPI\") ** (find-fline \"$TMTRAMPWPV\") ** (find-fline \"$TMTRAMPHOME\") * * (tm-setenv \"TMRSYNC\" \"[TERMUXIP]\") * (tm-setenv \"TMRSYNSSH\" \"ssh -l [TERMUXUSER] -p 8022\") * (tm-setenv \"TMRSYNCCAM\" \"[TMRSYNC]:/storage/emulated/0/DCIM/Camera\") * (tm-setenv \"TMRSYNCSCR\" \"[TMRSYNC]:/storage/emulated/0/DCIM/Screenshots\") * (tm-setenv \"TMRSYNCWP\" \"[TMRSYNC]:/storage/emulated/0/Android/media/com.whatsapp/Whatsapp\") * (tm-setenv \"TMRSYNCWPI\" \"[TMRSYNCWP]/Media/WhatsApp\\\\ Images\") * (tm-setenv \"TMRSYNCWPV\" \"[TMRSYNCWP]/Media/WhatsApp\\\\ Video\") edrx (find-es \"termux\" \"rsync-phonecamera\") (find-es \"termux\" \"rsync-wpvideos\") (find-es \"termux\" \"rsync-wpimages\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ** (find-tmtrampcamfile \"\") ** (find-tmtrampcamfile \"\" \"{yyyy}{mm}{dd}\") # (find-fline \"/tmp/phone-camera/\" \"{yyyy}{mm}{dd}\") mkdir -p /tmp/phone-camera/ cd /tmp/phone-camera/ echo rsync -avv -e \"$TERMUXE\" \"$TMRSYNCCAM/{yyyy}{mm}{dd}*.jpg\" . rsync -avv -e \"$TERMUXE\" \"$TMRSYNCCAM/{yyyy}{mm}{dd}*.jpg\" . # (find-fline \"/sda1/home/phone-backup/camera-videos/\") cd /sda1/home/phone-backup/camera-videos/ rsync -avv -e \"$TERMUXE\" \"$TMRSYNCCAM/{yyyy}{mm}{dd}*.mp4\" . * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ** (find-tmtrampwpvfile \"\") ** (find-tmtrampwpvfile \"\" \"{yyyy}{mm}{dd}\") # (find-fline \"/sda1/home/phone-backup/whatsapp-video/\") # (find-fline \"/sda1/home/phone-backup/whatsapp-video/\" \"{yyyy}{mm}{dd}\") cd /sda1/home/phone-backup/whatsapp-video/ echo rsync -avv -e \"$TERMUXE\" \"$TMRSYNCWPV/VID-{yyyy}{mm}{dd}*\" . rsync -avv -e \"$TERMUXE\" \"$TMRSYNCWPV/VID-{yyyy}{mm}{dd}*\" . * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ** (find-tmtrampwpifile \"\") ** (find-tmtrampwpifile \"\" \"{yyyy}{mm}{dd}\") # (find-fline \"/sda1/home/phone-backup/whatsapp-images/\") # (find-fline \"/sda1/home/phone-backup/whatsapp-images/\" \"{yyyy}{mm}{dd}\") cd /sda1/home/phone-backup/whatsapp-images/ echo rsync -avv -e \"$TERMUXE\" \"$TMRSYNCWPI/IMG-{yyyy}{mm}{dd}*\" . rsync -avv -e \"$TERMUXE\" \"$TMRSYNCWPI/IMG-{yyyy}{mm}{dd}*\" . ") ) pos-spec-list)) ;; «tm-expand» (to ".tm-expand") ;; «tm-setenv» (to ".tm-setenv") ;; (tm-setenv "FOO" "_[HOME]_") ;; (tm-setenv "FOO" "_${HOME}_") ;; (tm-regexp) ;; (tm-expand "_[HOME]_${HOME}_") ;; (defun tm-regexp () (rx "[" (* (not (any "[]"))) "]")) (defun tm-expand (str) (replace-regexp-in-string (tm-regexp) (lambda (s) (or (getenv (substring s 1 -1)) "")) str 'fixedcase 'literal)) (defun tm-setenv (variable value) (setenv variable (tm-expand value))) ;; (defun ee-termux-replace (str) ;; (replace-regexp-in-string ;; (tm-regexp) ;; (lambda (s) (or (getenv (substring s 1 -1)) "")) ;; str 'fixedcase 'literal)) ;; «find-npm-links» (to ".find-npm-links") ;; Skel: (find-find-links-links-new "npm" "pkg" "") ;; Test: (find-npm-links) ;; (defun find-npm-links (&optional pkg &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for npm." (interactive) (setq pkg (or pkg "{pkg}")) (apply 'find-elinks `((find-npm-links ,pkg ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-npm-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-sh \"find node_modules | sort\") npm uninstall {pkg} npm install {pkg} npm ls npm view {pkg} * (eepitch-nodejs) * (eepitch-kill) * (eepitch-nodejs) ohmjs = require('{pkg}'); require.resolve('{pkg}'); require; ") ) pos-spec-list)) ;; «find-my-mode-links» (to ".find-my-mode-links") ;; Skel: (find-find-links-links-new "my-mode" "" "") ;; Test: (find-my-mode-links) ;; See: (find-angg ".emacs" "my-mode") ;; (defun find-my-mode-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for my-mode." (interactive) (apply 'find-elinks-elisp `((find-my-mode-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-my-mode-links) "" (define-key my-mode-map (kbd "M-,") 'ee-compose-pair) (define-key my-mode-map (kbd "M-,") nil) "" (find-eaproposf "my-mode") (find-eaproposv "my-mode") (find-efunction 'my-mode) (find-angg ".emacs" "my-mode") (find-eaproposf "keymap") (find-eminorkeymapdescr 'my-mode) (find-eminorkeymapdescr 'eev-mode) (find-angg ".emacs" "eev-compose-hash") "" ,(ee-template0 "\ ") ) pos-spec-list)) (defalias 'mym 'find-my-mode-links) ;; «find-show2-use-links» (to ".find-show2-use-links") ;; Skel: (find-find-links-links-new "show2-use" "fname" "") ;; Test: (find-show2-use-links) ;; (defun find-show2-use-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for show2-use." (interactive) (setq fname (or fname "{fname}")) (apply 'find-elinks `((find-show2-use-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-show2-use-links) "" ,@(ee-find-show2-use-links) ) pos-spec-list)) (defun ee-find-show2-use-links (&optional fname) (setq fname (or fname "{fname}")) `((find-efunction 'find-show2-use-links) (find-efunction 'ee-find-show2-use-links) (find-show2-intro "3. Show2.lua") (find-show2-intro "3.1. A minimal example") (find-angg "LUA/lua50init.lua" "loadshow2") (find-angg "LUA/Show2.lua") (find-angg "LUA/Show2.lua" "usepackages") " * (show2-use \"/tmp/Show2.tex\") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) loadshow2() body = [[ HELLO ]] = body:show() * (etv) ")) ;; «find-etv-links» (to ".find-etv-links") ;; Skel: (find-find-links-links-new "etv" "" "") ;; Test: (find-etv-links) ;; (defun find-etv-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for etv." (interactive) (apply 'find-elinks `((find-etv-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-etv-links) "" ,@(ee-find-etv-links) ) pos-spec-list)) (defun ee-find-etv-links (&rest rest) `((find-efunction 'find-etv-links) (find-efunction 'ee-find-etv-links) (find-show2-intro "3.1. A minimal example") (find-show2-use "/tmp/Show2.tex") (find-show2-use "/tmp/Show2.tex" 2 "defun etv") " = outertexbody = outertexbody.bigstr = Show.bigstr = Show.log * (etv) ")) ;; «find-luatree-links» (to ".find-luatree-links") ;; Skel: (find-find-links-links-new "luatree" "" "") ;; Test: (find-luatree-links) ;; (defun find-luatree-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for luatree." (interactive) (apply 'find-elinks `((find-luatree-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-luatree-links) "" (find-es "maxima" "luatree") "" ,(ee-template0 "\ * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) ** (find-angg \"luatree/luatree.mac\") load (\"~/luatree/luatree.mac\"); MV2 : 'integrate(fp(g(x))*gp(x), x, a, b) = 'integrate(fp(u), u, g(a), g(b)); luatree (MV2); luatree1d(luatree1d); luatree (luatree1d); luatree1d; luatree (luatree); luatree; :lisp #$MV2$ ") ) pos-spec-list)) ;; «find-lean-links» (to ".find-lean-links") ;; Skel: (find-find-links-links-new "lean" "str" "") ;; Test: (find-lean-links) ;; (find-lean-links "Quantifiers and Equality") ;; (defalias 'fll 'find-lean-links) (defun find-lean-links (&optional secname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for lean." (interactive) (setq secname (or secname "{secname}")) (apply 'find-elinks `((find-lean-links ,secname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-lean-links) "" (find-angg ".emacs" "lean4") (find-angg ".emacs.papers" "fplean4") (find-angg ".emacs.papers" "tpinlean4" ,secname) (find-es "lean" ,secname) ,(ee-template0 " # (find-es \"lean\" \"tpinlean4\") # (find-leanbook-links 'leanmeta {(ee-S secname)}) # (find-leanbook-links 'fplean4 \"{secname}\") # (find-leanbook-links 'lean4 \"{secname}\") # (find-leanbook-links 'tpil4 \"{secname}\") # (find-ebuffer \"*lean4-lsp::stderr*\") # Functional Programming in Lean4: # (find-eev \"eev-lean4.el\" \"ee-leandoc-:fplean4\") # Lean manual: # (find-eev \"eev-lean4.el\" \"ee-leandoc-:lean4\") # Metaprogramming in Lean4: # (find-eev \"eev-lean4.el\" \"ee-leandoc-:leanmeta\") # Prelude (and other libraries): # (find-lean4prefile \"\") # (find-lean4presh \"find * | sort\") # (find-lean4pregrep \"grep --color=auto -nRH --null -e '{secname}' *\") # (find-lean4pregrep \"grep --color=auto -nRH --null -e '\\\" {secname} \\\"' *\") # Theorem Proving in Lean4: # (find-eev \"eev-lean4.el\" \"ee-leandoc-:tpil4\") # (find-tpil4docrgrep \"grep --color=auto -nRH --null -e '{secname}' *\") ") ) pos-spec-list)) ;; «find-twitter-links» (to ".find-twitter-links") ;; Skel: (find-find-links-links-new "twitter" "str" "qstr") ;; Test: (find-twitter-links) ;; (find-twitter-links "@sairasameerarao saddest") ;; (defun find-twitter-links (&optional str &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for twitter." (interactive) (setq str (or str "{str}")) (let* ((qstr (url-hexify-string str))) (apply 'find-elinks `((find-twitter-links ,str ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-twitter-links) "" ,(ee-template0 "\ # https://twitter.com/search?q={qstr}&src=typed_query ") ) pos-spec-list))) ;; «find-pdfanim-links» (to ".find-pdfanim-links") ;; Skel: (find-find-links-links-new "pdfanim" "dir prefix all delay density" "fulldir") ;; Test: (find-pdfanim-links) ;; (find-pdfanim-links "/tmp/qdraw/" "a_" "all") ;; (defun find-pdfanim-links (&optional dir prefix all delay density &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for pdfanim." (interactive) (setq dir (or dir "{dir}")) (setq prefix (or prefix "{prefix}")) (setq all (or all "{all}")) (setq delay (or delay 50)) (setq density (or density 75)) (let* ((fulldir (ee-expand dir))) (apply 'find-elinks `((find-pdfanim-links ,dir ,prefix ,all ,delay ,density ,@pos-spec-list) (find-pdfanim-links ,dir ,prefix ,all "{delay}" "{density}" ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-pdfanim-links) "" (find-anggfile "LUA/QPDFMerge.lua" "qpdf --empty --pages") (find-es "imagemagick" "pdf-to-animated-gif") (find-es "maxima" "log-constants-anim") (find-fline ,dir) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline \"{dir}\") laf {dir} cd {dir} for i in {prefix}*.pdf; do echo $i 1-z; done qpdf --empty --pages $(for i in {prefix}*.pdf; do echo $i 1-z; done) -- {all}.pdf laf convert -alpha deactivate -verbose -delay {delay} -loop 0 -density {density} \\ {all}.pdf {all}.gif laf # (find-fline \"/tmp/qdraw/\" \"all.pdf\") # (find-pdf-page \"/tmp/qdraw/all.pdf\") # file://{fulldir}{all}.gif ") ) pos-spec-list))) ;; «find-qrencode-links» (to ".find-qrencode-links") ;; Skel: (find-find-links-links-new "qrencode" "urls" "") ;; Test: (find-qrencode-links) ;; Test: (find-qrencode-links "http://anggtwu.net/2023-precisamos-de-mais-slogans.html") ;; (defun find-qrencode-links (&optional url &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for qrencode." (interactive) (setq url (or url "{url}")) (apply 'find-elinks `((find-qrencode-links ,url ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-qrencode-links) "" (find-es "qrcode" "qrencode") "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) qrencode -s 8 -o /tmp/q1.png {url} qrencode -m 4 -s 8 -o /tmp/q2.png {url} qrencode -l H -m 4 -s 8 -o /tmp/q3.png {url} * (ee-kill-buffer \"q1.png\") * (ee-kill-buffer \"q2.png\") * (ee-kill-buffer \"q3.png\") * (find-2a nil '(find-fline \"/tmp/q1.png\")) * (find-2a nil '(find-fline \"/tmp/q2.png\")) * (find-2a nil '(find-fline \"/tmp/q3.png\")) (find-wset \"13o2_o_o\" ' (find-fline \"/tmp/q1.png\") ' (find-fline \"/tmp/q2.png\") ' (find-fline \"/tmp/q3.png\") ) ") ) pos-spec-list)) ;;; _ _ _ ;;; | | ___ __ _ _ __ _ __ ___| |_ __| | ___ ___ ;;; | |/ _ \/ _` | '_ \| '__/ __| __/ _` |/ _ \ / __| ;;; | | __/ (_| | | | | | \__ \ || (_| | (_) | (__ ;;; |_|\___|\__,_|_| |_|_| |___/\__\__,_|\___/ \___| ;;; ;; «find-leanrstdoc-links» (to ".find-leanrstdoc-links") ;; Moved to: (find-eev "eev-lean4.el" "find-leanrstdoc-links") ;;; _ _ _ _ ;;; | | ___ __ _ _ __ | |__ | |_ _ __ ___ | | ;;; | |/ _ \/ _` | '_ \| '_ \| __| '_ ` _ \| | ;;; | | __/ (_| | | | | | | | |_| | | | | | | ;;; |_|\___|\__,_|_| |_|_| |_|\__|_| |_| |_|_| ;;; ;; «find-leanhtml-links» (to ".find-leanhtml-links") ;; Skel: (find-find-links-links-new "leanhtml" "fname" "fname- localurl") ;; Test: (find-leanhtml-links) ;; (defun find-leanhtml-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for leanhtml." (interactive) (setq fname (or fname (buffer-file-name) "{fname}")) (let* ((fname- (replace-regexp-in-string "/home/edrx/" "" (ee-expand fname))) (localurl (ee-fname-to-url fname))) (apply 'find-elinks `((find-leanhtml-links ,fname ,@pos-spec-list) (find-leanhtml-links "~/LEAN/luatree2.lean") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-leanhtml-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) pygmentize -O full \\ -o {fname}.pyg.html \\ {fname} laf {fname}* # {localurl}.pyg.html # (brg \"{localurl}.pyg.html\") # (find-fline \"{fname}\") scp -v {fname}.pyg.html $LINP/{fname-}.pyg.html scp -v {fname}.pyg.html $LINS/{fname-}.pyg.html # http://anggtwu.net/{fname-}.pyg.html ") ) pos-spec-list))) ;;; _ _ _ ;;; _ __ _ _ __ _| |__ | |_ _ __ ___ | | ;;; | '_ \| | | |/ _` | '_ \| __| '_ ` _ \| | ;;; | |_) | |_| | (_| | | | | |_| | | | | | | ;;; | .__/ \__, |\__, |_| |_|\__|_| |_| |_|_| ;;; |_| |___/ |___/ ;; ;; «find-pyghtml-links» (to ".find-pyghtml-links") ;; Skel: (find-find-links-links-new "pyghtml" "fname" "fname- localurl") ;; Test: (find-pyghtml-links) ;; (defun find-pyghtml-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for pyghtml." (interactive) (setq fname (or fname (buffer-file-name) "{fname}")) (let* ((fname- (replace-regexp-in-string "/home/edrx/" "" (ee-expand fname))) (localurl (ee-fname-to-url fname))) (apply 'find-elinks `((find-pyghtml-links ,fname ,@pos-spec-list) (find-pyghtml-links "~/LEAN/luatree2.lean") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-pyghtml-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) pygmentize -O full \\ -o {fname}.pyg.html \\ {fname} laf {fname}* # {localurl}.pyg.html # (brg \"{localurl}.pyg.html\") # (find-fline \"{fname}\") scp -v {fname}.pyg.html $LINP/{fname-}.pyg.html scp -v {fname}.pyg.html $LINS/{fname-}.pyg.html # http://anggtwu.net/{fname-}.pyg.html ") ) pos-spec-list))) ;; «find-leanbook-links» (to ".find-leanbook-links") ;; Moved to: (find-eev "eev-lean4.el" "find-leanbook-links") ;; «find-leanquestion-links» (to ".find-leanquestion-links") ;; Skel: (find-find-links-links-new "leanquestion" "url title titl" "date") ;; Test: (find-leanquestion-links) ;; (defun find-leanquestion-links (&optional url title titl &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for leanquestion." (interactive) (setq url (or url "{url}")) (setq title (or title "{title}")) (setq titl (or titl "{titl}")) (let* ((date (date-as-string))) (apply 'find-elinks `((find-leanquestion-links ,url ,title ,titl ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-leanquestion-links) "" ,(ee-template0 "\ (find-leanquestion-links \"https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/A.20minimal.20state.20monad.3F/near/446269145\" \"A minimal state monad?\" \"minimal-state-monad\") (find-2a nil '(find-TH \"eev-lean4\")) (find-2a nil '(find-TH \"eev-lean4\" \"questions\")) question-{titl}-e => (find-es \"lean\" \"checksyntax\") question-{titl}-z -> {url} [J [ze {titl}] ({date}) {title} ] ") ) pos-spec-list))) ;; «find-wrap-links» (to ".find-wrap-links") ;; Skel: (find-find-links-links-new "wrap" "" "") ;; Test: (find-wrap-links) ;; (defun find-wrap-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for wrap." (interactive) (apply 'find-elinks `((find-wrap-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-wrap-links) "" (find-es "emacs" "buffer-local") (find-angg ".emacs" "wrap") "" (setq-default truncate-lines t) (setq-default truncate-lines nil) "" (default-value truncate-lines) (default-toplevel-value truncate-lines) "" ,(ee-template0 "\ ") ) pos-spec-list)) ;; «find-machinectl-tar-links» (to ".find-machinectl-tar-links") ;; Skel: (find-find-links-links-new "machinectl-tar" "debian n" "") ;; Test: (find-machinectl-tar-links) ;; See: (find-es "debootstrap" "debian-basic-setup") ;; (defun find-machinectl-tar-links (&optional debian n &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for machinectl-tar." (interactive) (setq debian (or debian "{debian}")) (setq n (or n "{n}")) (apply 'find-elinks `((find-machinectl-tar-links ,debian ,n ,@pos-spec-list) (find-machinectl-tar-links "debian" "0") (find-machinectl-tar-links "debian" "1") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-machinectl-tar-links) "" (find-es "mmdebstrap" "create-debian0.tar") (find-es "mmdebstrap" "systemd-container") "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) machinectl list sudo machinectl start {debian} machinectl list sudo machinectl stop {debian} sudo machinectl stop {debian} machinectl list ** Save /var/lib/machines/{debian}/ into {debian}{n}.tar. ** This is very quick. sudo ls -lAFh /var/lib/machines/ sudo du -ch /var/lib/machines/ sudo machinectl export-tar {debian} /var/lib/machines/{debian}{n}.tar sudo ls -lAFh /var/lib/machines/ ** Restore /var/lib/machines/{debian}/ from {debian}{n}.tar. ** This is very quick. sudo rm -Rf /var/lib/machines/{debian}/ sudo ls -lAFh /var/lib/machines/ sudo machinectl import-tar /var/lib/machines/{debian}{n}.tar {debian} sudo ls -lAFh /var/lib/machines/ sudo du -ch /var/lib/machines/{debian}/ ") ) pos-spec-list)) ;; «find-lakefile-links» (to ".find-lakefile-links") ;; Skel: (find-find-links-links-new "lakefile" "" "") ;; Test: (find-lakefile-links) ;; (defun find-lakefile-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for lakefile." (interactive) (apply 'find-elinks-elisp `((find-lakefile-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-lakefile-links) "" (find-es "lsp" "persist") (find-fline "~/.emacs.d/" ".lsp-session-v1") (find-fline "~/.emacs.d/.lsp-session-v1") "" ,(ee-template0 "\ ;; (ee-copy-rest-3 nil \";;--end\" \"/tmp/lakefile.lean\") -- (lsp-describe-session) import Lake open Lake DSL package None ;;--end ") ) pos-spec-list)) ;; «find-leanwgetr-links» (to ".find-leanwgetr-links") ;; Skel: (find-find-links-links-new "leanwgetr" "url" "url0") ;; Test: (find-leanwgetr-links "lean-lang.org/functional_programming_in_lean/") ;; See: (find-es "lean" "5-manuals-tgz") ;; (defun find-leanwgetr-links (&optional url &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for leanwgetr." (interactive) (setq url (or url "{url}")) (let* ((url0 (replace-regexp-in-string "^https://" "" url))) (apply 'find-elinks `((find-leanwgetr-links ,url ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-leanwgetr-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) #rm -Rfv /tmp/snarf/https/ mkdir -p /tmp/snarf/https/ rm -Rv /tmp/wget-recursive.tar rm -Rv /tmp/wget-recursive/ mkdir /tmp/wget-recursive/ cd /tmp/wget-recursive/ wget --recursive --no-parent --no-verbose \\ https://{url0} find | sort du -ch # (find-fline \"/tmp/wget-recursive/\") # (find-sh-at-dir \"/tmp/wget-recursive/\" \"find * | sort\") cd /tmp/wget-recursive/ tar -cvf /tmp/wget-recursive.tar . tar -C $TMPS/https/ -xvf /tmp/wget-recursive.tar cp -v $S/https/{url0}print.pdf \\ $TMPS/https/{url0} cp -v $S/https/{url0}print.txt \\ $TMPS/https/{url0} du -ch $TMPS/https/{url0} ") ) pos-spec-list))) ;; «find-subtitles3-links» (to ".find-subtitles3-links") ;; Skel: (find-find-links-links-new "subtitles3" "c stem hash" "") ;; Test: (find-subtitles3-links "2024lean4of0" "2024-lean4-oficina-0" "vBkxGIrv2Q0") ;; (defun find-subtitles3-links (&optional c stem hash &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for subtitles3." (interactive (list nil nil (ee-youtubedl-hash-around-point))) (setq c (or c "{c}")) (setq stem (or stem "{stem}")) (setq hash (or hash "{hash}")) (apply 'find-elinks `((find-subtitles3-links ,c ,stem ,hash ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-subtitles3-links) (find-angg "LUA/Subtitles3.lua") "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) URL=https://youtu.be/{hash} URL=\"http://www.youtube.com/watch?v={hash}\" # (find-sh \"youtube-dl -f worst --list-subs https://youtu.be/{hash}\") # (find-fline \"/tmp/subs/\") rm -Rv /tmp/subs/ mkdir /tmp/subs/ cd /tmp/subs/ youtube-dl --write-auto-sub --skip-download --sub-format=json3 --sub-lang=pt $URL cp -v *.pt.json3 subs.json3 # (find-fline \"/tmp/subs/\" \"subs.json3\") # (find-fline \"/tmp/subs/subs.json3\") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ~/LUA/Subtitles3.lua -c {c} -json3 /tmp/subs/subs.json3 -print # (find-angg \"LUA/Subtitles3.lua\") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) Path.addLUAtopath() require \"Subtitles3\" -- (find-angg \"LUA/Subtitles3.lua\") bigstr = ee_readfile \"/tmp/subs/subs.json3\" o = json.decode.decode(bigstr) jss = JsonSubs {} = jss:finds(o.events, \"{c}\") ") ) pos-spec-list)) ;; «kla-tex» (to ".kla-tex") ;; (find-eev "eev-kla.el" "kill-sexps") ;; (find-eev "eev-kla.el" "generate-sexps") ;; (find-estring (kla-tex-str)) ;; Example: (c3m241p2p 2 "links") ;; (c3m241p2a "links") (defun kla-tex () (interactive) (kill-new (kla-tex-str))) (defun kla-tex0 () (interactive) (kill-new (kla-tex0-str))) (defun kla-tex0-str () (let* ((find-c (ee-kl-find-c)) (fname0 (ee-kl-fname)) (fname (replace-regexp-in-string "^/home/edrx/" "" fname0)) (sfname (ee-kl-shorterfname))) (ee-template0 "\ % ({find-c} \"{sfname}\") {<}\\footnotesize \\par \\url{http://anggtwu.net/{fname}.html} \\par \\texttt{<}({find-c} \"{sfname}\")} \\par {>} "))) (defun kla-tex-str () (let* ((find-c (ee-kl-find-c)) (fname0 (ee-kl-fname)) (fname (replace-regexp-in-string "^/home/edrx/" "" fname0)) (sfname (ee-kl-shorterfname)) (anchor (ee-kl-anchor))) (ee-template0 "\ % ({find-c} \"{sfname}\" \"{anchor}\") {<}\\footnotesize \\par \\url{http://anggtwu.net/{fname}.html\\#{anchor}} \\par \\texttt{<}({find-c} \"{sfname}\" \"{anchor}\")} \\par {>} "))) ;; «find-instagram-links» (to ".find-instagram-links") ;; Skel: (find-find-links-links-new "instagram" "name hash" "") ;; Test: (find-instagram-links) ;; (defun find-instagram-links (&optional name hash &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for instagram." (interactive) (setq name (or name "{name}")) (setq hash (or hash "{hash}")) (apply 'find-elinks `((find-instagram-links ,name ,hash ,@pos-spec-list) (find-instagram-links "wesmarx" "C4ItDcFuD-n" "Wicked Game") ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-instagram-links) "" ,(ee-template0 "\ https://www.instagram.com/{name}/ https://www.instagram.com/p/{hash}/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir -p /tmp/ig/ cd /tmp/ig/ yt-dlp https://www.instagram.com/reel/{hash}/ # (find-fline \"/tmp/ig/\") ") ) pos-spec-list)) ;; «find-htmlpdf-links» (to ".find-htmlpdf-links") ;; Skel: (find-find-links-links-new "htmlpdf" "c url" "localurl localdir") ;; Test: (find-htmlpdf-links "gm15" "https://gigamonkeys.com/book/practical-a-portable-pathname-library.html") ;; (find-htmlpdf-links "agdarew" "https://agda.readthedocs.io/en/latest/language/rewriting.html") ;; (defun find-htmlpdf-links (&optional c url &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for htmlpdf." (interactive) (setq c (or c "{c}")) (setq url (or url "{url}")) (let* ((localurl (ee-url-to-fname0 url)) (localdir (file-name-directory localurl))) (apply 'find-elinks `((find-htmlpdf-links ,c ,url ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-htmlpdf-links) "" ,(ee-template0 "\ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir -p {localdir} cd {localdir} # Way 1: use princexml: cat > /tmp/print.css <<'%%%' body {<} font-size: 12pt {>} @page {<} @bottom-center {<} content: counter(page); {>} {>} %%% prince -s /tmp/print.css \\ -o {localurl}.pdf \\ {url} # Way 2: open this url in the browser and \"C-p\"rint to /tmp/print.pdf: # {url} # then: cp -v /tmp/print.pdf {localurl}.pdf # (find-fline \"{localdir}\") # (find-pdf-page \"{localurl}.pdf\") # (find-pdf-text8 \"{localurl}.pdf\") ;; <{c}> ;; {url} ;; (find-fline \"{localdir}\") \(code-pdf-page \"{c}\" \"{localurl}.pdf\") \(code-pdf-text8 \"{c}\" \"{localurl}.pdf\") ;; (find-{c}page) ;; (find-{c}text) ") ) pos-spec-list))) ;; «find-sbcl-links» (to ".find-sbcl-links") ;; «find-dednat7debug-links» (to ".find-dednat7debug-links") ;; Skel: (find-find-links-links-new "dednat7debug" "fname" "ee-hyperlink-prefix dir fname0") ;; Test: (find-dednat7debug-links) ;; (defun find-dednat7debug-links (&optional fname &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for dednat7debug." (interactive (list buffer-file-name)) (if fname (setq fname (ee-shorten-file-name fname))) (setq fname (or fname "{fname}")) (let* ((dir (file-name-directory fname)) (fname0 (file-name-nondirectory fname)) (ee-hyperlink-prefix "-- ") ) (apply 'find-elinks `((find-dednat7debug-links ,fname ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-dednat7debug-links "~/LATEX/2024-1-C2-carro.tex") (find-fline ,fname) (find-efunction 'find-dednat7debug-links) "" ,(ee-template0 "\ * (find-Deps1-cps \"dednat7load\") * * (lua-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v ~/LUA/Dednat7oldheads.lua ~/LATEX/ cd {dir} && lualatex {fname0} pu(#tf) pu(#tf) * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) chdir \"{dir}\" require \"dednat7load\" -- (find-angg \"LUA/dednat7load.lua\") run_repl3_now() -- (find-angg \"LUA/lua50init.lua\" \"Repl3.lua\") dednat6dir = ee_expand(\"~/LATEX/dednat6/\") require \"Dednat7oldheads\" -- (find-LATEX \"Dednat7oldheads.lua\") dednat7oldheads() tf = TeXFile.read(\"{fname0}\") texlines = tf pu(#tf) = thisblock = tf.blocks loaded = VTable(keys(package.loaded)) = Set.from(loaded) = Set.from(loaded):ksc() = require(\"abbrevs\") = tf:lastblock() = tf:lastblock(-1) = tf:lastblock() :untabifys(3, nil, \"\\n\") = tf:lastblock(-1):untabifys(3, nil, \"\\n\") = tf.blocks[#tf.blocks-1]:untabifys(3, \"\", \"\\n\") = tf.blocks[#tf.blocks ]:untabifys(3, \"\", \"\\n\") ") ) pos-spec-list))) ;; «eewrap-maximamsg» (to ".eewrap-maximamsg") ;; Skel: (find-eewrap-links "M" "maximamsg" "url") ;; Test: (find-eewraptest-links "maximamsg" "http://_23456_") ;; (defun eewrap-maximamsg () (interactive) (ee-this-line-wrapn 1 'ee-wrap-maximamsg)) (defun ee-wrap-maximamsg (url) "An internal function used by `eewrap-maximamsg'." (let* ((msgnumber (replace-regexp-in-string "[^0-9]" "" url)) (yyyymm (format-time-string "%Y%m")) (day (format-time-string "%d"))) (ee-template0 "\ {url} # (find-maximamsg \"{msgnumber} {yyyymm} {day}\" \"\")"))) (defalias 'tomm 'eewrap-maximamsg) ;;; _ _ _ ;;; | |_ _ __ _ _(_) |_ ;;; | __| '__| | | | | __| ;;; | |_| | | |_| | | |_ ;;; \__|_| \__, |_|\__| ;;; |___/ ;; ;; «find-tryit-links» (to ".find-tryit-links") ;; Skel: (find-find-links-links-new "tryit" "config sexp" "body") ;; Tests: (find-tryit-links) ;; (find-tryit-links nil ' (find-2a '(find-eev-quick-intro "\n2.") '(find-elisp-intro "1.")) ) ;; (find-tryit-links nil '(find-eev-quick-intro "2.")) ;; (find-tryit-links nil '(find-eev-quick-intro "6.1.")) ;; (find-tryit-links nil '(find-multiwindow-intro "2.")) ;; ;; ;; «find-ytvideoinfo-links» (to ".find-ytvideoinfo-links") ;; Skel: (find-find-links-links-new "ytvideoinfo" "hash" "") ;; Test: (find-ytvideoinfo-links) ;; (find-ytvideoinfo-links "_2qXIDO-cWw") ;; (defun find-ytvideoinfo-links (&optional hash &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for ytvideoinfo." (interactive (list (ee-youtubedl-hash-around-point))) (setq hash (or hash "{hash}")) (apply 'find-elinks `((find-ytvideoinfo-links ,hash ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-ytvideoinfo-links "_2qXIDO-cWw") (find-efunction 'find-ytvideoinfo-links) "" ,(ee-template0 "\ # (find-es \"youtube\" \"info\") # https://youtu.be/{hash} # https://www.youtube.com/watch?v={hash} * (sh-mode) * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline \"/tmp/yt/\") rm -Rv /tmp/yt/ mkdir /tmp/yt/ cd /tmp/yt/ yt-dlp --skip-download --write-info-json https://youtu.be/{hash} mv -iv *.info.json video.info.json python3 -m json.tool video.info.json > video.info-2.json # (find-fline \"/tmp/yt/video.info-2.json\") # (find-fline \"/tmp/yt/video.info-2.json\" \"\\\"title\\\":\") # (find-fline \"/tmp/yt/video.info-2.json\" \"\\\"upload_date\\\":\") ") ) pos-spec-list)) ;; «find-subs-links» (to ".find-subs-links") ;; Moved to: (find-angg "elisp/find-subs-links.el") (load "~/elisp/find-subs-links.el") ;; ;; Local Variables: ;; mode: emacs-lisp ;; coding: utf-8-unix ;; ee-comment-prefix: ";;" ;; End: