mirror of https://github.com/mpastell/Weave.jl
Embed Plots animated gifs to html output. Closes #105
parent
742f00bf6a
commit
48327bd570
20
src/plots.jl
20
src/plots.jl
|
@ -1,5 +1,6 @@
|
||||||
import Plots
|
import Plots
|
||||||
|
|
||||||
|
|
||||||
"""Pre-execute hooks to set the plot size for the chunk """
|
"""Pre-execute hooks to set the plot size for the chunk """
|
||||||
function plots_set_size(chunk)
|
function plots_set_size(chunk)
|
||||||
w = chunk.options[:fig_width] * chunk.options[:dpi]
|
w = chunk.options[:fig_width] * chunk.options[:dpi]
|
||||||
|
@ -73,3 +74,22 @@ end
|
||||||
function Base.display(report::Report, m::MIME"image/svg+xml", plot::Plots.Plot)
|
function Base.display(report::Report, m::MIME"image/svg+xml", plot::Plots.Plot)
|
||||||
add_plots_figure(report, plot, ".svg")
|
add_plots_figure(report, plot, ".svg")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# write out html to view Animated gif
|
||||||
|
function Base.display(report::Report, ::MIME"text/html", agif::Plots.AnimatedGif)
|
||||||
|
ext = agif.filename[end-2:end]
|
||||||
|
res = ""
|
||||||
|
if ext == "gif"
|
||||||
|
img = stringmime(MIME("image/gif"), read(agif.filename))
|
||||||
|
res = "<img src=\"data:image/gif;base64,$img\" />"
|
||||||
|
elseif ext in ("mov", "mp4")
|
||||||
|
#Uncomment to embed mp4, make global or chunk option?
|
||||||
|
#img = stringmime(MIME("video/$ext"), read(agif.filename))
|
||||||
|
#res = "<video controls><source src=\"data:video/$(ext);base64,$img\" type=\"video/$ext\"></video>"
|
||||||
|
res = "<video controls><source src=\"$(relpath(agif.filename))\" type=\"video/$ext\"></video>"
|
||||||
|
else
|
||||||
|
error("Cannot show animation with extension $ext: $agif")
|
||||||
|
end
|
||||||
|
|
||||||
|
report.rich_output *= "\n" * res * "\n"
|
||||||
|
end
|
||||||
|
|
|
@ -153,6 +153,8 @@ function img2base64(fig, cwd)
|
||||||
return "data:image/png;base64," * stringmime(MIME("image/png"), raw)
|
return "data:image/png;base64," * stringmime(MIME("image/png"), raw)
|
||||||
elseif ext == ".svg"
|
elseif ext == ".svg"
|
||||||
return "data:image/svg+xml;base64," * stringmime(MIME("image/svg+xml"), raw)
|
return "data:image/svg+xml;base64," * stringmime(MIME("image/svg+xml"), raw)
|
||||||
|
elseif ext == ".gif"
|
||||||
|
return "data:image/gif;base64," * stringmime(MIME("image/gif"), raw)
|
||||||
else
|
else
|
||||||
return(fig)
|
return(fig)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue