using TerminalPager
using Sixel
using TerminalGat
using FileIO, ImageIO
using Markdown
using SpecialFunctions
using quarto_jll
run(`rm -f sample.pdf sample.qmd`)
frontmatter = """
---
format:
typst:
keep-typ: true
margin:
x: 2cm
y: 2cm
mainfont: "Hiragino Mincho ProN"
fontsize: "24pt"
---
"""
import REPL # allow us collect all docstring related to zeta
md = Markdown.MD(@doc zeta).content[begin]
io = IOBuffer()
println(io, frontmatter)
for t in md.content
println(io, t)
end
str = String(take!(io))
output_text = replace(str, r"```math\s*(.*?)\s*```"m => s"$$\1$$", r"``(.*?)``" => s"$\1$")
write("sample.qmd", output_text)
run(`$(quarto()) render sample.qmd --to typst`)
@assert isfile("sample.typ")
run(`$(quarto()) typst compile sample.typ sample_\{n\}.png`)
imgs = filter(readdir(".")) do f
pattern = r"^sample_[0-9]+\.png$"
m = match(pattern, f)
!isnothing(m)
end .|> load
for c in Iterators.partition(imgs, 2)
Sixel.sixel_encode(hcat(c...))
end