From c8cd8edf4451d006d810c0a699f9c6f746d06b66 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 10 Apr 2017 21:55:22 +0000 Subject: markdown (10apr17) git-svn-id: svn://tug.org/texlive/trunk@43737 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/luatex/markdown/markdown.lua | 70 +++++++++++++--------- 1 file changed, 43 insertions(+), 27 deletions(-) (limited to 'Master/texmf-dist/tex/luatex') diff --git a/Master/texmf-dist/tex/luatex/markdown/markdown.lua b/Master/texmf-dist/tex/luatex/markdown/markdown.lua index de9895c8c27..39668713584 100644 --- a/Master/texmf-dist/tex/luatex/markdown/markdown.lua +++ b/Master/texmf-dist/tex/luatex/markdown/markdown.lua @@ -58,7 +58,7 @@ -- those in the standard .ins files. -- local metadata = { - version = "2.4.0", + version = "2.5.0", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = "2009-2017 John MacFarlane, Hans Hagen; " .. @@ -79,19 +79,21 @@ defaultOptions.breakableBlockquotes = false defaultOptions.cacheDir = "." defaultOptions.citationNbsps = true defaultOptions.citations = false +defaultOptions.codeSpans = true defaultOptions.contentBlocks = false defaultOptions.contentBlocksLanguageMap = "markdown-languages.json" defaultOptions.definitionLists = false +defaultOptions.fencedCode = false +defaultOptions.footnotes = false defaultOptions.hashEnumerators = false defaultOptions.html = false defaultOptions.hybrid = false -defaultOptions.fencedCode = false -defaultOptions.footnotes = false defaultOptions.inlineFootnotes = false defaultOptions.preserveTabs = false defaultOptions.smartEllipses = false defaultOptions.startNumber = true defaultOptions.tightLists = true +defaultOptions.underscores = true local upper, gsub, format, length = string.upper, string.gsub, string.format, string.len local concat = table.concat @@ -1495,17 +1497,27 @@ function M.reader.new(writer, options) + parsers.spacechar^1 * larsers.Endline^-1 * parsers.optionalspace / writer.nbsp - larsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks, - parsers.doubleasterisks) - + parsers.between(parsers.Inline, parsers.doubleunderscores, - parsers.doubleunderscores) - ) / writer.strong + if options.underscores then + larsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks, + parsers.doubleasterisks) + + parsers.between(parsers.Inline, parsers.doubleunderscores, + parsers.doubleunderscores) + ) / writer.strong + + larsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk, + parsers.asterisk) + + parsers.between(parsers.Inline, parsers.underscore, + parsers.underscore) + ) / writer.emphasis + else + larsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks, + parsers.doubleasterisks) + ) / writer.strong - larsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk, - parsers.asterisk) - + parsers.between(parsers.Inline, parsers.underscore, - parsers.underscore) - ) / writer.emphasis + larsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk, + parsers.asterisk) + ) / writer.emphasis + end larsers.AutoLinkUrl = parsers.less * C(parsers.alphanumeric^1 * P("://") * parsers.urlchar^1) @@ -1806,14 +1818,6 @@ function M.reader.new(writer, options) Symbol = larsers.Symbol, } - if not options.definitionLists then - syntax.DefinitionList = parsers.fail - end - - if not options.fencedCode then - syntax.FencedCode = parsers.fail - end - if not options.citations then syntax.Citations = parsers.fail end @@ -1822,16 +1826,20 @@ function M.reader.new(writer, options) syntax.ContentBlock = parsers.fail end - if not options.footnotes then - syntax.NoteRef = parsers.fail + if not options.codeSpans then + syntax.Code = parsers.fail end - if not options.inlineFootnotes then - syntax.InlineNote = parsers.fail + if not options.definitionLists then + syntax.DefinitionList = parsers.fail end - if not options.smartEllipses then - syntax.Smart = parsers.fail + if not options.fencedCode then + syntax.FencedCode = parsers.fail + end + + if not options.footnotes then + syntax.NoteRef = parsers.fail end if not options.html then @@ -1840,6 +1848,14 @@ function M.reader.new(writer, options) syntax.HtmlEntity = parsers.fail end + if not options.inlineFootnotes then + syntax.InlineNote = parsers.fail + end + + if not options.smartEllipses then + syntax.Smart = parsers.fail + end + local blocks_toplevel_t = util.table_copy(syntax) blocks_toplevel_t.Paragraph = larsers.ToplevelParagraph larsers.blocks_toplevel = Ct(blocks_toplevel_t) -- cgit v1.2.3