Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
akkuman opened this issue Jan 26, 2017 · 1 comment
Open

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

akkuman opened this issue Jan 26, 2017 · 1 comment

Comments

@akkuman
Copy link

akkuman commented Jan 26, 2017

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

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.

@coderzh
Copy link
Owner

coderzh commented Jan 26, 2017

翻译的不错👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants