using Printf: @sprintf using Franklin: convert_html, path function hfun_author_date() return readchomp(`git log -1 --date=short --format=%ad $(locvar(:fd_rpath))`) end function hfun_abslink(args) rpath = args[1] return @sprintf("%s", rpath, pagevar(rpath, :title)) end dir_url() = strip(dirname(locvar(:fd_url)), '/') message_id() = @sprintf("<%s@cnx>", dir_url()) hfun_comments() = @sprintf("https://lists.sr.ht/~cnx/site?search=%s:%s", "In-Reply-To", message_id()) function hfun_comment_rss() rpath = joinpath(dir_url(), "comments.xml") head_template = joinpath(path(:rss), "comment-head.xml") item_template = joinpath(path(:rss), "comment-item.xml") open(joinpath(path(:site), rpath), "w") do feed write(feed, convert_html(read(head_template, String))) write(feed, read(`python3 formbox.py mbox $(message_id()) $(item_template)`, String)) write(feed, "") end return joinpath(globvar(:website_url), rpath) end function hfun_mailto_comment() return @sprintf("mailto:%s?%s=%s&%s=Re: %s", "~cnx/site@lists.sr.ht", "In-Reply-To", message_id(), "Subject", locvar(:title)) end hfun_github(args) = @sprintf("@%s", args[1], args[1]) function hfun_pep(args) postfix = length(args) < 2 ? "" : '#' * args[2] return @sprintf( "PEP %s%s", Meta.parse(args[1]), postfix, args[1], postfix) end function hfun_pip(args) content = length(args) < 2 ? "GH-" * args[1] : args[2] return @sprintf("%s", args[1], content) end