You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
welpo dd73e52729
feat: add custom quotation marks for multilingual quotes
Allows users to specify custom opening and closing quotation marks for
the multilingual quote shortcode.
The quotation marks can be configured per language in config.toml.
If not specified, default quotation marks will be used.
2 years ago
.github 📝 docs: add feature request template 2 years ago
content 📝 docs: remove unnecessary date 2 years ago
sass feat: add multilingual quote shortcode 2 years ago
static feat: add multilingual quote shortcode 2 years ago
templates feat: add custom quotation marks for multilingual quotes 2 years ago
.gitignore 🙈 chore: add gitignore 2 years ago
CODE_OF_CONDUCT.md 📝 docs: add code of conduct 2 years ago
CONTRIBUTING.md 📝 docs: improve punctuation 2 years ago
LICENSE 📄 docs: add license 2 years ago
README.md 📝 docs: update URL to multilanguage lines in config 2 years ago
config.toml feat: add custom quotation marks for multilingual quotes 2 years ago
light_dark_screenshot.png 🍱 docs: update screenshots 2 years ago
lighthouse_score.png 📝 docs: mention perfect Lighthouse score 2 years ago
screenshot.png 🍱 docs: update screenshots 2 years ago
theme.toml ⬆️ docs: update Zola version requirement to 0.17.0 2 years ago

README.md

tabi

A fast, lightweight, and modern Zola theme with multi-language support. It aims to be a personal page and home to blog posts.

See a live preview here.

tabi (旅): Journey.

tabi

tabi has a perfect score on Google's Lighthouse audit:

lighthouse

Features

  • Multi-language support.
  • Dark and light themes. Defaults to the OS setting, with a switcher in the navigation bar.
  • Perfect Lighthouse score (Performance, Accessibility, Best Practices and SEO).
  • KaTeX support.
  • All JavaScript (theme switcher and KaTeX) can be fully disabled.
  • Responsive design.
  • Projects page.
  • Archive page.
  • Tags.
  • Social links.
  • Code syntax highlighting.
  • Custom shortcodes.
  • Customizable secure headers.

Quick start

Once you have installed Zola 0.17.0 or newer:

git clone https://github.com/welpo/tabi.git
cd tabi
zola serve

Open http://127.0.0.1:1111/ in the browser.

Installation

To add tabi to you existing Zola site:

  1. Initialize a Git repository in your project directory (if you haven't already):
git init
  1. Add the theme as a git submodule:
git submodule add https://github.com/welpo/tabi.git themes/tabi

Or clone the theme into your themes directory:

git clone https://github.com/welpo/tabi.git themes/tabi

Required configuration

  1. Enable the theme in your config.toml:
theme = "tabi"
  1. Set a title in your config.toml:
title = "Your Site Title"
  1. Create a content/_index.md file with the following content:
+++
title = "Home"
paginate_by = 5 # Set the number of posts per page
template = "index.html"
+++

If you want to serve your blog posts from a different path, such as blog/, add a section_path in the [extra] section of content/_index.md (this file will need pagination):

[extra]
section_path = "blog/_index.md"
  1. If you want an introduction section (see screenshot above), add these lines to content/_index.md:
[extra]
header = {title = "Hello! I'm tabi~", img = "$BASE_URL/img/main.webp" }

The content outside the front matter will be rendered between the header title and the posts listing. In the screenshot above, it's the text that reads "tabi is a fast, lightweight, and modern Zola theme…".

  1. If you want a multilingual site, you will need to set up each language. In config.toml:
  • set the translations for a few strings;
  • set the title and taxonomies for each language;
  • add the language_name.{code} in [extra]. This is the text shown in the language switcher.

See these lines in the provided config.toml for an example.

You will need an _index.{language_code}.md per language for each section (e.g. /blog or /projects) that you want to enable in that language.

The same is true for individual posts, which should have the exact same name as the default language, with an extra .{code} before the extension (e.g. the Spanish version of security.md would be security.es.md).

This configuration allows the language switcher to take the user to the translation of the current URL. If a translation doesn't exist, the 404 page will be displayed, with an explanation in each language set in the config.

Inspiration

This theme was inspired by:

Contributing

Please do! Take a look at the Contributing Guidelines to learn more.

License

The code is available under the MIT license.