zola/docs/content/themes/zola-grayscale/index.md

303 lines
7 KiB
Markdown
Raw Normal View History

+++
title = "zola-grayscale"
description = "A port of the Start Bootrap Grayscale theme, for Zola."
template = "theme.html"
date = 2024-09-02T05:58:27Z
[extra]
created = 2024-09-02T05:58:27Z
updated = 2024-09-02T05:58:27Z
repository = "https://github.com/mattimustang/zola-grayscale.git"
homepage = "https://github.com/mattimustang/zola-grayscale"
minimum_version = "0.19.0"
license = "MIT"
demo = "https://mattimustang.github.io/zola-grayscale/"
[extra.author]
name = "Matthew Flanagan"
homepage = "https://github.com/mattimustang"
+++
# Zola Grayscale
![screenshot](screenshot.png)
A port of the Start Bootstrap Grayscale theme, for Zola.
Updated to use the latest Bootstrap 5.3.3.
<!-- toc -->
- Demo
- How to Customize
- Configuration
- Navigation
- Contacts
- Masthead
- Background Image
- Content
- About
- Projects
- Signup
- Contact
- Footer
- Macros
- Debug
- Title
- Google Analytics
- Misc
<!-- tocstop -->
## Demo
[Live Demo](https://mattimustang.github.io/zola-grayscale/)
## How to Customize
The majority of customisation is done through template inheritance.
Every section and subsection of the page has a template `{%/* block */%}` that you
can override with your own content.
Start by copying `themes/zola-grayscale/contact.toml` and
`themes/zola-grayscale/navigation.toml` to your site root folder.
Then create your own site `templates/index.html` with the following contents:
```html
{%/* extends "zola-grayscale/templates/index.html" */%}
```
If you don't want a particular section in your page override it with an empty
block, for example this will remove the `about` section of the page:
```html
{%/* block about */%}{%/* endblock about */%}
```
### Configuration
The `config.toml` file has some basic configuration used by the page including:
* title
* author
* description
* google_analytics_tag (optional)
* sb_forms_api_token
### Navigation
The page navigation is customised through the `navigation.toml` file.
Edit this file to change the names and paths to link to.
You can add additional `item`'s and they will be automatically added to the
navigation bar.
The home link in the left of the navigation bar uses `config.title` by default
or can be customised with the `nav_home_title` block.
```html
{%/* block nav_home_title */%}Home{%/* endblock nav_home_title */%}
```
### Contacts
The contacts section of the page is managed via in the `contacts.toml` which has
two types of items:
* `contact` for the contact cards.
* `social` for the social network links.
Modifying, adding, or removing items from these lists will automatically update
that section of the page.
Both contact item types use [Font Awesome](https://fontawesome.io/icons/) icons
for their `icon` value.
### Masthead
The entire `masthead` section can be overridden with your own markup like so:
```html
{%/* block masthead */%}
...
{%/* endblock masthead */%}
```
The following sub-blocks are provided for further customisation:
* `masthead_title`:
defaults to `config.title`
* `masthead_description`:
defaults to `config.description`
* `masthead_button`
* `masthead_button_url`
* `masthead_button_tag`
* `masthead_button_label`
#### Background Image
The background image of the `masthead` can be changed by creating the directory
`static/assets/img` copying your own image to
`static/assets/img/bg-masthead.jpg` in your own site.
### Content
A `content` block wraps the About](#about), [Projects sections of
the page to allow you to completely replace the content of the page with your
own markup.
```html
{%/* block content */%}
...
{%/* endblock content */%}
```
### About
The entire `about` section can be overridden with your own markup like so:
```html
{%/* block about */%}
...
{%/* endblock about */%}
```
The following sub-blocks are provided for further customisation:
* `about_title`
* `about_description`
* `about_image`
### Projects
The entire `projects` section can be overridden with your own markup like so:
```html
{%/* block projects */%}
...
{%/* endblock projects */%}
```
The section has these sub-blocks:
* `projects_id`:
set the html id attribute for the projects section.
* `featured_project` with these sub-blocks for customisation:
* `featured_project_thumbnail`:
Allows overriding the markup of the project thumbnail.
* `featured_project_content`:
Allows overriding the markup of the project content.
* `featured_project_title`
* `featured_project_description`
* `project_1` with these sub-blocks for customisation:
* `project_1_thumbnail`:
Allows overriding the markup of the project thumbnail.
* `project_1_content`:
Allows overriding the markup of the project content.
* `project_1_title`
* `project_1_description`
* `project_2` with these sub-blocks for customisation:
* `project_2_thumbnail`:
Allows overriding the markup of the project thumbnail.
* `project_2_content`:
Allows overriding the markup of the project content.
* `project_2_title`
* `project_2_description`
* `extra_projects` to add extra content as you wish.
### Signup
The entire `signup` section can be overridden with your own markup like so:
```html
{%/* block signup */%}
...
{%/* endblock signup */%}
```
The following sub-blocks are provided for further customisation:
* `signup_id`:
set the html id attribute for the signup section.
* `signup_icon`:
the Font Awesome icon to use.
* `signup_title`
* `signup_form`
### Contact
The entire `contact` section can be overridden with your own markup like so:
```html
{%/* block contact */%}
...
{%/* endblock contact */%}
```
The following sub-blocks are provided for further customisation:
* `contact_id`:
set the html id attribute for the contact section.
* `contact_contact`
* `contact_social`
### Footer
The entire `footer` section can be overridden with your own markup like so:
```html
{%/* block footer */%}
...
{%/* endblock footer */%}
```
The following sub-blocks are provided for further customisation:
* `footer_copyright`
* `footer_debug`:
customise the debug macro call.
* `extra_footer`:
to add extra content as you wish.
## Macros
### Debug
The `debug` macro can be used by setting `config.extra.debug` to `true`.
This will then add a `debug` button to the footer of the page to allow you to
inspect, by default, the `__tera_context` in a pop-out sidebar.
If you want to debug other context information you can customise it like so.
For example, to debug the `config` context:
```html
{%/* block footer_debug */%}{{/* debug::debug(context=config, name="config") */}}{%/* endblock footer_debug */%}
```
### Title
The `title` macro can be used to set the title for any additional pages you
might create.
### Google Analytics
The `google_analytics` macro can be used to insert code for Google Analytics.
Set `config.extra.google_analytics_tag` to your tag id.
## Misc
The `extra_head` block can be used to add extra markup to the end of the
`<head>` of the page.
The `extra_scripts` block can be used to add extra scripts to the end of the
page.
`static/css/custom.css` can be created and used to add any custom CSS.