More Features Than You'd Expect From A Theme!

The developer of this theme worked in the technology industry, in a position known as Developer Relations. In early-stage startup companies, the "DevRel" usually gets the honor of owning all of the documentation, and this theme was made out of the experiences of helping companies get set up.

This theme is designed for anyone who has to deal with a large amount of text content, who is comfortable working with Markdown, and is adventurous enough to try some components to ease the workload.

These are the main features, though there are perks built into unexpected places.

Static Doesn't Have To Mean Stagnate! Interactive Stuff Is Included!

The first two features to offer interactive engagement experiences will be a content rating system that's currently visible on every page [in our docs site])(/docs/), with an accompanying admin plugin to view and delete feedback.

Things are working fine with DenoKV; we're also looking to implement a way to use Github Issues as well as Discord to receive submissions.

The [content rating plugin])(/docs/content-rating/) (aka anonymous feedback) is live right now.

A Fully-Featured, Interactive & SEO Optimized Blog

The blog configuration brings a lot of robust features such as:

  • Tagging & Community Tag Wiki System
  • Automatic OG Image Generation. Built for writing tutorial-style content as well as essays or even galleries.
  • RSS/JSON Feeds for all posts, as well as individual, per-tag feeds.
  • Archive Pages For Posts, Authors & Tags
  • Blog Homepage, which can become the site homepage if you want.
  • Code Syntax Highlighting with MDX lets you use a wide variety of components.
  • Auto Image Resizing: Upload blog images to uploads and fahhhhhhh-get about it.
  • Interactive Content Rating System Powered by DenoKV, Discord, GH Issues or whatever you want to use to receive the feedback. Includes DenoKV and Discord by default.
  • Uses Lume's archetype scripts for new content creation.
  • Multi-instance capable: Uses "waypoints" to bucket content by blog installs for navigation and search discernment.
  • Is still in very active development; more features are coming.

The blog is designed with a lone technical community manager or product marketing manager in mind, and has everything they'd want to handle things from release notes all the way to tutorial and thought leadership content.

Yes, documentation and landing pages are important parts of any kind of user or community portal, which is the primary use-case for Cushy Text, but the blog is where many new groups tend to spend the majority of their time in content development.

Speaking of new content development, do you want to write a new blog post? Just do this:

> lume new blog "new blog post title"

You'll have a draft in blog/ with all frontmatter filled out with defaults, and a generated image based off of the title and description that will update as you edit in serve mode. The creation experience is as important as the reading experience, from the theme's perspective.

A Bare Bones But Effective Documentation System

Documentation is written like blog posts, with a few key differences:

  • You set your own H1 heading in the document (in blogs, this is automatic)
  • The sidebar is auto-generated based on file / title / menu order that you control in frontmatter via menu.order and menu.visible for pages you want generated but not linked.
  • No archive pages are generated. While tags can be applied to documentation files, they aren't really used in the UI outside of search. You can of course change that.

But like Blogs, Documentation also has features that make your life as the site maintainer easier:

  • Multi-instance and independent with very minimal configuration (a few fields in _data.yml).
  • Waypoint-isolated so you can bring docs from specific sections of your site into different feeds and navigation. Grab documentation from %api-docs% or %quickstart-tips% or %javascript-sdk% easily.
  • Automatic search via Pagefind
  • Content rating system so users can give direct feedback
  • SEO Optimized
  • MDX With whatever plugins you'd like to bring beyond the default that come with Infima CSS.
  • Can also bring in content from other parts of the site (e.g. release notes blog)

The bar for the Documentation feature to reach in order to be deemed worthy of inclusion is its ability to document itself and the rest of the theme, which I think it managed to meet quite a few revisions and additional features ago.

It's still under active development, but I think the focus is more on perfecting the features it has, not adding more. It's not supposed to outgrow something you can plop in a directory and control with a very minimal amount of YAML in whatever directories you use it.

Like blogs, you'll be able to create a new documentation entry easily from templates that the theme provides, but some work will have to go into managing paths of installs for those that have many and need to specify a destination. That's outside the scope of the current lume CLI script.

A Comprehensive Static Analysis SEO Plugin

The theme handles setting up your content with all of the frontmatter present and even pre-configured with default values where it makes sense. And, when you publish, Lume makes sure that all of your content is presented exactly as the theme designed it, so it looks great on all screens.

But it's us pesky humans who write content, and forget or exceed certain things that make search robots not like our content very much, and all that planning gets wasted.

