summaryrefslogtreecommitdiff
path: root/_extensions/dragonstyle/lipsum/lipsum.lua
diff options
context:
space:
mode:
Diffstat (limited to '_extensions/dragonstyle/lipsum/lipsum.lua')
-rw-r--r--_extensions/dragonstyle/lipsum/lipsum.lua89
1 files changed, 0 insertions, 89 deletions
diff --git a/_extensions/dragonstyle/lipsum/lipsum.lua b/_extensions/dragonstyle/lipsum/lipsum.lua
deleted file mode 100644
index 57e53e8..0000000
--- a/_extensions/dragonstyle/lipsum/lipsum.lua
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-local lipsum
-
-math.randomseed(os.time())
-
-
--- reads a file
-local function read_file(path)
- local file = io.open(path, "rb")
- if not file then return nil end
- local content = file:read "*a"
- file:close()
- return content
-end
-
--- read lipsum data
-function readLipsum()
- if lipsum == nil then
- local file = quarto.utils.resolve_path("lipsum.json")
- local fileContents = read_file(file)
- if fileContents ~= nil then
- local json = quarto.json.decode(fileContents)
- lipsum = json
- else
- quarto.log.error("Unable to read lipsum data file.")
- lipsum = {}
- end
- end
- return lipsum
-end
-
-local rangePattern = '(%d+)%-(%d+)'
-local barePattern = '^(%d+)$'
-
-return {
- ['lipsum'] = function(args, kwargs, meta)
-
- local paraStart = 1
- local paraEnd = 5
-
- if args[1] ~= nil then
- -- a range is specified, like 1-5, 2-3, 5-1
- local range = pandoc.utils.stringify(args[1])
- local _,_,startRange,endRange = range:find(rangePattern)
- if startRange and endRange then
-
- local startNumber = tonumber(startRange)
- if startNumber ~= nil then
- paraStart = startNumber
- end
-
- local endNumber = tonumber(endRange)
- if endNumber ~= nil then
- paraEnd = endNumber
- end
- else
- -- a number of paragraphs is specified, like 10
- local _,_,bareVal = range:find(barePattern)
- if bareVal then
- paraStart = math.random(1, 17)
- local endNumber = tonumber(bareVal)
- if endNumber ~= nil then
- paraEnd = paraStart + endNumber - 1
- end
- end
- end
- end
-
- local paras = readLipsum();
- local outputParas = {}
-
- local count = paraEnd - paraStart + 1
- if paraStart > paraEnd then
- count = paraStart - paraEnd + 1
- end
-
- for i=1,count do
- local paraIdx = i + (paraStart - 1)
- if paraStart > paraEnd then
- paraIdx = (paraStart + 1) - i
- end
- local outIdx = ((paraIdx-1)%(#paras-1))+1
- outputParas[i] = pandoc.Para(paras[outIdx])
- end
-
- return outputParas
- end
-}