Terminal User Interface
This module provides a terminal-based user interface for managing your Drupal site. It allows you to perform administrative tasks and content management directly from your command line.
Terminal UI renders your Drupal site as a beautifully formatted terminal-style plain text page when viewed with curl, complete with logo, about text, social links, and a feed of your latest posts.
It is built for sites that follow a structured layout around a single content type - such as blogs, personal sites, and portfolios - so that command-line users get a polished, first-class reading experience instead of raw HTML.
Features
The Terminal UI module detects when your homepage is requested with the curl command-line tool and, in that case only, replaces the normal HTML response with a neatly formatted plain text page. Regular visitors in a web browser see your site exactly as before.
What enabling this module gives you:
- ANSI-styled terminal output - colors, bold/dim text, box-drawing borders, and OSC 8 hyperlinks that are clickable in modern terminals.
- A customizable header with your choice of ASCII logo (default Drupal logo, Druplicon, or a fully custom design) plus a token-powered text block for things like your site name and URL.
- An About box - short bio or intro text rendered in one of four box styles (solid, dotted, dashed, or double), with optional title and maximum width (ANSI-aware word wrapping keeps styled text aligned).
- A Social links box - clickable links to your profiles (LinkedIn, GitHub, X, etc.) rendered as OSC 8 hyperlinks. The About and Social boxes can be displayed side-by-side.
- A content feed - the footer lists the five most recent published posts from a content type you choose, each with publish date, tags, a short summary, and a link to the post.
- ANSI tokens - site-wide token types (
[terminal_ui_text_color:*],[terminal_ui_style:*], etc.) let you sprinkle colors and styles into any configured text field. - A live preview - the settings form shows exactly what
curlwill display as you edit.
When would you use it? If you have a blog or portfolio and want to give command-line users a slick curl https://yoursite.com/ experience. It also makes your homepage fun to share with the developer crowd, since the terminal-style output is a distinctive, low-effort way to show off your content.
Post-Installation
The module installs without default content, so head straight to the configuration page to build your terminal view:
- Visit Configuration → User interface → Terminal UI (at
/admin/config/user-interface/terminal_ui). You will need the Administer Terminal UI permission, which is granted to the administrator role by default. - Header: choose a logo (Default, Druplicon, or Custom), optionally a custom header style, and add text elements beside the logo (for example
[site:name]and[site:base-url]). Tokens are supported throughout. - Body: write your About text, pick a box style/title/width, and add social links. Toggle "Display About and Social side-by-side" if you prefer that layout.
- Footer: check "Show Content Feed?", then select the content type the feed should pull from (for example your "Blog" content type).
- Save and check the live preview at the bottom of the form.
To test it, open a terminal and run:
curl https://yourdomain.com/You should see your styled page. There is nothing to set up for regular visitors: the module only intercepts requests whose User-Agent contains curl, so browsers, search engines, and other tools are completely unaffected.
Additional Requirements
- Drupal core 11.x.
- Token module — a required dependency (https://www.drupal.org/project/token), used to replace tokens like
[site:name]in your configured text.
Depends on
Dependencies of the latest stable release
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.