Skip to content

Commit

Permalink
Updated context writer to use ropes.
Browse files Browse the repository at this point in the history
  • Loading branch information
jgm committed Oct 26, 2012
1 parent bdf6512 commit f36c245
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 23 deletions.
38 changes: 19 additions & 19 deletions lunamark/writer/context.lua
Expand Up @@ -21,27 +21,27 @@ function M.new(options)
ConTeXt.string = escape

function ConTeXt.singlequoted(s)
return format("\\quote{%s}",s)
return {"\\quote{",s,"}"}
end

function ConTeXt.doublequoted(s)
return format("\\quotation{%s}",s)
return {"\\quotation{,"s,"}"}
end

function ConTeXt.code(s)
return format("\\type{%s}", s) -- escape here?
return {"\\type{",ConTeXt.string(s),"}"}
end

function ConTeXt.link(lab,src,tit)
return format("\\goto{%s}[url(%s)]",lab, ConTeXt.string(src))
return {"\\goto{",lab,"}[url(",ConTeXt.string(src),"]"}
end

function ConTeXt.image(lab,src,tit)
return format("\\externalfigure[%s]", ConTeXt.string(src))
return {"\\externalfigure[",ConTeXt.string(src),"]"}
end

local function listitem(s)
return format("\\item %s\n",s)
return {"\\item ",s,"\n"}
end

function ConTeXt.bulletlist(items,tight)
Expand All @@ -51,8 +51,8 @@ function M.new(options)
for _,item in ipairs(items) do
buffer[#buffer + 1] = listitem(item)
end
local contents = table.concat(buffer)
return format("\\startitemize%s\n%s\\stopitemize",opt,contents)
local contents = util.intersperse(buffer)
return {"\\startitemize",opt,"\n",contents,"\\stopitemize"}
end

function ConTeXt.orderedlist(items,tight,startnum)
Expand All @@ -63,24 +63,24 @@ function M.new(options)
for _,item in ipairs(items) do
buffer[#buffer + 1] = listitem(item)
end
local contents = table.concat(buffer)
return format("\\startitemize%s\n%s\\stopitemize",opt,contents)
local contents = util.intersperse(buffer)
return {"\\startitemize",opt,"\n",contents,"\\stopitemize"}
end

function ConTeXt.emphasis(s)
return format("{\\em %s}",s)
return {"{\\em ",s,"}"}
end

function ConTeXt.strong(s)
return format("{\\bf %s}",s)
return {"{\\bf ",s,"}"}
end

function ConTeXt.blockquote(s)
return format("\\startblockquote\n%s\\stopblockquote", s)
return {"\\startblockquote\n",s,"\\stopblockquote"}
end

function ConTeXt.verbatim(s)
return format("\\starttyping\n%s\\stoptyping", s)
return {"\\starttyping\n",s,"\\stoptyping"}
end

function ConTeXt.header(s,level)
Expand All @@ -98,22 +98,22 @@ function M.new(options)
else
cmd = ""
end
return format("%s{%s}", cmd, s)
return {cmd,"{",s,"}"}
end

ConTeXt.hrule = "\\hairline"

function ConTeXt.note(contents)
return format("\\footnote{%s}", contents)
return {"\\footnote{",contents,"}"}
end

function ConTeXt.definitionlist(items)
local buffer = {}
for _,item in ipairs(items) do
buffer[#buffer + 1] = format("\\startdescription{%s}\n%s\n\\stopdescription",
item.term, table.concat(item.definitions, ConTeXt.interblocksep))
buffer[#buffer + 1] = {"\\startdescription{",item.term,"}\n",
util.intersperse(item.definitions,ConTeXt.interblocksep),"\n\\stopdescription"}
end
local contents = table.concat(buffer, ConTeXt.containersep)
local contents = util.intersperse(buffer, ConTeXt.containersep)
return contents
end

Expand Down
7 changes: 3 additions & 4 deletions lunamark/writer/latex.lua
Expand Up @@ -15,18 +15,17 @@ local format = string.format
function M.new(options)
local options = options or {}
local LaTeX = tex.new(options)
local str = LaTeX.string

function LaTeX.code(s)
return {"\\texttt{",str(s),"}"}
return {"\\texttt{",LaTeX.string(s),"}"}
end

function LaTeX.link(lab,src,tit)
return {"\\href{",str(src),"}{",lab,"}"}
return {"\\href{",LaTeX.string(src),"}{",lab,"}"}
end

function LaTeX.image(lab,src,tit)
return {"\\includegraphics{",str(src),"}"}
return {"\\includegraphics{",LaTeX.string(src),"}"}
end

local function listitem(s)
Expand Down

0 comments on commit f36c245

Please sign in to comment.