gohugo.org icon indicating copy to clipboard operation
gohugo.org copied to clipboard

今天有时间,翻译了Menus的一部分

Open akkuman opened this issue 8 years ago • 1 comments

题外话:翻译的很差,自己都有点不好意识,看来看懂和翻译还是有很大差距的

Hugo有一个简单但是强大的菜单系统,它允许你对你所需要放置的内容进行

微调却毋须花费大量工作 小提示:如果你仅仅需要的是一个十分简单的菜单,请查看下文“懒人博客的菜

单” Hugo菜单的一些特点:

  • 在一个或者多个菜单放置内容
  • 可处理无限嵌套的菜单
  • 无需附加任何内容就可以创建菜单项
  • 区分出活跃元素和活跃分支

菜单是什么?

菜单是一个基于.Site.Menus字段在站点上可进入的菜单项的数组。举个例子

,如果你我有一个main菜单,那我可以通过.Site.Menus.main访问

要是你使用多语言特性

,你可以自主地定义菜单语言

一个菜单一般有如下属性:

  • URL(网址) string类型
  • Name(名称) string类型
  • Menu(菜单) string类型
  • Identifier(标识符) string类型
  • Pre template.HTML(PreHtml模板)
  • Post template.HTML(PostHtml模板)
  • Weight(翻译) int类型
  • Parent string类型
  • Children Menu(子菜单) 和下面的功能:
  • HasChildren(是否有子菜单) bool类型 另外,也有一些在页面上的相关功能:
  • IsMenuCurrent (menu string, menuEntry *MenuEntry ) bool
  • HasMenuCurrent (menu string, menuEntry *MenuEntry) bool

将内容添加到菜单

Hugo支持两种不同的添加内容到扉页(首页)的方法

简单用法:

如果你想做的仅仅是添加条目到一个菜单,这个简单的方法会很适合你

单个菜单项

---
menu: "main"
---

多个菜单项:

---
menu: ["main", "footer"]
---

高级用法:

如果你对你的菜单需要更多的配置,这个方法会很适合你,上面列出的所有的

菜单属性你都可以自己定义

---
menu:
  main:
    parent: 'extras'
    weight: 20
---

(非内容性)条目添加到菜单

你同样能添加一个没有任何链接的菜单项,这放置在站点配置文件中,下面是

一个config.toml的例子

[[menu.main]]
    name = "about hugo"
    pre = "<i class='fa fa-heart'></i>"
    weight = -110
    identifier = "about"
    url = "/about/"
[[menu.main]]
    name = "getting started"
    pre = "<i class='fa fa-road'></i>"
    weight = -100
    url = "/getting-started/"

同样的,假如你用的是config.yaml,下面是一个等效的例子

---
menu:
  main:
      - Name: "about hugo"
        Pre: "<i class='fa fa-heart'></i>"
        Weight: -110
        Identifier: "about"
        URL: "/about/"
      - Name: "getting started"
        Pre: "<i class='fa fa-road'></i>"
        Weight: -100
        URL: "/getting-started/"
---

注意:URL必须是相对路径,如果baseURLhttp://example.com/mysite/

,那么菜单中的URL必须不能包含上下文跟路径mysite。使用相对路径会优先

于baseURL,如果URL是http://subdomain.example.com/,那么输出将会

http://subdomain.example.com

嵌套

所有的嵌套的内容是在parent字段中定义的 一个条目的父节点应该是另一个条目的标识符,一个标识符应该是独一无二的(在一个菜单中) 下面的比较是用来确定一个标识符: Name > LinkTitle > Title.

akkuman avatar Jan 26 '17 11:01 akkuman

翻译的不错👍

coderzh avatar Jan 26 '17 13:01 coderzh