| New file |
| | |
| | | # Configurations |
| | | |
| | | * [About Hugo Configurations](#about-hugo-configurations) |
| | | * [Analytics](#analytics) |
| | | * [Google Analytics](#google-analytics) |
| | | * [Google Tag Manager](#google-tag-manager) |
| | | * [Fathom Analytics](#fathom-analytics) |
| | | * [Plausible Analytics](#plausible-analytics) |
| | | * [Goat Counter](#goat-counter) |
| | | * [Cloudflare](#cloudflare) |
| | | * [Matomo](#matomo) |
| | | * [Commenting Systems](#commenting-systems) |
| | | * [Disqus](#disqus) |
| | | * [Commento](#commento) |
| | | * [Utterances](#utterances) |
| | | * [Theme Parameters](#theme-parameters) |
| | | * [Social Icons Configuration](#social-icons-configuration) |
| | | * [Menu Items Configurations](#menu-items-configurations) |
| | | * [CSP](#csp) |
| | | * [Complete Example](#complete-example) |
| | | * [Front Matter](#front-matter) |
| | | * [Posts](#posts) |
| | | |
| | | ## About Hugo Configurations |
| | | |
| | | This theme supports: |
| | | |
| | | * Analytics |
| | | * [Google Analytics](https://developers.google.com/analytics) |
| | | * [Google Tag Manager](https://developers.google.com/tag-manager) |
| | | * [Fathom Analytics](https://usefathom.com/) |
| | | * [Plausible Analytics](https://plausible.io/) |
| | | * [Goat Counter](https://www.goatcounter.com/) |
| | | * [Cloudflare](https://www.cloudflare.com/analytics/) |
| | | * [Matomo](https://matomo.org/) |
| | | * Commenting Systems |
| | | * [Disqus](https://disqus.com/) |
| | | * [Commento](https://commento.io/) |
| | | * [Utterances](https://utteranc.es/) |
| | | |
| | | ### Analytics |
| | | |
| | | #### Google Analytics |
| | | |
| | | Follow [these steps](https://gohugo.io/templates/internal/#configure-google-analytics). |
| | | |
| | | #### Google Tag Manager |
| | | |
| | | ```toml |
| | | [params.googleTagManager] |
| | | id = "gid" |
| | | ``` |
| | | |
| | | #### Fathom Analytics |
| | | |
| | | ```toml |
| | | [params.fathomAnalytics] |
| | | siteID = "ABCDE" |
| | | serverURL = "cdn.usefathom.com" # (optionnal) Replace if you use a custom domain |
| | | ``` |
| | | |
| | | #### Plausible Analytics |
| | | |
| | | ```toml |
| | | [params.plausibleAnalytics] |
| | | domain = "example.com" |
| | | serverURL = "plausible.io" # (optionnal) Replace if you use a custom domain |
| | | ``` |
| | | |
| | | #### Goat Counter |
| | | |
| | | ```toml |
| | | [params.goatCounter] |
| | | code = "code" # You will access your account at https://[code].goatcounter.com |
| | | ``` |
| | | |
| | | #### Cloudflare |
| | | |
| | | ```toml |
| | | [params.cloudflare] |
| | | token = "token" |
| | | ``` |
| | | |
| | | #### Matomo |
| | | |
| | | ```toml |
| | | [params.matomo] |
| | | siteID = "ABCDE" |
| | | serverURL = "analytics.example.com" |
| | | ``` |
| | | |
| | | ### Commenting Systems |
| | | |
| | | Comments are displayed within post pages, but can be disabled with `disableComments` front-matter. |
| | | |
| | | #### Disqus |
| | | |
| | | Follow [these steps](https://gohugo.io/content-management/comments/#configure-disqus). |
| | | |
| | | #### Commento |
| | | |
| | | ```toml |
| | | [params] |
| | | commentoURL = "https://cdn.commento.io" # Replace if you use a custom domain |
| | | ``` |
| | | |
| | | #### Utterances |
| | | |
| | | ```toml |
| | | [params.utterances] |
| | | repo = "" # https://utteranc.es/#heading-repository |
| | | issueTerm = "" # https://utteranc.es/#heading-mapping |
| | | label = "" # https://utteranc.es/#heading-issue-label |
| | | theme = "" # https://utteranc.es/#heading-theme |
| | | ``` |
| | | |
| | | ## Theme Parameters |
| | | |
| | | These are all the parameters used by `hugo-coder` theme. |
| | | |
| | | | Name | Type | Required | Description | Default | Example | |
| | | | ----------------------------- | ------ | -------- | ------------------------------------------------ | -------------------------------- | ------------------------------------------------ | |
| | | | author | string | Yes | Author name. | | `"John Doe"` | |
| | | | info | string | Yes | An headline, job title or similar. | | `"Full Stack Developer"` | |
| | | | description | string | Yes | Description of the site. | | `"John Doe's personal website"` | |
| | | | keywords | string | Yes | Site keywords. | | `"blog,developer,personal"` | |
| | | | avatarURL | string | No | Photo of the author. | | `"images/avatar.jpg"` | |
| | | | gravatar | string | No | Gravatar photo of the author | | `"john.doe@example.com"` | |
| | | | favicon_32 | string | No | Custom path to a 32x32 favicon. | `"/img/favicon-32x32.png"` | `"/img/favicon-32x32.png"` | |
| | | | favicon_16 | string | No | Custom path to a 16x16 favicon. | `"/img/favicon-16x16.png"` | `"/img/favicon-16x16.png"` | |
| | | | touchIcon | string | No | Custom path to a touch-icon | `"/images/apple-touch-icon.png"` | `"/images/apple-touch-icon.png"` | |
| | | | since | string | No | Date shown in the footer before now year | | `"2020"` | |
| | | | maxSeeAlsoItems | number | No | Series see also post count | `5` | `10` | |
| | | | commit | string | No | Show the last git commit in the footer | | `"https://github.com/luizdepra/hugo-coder/tree/"`| |
| | | | rtl | bool | No | Enable the Right To Left mode. | `false` | `true` or `false` | |
| | | | math | bool | No | Enable MathJax Module and add JS into your site. | `false` | `true` or `false` | |
| | | | katex | bool | No | Enable katex for all content types. | `false` | `true` or `false` | |
| | | | colorScheme | string | No | Specify light/dark colorscheme | `"auto"` | `"auto"` or `"light"` or `"dark"` | |
| | | | hideColorSchemeToggle | bool | No | If true, hides the color sheme toggle | `false` | `true` or `false` | |
| | | | customCSS | list | No | Add extra CSS files to the website. | [] | `["css/extra-style.css"]` | |
| | | | customSCSS | list | No | Add extra SCSS files to the website. | [] | `["scss/extra-style.scss"]` | |
| | | | customJS | list | No | Add extra JS files to the website. | [] | `["js/extra-script.js"]` | |
| | | | enableTwemoji | bool | No | Adds support for Twemoji | `false` | `true` or `false` | |
| | | |
| | | ### Social Icons Configuration |
| | | |
| | | Social Icons are optional. To use them you will need to set at least all the following required parameters for each icon. |
| | | |
| | | | Configuration | Type | Required | Description | Example | |
| | | | -------------- | ------ | -------- | ---------------------------------------- | ------------------------------- | |
| | | | name | string | Yes | Icon name. | `"Github"` | |
| | | | icon | string | Yes | ForkAwesome icon classes. | `"fa fa-github"` | |
| | | | weight | int | Yes | Icon order. | `1` | |
| | | | url | string | Yes | URL to redirect. | `"https://github.com/johndoe/"` | |
| | | |
| | | An example: |
| | | |
| | | ```toml |
| | | [[params.social]] |
| | | name = "Github" |
| | | icon = "fa fa-github fa-2x" |
| | | weight = 1 |
| | | url = "https://github.com/johndoe/" |
| | | [[params.social]] |
| | | name = "Gitlab" |
| | | icon = "fa fa-gitlab fa-2x" |
| | | weight = 2 |
| | | url = "https://gitlab.com/johndoe/" |
| | | [[params.social]] |
| | | name = "Twitter" |
| | | icon = "fa fa-twitter fa-2x" |
| | | weight = 3 |
| | | url = "https://twitter.com/johndoe/" |
| | | ``` |
| | | |
| | | ### Menu Items Configurations |
| | | |
| | | Menu Items are optional. To use them you will need to set all the following required parameters for each icon. |
| | | |
| | | | Configuration | Type | Required | Description | Example | |
| | | | -------------- | ------ | -------- | ---------------------------------------- | ------------------------------- | |
| | | | name | string | Yes | Menu Item name. | `"Posts"` | |
| | | | weight | int | Yes | Menu Item order. | `1` | |
| | | | url | string | Yes | URL to redirect. | `"/posts/"` | |
| | | | target | string | No | URL target attribute. | `"_blank"` | |
| | | | rel | string | No | URL rel attribute. | `"alternate"` | |
| | | | type | string | No | URL type attribute. | `"application/rss+xml"` | |
| | | |
| | | An example: |
| | | |
| | | ```toml |
| | | [[menu.main]] |
| | | name = "Blog" |
| | | weight = 1 |
| | | url = "posts/" |
| | | [[menu.main]] |
| | | name = "About" |
| | | weight = 2 |
| | | url = "about/" |
| | | ``` |
| | | |
| | | ### CSP |
| | | |
| | | CSP stands for [Content Security Policy](https://developers.google.com/web/fundamentals/security/csp). These configurations are optional. To use them you will need to set all the following required parameters. See [here](https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources) for reference. |
| | | |
| | | | Configuration | Type | Required | Description | Example | |
| | | | -------------- | ----------- | -------- | ----------- | ------------------------------- | |
| | | | childsrc | string list | Yes | | `["'self'"]` | |
| | | | fontsrc | string list | Yes | | `["'self'"]` | |
| | | | formaction | string list | Yes | | `["'self'"]` | |
| | | | framesrc | string list | Yes | | `["'self'"]` | |
| | | | imgsrc | string list | Yes | | `["'self'"]` | |
| | | | objectsrc | string list | Yes | | `["'self'"]` | |
| | | | stylesrc | string list | Yes | | `["'self'"]` | |
| | | | scriptsrc | string list | Yes | | `["'self'"]` | |
| | | | prefetchsrc | string list | Yes | | `["'self'"]` | |
| | | |
| | | An example: |
| | | |
| | | ```toml |
| | | [params.csp] |
| | | childsrc = ["'self'"] |
| | | fontsrc = [ |
| | | "'self'", |
| | | "https://fonts.gstatic.com", |
| | | "https://cdn.jsdelivr.net/" |
| | | ] |
| | | formaction = ["'self'"] |
| | | framesrc = ["'self'"] |
| | | imgsrc = ["'self'"] |
| | | objectsrc = ["'none'"] |
| | | stylesrc = [ |
| | | "'self'", |
| | | "'unsafe-inline'", |
| | | "https://fonts.googleapis.com/", |
| | | "https://cdn.jsdelivr.net/" |
| | | ] |
| | | scriptsrc = [ |
| | | "'self'", |
| | | "'unsafe-inline'", |
| | | "https://www.google-analytics.com" |
| | | ] |
| | | prefetchsrc = ["'self'"] |
| | | ``` |
| | | |
| | | ## Complete Example |
| | | |
| | | This is a complete configuration example with some recommended values. |
| | | |
| | | ```toml |
| | | baseurl = "http://www.example.com" |
| | | title = "johndoe" |
| | | theme = "hugo-coder" |
| | | languagecode = "en" |
| | | defaultcontentlanguage = "en" |
| | | |
| | | paginate = 20 |
| | | |
| | | pygmentsstyle = "bw" |
| | | pygmentscodefences = true |
| | | pygmentscodefencesguesssyntax = true |
| | | |
| | | disqusShortname = "yourdiscussshortname" |
| | | |
| | | [params] |
| | | author = "John Doe" |
| | | info = "Full Stack DevOps and Magician" |
| | | description = "John Doe's personal website" |
| | | keywords = "blog,developer,personal" |
| | | avatarurl = "images/avatar.jpg" |
| | | #gravatar = "john.doe@example.com" |
| | | |
| | | favicon_32 = "/img/favicon-32x32.png" |
| | | favicon_16 = "/img/favicon-16x16.png" |
| | | |
| | | since = 2019 |
| | | |
| | | enableTwemoji = true |
| | | |
| | | colorScheme = "auto" |
| | | hidecolorschemetoggle = false |
| | | |
| | | customCSS = ["css/custom.css"] |
| | | customSCSS = ["scss/custom.scss"] |
| | | customJS = ["js/custom.js"] |
| | | |
| | | [taxonomies] |
| | | category = "categories" |
| | | series = "series" |
| | | tag = "tags" |
| | | author = "authors" |
| | | |
| | | # Social links |
| | | [[params.social]] |
| | | name = "Github" |
| | | icon = "fa fa-github fa-2x" |
| | | weight = 1 |
| | | url = "https://github.com/johndoe/" |
| | | [[params.social]] |
| | | name = "Gitlab" |
| | | icon = "fa fa-gitlab fa-2x" |
| | | weight = 2 |
| | | url = "https://gitlab.com/johndoe/" |
| | | [[params.social]] |
| | | name = "Twitter" |
| | | icon = "fa fa-twitter fa-2x" |
| | | weight = 3 |
| | | url = "https://twitter.com/johndoe/" |
| | | |
| | | # Menu links |
| | | [[menu.main]] |
| | | name = "Blog" |
| | | weight = 1 |
| | | url = "posts/" |
| | | [[menu.main]] |
| | | name = "About" |
| | | weight = 2 |
| | | url = "about/" |
| | | ``` |
| | | |
| | | ## Front Matter |
| | | |
| | | Hugo documentation: https://gohugo.io/content-management/front-matter |
| | | |
| | | This theme includes one content type: |
| | | |
| | | * [Posts](#posts), useful to display blog posts |
| | | |
| | | ### Posts |
| | | |
| | | These are the front matter variables used by `hugo-coder` theme. |
| | | |
| | | | Name | Type | Required | Description | Default | Example | |
| | | | ---------------- | ------ | -------- | -------------------------------------------------- | ------- | ----------------------------------------------------------------------------- | |
| | | | tags | list | No | Add tag(s) to this post. | | `["Hugo", "Go"]` | |
| | | | categories | list | No | Add categorie(s) to this post. | | `["Hugo", "Go"]` | |
| | | | series | list | No | Add series to this post (used by OpenGraph). | | `["Theme Demo"]` | |
| | | | author | list | No | Add author to this post. | | `["John Doe"]` | |
| | | | externalLink | string | No | Link to an external post. | | `"https://github.com/luizdepra/hugo-coder/wiki"` | |
| | | | featuredImage | string | No | Link/path to add an image below post metadata. | | `"https://github.com/luizdepra/hugo-coder/blob/master/images/screenshot.png"` | |
| | | | math | bool | No | If true, MathJax is enabled only for this post. | `false` | `true` or `false` | |
| | | | katex | bool | No | If true, katex is enabled only for this post. | `false` | `true` or `false` | |
| | | | disableComments | bool | No | If true, comments are disabled. | `false` | `true` or `false` | |
| | | |
| | | > "tags", "categories", "series" and "authors" are taxonomies defined in the `config.toml` file. |