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/ghostwriter
For more information read the official setup guide of Hugo.
After installing the theme you need to install javascript dependencies. You can use
npm
or yarn
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
yarn run watch
To update theme styles edit the styles/style.scss
file. You can then either use the watch
command
or run build
to compile the styles:
yarn run build
To customize your theme you can use following params:
baseurl: "https://example.com/"
title: mytitle
theme: ghostwriter
languageCode: en-us
copyright: My Name
googleAnalytics: XXX
disqusShortname: 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: "https://google.com/+XXX"
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: xxx@example.com
opengraph: true
shareTwitter: true
rss: true
shareFacebook: true
shareGooglePlus: true
shareLinkedIn: false
dateFormat: "Mon, Jan 2, 2006"
exponeaJsUrl: ""
exponeaTarget: ""
exponeaToken: ""
exponeaTrackVisits: false
readingTime: true
readingTimeText: "Estimated reading time:"
fathomUrl: ""
fathomSiteId: ""
permalinks:
post: "/:year/:month/:day/:filename/"
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: 4
You can also inject arbitrary HTML into <head>
simply by overriding the extra-in-head.html
partial, which is meant for that purpose.