https://github.com/questionlp/termina-plex
Terminal-inspired theme for Jekyll based on a port of the Nightfall theme for Hugo.
https://github.com/questionlp/termina-plex
dark-mode ibm-plex jekyll jekyll-theme light-mode themes
Last synced: 8 months ago
JSON representation
Terminal-inspired theme for Jekyll based on a port of the Nightfall theme for Hugo.
- Host: GitHub
- URL: https://github.com/questionlp/termina-plex
- Owner: questionlp
- License: mit
- Created: 2024-03-23T04:07:07.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-03T17:56:58.000Z (almost 2 years ago)
- Last Synced: 2024-09-29T02:41:20.635Z (over 1 year ago)
- Topics: dark-mode, ibm-plex, jekyll, jekyll-theme, light-mode, themes
- Language: SCSS
- Homepage: https://questionlp.github.io/termina-plex/
- Size: 12.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Termina Plex
Termina Plex is a [Jekyll](https://jekyllrb.com) theme that is a port of the [Nightfall](https://github.com/LordMathis/hugo-theme-nightfall) theme for [Hugo](https://gohugo.io), developed by [Matúš Námešný](https://namesny.com). This theme uses some of the foundational code provided by the [Minima](https://jekyll.github.io/minima/) theme for Jekyll.
The theme is designed with a minimal default landing page and a separate page for listing available blog posts. It also features the [IBM Plex](https://ibm.com/plex) Sans and IBM Plex Mono typefaces throughout the design and includes the necessary web font files in the theme bundle.
By the default, the theme respects the `prefers-color-scheme` value provided by the browser. A color scheme toggle is included in the header that allows the viewer to switch between light and dark mode. Once toggled, the value is stored in the local storage using [Web Storage API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API).
## Installation
Add this line to your Jekyll site's Gemfile to install:
```ruby
gem "termina-plex"
```
To install the theme from GitHub, add this line to your Jekyll site's Gemfile:
```ruby
gem "termina-plex", git: "https://github.com/questionlp/termina-plex.git"
```
And then execute:
```bash
bundle
```
## Site Structure
The main index page, `index.html` is designed to be a simple landing page with the name of the site author and a list of social links. The file uses the `index` layout.
The more traditional blog post listing page is designed to be hosted under `/blog` with the `blog/index.html` using the more traditional `home` layout. The layout supports pagination, by way of the jekyll-paginate plugin, and can be configured with the `paginate` and `paginate_path` settings in `_config.yml`.
For pagination to work with the post listing page hosted under `/blog`, the `paginate_path` setting should start with `/blog/`.
If you want to change the path for the post listing page, the `blog_path` setting can be set to the preferred path. The `paginate_path` setting should also be updated to reflect the correct path.
## Index Page Author Pronouns
Author pronouns set using the `site.author.pronouns` configuration setting and will be displayed below the author name on pages that use the `index` layout.
## Google and Umami Analytics
This theme provides support for Google and Umami Analytics by setting appropriate site configuration values.
### Google Analytics
To automatically add the necessary Google tag to the site, add the following line to the top level of `_config.yml`:
```yaml
google_analytics: G-XXXXX
```
Replace `G-XXXXX` with the appropriate measurement ID.
### Umami Analytics
To automatically add the necessary Umami analytics tag to the site, add the following lines to the top level of `_config.yml`:
```yaml
umami_analytics:
url: "https://example.org/umami.js"
data_website_id: "abc"
```
Replace the `url` and `data_website_id` with the appropriate values for your Umami Analytics instance.
Additional parameters can be set in the tag by providing the appropriate values for the following keys under `umami_analytics`:
| Umami Tag Parameter | Site Configuration |
| --- | --- |
| data-host-url | data_host_url |
| data-auto-track | data_auto_track |
| data-domains | data_domains |
## Theme Configuration
Theme specific configuration is done within the `termina-plex` section of the `_config.yml` file.
The date format used by the theme is defined by the `termina-plex.date_format` setting. The value needs to be in [valid `strftime` format](https://docs.ruby-lang.org/en/master/strftime_formatting_rdoc.html). The theme defaults to `%d %b %Y`.
The title displayed in the header of the page with display the site title, defined by the `site.title` configuration value, if neither the `termina-plex.username` or the `termina-plex.hostname` settings are configured. When either of the settings are configured, a Bash-like prompt is built using the configured values.
The links displayed in the header of the page are defined in the `termina-plex.header_links` setting. Each link is defined as an object with a `name` and a `url` key. The value of the `name` key will be transformed to lowercase via CSS.
The social links displayed under the site title in the main section of the landing page are defined by the `termina-plex.social_links` setting. Each link is defined as an object with a `name` and `url` key. An optional `rel` key is available if link-based validation is required by applications like Mastodon. As with the header link names, the link names will also be transformed to lowercase via CSS.
To set a site-wide `fediverse:creator` meta tag for article tagline support in Mastodon, define the `termina-plex.fediverse_creator` setting with the full account name including the initial `@`.
If centered tables are preferred, the `termina-plex.centered_tables` setting can be set to `true`. By default, it uses the user agent's default alignment.
By default, the theme will transform post titles to be capitalized on pages that use the `home` layout. If you prefer to have post titles not be transformed, you can set `termina-plex.standard_titles` to `true`.
## Screenshots






## License
The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Both the original Nightfall and the Minina themes are licensed under the terms of the MIT License.
The included IBM Plex font files are licensed under the terms of the [SIL Open Font License, Version 1.1](https://github.com/IBM/plex/blob/master/LICENSE.txt).