tlienart / Franklin.jl

(yet another) static site generator. Simple, customisable, fast, maths with KaTeX, code evaluation, optional pre-rendering, in Julia.
https://franklinjl.org
MIT License
932 stars 108 forks source link

no method matching parse_fenced_block(::SubString{String}, ::Bool) #1037

Closed SimonDanisch closed 10 months ago

SimonDanisch commented 10 months ago

We get:

┌ Franklin Warning: in <slidergrid.md>
│ Encountered an issue processing 'slidergrid.md' in docs/examples/blocks.
│ Verify, then re-start the Franklin server.
│ The error is displayed below:
│ MethodError(Franklin.parse_fenced_block, ("\n```julia\nusing GLMakie\n\nfig = Figure()\n\nax = Axis(fig[1, 1])\n\nsg = SliderGrid(\n    fig[1, 2],\n    (label = \"Voltage\", range = 0:0.1:10, format = \"{:.1f}V\", startvalue = 5.3),\n    (label = \"Current\", range = 0:0.1:20, format = \"{:.1f}A\", startvalue = 10.2),\n    (label = \"Resistance\", range = 0:0.1:30, format = \"{:.1f}Ω\", startvalue = 15.9),\n    width = 350,\n    tellheight = false)\n\nsliderobservables = [s.value for s in sg.sliders]\nbars = lift(sliderobservables...) do slvalues...\n    [slvalues...]\nend\n\nbarplot!(ax, bars, color = [:yellow, :orange, :red])\nylims!(ax, 0, 30)\n\nfig\n```\n", false), 0x00000000000083f4)
└
ERROR: LoadError: `fail_on_warning` is true, so exiting with error
Stacktrace:
 [1] print_warning(msg::String)
   @ Franklin ~/.julia/packages/Franklin/QvSvA/src/utils/warnings.jl:59
 [2] process_file(::Symbol, ::Pair{String, String}, ::String, ::Vararg{Any})
   @ Franklin ~/.julia/packages/Franklin/QvSvA/src/manager/file_utils.jl:110
 [3] fd_fullpass(watched_files::NamedTuple{(:other, :infra, :md, :html, :literate), NTuple{5, Dict{Pair{String, String}, Float64}}}, join_to_prepath::String)
   @ Franklin ~/.julia/packages/Franklin/QvSvA/src/manager/franklin.jl:265
 [4] serve(; clear::Bool, verb::Bool, port::Int64, single::Bool, prerender::Bool, nomess::Bool, is_final_pass::Bool, no_fail_prerender::Bool, eval_all::Bool, silent::Bool, cleanup::Bool, on_write::Franklin.var"#261#264", log::Bool, host::String, show_warnings::Bool, fail_on_warning::Bool, launch::Bool, no_set_paths::Bool, join_to_prepath::String)
   @ Franklin ~/.julia/packages/Franklin/QvSvA/src/manager/franklin.jl:126
 [5] top-level scope
   @ ~/work/Makie.jl/Makie.jl/docs/makedocs.jl:134
in expression starting at /home/runner/work/Makie.jl/Makie.jl/docs/makedocs.jl:134

caused by: MethodError: no method matching parse_fenced_block(::SubString{String}, ::Bool)

Closest candidates are:
  parse_fenced_block(::SubString; shortcut, repl, shell, pkg, help)
   @ Franklin ~/.julia/packages/Franklin/QvSvA/src/eval/codeblock.jl:12

Across the Makie CIs, e.g. here: https://github.com/MakieOrg/Makie.jl/actions/runs/5520631404/jobs/10067531747?pr=3004

I guess it's due to this diff from the newest release: https://github.com/tlienart/Franklin.jl/compare/v0.10.85...v0.10.86#diff-1067c55b37e9e4106b24ecf530c6565835f5c83ff0ccca6d77c1a08bc7934342R12

tlienart commented 10 months ago

Hmm sorry about that, I'll fix it asap

tlienart commented 10 months ago

this should be fixed, patch release (0.10.88) should cover it. Sorry this was an insignificant refactoring in the big (and somewhat unplanned) PR #1035 .

SimonDanisch commented 10 months ago

Thanks for the quick fix :)