菜单从 0.2.0 开始被支持,本页是配置说明,模板请参考 Beex 模板。
菜单的配置文件在 _beex
目录中,每个站点一个文件,以 {sites.Key}-menus.toml
形式命名。所以如果你修改了 _config.toml 中的 [sites.Key]
,那也需要修改这个文件名。
默认会生成两个菜单,每个菜单只包含一个指向主页的菜单项:
version = '0.2.0'
[[main]]
title = 'Home'
url = '/'
[[top]]
title = 'Home'
url = '/'
目前你不用管理 version
,你只需要编辑下面的菜单项。
如果你不需要菜单,保留第一行 version = '0.2.0'
,删除其他内容即可。
Beex 当前支持两个菜单,分别叫 main
和 top
,方便你制作多菜单主题,你可以在默认主题的 layout.html
文件中查看我是如何显示菜单的。
是否增加 bottom
、side
之类的菜单还在考虑中,我希望 Beex 保持简单。如果需要更多菜单可以通过主题配置实现。
下面有几个例子,相信你一眼就能看懂。
菜单项之间的空行不是必须的。
version = '0.2.0'
[[top]]
title = 'Home'
url = '/'
[[top]]
title = 'About'
url = '/about/'
[[top]]
title = 'All Tags'
url = '/tags/'
默认主题不显示子菜单(我很懒),你需要自己通过 CSS 或者 JavaScript 实现并美化它们。
version = '0.2.0'
[[top]]
title = 'Home'
url = '/'
[[top]]
title = 'About'
url = '#'
[[top.children]]
title = 'About Me'
url = '/about/me.html'
[[top.children]]
title = 'About He'
url = '/about/he.html'
[[top.children]]
title = 'About She'
url = '/about/she.html'
[[top]]
title = 'All Tags'
url = '/tags/'
[[top.children]]
title = 'My Fav'
url = '/tags/fav.html'
你甚至可以设置无限层级的菜单,不过需要你的主题支持。
有了上面的基础,下面我只简写了,相信你能看懂。
version = '0.2.0'
[[top.children]]
# ...
[[top.children.children]]
# ...
[[top.children.children.children]]
# ...
[[top.children.children.children.children]]
# ...
version = '0.2.0'
[[main]]
# ...
[[top]]
# ...
[[main]]
# ...
[[top]]
# ...
title
和 url
都是必须的。
这是错误的:
version = '0.2.0'
[[main]]
title = 'Home'
如果不需要 url
,只显示文字,可以这样:
version = '0.2.0'
[[main]]
title = 'Home'
url = '#'