From 112e3a2a95506e102ba9ba8c41d3bc52de98369a Mon Sep 17 00:00:00 2001 From: Jacob Vaverka Date: Wed, 6 Sep 2023 19:34:11 -0400 Subject: [PATCH 01/17] feat: WIP write example pngs over threshold #2143 --- src/html/HTMLWriter.jl | 42 ++++++++++++++++++++++++++++++- test/examples/src/man/tutorial.md | 7 ++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index 4d8218330c..eac8d26db3 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -44,6 +44,7 @@ using Dates: Dates, @dateformat_str, now import Markdown using MarkdownAST: MarkdownAST, Node import JSON +using SHA import ..Documenter using Documenter: NavNode @@ -1756,6 +1757,36 @@ function get_url(ctx, path::AbstractString) end end +""" +Returns the full path corresponding to the path of an example generated image file. +The the input and output paths are assumed to be relative to `src/`. +The path has a suffix of the SHA generated from contents of a generated image. +""" +function get_image_url(ctx, path::AbstractString) + sha = get_contents_sha(path) + if ctx.settings.prettyurls + d = if basename(path) == "index.md" + string(dirname(path), "-", sha) + else + string(first(splitext(path))) + end + isempty(d) ? "index-$sha.png" : "$d/index-$sha.png" + else + string(first(splitext(path)), "-", sha, ".png") + end +end + +function get_contents_sha(path; length=8)::String + if !isfile(path) + @warn "Cannot take checksum of $(path) - does not exist." + return repeat("0", length) + end + full_sha = open(path) do f + bytes2hex(sha2_256(f)) + end + return first(full_sha, length) +end + """ Returns the full path of a [`Documenter.NavNode`](@ref) relative to `src/`. """ @@ -2133,6 +2164,7 @@ domify(dctx::DCtx, node::Node, ::Documenter.MultiOutput) = domify(dctx, node.chi domify(dctx::DCtx, node::Node, moe::Documenter.MultiOutputElement) = Base.invokelatest(domify, dctx, node, moe.element) function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) + ctx, navnode = dctx.ctx, dctx.navnode rawhtml(code) = Tag(Symbol("#RAW#"))(code) return if haskey(d, MIME"text/html"()) rawhtml(d[MIME"text/html"()]) @@ -2181,7 +2213,15 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) end elseif haskey(d, MIME"image/png"()) - rawhtml(string("")) + if ctx.settings.size_threshold > length(d[MIME"image/png"()]) + image_path = get_image_url(ctx, navnode) + open(image_path, "w") do f + write(f, d[MIME"image/png"()]) + end + rawhtml(string("")) + else + rawhtml(string("")) + end elseif haskey(d, MIME"image/webp"()) rawhtml(string("")) elseif haskey(d, MIME"image/gif"()) diff --git a/test/examples/src/man/tutorial.md b/test/examples/src/man/tutorial.md index 31d2d1bf49..1555a513b4 100644 --- a/test/examples/src/man/tutorial.md +++ b/test/examples/src/man/tutorial.md @@ -276,6 +276,13 @@ SVG(""" """) ``` +Large inline SVG to exceed size threashold. + +```@example inlinesvg +jlcolors = download(https://raw.githubusercontent.com/JuliaLang/julia-logo-graphics/master/images/julia-colors.svg) +open(io->read(io, String), jlcolors) |> SVG +``` + _Note: we can't define the `show` method in the `@example` block due to the world age counter in Julia 0.6 (Documenter's `makedocs` is not aware of any of the new method definitions happening in `eval`s)._ From c8e8d3acda7b73a94726a62976ac1cd4e032c293 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Fri, 8 Sep 2023 18:48:28 +1200 Subject: [PATCH 02/17] update implementation --- Project.toml | 1 + src/html/HTMLWriter.jl | 136 +++++++++++++++++++++++++++++++---------- 2 files changed, 106 insertions(+), 31 deletions(-) diff --git a/Project.toml b/Project.toml index c73a067157..821345dcd5 100644 --- a/Project.toml +++ b/Project.toml @@ -17,6 +17,7 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" MarkdownAST = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Unicode = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index eac8d26db3..8de94ace22 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -44,7 +44,8 @@ using Dates: Dates, @dateformat_str, now import Markdown using MarkdownAST: MarkdownAST, Node import JSON -using SHA +import Base64 +import SHA import ..Documenter using Documenter: NavNode @@ -361,6 +362,12 @@ value is `"en"`. **`warn_outdated`** inserts a warning if the current page is not the newest version of the documentation. +**`example_size_threshold`** specifies the size threshold above which the `@example` and other block +outputs get written to files, rather than being included in the HTML page. This mechanism is present +to reduce the size of the generated HTML files that contain a lot of figures etc. +Setting it to `nothing` will disable writing to files, and setting to `0` means that all files +will be written to files. Defaults to `1 KiB`. + **`size_threshold`** sets the maximum allowed HTML file size (in bytes) that Documenter is allowed to generate for a page. If the generated HTML file is larged than this, Documenter will throw an error and the build will fail. If set to `nothing`, the file sizes are not checked. Defaults to `200 KiB` (but @@ -445,6 +452,7 @@ struct HTML <: Documenter.Writer highlightjs :: Union{String,Nothing} size_threshold :: Int size_threshold_warn :: Int + example_size_threshold :: Int function HTML(; prettyurls :: Bool = true, @@ -466,8 +474,9 @@ struct HTML <: Documenter.Writer prerender :: Bool = false, node :: Union{Cmd,String,Nothing} = nothing, highlightjs :: Union{String,Nothing} = nothing, - size_threshold :: Union{Integer, Nothing} = 200 * 2^10, - size_threshold_warn :: Union{Integer, Nothing} = 100 * 2^10, + size_threshold :: Union{Integer, Nothing} = 200 * 2^10, # 200 KiB + size_threshold_warn :: Union{Integer, Nothing} = 100 * 2^10, # 100 KiB + example_size_threshold :: Union{Integer, Nothing} = 2^10, # 1 KiB # deprecated keywords edit_branch :: Union{String, Nothing, Default} = Default(nothing), @@ -513,11 +522,16 @@ struct HTML <: Documenter.Writer elseif size_threshold_warn > size_threshold throw(ArgumentError("size_threshold_warn ($size_threshold_warn) must be smaller than size_threshold ($size_threshold)")) end + if isnothing(example_size_threshold) + example_size_threshold = typemax(Int) + elseif example_size_threshold <= 0 + throw(ArgumentError("example_size_threshold must be non-negative, got $(example_size_threshold)")) + end isa(edit_link, Default) && (edit_link = edit_link[]) new(prettyurls, disable_git, edit_link, repolink, canonical, assets, analytics, collapselevel, sidebar_sitename, highlights, mathengine, description, footer, ansicolor, lang, warn_outdated, prerender, node, highlightjs, - size_threshold, size_threshold_warn, + size_threshold, size_threshold_warn, example_size_threshold, ) end end @@ -1758,33 +1772,90 @@ function get_url(ctx, path::AbstractString) end """ -Returns the full path corresponding to the path of an example generated image file. -The the input and output paths are assumed to be relative to `src/`. -The path has a suffix of the SHA generated from contents of a generated image. +Generates a unique file for the output of an at-example block if it goes over the configured +size threshold, and returns the filename (that should be in the same directory are the +corresponding HTML file). If the data is under the threshold, no file is created, and the +function returns `nothing`. """ -function get_image_url(ctx, path::AbstractString) - sha = get_contents_sha(path) - if ctx.settings.prettyurls - d = if basename(path) == "index.md" - string(dirname(path), "-", sha) +function write_data_file(dctx::DCtx, data::Union{Vector{UInt8},AbstractString}; suffix::AbstractString) + ctx, navnode = dctx.ctx, dctx.navnode + # If we're under the threshold, we return `nothing`, indicating to the caller that + # they should inline the file instead. + if length(data) < ctx.settings.example_size_threshold + return nothing + end + slug = dataslug(data) + datafile = data_filename(dctx, slug, suffix) + mkpath(dirname(datafile.path)) # generally, the directory for the HTML page will not exist yet + write(datafile.path, data) + # In all cases the file should be places in the same directory as the HTML file, + # so we only need the filename to generate a valid relative href. + return datafile.filename +end + +function data_filename(dctx::DCtx, slug::AbstractString, suffix::AbstractString) + ctx, navnode = dctx.ctx, dctx.navnode + # We want to + dir, pagename = splitdir(navnode.page) + # Let's normalize the filename of the page by removing .md extensions (if present). + # We'll keep other extensions though. + if endswith(pagename, ".md") + pagename = first(splitext(pagename)) + end + + filename_prefix = if ctx.settings.prettyurls + # If pretty URLs are enabled, we would normally have + # foo/bar.md -> foo/bar/index.html, and we then generate files + # like foo/bar/$(slug).png + # However, if we have foo/index.md, then it becomes foo/index.html, + # and so we want to differentiate the data filenames just in case, + # and so they become foo/index-$(slug).png + if pagename == "index" + string("index-", slug) else - string(first(splitext(path))) + # We also need to update dir from foo/ to foo/bar here, since we want the + # file to end up at foo/bar/$(slug).png + dir = joinpath(dir, pagename) + slug end - isempty(d) ? "index-$sha.png" : "$d/index-$sha.png" else - string(first(splitext(path)), "-", sha, ".png") - end + # If pretty URLs are disabled, then + # foo/bar.md becomes foo/bar.html, and we always want to add the + # Markdown filename to the data filename, i.e. foo/bar-$(slug).png + string(pagename, "-", slug) + end + # Now we need to find a valid file name, in case there are existing duplicates. + filename = find_valid_data_file(joinpath(ctx.doc.user.build, dir), filename_prefix, suffix) + return (; + filename, + path = joinpath(ctx.doc.user.build, dir, filename), + ) end -function get_contents_sha(path; length=8)::String - if !isfile(path) - @warn "Cannot take checksum of $(path) - does not exist." - return repeat("0", length) - end - full_sha = open(path) do f - bytes2hex(sha2_256(f)) +function find_valid_data_file(directory::AbstractString, prefix::AbstractString, suffix::AbstractString) + # We'll try 10_000 different filename.. if this doesn't work, then something is probably really + # badly wrong, and so we just crash. + for i in 0:10_000 + filename = if i == 0 + string(prefix, suffix) + else + string(prefix, '-', lpad(string(i), 3, '0'), suffix) + end + ispath(joinpath(directory, filename)) || return filename end - return first(full_sha, length) + error(""" + Unable to find valid file name for an at-example output: + directory = $(directory) + prefix = $(prefix) + suffix = $(suffix)""") +end + +""" +Returns the first `limit` characters of the hex SHA1 of the data `bytes`. +""" +function dataslug(bytes::Union{Vector{UInt8},AbstractString}; limit=8)::String + full_sha = bytes2hex(SHA.sha1(bytes)) + return first(full_sha, limit) end """ @@ -2164,6 +2235,7 @@ domify(dctx::DCtx, node::Node, ::Documenter.MultiOutput) = domify(dctx, node.chi domify(dctx::DCtx, node::Node, moe::Documenter.MultiOutputElement) = Base.invokelatest(domify, dctx, node, moe.element) function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) + @tags img ctx, navnode = dctx.ctx, dctx.navnode rawhtml(code) = Tag(Symbol("#RAW#"))(code) return if haskey(d, MIME"text/html"()) @@ -2213,14 +2285,16 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) end elseif haskey(d, MIME"image/png"()) - if ctx.settings.size_threshold > length(d[MIME"image/png"()]) - image_path = get_image_url(ctx, navnode) - open(image_path, "w") do f - write(f, d[MIME"image/png"()]) - end - rawhtml(string("")) + # When we construct `d` in the expander pipeline, we call `stringmime`, which + # base64-encodes the bytes. + bytes = Base64.base64decode(d[MIME"image/png"()]) + filename = write_data_file(dctx, bytes; suffix=".png") + alt = (:alt => "Example block output") + if isnothing(filename) + src = string("data:image/png;base64,", d[MIME"image/png"()]) + img[:src => src, alt] else - rawhtml(string("")) + img[:src => filename, alt] end elseif haskey(d, MIME"image/webp"()) rawhtml(string("")) From 04f39a8577444b90978551edddade972beebf0c6 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Fri, 8 Sep 2023 21:18:39 +1200 Subject: [PATCH 03/17] wip tests --- test/examples/images/big.png | Bin 0 -> 63435 bytes test/examples/images/tiny.png | Bin 0 -> 269 bytes test/examples/make.jl | 9 +++++++++ test/examples/src/index.md | 9 +++++++++ test/examples/src/man/tutorial.md | 4 ++-- test/examples/tests.jl | 6 ++++++ 6 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 test/examples/images/big.png create mode 100644 test/examples/images/tiny.png diff --git a/test/examples/images/big.png b/test/examples/images/big.png new file mode 100644 index 0000000000000000000000000000000000000000..1b35084a369ee5d40908a70e01ca47fccb144ce4 GIT binary patch literal 63435 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 literal 0 HcmV?d00001 diff --git a/test/examples/images/tiny.png b/test/examples/images/tiny.png new file mode 100644 index 0000000000000000000000000000000000000000..ea062c1e1cc774fba0b65a435913e81eedb0ca81 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O|!2~3asjjjEQdc}(978JN-dt?tWH8`3U?BS6 z{^naA$Dm)1MW1|+UR!s=hn<0egMopOL4kpR1*Bhqfq{v^0juEM{d27%5+zueGyc|zOos|z3?mg$+6!Svp;UzcfPwc`t7zF z*FFokC#JuiZ=L`7{n|PGvFuqv@psSbyo!EI1VD4GZG?VE-=tQ9Z O7(8A5T-G@yGywp!iBo9+ literal 0 HcmV?d00001 diff --git a/test/examples/make.jl b/test/examples/make.jl index b2e4024462..5001b93598 100644 --- a/test/examples/make.jl +++ b/test/examples/make.jl @@ -142,6 +142,15 @@ module AutoDocs end end +struct MIMEBytes{M <: MIME} + bytes :: Vector{UInt8} + MIMEBytes(mime::AbstractString, bytes::AbstractVector{UInt8}) = new{MIME{Symbol(mime)}}(bytes) +end +Base.show(io::IO, ::M, obj::MIMEBytes{M}) where {M <: MIME} = write(io, obj.bytes) + +const BIGPNG = MIMEBytes("image/png", read(joinpath(@__DIR__, "images", "big.png"))) +const TINYPNG = MIMEBytes("image/png", read(joinpath(@__DIR__, "images", "tiny.png"))) + # Helper functions function withassets(f, assets...) src(asset) = joinpath(@__DIR__, asset) diff --git a/test/examples/src/index.md b/test/examples/src/index.md index f4ce44aae0..a0d5dce330 100644 --- a/test/examples/src/index.md +++ b/test/examples/src/index.md @@ -655,3 +655,12 @@ They do not get evaluated. !!! ukw "Unknown admonition class" Admonition with an unknown admonition class. + +## Example outputs to file + +```@example +Main.BIGPNG +``` +```@example +Main.TINYPNG +``` diff --git a/test/examples/src/man/tutorial.md b/test/examples/src/man/tutorial.md index 1555a513b4..c2727a0eb3 100644 --- a/test/examples/src/man/tutorial.md +++ b/test/examples/src/man/tutorial.md @@ -279,8 +279,8 @@ SVG(""" Large inline SVG to exceed size threashold. ```@example inlinesvg -jlcolors = download(https://raw.githubusercontent.com/JuliaLang/julia-logo-graphics/master/images/julia-colors.svg) -open(io->read(io, String), jlcolors) |> SVG +# jlcolors = download(https://raw.githubusercontent.com/JuliaLang/julia-logo-graphics/master/images/julia-colors.svg) +# open(io->read(io, String), jlcolors) |> SVG ``` _Note: we can't define the `show` method in the `@example` block due to the world age diff --git a/test/examples/tests.jl b/test/examples/tests.jl index 32fc9c95c0..4054add022 100644 --- a/test/examples/tests.jl +++ b/test/examples/tests.jl @@ -182,6 +182,12 @@ end @test haskey(siteinfo_json["documenter"], "julia_version") @test haskey(siteinfo_json["documenter"], "generation_timestamp") end + + @testset "at-example outputs" begin + @show build_dir + @test isfile(joinpath(build_dir, "index-40245173.png")) + @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + end end end From 859376afd6e9dc09b6b916087a26a909800bd917 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Mon, 11 Sep 2023 19:21:56 +1200 Subject: [PATCH 04/17] update tests --- test/examples/src/man/tutorial.md | 7 ------- test/examples/tests.jl | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/test/examples/src/man/tutorial.md b/test/examples/src/man/tutorial.md index c2727a0eb3..31d2d1bf49 100644 --- a/test/examples/src/man/tutorial.md +++ b/test/examples/src/man/tutorial.md @@ -276,13 +276,6 @@ SVG(""" """) ``` -Large inline SVG to exceed size threashold. - -```@example inlinesvg -# jlcolors = download(https://raw.githubusercontent.com/JuliaLang/julia-logo-graphics/master/images/julia-colors.svg) -# open(io->read(io, String), jlcolors) |> SVG -``` - _Note: we can't define the `show` method in the `@example` block due to the world age counter in Julia 0.6 (Documenter's `makedocs` is not aware of any of the new method definitions happening in `eval`s)._ diff --git a/test/examples/tests.jl b/test/examples/tests.jl index 4054add022..1a18c3904a 100644 --- a/test/examples/tests.jl +++ b/test/examples/tests.jl @@ -215,6 +215,12 @@ end documenterjs = String(read(joinpath(build_dir, "assets", "documenter.js"))) @test occursin("languages/julia.min", documenterjs) @test occursin("languages/julia-repl.min", documenterjs) + + @testset "at-example outputs" begin + @show build_dir + @test isfile(joinpath(build_dir, "index-40245173.png")) + @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + end end end From 94d98e49cd993688a852996e1fa30fec86f0a37e Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Mon, 11 Sep 2023 20:16:34 +1200 Subject: [PATCH 05/17] expand tests --- test/examples/make.jl | 4 ++++ test/examples/src/example-output.md | 9 +++++++++ test/examples/src/index.md | 2 +- test/examples/src/outputs/index.md | 10 ++++++++++ test/examples/src/outputs/outputs.md | 10 ++++++++++ test/examples/tests.jl | 28 ++++++++++++++++++++++------ 6 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 test/examples/src/outputs/index.md create mode 100644 test/examples/src/outputs/outputs.md diff --git a/test/examples/make.jl b/test/examples/make.jl index 5001b93598..101512fb99 100644 --- a/test/examples/make.jl +++ b/test/examples/make.jl @@ -220,6 +220,10 @@ htmlbuild_pages = Any[ "editurl/ugly.md", ], "xrefs.md", + "Outputs" => [ + "outputs/index.md", + "outputs/outputs.md", + ], ] function html_doc( diff --git a/test/examples/src/example-output.md b/test/examples/src/example-output.md index 8123a4fbef..4f9b1a7025 100644 --- a/test/examples/src/example-output.md +++ b/test/examples/src/example-output.md @@ -9,3 +9,12 @@ Checking that `@example` output is contained in a specific HTML class. ```@example println("hello") ``` + +## `@example` outputs to file + +```@example +Main.BIGPNG +``` +```@example +Main.TINYPNG +``` diff --git a/test/examples/src/index.md b/test/examples/src/index.md index a0d5dce330..ed9f5caaae 100644 --- a/test/examples/src/index.md +++ b/test/examples/src/index.md @@ -656,7 +656,7 @@ They do not get evaluated. !!! ukw "Unknown admonition class" Admonition with an unknown admonition class. -## Example outputs to file +## `@example` outputs to file ```@example Main.BIGPNG diff --git a/test/examples/src/outputs/index.md b/test/examples/src/outputs/index.md new file mode 100644 index 0000000000..d453e47422 --- /dev/null +++ b/test/examples/src/outputs/index.md @@ -0,0 +1,10 @@ +# Output handling (`outputs/index.md`) + +## `@example` outputs to file + +```@example +Main.BIGPNG +``` +```@example +Main.TINYPNG +``` diff --git a/test/examples/src/outputs/outputs.md b/test/examples/src/outputs/outputs.md new file mode 100644 index 0000000000..6509d8fb31 --- /dev/null +++ b/test/examples/src/outputs/outputs.md @@ -0,0 +1,10 @@ +# Output handling (`outputs/outputs.md`) + +## `@example` outputs to file + +```@example +Main.BIGPNG +``` +```@example +Main.TINYPNG +``` diff --git a/test/examples/tests.jl b/test/examples/tests.jl index 1a18c3904a..5b72b8e8a4 100644 --- a/test/examples/tests.jl +++ b/test/examples/tests.jl @@ -184,9 +184,18 @@ end end @testset "at-example outputs" begin - @show build_dir + # From src/index.md @test isfile(joinpath(build_dir, "index-40245173.png")) @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + # From src/example-output.md + @test isfile(joinpath(build_dir, "example-output", "40245173.png")) + @test read(joinpath(build_dir, "example-output", "40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + # From src/outputs/index.md + @test isfile(joinpath(build_dir, "outputs", "index-40245173.png")) + @test read(joinpath(build_dir, "outputs", "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + # From src/outputs/outputs.md + @test isfile(joinpath(build_dir, "outputs", "outputs", "40245173.png")) + @test read(joinpath(build_dir, "outputs", "outputs", "40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) end end end @@ -216,11 +225,18 @@ end @test occursin("languages/julia.min", documenterjs) @test occursin("languages/julia-repl.min", documenterjs) - @testset "at-example outputs" begin - @show build_dir - @test isfile(joinpath(build_dir, "index-40245173.png")) - @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - end + # From src/index.md + @test isfile(joinpath(build_dir, "index-40245173.png")) + @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + # From src/example-output.md + @test isfile(joinpath(build_dir, "example-output-40245173.png")) + @test read(joinpath(build_dir, "example-output-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + # From src/outputs/index.md + @test isfile(joinpath(build_dir, "outputs", "index-40245173.png")) + @test read(joinpath(build_dir, "outputs", "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + # From src/outputs/outputs.md + @test isfile(joinpath(build_dir, "outputs", "outputs-40245173.png")) + @test read(joinpath(build_dir, "outputs", "outputs-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) end end From ca661c7637c3ff809cb3da71259db1698875bb7d Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Mon, 11 Sep 2023 21:14:45 +1200 Subject: [PATCH 06/17] expand to other binary files --- src/html/HTMLWriter.jl | 38 ++++++++------ test/examples/images/big.gif | Bin 0 -> 1987 bytes test/examples/images/big.webp | Bin 0 -> 1392 bytes test/examples/images/tiny.jpeg | Bin 0 -> 516 bytes test/examples/images/tiny.webp | Bin 0 -> 464 bytes test/examples/make.jl | 17 +++++-- test/examples/src/example-output.md | 16 +++++- test/examples/src/index.md | 16 +++++- test/examples/src/outputs/index.md | 16 +++++- test/examples/src/outputs/outputs.md | 16 +++++- test/examples/tests.jl | 71 +++++++++++++++++---------- 11 files changed, 137 insertions(+), 53 deletions(-) create mode 100644 test/examples/images/big.gif create mode 100644 test/examples/images/big.webp create mode 100644 test/examples/images/tiny.jpeg create mode 100644 test/examples/images/tiny.webp diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index 8de94ace22..0434986555 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -2235,8 +2235,6 @@ domify(dctx::DCtx, node::Node, ::Documenter.MultiOutput) = domify(dctx, node.chi domify(dctx::DCtx, node::Node, moe::Documenter.MultiOutputElement) = Base.invokelatest(domify, dctx, node, moe.element) function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) - @tags img - ctx, navnode = dctx.ctx, dctx.navnode rawhtml(code) = Tag(Symbol("#RAW#"))(code) return if haskey(d, MIME"text/html"()) rawhtml(d[MIME"text/html"()]) @@ -2285,23 +2283,13 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) end elseif haskey(d, MIME"image/png"()) - # When we construct `d` in the expander pipeline, we call `stringmime`, which - # base64-encodes the bytes. - bytes = Base64.base64decode(d[MIME"image/png"()]) - filename = write_data_file(dctx, bytes; suffix=".png") - alt = (:alt => "Example block output") - if isnothing(filename) - src = string("data:image/png;base64,", d[MIME"image/png"()]) - img[:src => src, alt] - else - img[:src => filename, alt] - end + domify_show_image(dctx, "png", d) elseif haskey(d, MIME"image/webp"()) - rawhtml(string("")) + domify_show_image(dctx, "webp", d) elseif haskey(d, MIME"image/gif"()) - rawhtml(string("")) + domify_show_image(dctx, "gif", d) elseif haskey(d, MIME"image/jpeg"()) - rawhtml(string("")) + domify_show_image(dctx, "jpeg", d) elseif haskey(d, MIME"text/latex"()) # If the show(io, ::MIME"text/latex", x) output is already wrapped in \[ ... \] or $$ ... $$, we # unwrap it first, since when we output Markdown.LaTeX objects we put the correct @@ -2329,6 +2317,24 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) end end +function domify_show_image(dctx::DCtx, filetype::AbstractString, d::Dict{MIME,Any}) + @tags img + mime_name = "image/$filetype" + mime = MIME{Symbol(mime_name)}() + # When we construct `d` in the expander pipeline, we call `stringmime`, which + # base64-encodes the bytes, so the values in the dictionary are base64-encoded. + # So if we do write it to a file, we need to decode it first. + data_base64 = d[mime] + filename = write_data_file(dctx, Base64.base64decode(data_base64); suffix=".$filetype") + alt = (:alt => "Example block output") + if isnothing(filename) + src = string("data:$(mime_name);base64,", data_base64) + img[:src => src, alt] + else + img[:src => filename, alt] + end +end + # filehrefs # ------------------------------------------------------------------------------ diff --git a/test/examples/images/big.gif b/test/examples/images/big.gif new file mode 100644 index 0000000000000000000000000000000000000000..5be54eb6a3b87d521744c3cbd12a990121c53c05 GIT binary patch literal 1987 zcmchW`#;kQ1AxD~xNJt$(i+QVV_$3Acbi-*Ol}QpFSQ|-Ly@Rg-ZwLZmoC@| z$(d`Ntt5Ku6sMHyn3MP@N8ZAbqjLI`M7h52`6u4zA9#Lw9v>m!eWyGchz1q`0KnS< zw2c7U(rD)vD;9>%MgbT)+{g{RnGQHJkaXwWyFrQT4wR>@xsZhMCR&QXjbbV`jAkum z;0{ChC=TI!SG$CrI2lAr-a|gU&*}Isri8-d0U{C7)6-lk#fZfyp%CXEx=AkIkdS~q za>O$23_c}gi%0~er&A?KAOLtE5Pn8RViZaYhfB@PBP?zFx3U6YuowV1YGDy&X&H^h zCT!S{YHgj2$EV|Pf2TnwDD=>ypx;5V+%Z(@kj^73yjc5Fw#Uj8aRP-xCXpygUEO|R zLU%cwJ_zcDpdko)$z*oAu%Eg?lMKdN2%2_ts}s50&@ zrzP|A5nsQCefa1boFY(g9pv|`IkTEC}(x&`ud9I=W|w8 zvcG*RSXd}tUM^W&tXNs8_&jrAV4!McrFLmax4PQAy4v!-D_5-^QmbFCu6C@g8P?Wb ztgrvRzW!l-ec^ve{y!moL&5;yB|!g6`qvYH=^AhkWh-dZJXV=*qJ{S~R<)nAB>Pqf zZdZ5y3+Eg+)^oe2`vTE3-&WXEt1ku*Xv6hQb$ypvQN0zy=KB6C?#b`Q^v&0v{>W9K z3BGr(KdTWG(;|BB{B)rDntx&1Xkdu;phSLjzZ$IugT!Wsu7-%h8l?X|)?f5Rt8)sj zdZLx4^wAqyS`yzhg=`P~oA|hA(g}2juQhZx_0P%9(y&7h?~Rtz9DF|p6T>Q_^-t=o z*s}impql4>>}Y-BPILYeBEOg}y_+ttMU`=m{8|pX^8EWPuO$&qX3vvKltt9?BdSX| zhTohOPb;0G__LR9g}1@3y;8O-Hc|twuPG+re4KOafcB?b3x?m=`>$mFr)XGR0tW0p zIYL}Qv|>LU&R`ojZzELwF2i1*F`Q1Bz23f|4PFXr-zFl=JsA^r88Viq#$`m2tjWYg zHsz6Xh?nx67Ly_;%sf`xkf#sib{mnq(sTE_l9?kK2XHMZE0OsMhzb<4K6POI;+}On zlu=ZbE-xhQmCgoiR2~IHPj*|WH-Cd;xY^Ym1pxxKk#!NbjGXq&3sLBdiEDa8R;^5Q zZxf6!Mw)T|F^Jsc>l@^4doge_hSTR>W8mnqHF+v<`hM&-uc_E67`LpbLlcO5)@5_T zkAo^H!_{bO%fs#SC~Fsp_PLd3rh+;#yE;C?&0JQp&{llhCB98fku*^r@zm!IYFuJ z=^;~_65IdTdd7z!&yvI8bV zuxKZ*(j?-jah)BMvqY z2ek1%YdEmfGSh@WH^)+sn(&Ob9%#AQHCdozn-H7d>APQ~4p{L~QHWQtYx_Qp3&Fj) zY~!uLE&U0Pj{Rt5Z0BuL2%kQCint8tzR{FZdAX#ni5LOn%hrcicznEk%Iek|hf*MO zy4j?z-6HEaF>B_Ct^d-O=mK_^F+RTW35rU2)H>UAmMFGx-}AcN$V0*UWoGn3Rg3Zb z@kE}HZ2`-}G`jdT5AAuMx0K34m_-v2^CH=@MJdco0wA!t83;T#1CGr|pSD4pM-sUN z?0|BMY#c_&g_-&i;pU1AAQS}P;sKC(T4|015f*_OIIc~OVzZQ+svBXo2w9co=EM@~ zR-&<>ga`KrmD~8^d7F@tmf1f)K~fxI_ytM~_Tm#}YEr)V#$@np$ZhKpGZ;cZ#%1FG zYw0B?R_;LqEfqijn!Fm0b6$qlM{vLm$kk8w={_u|iQH5((`7FE5rI A{{R30 literal 0 HcmV?d00001 diff --git a/test/examples/images/big.webp b/test/examples/images/big.webp new file mode 100644 index 0000000000000000000000000000000000000000..abddc532604b49f0c55d547ba26d5576d11b09c1 GIT binary patch literal 1392 zcmV-$1&{htNk&F!1pok7MM6+kP&il$0000G0001E003hE06|PpNYMcR00EFgYqx1T z>+mVIZQE95+qP}1OK00QI@@+><7&q_Ypp+ZB4PsQKN9n_7&dFc{BhkXJFsf3eH=5t zeRHC_g{bk#sQJq$L*ZoI6*U1~EQ+PcdlT%twn(N$P0*pCI2Iemuf0&rGOQoUV8{~X zF}E!U&kXkr1f3203m?EUJ~KgIxtM_K`ZgMYp+t4hB$!s(GDSp8)7IFCT%m1K;`PxzzGDQidyMO= zkATiF#Re0^+;4dH6UdfdIj$1SKB3@l*f^-whk#;-2x_4lfxPNUXve?!tG5e%!t0E> z9{PjOtx53&I7AVUNMXe;(YUQ2|U=r7r#cylZtAPwuwe{=P#A zG}YU+542edByPQyK{wBa!>-vV_=eeFlx@ISKNX0awRmed5d4Z&m`g#(TaG;q0JnHa z_F@1s77>_2U#r$Lvsg^?^0f19PfO@e%XGK z`%8Mh^Z@?d{sXLw^sm@M%Zu3a_bbu3!3NM800s7loEi%YdtyLK?#yoOMt8&qokp*# zmP2DE{n~i%Nv1IsWzVTuyJv=h*=;ENz}kgb{syDoJ>mI}To*WuKccGy+oQSK4_Rmp z3N`gYA*SedlGoT~H@!Fo_ZavM+63v4Ks`0JsjK$#0Umw;0RH>^P$juT(bN}ugmG`W zEAlX)y#{_1h6H%x@SgUfZeE*^NkWl?jf9(PGjGxWW|kn(xGqzIx^y9MeNzuUq1Nf{ zfpXnYL$P}}u#vU<#dfWMkL#J}zNNwXDSr6!%m18U2fmo8$)fx8#nX$(q2PW1va!z* z9ub4ZKvV@Z<;))f%E2KrnxdQYfsX43!lQO%Z*mD=gO8z(C&KlCsTclS!h8guj;=<; zG(z`j=(43Q$6*cq6+#!}X}lK%{C~+QM^kCW#~MMv|Biz9z~!=D$vmL0X>V^w;9zvR z&r)kT>^F=cxN^d5$jzs<@DoM5JL$+{O3S5eR83=%`G;!egPF&^|A|YdFlEzL^&cOQ z`U!#v%PD*#3w5!cbZ`PjDIGzFa!@6r#%ezN=7!CFDv%%v2`kE$I^*Q8d(uWJtfcgp z4xu%0AMkUSe8chcF``s&qkOOGITe5pfZx#S{;w*pV{qL!-8hf0Y3(OTiABzk=bA9K zD-TmP#+?~Zs@XamOP?k!oZwxDBmZ)9OX1zxSt5(QP?+M@r+3Q2XGiOX6;-T4YP1Fq z83D*6K!%f*w{-@!E~9JaCaVF`fIlxM3_|8~O?(WPxaecdzbzth^&Rq>*EBwu-6TkW zGm*-#ix@#CAcXz2J^+S}+=2l(>_r=2xoK>Ed}ZM~L_hy17Y{0{TXS8;C|Qe~PWn@B z+EfB?aW0Gae86(L^jO9O-zJcIAOV{dOrv_T$^EGA@1N(SZ$wcYz}ueSJck7Wlb~z) zC!}z5dzA>h1a&496|!8^+&e2P`*KH5I yh9nQ#-RL_}dFEr^h3uBc{G0hAf~Woht7g1{MW5x*t`y->W0tucr{=(fKmY)85U3vj literal 0 HcmV?d00001 diff --git a/test/examples/images/tiny.jpeg b/test/examples/images/tiny.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7a732a008830740a25da491eca77035c41a99a89 GIT binary patch literal 516 zcmex=ez+{VquD8S9pEh;o1zT!kvMP6RT*Y!Im zp7>8302;y=8WmNMS@F85={0eBFjO625aeKRVQ64xRAOKfWMmd({C|W&9OzV#V-bLn zfr%L?AteBk00JZ#ra&QPVW6BOL(;#S)!%~&QUY<;g zxLI99xQ@>}{H#!Xdd=?I(wR?hzxX&$Uh<*#w%Dacd*zG|Kekcbc6!Uw#h=gfKkqY% z&b}4c{rNoWv5LEC>#i?VNjjk&I_q}alw*anU9Y}ebM4lbWfGq%^uAuKoAqkV)xS&a zDn3=bb1bTP;h|M9A>y%%sD-xasenePYy literal 0 HcmV?d00001 diff --git a/test/examples/images/tiny.webp b/test/examples/images/tiny.webp new file mode 100644 index 0000000000000000000000000000000000000000..eaebe851fb7fa841c6669161ebb8f41246835b37 GIT binary patch literal 464 zcmV;>0WbbiNk&G<0RRA3MM6+kP&gpG0RR9H5dfV5Du4h)06vjEm`Nq0BBUoiJ!r5J z31S9(E`YuO^Z^+^fPNr%oO!P?`7`_j^aHR#`}_aK&$s;GAE=+`{lD(&zhFK8{Xg|F zvGg_SF5+H;pn##$-l&TPNLR#G6w8~Qp1s;>-@_FwzFqEDb4|9xx-TN;#m7M}wTPd_ z6miCOFZ0#xb}13MGYy~s0RH4d|4Lr6fcy4Y>zzFeLA}h2B;JXsA z0z!+tlg}~;)eq5>y73ae&5__Q{hK4fZ@&?&Z9m||`uHG*ehpbT-{)$rHN&gM&YTrm z@Xps(N<b+N(=<2z4D^0}MY74WmwwGgWf{a$B#jcKfL*VNedS#OYWml4Km3D2)xp%;5eIrIR z!S0rV=_2&hgf(EyY$G^9JLXkKYY;@k`Z$XRVRX47=!sl70*fWbjPwjZZs_DOM`q9w G)Bpg)m*<}V literal 0 HcmV?d00001 diff --git a/test/examples/make.jl b/test/examples/make.jl index 101512fb99..4e14d93430 100644 --- a/test/examples/make.jl +++ b/test/examples/make.jl @@ -1,3 +1,4 @@ +import SHA using Documenter include("../TestUtilities.jl"); using Main.TestUtilities @@ -144,12 +145,22 @@ end struct MIMEBytes{M <: MIME} bytes :: Vector{UInt8} - MIMEBytes(mime::AbstractString, bytes::AbstractVector{UInt8}) = new{MIME{Symbol(mime)}}(bytes) + hash_slug :: String + function MIMEBytes(mime::AbstractString, bytes::AbstractVector{UInt8}) + hash_slug = bytes2hex(SHA.sha1(bytes))[1:8] + new{MIME{Symbol(mime)}}(bytes, hash_slug) + end end Base.show(io::IO, ::M, obj::MIMEBytes{M}) where {M <: MIME} = write(io, obj.bytes) -const BIGPNG = MIMEBytes("image/png", read(joinpath(@__DIR__, "images", "big.png"))) -const TINYPNG = MIMEBytes("image/png", read(joinpath(@__DIR__, "images", "tiny.png"))) +const AT_EXAMPLE_FILES = Dict( + ("png", :big) => MIMEBytes("image/png", read(joinpath(@__DIR__, "images", "big.png"))), + ("png", :tiny) => MIMEBytes("image/png", read(joinpath(@__DIR__, "images", "tiny.png"))), + ("webp", :big) => MIMEBytes("image/webp", read(joinpath(@__DIR__, "images", "big.webp"))), + ("webp", :tiny) => MIMEBytes("image/webp", read(joinpath(@__DIR__, "images", "tiny.webp"))), + ("gif", :big) => MIMEBytes("image/gif", read(joinpath(@__DIR__, "images", "big.gif"))), + ("jpeg", :tiny) => MIMEBytes("image/jpeg", read(joinpath(@__DIR__, "images", "tiny.jpeg"))), +) # Helper functions function withassets(f, assets...) diff --git a/test/examples/src/example-output.md b/test/examples/src/example-output.md index 4f9b1a7025..fdef75cac1 100644 --- a/test/examples/src/example-output.md +++ b/test/examples/src/example-output.md @@ -13,8 +13,20 @@ println("hello") ## `@example` outputs to file ```@example -Main.BIGPNG +Main.AT_EXAMPLE_FILES[("png", :big)] ``` ```@example -Main.TINYPNG +Main.AT_EXAMPLE_FILES[("png", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("gif", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("jpeg", :tiny)] ``` diff --git a/test/examples/src/index.md b/test/examples/src/index.md index ed9f5caaae..0a176cc20c 100644 --- a/test/examples/src/index.md +++ b/test/examples/src/index.md @@ -659,8 +659,20 @@ They do not get evaluated. ## `@example` outputs to file ```@example -Main.BIGPNG +Main.AT_EXAMPLE_FILES[("png", :big)] ``` ```@example -Main.TINYPNG +Main.AT_EXAMPLE_FILES[("png", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("gif", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("jpeg", :tiny)] ``` diff --git a/test/examples/src/outputs/index.md b/test/examples/src/outputs/index.md index d453e47422..f5dffd6821 100644 --- a/test/examples/src/outputs/index.md +++ b/test/examples/src/outputs/index.md @@ -3,8 +3,20 @@ ## `@example` outputs to file ```@example -Main.BIGPNG +Main.AT_EXAMPLE_FILES[("png", :big)] ``` ```@example -Main.TINYPNG +Main.AT_EXAMPLE_FILES[("png", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("gif", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("jpeg", :tiny)] ``` diff --git a/test/examples/src/outputs/outputs.md b/test/examples/src/outputs/outputs.md index 6509d8fb31..ff3673cb7e 100644 --- a/test/examples/src/outputs/outputs.md +++ b/test/examples/src/outputs/outputs.md @@ -3,8 +3,20 @@ ## `@example` outputs to file ```@example -Main.BIGPNG +Main.AT_EXAMPLE_FILES[("png", :big)] ``` ```@example -Main.TINYPNG +Main.AT_EXAMPLE_FILES[("png", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("webp", :tiny)] +``` +```@example +Main.AT_EXAMPLE_FILES[("gif", :big)] +``` +```@example +Main.AT_EXAMPLE_FILES[("jpeg", :tiny)] ``` diff --git a/test/examples/tests.jl b/test/examples/tests.jl index 5b72b8e8a4..d64cfa8ead 100644 --- a/test/examples/tests.jl +++ b/test/examples/tests.jl @@ -1,5 +1,6 @@ using Test import JSON +import Base64 # DOCUMENTER_TEST_EXAMPLES can be used to control which builds are performed in # make.jl. But for the tests we need to make sure that all the relevant builds @@ -76,7 +77,7 @@ all_md_files_in_src = let srcdir = joinpath(@__DIR__, "src"), mdfiles = String[] end mdfiles end -@test length(all_md_files_in_src) == 25 +@test length(all_md_files_in_src) == 27 @testset "Examples" begin @testset "HTML: deploy/$name" for (doc, name) in [ @@ -183,19 +184,27 @@ end @test haskey(siteinfo_json["documenter"], "generation_timestamp") end - @testset "at-example outputs" begin - # From src/index.md - @test isfile(joinpath(build_dir, "index-40245173.png")) - @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - # From src/example-output.md - @test isfile(joinpath(build_dir, "example-output", "40245173.png")) - @test read(joinpath(build_dir, "example-output", "40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - # From src/outputs/index.md - @test isfile(joinpath(build_dir, "outputs", "index-40245173.png")) - @test read(joinpath(build_dir, "outputs", "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - # From src/outputs/outputs.md - @test isfile(joinpath(build_dir, "outputs", "outputs", "40245173.png")) - @test read(joinpath(build_dir, "outputs", "outputs", "40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + @testset "at-example outputs: $fmt/$size" for ((fmt, size), data) in AT_EXAMPLE_FILES + if size === :tiny + encoded_data = Base64.base64encode(data.bytes) + @test occursin(encoded_data, read(joinpath(build_dir, "index.html"), String)) + @test occursin(encoded_data, read(joinpath(build_dir, "example-output", "index.html"), String)) + @test occursin(encoded_data, read(joinpath(build_dir, "outputs", "index.html"), String)) + @test occursin(encoded_data, read(joinpath(build_dir, "outputs", "outputs", "index.html"), String)) + else # size === :big + # From src/index.md + @test isfile(joinpath(build_dir, "index-$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "index-$(data.hash_slug).$(fmt)")) == data.bytes + # From src/example-output.md + @test isfile(joinpath(build_dir, "example-output", "$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "example-output", "$(data.hash_slug).$(fmt)")) == data.bytes + # From src/outputs/index.md + @test isfile(joinpath(build_dir, "outputs", "index-$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "outputs", "index-$(data.hash_slug).$(fmt)")) == data.bytes + # From src/outputs/outputs.md + @test isfile(joinpath(build_dir, "outputs", "outputs", "$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "outputs", "outputs", "$(data.hash_slug).$(fmt)")) == data.bytes + end end end end @@ -225,18 +234,28 @@ end @test occursin("languages/julia.min", documenterjs) @test occursin("languages/julia-repl.min", documenterjs) - # From src/index.md - @test isfile(joinpath(build_dir, "index-40245173.png")) - @test read(joinpath(build_dir, "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - # From src/example-output.md - @test isfile(joinpath(build_dir, "example-output-40245173.png")) - @test read(joinpath(build_dir, "example-output-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - # From src/outputs/index.md - @test isfile(joinpath(build_dir, "outputs", "index-40245173.png")) - @test read(joinpath(build_dir, "outputs", "index-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) - # From src/outputs/outputs.md - @test isfile(joinpath(build_dir, "outputs", "outputs-40245173.png")) - @test read(joinpath(build_dir, "outputs", "outputs-40245173.png")) == read(joinpath(@__DIR__, "images", "big.png")) + @testset "at-example outputs: $fmt/$size" for ((fmt, size), data) in AT_EXAMPLE_FILES + if size === :tiny + encoded_data = Base64.base64encode(data.bytes) + @test occursin(encoded_data, read(joinpath(build_dir, "index.html"), String)) + @test occursin(encoded_data, read(joinpath(build_dir, "example-output.html"), String)) + @test occursin(encoded_data, read(joinpath(build_dir, "outputs", "index.html"), String)) + @test occursin(encoded_data, read(joinpath(build_dir, "outputs", "outputs.html"), String)) + else # size === :big + # From src/index.md + @test isfile(joinpath(build_dir, "index-$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "index-$(data.hash_slug).$(fmt)")) == data.bytes + # From src/example-output.md + @test isfile(joinpath(build_dir, "example-output-$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "example-output-$(data.hash_slug).$(fmt)")) == data.bytes + # From src/outputs/index.md + @test isfile(joinpath(build_dir, "outputs", "index-$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "outputs", "index-$(data.hash_slug).$(fmt)")) == data.bytes + # From src/outputs/outputs.md + @test isfile(joinpath(build_dir, "outputs", "outputs-$(data.hash_slug).$(fmt)")) + @test read(joinpath(build_dir, "outputs", "outputs-$(data.hash_slug).$(fmt)")) == data.bytes + end + end end end From 7ff94f7ebe06b1aa6ef60443477f50f88b1850a7 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Mon, 11 Sep 2023 21:16:13 +1200 Subject: [PATCH 07/17] update latex refs --- test/examples/references/latex_showcase.tex | 18 +++++++++--------- test/examples/references/latex_simple.tex | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/test/examples/references/latex_showcase.tex b/test/examples/references/latex_showcase.tex index 57611537b6..2817f4dc9a 100644 --- a/test/examples/references/latex_showcase.tex +++ b/test/examples/references/latex_showcase.tex @@ -2,7 +2,7 @@ \newcommand{\DocMainTitle}{Documenter LaTeX Showcase} \newcommand{\DocVersion}{1.2.3} \newcommand{\DocAuthors}{} -\newcommand{\JuliaVersion}{1.9.2} +\newcommand{\JuliaVersion}{1.9.3} % ---- Insert preamble \input{preamble.tex} @@ -1161,7 +1161,7 @@ \chapter{Docstrings} -\href{https://example.org/Repository.jl/blob/make.jl#L27-31}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L28-32}{\texttt{source}} \end{adjustwidth} @@ -1178,7 +1178,7 @@ \chapter{Docstrings} -\href{https://example.org/Repository.jl/blob/make.jl#L34-38}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L35-39}{\texttt{source}} \end{adjustwidth} @@ -1252,7 +1252,7 @@ \section{An index of docstrings} -\href{https://example.org/Repository.jl/blob/make.jl#L41-71}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L42-72}{\texttt{source}} \end{adjustwidth} @@ -1271,7 +1271,7 @@ \section{at-autodocs} -\href{https://example.org/Repository.jl/blob/make.jl#L75-75}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L76-76}{\texttt{source}} \end{adjustwidth} @@ -1283,7 +1283,7 @@ \section{at-autodocs} -\href{https://example.org/Repository.jl/blob/make.jl#L88-88}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L89-89}{\texttt{source}} \end{adjustwidth} @@ -1295,7 +1295,7 @@ \section{at-autodocs} -\href{https://example.org/Repository.jl/blob/make.jl#L91-91}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L92-92}{\texttt{source}} \end{adjustwidth} @@ -1307,7 +1307,7 @@ \section{at-autodocs} -\href{https://example.org/Repository.jl/blob/make.jl#L85-85}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L86-86}{\texttt{source}} \end{adjustwidth} @@ -1319,7 +1319,7 @@ \section{at-autodocs} -\href{https://example.org/Repository.jl/blob/make.jl#L94-94}{\texttt{source}} +\href{https://example.org/Repository.jl/blob/make.jl#L95-95}{\texttt{source}} \end{adjustwidth} diff --git a/test/examples/references/latex_simple.tex b/test/examples/references/latex_simple.tex index e28b9e7417..b4e38abed2 100644 --- a/test/examples/references/latex_simple.tex +++ b/test/examples/references/latex_simple.tex @@ -2,7 +2,7 @@ \newcommand{\DocMainTitle}{Documenter LaTeX Simple Non-Docker} \newcommand{\DocVersion}{1.2.3} \newcommand{\DocAuthors}{} -\newcommand{\JuliaVersion}{1.9.2} +\newcommand{\JuliaVersion}{1.9.3} % ---- Insert preamble \input{preamble.tex} From 789f39a36bdbf9b75fc6ff35faf48d06bb244f4b Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Mon, 11 Sep 2023 22:12:43 +1200 Subject: [PATCH 08/17] handle SVG too --- src/html/HTMLWriter.jl | 15 +- test/examples/images/big.svg | 726 ++++++++++++++++++++++++++++ test/examples/make.jl | 1 + test/examples/src/example-output.md | 6 + test/examples/tests.jl | 6 + 5 files changed, 749 insertions(+), 5 deletions(-) create mode 100644 test/examples/images/big.svg diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index 0434986555..3b67c239b7 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -2239,6 +2239,7 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) return if haskey(d, MIME"text/html"()) rawhtml(d[MIME"text/html"()]) elseif haskey(d, MIME"image/svg+xml"()) + @tags img svg = d[MIME"image/svg+xml"()] svg_tag_match = match(r"]*>", svg) if svg_tag_match === nothing @@ -2246,6 +2247,10 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) # processing and just return the svg as HTML. # The svg string should be invalid but that's not our concern here. rawhtml(svg) + elseif length(svg) > dctx.ctx.settings.example_size_threshold + filename = write_data_file(dctx, svg; suffix=".svg") + @assert !isnothing(filename) + img[:src => filename, :alt => "Example block output"] else # The xmlns attribute has to be present for data:image/svg+xml # to work (https://stackoverflow.com/questions/18467982). @@ -2283,13 +2288,13 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) end elseif haskey(d, MIME"image/png"()) - domify_show_image(dctx, "png", d) + domify_show_image_binary(dctx, "png", d) elseif haskey(d, MIME"image/webp"()) - domify_show_image(dctx, "webp", d) + domify_show_image_binary(dctx, "webp", d) elseif haskey(d, MIME"image/gif"()) - domify_show_image(dctx, "gif", d) + domify_show_image_binary(dctx, "gif", d) elseif haskey(d, MIME"image/jpeg"()) - domify_show_image(dctx, "jpeg", d) + domify_show_image_binary(dctx, "jpeg", d) elseif haskey(d, MIME"text/latex"()) # If the show(io, ::MIME"text/latex", x) output is already wrapped in \[ ... \] or $$ ... $$, we # unwrap it first, since when we output Markdown.LaTeX objects we put the correct @@ -2317,7 +2322,7 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) end end -function domify_show_image(dctx::DCtx, filetype::AbstractString, d::Dict{MIME,Any}) +function domify_show_image_binary(dctx::DCtx, filetype::AbstractString, d::Dict{MIME,Any}) @tags img mime_name = "image/$filetype" mime = MIME{Symbol(mime_name)}() diff --git a/test/examples/images/big.svg b/test/examples/images/big.svg new file mode 100644 index 0000000000..7f22dcdae5 --- /dev/null +++ b/test/examples/images/big.svg @@ -0,0 +1,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/examples/make.jl b/test/examples/make.jl index 4e14d93430..b08e34410d 100644 --- a/test/examples/make.jl +++ b/test/examples/make.jl @@ -161,6 +161,7 @@ const AT_EXAMPLE_FILES = Dict( ("gif", :big) => MIMEBytes("image/gif", read(joinpath(@__DIR__, "images", "big.gif"))), ("jpeg", :tiny) => MIMEBytes("image/jpeg", read(joinpath(@__DIR__, "images", "tiny.jpeg"))), ) +SVG_BIG = MIMEBytes("image/svg+xml", read(joinpath(@__DIR__, "images", "big.svg"))) # Helper functions function withassets(f, assets...) diff --git a/test/examples/src/example-output.md b/test/examples/src/example-output.md index fdef75cac1..417b5d8008 100644 --- a/test/examples/src/example-output.md +++ b/test/examples/src/example-output.md @@ -30,3 +30,9 @@ Main.AT_EXAMPLE_FILES[("gif", :big)] ```@example Main.AT_EXAMPLE_FILES[("jpeg", :tiny)] ``` + +### SVG output + +```@example +Main.SVG_BIG +``` diff --git a/test/examples/tests.jl b/test/examples/tests.jl index d64cfa8ead..29f31a8753 100644 --- a/test/examples/tests.jl +++ b/test/examples/tests.jl @@ -206,6 +206,9 @@ end @test read(joinpath(build_dir, "outputs", "outputs", "$(data.hash_slug).$(fmt)")) == data.bytes end end + # SVG on src/example-output.md + @test isfile(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug).svg")) + @test read(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug).svg")) == SVG_BIG.bytes end end @@ -256,6 +259,9 @@ end @test read(joinpath(build_dir, "outputs", "outputs-$(data.hash_slug).$(fmt)")) == data.bytes end end + # SVG on src/example-output.md + @test isfile(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug).svg")) + @test read(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug).svg")) == SVG_BIG.bytes end end From afeb75d1b2abc7166752c5e00675c8b62ee0bea3 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 12 Sep 2023 10:05:15 +1200 Subject: [PATCH 09/17] Update src/html/HTMLWriter.jl --- src/html/HTMLWriter.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index 3b67c239b7..dc87272dd6 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -2247,7 +2247,7 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) # processing and just return the svg as HTML. # The svg string should be invalid but that's not our concern here. rawhtml(svg) - elseif length(svg) > dctx.ctx.settings.example_size_threshold + elseif length(svg) >= dctx.ctx.settings.example_size_threshold filename = write_data_file(dctx, svg; suffix=".svg") @assert !isnothing(filename) img[:src => filename, :alt => "Example block output"] From 7733d13bce8c6877de27b6d4e665dce43baf1cfb Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 12 Sep 2023 14:00:24 +1200 Subject: [PATCH 10/17] Update src/html/HTMLWriter.jl Co-authored-by: Oscar Dowson --- src/html/HTMLWriter.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index dc87272dd6..18778cd72e 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -524,7 +524,7 @@ struct HTML <: Documenter.Writer end if isnothing(example_size_threshold) example_size_threshold = typemax(Int) - elseif example_size_threshold <= 0 + elseif example_size_threshold < 0 throw(ArgumentError("example_size_threshold must be non-negative, got $(example_size_threshold)")) end isa(edit_link, Default) && (edit_link = edit_link[]) From e86e28a6a902c5905c3a23717f18a115c9db816e Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 12 Sep 2023 14:00:29 +1200 Subject: [PATCH 11/17] Update src/html/HTMLWriter.jl Co-authored-by: Oscar Dowson --- src/html/HTMLWriter.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index 18778cd72e..d2281e47d1 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -365,7 +365,7 @@ documentation. **`example_size_threshold`** specifies the size threshold above which the `@example` and other block outputs get written to files, rather than being included in the HTML page. This mechanism is present to reduce the size of the generated HTML files that contain a lot of figures etc. -Setting it to `nothing` will disable writing to files, and setting to `0` means that all files +Setting it to `nothing` will disable writing to files, and setting to `0` means that all examples will be written to files. Defaults to `1 KiB`. **`size_threshold`** sets the maximum allowed HTML file size (in bytes) that Documenter is allowed to From b8ea2c45f09b2205c71b56518714b4ea7e0b44b6 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 12 Sep 2023 17:00:06 +1200 Subject: [PATCH 12/17] add text/html handling --- CHANGELOG.md | 2 + src/html/HTMLWriter.jl | 63 +++++++++++++++++++++++------- test/examples/images/big.gif | Bin 1987 -> 26988 bytes test/examples/images/big.png | Bin 63435 -> 72716 bytes test/examples/images/big.webp | Bin 1392 -> 20896 bytes test/examples/src/assets/logo.gif | Bin 0 -> 10370 bytes test/examples/src/assets/logo.jpg | Bin 0 -> 4910 bytes test/examples/src/assets/logo.png | Bin 0 -> 33228 bytes 8 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 test/examples/src/assets/logo.gif create mode 100644 test/examples/src/assets/logo.jpg create mode 100644 test/examples/src/assets/logo.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 62f67ebc68..d8df757c32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,6 +128,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * The search UI has had a complete overhaul, with a fresh new modal UI with better context for search results and a filter mechanism to remove unwanted results. The client-side search engine has been changed from LunrJs to MinisearchJs. ([#1437], [#2141], [#2147], [#2202]) +* The HTML output will automatically write larger `@example`-block outputs to files, to make the generated HTML files smaller. The size threshold can be controlled with the `example_size_threshold` option to `HTML`. ([#2143], [#2247]) + ### Fixed * Line endings in Markdown source files are now normalized to `LF` before parsing, to work around [a bug in the Julia Markdown parser][julia-29344] where parsing is sensitive to line endings, and can therefore cause platform-dependent behavior. ([#1906]) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index d2281e47d1..c504e36740 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -366,7 +366,7 @@ documentation. outputs get written to files, rather than being included in the HTML page. This mechanism is present to reduce the size of the generated HTML files that contain a lot of figures etc. Setting it to `nothing` will disable writing to files, and setting to `0` means that all examples -will be written to files. Defaults to `1 KiB`. +will be written to files. Defaults to `8 KiB`. **`size_threshold`** sets the maximum allowed HTML file size (in bytes) that Documenter is allowed to generate for a page. If the generated HTML file is larged than this, Documenter will throw an error and @@ -476,7 +476,10 @@ struct HTML <: Documenter.Writer highlightjs :: Union{String,Nothing} = nothing, size_threshold :: Union{Integer, Nothing} = 200 * 2^10, # 200 KiB size_threshold_warn :: Union{Integer, Nothing} = 100 * 2^10, # 100 KiB - example_size_threshold :: Union{Integer, Nothing} = 2^10, # 1 KiB + # The choice of the default here is that having ~10 figures on a page + # seems reasonable, and that would lead to ~80 KiB, which is still fine + # and leaves a buffer before hitting `size_threshold_warn`. + example_size_threshold :: Union{Integer, Nothing} = 8 * 2^10, # 8 KiB # deprecated keywords edit_branch :: Union{String, Nothing, Default} = Default(nothing), @@ -2236,21 +2239,33 @@ domify(dctx::DCtx, node::Node, moe::Documenter.MultiOutputElement) = Base.invoke function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) rawhtml(code) = Tag(Symbol("#RAW#"))(code) - return if haskey(d, MIME"text/html"()) - rawhtml(d[MIME"text/html"()]) - elseif haskey(d, MIME"image/svg+xml"()) + # Our first preference for the MIME type is 'text/html', which we can natively include + # in the HTML. But it might happen that it's too large (above example_size_threshold), + # in which case we move on to trying to write it as an image. + has_text_html = false + if haskey(d, MIME"text/html"()) + if length(d[MIME"text/html"()]) < dctx.ctx.settings.example_size_threshold + # If the size threshold is met, we can just return right away + return rawhtml(d[MIME"text/html"()]) + end + # We'll set has_text_html to distinguish it from the case where the 'text/html' MIME + # show() method was simply missing. + has_text_html = true + end + # If text/html failed, we try to write the output as an image, possibly to a file. + image = if haskey(d, MIME"image/svg+xml"()) @tags img svg = d[MIME"image/svg+xml"()] svg_tag_match = match(r"]*>", svg) - if svg_tag_match === nothing + dom = if length(svg) >= dctx.ctx.settings.example_size_threshold + filename = write_data_file(dctx, svg; suffix=".svg") + @assert !isnothing(filename) + img[:src => filename, :alt => "Example block output"] + elseif svg_tag_match === nothing # There is no svg tag so we don't do any more advanced # processing and just return the svg as HTML. # The svg string should be invalid but that's not our concern here. rawhtml(svg) - elseif length(svg) >= dctx.ctx.settings.example_size_threshold - filename = write_data_file(dctx, svg; suffix=".svg") - @assert !isnothing(filename) - img[:src => filename, :alt => "Example block output"] else # The xmlns attribute has to be present for data:image/svg+xml # to work (https://stackoverflow.com/questions/18467982). @@ -2286,7 +2301,7 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) rawhtml(string("")) end - + (; dom = dom, mime = "image/svg+xml") elseif haskey(d, MIME"image/png"()) domify_show_image_binary(dctx, "png", d) elseif haskey(d, MIME"image/webp"()) @@ -2295,7 +2310,26 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) domify_show_image_binary(dctx, "gif", d) elseif haskey(d, MIME"image/jpeg"()) domify_show_image_binary(dctx, "jpeg", d) - elseif haskey(d, MIME"text/latex"()) + end + # If image is nothing, then the object did not have any of the supported image + # representations. In that case, if the 'text/html' representation exists, we use that, + # but with a warning because it goes over the size limit. If 'text/html' was missing too, + # we carry on to additional MIME types. + if has_text_html && isnothing(image) + @warn """ + The 'text/html' representation of an @example block is above the threshold, but no supported image representation is present as an alternative. + """ page = dctx.navnode.page example_size = length(d[MIME"text/html"()]) example_size_threshold = dctx.ctx.settings.example_size_threshold + return rawhtml(d[MIME"text/html"()]) + elseif has_text_html && !isnothing(image) + @warn """ + The 'text/html' representation of an @example block is above the threshold, falling back to '$(image.mime)' representation. + """ page = dctx.navnode.page example_size = length(d[MIME"text/html"()]) example_size_threshold = dctx.ctx.settings.example_size_threshold + return image.dom + elseif !has_text_html && !isnothing(image) + return image.dom + end + # Check for some 'fallback' MIMEs, defaulting to 'text/plain' if we can't find any of them. + return if haskey(d, MIME"text/latex"()) # If the show(io, ::MIME"text/latex", x) output is already wrapped in \[ ... \] or $$ ... $$, we # unwrap it first, since when we output Markdown.LaTeX objects we put the correct # delimiters around it anyway. @@ -2316,7 +2350,7 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) elseif haskey(d, MIME"text/plain"()) @tags pre text = d[MIME"text/plain"()] - return pre[".documenter-example-output"](domify_ansicoloredtext(text, "nohighlight hljs")) + pre[".documenter-example-output"](domify_ansicoloredtext(text, "nohighlight hljs")) else error("this should never happen.") end @@ -2332,12 +2366,13 @@ function domify_show_image_binary(dctx::DCtx, filetype::AbstractString, d::Dict{ data_base64 = d[mime] filename = write_data_file(dctx, Base64.base64decode(data_base64); suffix=".$filetype") alt = (:alt => "Example block output") - if isnothing(filename) + dom = if isnothing(filename) src = string("data:$(mime_name);base64,", data_base64) img[:src => src, alt] else img[:src => filename, alt] end + (; dom, mime = mime_name) end # filehrefs diff --git a/test/examples/images/big.gif b/test/examples/images/big.gif index 5be54eb6a3b87d521744c3cbd12a990121c53c05..65e7f813b1ba323257490e0e3c516f981d9b0f03 100644 GIT binary patch literal 26988 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

