PSBoardDataBase/docs/make_notebook_index.jl

26 lines
876 B
Julia

using Markdown
cd("src/notebooks/") do
contents =
map(readdir() |> filter(!=(".gitignore")) |> filter(!=("index.html"))) do file
last_updated = let
cmdout =
read(`git log $file`, String) |>
IOBuffer |>
eachline |>
Iterators.Stateful
@assert popfirst!(cmdout) |> startswith("commit")
@assert popfirst!(cmdout) |> startswith("Author")
dateline = popfirst!(cmdout)
chopprefix(dateline, "Date:") |> strip
end
"- [`$file`]($file) (last updated: $last_updated)"
end |> (v -> join(v, '\n'))
index_content = Markdown.parse("""
# notebooks
$(contents)
""")
open("index.html", "w") do f
show(f, MIME"text/html"(), index_content)
end
end