- HTML 83.6%
- CSS 11.2%
- JavaScript 5.2%
| content | 🧪 Adding test posts as content from the Anpu's theme | |
| templates | ✨ Adding support for list of posts in a given tag | |
| .gitignore | 🙈 Adding public to gitignore | |
| config.toml | 🔧 Adding new table of content option | |
| main.css | 🚧 Adding beginning of markdown formatting for pages | |
| README.md | 📝 Sorting features and setting the table of content feature to completed | |
| tailwind.config.js | 🔧 Adding font family configuration into the tailwind config file | |
| theme.toml | ⚗ Adding first macro for testing architecture | |
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 ? | ❌ |