!n$2c0R!D))qqU&5u-XmSkKYKY8_%l%iXD5|v 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 EU$8*NF8}}l literal 63435 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 diff --git a/test/examples/images/big.webp b/test/examples/images/big.webp index abddc532604b49f0c55d547ba26d5576d11b09c1..696427a54fb11599ab870fa2e84bd4dd9bd388d0 100644 GIT binary patch literal 20896 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 literal 1392 zcmV-$1&{htNk&F!1pok7MM6+kP&il$0000G0001E003hE06|PpNYMcR00EFgYqx1T z>+mVIZQE95+qP}1OK00QI@@+><7&q_Ypp+ZB4PsQKN9n_7&dFc{BhkXJFsf3eH=5t zeRHC_g{bk#sQJq$L*ZoI6*U1~EQ+PcdlT%twn(N$P0*pCI2Iemuf0&rGOQoUV8{~X zF}E!U&kXkr1f3203m?EUJ~KgIxtM_K`ZgMYp+t4hB$!s(GDSp8)7IFCT%m1K;`PxzzGDQidyMO= zkATiF#Re0^+;4dH6UdfdIj$1SKB3@l*f^-whk#;-2x_4lfxPNUXve?!tG5e%!t0E> z9{PjOtx53&I7AVUNMXe;(YUQ2|U=r7r#cylZtAPwuwe{=P#A zG}YU+542edByPQyK{wBa!>-vV_=eeFlx@ISKNX0awRmed5d4Z&m`g#(TaG;q0JnHa z_F@1s77>_2U#r$Lvsg^?^0f19PfO@e%XGK z`%8Mh^Z@?d{sXLw^sm@M%Zu3a_bbu3!3NM800s7loEi%YdtyLK?#yoOMt8&qokp*# zmP2DE{n~i%Nv1IsWzVTuyJv=h*=;ENz}kgb{syDoJ>mI}To*WuKccGy+oQSK4_Rmp z3N`gYA*SedlGoT~H@!Fo_ZavM+63v4Ks`0JsjK$#0Umw;0RH>^P$juT(bN}ugmG`W zEAlX)y#{_1h6H%x@SgUfZeE*^NkWl?jf9(PGjGxWW|kn(xGqzIx^y9MeNzuUq1Nf{ zfpXnYL$P}}u#vU<#dfWMkL#J}zNNwXDSr6!%m18U2fmo8$)fx8#nX$(q2PW1va!z* z9ub4ZKvV@Z<;))f%E2KrnxdQYfsX43!lQO%Z*mD=gO8z(C&KlCsTclS!h8guj;=<; zG(z`j=(43Q$6*cq6+#!}X}lK%{C~+QM^kCW#~MMv|Biz9z~!=D$vmL0X>V^w;9zvR z&r)kT>^F=cxN^d5$jzs<@DoM5JL$+{O3S5eR83=%`G;!egPF&^|A|YdFlEzL^&cOQ z`U!#v%PD*#3w5!cbZ`PjDIGzFa!@6r#%ezN=7!CFDv%%v2`kE$I^*Q8d(uWJtfcgp z4xu%0AMkUSe8chcF``s&qkOOGITe5pfZx#S{;w*pV{qL!-8hf0Y3(OTiABzk=bA9K zD-TmP#+?~Zs@XamOP?k!oZwxDBmZ)9OX1zxSt5(QP?+M@r+3Q2XGiOX6;-T4YP1Fq z83D*6K!%f*w{-@!E~9JaCaVF`fIlxM3_|8~O?(WPxaecdzbzth^&Rq>*EBwu-6TkW zGm*-#ix@#CAcXz2J^+S}+=2l(>_r=2xoK>Ed}ZM~L_hy17Y{0{TXS8;C|Qe~PWn@B z+EfB?aW0Gae86(L^jO9O-zJcIAOV{dOrv_T$^EGA@1N(SZ$wcYz}ueSJck7Wlb~z) zC!}z5dzA>h1a&496|!8^+&e2P`*KH5I yh9nQ#-RL_}dFEr^h3uBc{G0hAf~Woht7g1{MW5x*t`y->W0tucr{=(fKmY)85U3vj diff --git a/test/examples/src/assets/logo.gif b/test/examples/src/assets/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbf8f6d3713bb8ba535bf13f9ea17782918bb7b1 GIT binary patch literal 10370 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 literal 0 HcmV?d00001 diff --git a/test/examples/src/assets/logo.jpg b/test/examples/src/assets/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ffac37899b4bd5fc6d41ef103b8d50a6a4b3def GIT binary patch literal 4910 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 TJ=xTWw(^_vOXd&rja~l*7pM;4 literal 0 HcmV?d00001 diff --git a/test/examples/src/assets/logo.png b/test/examples/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0c8a1be405a1b348389887d404f1cf15e10b81 GIT binary patch literal 33228 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 cu!HzclJpNJJRYIe4*>m1h{y_82 Date: Tue, 12 Sep 2023 17:07:55 +1200 Subject: [PATCH 13/17] remove temp files --- test/examples/src/assets/logo.gif | Bin 10370 -> 0 bytes test/examples/src/assets/logo.jpg | Bin 4910 -> 0 bytes test/examples/src/assets/logo.png | Bin 33228 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test/examples/src/assets/logo.gif delete mode 100644 test/examples/src/assets/logo.jpg delete mode 100644 test/examples/src/assets/logo.png diff --git a/test/examples/src/assets/logo.gif b/test/examples/src/assets/logo.gif deleted file mode 100644 index bbf8f6d3713bb8ba535bf13f9ea17782918bb7b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10370 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 diff --git a/test/examples/src/assets/logo.jpg b/test/examples/src/assets/logo.jpg deleted file mode 100644 index 8ffac37899b4bd5fc6d41ef103b8d50a6a4b3def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4910 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 TJ=xTWw(^_vOXd&rja~l*7pM;4 diff --git a/test/examples/src/assets/logo.png b/test/examples/src/assets/logo.png deleted file mode 100644 index 3c0c8a1be405a1b348389887d404f1cf15e10b81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33228 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 cu!HzclJpNJJRYIe4*>m1h{y_82 Date: Thu, 14 Sep 2023 19:10:48 +1200 Subject: [PATCH 14/17] fix bad merge --- src/html/HTMLWriter.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index b4572eb9d5..d0de159c86 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -482,12 +482,10 @@ struct HTML <: Documenter.Writer highlightjs :: Union{String,Nothing} = nothing, size_threshold :: Union{Integer, Nothing} = 200 * 2^10, # 200 KiB size_threshold_warn :: Union{Integer, Nothing} = 100 * 2^10, # 100 KiB + size_threshold_ignore :: Vector = String[], # The choice of the default here is that having ~10 figures on a page # seems reasonable, and that would lead to ~80 KiB, which is still fine # and leaves a buffer before hitting `size_threshold_warn`. - size_threshold :: Union{Integer, Nothing} = 200 * 2^10, - size_threshold_warn :: Union{Integer, Nothing} = 100 * 2^10, - size_threshold_ignore :: Vector = String[], example_size_threshold :: Union{Integer, Nothing} = 8 * 2^10, # 8 KiB # deprecated keywords From 70a18125f685e6d206800fa7bec130772345db49 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Thu, 14 Sep 2023 19:19:14 +1200 Subject: [PATCH 15/17] add multi mime tests --- test/examples/make.jl | 13 +++++++++++++ test/examples/src/example-output.md | 14 ++++++++++++++ test/examples/tests.jl | 10 ++++++++++ 3 files changed, 37 insertions(+) diff --git a/test/examples/make.jl b/test/examples/make.jl index 391d1a36ea..d574882063 100644 --- a/test/examples/make.jl +++ b/test/examples/make.jl @@ -162,6 +162,19 @@ const AT_EXAMPLE_FILES = Dict( ("jpeg", :tiny) => MIMEBytes("image/jpeg", read(joinpath(@__DIR__, "images", "tiny.jpeg"))), ) SVG_BIG = MIMEBytes("image/svg+xml", read(joinpath(@__DIR__, "images", "big.svg"))) +SVG_HTML = MIMEBytes("text/html", read(joinpath(@__DIR__, "images", "big.svg"))) + +struct MultiMIMESVG + bytes :: Vector{UInt8} + hash_slug :: String + function MultiMIMESVG(bytes::AbstractVector{UInt8}) + hash_slug = bytes2hex(SHA.sha1(bytes))[1:8] + new(bytes, hash_slug) + end +end +Base.show(io::IO, ::MIME"image/svg+xml", obj::MultiMIMESVG) = write(io, obj.bytes) +Base.show(io::IO, ::MIME"text/html", obj::MultiMIMESVG) = write(io, obj.bytes) +SVG_MULTI = MultiMIMESVG(read(joinpath(@__DIR__, "images", "big.svg"))) # Helper functions function withassets(f, assets...) diff --git a/test/examples/src/example-output.md b/test/examples/src/example-output.md index 417b5d8008..40121eb112 100644 --- a/test/examples/src/example-output.md +++ b/test/examples/src/example-output.md @@ -36,3 +36,17 @@ Main.AT_EXAMPLE_FILES[("jpeg", :tiny)] ```@example Main.SVG_BIG ``` + +### `text/html` fallbacks + +SVG with just `text/html` output (in practice, `DataFrame`s and such would fall into this category): + +```@example +Main.SVG_HTML +``` + +SVG with both `text/html` and `image/svg+xml` MIME, in which case we expect to pick the image one (because text is too big) and write it to a file. + +```@example +Main.SVG_MULTI +``` diff --git a/test/examples/tests.jl b/test/examples/tests.jl index fa3d5dcc15..b01201f4b5 100644 --- a/test/examples/tests.jl +++ b/test/examples/tests.jl @@ -209,6 +209,11 @@ end # SVG on src/example-output.md @test isfile(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug).svg")) @test read(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug).svg")) == SVG_BIG.bytes + # SVG on src/example-output.md, from Main.SVG_MULTI + @test isfile(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug)-001.svg")) + @test read(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug).svg")) == SVG_BIG.bytes + # .. but, crucially, Main.SVG_HTML did _not_ get written out. + @test !isfile(joinpath(build_dir, "example-output", "$(SVG_BIG.hash_slug)-002.svg")) end end @@ -262,6 +267,11 @@ end # SVG on src/example-output.md @test isfile(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug).svg")) @test read(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug).svg")) == SVG_BIG.bytes + # SVG on src/example-output.md, from Main.SVG_MULTI + @test isfile(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug)-001.svg")) + @test read(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug).svg")) == SVG_BIG.bytes + # .. but, crucially, Main.SVG_HTML did _not_ get written out. + @test !isfile(joinpath(build_dir, "example-output-$(SVG_BIG.hash_slug)-002.svg")) end end From d67559e442e01aeb8bd3dfe140cac954ea1e6844 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Thu, 14 Sep 2023 19:54:42 +1200 Subject: [PATCH 16/17] Just print a single error --- src/html/HTMLWriter.jl | 64 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index d0de159c86..80ffb3c9f4 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -598,6 +598,12 @@ struct SearchRecord text :: String end +Base.@kwdef struct AtExampleFallbackWarning + page::String + size_bytes::Int + fallback::Union{String,Nothing} +end + """ [`HTMLWriter`](@ref)-specific globals that are passed to `domify` and other recursive functions. @@ -612,12 +618,14 @@ mutable struct HTMLContext search_index :: Vector{SearchRecord} search_index_js :: String search_navnode :: Documenter.NavNode -end + atexample_warnings::Vector{AtExampleFallbackWarning} -HTMLContext(doc, settings=nothing) = HTMLContext( - doc, settings, [], "", "", "", [], "", - Documenter.NavNode("search", "Search", nothing), -) + HTMLContext(doc, settings=nothing) = new( + doc, settings, [], "", "", "", [], "", + Documenter.NavNode("search", "Search", nothing), + AtExampleFallbackWarning[], + ) +end struct DCtx # ctx and navnode were recursively passed to all domify() methods @@ -742,6 +750,32 @@ function render(doc::Documenter.Document, settings::HTML=HTML()) @debug "Rendering $(page) [$(repr(idx))]" render_page(ctx, nn) end + # ctx::HTMLContext might have accumulated some warnings about large at-example blocks + # If so, we'll report them here in one big warning (rather than one each). + if !isempty(ctx.atexample_warnings) + msg = """ + For $(length(ctx.atexample_warnings)) @example blocks, the 'text/html' representation of the resulting + object is above the the threshold (example_size_threshold: $(ctx.settings.example_size_threshold) bytes). + """ + fallbacks = unique(w.fallback for w in ctx.atexample_warnings) + # We'll impose some regular order, but importantly we want 'nothing'-s on the top + for fallback in sort(fallbacks, by = s -> isnothing(s) ? "" : s) + warnings = filter(w -> w.fallback == fallback, ctx.atexample_warnings) + n_warnings = length(warnings) + largest_size = maximum(w -> w.size_bytes, warnings) + msg *= if isnothing(fallback) + """ + - $(n_warnings) blocks had no image MIME show() method representation as an alternative. + Sticking to the 'text/html' representation (largest block is $(largest_size) bytes). + """ + else + """ + - $(n_warnings) blocks had '$(fallback)' fallback image representation available, using that. + """ + end + end + @warn(msg) + end # Check that all HTML files are smaller or equal to size_threshold option all(size_limit_successes) || throw(HTMLSizeThresholdError()) @@ -2330,14 +2364,22 @@ function domify(dctx::DCtx, node::Node, d::Dict{MIME,Any}) # but with a warning because it goes over the size limit. If 'text/html' was missing too, # we carry on to additional MIME types. if has_text_html && isnothing(image) - @warn """ - The 'text/html' representation of an @example block is above the threshold, but no supported image representation is present as an alternative. - """ page = dctx.navnode.page example_size = length(d[MIME"text/html"()]) example_size_threshold = dctx.ctx.settings.example_size_threshold + # The 'text/html' representation of an @example block is above the threshold, but no + # supported image representation is present as an alternative. + push!(dctx.ctx.atexample_warnings, AtExampleFallbackWarning( + page = dctx.navnode.page, + size_bytes = length(d[MIME"text/html"()]), + fallback = nothing, + )) return rawhtml(d[MIME"text/html"()]) elseif has_text_html && !isnothing(image) - @warn """ - The 'text/html' representation of an @example block is above the threshold, falling back to '$(image.mime)' representation. - """ page = dctx.navnode.page example_size = length(d[MIME"text/html"()]) example_size_threshold = dctx.ctx.settings.example_size_threshold + # The 'text/html' representation of an @example block is above the threshold, + # falling back to '$(image.mime)' representation. + push!(dctx.ctx.atexample_warnings, AtExampleFallbackWarning( + page = dctx.navnode.page, + size_bytes = length(d[MIME"text/html"()]), + fallback = image.mime, + )) return image.dom elseif !has_text_html && !isnothing(image) return image.dom From 175f7ddf93507b0f875642f8c48e2e49d47c68a6 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Thu, 14 Sep 2023 20:14:37 +1200 Subject: [PATCH 17/17] also print pages --- src/html/HTMLWriter.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/html/HTMLWriter.jl b/src/html/HTMLWriter.jl index 80ffb3c9f4..7ddf2789e3 100644 --- a/src/html/HTMLWriter.jl +++ b/src/html/HTMLWriter.jl @@ -773,6 +773,8 @@ function render(doc::Documenter.Document, settings::HTML=HTML()) - $(n_warnings) blocks had '$(fallback)' fallback image representation available, using that. """ end + pages = sort(unique(w.page for w in warnings)) + msg *= " On pages: $(join(pages, ", "))\n" end @warn(msg) end