diff options
-rw-r--r-- | .build.yml | 1 | ||||
-rw-r--r-- | _css/style.css | 21 | ||||
-rw-r--r-- | _layout/page_foot.html | 18 | ||||
-rw-r--r-- | _rss/comments.xml (renamed from _rss/comment-head.xml) | 0 | ||||
-rw-r--r-- | _templates/formbox.xml (renamed from _rss/comment-item.xml) | 0 | ||||
-rw-r--r-- | _templates/openring.html | 12 | ||||
-rw-r--r-- | blog/2020/gsoc/index.md | 1 | ||||
-rw-r--r-- | blog/index.md | 4 | ||||
-rw-r--r-- | config.md | 4 | ||||
-rw-r--r-- | index.md | 12 | ||||
-rw-r--r-- | utils.jl | 24 |
11 files changed, 73 insertions, 24 deletions
diff --git a/.build.yml b/.build.yml index 9f0bfb6..a2c3429 100644 --- a/.build.yml +++ b/.build.yml @@ -3,6 +3,7 @@ oauth: lists.sr.ht/EMAILS:RO pages.sr.ht/PAGES:RW packages: - julia - katex + - openring-git - python-pip sources: - https://git.sr.ht/~cnx/site diff --git a/_css/style.css b/_css/style.css index 5185744..990a1ab 100644 --- a/_css/style.css +++ b/_css/style.css @@ -232,3 +232,24 @@ code, .hljs { .hljs-subst, .hljs-symbol, .hljs-selector-id, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-template-tag, .hljs-template-variable, .hljs-addition { color: var(--red) } + +.openring { + display: flex; + flex-wrap: wrap; + margin: -0.5rem; +} +.openring .title, .openring .source { margin: 0 } +.openring .article { + background: var(--block-bg); + display: flex; + flex-direction: column; + flex: 1 1 0; + margin: 1ex; + min-width: 15rem; + padding: 1ex; +} +.right { + color: var(--fade-fg); + font-size: 80%; + text-align: right; +} diff --git a/_layout/page_foot.html b/_layout/page_foot.html index c7b7bca..8d8f783 100644 --- a/_layout/page_foot.html +++ b/_layout/page_foot.html @@ -1,11 +1,17 @@ -{{isnotpage /tag/*}}{{isnotempty rss}}<div class=comments> +{{isnotpage /tag/*}}{{isnotempty rss}}<section class=comments> <a href='{{mailto_comment}}'>Reply via email</a> -</div>{{end}}{{end}} -<div class=page-foot> +</section>{{end}}{{end}} +<section class=page-foot> {{copyright}}; See <a href=/COPYING>license terms</a><br> + {{isnotpage /tag/*}}Last modified: {{author_date}}; View <a href=https://git.sr.ht/~cnx/site/tree/main/item/{{fd_rpath}}>page source</a><br>{{end}} - A website by <a href=https://julialang.org>Julia</a> - <a href=https://franklinjl.org>Franklin</a> -</div> + + Part of <a href=https://fediring.net>Fediring</a>; Visit neighbor on the + <a href={{fediring previous}}>left</a>/<a href={{fediring next}}>right</a><br> + + <a href={{job_url}}>Built on sr.ht</a> + by <a href=https://julialang.org>Julia</a> + <a href=https://franklinjl.org>Franklin</a><br> +</section> diff --git a/_rss/comment-head.xml b/_rss/comments.xml index be8fa6c..be8fa6c 100644 --- a/_rss/comment-head.xml +++ b/_rss/comments.xml diff --git a/_rss/comment-item.xml b/_templates/formbox.xml index 2078071..2078071 100644 --- a/_rss/comment-item.xml +++ b/_templates/formbox.xml diff --git a/_templates/openring.html b/_templates/openring.html new file mode 100644 index 0000000..a585f17 --- /dev/null +++ b/_templates/openring.html @@ -0,0 +1,12 @@ +<section class=openring> + {{range .Articles}} + <div class=article> + <h3 class=title><a href='{{.Link}}'>{{.Title}}</a></h3> + {{.Summary}}<br> + <small class=right>—<a href='{{.SourceLink}}'>{{.SourceTitle}}</a>, + {{.Date | datef "2006-01-02"}}</small> + </div> + {{end}} +</section> +<small class=right>Generated by + <a href=https://git.sr.ht/~sircmpwn/openring>openring</a></small> diff --git a/blog/2020/gsoc/index.md b/blog/2020/gsoc/index.md index e345cd1..2e32563 100644 --- a/blog/2020/gsoc/index.md +++ b/blog/2020/gsoc/index.md @@ -2,6 +2,7 @@ title = "Google Summer of Code 2020" rss = "GSoC 2020 final report" date = Date(2020, 8, 31) +rss_pubdate = date # work around Franklin issue GH-797 tags = ["fun", "gsoc", "packaging", "pip"] internship = "https://summerofcode.withgoogle.com/archive/2020/projects/6238594655584256" benchmark = "/blog/2020/gsoc/article/7/#the_benchmark" diff --git a/blog/index.md b/blog/index.md index 68d57aa..a3fcc64 100644 --- a/blog/index.md +++ b/blog/index.md @@ -10,3 +10,7 @@ As usual, the good old [RSS feed]({{fd_rss_feed_url}}) is available. If you are instead looking for the more formal literatures of mine, they are listed in [my ORCID profile](https://orcid.org/0000-0003-2336-706X). + +## See Also + +{{openring}} diff --git a/config.md b/config.md index c63251b..c3173a0 100644 --- a/config.md +++ b/config.md @@ -7,8 +7,8 @@ website_url = "https://cnx.srht.site" date_format = "yyyy-mm-dd" mintoclevel = 2 generate_rss = true -ignore = ["Manifest.toml", "Project.toml", ".build.jl", ".build.yml", - "mbox", "node_modules/", "package-lock.json"] +ignore = [".build.jl", ".build.yml", "Manifest.toml", "Project.toml", + "_templates/", "mbox", "node_modules/", "package-lock.json"] +++ \newcommand{\R}{\mathbb R} diff --git a/index.md b/index.md index 914a483..2656537 100644 --- a/index.md +++ b/index.md @@ -1,7 +1,7 @@ # About Me Hi! [My name is] Nguyễn Gia Phong and I'm a Vietnamese [free software] -enthusiast. I am generally interested in programming languages, +enthusiast who is generally interested in programming languages, concurrency, reproducibility and decentralization. In meatspace I also like cooking, dogs[^culture] and urban music. @@ -11,13 +11,11 @@ in the [Fediverse][]: * Pleroma: [cnx@nixnet.social] * PeerTube: [cnx@video.hardlimit.com] * SourceHut: [sr.ht/~cnx] -* Email (and XMPP): [mcsinyx@disroot.org][^pgp] +* Email: [mcsinyx@disroot.org][^xmpp][^pgp] * Matrix: [@cnx:halogen.city] -In addition, I am a member of the [250kb Club] and a [Fediverse webring]. -You might want to pay my [left] and [right] neighbors a visit! - [^culture]: Not necessarily mutually exclusive +[^xmpp]: Also XMPP, but mostly inactive [^pgp]: PGP: [27148B2C06A2224B], also on [OpenPGP] [My name is]: https://www.youtube.com/watch?v=LDj8kkVwisY @@ -28,9 +26,5 @@ You might want to pay my [left] and [right] neighbors a visit! [sr.ht/~cnx]: https://sr.ht/~cnx [mcsinyx@disroot.org]: mailto:mcsinyx@disroot.org [@cnx:halogen.city]: matrix:u/cnx:halogen.city -[250kb Club]: https://250kb.club -[Fediverse webring]: https://fediring.net -[left]: https://fediring.net/previous?host=cnx.srht.site -[right]: https://fediring.net/next?host=cnx.srht.site [27148B2C06A2224B]: https://meta.sr.ht/~cnx.pgp [OpenPGP]: https://keys.openpgp.org/search?q=27148B2C06A2224B diff --git a/utils.jl b/utils.jl index d05a254..4d43cdc 100644 --- a/utils.jl +++ b/utils.jl @@ -17,16 +17,17 @@ hfun_comments() = @sprintf("https://lists.sr.ht/~cnx/site?search=%s:%s", 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, "</channel></rss>") + write(feed, convert_html(readchomp(joinpath(path(:rss), "comments.xml")))) + #write(feed, read(`python3 formbox.py mbox $(message_id()) $item_template`, String)) end return joinpath(globvar(:website_url), rpath) end +hfun_fediring(args) = "https://fediring.net/$(args[1])?host=cnx.srht.site" +hfun_github(args) = "<a href=https://github.com/$(args[1])>@$(args[1])</a>" +hfun_job_url() = get(ENV, "JOB_URL", "https://builds.sr.ht/~cnx/site") + function hfun_mailto_comment() return @sprintf("mailto:%s?%s=%s&%s=Re: %s", "~cnx/site@lists.sr.ht", @@ -34,8 +35,17 @@ function hfun_mailto_comment() "Subject", locvar(:title)) end -hfun_github(args) = @sprintf("<a href=https://github.com/%s>@%s</a>", - args[1], args[1]) +ring_sources = ["https://blog.ganssle.io/feeds/all.atom.xml", + "https://codesections.com/rss.xml", + "https://danct12.github.io/feed.xml", + "https://drewdevault.com/feed.xml", + "https://huyngo.envs.net/index.xml", + "https://pgjones.dev/blog/rss20.xml", + "https://stallman.org/rss/rss.xml", + "https://unixsheikh.com/feed.rss"] +# TODO: joinpath +hfun_openring() = readchomp(pipeline("_templates/openring.html", + `openring -n4 -s$ring_sources`)) function hfun_pep(args) postfix = length(args) < 2 ? "" : '#' * args[2] |