diff --git a/src/writers.jl b/src/writers.jl index 35257bba..ba37c342 100644 --- a/src/writers.jl +++ b/src/writers.jl @@ -80,14 +80,12 @@ function convert_doc(doc::WeaveDoc, format::NotebookOutput) cells = [] ex_count = 1 - doc.chunks[3].content - for chunk in doc.chunks - if typeof(chunk) == Weave.DocChunk + if isa(chunk, DocChunk) push!(cells, Dict("cell_type" => "markdown", "metadata" => Dict(), - "source" => [strip(chunk.content)]) + "source" => [strip(join([repr(c) for c in chunk.content], ""))]) ) else push!(cells, @@ -111,8 +109,8 @@ end function convert_doc(doc::WeaveDoc, format::MarkdownOutput) output = "" for chunk in doc.chunks - if typeof(chunk) == Weave.DocChunk - output *= chunk.content + if isa(chunk, DocChunk) + output *= join([repr(c) for c in chunk.content], "") else output *= "\n" * "```julia" isempty(chunk.optionstring) || (output *= ";" * chunk.optionstring) @@ -128,8 +126,8 @@ end function convert_doc(doc::WeaveDoc, format::NowebOutput) output = "" for chunk in doc.chunks - if typeof(chunk) == Weave.DocChunk - output *= chunk.content + if isa(chunk, DocChunk) + output *= join([repr(c) for c in chunk.content], "") else output *= "\n" * "<<" isempty(chunk.optionstring) || (output *= strip(chunk.optionstring)) @@ -147,7 +145,8 @@ function convert_doc(doc::WeaveDoc, format::ScriptOutput) output = "" for chunk in doc.chunks if typeof(chunk) == Weave.DocChunk - output *= join(["#' " * s for s in split(chunk.content, "\n")], "\n") + content = join([repr(c) for c in chunk.content], "") + output *= join(["#' " * s for s in split(content, "\n")], "\n") else output *= "\n#+ " isempty(chunk.optionstring) || (output *= strip(chunk.optionstring)) @@ -158,3 +157,11 @@ function convert_doc(doc::WeaveDoc, format::ScriptOutput) return output end + +function Base.repr(c::InlineText) + return c.content +end + +function Base.repr(c::InlineCode) + return "`j $(c.content)`" +end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index 4d114316..21f9a03b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -10,8 +10,8 @@ using Base.Test info("Test: Chunk options") include("chunk_options.jl") -#info("Test: Converting") -#include("convert_test.jl") +info("Test: Converting") +include("convert_test.jl") #info("Test: Caching") #include("cache_test.jl")