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

https://github.com/inputusername/zola-hook

A clean and simple personal site/blog theme for the Zola static site generator
https://github.com/inputusername/zola-hook

zola zola-theme

Last synced: 4 months ago
JSON representation

A clean and simple personal site/blog theme for the Zola static site generator

Awesome Lists containing this project

README

          

# Hook

A clean and simple personal site/blog theme for [Zola](https://getzola.org).

[Demo](https://inputusername.github.io/zola-hook/)

## Setup

Clone this repo into your `themes` folder:
```sh
cd themes
git clone https://github.com/InputUsername/zola-hook.git hook
```

Then, enable it in your `config.toml`:
```toml
theme = "hook"
```

## Features

The following templates are built-in:
- `index.html` - the homepage;
- `page.html` - pages and posts (extends `index.html`);
- `section.html` - archive of pages in a section, mostly for a blog (extends `page.html`);
- `404.html` - 404 page (extends `page.html`).

Templates have the following Tera blocks:
- `title` - to override the default `` (`config.title`);
- `description` - to override the ``'s content (`config.description`);
- `extra_head` - to override styles and anything else in ``;
- `header` - to change the header (best to put this in a ``);
- `content` - to change the content (best to put this in a ``).

You can set a section or page description using `description` in your front matter.
By default, the `description` in `config.toml` is used.

You can define links to include in the header on the homepage in `config.toml`:
```toml
[extra]

links = [
{ title = "Link display text", href = "http://example.com" },
# ...
]
```

Pages in the root section can define `extra.in_header = true` to be included in the header links on the homepage.

The content in the root `_index.md` is included in the homepage if present.

Below that is a list of the 20 most recent posts. For this, the `blog/_index.md` section is expected to exist
(will error if it doesn't exist). There is also a link to an archive of all blog posts by year.

Hook supports light/dark mode based on the user's preference. There is also a manual toggle button
(requires JavaScript).

## Screenshots

### Homepage

![Homepage](screenshot.png)

### Blog post
![Blog post](screenshot2.png)

### Blog archive
![Blog archive](screenshot3.png)

### Dark mode
![Dark mode](screenshot4.png)

## License

MIT license, see [`LICENSE`](https://github.com/InputUsername/zola-hook/blob/main/LICENSE).