Grav CMS页面名称

问题描述 投票:2回答:2

我几天来一直在尝试使用Grav,并且发现这对于那些只使用过Wordpress的人来说真的是一股清新的空气。然而,有一件事困扰着我。 Grav使用的文件夹结构驱动的平面文件页面层次结构很容易得到如下所示的文件夹结构

01.home
 |
 --- default.en.md
     |
     01.sub-page-1
                 |
                  --- default.en.md
     |
     02.sub-page-2
                 |
                  --- default.en.md

存在问题。我更喜欢通过SFTP在Visual Studio Code中编辑我的降价,而不是在Grav Admin面板中。但是,这意味着我最终可以同时打开多个default.en.md文件,这是一个等待发生的灾难。是否可以将markdown文件重命名为更符合逻辑的文件?我非常感谢任何帮助

content-management-system grav
2个回答
2
投票

你其实可以。

默认情况下,grav从markdown文件的名称中提取模板类型。但是,您可以通过在页面的YAML标头中设置template变量来覆盖此行为。所以我们可以很容易地得到:

01.home
 |
 --- homepage.en.md
     |
     01.sub-page-1
                 |
                  --- home.subpage1.en.md

如果我们只是有一个标题

---
title: blah
template: default
...
---

1
投票

markdown文件的名称指定要使用的模板。因此,在您的示例中,每个子文件夹中的所有页面都将使用位于default.html.twig文件夹中的templates/THEME_IN_USE/

我认为你已经从Grav的官方页面下载了基本模板。在这种情况下,默认模板是Antimatter。您可以看到在themes / anitmatter中有一个名为default.html.twig的文件,因此应用了此模板。但是,如果你要在user / config / system.yaml中设置主题让我们说my-theme(而不是反物质),你可以定义自己的default.html.twig(你自己的模板)。

因此,要回答您的问题,您可以为每个页面创建自己的模板,或者更好的是类似页面的模板(如博客文章)。你最终可能会得到这样的东西。

pages
  01.home
   |
   --- default.en.md
       |
       01.blog-post
                   |
                    --- blog.en.md
       |
       02.contact
                   |
                    --- contact.en.md
themes
  my-theme
   |
    ...

    templates
        --- default.html.twig
        --- blog.html.twig
        --- contact.html.twig
© www.soinside.com 2019 - 2024. All rights reserved.