Skip to content

Commit

Permalink
Add bare risotto theme
Browse files Browse the repository at this point in the history
  • Loading branch information
kgdn committed May 31, 2024
1 parent 595256b commit 6be5959
Show file tree
Hide file tree
Showing 72 changed files with 1,678 additions and 0 deletions.
20 changes: 20 additions & 0 deletions themes/risotto/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
The MIT License (MIT)

Copyright (c) 2021 Joe Roe

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38 changes: 38 additions & 0 deletions themes/risotto/NEWS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# risotto (development version)

# risotto 0.4.0

* Added descriptions to sidebar of list pages, where defined in the frontmatter of `_index.md` (#55)
* Made sidebar sticky, avoiding overflow for long tables of contents (#51)
* Added convenience classes for colours, e.g. `.base00` and `.bg-base00`.
* Fixed overflow of code blocks with line numbers (#41)
* Fixed invalid HTML in page header (#64)
* Updated FontAwesome to 6.5.1 (#63)
* Please note that future versions will probably not include FontAwesome by default
* Updated Academicons to 1.9.4 (#63)
* Please note that future versions will probably not include Academicons by default

# risotto 0.3.0

* Added support for favicons (#57)

# risotto 0.2.0

* **Breaking change** – new framework for colour palettes:
* Palettes are defined using CSS variables following the [base16](https://github.com/chriskempson/base16) system
* Added 14 new palettes: `apprentice`, `base16-dark`, `base16-light`, `dracula`, `material`, `papercolor-dark`, `papercolor-light`, `solarized-dark`, `solarized-light`, `tender`, `tokyo-night-dark`, `tokyo-night-light`, `windows-95` and `windows-95-light`.
* The default palette is `base16-dark`
* The `mode` parameter is no longer needed
* If you were using one of the old named palettes (`gruvbox-dark` or `gruvbox-light`), the change will be seamless.
* If you were using a custom palette, you will need to redefine it using the new framework. See README for further details.
* Added a table of contents (thanks @dashv, #47)
* Added multilanguage support with a language switcher (thanks @bedefaced)
* Made the site header and nav wrap more efficiently on narrow screens (thanks @m-dev672, #32)
* Added a changelog

# risotto 0.1.0

First named release, including:

* `gruvbox-dark` and `gruvbox-light` colour palettes
* FontAwesome6 and Academicons icon sets
108 changes: 108 additions & 0 deletions themes/risotto/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# risotto

risotto is a minimalist, responsive [hugo](https://gohugo.io) theme inspired by terminal ricing aesthetics.

[![Hugo Themes](https://img.shields.io/badge/Hugo_Themes-risotto-blue?logo=hugo)](https://themes.gohugo.io/themes/risotto/)
[![Version](https://img.shields.io/badge/semver-v0.3.0-blue)](https://semver.org)
![hugo build status](https://github.com/joeroe/risotto/actions/workflows/hugo-build-exampleSite.yml/badge.svg)
![W3C Validation](https://img.shields.io/w3c-validation/html?targetUrl=https%3A%2F%2Frisotto.joeroe.io)
![Code size](https://img.shields.io/github/languages/code-size/joeroe/risotto)

![Screenshot of the risotto theme](https://raw.githubusercontent.com/joeroe/risotto/master/images/screenshot.png)

## Features

* Plain, semantic HTML with no Javascript
* Plain CSS – no frameworks, no preprocessors, just simple and easy-to-customise stylesheets
* Uses [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout) for native responsive behaviour without arbitrary breakpoints
* Comes with [16 built-in colour schemes](#colour-schemes) based on popular terminal themes plus the ability to use custom themes using the [base16 system](https://github.com/monicfenga/base16-styles)

## Install

The easiest way to install the theme is to [download the latest release](https://github.com/joeroe/risotto/releases/tag/release) and extract it to your project's `themes/` directory.
You can also clone this repository into your site's `themes` directory and checkout the latest release:

```shell
git clone https://github.com/joeroe/risotto themes/risotto && cd themes/risotto
rit checkout $(git tag -l | grep '^v[0-9.]*$' | sort -V | tail -n 1)
```

Note that this will not work if your site is itself a git repository.
In that case, you can add the theme as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules), but this is not recommended due to the difficulty of tracking a specific release.

## Update

If you installed the theme using `git clone`, pull the repository to get the latest version:

```shell
cd themes/risotto
git pull
```

Otherwise, simply [download the latest release](https://github.com/joeroe/risotto/releases/tag/release) and extract it to your project's `themes/` directory, replacing the old version.

## Configure

To use the theme, add `theme = 'risotto'` to your site's `config.toml`, or `theme: risotto` to your `config.yaml`.

See `exampleSite/config.toml` for the theme-specific parameters you need to add to your site's `config.toml` or `config.yaml` to configure the theme.

### Colour schemes

risotto uses the [base16 framework](https://github.com/chriskempson/base16) to define colour schemes that can be used with the `theme.palette` parameter.
A selection of 16 palettes (10 dark, 6 light) are bundled with the theme: `apprentice`, `base16-dark`, `base16-light`, `dracula`, `gruvbox-dark`, `gruvbox-light`, `material`, `papercolor-dark`, `papercolor-light`, `solarized-dark`, `solarized-light`, `tender`, `tokyo-night-dark`, `tokyo-night-light`, `windows-95` and `windows-95-light`.
The default is `base16-dark`.

<!-- TODO: add screenshots of default themes -->

The easiest way to use other base16 styles is to place .css file from https://github.com/monicfenga/base16-styles/tree/master/css-variables and place it in your `static/css/palettes` directory.

Or to define a wholly custom theme, you will need to define the following CSS variables for the following base16 colours (see [base16-dark.css](blob/main/static/css/palettes/base16-dark.css) for an example):

| Base | Default colour | Used for | Examples |
| ---- | ------------------------------------------ | ------------------- | ------------------------------------ |
| 00 | <span class="base00">Dark</span> | Background | Page background |
| 01 | <span class="base01">│</span> | Alt. background | Content background |
| 02 | <span class="base02">│</span> | In-text backgrounds | `<pre>`, `<code>`, `<kbd>`, `<samp>` |
| 03 | <span class="base03">│</span> | Muted text | `:before` & `:marker` symbols |
| 04 | <span class="base04">│</span> | Alt. foreground | Aside text |
| 05 | <span class="base05">│</span> | Foreground | Content text |
| 06 | <span class="base06">│</span> | | |
| 07 | <span class="base07">Light</span> | | |
| 08 | <span class="base08">Red</span> | | |
| 09 | <span class="base09">Orange</span> | | |
| 0A | <span class="base0A">Yellow</span> | Highlights | Selected text, `<mark>` |
| 0B | <span class="base0B">Green</span> | Primary accent | Logo |
| 0C | <span class="base0C">Cyan</span> | Active links | `a:active`, `a:hover` |
| 0D | <span class="base0D">Blue</span> | Links | `a:link`, `a:visited` |
| 0E | <span class="base0E">Magenta</span> | | |
| 0F | <span class="base0F">Brown</span> | | |

For light mode palettes, the sequence of 00–07 should be reversed (light to dark, not dark to light).
Note that not all colours are currently used in the theme.

You you use these colours directly in content using the convenience classes `.baseXX` and `.bg-baseXX`.
For example:

```html
<span class="base0A">Yellow text</span>
<mark class="base0D">Text highlighted in green</mark>
```

## Favicon

risotto will automatically use favicons placed in the `static/` directory.
The following files will be detected and included in your site's `<head>` section:

* `favicon.ico`
* `favicon-16x16.png`
* `favicon-32x32.png`
* `apple-touch-icon.png`
* `site.webmanifest`

You can generate these from an image or emoji using [favicon.io](https://favicon.io/) or a similar service.
They must be placed directly under your site's `static/` directory, i.e. not in in a subdirectory or `themes/risotto/static/`.

## Acknowledgements

The 'cooked rice' emoji used as a favicon for the example site was created by the [Twemoji project](https://twemoji.twitter.com/) and is licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/).
2 changes: 2 additions & 0 deletions themes/risotto/archetypes/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
+++
+++
3 changes: 3 additions & 0 deletions themes/risotto/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[module]
[module.hugoVersion]
min = "0.41.0"
Empty file.
21 changes: 21 additions & 0 deletions themes/risotto/exampleSite/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2014 Steve Francia

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
100 changes: 100 additions & 0 deletions themes/risotto/exampleSite/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
baseURL = "https://risotto.joeroe.io"
theme = "risotto"
title = "risotto demo"
author = "Joe Roe"
copyright = "© [Joe Roe](https://joeroe.io) & [risotto contributors](https://github.com/joeroe/risotto/graphs/contributors)."
paginate = 3
languageCode = "en"
DefaultContentLanguage = "en"
enableInlineShortcodes = true
# prevent build failures when using Hugo's Instagram shortcode due to deprecated Instagram API.
# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
ignoreErrors = ["error-remote-getjson"]

# Automatically add content sections to main menu
sectionPagesMenu = "main"

[params]
noindex = false

[params.theme]
palette = "base16-dark"

# Sidebar: about/bio
[params.about]
title = "risotto"
description = "A [hugo](https://gohugo.io) theme inspired by terminal ricing."
logo = "images/rice.svg"

# Sidebar: social links
# Available icon sets:
# * FontAwesome 6 <https://fontawesome.com/> ('fa-brands', 'fa-normal', or 'fa-solid' for brands)
# * Academicons <https://jpswalsh.github.io/academicons> ('ai ai-')

[[params.socialLinks]]
icon = "fa-brands fa-github"
title = "GitHub"
url = "https://github.com/joeroe/risotto"

[[params.socialLinks]]
icon = "fa-solid fa-envelope"
title = "Email"
url = "mailto:[email protected]"

[[params.socialLinks]]
icon = "ai ai-orcid"
title = "ORCID"
url = "https://orcid.org/0000-0001-2345-6789"

[menu]

[[menu.main]]
identifier = "about"
name = "About"
url = "/about/"
weight = 10

[taxonomies]
category = "categories"
tag = "tags"
series = "series"

# For hugo >= 0.60.0, enable inline HTML
[markup.goldmark.renderer]
unsafe = true

[markup]

# Table of contents
# Add toc = true to content front matter to enable
[markup.tableOfContents]
startLevel = 2
endLevel = 3
ordered = true

[privacy]

[privacy.vimeo]
disabled = false
simple = true

[privacy.twitter]
disabled = false
enableDNT = true
simple = true

[privacy.instagram]
disabled = false
simple = true

[privacy.youtube]
disabled = false
privacyEnhanced = true

[services]

[services.instagram]
disableInlineCSS = true

[services.twitter]
disableInlineCSS = true
27 changes: 27 additions & 0 deletions themes/risotto/exampleSite/configTaxo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
timeout = 30000
enableInlineShortcodes = true

[taxonomies]
category = "categories"
tag = "tags"
series = "series"

[privacy]

[privacy.vimeo]
disabled = false
simple = true

[privacy.twitter]
disabled = false
enableDNT = true
simple = true
disableInlineCSS = true

[privacy.instagram]
disabled = false
simple = true

[privacy.youtube]
disabled = false
privacyEnhanced = true
1 change: 1 addition & 0 deletions themes/risotto/exampleSite/content/_index.md
3 changes: 3 additions & 0 deletions themes/risotto/exampleSite/content/_index.md.old
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
+++
author = "Hugo Authors"
+++
25 changes: 25 additions & 0 deletions themes/risotto/exampleSite/content/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
+++
title = "About"
description = "Hugo, the world's fastest framework for building websites"
date = "2019-02-28"
aliases = ["about-us", "about-hugo", "contact"]
author = "Hugo Authors"
+++

Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.

Hugo makes use of a variety of open source projects including:

* https://github.com/yuin/goldmark
* https://github.com/alecthomas/chroma
* https://github.com/muesli/smartcrop
* https://github.com/spf13/cobra
* https://github.com/spf13/viper

Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.

Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.

Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.

Learn more and contribute on [GitHub](https://github.com/gohugoio).
5 changes: 5 additions & 0 deletions themes/risotto/exampleSite/content/archives.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
date: 2019-05-28
type: section
layout: "archives"
---
7 changes: 7 additions & 0 deletions themes/risotto/exampleSite/content/homepage/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: 'Our Difference'
button: 'About us'
weight: 2
---

Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Ipsum dolor sit amet, et essent mediocritatem quo.
3 changes: 3 additions & 0 deletions themes/risotto/exampleSite/content/homepage/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
headless: true
---
7 changes: 7 additions & 0 deletions themes/risotto/exampleSite/content/homepage/work.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: 'We Help Business Grow'
button: 'Our Work'
weight: 1
---

Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Numquam dolores mel eu, mea docendi omittantur et, mea ea duis erat. Elit melius cu ius. Per ex novum tantas putant, ei his nullam aliquam apeirian. Aeterno quaestio constituto sea an, no eum intellegat assueverit.
7 changes: 7 additions & 0 deletions themes/risotto/exampleSite/content/post/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
+++
aliases = ["posts", "articles", "blog", "showcase", "docs"]
title = "Posts"
author = "Hugo Authors"
description = "Example posts demonstrating hugo's markup features"
tags = ["index"]
+++
Loading

0 comments on commit 6be5959

Please sign in to comment.