之前从大佬那里知道了 netlify cms 正好换成了 Hugo 之后缺一个方便的方法来编辑页面, 所以今天有空配置了一下.

安装

安装十分的便捷, 在想要的路径下面丢进去一个 index.html 和一个配置文件就好了

我才用了 GitHub 作为数据源, 所以还需要在 Netlify 中的 site 加上 GitHub 的 app

具体怎么添加可以看官方的 doc

下面是我站点的 config

 1backend:
 2  name: github
 3  repo: Indexyz/blog.indexyz.me
 4  accept_roles:
 5    - admin
 6
 7media_folder: static/img
 8public_folder: /img
 9
10slug:
11  encoding: "ascii"
12  clean_accents: true
13  sanitize_replacement: "_"
14
15collections:
16  - name: "posts"
17    label: "Post"
18    folder: "content/posts"
19    create: true
20    fields:
21      - {label: "Title", name: "title", widget: "string"}
22      - {label: "Publish Date", name: "date", widget: "datetime"}
23      - {label: "Updated Date", name: "updated", widget: "datetime"}
24      - {label: "Tags", name: "tags", widget: "list"}
25      - {label: "Categories", name: "categories", widget: "list"}
26      - {label: "Body", name: "body", widget: "markdown"}
27  - name: pages
28    label: Pages
29    files:
30      - label: Friend Links
31        name: friends
32        file: content/friends.md
33        fields:
34          - {label: "Title", name: "title", widget: "string"}
35          - {label: "Layout", name: "layout", widget: "hidden", default: "card"}
36          - {label: "Type", name: "type", widget: "hidden", default: "links"}
37          - label: Links
38            name: links
39            widget: list
40            fields:
41              - {label: Name, name: name, widget: string}
42              - {label: Description, name: descp, widget: string}
43              - {label: URL, name: url, widget: text}
44              - {label: Image, name: image, widget: image}

可以非常简单的管理生成前的页面

image.png

安装完成之后打开进行 GitHub OAuth 就可以进入到后台了

目前不足

在 Post 列表不能对 Post 进行排序, 默认貌似是按文章的名称字典序排序, 这就导致和找一个 Post 会比较难找

不过官方也说 在做了(但是这个 issue 是 2016 年的