website/quiz: asciidoc(tor)/jekyll
Created by: dtu-compute
We might just start with the website and take the quiz in 2020.
Topics from our emails:
render mathJax server-side
Mathjax can be done server-side: https://a3nm.net/blog/selfhost_mathjax.html , https://github.com/mathjax/MathJax-docs/wiki/Mathjax-server-side . Combined with something like https://asciidoctor.org/docs/asciidoctor.js/ , I think a simple node script/server could feasibly render everything to HTML and make the pages themselves static. That would leave the rails portion of the server for auth, CMS functions, management etc…
Asciidoctor plugins
It doesn’t look like there’s a lot of information on how to actually build such a plugin; none of the examples look a lot like our use-case exactly.
Probably the best thing is to ask how what the best approach is for our case: we have a few defined directives which need to generate specific HTML in the output. I’m not sure if that’s just a filter or a filter+a backend. Of course this isn’t a blocking issue, like you mention above, there’s numerous ways for us to smuggle special syntax around the existing asciidoc. It would be much more elegant if we worked as a plugin though… MathJax itself would also be an extension, though again possibly ascii doc doesn’t even need to be aware of it, as long as it doesn’t alter the characters within the mathjax blocks.
Jekyll
All it does is compile pages. I imagine the whole system more as a static site generator compiling all the pages (which will work regardless of any web-server), a trivial web server to server the static files and a “remainder” rails app to handle dynamic pieces like auth and admin, etc… So if the web server portion goes down, only the dynamic features are impacted but everything else continues to work.