1
1
Fork
You've already forked versatile-theme
0
A versatile Zola theme
  • HTML 83.6%
  • CSS 11.2%
  • JavaScript 5.2%
2024年09月05日 17:05:49 +02:00
content 🧪 Adding test posts as content from the Anpu's theme 2024年08月29日 14:52:46 +02:00
templates Adding support for list of posts in a given tag 2024年09月05日 10:59:42 +02:00
.gitignore 🙈 Adding public to gitignore 2024年08月29日 09:43:12 +02:00
config.toml 🔧 Adding new table of content option 2024年09月04日 13:59:02 +02:00
main.css 🚧 Adding beginning of markdown formatting for pages 2024年09月05日 17:05:49 +02:00
README.md 📝 Sorting features and setting the table of content feature to completed 2024年09月04日 14:00:47 +02:00
tailwind.config.js 🔧 Adding font family configuration into the tailwind config file 2024年08月29日 09:47:32 +02:00
theme.toml ⚗ Adding first macro for testing architecture 2024年08月29日 09:43:12 +02:00

Versatile Zola theme

This theme is heavily in work-and-progress.

The goal of this theme is to be a highly modular theme for Zola. That means that instead of being stuck with one single type of theme you could change basically anything by just changing a variable in the configuration.

That means you could easily change the fonts, colors, layouts, menus, etc by just editing the configuration file without having to modify the theme itself at all.

Modularity

The modularity is achieved by using TailwindCSS as a style framework, that way all the style is in the html and is standardized accross all the theme which helps a lot compared to using stylesheets.

Modularity is also achieved by using CSS variables that helps being able to change colors and fonts globally through the entire theme.

Finally modularity is also achieved by using macros in order to extract components and be able to change/add/remove any component at any time.

That means you can choose which variation of every section you want in the configuration file. If you want a different menu, or a diffrent list of posts you just have to change a single value.

Rules/recommendations for contributions

  • Avoiding more than 3 imbrications in templates, if there is more than 3 imbrication it would be good to extract a part in a macro
  • Using dependency injection (using macros) when there is several competing components for a section (example, 2 types of menu or 2 types of posts list) and creating an option to choose which one to use
  • Using the variables instead of hardcoded values
  • Always documenting options and keeping a sense of structure in the project
  • Prefferably using gitmoji for commit messages

Ideas for improvement

  • Supporting an author taxonomy with additional bio and stuff
    • Could also integrate well with an "author summary" at the end of posts
  • URGENT : Supporting multiple themes and theme switchers (maybe changing the colors a little too)
  • Adding metadata for embeds
  • Supporting list of taxonomies
  • Supporting page content
  • Getting a table of content
  • Different ways to display metadata maybe ?
    • Plus different metadata positions
  • Image gallery or other lists
  • A better menu

List of features and their status

Feature Status
Table of content
RSS/Atom feeds
Featuring image or other medias
Menu (responsive on mobile)
Pagination
Tags
SSG markdown crashtest
Authors
Search
Social media embedding
Author biography
Commenting system
Theme switching between dark and light
Footer information
Categories ?