A coherent site structure for different publishing formats, a typographic layout for enhanced Markdown content, and good legibility on all screen sizes are the essential goals of this theme.

Perplex is an all-purpose theme for technical content. There are templates for three levels of documentation, a news stream, blog postings, author pages, and taxonomy pages. Templates for a distinct start page and articles will follow.

At the moment, the example site included in the theme shows the news section as a start page the same way this documentation does.

Design & Layout

Sample of IBM Plex Sans

The theme ships with the open-source font family Plex for optimized self-hosting. The design has taken their proportions into account from the beginning to provide a good line length for text and code blocks.

The layout adapts to all screen sizes in a fluid-responsive way. This concept has been around for a while but doesn’t get realized often despite its advantages.

Many proportions can stay fixed between breakpoints beyond mobile and this means:

  • The viewport is always used at full width when the screen space is limited.

  • The optimal line length stays fixed on all wider screens beyond mobile.

  • adjacent columns stay in sync on all larger view-ports. We can order Markdown elements beside each other instead of letting them always flow from top to bottom like a stream.

All text is placed on a baseline grid to introduce a comfortable vertical rhythm and coherence between adjacent text elements. Combined with the fluid-responsive design this allows placing images (and other block elements) in and around the text with high accuracy. There are demos for stand-alone & embedded images, or code blocks.

Usage concept

The theme is as self-sufficient as reasonably possible. Fonts and libraries are included, some libraries for plugins are retrieved from the secure and GDPR-compliant CDN https://jsdelivr.com.

Recent copies of all module dependencies are available in the _vendor folder for an easy start with the theme. No other installations than the extended binary (for WEBP) of a very recent Hugo release and the theme are required.

The installation of a GoLang environment to include the theme as a Hugo module from its repository is certainly more convenient than repeated manual downloads if you want to follow the ongoing development.

Support & development

Should you miss some information in the docs, find a bug in the templates, or have a suggestion, please file an official issue in the repositories (→ Introduction).

There will be no public support channel in the foreseeable future because improving this theme takes all my spare time. Support and collaborative development will only work bidirectional. I will not answer private questions.

In case the theme benefits from contributions and support, I’d love to turn this effort into a community project and change the license holder accordingly to assure, that contributing is never in vain.