getzola/zola

get_page() fails if a page is marked as draft, not sure how else to check if a page is a draft while building menu

Open

#1,991 创建于 2022年9月19日

在 GitHub 查看
 (15 评论) (0 反应) (0 负责人)Rust (15,349 star) (1,046 fork)batch import
good first issuehelp wanted

描述

Bug Report

Environment

Zola version: 0.16.0

Expected Behavior

This function is probably working as originally intended, so what I am asking for may actually be a new feature unless there is another way to accomplish this?

Current Behavior

This started with a feature request to not show certain menu items if those pages are marked as draft. https://github.com/Jieiku/abridge/issues/92

I created a solution:

https://github.com/Jieiku/abridge/commit/bca64259827edb25a19c4b910ab28907b0b29d93

but if I set draft = true for about.md then zola no longer builds/serves the site.

Building site...
Checking all internal links with anchors.
> Successfully checked 1 internal link(s) with anchors.
-> Creating 12 pages (2 orphan) and 2 sections
Error: Failed to serve the site
Error: Failed to render section '/home/jieiku/.dev/abridge/content/posts/_index.md'
Error: Reason: Failed to render 'posts.html' (error happened in a parent template)
Error: Reason: Function call 'get_page' failed
Error: Reason: Page `pages/about.md` not found.

Step to reproduce

git clone -b menu-draft-check https://github.com/Jieiku/abridge
cd abridge
zola serve

The site will serve/build if you set draft = false in content/pages/about.md

If there is another way of doing this that I have not figured out then I appologize for the report, I did review the zola and tera documentation first and spent a couple of days thinking about the issue.

贡献者指南

get_page() fails if a page is marked as draft, not sure how else to check if a page is a draft while building menu · getzola/zola#1991 | Good First Issue