Enhanced port of the Ghost "ghostwriter" theme to the Hugo site generator.
Inside the folder of your Hugo site run:
$ mkdir themes
$ cd themes
$ git clone https://github.com/jbub/ghostwriterFor more information read the official setup guide of Hugo.
After installing the theme you need to install javascript dependencies. You can use
npm to install them from package.json. We are using webpack to build and package
styles. In order to develop with realtime reloading in the browser you can use this powerful combo:
hugo server
npm run watchTo update theme styles edit the styles/style.scss file. You can then either use the watch command
or run build to compile the styles:
npm run buildTo customize your theme you can use following params:
baseurl: "https://example.com/"
title: mytitle
theme: ghostwriter
languageCode: en-us
copyright: My Name
googleAnalytics: XXX
pygmentsUseClasses: true
pygmentsCodefences: true
markup:
highlight:
codeFences: true
guessSyntax: false
hl_Lines: ""
lineNoStart: 1
lineNos: false
lineNumbersInTable: true
noClasses: true
tabWidth: 2
privacy:
disqus:
disable: true
googleAnalytics:
anonymizeIP: true
respectDoNotTrack: true
useSessionStorage: false
author:
name: My Name
profile: ""
taxonomies:
tag: tags
params:
mainSections:
- post
intro: true
headline: My headline
description: My description
github: "https://github.com/XXX"
gitlab: "https://gitlab.com/XXX"
linkedin: "https://linkedin.com/in/XXX/"
twitter: "https://twitter.com/XXX"
stackoverflow: "https://stackoverflow.com/users/XXX/YYY"
facebook: "https://www.facebook.com/username"
email: [email protected]
opengraph: true
shareTwitter: true
rss: true
shareFacebook: true
shareLinkedIn: false
dateFormat: "Mon, Jan 2, 2006"
exponeaJsUrl: ""
exponeaTarget: ""
exponeaToken: ""
exponeaTrackVisits: false
readingTime: true
readingTimeText: "Estimated reading time:"
fathomUrl: ""
fathomSiteId: ""
plausibleAnalytics:
domain: ""
# Default value is plausible.io, overwrite this if you are self-hosting or using a custom domain
serverURL: ""
permalinks:
post: "/:year/:month/:day/:contentbasename/"
menu:
main:
- name: Blog
url: /
weight: 1
- name: Projects
url: /project/
weight: 2
- name: Contact
url: /page/contact/
weight: 3
- name: About
url: /page/about/
weight: 4You can also inject arbitrary HTML into <head> simply by overriding the extra-in-head.html
partial, which is meant for that purpose.