feat: add support for editing pages in Netlify CMS

Adds support for writing blog posts and editing privacy policy and terms pages.

To use,
- You must already be using Netlify to deploy your site
- Login to Netlify and setup your editors under the Identity section
- Head over to YOUR_URL/admin/

See https://github.com/gcushen/hugo-academic/issues/1191
This commit is contained in:
George Cushen 2020-02-08 20:03:06 +00:00
parent 8c93100c13
commit ecc423e9de
3 changed files with 103 additions and 1 deletions

View File

@ -3,7 +3,7 @@
publish = "public" publish = "public"
[build.environment] [build.environment]
HUGO_VERSION = "0.63.1" HUGO_VERSION = "0.64.0"
HUGO_ENABLEGITINFO = "true" HUGO_ENABLEGITINFO = "true"
[context.production.environment] [context.production.environment]

89
static/admin/config.yml Normal file
View File

@ -0,0 +1,89 @@
backend:
name: git-gateway
branch: master
media_folder: 'static/img/'
public_folder: 'img'
collections:
- name: posts
label: Posts
label_singular: Post
folder: 'content/post'
path: '{{slug}}/index'
create: true # Allow users to create new documents in this collection
fields: # The fields each document in this collection have
- {label: "Title", name: "title", widget: "string"}
- {label: "Publish Date", name: "date", widget: "datetime"}
- {label: "Subtitle", name: "subtitle", widget: "string"}
- {label: "Summary", name: "summary", widget: "markdown"}
- label: "Draft"
name: "draft"
required: false
widget: "boolean"
default: false
- label: "Featured"
name: "featured"
required: false
widget: "boolean"
default: false
- label: "Authors"
name: "authors"
required: false
widget: "list"
- label: "Tags"
name: "tags"
required: false
widget: "list"
- label: "Categories"
name: "categories"
required: false
widget: "list"
- label: "Projects"
name: "projects"
required: false
widget: "list"
- label: "Featured Image"
name: "featured"
widget: object
fields:
- label: "Upload an image named `featured.jpg/png`"
name: "filename"
widget: "image"
default: "featured"
media_library:
config:
multiple: false
- {label: Caption, name: caption, widget: string, required: false}
- {label: "Where's the focal point in the image? Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight.", name: focal_point, widget: string, required: false, default: "Smart"}
- {label: Thumbnail Only?, name: preview_only, widget: boolean, required: false, default: false}
- {label: "Body", name: "body", widget: "markdown"}
- name: "pages"
label: "Pages"
files:
- file: "content/privacy.md"
label: "Privacy Policy"
name: "privacy"
fields:
- {label: "Title", name: "title", widget: "string"}
- {label: "Publish Date", name: "date", widget: "datetime"}
- {label: "Subtitle", name: "subtitle", widget: "string"}
- {label: "Summary", name: "summary", widget: "markdown"}
- label: "Draft"
name: "draft"
required: false
widget: "boolean"
default: false
- {label: "Body", name: "body", widget: "markdown"}
- file: "content/terms.md"
label: "Terms"
name: "terms"
fields:
- {label: "Title", name: "title", widget: "string"}
- {label: "Publish Date", name: "date", widget: "datetime"}
- {label: "Subtitle", name: "subtitle", widget: "string"}
- {label: "Summary", name: "summary", widget: "markdown"}
- label: "Draft"
name: "draft"
required: false
widget: "boolean"
default: false
- {label: "Body", name: "body", widget: "markdown"}

13
static/admin/index.html Normal file
View File

@ -0,0 +1,13 @@
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Content Manager | Academic</title>
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
</head>
<body>
<!-- Include the script that builds the page and powers Netlify CMS -->
<script src="https://cdn.jsdelivr.net/npm/netlify-cms@2/dist/netlify-cms.min.js"></script>
</body>
</html>