Browse Source

(Try to) Simplify implementation

pull/188/head
David Widmann 4 years ago
parent
commit
8cfe278a45
  1. 15
      src/Literate.jl

15
src/Literate.jl

@ -522,7 +522,6 @@ function markdown(inputfile, outputdir=pwd(); config::AbstractDict=Dict(), kwarg
else # isa(chunk, CodeChunk) else # isa(chunk, CodeChunk)
iocode = IOBuffer() iocode = IOBuffer()
codefence = config["codefence"]::Pair codefence = config["codefence"]::Pair
execute = config["execute"]::Bool
write(iocode, codefence.first) write(iocode, codefence.first)
# make sure the code block is finalized if we are printing to ```@example # make sure the code block is finalized if we are printing to ```@example
# (or ````@example, any number of backticks >= 3 works) # (or ````@example, any number of backticks >= 3 works)
@ -530,18 +529,18 @@ function markdown(inputfile, outputdir=pwd(); config::AbstractDict=Dict(), kwarg
write(iocode, "; continued = true") write(iocode, "; continued = true")
end end
write(iocode, '\n') write(iocode, '\n')
# filter out trailing #hide unless code is executed by Documenter
execute = config["execute"]::Bool
write_hide = isdocumenter(config) && !execute
write_line(line) = write_hide || !endswith(line, "#hide")
for line in chunk.lines for line in chunk.lines
# filter out trailing #hide (unless leaving it for Documenter) write_line(line) && write(iocode, line, '\n')
if !endswith(line, "#hide") || (isdocumenter(config) && !execute)
write(iocode, line, '\n')
end
end end
if isdocumenter(config) && !execute && REPL.ends_with_semicolon(chunk.lines[end]) if write_hide && REPL.ends_with_semicolon(chunk.lines[end])
write(iocode, "nothing #hide\n") write(iocode, "nothing #hide\n")
end end
write(iocode, codefence.second, '\n') write(iocode, codefence.second, '\n')
write_code = !all(l -> endswith(l, "#hide"), chunk.lines) || (isdocumenter(config) && !execute) any(write_line, chunk.lines) && write(iomd, seekstart(iocode))
write_code && write(iomd, seekstart(iocode))
if execute if execute
execute_markdown!(iomd, sb, join(chunk.lines, '\n'), outputdir; execute_markdown!(iomd, sb, join(chunk.lines, '\n'), outputdir;
inputfile=config["literate_inputfile"], inputfile=config["literate_inputfile"],

Loading…
Cancel
Save