Back in Academia

Written by Dominik Pantůček on 2026-09-24

researchracket

Today I've got a purely personal post to publish which has been probably due for quite some time. I am back in academia and I finally put up my researcher homepage a suggested by my faculty.


The website is - as expected - a statically generated set of HTML documents and media files created using Racket and Punct similarly to our website here.

Although the reasoning for using a static website is virtually the same here, some of the design decisions were different. The researcher homepage is actually compiled from HTML template which is strictly parsed using html->xexp of the html-parsing package.

The dynamic components are XML processing tags like <?content?> and they are replaced by actual content represented as SXML data structure - not a plain string. Therefore the actual template expansion is rather simple recursive algorithm which replaces any *PI* element with appropriate procedurally-generated content. Currently links, main content, special snippets, menu, logo and copyright notice are generated dynamically.

Special snippets are another distinction from what we used for our website here. The panel with the photograph and basic contact information is the only snippet that is visible but the main thing is that these snippets are now Punct documents too. No more string replacements, no more regular expressions - everything is implemented as cleanly as possible.

Another interesting part is that although this website should render reasonably in text-based browsers like elinks or Lynx, the researcher homepage was specifically designed so the text-based browsers are prime target. Of course, decent visuals on both desktop and mobile platforms was also a goal and the support for implicit dark/light theme switching according to user preferences is a must these days.

As always I hope you liked even this little notice and tune in next time for more actual research!