diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a8645f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.hugo_build.lock diff --git a/README.md b/README.md index acb717a..f0768d0 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,6 @@ If your site is already a git repository, you can add the theme as a submodule i git submodule add https://github.com/joeroe/risotto.git themes/risotto ``` -## Configure - -To use the theme, add `theme = risotto` to your site's `config.toml` or `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. - ## Update If you installed the theme using `git clone`, pull the repository to get the latest version: @@ -39,3 +33,33 @@ Or, if you added it as a git submodule: git submodule update --remote ``` +## Configure + +To use the theme, add `theme = risotto` to your site's `config.toml` or `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 palettes + +Colour palettes for the theme are defined using the [base16 system](https://github.com/chriskempson/base16): + +| Base | Default colour | Used for | Examples | +| ---- | -------------- | -------- | -------- | +| 00 | Dark | Background | Page background | +| 01 | │ | Alt. background | Content background | +| 02 | │ | In-text backgrounds | `
`, ``, ``, `` |
+| 03 | │ | Muted text | `:before` & `:marker` symbols |
+| 04 | │ | Alt. foreground | Aside text |
+| 05 | │ | Foreground | Content text |
+| 06 | │ | | |
+| 07 | Light | | |
+| 08 | Red | | |
+| 09 | Orange | | |
+| 0A | Yellow | Highlights | Selected text, `` |
+| 0B | Green | Primary accent | Logo |
+| 0C | Cyan | Active links | `a:active`, `a:hover` |
+| 0D | Blue | Links | `a:link`, `a:visited` |
+| 0E | Magenta | | |
+| 0F | Brown | | |
+
+For light mode palettes, the sequence of 00–07 should be reversed (light to dark, not dark to light).
diff --git a/exampleSite/.hugo_build.lock b/exampleSite/.hugo_build.lock
new file mode 100644
index 0000000..e69de29
diff --git a/exampleSite/README.md b/exampleSite/README.md
deleted file mode 100644
index 11a456c..0000000
--- a/exampleSite/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# hugoBasicExample
-
-This repository offers an example site for [Hugo](https://gohugo.io/) and also it provides the default content for demos hosted on the [Hugo Themes Showcase](https://themes.gohugo.io/).
-
-# Using
-
-1. [Install Hugo](https://gohugo.io/overview/installing/)
-2. Clone this repository
-
-```bash
-git clone https://github.com/gohugoio/hugoBasicExample.git
-cd hugoBasicExample
-```
-
-3. Clone the repository you want to test. If you want to test all Hugo Themes then follow the instructions provided [here](https://github.com/gohugoio/hugoThemes#installing-all-themes)
-
-4. Run Hugo and select the theme of your choosing
-
-```bash
-hugo server -t YOURTHEME
-```
-
-5. Under `/content/` this repository contains the following:
-
-- A section called `/post/` with sample markdown content
-- A headless bundle called `homepage` that you may want to use for single page applications. You can find instructions about headless bundles over [here](https://gohugo.io/content-management/page-bundles/#headless-bundle)
-- An `about.md` that is intended to provide the `/about/` page for a theme demo
-
-6. If you intend to build a theme that does not fit in the content structure provided in this repository, then you are still more than welcome to submit it for review at the [Hugo Themes](https://github.com/gohugoio/hugoThemes/issues) respository
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index a307cae..b5bbcad 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -15,10 +15,10 @@ ignoreErrors = ["error-remote-getjson"]
sectionPagesMenu = "main"
[params]
+noindex = false
[params.theme]
-palette = "gruvbox-dark"
-mode = "dark-mode"
+palette = "base16-dark"
# Sidebar: about/bio
[params.about]
@@ -28,16 +28,16 @@ logo = "images/rice.svg"
# Sidebar: social links
# Available icon sets:
-# * FontAwesome 5 ('fas fa-' or 'fab-fa' for brands)
+# * FontAwesome 6 ('fa-brands', 'fa-normal', or 'fa-solid' for brands)
# * Academicons ('ai ai-')
[[params.socialLinks]]
-icon = "fab fa-github"
+icon = "fa-brands fa-github"
title = "GitHub"
url = "https://github.com/joeroe/risotto"
[[params.socialLinks]]
-icon = "fas fa-envelope"
+icon = "fa-solid fa-envelope"
title = "Email"
url = "mailto:example@example.com"
diff --git a/exampleSite/content/_index.md b/exampleSite/content/_index.md
deleted file mode 100644
index ed6494b..0000000
--- a/exampleSite/content/_index.md
+++ /dev/null
@@ -1,3 +0,0 @@
-+++
-author = "Hugo Authors"
-+++
diff --git a/exampleSite/content/_index.md b/exampleSite/content/_index.md
new file mode 120000
index 0000000..fe84005
--- /dev/null
+++ b/exampleSite/content/_index.md
@@ -0,0 +1 @@
+../../README.md
\ No newline at end of file
diff --git a/exampleSite/content/_index.md.old b/exampleSite/content/_index.md.old
new file mode 100644
index 0000000..ed6494b
--- /dev/null
+++ b/exampleSite/content/_index.md.old
@@ -0,0 +1,3 @@
++++
+author = "Hugo Authors"
++++
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index f91cdb0..37742ef 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -1,5 +1,5 @@
{{ define "main" }}
- {{ .Title | markdownify }}
+ {{ .Title | markdownify }}
{{ .Content }}
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 180a05b..45673a5 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -3,15 +3,15 @@
+{{ if .Site.Params.noindex }} {{ end }}
-
+
-
-
-
+
+
diff --git a/static/css/colour/dark-mode.css b/static/css/colour/dark-mode.css
deleted file mode 100644
index 386f99d..0000000
--- a/static/css/colour/dark-mode.css
+++ /dev/null
@@ -1,7 +0,0 @@
-:root {
- --bg: var(--black);
- --dark-bg: var(--dark-black);
- --bright-bg: var(--bright-black);
- --fg: var(--white);
- --bright-fg: var(--bright-white);
-}
diff --git a/static/css/colour/gruvbox-dark.css b/static/css/colour/gruvbox-dark.css
deleted file mode 100644
index 24c4218..0000000
--- a/static/css/colour/gruvbox-dark.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* gruvbox dark mode
- * https://github.com/morhetz/gruvbox
- */
-:root {
- --dark-black: #1d2021;
- --black: #282828;
- --bright-black: #928374;
-
- --white: #ebdbb2;
- --bright-white: #fbf1c7;
-
- --red: #cc241d;
- --green: #98971a;
- --yellow: #d79921;
- --blue: #458588;
- --magenta: #b16286;
- --cyan: #689d6a;
- --orange: #d65d0e;
- --gray: #928374;
-
- --bright-red: #fb4934;
- --bright-green: #b8bb26;
- --bright-yellow: #fabd2f;
- --bright-blue: #83a598;
- --bright-magenta: #d3869b;
- --bright-cyan: #8ec07c;
- --bright-orange: #fe8019;
- --bright-gray: #a89984;
-}
diff --git a/static/css/colour/gruvbox-light.css b/static/css/colour/gruvbox-light.css
deleted file mode 100644
index cff8fa3..0000000
--- a/static/css/colour/gruvbox-light.css
+++ /dev/null
@@ -1,30 +0,0 @@
-/* gruvbox light mode
- * https://github.com/morhetz/gruvbox
- */
-:root {
- --dark-black: #282828;
- --black: #3c3836;
- --bright-black: #928374;
-
- --white: #fbf1c7;
- --bright-white: #f9f5d7;
-
- --red: #9d0006;
- --green: #79740e;
- --yellow: #b57614;
- --blue: #076678;
- --magenta: #8f3f71;
- --cyan: #427b58;
- --orange: #af3a03;
- --gray: #7c6f64;
-
- --dark-white: #f2e5bc;
- --bright-red: #cc241d;
- --bright-green: #98971a;
- --bright-yellow: #d79921;
- --bright-blue: #458588;
- --bright-magenta: #b16286;
- --bright-cyan: #689d6a;
- --bright-orange: #d65d0e;
- --bright-gray: #928374;
-}
diff --git a/static/css/colour/light-mode.css b/static/css/colour/light-mode.css
deleted file mode 100644
index 3ac2827..0000000
--- a/static/css/colour/light-mode.css
+++ /dev/null
@@ -1,7 +0,0 @@
-:root {
- --bg: var(--white);
- --dark-bg: var(--dark-white);
- --bright-bg: var(--bright-black);
- --fg: var(--black);
- --bright-fg: var(--bright-black);
-}
diff --git a/static/css/colours.css b/static/css/colours.css
new file mode 100644
index 0000000..4326985
--- /dev/null
+++ b/static/css/colours.css
@@ -0,0 +1,17 @@
+:root {
+ /* Background */
+ --bg: var(--base00);
+ --off-bg: var(--base01);
+ --inner-bg: var(--base02);
+
+ /* Text */
+ --fg: var(--base05);
+ --off-fg: var(--base04);
+ --muted: var(--base03);
+ --link: var(--base0D);
+ --hover: var(--base0C);
+ --highlight: var(--base0A);
+
+ /* Logo */
+ --logo: var(--base0B);
+}
diff --git a/static/css/footer.css b/static/css/footer.css
index 3c5d6e9..3e84188 100644
--- a/static/css/footer.css
+++ b/static/css/footer.css
@@ -1,5 +1,5 @@
.page__footer {
- color: var(--bright-bg);
+ color: var(--off-fg);
}
.page__footer p {
diff --git a/static/css/layout.css b/static/css/layout.css
index 711761a..d249166 100644
--- a/static/css/layout.css
+++ b/static/css/layout.css
@@ -41,13 +41,14 @@
/* Body + aside */
.page__body {
grid-area: body;
- background-color: var(--bg);
- box-shadow: 0 0 0 1rem var(--bg);
+ background-color: var(--off-bg);
+ box-shadow: 0 0 0 1rem var(--off-bg);
+ overflow-wrap: break-word;
}
.page__aside {
grid-area: aside;
- color: var(--bright-bg);
+ color: var(--off-fg);
}
/* Footer */
diff --git a/static/css/logo.css b/static/css/logo.css
index be24b86..368fff4 100644
--- a/static/css/logo.css
+++ b/static/css/logo.css
@@ -11,7 +11,8 @@
.page__logo-inner {
display: block;
- background: var(--green);
+ background: var(--logo);
+ opacity: 0.90;
padding: 0.25rem;
}
@@ -22,7 +23,7 @@ a.page__logo-inner:link, a.page__logo-inner:visited {
a.page__logo-inner:hover,
a.page__logo-inner:active {
- background: var(--bright-green);
+ opacity: 1;
}
.page__logo-inner:before {
diff --git a/static/css/palettes/base16-dark.css b/static/css/palettes/base16-dark.css
new file mode 100644
index 0000000..cb1ec1d
--- /dev/null
+++ b/static/css/palettes/base16-dark.css
@@ -0,0 +1,22 @@
+/* base16 default dark
+ * https://github.com/chriskempson/base16-default-schemes
+ */
+
+:root {
+ --base00: #181818;
+ --base01: #282828;
+ --base02: #383838;
+ --base03: #585858;
+ --base04: #b8b8b8;
+ --base05: #d8d8d8;
+ --base06: #e8e8e8;
+ --base07: #f8f8f8;
+ --base08: #ab4642;
+ --base09: #dc9656;
+ --base0A: #f7ca88;
+ --base0B: #a1b56c;
+ --base0C: #86c1b9;
+ --base0D: #7cafc2;
+ --base0E: #ba8baf;
+ --base0F: #a16946;
+}
diff --git a/static/css/palettes/base16-light.css b/static/css/palettes/base16-light.css
new file mode 100644
index 0000000..bcbbb5a
--- /dev/null
+++ b/static/css/palettes/base16-light.css
@@ -0,0 +1,22 @@
+/* base16 default light
+ * https://github.com/chriskempson/base16-default-schemes
+ */
+
+:root {
+ --base00: #f8f8f8;
+ --base01: #e8e8e8;
+ --base02: #d8d8d8;
+ --base03: #b8b8b8;
+ --base04: #585858;
+ --base05: #383838;
+ --base06: #282828;
+ --base07: #181818;
+ --base08: #ab4642;
+ --base09: #dc9656;
+ --base0A: #f7ca88;
+ --base0B: #a1b56c;
+ --base0C: #86c1b9;
+ --base0D: #7cafc2;
+ --base0E: #ba8baf;
+ --base0F: #a16946;
+}
diff --git a/static/css/palettes/gruvbox-dark.css b/static/css/palettes/gruvbox-dark.css
new file mode 100644
index 0000000..1d60bd9
--- /dev/null
+++ b/static/css/palettes/gruvbox-dark.css
@@ -0,0 +1,23 @@
+/* gruvbox dark
+ * https://github.com/morhetz/gruvbox
+ * base16: https://github.com/dawikur/base16-gruvbox-scheme
+ */
+
+:root {
+ --base00: #282828;
+ --base01: #3c3836;
+ --base02: #504945;
+ --base03: #665c54;
+ --base04: #bdae93;
+ --base05: #d5c4a1;
+ --base06: #ebdbb2;
+ --base07: #fbf1c7;
+ --base08: #fb4934;
+ --base09: #fe8019;
+ --base0A: #fabd2f;
+ --base0B: #b8bb26;
+ --base0C: #8ec07c;
+ --base0D: #83a598;
+ --base0E: #d3869b;
+ --base0F: #d65d0e;
+}
diff --git a/static/css/palettes/gruvbox-light.css b/static/css/palettes/gruvbox-light.css
new file mode 100644
index 0000000..f786cf0
--- /dev/null
+++ b/static/css/palettes/gruvbox-light.css
@@ -0,0 +1,23 @@
+/* gruvbox light
+ * https://github.com/morhetz/gruvbox
+ * base16: https://github.com/dawikur/base16-gruvbox-scheme
+ */
+
+:root {
+ --base00: #fbf1c7;
+ --base01: #ebdbb2;
+ --base02: #d5c4a1;
+ --base03: #bdae93;
+ --base04: #665c54;
+ --base05: #504945;
+ --base06: #3c3836;
+ --base07: #282828;
+ --base08: #9d0006;
+ --base09: #af3a03;
+ --base0A: #b57614;
+ --base0B: #79740e;
+ --base0C: #427b58;
+ --base0D: #076678;
+ --base0E: #8f3f71;
+ --base0F: #d65d0e;
+}
diff --git a/static/css/risotto.css b/static/css/risotto.css
index 3c2969d..dcb5a96 100644
--- a/static/css/risotto.css
+++ b/static/css/risotto.css
@@ -1,3 +1,4 @@
+@import 'colours.css';
@import 'typography.css';
@import 'layout.css';
@import 'header.css';
@@ -6,6 +7,6 @@
@import 'footer.css';
body {
- background-color: var(--dark-bg);
+ background-color: var(--bg);
color: var(--fg);
}
diff --git a/static/css/typography.css b/static/css/typography.css
index a06ad18..11ef532 100644
--- a/static/css/typography.css
+++ b/static/css/typography.css
@@ -52,7 +52,7 @@ h3:before,
h4:before,
h5:before,
h6:before {
- color: var(--bright-bg);
+ color: var(--muted);
}
h1:first-child {
@@ -67,21 +67,21 @@ p {
/* Links */
a:link, a:visited {
- color: var(--fg);
+ color: var(--link);
}
a:hover, a:active {
- color: var(--bright-fg);
+ color: var(--hover);
}
/* Lists */
ul {
- margin: 1rem 0;
+ margin: 0 0 1.5rem 0;
padding-left: 1.25rem;
}
ol {
- margin: 1rem 0;
+ margin: 0 0 1.5rem 0;
padding-left: 1.75rem;
}
@@ -94,11 +94,29 @@ ol ol {
ul li::marker {
content: '∗\00A0';
- color: var(--bright-bg);
+ color: var(--muted);
}
ol li::marker {
- color: var(--bright-bg);
+ color: var(--muted);
+}
+
+dt {
+ margin: 0;
+ font-weight: bold;
+}
+
+dd {
+ margin: 0 0 0 1.5rem;
+ font-style: italic;
+}
+
+dd + dt {
+ margin-top: 1.5rem;
+}
+
+dl {
+ margin: 0 0 1.5rem 0;
}
/* Blockquotes */
@@ -111,7 +129,7 @@ blockquote::before {
position: absolute;
left: -1.5rem;
content: ">";
- color: var(--bright-bg);
+ color: var(--muted);
}
.twitter-tweet::before {
@@ -123,14 +141,15 @@ blockquote::before {
/* Code */
pre,
code,
-kbd {
- overflow-x: auto;
- background: var(--dark-bg) !important;
+kbd,
+samp {
+ background: var(--inner-bg) !important;
font-family: var(--font-monospace);
- color: var(--bright-bg);
+ color: var(--off-fg);
}
pre {
+ overflow-x: auto;
padding: 1.5rem;
margin: 0 0 1.5rem 0;
}
@@ -144,20 +163,22 @@ strong {
/* Highlighting */
::selection,
mark {
- background-color: var(--yellow);
+ background-color: var(--highlight);
color: var(--bg);
}
/* Other typographic elements */
hr {
border: 0;
+ margin-bottom: 1.5rem;
}
hr:after {
content: '---';
- color: var(--bright-bg);
+ color: var(--muted);
}
+
/* Prevent super/sub from affecting line height */
sup, sub {
vertical-align: baseline;
@@ -185,3 +206,9 @@ th:first-child, td:first-child {
th {
text-align: inherit;
}
+
+/* Figures */
+img {
+ max-width: 100%;
+ height: auto;
+}