html_output_format
This commit is contained in:
parent
77ec4adcad
commit
f91c4d586c
@ -186,6 +186,7 @@ const _plot_defaults = KW(
|
|||||||
:linky => false,
|
:linky => false,
|
||||||
:linkfunc => nothing,
|
:linkfunc => nothing,
|
||||||
:overwrite_figure => true,
|
:overwrite_figure => true,
|
||||||
|
:html_output_format => :auto,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -408,6 +409,7 @@ add_aliases(:subplot, :sp, :subplt, :splt)
|
|||||||
add_aliases(:projection, :proj)
|
add_aliases(:projection, :proj)
|
||||||
add_aliases(:title_location, :title_loc, :titleloc, :title_position, :title_pos, :titlepos, :titleposition, :title_align, :title_alignment)
|
add_aliases(:title_location, :title_loc, :titleloc, :title_position, :title_pos, :titlepos, :titleposition, :title_align, :title_alignment)
|
||||||
add_aliases(:series_annotations, :series_ann, :seriesann, :series_anns, :seriesanns, :series_annotation)
|
add_aliases(:series_annotations, :series_ann, :seriesann, :series_anns, :seriesanns, :series_annotation)
|
||||||
|
add_aliases(:html_output_format, :format, :fmt, :html_format)
|
||||||
|
|
||||||
|
|
||||||
# add all pluralized forms to the _keyAliases dict
|
# add all pluralized forms to the _keyAliases dict
|
||||||
|
|||||||
@ -122,11 +122,28 @@ const _mimeformats = Dict(
|
|||||||
"image/svg+xml" => "svg"
|
"image/svg+xml" => "svg"
|
||||||
)
|
)
|
||||||
|
|
||||||
# # a backup for html... passes to svg
|
const _best_html_output_type = KW(
|
||||||
# function Base.writemime(io::IO, ::MIME"text/html", plt::Plot)
|
:pyplot => :png,
|
||||||
# writemime(io, MIME("image/svg+xml"), plt)
|
)
|
||||||
# end
|
|
||||||
|
|
||||||
|
# a backup for html... passes to svg or png depending on the html_output_format arg
|
||||||
|
function Base.writemime(io::IO, ::MIME"text/html", plt::Plot)
|
||||||
|
output_type = symbol(plt.attr[:html_output_format])
|
||||||
|
if output_type == :auto
|
||||||
|
output_type = get(_best_html_output_type, backend_name(plt.backend), :svg)
|
||||||
|
end
|
||||||
|
if output_type == :png
|
||||||
|
# info("writing png to html output")
|
||||||
|
print(io, "<img src=\"data:image/png;base64,", base64encode(writemime, MIME("image/png"), plt), "\" />")
|
||||||
|
elseif output_type == :svg
|
||||||
|
# info("writing svg to html output")
|
||||||
|
writemime(io, MIME("image/svg+xml"), plt)
|
||||||
|
else
|
||||||
|
error("only png or svg allowed. got: $output_type")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# for writing to io streams... first prepare, then callback
|
||||||
for mime in keys(_mimeformats)
|
for mime in keys(_mimeformats)
|
||||||
@eval function Base.writemime(io::IO, m::MIME{Symbol($mime)}, plt::Plot)
|
@eval function Base.writemime(io::IO, m::MIME{Symbol($mime)}, plt::Plot)
|
||||||
prepare_output(plt)
|
prepare_output(plt)
|
||||||
@ -134,21 +151,21 @@ for mime in keys(_mimeformats)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function html_output_format(fmt)
|
# function html_output_format(fmt)
|
||||||
if fmt == "png"
|
# if fmt == "png"
|
||||||
@eval function Base.writemime(io::IO, ::MIME"text/html", plt::Plot)
|
# @eval function Base.writemime(io::IO, ::MIME"text/html", plt::Plot)
|
||||||
print(io, "<img src=\"data:image/png;base64,", base64(writemime, MIME("image/png"), plt), "\" />")
|
# print(io, "<img src=\"data:image/png;base64,", base64(writemime, MIME("image/png"), plt), "\" />")
|
||||||
end
|
# end
|
||||||
elseif fmt == "svg"
|
# elseif fmt == "svg"
|
||||||
@eval function Base.writemime(io::IO, ::MIME"text/html", plt::Plot)
|
# @eval function Base.writemime(io::IO, ::MIME"text/html", plt::Plot)
|
||||||
writemime(io, MIME("image/svg+xml"), plt)
|
# writemime(io, MIME("image/svg+xml"), plt)
|
||||||
end
|
# end
|
||||||
else
|
# else
|
||||||
error("only png or svg allowed. got: $fmt")
|
# error("only png or svg allowed. got: $fmt")
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
|
#
|
||||||
html_output_format("svg")
|
# html_output_format("svg")
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
# IJulia
|
# IJulia
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user