Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on emacsconf2023.
#
# 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/emacsconf2023.e>
#           or at <http://anggtwu.net/e/emacsconf2023.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/>.
#
#######



# «.playlist»		(to "playlist")
# «.select-files»	(to "select-files")
# «.list-files»		(to "list-files")
# «.update-files»	(to "update-files")
# «.test-luarocks»	(to "test-luarocks")
# «.part-1-title»	(to "part-1-title")
# «.part-2-eev»		(to "part-2-eev")
# «.part-3-lua»		(to "part-3-lua")
# «.part-4-lualatex»	(to "part-4-lualatex")
# «.part-5-lpeg»	(to "part-5-lpeg")
# «.marc-andre-1»	(to "marc-andre-1")
# «.mahabharata»	(to "mahabharata")
# «.emacsconf-wiki»	(to "emacsconf-wiki")





#####
#
# All videos of the conference, as a Youtube playlist
# 2024feb10
#
#####

# «playlist»  (to ".playlist")

https://www.youtube.com/playlist?list=PLomc4HLgvuCUdrW3JkugtKv8xPelUoOyP
https://www.youtube.com/watch?v=lGjfzfC1CH0&list=PLomc4HLgvuCUdrW3JkugtKv8xPelUoOyP&index=42&pp=iAQB
https://www.youtube.com/watch?v=7R0yA0R1jsk&list=PLomc4HLgvuCUdrW3JkugtKv8xPelUoOyP&index=1&pp=iAQB
https://www.youtube.com/watch?v=SPSoRZVJUf8&list=PLomc4HLgvuCUdrW3JkugtKv8xPelUoOyP&index=19





#####
#
# select-files
# 2023nov26
#
#####

# «select-files»  (to ".select-files")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/LUA/
find *.lua -mtime -30 | tee /tmp/o
cat /tmp/o | gsub.lua '.+' '(find-angg "LUA/%0")' | tee /tmp/o2
# (find-fline "/tmp/o2")

Dependencies:
(find-angg "LUA/AnyOf1.lua")
(find-angg "LUA/Co1.lua")
(find-angg "LUA/Indent2.lua")
(find-angg "LUA/PCall1.lua")
(find-angg "LUA/XPCall1.lua")
(find-angg "LUA/addoverrides1.lua")
(find-angg "LUA/Show2.lua")
(find-angg "LUA/PreTraceback1.lua")
(find-angg "LUA/ELpeg1.lua")
(find-angg "LUA/Und1.lua")
(find-angg "LUA/ToTeX1.lua")
(find-angg "LUA/Pict3.lua")

Commented versions of things in my init file:
(find-angg "LUA/PrintFunction1.lua")
(find-angg "LUA/Code.lua")
(find-angg "LUA/Tos.lua")
(find-angg "LUA/eoo.lua")

Obsolete:
(find-angg "LUA/Verbatim2.lua")
(find-angg "LUA/Capts1.lua")
(find-angg "LUA/WithFakePrint1.lua")
(find-angg "LUA/PictShow1.lua")
(find-angg "LUA/Repl1.lua")
(find-angg "LUA/Subst1.lua")
(find-angg "LUA/Underbrace1.lua")
(find-angg "LUA/ParseTree1.lua")

Unused but mentioned:
(find-angg "LUA/Fold1.lua")
(find-angg "LUA/Tos2.lua")

Top level:
(find-angg "LUA/Cabos3.lua")
(find-angg "LUA/ExprDxDy1.lua")
(find-angg "LUA/LPex1.lua")
(find-angg "LUA/Maxima2.lua")
(find-angg "LUA/Numerozinhos1.lua")
(find-angg "LUA/ParseTree2.lua")
(find-angg "LUA/Repl3.lua")
(find-angg "LUA/Tikz2.lua")
(find-angg "LUA/Verbatim3.lua")

Rewrite or add comments:
(find-angg "LUA/VideoIndex.lua")
(find-angg "LUA/book-index.lua")

