Compare commits
13 commits
3f1c339cd8
...
0029f2deea
Author | SHA1 | Date | |
---|---|---|---|
Jessica Canady | 0029f2deea | ||
Jessica Canady | 89b73b5413 | ||
Jessica Canady | 90b1db516f | ||
Jessica Canady | 7aaf225cd9 | ||
Jessica Canady | 7af7cf140f | ||
Jessica Canady | 897ef02094 | ||
Jessica Canady | 2d0c65efd3 | ||
Jessica Canady | 960b831156 | ||
Jessica Canady | 30525ada31 | ||
Jessica Canady | 026ee0d9dc | ||
Jessica Canady | a5c86371c7 | ||
Jessica Canady | cc83755008 | ||
a0e09f7ec2 |
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,5 +1,4 @@
|
||||||
.DS_Store
|
|
||||||
.idea
|
|
||||||
*.log
|
*.log
|
||||||
tmp/
|
tmp/
|
||||||
public/
|
public/
|
||||||
|
/deploy.sh
|
||||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
||||||
[submodule "themes/terminette"]
|
|
||||||
path = themes/terminette
|
|
||||||
url = https://git.gay/jesscanady/terminette.git
|
|
14
config.toml
14
config.toml
|
@ -3,7 +3,7 @@ page_titles = "combined"
|
||||||
author = "Jessica Phoenix Canady"
|
author = "Jessica Phoenix Canady"
|
||||||
|
|
||||||
# The URL the site will be built for
|
# The URL the site will be built for
|
||||||
base_url = "https://jessica.zone"
|
base_url = "https://jess.canady.tech/"
|
||||||
|
|
||||||
# Theme!
|
# Theme!
|
||||||
theme = "terminette"
|
theme = "terminette"
|
||||||
|
@ -32,16 +32,6 @@ logo_text = "Jessica Pheonix Canady"
|
||||||
accent_color = "pink"
|
accent_color = "pink"
|
||||||
background_color = "pink"
|
background_color = "pink"
|
||||||
author = "Jessica Phoenix Canady"
|
author = "Jessica Phoenix Canady"
|
||||||
# copyright_html = "Bottom text goes here"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
menu_items = [
|
menu_items = [
|
||||||
# each of these is optional, name and url are required
|
# each of these is optional, name and url are required
|
||||||
|
@ -54,6 +44,8 @@ menu_items = [
|
||||||
{name = "blog archive", url = "$BASE_URL/blog/"},
|
{name = "blog archive", url = "$BASE_URL/blog/"},
|
||||||
{name = "about", url = "$BASE_URL/about/"},
|
{name = "about", url = "$BASE_URL/about/"},
|
||||||
{name = "now", url = "$BASE_URL/now/"},
|
{name = "now", url = "$BASE_URL/now/"},
|
||||||
|
{name = "code", url = "https://git.gay/jesscanady/", external = true},
|
||||||
|
{name = "mastodon", url = "https://silicorn.social/@jess", rel = "me", external = true},
|
||||||
{name = "rss", url = "$BASE_URL/rss.xml"}
|
{name = "rss", url = "$BASE_URL/rss.xml"}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
14
content/_index.md
Normal file
14
content/_index.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
+++
|
||||||
|
title = "A thing."
|
||||||
|
template = "home.html"
|
||||||
|
+++
|
||||||
|
|
||||||
|
# Hi, I'm Jessica
|
||||||
|
|
||||||
|
I build stuff on the internet! I used to make a lot more stuff, but I burnt out pretty hard building startups and consulting too hard. I'm getting back into just doing **fun** stuff, y'know?
|
||||||
|
|
||||||
|
I'm also into poking synthesizers until they make music, but actually **recording** any of this is a new thing for me, so I'm figuring that out.
|
||||||
|
|
||||||
|
Besides that, I'm a parent to two amazing boys, a wife to a beautiful wife, and I occasionally play poker.
|
||||||
|
|
||||||
|
I write here about those things, about general tech dorkery, and about my experience with being **super** trans and learning who I am.
|
57
content/blog/lan-voice-chat.md
Normal file
57
content/blog/lan-voice-chat.md
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
+++
|
||||||
|
title = "LAN Voice Chat with Mumble"
|
||||||
|
date = 2024-04-16 11:51:33-04:00
|
||||||
|
draft = false
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
# these go in quotes, like the title
|
||||||
|
tags = ["software", "family"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
My kids, 11yo and 7yo, are *really* into playing Minecraft and Terraria together. But, being siblings, it doesn't always go as well as anyone really wants it to. Sometimes, it's just that they can't be in the same *room* together. And since they both have fancy gaming headsets, they might as well get used to using voice chat.
|
||||||
|
|
||||||
|
But how?
|
||||||
|
|
||||||
|
It might be easy to give them Discord accounts and let them get to know the wide world of _Shitty Internet Culture_, _Awful Desktop Software_ and _Yay Notifications Forever_, but that seems like a horrible idea. Besides, what kind of Tech would I be if I didn't solve this problem by deploying software?
|
||||||
|
|
||||||
|
Enter: [Mumble](https://www.mumble.info/downloads/).
|
||||||
|
|
||||||
|
## The Server
|
||||||
|
|
||||||
|
The server is called Murnur, and has [an official Docker image](https://github.com/mumble-voip/mumble-docker).
|
||||||
|
|
||||||
|
In my case, I just plugged this into [Portainer](https://www.portainer.io) using their Docker Compose example.
|
||||||
|
|
||||||
|
(If, like me, you're trying to copy/paste a reasonable looking `docker-compose.json` file while two kids are louodly wondering why this is taking so long, you might also miss the `image: mumblevoip/mumble-server:<tag>` placeholder in their example. I've replaced that with `latest` below.)
|
||||||
|
|
||||||
|
```json
|
||||||
|
services:
|
||||||
|
mumble-server:
|
||||||
|
image: mumblevoip/mumble-server:latest
|
||||||
|
container_name: mumble-server
|
||||||
|
hostname: mumble-server
|
||||||
|
restart: on-failure
|
||||||
|
ports:
|
||||||
|
- 64738:64738
|
||||||
|
- 64738:64738/udp
|
||||||
|
```
|
||||||
|
|
||||||
|
Literally nothing to do but run that. The Docker logs will show a password for the `SuperUser` account, which you may want, but for our simple use-case here I never needed it.
|
||||||
|
|
||||||
|
## The Client
|
||||||
|
|
||||||
|
Mumble has [clients](https://www.mumble.info/downloads/) for Windows, Mac, Linux, iOS, and Android.
|
||||||
|
|
||||||
|
After running, you'll go through an Audio Setup Wizard that's fairly self-explanatory. Then it'll ask for connection details.
|
||||||
|
|
||||||
|
Here's the fun bit:
|
||||||
|
|
||||||
|
Since you're doing this locally and not publically, feel free to just pick a username for the server. Mumble will generate a certificate that identifies you, and normally you'd want to back that up and register with the server and all that, but for my use case none of that really matters. I just had the kids type in whatever name they wanted, and bam, they're in.
|
||||||
|
|
||||||
|
There's a `Root` channel everyone joins by default. Others can be created, but since I've just got the two kids, it's easy enough just to let them both be in that channel.
|
||||||
|
|
||||||
|
## How'd It Go?
|
||||||
|
|
||||||
|
It's been running faultless for a few days, with the only real issue being that the client likes to be restarted after the kids' laptops resume from suspend.
|
||||||
|
|
||||||
|
This rocks. Way better than having my kids ask me to buy _Discord Nitro_ for them.
|
|
@ -1,7 +1,6 @@
|
||||||
+++
|
+++
|
||||||
title = "The Names We Discard"
|
title = "The Names We Discard"
|
||||||
date = 2024-01-30 15:53:22-05:00
|
date = 2024-01-30 15:53:22-05:00
|
||||||
draft = true
|
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
tags = ["trans"]
|
tags = ["trans"]
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 732c9a2a58853148ea54e6b062158221470c1044
|
|
45
themes/terminette/LICENSE-Hack.md
Normal file
45
themes/terminette/LICENSE-Hack.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
The work in the Hack project is Copyright 2018 Source Foundry Authors and licensed under the MIT License
|
||||||
|
|
||||||
|
The work in the DejaVu project was committed to the public domain.
|
||||||
|
|
||||||
|
Bitstream Vera Sans Mono Copyright 2003 Bitstream Inc. and licensed under the Bitstream Vera License with Reserved Font Names "Bitstream" and "Vera"
|
||||||
|
|
||||||
|
### MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Source Foundry Authors
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
### BITSTREAM VERA LICENSE
|
||||||
|
|
||||||
|
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces.
|
||||||
|
|
||||||
|
The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera".
|
||||||
|
|
||||||
|
This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names.
|
||||||
|
|
||||||
|
The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself.
|
||||||
|
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org.
|
74
themes/terminette/LICENSE.md
Normal file
74
themes/terminette/LICENSE.md
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2024 Jessica Phoenix Canady
|
||||||
|
|
||||||
|
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.
|
||||||
|
---
|
||||||
|
|
||||||
|
For terminimal:
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Paweł Romanowski
|
||||||
|
|
||||||
|
Copyright (c) 2019 panr
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
For hugo-theme-terminal:
|
||||||
|
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2019 panr
|
||||||
|
|
||||||
|
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.
|
434
themes/terminette/README.md
Normal file
434
themes/terminette/README.md
Normal file
|
@ -0,0 +1,434 @@
|
||||||
|
# Termitette
|
||||||
|
|
||||||
|
A heavily modified version of Terminimal.
|
||||||
|
|
||||||
|
Terminimal readme follows:
|
||||||
|
|
||||||
|
# Terminimal
|
||||||
|
|
||||||
|
[![Build Status](https://github.com/pawroman/zola-theme-terminimal/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/pawroman/zola-theme-terminimal/actions/workflows/pages/pages-build-deployment)
|
||||||
|
![No JavaScript](https://img.shields.io/badge/JavaScript-none-brightgreen.svg)
|
||||||
|
|
||||||
|
![Screenshot](../master/screenshot.png?raw=true)
|
||||||
|
|
||||||
|
See the live demo (of the default configuration) here:
|
||||||
|
https://pawroman.github.io/zola-theme-terminimal/
|
||||||
|
|
||||||
|
Tested with Zola v0.17.2. Please note that earlier versions might not work because of breaking changes across Zola versions.
|
||||||
|
|
||||||
|
#### Fork disclaimer
|
||||||
|
|
||||||
|
This theme is a fork (not a port) of "Terminal" Hugo theme
|
||||||
|
by Radosław Kozieł (aka. panr):
|
||||||
|
https://github.com/panr/hugo-theme-terminal
|
||||||
|
|
||||||
|
Many thanks for that outstanding original theme, Radek!
|
||||||
|
|
||||||
|
For more information about this fork and the differences to the original theme, please see:
|
||||||
|
[Changes compared to the original theme](#changes-compared-to-the-original-theme) below.
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
This theme used to be non-versioned, e.g. you'd pull the master branch, and occasionally new features or fixes would
|
||||||
|
be released.
|
||||||
|
|
||||||
|
Starting from version v1.0.0, the project adopted [Semantic Versioning](https://semver.org/).
|
||||||
|
|
||||||
|
Please check the [GitHub releases](https://github.com/pawroman/zola-theme-terminimal/releases) to see a change log
|
||||||
|
and work out if there's any breaking changes.
|
||||||
|
|
||||||
|
## How to start
|
||||||
|
|
||||||
|
Option A: clone the theme directly into your Zola site folder:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git clone https://github.com/pawroman/zola-theme-terminimal.git themes/terminimal
|
||||||
|
```
|
||||||
|
|
||||||
|
Option B: include it as a git submodule (it's better if you plan to use CI builders):
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git submodule add https://github.com/pawroman/zola-theme-terminimal.git themes/terminimal
|
||||||
|
```
|
||||||
|
|
||||||
|
Then in your `config.toml` set:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
theme = "terminimal"
|
||||||
|
|
||||||
|
# Sass compilation is required
|
||||||
|
compile_sass = true
|
||||||
|
```
|
||||||
|
|
||||||
|
Also see the Zola documentation on using themes:
|
||||||
|
https://www.getzola.org/documentation/themes/installing-and-using-themes/
|
||||||
|
|
||||||
|
## Shortcodes
|
||||||
|
|
||||||
|
The theme adds two custom shortcodes related to image handling.
|
||||||
|
|
||||||
|
### `image`
|
||||||
|
|
||||||
|
Used to show images.
|
||||||
|
|
||||||
|
Required arguments:
|
||||||
|
|
||||||
|
- **`src`**
|
||||||
|
|
||||||
|
Optional arguments:
|
||||||
|
|
||||||
|
- **`alt`**
|
||||||
|
- **`position`** (center \[default\] | left | right)
|
||||||
|
- **`style`**
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
{{ image(src="/img/hello.png", alt="Hello Friend",
|
||||||
|
position="left", style="border-radius: 8px;") }}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `figure`
|
||||||
|
|
||||||
|
Same as `image`, but with a few extra optional arguments:
|
||||||
|
|
||||||
|
- **`caption`** (supports markdown)
|
||||||
|
- **`caption_position`** (center \[default\] | left | right)
|
||||||
|
- **`caption_style`**
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
{{ figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png",
|
||||||
|
style="width: 25%;",
|
||||||
|
position="right",
|
||||||
|
caption_position="left",
|
||||||
|
caption="**Ferris**, the (unofficial) Rust mascot",
|
||||||
|
caption_style="font-style: italic;") }}
|
||||||
|
```
|
||||||
|
|
||||||
|
## OpenGraph
|
||||||
|
|
||||||
|
To add an image to a post, set the `og_image` extra option to the desired image
|
||||||
|
in the same directory of the markdown file:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
og_image = "colocated_image.png"
|
||||||
|
```
|
||||||
|
|
||||||
|
Additionally, for the section pages and for posts to have a fallback image, add
|
||||||
|
`default_og_image` to the `[extra]` section:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
default_og_image = "static/ocean.jpg"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Only show the post's description
|
||||||
|
|
||||||
|
On each post you can specify the following:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
description = "test description"
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
show_only_description = true
|
||||||
|
```
|
||||||
|
|
||||||
|
This will render `test description` under this
|
||||||
|
particular post on the homepage instead of a summary.
|
||||||
|
|
||||||
|
### Colors
|
||||||
|
|
||||||
|
Both the accent colors and background colors are
|
||||||
|
configurable.
|
||||||
|
|
||||||
|
By default, both accent and background are set
|
||||||
|
to `blue`.
|
||||||
|
|
||||||
|
To configure menu, add this in `[extra]` section
|
||||||
|
of your `config.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# One of: blue, green, orange, pink, red.
|
||||||
|
# Defaults to blue.
|
||||||
|
# Append -light for light themes, e.g. blue-light
|
||||||
|
# Or append -auto, e.g. blue-auto
|
||||||
|
accent_color = "green"
|
||||||
|
|
||||||
|
# One of: blue, dark, green, orange, pink, red, light, auto
|
||||||
|
# Enabling dark background will also modify primary font color to be darker.
|
||||||
|
# Defaults to accent color (or, if not accent color specified, to blue).
|
||||||
|
background_color = "dark"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Logo text and link
|
||||||
|
|
||||||
|
You can set the "logo" text and what it links to,
|
||||||
|
by modifying `config.toml` like so:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# The logo text - defaults to "Terminimal theme"
|
||||||
|
logo_text = "My blog"
|
||||||
|
|
||||||
|
# The logo link - defaults to base_url.
|
||||||
|
logo_home_link = "/take/me/away!"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Author and copyright
|
||||||
|
|
||||||
|
You can set the footer's copyright author name like this:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# Author name: when specified, modifies the default
|
||||||
|
# copyright text. Apart from author, it will
|
||||||
|
# contain current year and a link to the theme.
|
||||||
|
author = "My Name"
|
||||||
|
```
|
||||||
|
|
||||||
|
If you don't like the default copyright text,
|
||||||
|
you can set it to completely custom HTML:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# Copyright text in HTML format. If specified,
|
||||||
|
# entirely replaces default copyright and author.
|
||||||
|
copyright_html = "My custom <b>copyright</b>"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Menu
|
||||||
|
|
||||||
|
The menu is optional, static (all items are always shown,
|
||||||
|
no matter what the screen size) and fully user-configurable.
|
||||||
|
|
||||||
|
To configure menu, add this in `[extra]` section
|
||||||
|
of your `config.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# menu is enabled by adding menu_items (optional)
|
||||||
|
menu_items = [
|
||||||
|
# each of these is optional, name and url are required
|
||||||
|
# $BASE_URL is going to be substituted by base_url from configuration
|
||||||
|
{name = "blog", url = "$BASE_URL"},
|
||||||
|
|
||||||
|
# tags should only be enabled if you have "tags" taxonomy
|
||||||
|
# see documentation below for more details
|
||||||
|
{name = "tags", url = "$BASE_URL/tags"},
|
||||||
|
{name = "archive", url = "$BASE_URL/archive"},
|
||||||
|
{name = "about me", url = "$BASE_URL/about"},
|
||||||
|
|
||||||
|
# set newtab to true to make the link open in new tab
|
||||||
|
{name = "github", url = "url-to-your-github", newtab = true},
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
The theme optionally supports tags. To enable them, create
|
||||||
|
a "tags" taxonomy in your `config.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
taxonomies = [
|
||||||
|
{name = "tags"},
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Enabling tags will create a new `/tags` page, and
|
||||||
|
cause them to show up in `archive` section. Note
|
||||||
|
that you still need to create a menu link to the tags
|
||||||
|
page manually.
|
||||||
|
|
||||||
|
### Pagination
|
||||||
|
|
||||||
|
Pagination is fully supported for post list (main site)
|
||||||
|
and intra-post (you can navigate to earlier and later posts).
|
||||||
|
|
||||||
|
To make sure pagination works properly, you must first configure
|
||||||
|
it in `content/_index.md`:
|
||||||
|
|
||||||
|
```
|
||||||
|
+++
|
||||||
|
# number of pages to paginate by
|
||||||
|
paginate_by = 2
|
||||||
|
|
||||||
|
# sorting order for pagination
|
||||||
|
sort_by = "date"
|
||||||
|
+++
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, tweak the theme's pagination config in `config.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# Whether to show links to earlier and later posts
|
||||||
|
# on each post page (defaults to true).
|
||||||
|
enable_post_view_navigation = true
|
||||||
|
|
||||||
|
# The text shown at the bottom of a post,
|
||||||
|
# before earlier/later post links.
|
||||||
|
# Defaults to "Thanks for reading! Read other posts?"
|
||||||
|
post_view_navigation_prompt = "Read more"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Language code
|
||||||
|
|
||||||
|
Internationalization / translation is not supported
|
||||||
|
but you can set the HTML language code for your
|
||||||
|
site:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
default_language = "en"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hack font subset
|
||||||
|
|
||||||
|
By default, the theme uses a mixed subset of the Hack font.
|
||||||
|
Normal weight font uses full character set
|
||||||
|
(for Unicode icons and special symbols), but all others
|
||||||
|
(bold, italic etc) use a limited subset.
|
||||||
|
|
||||||
|
This results in much smaller transfer sizes, but the subset
|
||||||
|
might not contain all the Unicode characters you need.
|
||||||
|
|
||||||
|
You can enable full unicode support in `config.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# Use full Hack character set, not just a subset.
|
||||||
|
# Switch this to true if you need full unicode support.
|
||||||
|
# Defaults to false.
|
||||||
|
use_full_hack_font = true
|
||||||
|
```
|
||||||
|
|
||||||
|
Also see [Hack's docs](https://github.com/source-foundry/Hack/blob/master/docs/WEBFONT_USAGE.md).
|
||||||
|
|
||||||
|
### Favicon
|
||||||
|
|
||||||
|
The theme supports adding a global favicon (applies to
|
||||||
|
all pages) to the site:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
# Optional: Global favicon URL and mimetype.
|
||||||
|
# Mimetype defaults to "image/x-icon".
|
||||||
|
# The URL should point at a file located
|
||||||
|
# in your site's "static" directory.
|
||||||
|
favicon = "/favicon.png"
|
||||||
|
favicon_mimetype = "image/png"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Page titles
|
||||||
|
|
||||||
|
The theme allows you to configure how the page titles (the `<title>` elements) are rendered.
|
||||||
|
|
||||||
|
Use `"combined"` to render titles as `"Page title | Main title"`.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
# Optional: Set how <title> elements are rendered.
|
||||||
|
# Values:
|
||||||
|
# - "main_only" -- only the main title (`config.title`) is rendered.
|
||||||
|
# - "page_only" -- only the page title (if defined) is rendered,
|
||||||
|
# falling back to `config.title` if not defined or empty.
|
||||||
|
# - "combined" -- combine like so: "page_title | main_title",
|
||||||
|
# or if page_title is not defined or empty, fall back to `main_title`
|
||||||
|
#
|
||||||
|
# Note that the main (index) page only has the main title.
|
||||||
|
page_titles = "combined"
|
||||||
|
```
|
||||||
|
|
||||||
|
All the configuration options are also described in
|
||||||
|
[`config.toml`](../master/config.toml).
|
||||||
|
|
||||||
|
## Extending
|
||||||
|
|
||||||
|
Each of the templates defines named blocks, so
|
||||||
|
it should be quite easy to customize the most common things.
|
||||||
|
|
||||||
|
For example, if you want to add extra `<meta>` tags to the
|
||||||
|
base template, `index.html`, create file like this in `templates/index.html`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
{% extends "terminimal/templates/index.html" %}
|
||||||
|
|
||||||
|
{% block extra_head %}
|
||||||
|
<meta name="description" content="My awesome website"/>
|
||||||
|
<meta name="keywords" content="Hacking,Programming,Ranting"/>
|
||||||
|
{% endblock %}
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to contribute
|
||||||
|
|
||||||
|
If you spot any bugs or wish to contribute new features, please create a new
|
||||||
|
[Pull Request](https://github.com/pawroman/zola-theme-terminimal/pulls).
|
||||||
|
|
||||||
|
## Changes compared to the original theme
|
||||||
|
|
||||||
|
This theme has been forked from https://github.com/panr/hugo-theme-terminal
|
||||||
|
|
||||||
|
- Slight changes in the layout and styling.
|
||||||
|
- Content has been centered (instead of left-aligned).
|
||||||
|
- The header stripes have been spaced out.
|
||||||
|
- Tweaks to pagination, especially on mobile (small screens).
|
||||||
|
- The post title underline is dashed instead of doubly-dotted.
|
||||||
|
- All links are underlined, as per
|
||||||
|
[Brutalist Web Design Guidelines](https://www.brutalist-web.design/).
|
||||||
|
- Tweaks to header font sizes.
|
||||||
|
- Minor footer tweaks.
|
||||||
|
|
||||||
|
- Absolutely **no JavaScript**.
|
||||||
|
- No JavaScript needed to pre-process anything.
|
||||||
|
Zola with its Sass pre-processor is the only dependency.
|
||||||
|
- There's no menu trigger.
|
||||||
|
- Things load crazy fast, as it's all static content.
|
||||||
|
- Prism.js syntax highlighting is not supported (you can use
|
||||||
|
[Zola's](https://www.getzola.org/documentation/content/syntax-highlighting/)).
|
||||||
|
|
||||||
|
- All references to social media (e.g. Twitter) have been removed.
|
||||||
|
|
||||||
|
- All references to external URLs (e.g. Google CDN) have been removed.
|
||||||
|
This theme's static assets are meant to be served from where it's hosted.
|
||||||
|
|
||||||
|
- [Hack](https://github.com/source-foundry/Hack) is the default font.
|
||||||
|
|
||||||
|
- The default color theme is blue (original uses orange).
|
||||||
|
|
||||||
|
### New features
|
||||||
|
|
||||||
|
- You can pick the accent color as well as background color.
|
||||||
|
There's a new `dark` background. See [Configuration](#configuration)
|
||||||
|
below for details.
|
||||||
|
- Active "section" links will change color indicating the
|
||||||
|
active section. This is all static, done at template level.
|
||||||
|
|
||||||
|
### Features retained from the original
|
||||||
|
|
||||||
|
- 5 color themes, depending on your preference:
|
||||||
|
blue (default), green, orange, pink, red.
|
||||||
|
- The shortcodes `image` and `figure` (See [Shortcodes](#shortcodes)).
|
||||||
|
- Fully responsive.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Copyright © 2019 Paweł Romanowski (pawroman)
|
||||||
|
|
||||||
|
Original theme: Copyright © 2019 Radosław Kozieł ([@panr](https://twitter.com/panr))
|
||||||
|
|
||||||
|
The theme is released under the MIT License.
|
||||||
|
Check the [license file](../master/LICENSE.md)
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
The license for Hack fonts used is included in
|
||||||
|
[LICENSE-Hack.md](../master/LICENSE-Hack.md).
|
114
themes/terminette/config.toml
Normal file
114
themes/terminette/config.toml
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
# Be sure to change these!
|
||||||
|
base_url = "https://jess.canady.tech/terminette/"
|
||||||
|
title = "Zola Terminette Theme"
|
||||||
|
|
||||||
|
# Sass compilation is required
|
||||||
|
compile_sass = true
|
||||||
|
|
||||||
|
# The theme supports feeds (RSS and ATOM)
|
||||||
|
generate_feed = true
|
||||||
|
|
||||||
|
# Use `rss.xml` for RSS feeds and `atom.xml` for ATOM.
|
||||||
|
feed_filename = "atom.xml"
|
||||||
|
|
||||||
|
# Optional: enable tags
|
||||||
|
taxonomies = [
|
||||||
|
{name = "tags"}
|
||||||
|
]
|
||||||
|
|
||||||
|
# Code highlighting
|
||||||
|
[markdown]
|
||||||
|
highlight_code = true
|
||||||
|
highlight_theme = "boron"
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# Intro html that will appear on the homepage
|
||||||
|
intro_html = """\
|
||||||
|
<b>Terminette</b> is a theme for the Zola static site generator.
|
||||||
|
<p>Here's what it do:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Be rad.</li>
|
||||||
|
<li>Customizable in ways that you should like.</li>
|
||||||
|
<li>Honestly you should probably just use Terminimal,
|
||||||
|
which this theme is based on.</li>
|
||||||
|
</ul>
|
||||||
|
"""
|
||||||
|
|
||||||
|
# One of: blue, green, orange, pink, red.
|
||||||
|
# Defaults to blue.
|
||||||
|
# Append -light for light themes, e.g. blue-light
|
||||||
|
# Or append -auto, e.g. blue-auto
|
||||||
|
accent_color = "pink"
|
||||||
|
|
||||||
|
# One of: blue, dark, green, orange, pink, red, light, auto
|
||||||
|
# Enabling dark background will also modify primary font color to be darker.
|
||||||
|
# Defaults to accent color (or, if not accent color specified, to blue).
|
||||||
|
background_color = "pink"
|
||||||
|
|
||||||
|
# The logo text - defaults to "Terminette theme"
|
||||||
|
logo_text = "Terminette theme"
|
||||||
|
|
||||||
|
# The logo link - defaults to base_url.
|
||||||
|
#logo_home_link = "/take/me/away!"
|
||||||
|
|
||||||
|
# Author name: when specified, modifies the default
|
||||||
|
# copyright text. Apart from author, it will
|
||||||
|
# contain current year and a link to the theme.
|
||||||
|
#author = "My Name"
|
||||||
|
|
||||||
|
# Show summaries vs. full posts in /blog/
|
||||||
|
show_only_summaries = true
|
||||||
|
|
||||||
|
# menu is enabled by adding menu_items (optional)
|
||||||
|
menu_items = [
|
||||||
|
# each of these is optional, name and url are required
|
||||||
|
# $BASE_URL is going to be substituted by base_url from configuration
|
||||||
|
{name = "home", url = "$BASE_URL"},
|
||||||
|
|
||||||
|
# tags should only be enabled if you have "tags" taxonomy
|
||||||
|
# see documentation below for more details
|
||||||
|
{name = "tags", url = "$BASE_URL/tags"},
|
||||||
|
{name = "blog archive", url = "$BASE_URL/blog/"},
|
||||||
|
{name = "about me", url = "$BASE_URL/about"},
|
||||||
|
|
||||||
|
# set newtab to true to make the link open in new tab
|
||||||
|
{name = "source & issues", url = "https://git.gay/jesscanady/terminette/", newtab = true},
|
||||||
|
]
|
||||||
|
|
||||||
|
# Whether to show links to earlier and later (aka. higher/lower) posts
|
||||||
|
# on each post page (defaults to true).
|
||||||
|
enable_post_view_navigation = true
|
||||||
|
|
||||||
|
# The text shown at the bottom of a post,
|
||||||
|
# before earlier/later post links.
|
||||||
|
# Defaults to "Thanks for reading! Read other posts?"
|
||||||
|
post_view_navigation_prompt = "Thanks for reading! Read other posts?"
|
||||||
|
|
||||||
|
# Use full Hack character set, not just a subset.
|
||||||
|
# Switch this to true if you need full unicode support.
|
||||||
|
# Defaults to false.
|
||||||
|
use_full_hack_font = false
|
||||||
|
|
||||||
|
# Optional: Global favicon URL and mimetype.
|
||||||
|
# Mimetype defaults to "image/x-icon".
|
||||||
|
# The URL should point at a file located
|
||||||
|
# in your site's "static" directory.
|
||||||
|
# favicon = "/favicon.png"
|
||||||
|
# favicon_mimetype = "image/png"
|
||||||
|
|
||||||
|
# Optional: Set how <title> elements are rendered.
|
||||||
|
# Values:
|
||||||
|
# - "main_only" -- only the main title (`config.title`) is rendered.
|
||||||
|
# - "page_only" -- only the page title (if defined) is rendered,
|
||||||
|
# falling back to `config.title` if not defined or empty.
|
||||||
|
# - "combined" -- combine like so: "page_title | main_title",
|
||||||
|
# or if page_title is not defined or empty, fall back to `main_title`
|
||||||
|
#
|
||||||
|
# Note that the main (index) page only has the main title.
|
||||||
|
page_titles = "main_only"
|
||||||
|
|
||||||
|
# Optional: default image to use for OpenGraph.
|
||||||
|
# If the page doesnt set og_image, use this one as fallback. Usefull
|
||||||
|
# for indexes and taxonomies' pages.
|
||||||
|
#default_og_image = "static/ocean.jpg"
|
11
themes/terminette/content/about.md
Normal file
11
themes/terminette/content/about.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
+++
|
||||||
|
title = "About the Author"
|
||||||
|
path = "about"
|
||||||
|
template = "about.html"
|
||||||
|
+++
|
||||||
|
|
||||||
|
Hi, I'm Jessica!
|
||||||
|
|
||||||
|
I just dorked around with the awesome [Terminimal](https://pawroman.github.io/zola-theme-terminimal/) theme until it worked the way I wanted and expected.
|
||||||
|
|
||||||
|
You'll probably want to define your own `content/about.md` file and overwrite this one.
|
6
themes/terminette/content/blog/_index.md
Normal file
6
themes/terminette/content/blog/_index.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
+++
|
||||||
|
title = "Blog"
|
||||||
|
sort_by = "date"
|
||||||
|
template = "blog.html"
|
||||||
|
+++
|
||||||
|
|
26
themes/terminette/content/blog/i-dont-like-javascript.md
Normal file
26
themes/terminette/content/blog/i-dont-like-javascript.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
+++
|
||||||
|
title = "I don't like JavaScript"
|
||||||
|
date = 2019-02-02
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["javascript", "rant"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat sapien.
|
||||||
|
|
||||||
|
[wtfjs.com](https://wtfjs.com)
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
>>> [1, 2, 3, 15, 30, 7, 5, 45, 60].sort()
|
||||||
|
[1, 15, 2, 3, 30, 45, 5, 60, 7]
|
||||||
|
```
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
Ut luctus dolor ut tortor hendrerit, sed hendrerit augue scelerisque. Suspendisse quis sodales dui, at tempus ante. Nulla at tempor metus. Aliquam vitae rutrum diam. Curabitur iaculis massa dui, quis varius nulla finibus a. Praesent eu blandit justo. Suspendisse pharetra, arcu in rhoncus rutrum, magna magna viverra erat, eget vestibulum enim tellus id dui. Nunc vel dui et arcu posuere maximus. Mauris quam quam, bibendum sed libero nec, tempus hendrerit arcu. Suspendisse sed gravida orci. Fusce tempor arcu ac est pretium porttitor. Aenean consequat risus venenatis sem aliquam, at sollicitudin nulla semper. Aenean bibendum cursus hendrerit. Nulla congue urna nec finibus bibendum. Donec porta tincidunt ligula non ultricies.
|
||||||
|
|
||||||
|
Sed vulputate tristique elit, eget pharetra elit sodales sed. Proin dignissim ipsum lorem, at porta eros malesuada sed. Proin tristique eros eu quam ornare, suscipit luctus mauris lobortis. Phasellus ut placerat enim. Donec egestas faucibus maximus. Nam quis efficitur eros. Cras tincidunt, lacus ac pretium porta, dui dolor varius elit, eget laoreet justo justo vitae metus. Morbi eget nisi ut ex scelerisque lobortis ut in lorem. Vestibulum et lorem quis ipsum feugiat varius. Mauris nec nulla viverra nisi porttitor efficitur. Morbi vel purus eleifend, finibus erat non, placerat ipsum. Mauris et augue vel nisi volutpat aliquam. Curabitur malesuada tortor est, at condimentum neque eleifend in.
|
||||||
|
|
||||||
|
Morbi id ornare lacus. Suspendisse ultrices rutrum posuere. Nullam porttitor libero quis ligula finibus semper. Mauris iaculis magna et nisl tristique, eget maximus ex feugiat. Nam eu felis leo. Quisque ultrices varius purus in molestie. Duis non accumsan ligula. Vivamus dignissim malesuada metus, vel hendrerit tellus viverra id. Curabitur posuere, mauris vitae dignissim dictum, velit mi condimentum lorem, nec varius velit arcu a mi. In dolor sapien, condimentum sed aliquam at, dignissim id purus. Cras lorem leo, vulputate ac ante sed, molestie tempus lectus. Curabitur efficitur libero quam, rhoncus faucibus libero pharetra nec. Curabitur lobortis ullamcorper nisl eu imperdiet. Duis porttitor interdum magna, ac eleifend orci consequat vitae. Aliquam augue felis, faucibus vel blandit sed, maximus non turpis.
|
||||||
|
|
||||||
|
Quisque viverra a eros id auctor. Proin id nibh ut nisl dignissim pellentesque et ac mi. Nullam mattis urna quis consequat bibendum. Donec pretium dui elit, a semper purus tristique et. Mauris euismod nisl eu vehicula facilisis. Maecenas facilisis non massa non scelerisque. Integer malesuada cursus erat eu viverra. Duis ligula mi, eleifend vel justo id, laoreet porttitor ex. Etiam ultricies lacus lorem, sed aliquam nulla blandit in. Maecenas vel facilisis neque, vitae fringilla eros. In justo nibh, pellentesque sed faucibus nec, varius sit amet risus.
|
19
themes/terminette/content/blog/learning-javascript.md
Normal file
19
themes/terminette/content/blog/learning-javascript.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
+++
|
||||||
|
title = "Learning JavaScript"
|
||||||
|
date = 2019-01-03
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["javascript"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat sapien. Aenean ligula nunc, laoreet id sem in, interdum bibendum felis. Donec vel dui neque. Praesent ac sem ut justo volutpat rutrum a imperdiet tellus. Nam lobortis massa non hendrerit hendrerit. Vivamus porttitor dignissim turpis, eget aliquam urna tincidunt non. Aliquam et fringilla turpis. Nullam eros est, eleifend in ornare sed, hendrerit eget est. Aliquam tellus felis, suscipit vitae ex vel, fringilla tempus massa. Nulla facilisi. Pellentesque lobortis consequat lectus. Maecenas ac libero elit.
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
Ut luctus dolor ut tortor hendrerit, sed hendrerit augue scelerisque. Suspendisse quis sodales dui, at tempus ante. Nulla at tempor metus. Aliquam vitae rutrum diam. Curabitur iaculis massa dui, quis varius nulla finibus a. Praesent eu blandit justo. Suspendisse pharetra, arcu in rhoncus rutrum, magna magna viverra erat, eget vestibulum enim tellus id dui. Nunc vel dui et arcu posuere maximus. Mauris quam quam, bibendum sed libero nec, tempus hendrerit arcu. Suspendisse sed gravida orci. Fusce tempor arcu ac est pretium porttitor. Aenean consequat risus venenatis sem aliquam, at sollicitudin nulla semper. Aenean bibendum cursus hendrerit. Nulla congue urna nec finibus bibendum. Donec porta tincidunt ligula non ultricies.
|
||||||
|
|
||||||
|
Sed vulputate tristique elit, eget pharetra elit sodales sed. Proin dignissim ipsum lorem, at porta eros malesuada sed. Proin tristique eros eu quam ornare, suscipit luctus mauris lobortis. Phasellus ut placerat enim. Donec egestas faucibus maximus. Nam quis efficitur eros. Cras tincidunt, lacus ac pretium porta, dui dolor varius elit, eget laoreet justo justo vitae metus. Morbi eget nisi ut ex scelerisque lobortis ut in lorem. Vestibulum et lorem quis ipsum feugiat varius. Mauris nec nulla viverra nisi porttitor efficitur. Morbi vel purus eleifend, finibus erat non, placerat ipsum. Mauris et augue vel nisi volutpat aliquam. Curabitur malesuada tortor est, at condimentum neque eleifend in.
|
||||||
|
|
||||||
|
Morbi id ornare lacus. Suspendisse ultrices rutrum posuere. Nullam porttitor libero quis ligula finibus semper. Mauris iaculis magna et nisl tristique, eget maximus ex feugiat. Nam eu felis leo. Quisque ultrices varius purus in molestie. Duis non accumsan ligula. Vivamus dignissim malesuada metus, vel hendrerit tellus viverra id. Curabitur posuere, mauris vitae dignissim dictum, velit mi condimentum lorem, nec varius velit arcu a mi. In dolor sapien, condimentum sed aliquam at, dignissim id purus. Cras lorem leo, vulputate ac ante sed, molestie tempus lectus. Curabitur efficitur libero quam, rhoncus faucibus libero pharetra nec. Curabitur lobortis ullamcorper nisl eu imperdiet. Duis porttitor interdum magna, ac eleifend orci consequat vitae. Aliquam augue felis, faucibus vel blandit sed, maximus non turpis.
|
||||||
|
|
||||||
|
Quisque viverra a eros id auctor. Proin id nibh ut nisl dignissim pellentesque et ac mi. Nullam mattis urna quis consequat bibendum. Donec pretium dui elit, a semper purus tristique et. Mauris euismod nisl eu vehicula facilisis. Maecenas facilisis non massa non scelerisque. Integer malesuada cursus erat eu viverra. Duis ligula mi, eleifend vel justo id, laoreet porttitor ex. Etiam ultricies lacus lorem, sed aliquam nulla blandit in. Maecenas vel facilisis neque, vitae fringilla eros. In justo nibh, pellentesque sed faucibus nec, varius sit amet risus.
|
19
themes/terminette/content/blog/more-ranting.md
Normal file
19
themes/terminette/content/blog/more-ranting.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
+++
|
||||||
|
title = "More ranting"
|
||||||
|
date = 2019-02-03
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["rant"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat sapien. Aenean ligula nunc, laoreet id sem in, interdum bibendum felis. Donec vel dui neque. Praesent ac sem ut justo volutpat rutrum a imperdiet tellus. Nam lobortis massa non hendrerit hendrerit. Vivamus porttitor dignissim turpis, eget aliquam urna tincidunt non. Aliquam et fringilla turpis. Nullam eros est, eleifend in ornare sed, hendrerit eget est. Aliquam tellus felis, suscipit vitae ex vel, fringilla tempus massa. Nulla facilisi. Pellentesque lobortis consequat lectus. Maecenas ac libero elit.
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
Ut luctus dolor ut tortor hendrerit, sed hendrerit augue scelerisque. Suspendisse quis sodales dui, at tempus ante. Nulla at tempor metus. Aliquam vitae rutrum diam. Curabitur iaculis massa dui, quis varius nulla finibus a. Praesent eu blandit justo. Suspendisse pharetra, arcu in rhoncus rutrum, magna magna viverra erat, eget vestibulum enim tellus id dui. Nunc vel dui et arcu posuere maximus. Mauris quam quam, bibendum sed libero nec, tempus hendrerit arcu. Suspendisse sed gravida orci. Fusce tempor arcu ac est pretium porttitor. Aenean consequat risus venenatis sem aliquam, at sollicitudin nulla semper. Aenean bibendum cursus hendrerit. Nulla congue urna nec finibus bibendum. Donec porta tincidunt ligula non ultricies.
|
||||||
|
|
||||||
|
Sed vulputate tristique elit, eget pharetra elit sodales sed. Proin dignissim ipsum lorem, at porta eros malesuada sed. Proin tristique eros eu quam ornare, suscipit luctus mauris lobortis. Phasellus ut placerat enim. Donec egestas faucibus maximus. Nam quis efficitur eros. Cras tincidunt, lacus ac pretium porta, dui dolor varius elit, eget laoreet justo justo vitae metus. Morbi eget nisi ut ex scelerisque lobortis ut in lorem. Vestibulum et lorem quis ipsum feugiat varius. Mauris nec nulla viverra nisi porttitor efficitur. Morbi vel purus eleifend, finibus erat non, placerat ipsum. Mauris et augue vel nisi volutpat aliquam. Curabitur malesuada tortor est, at condimentum neque eleifend in.
|
||||||
|
|
||||||
|
Morbi id ornare lacus. Suspendisse ultrices rutrum posuere. Nullam porttitor libero quis ligula finibus semper. Mauris iaculis magna et nisl tristique, eget maximus ex feugiat. Nam eu felis leo. Quisque ultrices varius purus in molestie. Duis non accumsan ligula. Vivamus dignissim malesuada metus, vel hendrerit tellus viverra id. Curabitur posuere, mauris vitae dignissim dictum, velit mi condimentum lorem, nec varius velit arcu a mi. In dolor sapien, condimentum sed aliquam at, dignissim id purus. Cras lorem leo, vulputate ac ante sed, molestie tempus lectus. Curabitur efficitur libero quam, rhoncus faucibus libero pharetra nec. Curabitur lobortis ullamcorper nisl eu imperdiet. Duis porttitor interdum magna, ac eleifend orci consequat vitae. Aliquam augue felis, faucibus vel blandit sed, maximus non turpis.
|
||||||
|
|
||||||
|
Quisque viverra a eros id auctor. Proin id nibh ut nisl dignissim pellentesque et ac mi. Nullam mattis urna quis consequat bibendum. Donec pretium dui elit, a semper purus tristique et. Mauris euismod nisl eu vehicula facilisis. Maecenas facilisis non massa non scelerisque. Integer malesuada cursus erat eu viverra. Duis ligula mi, eleifend vel justo id, laoreet porttitor ex. Etiam ultricies lacus lorem, sed aliquam nulla blandit in. Maecenas vel facilisis neque, vitae fringilla eros. In justo nibh, pellentesque sed faucibus nec, varius sit amet risus.
|
101
themes/terminette/content/blog/welcome-terminimal-theme.md
Normal file
101
themes/terminette/content/blog/welcome-terminimal-theme.md
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
+++
|
||||||
|
title = "Welcome to Terminimal Theme for Zola"
|
||||||
|
date = 2019-02-04
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["zola", "theme", "showcase"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Welcome to Terminimal! This is a theme showcase post.
|
||||||
|
|
||||||
|
Code block (using "boron" theme):
|
||||||
|
|
||||||
|
```python
|
||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
class HelloPrinter:
|
||||||
|
def __init__(self, thing):
|
||||||
|
self.thing = thing
|
||||||
|
|
||||||
|
def __call__(self):
|
||||||
|
print(f"Hello, {self.thing}!")
|
||||||
|
|
||||||
|
|
||||||
|
printer = HelloPrinter("World")
|
||||||
|
printer()
|
||||||
|
|
||||||
|
# prints: Hello, World!
|
||||||
|
```
|
||||||
|
|
||||||
|
Inline code: `print("Hello world!")`.
|
||||||
|
|
||||||
|
Basic typography:
|
||||||
|
|
||||||
|
*Italic text*. **Bold text**. _**Italic bold**_. Link: [click me](#)
|
||||||
|
|
||||||
|
# Header 1
|
||||||
|
## Header 2
|
||||||
|
### Header 3
|
||||||
|
#### Header 4
|
||||||
|
|
||||||
|
Quote:
|
||||||
|
|
||||||
|
> "Theory is when you know everything but nothing works.
|
||||||
|
Practice is when everything works but no one knows why.
|
||||||
|
In our lab, theory and practice are combined: nothing works and no one knows why."
|
||||||
|
|
||||||
|
Lists:
|
||||||
|
|
||||||
|
- A
|
||||||
|
- B
|
||||||
|
- CDEF
|
||||||
|
- Nested Item
|
||||||
|
- And more nesting
|
||||||
|
- GHIJ
|
||||||
|
|
||||||
|
|
||||||
|
1. One
|
||||||
|
2. Two
|
||||||
|
3. Three
|
||||||
|
|
||||||
|
Horizontal line:
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
This is where the post summary ends.
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
The second part follows here.
|
||||||
|
|
||||||
|
## Shortcodes
|
||||||
|
|
||||||
|
`figure` shortcode:
|
||||||
|
|
||||||
|
```
|
||||||
|
figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png",
|
||||||
|
style="width: 25%;",
|
||||||
|
position="center",
|
||||||
|
caption_position="left",
|
||||||
|
caption="**Ferris**, the (unofficial) Rust mascot",
|
||||||
|
caption_style="font-weight: bold; font-style: italic;")
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png",
|
||||||
|
style="width: 25%;",
|
||||||
|
position="center",
|
||||||
|
caption_position="left",
|
||||||
|
caption="**Ferris**, the (unofficial) Rust mascot",
|
||||||
|
caption_style="font-style: italic;") }}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`image` shortcode:
|
||||||
|
|
||||||
|
```
|
||||||
|
image(src="https://upload.wikimedia.org/wikipedia/commons/3/35/Tux.svg",
|
||||||
|
position="left")
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ image(src="https://upload.wikimedia.org/wikipedia/commons/3/35/Tux.svg",
|
||||||
|
position="left") }}
|
19
themes/terminette/content/blog/zola-is-nice.md
Normal file
19
themes/terminette/content/blog/zola-is-nice.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
+++
|
||||||
|
title = "Zola is nice"
|
||||||
|
date = 2019-02-01
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["zola", "nice"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat sapien. Aenean ligula nunc, laoreet id sem in, interdum bibendum felis. Donec vel dui neque. Praesent ac sem ut justo volutpat rutrum a imperdiet tellus. Nam lobortis massa non hendrerit hendrerit. Vivamus porttitor dignissim turpis, eget aliquam urna tincidunt non. Aliquam et fringilla turpis. Nullam eros est, eleifend in ornare sed, hendrerit eget est. Aliquam tellus felis, suscipit vitae ex vel, fringilla tempus massa. Nulla facilisi. Pellentesque lobortis consequat lectus. Maecenas ac libero elit.
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
Ut luctus dolor ut tortor hendrerit, sed hendrerit augue scelerisque. Suspendisse quis sodales dui, at tempus ante. Nulla at tempor metus. Aliquam vitae rutrum diam. Curabitur iaculis massa dui, quis varius nulla finibus a. Praesent eu blandit justo. Suspendisse pharetra, arcu in rhoncus rutrum, magna magna viverra erat, eget vestibulum enim tellus id dui. Nunc vel dui et arcu posuere maximus. Mauris quam quam, bibendum sed libero nec, tempus hendrerit arcu. Suspendisse sed gravida orci. Fusce tempor arcu ac est pretium porttitor. Aenean consequat risus venenatis sem aliquam, at sollicitudin nulla semper. Aenean bibendum cursus hendrerit. Nulla congue urna nec finibus bibendum. Donec porta tincidunt ligula non ultricies.
|
||||||
|
|
||||||
|
Sed vulputate tristique elit, eget pharetra elit sodales sed. Proin dignissim ipsum lorem, at porta eros malesuada sed. Proin tristique eros eu quam ornare, suscipit luctus mauris lobortis. Phasellus ut placerat enim. Donec egestas faucibus maximus. Nam quis efficitur eros. Cras tincidunt, lacus ac pretium porta, dui dolor varius elit, eget laoreet justo justo vitae metus. Morbi eget nisi ut ex scelerisque lobortis ut in lorem. Vestibulum et lorem quis ipsum feugiat varius. Mauris nec nulla viverra nisi porttitor efficitur. Morbi vel purus eleifend, finibus erat non, placerat ipsum. Mauris et augue vel nisi volutpat aliquam. Curabitur malesuada tortor est, at condimentum neque eleifend in.
|
||||||
|
|
||||||
|
Morbi id ornare lacus. Suspendisse ultrices rutrum posuere. Nullam porttitor libero quis ligula finibus semper. Mauris iaculis magna et nisl tristique, eget maximus ex feugiat. Nam eu felis leo. Quisque ultrices varius purus in molestie. Duis non accumsan ligula. Vivamus dignissim malesuada metus, vel hendrerit tellus viverra id. Curabitur posuere, mauris vitae dignissim dictum, velit mi condimentum lorem, nec varius velit arcu a mi. In dolor sapien, condimentum sed aliquam at, dignissim id purus. Cras lorem leo, vulputate ac ante sed, molestie tempus lectus. Curabitur efficitur libero quam, rhoncus faucibus libero pharetra nec. Curabitur lobortis ullamcorper nisl eu imperdiet. Duis porttitor interdum magna, ac eleifend orci consequat vitae. Aliquam augue felis, faucibus vel blandit sed, maximus non turpis.
|
||||||
|
|
||||||
|
Quisque viverra a eros id auctor. Proin id nibh ut nisl dignissim pellentesque et ac mi. Nullam mattis urna quis consequat bibendum. Donec pretium dui elit, a semper purus tristique et. Mauris euismod nisl eu vehicula facilisis. Maecenas facilisis non massa non scelerisque. Integer malesuada cursus erat eu viverra. Duis ligula mi, eleifend vel justo id, laoreet porttitor ex. Etiam ultricies lacus lorem, sed aliquam nulla blandit in. Maecenas vel facilisis neque, vitae fringilla eros. In justo nibh, pellentesque sed faucibus nec, varius sit amet risus.
|
92
themes/terminette/sass/buttons.scss
Normal file
92
themes/terminette/sass/buttons.scss
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
.button-container {
|
||||||
|
display: table;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
.button,
|
||||||
|
a.button {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 8px 18px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
appearance: none;
|
||||||
|
cursor: pointer;
|
||||||
|
outline: none;
|
||||||
|
|
||||||
|
/* variants */
|
||||||
|
|
||||||
|
&.outline {
|
||||||
|
background: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: 8px 18px;
|
||||||
|
|
||||||
|
:hover {
|
||||||
|
transform: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.primary {
|
||||||
|
box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
box-shadow: 0 2px 6px rgba(50, 50, 93, .21), 0 1px 3px rgba(0, 0, 0, .08);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.link {
|
||||||
|
background: none;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* sizes */
|
||||||
|
|
||||||
|
&.small {
|
||||||
|
font-size: .8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.wide {
|
||||||
|
min-width: 200px;
|
||||||
|
padding: 14px 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a.read-more,
|
||||||
|
a.read-more:hover,
|
||||||
|
a.read-more:active {
|
||||||
|
display: inline-flex;
|
||||||
|
background: none;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 20px 0;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.code-toolbar {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
|
||||||
|
.toolbar-item a {
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 3px 8px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
appearance: none;
|
||||||
|
cursor: pointer;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
}
|
14
themes/terminette/sass/color/background_auto.scss
Normal file
14
themes/terminette/sass/color/background_auto.scss
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
:root {
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
--background: white;
|
||||||
|
|
||||||
|
--color: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
--background: #101010;
|
||||||
|
|
||||||
|
--color: #A9B7C6;
|
||||||
|
}
|
||||||
|
}
|
3
themes/terminette/sass/color/background_blue.scss
Normal file
3
themes/terminette/sass/color/background_blue.scss
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--background: #1D212C;
|
||||||
|
}
|
5
themes/terminette/sass/color/background_dark.scss
Normal file
5
themes/terminette/sass/color/background_dark.scss
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
:root {
|
||||||
|
--background: #101010;
|
||||||
|
|
||||||
|
--color: #A9B7C6;
|
||||||
|
}
|
3
themes/terminette/sass/color/background_green.scss
Normal file
3
themes/terminette/sass/color/background_green.scss
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--background: #1F222A;
|
||||||
|
}
|
3
themes/terminette/sass/color/background_light.scss
Normal file
3
themes/terminette/sass/color/background_light.scss
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--background: #f0f0f0;
|
||||||
|
}
|
3
themes/terminette/sass/color/background_orange.scss
Normal file
3
themes/terminette/sass/color/background_orange.scss
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--background: #222129;
|
||||||
|
}
|
3
themes/terminette/sass/color/background_pink.scss
Normal file
3
themes/terminette/sass/color/background_pink.scss
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--background: #21202C;
|
||||||
|
}
|
3
themes/terminette/sass/color/background_red.scss
Normal file
3
themes/terminette/sass/color/background_red.scss
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--background: #221F29;
|
||||||
|
}
|
29
themes/terminette/sass/color/blue-auto.scss
Normal file
29
themes/terminette/sass/color/blue-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
:root {
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
--accent: rgb(35,176,255);
|
||||||
|
--accent-alpha-70: rgba(35,176,255,.7);
|
||||||
|
--accent-alpha-20: rgba(35,176,255,.2);
|
||||||
|
|
||||||
|
--background: #101010;
|
||||||
|
--color: #f0f0f0;
|
||||||
|
--border-color: rgba(255,240,224,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
--accent: rgb(32,128,192);
|
||||||
|
--accent-alpha-70: rgba(32,128,192,.7);
|
||||||
|
--accent-alpha-20: rgba(32,128,192,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #201030;
|
||||||
|
--border-color: rgba(0,0,16,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
themes/terminette/sass/color/blue-light.scss
Normal file
12
themes/terminette/sass/color/blue-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(32,128,192);
|
||||||
|
--accent-alpha-70: rgba(32,128,192,.7);
|
||||||
|
--accent-alpha-20: rgba(32,128,192,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #1D212C;
|
||||||
|
--border-color: rgba(0, 0, 0, .1);
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
9
themes/terminette/sass/color/blue.scss
Normal file
9
themes/terminette/sass/color/blue.scss
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(35,176,255);
|
||||||
|
--accent-alpha-70: rgba(35,176,255,.7);
|
||||||
|
--accent-alpha-20: rgba(35,176,255,.2);
|
||||||
|
|
||||||
|
--background: #1D212C;
|
||||||
|
--color: white;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
}
|
29
themes/terminette/sass/color/green-auto.scss
Normal file
29
themes/terminette/sass/color/green-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
:root {
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
--accent: rgb(120,226,160);
|
||||||
|
--accent-alpha-70: rgba(120,226,160,.7);
|
||||||
|
--accent-alpha-20: rgba(120,226,160,.2);
|
||||||
|
|
||||||
|
--background: #101010;
|
||||||
|
--color: #f0f0f0;
|
||||||
|
--border-color: rgba(255,240,224,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
--accent: rgb(24, 192, 128);
|
||||||
|
--accent-alpha-70: rgba(24, 192, 128,.7);
|
||||||
|
--accent-alpha-20: rgba(24, 192, 128,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #201030;
|
||||||
|
--border-color: rgba(0,0,16,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
themes/terminette/sass/color/green-light.scss
Normal file
12
themes/terminette/sass/color/green-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(24, 192, 128);
|
||||||
|
--accent-alpha-70: rgba(24, 192, 128,.7);
|
||||||
|
--accent-alpha-20: rgba(24, 192, 128,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #1D212C;
|
||||||
|
--border-color: rgba(0, 0, 0, .1);
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
9
themes/terminette/sass/color/green.scss
Normal file
9
themes/terminette/sass/color/green.scss
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(120,226,160);
|
||||||
|
--accent-alpha-70: rgba(120,226,160,.7);
|
||||||
|
--accent-alpha-20: rgba(120,226,160,.2);
|
||||||
|
|
||||||
|
--background: #1F222A;
|
||||||
|
--color: white;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
}
|
29
themes/terminette/sass/color/orange-auto.scss
Normal file
29
themes/terminette/sass/color/orange-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
:root {
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
--accent: rgb(255,168,106);
|
||||||
|
--accent-alpha-70: rgba(255,168,106,.7);
|
||||||
|
--accent-alpha-20: rgba(255,168,106,.2);
|
||||||
|
|
||||||
|
--background: #101010;
|
||||||
|
--color: #f0f0f0;
|
||||||
|
--border-color: rgba(255,240,224,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
--accent: rgb(240,128,48);
|
||||||
|
--accent-alpha-70: rgba(240,128,48,.7);
|
||||||
|
--accent-alpha-20: rgba(240,128,48,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #201030;
|
||||||
|
--border-color: rgba(0,0,16,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
themes/terminette/sass/color/orange-light.scss
Normal file
12
themes/terminette/sass/color/orange-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(240,128,48);
|
||||||
|
--accent-alpha-70: rgba(240,128,48,.7);
|
||||||
|
--accent-alpha-20: rgba(240,128,48,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #1D212C;
|
||||||
|
--border-color: rgba(0, 0, 0, .1);
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
9
themes/terminette/sass/color/orange.scss
Normal file
9
themes/terminette/sass/color/orange.scss
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(255,168,106);
|
||||||
|
--accent-alpha-70: rgba(255,168,106,.7);
|
||||||
|
--accent-alpha-20: rgba(255,168,106,.2);
|
||||||
|
|
||||||
|
--background: #222129;
|
||||||
|
--color: white;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
}
|
29
themes/terminette/sass/color/pink-auto.scss
Normal file
29
themes/terminette/sass/color/pink-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
:root {
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
--accent: rgb(224,64,192);
|
||||||
|
--accent-alpha-70: rgba(224,64,192);
|
||||||
|
--accent-alpha-20: rgba(224,64,192,.2);
|
||||||
|
|
||||||
|
--background: #101010;
|
||||||
|
--color: #f0f0f0;
|
||||||
|
--border-color: rgba(255,240,224,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
--accent: rgb(238,114,241);
|
||||||
|
--accent-alpha-70: rgba(238,114,241,.7);
|
||||||
|
--accent-alpha-20: rgba(238,114,241,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #201030;
|
||||||
|
--border-color: rgba(0,0,16,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
themes/terminette/sass/color/pink-light.scss
Normal file
12
themes/terminette/sass/color/pink-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(224,64,192);
|
||||||
|
--accent-alpha-70: rgba(224,64,192);
|
||||||
|
--accent-alpha-20: rgba(224,64,192,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #1D212C;
|
||||||
|
--border-color: rgba(0, 0, 0, .1);
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
9
themes/terminette/sass/color/pink.scss
Normal file
9
themes/terminette/sass/color/pink.scss
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(238,114,241);
|
||||||
|
--accent-alpha-70: rgba(238,114,241,.7);
|
||||||
|
--accent-alpha-20: rgba(238,114,241,.2);
|
||||||
|
|
||||||
|
--background: #21202C;
|
||||||
|
--color: white;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
}
|
29
themes/terminette/sass/color/red-auto.scss
Normal file
29
themes/terminette/sass/color/red-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
:root {
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
--accent: rgb(255,98,102);
|
||||||
|
--accent-alpha-70: rgba(255,98,102,.7);
|
||||||
|
--accent-alpha-20: rgba(255,98,102,.2);
|
||||||
|
|
||||||
|
--background: #101010;
|
||||||
|
--color: #f0f0f0;
|
||||||
|
--border-color: rgba(255,240,224,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
--accent: rgb(240,48,64);
|
||||||
|
--accent-alpha-70: rgba(240,48,64,.7);
|
||||||
|
--accent-alpha-20: rgba(240,48,64,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #201030;
|
||||||
|
--border-color: rgba(0,0,16,.125);
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
themes/terminette/sass/color/red-light.scss
Normal file
12
themes/terminette/sass/color/red-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(240,48,64);
|
||||||
|
--accent-alpha-70: rgba(240,48,64,.7);
|
||||||
|
--accent-alpha-20: rgba(240,48,64,.2);
|
||||||
|
|
||||||
|
--background: white;
|
||||||
|
--color: #1D212C;
|
||||||
|
--border-color: rgba(0, 0, 0, .1);
|
||||||
|
div.logo {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
9
themes/terminette/sass/color/red.scss
Normal file
9
themes/terminette/sass/color/red.scss
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(255,98,102);
|
||||||
|
--accent-alpha-70: rgba(255,98,102,.7);
|
||||||
|
--accent-alpha-20: rgba(255,98,102,.2);
|
||||||
|
|
||||||
|
--background: #221F29;
|
||||||
|
--color: white;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
}
|
34
themes/terminette/sass/font-hack-subset.scss
Normal file
34
themes/terminette/sass/font-hack-subset.scss
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/*!
|
||||||
|
* Hack typeface https://github.com/source-foundry/Hack
|
||||||
|
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||||
|
*/
|
||||||
|
/* FONT PATHS
|
||||||
|
* -------------------------- */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
/* Use full version (not a subset) for unicode icon support */
|
||||||
|
src: url('fonts/hack-regular.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-regular.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-bold-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bold-subset.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-italic-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-italic-webfont.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-bolditalic-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bolditalic-subset.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
33
themes/terminette/sass/font-hack.scss
Normal file
33
themes/terminette/sass/font-hack.scss
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
/*!
|
||||||
|
* Hack typeface https://github.com/source-foundry/Hack
|
||||||
|
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||||
|
*/
|
||||||
|
/* FONT PATHS
|
||||||
|
* -------------------------- */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-regular.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-regular.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-bold.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bold.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-italic.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-italic.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Hack';
|
||||||
|
src: url('fonts/hack-bolditalic.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bolditalic.woff?sha=3114f1256') format('woff');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
62
themes/terminette/sass/footer.scss
Normal file
62
themes/terminette/sass/footer.scss
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
flex-grow: 0;
|
||||||
|
opacity: .5;
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0;
|
||||||
|
width: 760px;
|
||||||
|
max-width: 100%;
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
|
||||||
|
&--user {
|
||||||
|
margin: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > *:first-child:not(:only-child) {
|
||||||
|
margin-right: 10px;
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
flex-direction: column;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright-theme-sep {
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright-theme {
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
96
themes/terminette/sass/header.scss
Normal file
96
themes/terminette/sass/header.scss
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
@mixin menu {
|
||||||
|
position: absolute;
|
||||||
|
background: var(--background);
|
||||||
|
box-shadow: var(--shadow);
|
||||||
|
color: white;
|
||||||
|
border: 2px solid;
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
list-style: none;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__logo {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: '';
|
||||||
|
background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 16px);
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
margin: 20px 0;
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
&.active {
|
||||||
|
color: var(--accent-alpha-70);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__sub-inner {
|
||||||
|
position: relative;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&:not(:only-child) {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-more {
|
||||||
|
@include menu;
|
||||||
|
top: 35px;
|
||||||
|
left: 0;
|
||||||
|
|
||||||
|
&-trigger {
|
||||||
|
color: var(--accent);
|
||||||
|
user-select: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
5
themes/terminette/sass/home.scss
Normal file
5
themes/terminette/sass/home.scss
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
div.homepage {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
|
||||||
|
grid-gap: 3em;
|
||||||
|
}
|
8
themes/terminette/sass/logo.scss
Normal file
8
themes/terminette/sass/logo.scss
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.logo {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--accent);
|
||||||
|
color: black;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
263
themes/terminette/sass/main.scss
Normal file
263
themes/terminette/sass/main.scss
Normal file
|
@ -0,0 +1,263 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
html {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
*:before,
|
||||||
|
*:after {
|
||||||
|
box-sizing: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||||
|
font-size: 1rem;
|
||||||
|
line-height: 1.54;
|
||||||
|
// background-color: var(--background);
|
||||||
|
color: var(--color);
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg {
|
||||||
|
background: radial-gradient(at right top, #F68EF0, #74B9DF);
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
min-height: 100vh;
|
||||||
|
min-height: 100dvh;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4, h5, h6 {
|
||||||
|
font-size: 1.15rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
|
||||||
|
&.left {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
display: table;
|
||||||
|
max-width: 100%;
|
||||||
|
margin: 25px 0;
|
||||||
|
|
||||||
|
&.left, img {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center, img {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right, img {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption {
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 5px 10px;
|
||||||
|
margin-top: 5px;
|
||||||
|
background: var(--accent);
|
||||||
|
color: var(--background);
|
||||||
|
|
||||||
|
&.left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||||
|
font-feature-settings: normal;
|
||||||
|
background: var(--accent-alpha-20);
|
||||||
|
padding: 1px 6px;
|
||||||
|
margin: 0 2px;
|
||||||
|
font-size: .95rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||||
|
padding: 20px;
|
||||||
|
font-size: .95rem;
|
||||||
|
overflow: auto;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, .1);
|
||||||
|
border-bottom: 1px solid rgba(255, 255, 255, .1);
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
border-top: 1px solid var(--accent);
|
||||||
|
border-bottom: 1px solid var(--accent);
|
||||||
|
margin: 40px 0;
|
||||||
|
padding: 25px;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
content: '”';
|
||||||
|
font-family: Georgia, serif;
|
||||||
|
font-size: 3.875rem;
|
||||||
|
position: absolute;
|
||||||
|
left: -40px;
|
||||||
|
top: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:first-of-type {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-of-type {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:before {
|
||||||
|
content: '>';
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
left: -25px;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
table-layout: fixed;
|
||||||
|
border-collapse: collapse;
|
||||||
|
width: 100%;
|
||||||
|
margin: 40px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table, th, td {
|
||||||
|
border: 1px dashed var(--accent);
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
margin-left: 30px;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ol ol {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 40px;
|
||||||
|
max-width: 864px;
|
||||||
|
// min-height: 100vh;
|
||||||
|
margin: 2em auto;
|
||||||
|
|
||||||
|
background: rgb(0 0 0 / .4);
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
background: var(--border-color);
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
77
themes/terminette/sass/pagination.scss
Normal file
77
themes/terminette/sass/pagination.scss
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
|
.pagination {
|
||||||
|
margin-top: 50px;
|
||||||
|
|
||||||
|
&__title {
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
margin: 100px 0 20px;
|
||||||
|
|
||||||
|
&-h {
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 5px 10px;
|
||||||
|
background: var(--background);
|
||||||
|
font-size: .8rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: .1em;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 15px;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__buttons {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
max-width: 40%;
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
max-width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ .button {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
display: flex;
|
||||||
|
padding: 8px 16px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text {
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
}
|
135
themes/terminette/sass/post.scss
Normal file
135
themes/terminette/sass/post.scss
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
margin: 20px auto;
|
||||||
|
padding: 20px 0;
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
max-width: 660px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
%meta {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: var(--accent-alpha-70);
|
||||||
|
}
|
||||||
|
|
||||||
|
&-meta {
|
||||||
|
@extend %meta;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-meta-inline {
|
||||||
|
@extend %meta;
|
||||||
|
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-title {
|
||||||
|
--border: 2px dashed var(--accent);
|
||||||
|
position: relative;
|
||||||
|
color: var(--accent);
|
||||||
|
margin: 0 0 15px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
border-bottom: var(--border);
|
||||||
|
font-weight: normal;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%tags {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
font-size: 1rem;
|
||||||
|
opacity: .5;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-tags {
|
||||||
|
@extend %tags;
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-tags-inline {
|
||||||
|
@extend %tags;
|
||||||
|
|
||||||
|
display: inline;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&-content {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-cover {
|
||||||
|
border: 20px solid var(--accent);
|
||||||
|
background: transparent;
|
||||||
|
margin: 40px 0;
|
||||||
|
padding: 20px;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
padding: 10px;
|
||||||
|
border-width: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
|
||||||
|
li:before {
|
||||||
|
content: '►';
|
||||||
|
position: absolute;
|
||||||
|
left: -20px;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post--regulation {
|
||||||
|
h1 {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
&+ h2 {
|
||||||
|
margin-top: -10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-list {
|
||||||
|
.post-date {
|
||||||
|
color: var(--accent);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-list-title {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tag {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
9
themes/terminette/sass/style.scss
Normal file
9
themes/terminette/sass/style.scss
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
@import 'buttons';
|
||||||
|
|
||||||
|
@import 'header';
|
||||||
|
@import 'logo';
|
||||||
|
@import 'main';
|
||||||
|
@import 'post';
|
||||||
|
@import 'pagination';
|
||||||
|
@import 'footer';
|
||||||
|
@import 'home';
|
2
themes/terminette/sass/variables.scss
Normal file
2
themes/terminette/sass/variables.scss
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
$phone-max-width: 683px;
|
||||||
|
$tablet-max-width: 899px;
|
BIN
themes/terminette/screenshot.png
Normal file
BIN
themes/terminette/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 125 KiB |
BIN
themes/terminette/static/fonts/hack-bold-subset.woff
Normal file
BIN
themes/terminette/static/fonts/hack-bold-subset.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bold-subset.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-bold-subset.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bold.woff
Normal file
BIN
themes/terminette/static/fonts/hack-bold.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bold.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-bold.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bolditalic-subset.woff
Normal file
BIN
themes/terminette/static/fonts/hack-bolditalic-subset.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bolditalic-subset.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-bolditalic-subset.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bolditalic.woff
Normal file
BIN
themes/terminette/static/fonts/hack-bolditalic.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-bolditalic.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-bolditalic.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-italic-subset.woff
Normal file
BIN
themes/terminette/static/fonts/hack-italic-subset.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-italic-subset.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-italic-subset.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-italic.woff
Normal file
BIN
themes/terminette/static/fonts/hack-italic.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-italic.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-italic.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-regular-subset.woff
Normal file
BIN
themes/terminette/static/fonts/hack-regular-subset.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-regular-subset.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-regular-subset.woff2
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-regular.woff
Normal file
BIN
themes/terminette/static/fonts/hack-regular.woff
Normal file
Binary file not shown.
BIN
themes/terminette/static/fonts/hack-regular.woff2
Normal file
BIN
themes/terminette/static/fonts/hack-regular.woff2
Normal file
Binary file not shown.
16
themes/terminette/templates/404.html
Normal file
16
themes/terminette/templates/404.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
404 | {{ config.title }}
|
||||||
|
{% endblock title %}
|
||||||
|
|
||||||
|
{% block header_menu %}
|
||||||
|
{{ menu_macros::menu_for(config=config, current_item="") }}
|
||||||
|
{% endblock header_menu %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
<h1 class="post-title">{% block heading %}Lost?{% endblock heading %}</h1>
|
||||||
|
<p>{% block message %}This page does not exist.{% endblock message %}</p>
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
12
themes/terminette/templates/about.html
Normal file
12
themes/terminette/templates/about.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
{{ post_macros::header(page=page) }}
|
||||||
|
{{ post_macros::content(page=page, summary=false, show_only_description=false) }}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
15
themes/terminette/templates/archive.html
Normal file
15
themes/terminette/templates/archive.html
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
<h1 class="post-title">{{ page.title }}</h1>
|
||||||
|
|
||||||
|
{% set section = get_section(path="blog/_index.md") %}
|
||||||
|
|
||||||
|
{{ post_macros::list_posts(pages=section.pages) }}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
25
themes/terminette/templates/blog.html
Normal file
25
themes/terminette/templates/blog.html
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{{ title_macros::title(page_title=section.title, main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="posts">
|
||||||
|
{%- if paginator %}
|
||||||
|
{%- set show_pages = paginator.pages -%}
|
||||||
|
{% else %}
|
||||||
|
{%- set show_pages = section.pages -%}
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{%- for page in show_pages %}
|
||||||
|
<div class="post on-list">
|
||||||
|
|
||||||
|
{{ post_macros::header(page=page) }}
|
||||||
|
|
||||||
|
{{ post_macros::content(page=page, summary=true, show_only_description=section.extra.show_only_description |
|
||||||
|
default(value=false)) }}
|
||||||
|
</div>
|
||||||
|
{% endfor -%}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
14
themes/terminette/templates/home.html
Normal file
14
themes/terminette/templates/home.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="homepage">
|
||||||
|
<div>
|
||||||
|
{{ section.content | safe }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h1>Recent Posts</h1>
|
||||||
|
{{ post_macros::list_recent_posts() }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
88
themes/terminette/templates/index.html
Normal file
88
themes/terminette/templates/index.html
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
{% import "macros/date.html" as date_macros -%}
|
||||||
|
{% import "macros/head.html" as head_macros -%}
|
||||||
|
{% import "macros/menu.html" as menu_macros -%}
|
||||||
|
{% import "macros/post.html" as post_macros -%}
|
||||||
|
{% import "macros/title.html" as title_macros -%}
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{%- if config.default_language -%}{{ config.default_language }}{%- else -%}en{%- endif -%}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>{%- block title %}{{ config.title }}{% endblock title -%}</title>
|
||||||
|
{{ head_macros::head(config=config) }}
|
||||||
|
|
||||||
|
{%- block open_graph %}{{ head_macros::open_graph(config=config) }}{% endblock open_graph -%}
|
||||||
|
|
||||||
|
{%- if config.generate_feed %}
|
||||||
|
{%- if "rss" in config.feed_filename %}
|
||||||
|
{% set feed_type = 'rss+xml' %}
|
||||||
|
{%- else %}
|
||||||
|
{% set feed_type = 'atom+xml' %}
|
||||||
|
{% endif -%}
|
||||||
|
<link rel="alternate" type="application/{{ feed_type }}" title="RSS" href="{{ get_url(path=config.feed_filename) | safe }}">
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{%- if config.extra.favicon %}
|
||||||
|
<link rel="shortcut icon" type="{{ config.extra.favicon_mimetype | default(value="image/x-icon") | safe }}" href="{{ config.extra.favicon | safe }}">
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{%- block extra_head %}
|
||||||
|
{% endblock extra_head -%}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="">
|
||||||
|
<div class="bg"></div>
|
||||||
|
<div class="container">
|
||||||
|
{% block header %}
|
||||||
|
<header class="header">
|
||||||
|
<div class="header__inner">
|
||||||
|
<div class="header__logo">
|
||||||
|
{%- if config.extra.logo_home_link %}
|
||||||
|
{% set logo_link = config.extra.logo_home_link %}
|
||||||
|
{% else %}
|
||||||
|
{% set logo_link = config.base_url %}
|
||||||
|
{% endif -%}
|
||||||
|
<a href="{{ logo_link | safe }}" style="text-decoration: none;">
|
||||||
|
<div class="logo">
|
||||||
|
{% block logo_content %}
|
||||||
|
{%- if config.extra.logo_text %}
|
||||||
|
{{ config.extra.logo_text }}
|
||||||
|
{% endif -%}
|
||||||
|
{% endblock logo_content %}
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% block header_menu %}
|
||||||
|
{{ menu_macros::menu(config=config, current_path=current_path) }}
|
||||||
|
{% endblock header_menu %}
|
||||||
|
</header>
|
||||||
|
{% endblock header %}
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
{% block content %}
|
||||||
|
{% endblock content %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% block footer %}
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="footer__inner">
|
||||||
|
{%- if config.extra.copyright_html %}
|
||||||
|
<div class="copyright copyright--user">{{ config.extra.copyright_html | safe }}</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="copyright">
|
||||||
|
<p>Hey look, a customizable footer! Define config.extra.copyright_html!</p>
|
||||||
|
<p>Boop</p>
|
||||||
|
</div>
|
||||||
|
{% endif -%}
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
{% endblock footer %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
{%- block extra_body %}
|
||||||
|
{% endblock extra_body -%}
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
3
themes/terminette/templates/macros/date.html
Normal file
3
themes/terminette/templates/macros/date.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{% macro now_year() %}
|
||||||
|
{{ now() | date(format="%Y") }}
|
||||||
|
{% endmacro %}
|
94
themes/terminette/templates/macros/head.html
Normal file
94
themes/terminette/templates/macros/head.html
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{% import "macros/title.html" as title_macros -%}
|
||||||
|
|
||||||
|
{% macro head(config) %}
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
||||||
|
<meta name="robots" content="noodp"/>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="style.css", trailing_slash=false) | safe }}">
|
||||||
|
|
||||||
|
{%- if config.extra.accent_color %}
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="color/" ~ config.extra.accent_color ~ ".css", trailing_slash=false) | safe }}">
|
||||||
|
{% else %}
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="color/blue.css", trailing_slash=false) | safe }}">
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{%- if config.extra.background_color %}
|
||||||
|
{%- if config.extra.accent_color and config.extra.background_color != config.extra.accent_color %}
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="color/background_" ~ config.extra.background_color ~ ".css", trailing_slash=false) | safe }}">
|
||||||
|
{% endif -%}
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{%- if config.extra.use_full_hack_font %}
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="font-hack.css", trailing_slash=false) | safe }}">
|
||||||
|
{% else %}
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="font-hack-subset.css", trailing_slash=false) | safe }}">
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{% endmacro head %}
|
||||||
|
|
||||||
|
|
||||||
|
{# Extra Meta tags for OpenGraph and Twitter cards #}
|
||||||
|
{% macro open_graph(config) %}
|
||||||
|
{%- if page %}
|
||||||
|
{%- set permalink = page.permalink %}
|
||||||
|
{%- set title = title_macros::title(page_title=page.title, main_title=config.title) %}
|
||||||
|
{%- set description = page.description %}
|
||||||
|
{%- set type = "article" %}
|
||||||
|
{%- if page.extra and page.extra.og_image %}
|
||||||
|
{%- if page.colocated_path %}
|
||||||
|
{%- set og_image = page.path ~ page.extra.og_image %}
|
||||||
|
{%- else %}
|
||||||
|
{%- set og_image = page.extra.og_image %}
|
||||||
|
{% endif %}
|
||||||
|
{%- elif config.extra.default_og_image %}
|
||||||
|
{%- set og_image = config.extra.default_og_image %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- elif section %}
|
||||||
|
{%- set permalink = section.permalink %}
|
||||||
|
{%- set title = title_macros::title(page_title=section.title, main_title=config.title) %}
|
||||||
|
{%- set description = section.description | default(value=config.description) %}
|
||||||
|
{%- set type = "website" %}
|
||||||
|
{%- if section.extra and section.extra.og_image %}
|
||||||
|
{%- set og_image = section.extra.og_image %}
|
||||||
|
{%- elif config.extra.default_og_image %}
|
||||||
|
{%- set og_image = config.extra.default_og_image %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- else %}
|
||||||
|
{# For 404 and taxonomy pages #}
|
||||||
|
{%- if taxonomy %}
|
||||||
|
{% if term %}
|
||||||
|
{%- set permalink = term.permalink %}
|
||||||
|
{%- set title = title_macros::title(page_title=term.name, main_title=config.title) %}
|
||||||
|
{%- set description = "All posts tagged " ~ term.name %}
|
||||||
|
{% else %}
|
||||||
|
{%- set permalink = config.base_url ~ "/" ~ taxonomy.slug %}
|
||||||
|
{%- set title = title_macros::title(page_title=taxonomy.name, main_title=config.title) %}
|
||||||
|
{%- set description = "All " ~ taxonomy.name %}
|
||||||
|
{% endif %}
|
||||||
|
{%- else %}
|
||||||
|
{%- set permalink = config.base_url %}
|
||||||
|
{%- set title = title_macros::title(page_title="404", main_title=config.title) %}
|
||||||
|
{%- set description = "Page not found" %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- set type = "website" %}
|
||||||
|
{%- if config.extra.default_og_image %}
|
||||||
|
{%- set og_image = config.extra.default_og_image %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif -%}{# #}
|
||||||
|
<meta name="description" content="{{ description | safe }}">
|
||||||
|
|
||||||
|
<meta property="og:description" content="{{ description | safe }}">
|
||||||
|
<meta property="og:title" content="{{ title | safe }}">
|
||||||
|
<meta property="og:type" content="{{ type }}">
|
||||||
|
<meta property="og:url" content="{{ permalink | safe }}">
|
||||||
|
{% if og_image %}
|
||||||
|
<meta property="og:image" content="{{ get_url(path=og_image) }}">
|
||||||
|
<meta name="twitter:image" content="{{ get_url(path=og_image) }}">
|
||||||
|
{% endif %}
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:description" content="{{ description | safe }}">
|
||||||
|
<meta name="twitter:title" content="{{ title | safe }}">
|
||||||
|
<meta property="twitter:domain" content="{{ config.base_url | replace(from="https://", to="") }}">
|
||||||
|
<meta property="twitter:url" content="{{ permalink | safe }}">
|
||||||
|
{% endmacro open_graph %}
|
52
themes/terminette/templates/macros/menu.html
Normal file
52
themes/terminette/templates/macros/menu.html
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{% macro menu(config, current_path) %}
|
||||||
|
{%- set current_item = false -%}
|
||||||
|
{%- if config.extra.menu_items %}
|
||||||
|
{%- set menu_items = config.extra.menu_items -%}
|
||||||
|
|
||||||
|
{%- for item in menu_items %}
|
||||||
|
{%- set abs_item_url = item.url | replace(from="$BASE_URL", to=config.base_url) -%}
|
||||||
|
{%- set is_current = current_url == abs_item_url ~ "/"
|
||||||
|
or current_url is starting_with(abs_item_url)
|
||||||
|
-%}
|
||||||
|
{%- set is_base = abs_item_url == config.base_url
|
||||||
|
or abs_item_url == config.base_url ~ "/"
|
||||||
|
-%}
|
||||||
|
|
||||||
|
{%- if is_base %}
|
||||||
|
{%- set_global base_item = item -%}
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{%- if is_current and not is_base %}
|
||||||
|
{%- set_global current_item = item -%}
|
||||||
|
{% endif -%}
|
||||||
|
{% endfor -%}
|
||||||
|
|
||||||
|
{%- if not current_item and base_item %}
|
||||||
|
{# Did not match any menu URLs -- assume it's a blog post #}
|
||||||
|
{%- set current_item = base_item -%}
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{{ menu_macros::menu_for(config=config, current_item=current_item) }}
|
||||||
|
{% endif -%}
|
||||||
|
{% endmacro menu %}
|
||||||
|
|
||||||
|
{% macro menu_for(config, current_item) %}
|
||||||
|
{%- if config.extra.menu_items %}
|
||||||
|
{%- set menu_items = config.extra.menu_items -%}
|
||||||
|
|
||||||
|
<nav class="menu">
|
||||||
|
<ul class="menu__inner">
|
||||||
|
{%- for item in menu_items %}
|
||||||
|
<li {%- if current_item and current_item == item %} class="active" {%- endif %}>
|
||||||
|
{%- if item.newtab -%}
|
||||||
|
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}" target="_blank" rel="noopener noreferrer">{{ item.name | safe }}</a>
|
||||||
|
{%- else -%}
|
||||||
|
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}" {%- if item.rel -%} rel="{{ item.rel }}" {%- endif -%}>{{ item.name | safe }}</a>
|
||||||
|
{%- endif -%}
|
||||||
|
</li>
|
||||||
|
{% endfor -%}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif -%}
|
||||||
|
{% endmacro menu %}
|
||||||
|
|
124
themes/terminette/templates/macros/post.html
Normal file
124
themes/terminette/templates/macros/post.html
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
{% macro content(page, summary, show_only_description) %}
|
||||||
|
{%- if show_only_description %}
|
||||||
|
<div class="post-content">
|
||||||
|
{{ page.description | safe }}
|
||||||
|
</div>
|
||||||
|
{% elif summary and page.summary %}
|
||||||
|
<div class="post-content">
|
||||||
|
{{ page.summary | safe }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||||
|
<a class="read-more button" href="{{ page.permalink | safe }}">
|
||||||
|
<span class="button__text">Read more</span>
|
||||||
|
<span class="button__icon">↩︎</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{#- full content -#}
|
||||||
|
<div class="post-content">
|
||||||
|
{{ page.content | safe }}
|
||||||
|
</div>
|
||||||
|
{%- endif %}
|
||||||
|
{% endmacro content %}
|
||||||
|
|
||||||
|
|
||||||
|
{% macro date(page) %}
|
||||||
|
<span class="post-date">
|
||||||
|
{%- if page.date %}
|
||||||
|
{{ page.date | date(format="%Y-%m-%d") }}
|
||||||
|
{% endif -%}
|
||||||
|
</span>
|
||||||
|
{% endmacro post_date %}
|
||||||
|
|
||||||
|
|
||||||
|
{% macro earlier_later(page) %}
|
||||||
|
{%- if config.extra.enable_post_view_navigation and page.lower or page.higher %}
|
||||||
|
<div class="pagination">
|
||||||
|
<div class="pagination__title">
|
||||||
|
<span class="pagination__title-h">{{ config.extra.post_view_navigation_prompt }}</span>
|
||||||
|
<hr />
|
||||||
|
</div>
|
||||||
|
<div class="pagination__buttons">
|
||||||
|
{%- if page.higher %}
|
||||||
|
<span class="button previous">
|
||||||
|
<a href="{{ page.higher.permalink | safe }}">
|
||||||
|
<span class="button__icon">←</span>
|
||||||
|
<span class="button__text">{{ page.higher.title }}</span>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
{% if page.lower %}
|
||||||
|
<span class="button next">
|
||||||
|
<a href="{{ page.lower.permalink | safe }}">
|
||||||
|
<span class="button__text">{{ page.lower.title }}</span>
|
||||||
|
<span class="button__icon">→</span>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{% endif -%}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif -%}
|
||||||
|
{% endmacro earlier_later %}
|
||||||
|
|
||||||
|
|
||||||
|
{% macro header(page) %}
|
||||||
|
<h1 class="post-title"><a href="{{ page.permalink | safe }}">{{ page.title }}</a></h1>
|
||||||
|
<div class="post-meta-inline">
|
||||||
|
{{ post_macros::date(page=page) }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ post_macros::tags(page=page) }}
|
||||||
|
{% endmacro header %}
|
||||||
|
|
||||||
|
|
||||||
|
{% macro list_posts(pages) %}
|
||||||
|
<ul>
|
||||||
|
{%- for page in pages %}
|
||||||
|
{%- if page.draft %}
|
||||||
|
{% continue %}
|
||||||
|
{% endif -%}
|
||||||
|
<li class="post-list">
|
||||||
|
<a href="{{ page.permalink | safe }}">
|
||||||
|
<span class="post-date">{{ page.date }}</span>
|
||||||
|
:: <span class="post-list-title">{{ page.title }}</span></a>
|
||||||
|
{{ post_macros::tags(page=page, short=true) }}
|
||||||
|
</li>
|
||||||
|
{% endfor -%}
|
||||||
|
</ul>
|
||||||
|
{% endmacro list_posts %}
|
||||||
|
|
||||||
|
{% macro list_recent_posts() %}
|
||||||
|
{% set section = get_section(path="blog/_index.md") %}
|
||||||
|
<ul>
|
||||||
|
{%- for page in section.pages %}
|
||||||
|
{%- if page.draft %}
|
||||||
|
{% continue %}
|
||||||
|
{% endif -%}
|
||||||
|
<li class="post-list">
|
||||||
|
<a href="{{ page.permalink | safe }}">
|
||||||
|
<span class="post-date">{{ page.date | date }}</span>
|
||||||
|
<span class="post-list-title">{{ page.title }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor -%}
|
||||||
|
</ul>
|
||||||
|
{% endmacro list_posts %}
|
||||||
|
|
||||||
|
{% macro tags(page, short=false) %}
|
||||||
|
{%- if page.taxonomies and page.taxonomies.tags %}
|
||||||
|
<span class="post-tags-inline">
|
||||||
|
{%- if short %}
|
||||||
|
::
|
||||||
|
{%- set sep = "," -%}
|
||||||
|
{% else %}
|
||||||
|
:: tags:
|
||||||
|
{%- set sep = " " -%}
|
||||||
|
{% endif -%}
|
||||||
|
{%- for tag in page.taxonomies.tags | sort | unique(case_sensitive=false) %}
|
||||||
|
<a class="post-tag" href="{{ get_taxonomy_url(kind='tags', name=tag) | safe }}">#{{ tag }}</a>
|
||||||
|
{%- if not loop.last %}{{ sep | safe }}{% endif -%}
|
||||||
|
{% endfor -%}
|
||||||
|
</span>
|
||||||
|
{% endif -%}
|
||||||
|
{% endmacro tags %}
|
17
themes/terminette/templates/macros/title.html
Normal file
17
themes/terminette/templates/macros/title.html
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{% macro title(page_title, main_title) %}
|
||||||
|
{%- if config.extra.page_titles and config.extra.page_titles == "combined" -%}
|
||||||
|
{%- if page_title -%}
|
||||||
|
{{ page_title }} | {{ main_title }}
|
||||||
|
{%- else -%}
|
||||||
|
{{ main_title }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- elif config.extra.page_titles and config.extra.page_titles == "page_only" -%}
|
||||||
|
{%- if page_title -%}
|
||||||
|
{{ page_title }}
|
||||||
|
{%- else -%}
|
||||||
|
{{ main_title }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- else -%}
|
||||||
|
{{ main_title }}
|
||||||
|
{%- endif -%}
|
||||||
|
{% endmacro title %}
|
12
themes/terminette/templates/now.html
Normal file
12
themes/terminette/templates/now.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
{{ post_macros::header(page=page) }}
|
||||||
|
{{ post_macros::content(page=page, summary=false, show_only_description=false) }}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
13
themes/terminette/templates/page.html
Normal file
13
themes/terminette/templates/page.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
{{ post_macros::header(page=page) }}
|
||||||
|
{{ post_macros::content(page=page, summary=false, show_only_description=false) }}
|
||||||
|
{{ post_macros::earlier_later(page=page) }}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
8
themes/terminette/templates/shortcodes/figure.html
Normal file
8
themes/terminette/templates/shortcodes/figure.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{% if src %}
|
||||||
|
<figure class="{% if position %}{{ position }}{% else -%} center {%- endif %}" >
|
||||||
|
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %}{% if style %} style="{{ style }}"{% endif %} />
|
||||||
|
{% if caption %}
|
||||||
|
<figcaption class="{% if caption_position %}{{ caption_position }}{% else -%} center {%- endif %}"{% if caption_style %} style="{{ caption_style | safe }}"{% endif %}>{{ caption | markdown() | safe }}</figcaption>
|
||||||
|
{% endif %}
|
||||||
|
</figure>
|
||||||
|
{% endif %}
|
8
themes/terminette/templates/shortcodes/image.html
Normal file
8
themes/terminette/templates/shortcodes/image.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{% if src %}
|
||||||
|
{# If the image's URL is internal to the site... #}
|
||||||
|
{% if src is not starting_with("http") %}
|
||||||
|
{# ... then prepend the site's base URL to the image's URL. #}
|
||||||
|
{% set src = config.base_url ~ src %}
|
||||||
|
{% endif %}
|
||||||
|
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %} class="{% if position %}{{ position }}{% else -%} center {%- endif %}" {%- if style %} style="{{ style | safe }}" {%- endif %} />
|
||||||
|
{% endif %}
|
21
themes/terminette/templates/tags/list.html
Normal file
21
themes/terminette/templates/tags/list.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{{ title_macros::title(page_title="Tags", main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
<h1 class="post-title">all tags</h1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{% for term in terms %}
|
||||||
|
<li class="tag-list">
|
||||||
|
<a href="{{ term.permalink | safe }}">
|
||||||
|
{{ term.name }} ({{ term.pages | length }} post{{ term.pages | length | pluralize }})
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
21
themes/terminette/templates/tags/single.html
Normal file
21
themes/terminette/templates/tags/single.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{%- block title -%}
|
||||||
|
{% set title = "Tag: " ~ term.name %}
|
||||||
|
{{ title_macros::title(page_title=title, main_title=config.title) }}
|
||||||
|
{%- endblock -%}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
<h1 class="post-title">
|
||||||
|
tag: #{{ term.name }}
|
||||||
|
({{ term.pages | length }} post{{ term.pages | length | pluralize }})
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<a href="{{ config.base_url | safe }}/tags">
|
||||||
|
Show all tags
|
||||||
|
</a>
|
||||||
|
|
||||||
|
{{ post_macros::list_posts(pages=term.pages) }}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
47
themes/terminette/theme.toml
Normal file
47
themes/terminette/theme.toml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
name = "terminimal"
|
||||||
|
description = "A simple, minimal retro theme"
|
||||||
|
license = "MIT"
|
||||||
|
homepage = "https://github.com/pawroman/zola-theme-terminimal"
|
||||||
|
min_version = "0.11.0"
|
||||||
|
|
||||||
|
# An optional live demo URL
|
||||||
|
demo = "https://pawroman.github.io/zola-theme-terminimal/"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "Paweł Romanowski"
|
||||||
|
homepage = "https://github.com/pawroman"
|
||||||
|
|
||||||
|
# The original theme this one's been forked off.
|
||||||
|
[original]
|
||||||
|
author = "Radosław Kozieł"
|
||||||
|
homepage = "https://radoslawkoziel.pl/"
|
||||||
|
repo = "https://github.com/panr/hugo-theme-terminal"
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
|
||||||
|
# One of: blue, green, orange, pink, red.
|
||||||
|
# Defaults to blue.
|
||||||
|
# Append -light for light themes, e.g. blue-light
|
||||||
|
# Or append -auto, e.g. blue-auto
|
||||||
|
accent_color = "blue"
|
||||||
|
|
||||||
|
# One of: blue, dark, green, orange, pink, red, light, auto
|
||||||
|
# Enabling dark background will also modify primary font color to be darker.
|
||||||
|
# Defaults to accent color (or, if not accent color specified, to blue).
|
||||||
|
background_color = "blue"
|
||||||
|
|
||||||
|
# The logo text - defaults to 2 non-breaking spaces.
|
||||||
|
logo_text = "Terminimal theme"
|
||||||
|
|
||||||
|
# Whether to show links to earlier and later posts
|
||||||
|
# on each post page.
|
||||||
|
enable_post_view_navigation = true
|
||||||
|
|
||||||
|
# The text shown at the bottom of a post,
|
||||||
|
# before earlier/later post links.
|
||||||
|
post_view_navigation_prompt = "Thanks for reading! Read other posts?"
|
||||||
|
|
||||||
|
# Use full Hack character set, not just a subset.
|
||||||
|
# Switch this to true if you need full unicode support.
|
||||||
|
# Defaults to false.
|
||||||
|
use_full_hack_font = false
|
Loading…
Reference in a new issue