Skip to content

ilhangrn/rustynotes.com

Repository files navigation

RUSTYNOTES

This is an open source project which has been generated by Rust. It is a learning project.

And it is a blog site for me to record my learning process.

I will share my learning experience and some notes here.

It is totally open sourced which anyone can contribute.

If you have any questions please feel free to contact me.

The theme is BLOW, which is a theme for Zola. The theme is created by tchartron

Rust: Zola

Zola is a fast static site generator in a single binary with everything built-in. https://www.getzola.org/

Theme: Blow

A Zola theme built with tailwindcss

Live domains running by this repo:

Forwarded domains to here:

Usage


You should follow the official documentation about installing a Zola theme.

I recommend adding the theme as a git submodule :

cd my-zola-website

# this one is written in source project but not working, go with the next one
# git submodule add -b main [email protected]:tchartron/blow.git themes/blow

git submodule add -b main https://github.com/tchartron/blow.git themes/blow

Edit the theme used in your config.toml file

# The site theme to use.
theme = "blow"

Then edit your config.toml file to override values from the theme :

[extra]
enable_search = true
enable_sidebar = true
enable_adsense = true
enable_multilingue = true
adsense_link = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=myclientid"

[extra.lang]
items = [
    { lang = "en", links = [
        { base_url = "/", name = "English" },
        { base_url = "/fr", name = "French" },
    ] },
    { lang = "fr", links = [
        { base_url = "/", name = "Anglais" },
        { base_url = "/fr", name = "Français" },
    ] },
]

[extra.navbar]
items = [
    { lang = "en", links = [
        { url = "/", name = "Home" },
        { url = "/categories", name = "Categories" },
        { url = "/tags", name = "Tags" },
    ] },
    { lang = "fr", links = [
        { url = "/fr", name = "Accueil" },
        { url = "/fr/categories", name = "Categories" },
        { url = "/fr/tags", name = "Tags" },
    ] },
]
title = "title"

[extra.sidebar]
items = [
    { lang = "en", links = [
        { url = "/markdown", name = "Markdown" },
        { url = "/blog", name = "Blog" },
    ] },
    { lang = "fr", links = [
        { url = "/fr/markdown", name = "Markdown" },
        { url = "/fr/blog", name = "Blog" },
    ] },
]

# Index page
[extra.index]
title = "Main title"
image = "https://via.placeholder.com/200"
image_alt = "Placeholder text describing the index's image."

[extra.default_author]
name = "ilhan"
avatar = "https://via.placeholder.com/200"
avatar_alt = "Placeholder text describing the default author's avatar."

[extra.social]
github = "https://github.com/ilhangrn"

[extra.favicon]
favicon = "/icons/favicon.ico"
favicon_16x16 = "/icons/favicon-16x16.png"
favicon_32x32 = "/icons/favicon-32x32.png"
apple_touch_icon = "/icons/apple-touch-icon.png"
android_chrome_512 = "/icons/android-chrome-512x512.png"
android_chrome_192 = "/icons/android-chrome-192x192.png"
manifest = "/icons/site.webmanifest"

You can now run zola serve and visit : https://127.0.0.1:1111/ to see your site

Syntax Highlighting


Blow makes use of Zola code highlighting feature. It supports setting a different color scheme depending on the user selected theme (Dark / Light) In order to use it you should select the color scheme you want to use for light and dark themes in the list provided here and edit your config.toml file like this example :

highlight_theme = "css"

highlight_themes_css = [
  { theme = "ayu-dark", filename = "syntax-dark.css" },
  { theme = "ayu-light", filename = "syntax-light.css" },
]

Features


  • Dark/Light modes (with syntax highlighting depending on selected theme)
  • Customizable navbar links
  • Tags and Categories taxonomies
  • Search functionality supporting Command + K shortcut
  • Social links (github, gitlab, twitter, linkedin, email)
  • Postcss build process with cssnano (and tailwindcss tree shaking to reduce final bundle size)
  • Uglifyjs build process with minification
  • Example script to deploy to Github Pages
  • Pagination
  • Sidemenu menu with sections links
  • Table of content (2 levels and currently viewed part highlighted)
  • Multilingue
  • 404
  • Mobile responsive
  • Favicon
  • Adsense

Deployment


There is a section about deployment in Zola documentation but you'll find an example to deploy your site to github pages

Workflow


There is a workflow of deploy action released for zola project, you need to take care the CNAME file if you are going with your custom domain name. It needs to be placed in static folder

About

personal website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published