# (find-Deps1-cps  "Cabos3 ExprDxDy1 LPex1 Maxima2 Numerozinhos1 Piecewise2 Repl3 Tikz2 Verbatim3")
# (find-Deps1-list "Cabos3 ExprDxDy1 LPex1 Maxima2 Numerozinhos1 Piecewise2 Repl3 Tikz2 Verbatim3")
# (find-efunction 'find-Deps1-list)



#####
#
# list-files
# 2023nov26
#
#####

# «list-files»  (to ".list-files")
# (find-fline "~/emacsconf2023/")
# (find-fline "~/emacsconf2023-repls/")
# (find-fline "~/emacsconf2023-repls/README.org")
# (find-fline "~/show2-elpeg1/")
# (find-fline "~/show2-elpeg1/README.org")
# (find-LATEX "2023lpegcaptures.tex")
# (find-mygitrepo-links "emacsconf2023-repls")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
STEMS="Cabos3 ExprDxDy1 LPex1 Numerozinhos1 Piecewise2
       Repl3 Tos2 DednatRequire1
       Re2 LpegRex3
       ParseTree2 CME2
       Maxima2 Tikz2 Verbatim3
       Loeliger1 ParseTimeline1
      "
~/LUA/Deps1.lua -listfiles "$STEMS"   |& tee /tmp/olua

# (find-fline "/tmp/olua")
for i in $(cat /tmp/olua); do echo cp -v ~/LUA/$i ~/LATEX/$i; done
for i in $(cat /tmp/olua); do      cp -v ~/LUA/$i ~/LATEX/$i; done
for i in $(cat /tmp/olua); do      cp -v ~/LUA/$i ~/show2-elpeg1/LATEX/$i; done

GITDIR=$HOME/emacsconf2023-repls
GITDIR=$HOME/show2-elpeg1

# (find-angg "LUA/lua50init.lua" "Path.addLUAtopath")

cd ~/LUA/
cp -v $(cat /tmp/olua)    $GITDIR/LUA/
cp -v eoo.lua Code.lua    $GITDIR/LUA/
cp -v ~/LUA/lua50init.lua $GITDIR/LUA/
cp -v ~/LUA/lua50init.lua $GITDIR/LUA/edrxlib.lua
tar                    -C $GITDIR/LATEX/ \
  -xvzf ~/LATEX/2023lpegcaptures.tgz

