Browse Source

Let markdown output capture output with the "text/markdown" MIME.

pull/122/head
Fredrik Ekre 5 years ago
parent
commit
e08ca0a19b
  1. 6
      src/Literate.jl
  2. 5
      test/runtests.jl

6
src/Literate.jl

@ -469,6 +469,12 @@ function execute_markdown!(io::IO, sb::Module, block::String, outputdir)
return return
end end
end end
if showable(MIME("text/markdown"), r)
write(io, '\n')
Base.invokelatest(show, io, MIME("text/markdown"), r)
write(io, '\n')
return
end
# fallback to text/plain # fallback to text/plain
write(io, plain_fence.first) write(io, plain_fence.first)
Base.invokelatest(show, io, "text/plain", r) Base.invokelatest(show, io, "text/plain", r)

5
test/runtests.jl

@ -663,6 +663,10 @@ end end
Base.show(io::IO, mime::MIME"image/jpeg", ::JPEG) = print(io, "JPEG") Base.show(io::IO, mime::MIME"image/jpeg", ::JPEG) = print(io, "JPEG")
JPEG() JPEG()
#- #-
struct MD end
Base.show(io::IO, mime::MIME"text/markdown", ::MD) = print(io, "# " * "MD")
MD()
#-
print("hello"); print(stdout, ", "); print(stderr, "world") print("hello"); print(stdout, ", "); print(stderr, "world")
#- #-
print("hej, världen") print("hej, världen")
@ -681,6 +685,7 @@ end end
@test occursin("```\n2×2 $(Matrix{Int}):\n 1 2\n 3 4\n```", markdown) # text/plain @test occursin("```\n2×2 $(Matrix{Int}):\n 1 2\n 3 4\n```", markdown) # text/plain
@test occursin(r"!\[\]\(\d+\.png\)", markdown) # image/png @test occursin(r"!\[\]\(\d+\.png\)", markdown) # image/png
@test occursin(r"!\[\]\(\d+\.jpeg\)", markdown) # image/jpeg @test occursin(r"!\[\]\(\d+\.jpeg\)", markdown) # image/jpeg
@test occursin(r"# MD", markdown) # text/markdown
@test occursin("```\nhello, world\n```", markdown) # stdout/stderr @test occursin("```\nhello, world\n```", markdown) # stdout/stderr
@test occursin("```\n42\n```", markdown) # result over stdout/stderr @test occursin("```\n42\n```", markdown) # result over stdout/stderr
@test !occursin("246", markdown) # empty output because trailing ; @test !occursin("246", markdown) # empty output because trailing ;

Loading…
Cancel
Save