Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/brettinternet/minimaless

A simple Jekyll theme
https://github.com/brettinternet/minimaless

blog jekyll jekyll-theme minimal www

Last synced: about 1 month ago
JSON representation

A simple Jekyll theme

Awesome Lists containing this project

README

        

# minimaless

[![Gem Version](https://img.shields.io/gem/v/minimaless.svg)](https://rubygems.org/gems/jekyll-admin)

It's like the [minima](https://jekyll.github.io/minima/) theme, but with _less noise_ and more functionality. ✨

See the [demo site](https://brettinternet.github.io/minimaless/) or follow these steps to [setup](/_pages/setup.md) your own Jekyll site with this theme.

![minimaless screenshot preview](/screenshot.png)

## Installation

Add this line to your Jekyll site's Gemfile:

```ruby
gem "minimaless"
```

If you're interested, the gem is found [here](https://rubygems.org/gems/minimaless).

And add this line to your Jekyll site:

```yaml
theme: minimaless
```

And then execute:

$ bundle

## Features

### Includes

Refers to snippets of code within the `_includes` directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem.

- `disqus_comments.html` — Code to markup disqus comment box.
- `footer.html` — Defines the site's footer section.
- `google-analytics.html` — Inserts Google Analytics module (active only in production environment).
- `head.html` — Code-block that defines the `` in *default* layout.
- `header.html` — Defines the site's main header section. By default, pages with a defined `title` attribute will have links displayed here.
- `contact-icons.html` — Inserts social icons when you specify a social media site `*_username` in the config.
- You can also add an `.asc` file for a key icon to appear for users to download your GPG key file.

## Usage

### Customization

To override the default structure and style of minimaless, simply create the concerned directory at the root of your site, copy the file you wish to customize to that directory, and then edit the file.
e.g., to override the [`_includes/head.html `](_includes/head.html) file to specify a custom style path, create an `_includes` directory, copy `_includes/head.html` from minimaless gem folder to `/_includes` and start editing that file.

The site's default CSS has now moved to a new place within the gem itself, [`assets/main.scss`](assets/main.scss). To **override the default CSS**, the file has to exist at your site source. Do either of the following:
- Create a new instance of `main.scss` at site source.
- Create a new file `main.scss` at `/assets/`
- Add the frontmatter dashes, and
- Add `@import "minimaless";`, to `/assets/main.scss`
- Add your custom CSS.
- Download the file from this repo
- Create a new file `main.scss` at `/assets/`
- Copy the contents at [assets/main.scss](assets/main.scss) onto the `main.scss` you just created, and edit away!
- Copy directly from Minimaless gem
- Go to your local minimaless gem installation directory ( run `bundle show minimaless` to get the path to it ).
- Copy the `assets/` folder from there into the root of ``
- Change whatever values you want, inside `/assets/main.scss`
- Edit index.md to change what appears on the site's splash/landing page.

--

### Tags

Make a new folder called `tag` where you will add markdown files for each new tag you use on your site.

```
minimaless
├─ tag
│ └─ kittens.md
└─ _posts
```

Create a new markdown file with the tag as the file name (eg. `.md`). You only need to set up the header information. For example, if the tag is `kittens`, then use the following header:

```yml
---
layout: tags
tag: kittens
permalink: /tag/kittens/
---
```

This must be done for every new tag you create. This is the page that users will see when they click on a tag to display the list of posts for each tag. [View the tag page here](https://brettinternet.github.io/minimaless/tags/).

--

### Enabling comments (via Disqus)

Optionally, if you have a Disqus account, you can tell Jekyll to use it to show a comments section below each post.

To enable it, add the following lines to your Jekyll site:

```yaml
disqus:
shortname: my_disqus_shortname
```

You can find out more about Disqus' shortnames [here](https://help.disqus.com/customer/portal/articles/466208).

Comments are enabled by default and will only appear in production, i.e., `JEKYLL_ENV=production`

If you don't want to display comments for a particular post you can disable them by adding `comments: false` to that post's YAML Front Matter.

--

### Enabling Google Analytics

To enable Google Anaytics, add the following lines to your Jekyll site:

```yaml
google_analytics: UA-NNNNNNNN-N
```

Google Analytics will only appear in production, i.e., `JEKYLL_ENV=production`

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/brettinternet/minimaless.

## Development

To set up your environment to develop this theme, run `script/bootstrap`.

To test your theme, run `script/server` (or `bundle exec jekyll serve`) and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme and the contents. As you make modifications, your site will regenerate and you should see the changes in the browser after a refresh.

## License

The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).