cd $GITDIR/
git add LUA/*
git add LATEX/*
git add LATEX/dednat6/*
git add .gitignore

# (magit-status "~/show2-elpeg1/")


# (find-latex-upload-links "2023lpegcaptures" "/tmp/edrx-latex/")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/LATEX/
flsfiles-tgz 2023lpegcaptures.fls 2023lpegcaptures.tgz
#
# Test the .tgz.
# The e-script below downloads, unpacks and compiles the .tgz in /tmp/edrx-latex/
#
rm -rfv /tmp/2023lpegcaptures.tgz
rm -rfv /tmp/edrx-latex/
cd /tmp/
cp -v ~/LATEX/2023lpegcaptures.tgz .
mkdir  /tmp/edrx-latex/
tar -C /tmp/edrx-latex/ -xvzf /tmp/2023lpegcaptures.tgz
cd     /tmp/edrx-latex/
lualatex 2023lpegcaptures.tex



#####
#
# update-files
# 2023dec09
#
#####

# «update-files»  (to ".update-files")
# Uncomment: (find-angg "LUA/lua50init.lua" "Path.addLUAtopath")
# Copy:      (find-sh0 "cp -v ~/LUA/lua50init.lua ~/LUA/edrxlib.lua")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cp -v ~/LUA/lua50init.lua ~/LUA/edrxlib.lua
cp -v ~/LUA/lua50init.lua ~/LATEX/dednat6/edrxlib.lua

# (find-Deps1-cps   "LPex1")
# (find-Deps1-cps   "LPex1 Verbatim3 Maxima2")
# (find-LATEX "2023lpegcaptures.tex")
# (find-latex-upload-links "2023lpegcaptures")
cd ~/LATEX/
flsfiles-tgz 2023lpegcaptures.fls 2023lpegcaptures.tgz
tar -C ~/show2-elpeg1/LATEX/ -xvzf ~/LATEX/2023lpegcaptures.tgz

cd ~/show2-elpeg1/LUA/
           git ls-files
for i in $(git ls-files); do cp -v ~/LUA/$i $i; done

cd ~/show2-elpeg1/LATEX/
           git ls-files
for i in $(git ls-files); do cp -v ~/LATEX/$i $i; done

# (magit-status "~/show2-elpeg1/")
# (find-gitk    "~/show2-elpeg1/")
# Comment out: (find-angg "LUA/lua50init.lua" "Path.addLUAtopath")
# Copy:        (find-sh0 "cp -v ~/LUA/lua50init.lua ~/LUA/edrxlib.lua")




#####
#
# test-luarocks
# 2023dec16
#
#####

# «test-luarocks»  (to ".test-luarocks")
# (find-angg "LUA/lua50init.lua" "Path.addLUAtopath")
# (find-show2-intro)
# (find-show2-intro "PPC(Tos.__index)")

* (setenv "LUA_INIT"     "@/tmp/show2-elpeg1/LUA/lua50init.lua")
* (setenv "LUA_PATH"      "/tmp/show2-elpeg1/LUA/?.lua;;")
* (setenv "LUA_INIT"     "@/home/edrx/LUA/lua50init.lua")
* (setenv "LUA_PATH"      nil)

* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
require "luarocks"
Path.addLUAtopath()
require "Tos2"






#####
#
# part-1-title
# 2023dec03
#
#####

# «part-1-title»  (to ".part-1-title")
# (find-eev2023replsvideo "0:00")

  REPLs in strange places:
  Lua, LaTeX, LPeg, LPegRex, TikZ

    Eduardo Ochs
    http://anggtwu.net/#eev
    http://anggtwu.net/emacsconf2023.html
    https://emacsconf.org/2023/talks/repl/

                 EmacsConf2023
                 December 2023
                 @ the internets






#####
#
# part-2-eev
# 2023dec03
#
#####

# «part-2-eev»  (to ".part-2-eev")
# (find-eev2023replsvideo "1:03")

What is eev? It:
================
  1. appeared by accident in the mid-90s,
  2. is part of ELPA,
  3. has at least 10 users,
  4. means "emacs-execute-verbosely",
  5. treats eval-last-sexp as the central feature of Emacs,
  6. blurs the distinction between programmers and users,
  7. replaces "users should not be forced to see Lisp" (RMS)
           by "users should see Lisp instead of buttons"
          and "new users should see Lisp in the first 5 minutes",
  8. uses code (and tests) in comments a lot,
  9. became very REPL-centric in the last few years,
 10. supposes that we want to keep executable notes of everything
 11. has lots of "videos for people who hate videos"
 12. tries to do everything "with very little magic" and
     "without black boxes"

                   (find-angg "LUA/eoo.lua" "syntax-sugars" "<fnrm>")
     (find-2a nil '(find-angg "LUA/eoo.lua" "syntax-sugars" "<fnrm>"))
     (set-frame-font "10x20")

     (eek "M-x 1c")
     (find-1stclassvideos)
     (find-1stclassvideo-links "2022pict2elua")
     (find-psne-1stclassvideo-links "2022pict2elua")

     (find-eev-quick-intro "4. Creating Elisp Hyperlinks")
     (find-eev-quick-intro "4. Creating Elisp Hyperlinks" "Video links:")
      (find-eev2020video "37:14" "hacker-friendly in the way that I wanted")



    On black boxes (from my video on eev-wconfig)
    ---------------------------------------------
    eev-wconfig is an attempt to solve the problem
    of how to install these things on Windows
    both "without magic"
    and "with very little magic".

    Remember this slogan:

      "any sufficiently advanced technology is
       indistinguishable from magic"

    here in this video I am going to use the term "magic" as a
    shorthand for a "sufficiently advanced technology" - that is,
    something that is complex and non-obvious, and "that is
    indistinguishable from magic" in the sense of being almost
    impossible to understand.

    And i'm also going to use the term "black box" as a near-synonym
    for "magic" and sometimes the term "black box" is more convenient
    - even though it is longer: it has more letters - because when I
    use the term "black box" it invites us to use the expressions like
    "opening the black box". I'm going to use that expression a lot.






#####
#
# part-3-lua
# 2023dec03
#
#####

# «part-3-lua»  (to ".part-3-lua")
# (find-eev2023replsvideo "10:34")

What is Lua? It:
================
  1. is a minimalistic language: "batteries not included"
  2. uses associative tables for most data structures
  3. its default "print" is too minimalistic:
       (find-es "lua-intro" "intro:PP")
       (find-angg "LUA/tos.lua")
       (find-angg "LUA/Tos2.lua" "PPC-tests")

  4. can be used in many different styles
  5. most people hate other people's styles
  6. I learned most of the basic language in a day in 2000,
     and then rewrote my HTML generator in it
  7. I only learned closures, metatables and coroutines
     many years later
  8. now it has a package manager (luarocks)
  9. most rocks are poorly documented AND hacker-unfriendly
 10. the best rocks are well-documented and hacker-unfriendly
 11. the best rocks use locals and metatables a lot -
     their code is not friendly to beginner hackers


OO in Lua
=========
  1. it can be done in many ways
  2. the main book about Lua (PiL) presents several ways
  3. I hate(d) everything
  4. I wrote my own way:

     (find-angg "LUA/eoo.lua" "Class")
     (find-angg "LUA/eoo.lua" "test-Vector")

                   (find-angg "LUA/eoo.lua" "syntax-sugars" "<fnrm>")
     (find-2a nil '(find-angg "LUA/eoo.lua" "syntax-sugars" "<fnrm>"))
     (set-frame-font "10x20")

  5. I used to forget how its innards worked all the time - but then I
     looked at the diagrams and run the examples

  6. In my way everything can be inspected and modified from repls -
     as in Emacs and in SmallTalk (or sort of). So: no security at all! =)

  7. My init file has lots of classes (and lots of globals, and cruft):
       (find-angg "LUA/lua50init.lua" ".Class")

  8. Most people think that my style is dirty and dangerous -
     ***and they wouldn't touch my Lua code with a ten-feet pole***

     ...BUT...

     Most of the things that I will present here are ideas that should
     be easy to port to other environments and other languages!





#####
#
# part-4-lualatex
# 2023dec03
#
#####

# «part-4-lualatex»  (to ".part-4-lualatex")
# (find-eev2023replsvideo "20:30")

LuaLaTeX, TikZ, and Pict2e
==========================

  A little language: Dednat6
  --------------------------
  (find-pdf-page "~/dednat6/tug-slides.pdf")
  (misp 50 "representable-functors")
  (misa    "representable-functors" "diagram Y5")
  (misp 51 "2-category-of-cats")
  (misa    "2-category-of-cats" "diagram 2-cat-2-internal-view")

  It was easy to extend, so...
  ---------------------------------
  I tried to learn Manim, but each animation took ages to render...
  Animations in PDF can be rendered in seconds! An example:
    (c2m232srp 5 "descontinuidades-4" "(flipbook animation)")
    (c2m232sra   "descontinuidades-2" "Pict2e.bounds =")

  2022: repls for Pict2e and TikZ - prototypes
  --------------------------------------------
  (find-1stclassvideos)
  (find-1stclassvideo-links "2022pict2elua")
  (find-1stclassvideo-links "2022tikz")
  http://anggtwu.net/pict2e-lua.html
  http://anggtwu.net/eev-tikz.html

  2023: better versions using Show2.lua
  -------------------------------------
  (find-angg "LUA/Tikz2.lua")
  (find-angg "LUA/Pict3.lua")
  (find-angg "LUA/Piecewise2.lua" "PwFunction-intfig")
  (find-angg "LUA/ExprDxDy1.lua" "ExprDxDy-tests-3D")





#####
#
# part-5-lpeg
# 2023dec03
#
#####

# «part-5-lpeg»  (to ".part-5-lpeg")
# (find-eev2023replsvideo "31:02")

Lpeg, Re, LpegRex
=================
  Lua is minimalistic
  Implementations of regexps are big & complex
  Lua comes with "patterns" and string.match:
    (find-es "lua5" "patterns")
    (find-lua51manual "#pdf-string.match")
    (find-lua51manual "#5.4.1" "Patterns")

  Lua patterns don't even have "|" -
    (find-node "(elisp)Regexp Backslash" "\\|")

  "LPeg is a new pattern-matching library for Lua,
   based on Parsing Expression Grammars (PEGs)"
     (find-lpegmanual "")
     http://lua-users.org/wiki/LpegTutorial

     Oh, great!: (find-lpegmanual "#grammar")
     Oh, no!:    (find-lpegmanual "#cap-g")

  "The re module (provided by file re.lua in the distribution)
   supports a somewhat conventional regex syntax for pattern usage
   within LPeg."
     (find-lpegremanual "")
     (find-angg "LUA/Re2.lua")

  Lua has coercions:
    2 +  "3"  --> 5
    2 .. "3"  --> "23"

  Lpeg too:
    (find-angg "LUA/ELpeg1.lua" "globals")
    (find-angg "LUA/ELpeg1.lua" "lpeg.pm-tests")

         C(1) * "_"
    ==>  lpeg.C(1) * "_"
    ==>  lpeg.C(lpeg.P(1)) * "_"
    ==>  lpeg.C(lpeg.P(1)) * lpeg.P("_")

  LpegRex:
    https://github.com/edubart/lpegrex
    https://github.com/edubart/lpegrex/blob/main/parsers/lua.lua
    https://www.lua.org/manual/5.4/manual.html#9

  Oh no -> diagrams:
    (find-pdf-page "~/LATEX/2023lpegcaptures.pdf")
    (find-es "lpeg" "capts-question")

  ELpeg1.lua:
    (find-angg "LUA/ELpeg1.lua")
    (find-angg "LUA/ELpeg1.lua" "Gram-tests")
    (find-angg "LUA/ELLua1.lua")
    (find-angg "LUA/ParseTree2.lua" "ParseTree-tests")
    (find-angg "LUA/LPex1.lua" "LPexes_bigstr1")


  *Coming soon (I hope):*
  =======================
  repl-based tutorials for lpeg, re, and ELpeg1.lua!





#####
#
# marc-andre-1
# 2023dec22
#
#####

# «marc-andre-1»  (to ".marc-andre-1")
# https://mail.google.com/mail/u/0/#inbox/FMfcgzGwJRvfzgqQVRDQSqgcTWfrHnnH

Hi!
Sure! Thanks for getting in touch!
What do you think of this?

I've been working on a successor of Pict2e-lua that integrates Pict2e,
TikZ, and several tools for Lpeg. I made a presentation about it in
the last EmacsConf - here:

  http://anggtwu.net/emacsconf2023.html
  (find-1stclassvideo-links "eev2023repls")
  (find-eev2023replsvideo "0:00")
  (find-eev2023replslsubs "00:00")

...but initially I felt very embarassed by it, because it ended up
being about something that at the time of the conference was very
unpolished, hard to install, and incomplete...

Since the conference I made all the programs work, and I've been
working on its basic docs and on trying to make sure that everything
is easy to install and test. The docs are here:

  (find-show2-intro)
  http://anggtwu.net/eev-intros/find-show2-intro.html

at this moment they cover installation on Debian, MacOs, and Arch
Linux, and three have three "essential" tests - if these three tests
work then all the modules will work.

My plan is, or was, to finish that and only then announce the new
version publically.

Do you have Lpeg installed? If you do then all the parts that will
matter to you will be very easy to configure - I mean, to configure
their paths - and to test... I recommend that we skip the parts
that install lpeglabel and lpegrex.

Do you use IRC or Telegram? If we can discuss by chat then I think
that I'll be able to write a script for installation on Windows very
quickly - but I'll need your help to test some of its parts...

  Cheers, thanks in advance, etc, etc, =)
    Eduardo Ochs
    (I'm edrx on IRC and @eduardoochs on Telegram)




#####
#
# mahabharata
# 2023dec25
#
#####

# «mahabharata»  (to ".mahabharata")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
FNAME="/sda5/home/torrents/Peter Brook/O Mahabharata p. 2 (1989).avi"
extract-frame-ipo "$FNAME" 11:03 "The Mahabharata.png"

cd /tmp/
FNAME="/tmp/emacsconf2023-repls-b.mp4"
extract-frame-ipo "$FNAME" 0:04 "/tmp/emacsconf2023-repls-b.png"

(find-3a nil
 ' (find-fline "/tmp/The Mahabharata.png")
 ' (find-fline "/tmp/Show2.pdf")
 )



  REPLs in strange places:
  Lua, LaTeX, LPeg, LPegRex, TikZ
    updates on my presentation
    at the EmacsConf2023, a demo,
    _and instructions for trying it_

    Eduardo Ochs
    http://anggtwu.net/#eev
    http://anggtwu.net/eepitch.html
    http://anggtwu.net/emacsconf2023.html
    2023dec25




  Why learn eev?
  (It looks like an Org mode,
   but less powerful...)

  Scripts made with Org and code blocks
  look VERY professional - they can be
  exported to HTML and PDF easily

  Scripts made with eev and eepitch
  look VERY barebones - they're influenced
  by Peter Brook's ideas about theater

  The tutorials of eev are full of "try it"s.
  _SOME_ people who try the "try it"s like eev.
  _MOST_ people who don't try the "try it"s hate eev.


  The "try it" for my presentation about
  "REPLs in strange places" is here:

    (find-show2-intro)










# (find-gitk "/tmp/eev-g/")

In dec/2023 something broke in the scripts
that I use to update the git repository of eev...
the part that kept the two branches in sync
stopped working.

I had to merge the two branches many times.

I am VERY BAD with merging.
Each merge took me hours and put me in panic.

I am very bad with git.
I am good with programs that let me do
small, reproducible tests - in REPLs.

Years ago I tried to create a way to learn git
using REPLs and reproducible tests...
it was time to work on that again!

My presentation at the EmacsConf2023 was called
"REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ"...
I used its programs to create some animations in TikZ.





#####
#
# emacsconf-wiki
# 2024feb16
#
#####

# «emacsconf-wiki»  (to ".emacsconf-wiki")
# (find-fline "~/LOGS/2024feb16.emacs2" "https://emacsconf.org/edit/")
# (find-fline "~/LOGS/2024feb16.emacsconf")
# https://emacsconf.org/edit/
# (find-git-links "git://git.emacsconf.org/emacsconf-wiki" "emacsconfwiki")
# (find-es "ikiwiki" "setup")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)

rm -Rfv /tmp/emacsconf/
mkdir   /tmp/emacsconf/
cd      /tmp/emacsconf/
wget    https://emacsconf.org/id_rsa_anon_git_emacsconf
mv               id_rsa_anon_git_emacsconf ~/.ssh/
chmod 600 ~/.ssh/id_rsa_anon_git_emacsconf

rm -Rfv /tmp/emacsconf-wiki/
cd      /tmp/
git clone git://git.emacsconf.org/emacsconf-wiki

# (code-c-d "emacsconfwiki" "/tmp/emacsconf-wiki/")
# (find-emacsconfwikifile "")

# (find-fline "/tmp/emacsconf-html/")
rm -Rv  /tmp/emacsconf-html/
mkdir   /tmp/emacsconf-html/
cd      /tmp/emacsconf-html/
ikiwiki /tmp/emacsconf-wiki/ /tmp/emacsconf-html/

# file:///tmp/emacsconf-html/
# (find-fline "/tmp/emacsconf-html/")

sudo apt-get install ikiwiki

# (find-status   "ikiwiki")
# (find-vldifile "ikiwiki.list")
# (find-udfile   "ikiwiki/")





#  Local Variables:
#  coding:               utf-8-unix
#  End: