--- layout: page title: Using Linus permalink: /about/ --- Linus is a minimal blog theme for Jekyll. Supports link posts, categories, tags, archives (using [jekyll-archives](https://github.com/jekyll/jekyll-arcihves)) and dark mode out of the box. ## Installation Add this line to your Jekyll site's `Gemfile`: ```ruby gem "linus" ``` And add this line to your Jekyll site's `_config.yml`: ```yaml theme: linus ``` Then execute: $ bundle Or install it yourself as: $ gem install linus ## Usage ### Layouts | Layout | Purpose | |---|---| | `default` | Base layout — full HTML document, loads CSS, renders header and footer | | `blog` | Blog index listing with pagination; also used for date, tag, and category archives | | `post` | Single post view | | `page` | Simple content page | ### Writing posts Create files in `_posts/` with this front matter: ```yaml --- layout: post title: "My Post Title" date: 2026-01-01 category: Notes author: arthur tags: - some tag --- ``` **Link posts**: you can have link posts by setting a `post.source` front-matter on your post. If the title is left empty (`""`), Jekyll will try to fetch the link metadata and render the link title as your post title. ```yaml --- layout: post title: "" source: "https://example.com/article" category: Links --- ``` ### Authors Authors follow the same approach as [jekyll-feed](https://github.com/jekyll-feed) and [jekyll-archives](https://github.com/jekyll/jekyll-archives). You can have an author object set in a post, or in the site `_config.yml`, or in a `authors.yml` data file. In a post: ```yaml --- layout: post title: My awesome first post author: name: Author Name uri: https://example.com picture: /path/to/author-picture.jpg --- ``` In your `_config.yml`: ```yaml author: name: Author Name uri: https://example.com picture: /path/to/author-picture.jpg ``` You can also define authors in `_data/authors.yml`: ```yaml author_name: name: Author Name uri: https://example.com picture: /path/to/author-picture.jpg ``` Reference them in post front matter with the `author` key: ```yaml author: author_name ``` ### Navigation menus ```yaml main_menu: title: Navigate items: - url: "/about" label: About footer_menu: title: Follow items: - label: RSS url: /feed.xml rel: alternate - label: External Site url: https://example.com rel: me external: true ``` Set `external: true` on any item to open it in a new tab. ### Translations Override UI strings for archive headings and pagination: ```yaml translations: byline: "By" archive_date_title: "Archives from %date" archive_tag_title: "Posts tagged with %tag" archive_category_title: "Posts filed under %category" blog_pagination_title: "Blog pagination" blog_pagination_prev_page: "Previous page" blog_pagination_next_page: "Next page" ``` ### Further options Linus uses the following Jekyll plugins, which you can set up as you please. Refer to the plugins docs to learn how to change the way your site will handle pagination, archiving, feeds and SEO tags: - [jekyll-pagination](https://github.com/jekyll/jekyll-pagination) - [jekyll-archives](https://github.com/jekyll/jekyll-archives) - [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag) - [jekyll-sitemap](https://github.com/jekyll/jekyll-sitemap) - [jekyll-feed](https://github.com/jekyll/jekyll-feed) - [jekyll-json-feed](https://github.com/lildude/jekyll-json-feed) ## Customization ### Date formats Customize how dates are displayed using strftime strings: ```yaml date_formats: day: "%b %d, '%y" month: "%b, '%y" year: "%Y" ``` ### Custom styles Override or extend the theme's CSS by creating `assets/css/theme.css` in your site. This file is loaded last, after all theme styles. Use it to redefine CSS custom properties or add new rules: ```css :root { --font-body: Georgia, serif; --color-accent: tomato; } ``` #### Category colors Assign a background color to each category pill: ```yaml category_colors: - name: Links color: "#f0e68c" - name: Notes color: "#fa8072" ``` ### Custom fonts Create `assets/css/fonts.css` in your site to load your own web fonts: ```css @font-face { font-family: 'My Font'; font-weight: 400; src: url('/assets/fonts/myfont.woff2') format('woff2'); } ``` Then reference it in `theme.css`: ```css :root { --font-body: 'My Font', sans-serif; } ``` ## Custom includes Linus offers three custom includes to add markup to different parts of your website: - `head.html`: right before the closing `` tag. - `below-post.html`: after the post footer in post pages. - `end.html`: right before the closing `` tag. ## Development To set up your environment to develop this theme, run `bundle install`. The repository is also a working Jekyll site for local development. To preview the theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. As you modify theme files, the site regenerates automatically. Posts in `_posts/` and `index.html` exist only for local testing and are not included in the published gem. ## License The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).