Comments (4)
Oh, I see that it is already provided as an [extra]
field, but not documented :)
Then maybe change this in an issue to move the field to the top-level front-matter because it seems that Zola supports this field natively.
You could support both I guess. Maybe I can fix that.
from tabi.
Wait, I'm confused, I see this line
51: {% if page.extra.toc | default(value=false) and page.toc %}
What does that do/mean exactly? I thought the top-level toc
field was a boolean too (because the page I linked does if page.toc {
but I guess that check just checks if the variable is provided.
So the extra.toc
boolean is necessary and we can't use the top-level toc fields?
from tabi.
Hey Steven!
-
page.extra.toc
is tabi's own boolean value to enable the ToC at the top of the page. -
page.toc
is an array ofHeader
objects that Zola generates automatically based on the headings in the markdown content. EachHeader
object has a few fields.
The line of code you shared is checking whether two conditions are met:
page.extra.toc = true
: the ToC should be rendered at the top of the article (defaults tofalse
)page.toc
: the page actually has a ToC (the array ofHeader
). It will evaluate tofalse
if it doesn't.
It's important to check the second part because not all pages have ToCs. For example, this page has no headers in the article, so it doesn't get a page.toc
.
Zola doesn't actually have a built-in ToC. The page you linked simply shows an example as to how it could be implemented. In tabi, the ToC is built by the table_of_contents.html
macro.
I'm glad you found the documentation on the theme's demo. In the future, I plan on adding a long page explaining all of tabi's features (both in config.toml
and within the [extra]
section of post's front matter).
from tabi.
The guide to all of tabi's settings is live! Check it out: Mastering tabi Settings: A Comprehensive Guide
from tabi.
Related Issues (20)
- previos and next link in page HOT 2
- How to archived more than one directory in content? HOT 4
- Previous/next nav hans inconsistent width HOT 1
- About multi sources in Archive HOT 9
- How do I set a default language for my site? HOT 2
- Previous/Next articles order HOT 10
- [Bug Report] Arabic tags are stick together HOT 16
- Do you speak Arabic? Please help! HOT 1
- There is no page direction for feed page
- Header anchor in Arabic text is not working HOT 4
- [Bug] Arrow direction after "Read More" button is incorrect for RTL languages HOT 8
- Broken spacing in LTR next/prev post navigation
- 404 page breaks multi-language switcher
- Zola build error when marking translations of the page as drafts
- Blog and Projects on homepage HOT 7
- "All posts ->" in main page links to "blog/" is hardcoded, so dead link if other section was chosen for main page HOT 3
- Wrong history url for gitlab and codeberge
- Change Language icon not showing HOT 11
- Umami analytics blocked unless CSP is modified HOT 1
- Misaligned posts when showing latest projects HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabi.