Browse Source

Remove trailing newlines, refactor formatting

pull/214/head
Sogari 3 years ago committed by Simon Christ
parent
commit
9b1964dad4
  1. 69
      src/Literate.jl

69
src/Literate.jl

@ -883,6 +883,30 @@ function formatAnswer(answer)
return answer return answer
end end
function formatCells(io, ionb, cellCounter, uuids, folds, fold)
content = String(take!(io))
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(uuids, uuid)
push!(folds, fold)
print(ionb, "# ╔═╡ ", uuid, '\n')
write(ionb, content, '\n')
return cellCounter
end
function formatCellsEnd(io, ionb, cellCounter, singleChoiceContent, singleChoiceUuids, singleChoiceFolds, fold)
content = String(take!(io))
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(singleChoiceUuids, uuid)
push!(singleChoiceFolds, fold)
push!(singleChoiceContent, content)
return cellCounter
end
function create_notebook(flavor::PlutoFlavor, chunks, config) function create_notebook(flavor::PlutoFlavor, chunks, config)
ionb = IOBuffer() ionb = IOBuffer()
# Print header # Print header
@ -980,8 +1004,6 @@ function create_notebook(flavor::PlutoFlavor, chunks, config)
radioBind = writeBind(questionName, answers) radioBind = writeBind(questionName, answers)
logicBind = writeLogic(questionName, questionDict) logicBind = writeLogic(questionName, questionDict)
# toWrite = " " * "\$(eval(md\"\$(" * "$name" * ")\"))" * "\n" # for interactivity in the notebook (else it isn't reactive)
name = "$(questionName)Check" name = "$(questionName)Check"
toWrite = "\$($name)" toWrite = "\$($name)"
@ -1003,46 +1025,21 @@ function create_notebook(flavor::PlutoFlavor, chunks, config)
end end
write(io, "\"\"\"\n") write(io, "\"\"\"\n")
write(io, '\n') cellCounter = formatCells(io, ionb, cellCounter, uuids, folds, fold)
content = String(take!(io))
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(uuids, uuid)
push!(folds, fold)
print(ionb, "# ╔═╡ ", uuid, '\n')
write(ionb, content, '\n')
write(io, radioBind, '\n') write(io, radioBind, '\n')
write(io, '\n') cellCounter = formatCellsEnd(io, ionb, cellCounter, singleChoiceContent, singleChoiceUuids, singleChoiceFolds, fold)
content = String(take!(io))
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(singleChoiceUuids, uuid)
push!(singleChoiceFolds, fold)
push!(singleChoiceContent, content)
write(io, logicBind, '\n') write(io, logicBind, '\n')
write(io, '\n') cellCounter = formatCellsEnd(io, ionb, cellCounter, singleChoiceContent, singleChoiceUuids, singleChoiceFolds, fold)
content = String(take!(io))
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(singleChoiceUuids, uuid)
push!(singleChoiceFolds, fold)
push!(singleChoiceContent, content)
else else
write(io, "$(flavor.use_cm ? "cm" : "md")\"\"\"\n") write(io, "$(flavor.use_cm ? "cm" : "md")\"\"\"\n")
for line in chunk.lines for line in chunk.lines
write(io, line.second, '\n') # Skip indent write(io, line.second, '\n') # Skip indent
end end
write(io, "\"\"\"\n") write(io, "\"\"\"\n")
content = String(take!(io)) cellCounter = formatCells(io, ionb, cellCounter, uuids, folds, fold)
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(uuids, uuid)
push!(folds, fold)
print(ionb, "# ╔═╡ ", uuid, '\n')
write(ionb, content, '\n')
end end
else # isa(chunk, CodeChunk) else # isa(chunk, CodeChunk)
@ -1062,13 +1059,7 @@ function create_notebook(flavor::PlutoFlavor, chunks, config)
print(io, "begin\n") print(io, "begin\n")
foreach(l -> print(io, " ", l, '\n'), eachline(IOBuffer(content))) foreach(l -> print(io, " ", l, '\n'), eachline(IOBuffer(content)))
print(io, "end\n") print(io, "end\n")
content = String(take!(io)) cellCounter = formatCells(io, ionb, cellCounter, uuids, folds, fold)
uuid = uuid4(content, cellCounter)
cellCounter += 1
push!(uuids, uuid)
push!(folds, fold)
print(ionb, "# ╔═╡ ", uuid, '\n')
write(ionb, content, '\n')
end end
end end

Loading…
Cancel
Save