That's why the theme includes a plugin that runs a lot of comprehensive checks on your content such as:

  • Meta information presence, length, percentage of common words
  • Content length checks (titles and content-body separately) as well as common word density analysis in important fields like titles and descriptions
  • Checks on images and other HTML elements to be sure all properties are set correctly (alt, title)
  • Checks to make sure the semantic document structure is correct (headings in order, one main idea per page, etc)

It's not possible to produce a plugin that can forever guarantee amazing SEO results or make magic promises, and I'd caution anyone to treat anything that did with extreme skepticism. Search engines are proprietary black boxes, so SEO is basically just religion you can grok through meaningful coincidences.

This plugin just helps make sure you're not getting in your own way with common mistakes, so your content has a fair chance.

Fully Responsive & Working On Becoming Fully-Accessible

Infima makes creating 100% responsive themes easier than many frameworks, because it mostly handles it behind the scenes for you. The theme includes Infima CSS plus a style sheet for overrides and some classes to make everything work. Content looks great on screens of all sizes.

This theme also features light and dark themes with auto detection, the ability to toggle Open Dyslexic for long blocks of content, which you can apply by just adding a font-selectable class to the text container.

Now that major development has slowed and the structure of the pages themselves isn't changing drastically every day, the process of "finishing" the markup is under way, where special attention is also paid to labels that help guide readers as well as tab index settings that help keyboard navigation. Help in this area is greatly appreciated for anyone looking to work on something.

Ready For Translation

No localization plugin has been installed yet, but all strings have been separated into two different locale files: locale.yml and demo.yml, located in the main _data/ directory.

The locale.yml file contains strings that you're probably going to keep no matter how much you customize the template. That's the file you should build on and take time to curate.

The other file demo.yml contains all the strings that make this website's features work, like the front page cards and such. Do whatever you want with those, they were kept out because they would most likely be noise for translators.

Includes Lume 3 Components Built On Infima's Design System

Take a look at the Infima documentation site to see everything included with the framework. You have everything from a grid and markup-friendly spacing system to alerts and buttons, pills, tabs and many other components that technical / text sites need.

Things that take advantage of these components are built as Lume 3 components, loading additional CSS and JS on top of the framework only when they're used. Alerts, Content Rating, and more coming like tabs, carousels and other things content-heavy sites frequently need.

If you're curious and a little adventurous, you can have a look at our component testing page, which also shows most of the Infima utility components and helpers.

Includes A Ton Of Pre-Configured Plugins!

Everything from automatic OG image generation to broken link detection and plenty of optimization. Have a look at what's under the hood:

PluginDescriptionTypeAuthorInstalled?Custom Configured?
expiresServer MiddlewarebaseLume OfficialYesNo
precompressServer MiddlewarebaseLume OfficialYesNo
routerServer MiddlewarebaseLume OfficialYesYes
cache-busterServer MiddlewarebaseLume OfficialYesNo
tocTable Of Contents GeneratorbaseTim PostYesYes
og-imagesGenerate OG Images From TemplatesbaseLume OfficialYesYes
pictureCreate Responsive Images AutomaticallybaseLume OfficialYesNo
basepathCore Lume PluginbaseLume OfficialYesNo
navNav helper for LumebaseLume OfficialYesNo
transform-imagesTransform ImagesbaseLume OfficialYesNo
iconsEasily Use Open Source Icon SetsbaseLume OfficialYesNo
inlineHTML HelperbaseLume OfficialYesNo
mdxDefault Document, Built On SSXbaseLume OfficialYesNo
lightningCSSCSS Processor & MinifiercssLume OfficialYesNo
purgecssCSS CleanercssLume OfficialYesNo
feedGenerate FeedsseoLume OfficialYesYes
sitemapGenerate SitemapseoLume OfficialYesNo
robotsGenerate robots.txtseoLume OfficialYesNo
check_urlsCheck link validityseoLume OfficialYesYes
slugify_urlsSlugify URLsseoLume OfficialYesYes
redirectsManage RedirectsseoLume OfficialYesNo
seoStatic SEO AnalysisseoTim PostYesNo
metasMeta Tag GenerationseoLume OfficialYesNo
readinginfoDisplay Reading TimeuserLume OfficialYesNo
prismFancy Code HighlightinguserLume OfficialYesYes
terserJavaScript MinifierperfLume OfficialYesYes
brotliCompressionperfLume OfficialYesNo
pagefindProvides SearchsearchLume OfficialYesYes
source mapsSource Maps (Dev Plugin)devExLume OfficialYesNo