-
Notifications
You must be signed in to change notification settings - Fork 0
/
hugo.yaml
169 lines (144 loc) · 5.68 KB
/
hugo.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#
# Main Hugo configuration file
#
# See: https://gohugo.io/getting-started/configuration/
#
languageCode: en-us
title: "Manski's Dev Log"
theme: "devlog-theme"
# Required for canonical URLs and the sitemap.
baseURL: 'https://manski.net/'
# Enable Emoji support
# https://gohugo.io/quick-reference/emojis/
enableEmoji: true
enableGitInfo: true
# https://gohugo.io/getting-started/configuration/#disablekinds
# We don't need static RSS files to be generated.
disableKinds: [ 'RSS' ]
# Don't auto capitalize ".Term.Title" as this breaks our topic name cleanup code
# (which assumes all lower case topic names if no explicit title has been provided).
# NOTE: This not only affects term titles but all kind of titles (it basically leaves them as is; see uses of "auto-title.html").
# https://gohugo.io/getting-started/configuration/#capitalizelisttitles
capitalizeListTitles: false
params:
description: "Things I Learned - by Sebastian Krysmanski"
author: "Sebastian Krysmanski"
avatar: "/avatar.jpg"
# Date format to use for all dates.
# NOTE: The date/time must be exactly(!) "2006-01-02 03:04:05 PM (UTC-7)" (1 2 3 4 5 6 7) or it won't work properly.
dateFormat: "2 Jan 2006"
# Page types to list under "recent articles" on the start/home/index page.
mainSections:
- articles
search:
# Don't index "Terms & Privacy" and other helper pages
includeOnlyMainSections: true
# Cache busting for JS and CSS
enableAssetFingerprinting: true
# Number of "recent articles" on the start/home/index page.
indexPageCount: 50
# CompactURIs supported by dev-log-theme
compactUris:
rfc: https://datatracker.ietf.org/doc/html/rfc
wikipedia: https://en.wikipedia.org/wiki/
discussions: github
# Links to various social sites.
social:
github: "skrysmanski"
mastodon: "https://hachyderm.io/@manski"
mastodon_alt: "@[email protected]"
footer:
copyrightPrefix: 'Personal site.'
termsLinks: '/terms-and-privacy'
# Prevent greedy lawyers from using Google to find images to sue you.
robots: noimageindex
#
# Enable pretty URLs (i.e. use "../my-page/" instead of "../my-page.html").
#
# NOTE 1: This is required or else images in page bundles won't work properly. If this
# setting was "true", the page itself would be located in the parent(!) folder of the images.
# If this is "false", the page is located in the same(!) folder as the images.
#
# NOTE 2: There's quite some .htaccess mod_rewrite magic to make sure we trim the
# trailing slash of URLs (which, unfortunately, is something the Hugo dev team doesn't seem to
# be willing to support: https://github.com/gohugoio/hugo/issues/7458#issuecomment-699049286)
#
uglyURLs: false
#
# Permalinks
#
# NOTE: I once tried to use a flat (i.e. Wikipedia like) URL structure but this turned
# out to be too much hassle as most programming concepts apply to multiple programming
# languages and thus most articles would need to be prefixed with the folder name anyway
# (e.g. "dotnet/dotnet-simple-mutex.md" instead of "dotnet/simple-mutex.md"). So I dropped
# this configuration and reverted to Hugo's default configuration.
#
# See:
# * https://gohugo.io/content-management/urls/
# * https://gohugo.io/templates/section-templates/#page-kinds
#permalinks:
# page:
# articles: "/articles/:slugorfilename"
#
# Taxonomies
#
# See:
# * https://gohugo.io/content-management/taxonomies/
# * https://gohugo.io/content-management/taxonomies/#configure-taxonomies
#
taxonomies:
topic: topics
frontmatter:
# Defines the date of each page.
# 1. Uses the front matter fields "publishDate" and "date" first (see: https://gohugo.io/content-management/front-matter/).
# 2. If they're not defined, uses the date of the last/latest Git commit for the file (see: https://gohugo.io/getting-started/configuration/#configure-dates).
# 3. Uses ":fileModTime" for new files (that don't have been commit yet and thus have not git date) - or else they'll have "1 Jan 0001" as date.
date: ['publishDate', 'date', ':git', ':fileModTime']
# Make "publishDate" behave the same way as "date" (there shouldn't be a difference between these two).
# NOTE: By default, "publishDate" does NOT inherit its value from "date". So this config must actually be present.
publishDate: ['publishDate', 'date', ':git', ':fileModTime']
markup:
# Configure Markdown parser: https://gohugo.io/getting-started/configuration-markup/#goldmark
goldmark:
renderer:
# Allows HTML in Markdown pages.
# NOTE: Unfortunately, this is required to make nested(!) shortcodes work (see shortcode tests page).
# See: https://discourse.gohugo.io/t/nesting-shortcodes-and-markdown/40928/5
# NOTE: "Using the unsafe option is only unsafe if you are not in control of the content that is created on your site."
unsafe: true
extensions:
# https://gohugo.io/getting-started/configuration-markup/#extras-extension
extras:
subscript:
enable: true
superscript:
enable: true
# TOC: https://gohugo.io/getting-started/configuration-markup/#table-of-contents
tableOfContents:
startLevel: 2
endLevel: 4
# For GDPR reasons, disable all external services by default.
# See: https://gohugo.io/about/hugo-and-gdpr/
privacy:
disqus:
disable: true
googleAnalytics:
disable: true
instagram:
disable: true
twitter:
disable: true
vimeo:
disable: true
youtube:
disable: true
build:
# Prevents the creation of the "jsconfig.json" file in the theme's assets folder (which VSCode always reports an error in).
noJSConfigInAssets: true
module:
mounts:
- source: 'content'
target: 'content'
# Exclude files from the 'content' directory
excludeFiles:
- '__README.md'