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 be7628aeaa
feat: allow HTML tags in multilingual quote author
8 months ago
.githooks 👷 misc(CI): use git-sumi hook to lint commit messages 1 year ago
.github 👷 misc(CI): use CHANGES.md for GitHub release notes 11 months ago
content 📝 docs: explain how to use custom social icons 8 months ago
i18n feat: add option to show author in post metadata (#322) 9 months ago
sass 💄 style: increase font size of h1 9 months ago
static 📝 docs: explain how to use custom social icons 8 months ago
templates feat: allow HTML tags in multilingual quote author 8 months ago
.gitignore 🙈 chore: add gitignore 2 years ago
.prettierignore 🎨 refactor: format JS with Prettier (#240) 1 year ago
.prettierrc.toml 🎨 refactor: format JS with Prettier (#240) 1 year ago
CHANGELOG.md 🔖 chore(release): prepare for v2.10.0 9 months ago
CODE_OF_CONDUCT.md 📝 chore: update contact e-mail 1 year ago
CONTRIBUTING.md 📝 docs(contributing): enrich PR information 1 year ago
LICENSE 📄 docs: add license 2 years ago
README.md 📝 docs(README): clarify section_path format 8 months ago
cliff.toml 👷 misc(CI): update git-cliff's github integration 1 year ago
config.toml 📝 docs: explain how to use custom social icons 8 months ago
light_dark_screenshot.png 📝 docs: update tabi screenshots 1 year ago
lighthouse_score.png 📝 docs: mention perfect Lighthouse score 2 years ago
release 👷 misc(release): replace both pull and issue links 12 months ago
screenshot.png 📝 docs: update tabi screenshots 1 year ago
sumi.toml 🔧 misc(git-sumi): improve emoji matching 1 year ago
theme.toml 📝 docs: explain how to use custom social icons 8 months ago

README.md

PRs welcome Contributors Forks Last commit
Latest release Documentation License Clean commits

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 (and the theme's documentation) here.

Explore the Sites Using tabi section to see real-world applications.

tabi (旅, /tɐˈbi/): Journey.

tabi

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

lighthouse

Features

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. Configure code block highlighting in your config.toml:
[markdown]
highlight_code = true
highlight_theme = "css"
  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"

Note: use the full path to the section's _index.md file. Simply using section_path = "blog/" will not work.

  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 = "img/main.webp", img_alt = "Your Name" }

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 title and taxonomies for each language, like:
[languages.es]
title = "~/tabi"
taxonomies = [{name = "tags", feed = true}]

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.

To learn more about multilingual support, see the Frequently Asked Questions.

Updating tabi

If you added the theme as a git submodule, run:

git submodule update --recursive --remote

If you cloned it:

cd themes/tabi
git pull

Sites using tabi

Website Creator Description Site Source
osc.garden Óscar Fernández (welpo) Data science, psychology, and Zola Source
sandip.live Sandip G (sandman) Startups, tech and the good life Source
seadve.github.io Dave Patrick Caberto (SeaDve) Personal blog and portfolio with custom CSS Source
mikufan.page Nadia Personal blog Source
tim-boettcher.online Tim Böttcher Insights and ramblings of a deafblind programmer Source
www.richtman.au Ariel Richtman Personal tech blog Source

Using tabi? Feel free to create a PR and add your site to this list.

Inspiration

This theme was inspired by:

Contributing

Please do! We appreciate bug reports, improvements to translations or documentation (however minor), feature requests…

Take a look at the Contributing Guidelines to learn more.

License

The code is available under the MIT license.