summaryrefslogtreecommitdiff
path: root/tex/context/base/m-ipsum.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/m-ipsum.mkiv')
-rw-r--r--tex/context/base/m-ipsum.mkiv198
1 files changed, 0 insertions, 198 deletions
diff --git a/tex/context/base/m-ipsum.mkiv b/tex/context/base/m-ipsum.mkiv
deleted file mode 100644
index 1c5901d86..000000000
--- a/tex/context/base/m-ipsum.mkiv
+++ /dev/null
@@ -1,198 +0,0 @@
-%D \module
-%D [ file=m-ipsum,
-%D version=2012.07.19,
-%D title=\CONTEXT\ Extra Modules,
-%D subtitle=Ipsum,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D After some discussing on the mailing list I made this example of
-%D an implementation. Of course there can be alternatives as it's a
-%D nice exercise in module writing.
-
-\startluacode
-
-local patterns = lpeg.patterns
-
-local variables = interfaces.variables
-local v_random = variables.random
-
-local lowercase = characters.lower
-
-local ipsum = { }
-moduledata.ipsum = ipsum
-
-local data = { }
-
-local function getfiledata(settings)
- local filename = settings.filename or ""
- local filedata = data[filename]
- if not filedata then
- local text = resolvers.loadtexfile(filename) or ""
- local paragraphs = lpeg.match(patterns.paragraphs,text) or { }
- local sentences = lpeg.match(patterns.sentences, text) or { }
- local words = lpeg.match(patterns.words, text) or { }
- for i=1,#words do
- words[i] = lowercase(words[i])
- end
- filedata = {
- -- [variables.paragraphs] = paragraphs,
- [variables.paragraph] = paragraphs,
- [variables.lines] = sentences,
- [variables.line] = sentences,
- [variables.words] = words,
- [variables.word] = words,
- }
- -- inspect(filedata)
- data[filename] = filedata
- end
- local d = filedata[settings.alternative or v_paragraph] or filedata[v_paragraph] or { }
- local nd = #d
- local n = settings.n
- if n ~= v_random then
- n = tonumber(n) or 0
- if n == 0 then
- n = nd
- end
- end
- return d, n, nd
-end
-
-function moduledata.ipsum.typeset(settings)
- local d, n, nd = getfiledata(settings)
- if nd > 0 then
- context(settings.before)
- if n == v_random then
- context(settings.left)
- context(d[math.random(1,nd)])
- context(settings.right)
- else
- for i=1,n do
- context(settings.left)
- context(d[i])
- context(settings.right)
- if i < n then
- context(settings.inbetween)
- end
- end
- end
- context(settings.after)
- end
-end
-
-function moduledata.ipsum.direct(settings)
- local d, n, nd = getfiledata(settings)
- if nd == 0 then
- -- nothing
- elseif n == v_random then
- context(d[math.random(1,nd)])
- else
- for i=1,n do
- context(d[i])
- if i < n then
- context(settings.separator)
- end
- end
- end
-end
-
-\stopluacode
-
-\unprotect
-
-\installnamespace {ipsum}
-
-\installcommandhandler \????ipsum {ipsum} \????ipsum
-
-\setupipsum
- [\c!file=lorem,
- \c!alternative=\v!paragraph,
- %\c!language=,
- %\c!styl=,
- %\c!color=,
- \c!n=0,
- \c!left=,
- \c!right=,
- \c!before=,
- \c!after=,
- \c!separator=,
- \c!inbetween=]
-
-\installactionhandler{ipsum} % grouped
-
-\startsetups[handler:action:ipsum]
- \useipsumstyleandcolor\c!style\c!color
- \uselanguageparameter\ipsumparameter
- \ctxlua{moduledata.ipsum.typeset {
- alternative = "\ipsumparameter\c!alternative",
- filename = "\ipsumparameter\c!file",
- n = "\ipsumparameter\c!n",
- left = "\luaescapestring{\ipsumparameter\c!left}",
- right = "\luaescapestring{\ipsumparameter\c!right}",
- before = "\luaescapestring{\ipsumparameter\c!before}",
- after = "\luaescapestring{\ipsumparameter\c!after}",
- inbetween = "\luaescapestring{\ipsumparameter\c!inbetween}",
- }}
-\stopsetups
-
-\def\directipsum#1% only one argument, expanded
- {\ctxlua{moduledata.ipsum.typeset {
- alternative = "\namedipsumparameter{#1}\c!alternative",
- filename = "\namedipsumparameter{#1}\c!file",
- n = "\namedipsumparameter{#1}\c!n",
- separator = "\luaescapestring{\ipsumparameter\c!separator}",
- }}
-}
-
-\protect
-
-\continueifinputfile{m-ipsum.mkiv}
-
-\setupbodyfont[dejavu,11pt]
-
-\starttext
-
- \ipsum[alternative=paragraph,before=\blank,after=\blank,language=la]
-
- \ipsum[alternative=lines,n=2,right=\par,before=\blank,after=\blank,language=la]
-
- \ipsum[alternative=lines,n=random,before=\blank,after=\blank,language=la]
-
- \ipsum[alternative=lines,before=\startitemize,after=\stopitemize,left=\startitem,right=\stopitem,language=la]
-
- \ipsum[alternative=words,left=(,right=),inbetween=\space,language=la]
-
- \page
-
- \defineipsum
- [ward]
- [file=ward,
- before=\blank,
- after=\blank]
-
- \defineipsum
- [ward:itemize]
- [ward]
- [alternative=lines,
- before={\startitemize[packed]},
- after=\stopitemize,
- left=\startitem,
- right=\stopitem]
-
- \defineipsum
- [ward:title]
- [ward]
- [alternative=lines,
- n=random]
-
- \subject{\directipsum{ward:title}}
-
- \ipsum[ward]
- \ipsum[ward:itemize]
-
-\stoptext