diff --git a/content/concept.md b/content/concept.md index b5396484d..68819abe7 100644 --- a/content/concept.md +++ b/content/concept.md @@ -392,6 +392,7 @@ Apache License - 60 * RSS Templates - 150 * Sitemap Template - 160 * Robots.txt - 165 +* Internal Templates - 168 * Additional Templating Languages - 170 * Template Debugging - 180 diff --git a/content/templates/internal.md b/content/templates/internal.md new file mode 100644 index 000000000..b17a4c630 --- /dev/null +++ b/content/templates/internal.md @@ -0,0 +1,131 @@ +--- +title: Internal Templates +linktitle: Internal Templates +description: Hugo ships with a series of internal templates to +date: 2017-03-06 +publishdate: 2017-03-06 +lastmod: 2017-03-06 +categories: [templates] +tags: [internal, analytics,] +weight: 168 +draft: false +aliases: [] +toc: false +wip: true +--- + + +{{% warning %}} +While the following internal templates are called similar to partials, they do *not* observe the partial template lookup order. +{{% /warning %}} + +## Google Analytics + +Hugo ships with internal templates for Google Analytics tracking, including both synchronous and asynchronous tracking codes. + +### Configuring Google Analytics + +Provide your tracking id in your configuration file: + +```toml +googleAnalytics = "UA-123-45" +``` + +```yml +googleAnalytics: "UA-123-45" +``` + +### Adding the Google Analytics Template + +You can then include the Google Analytics internal template: + +```golang +{{ template "_internal/google_analytics.html" . }} +``` + + +```golang +{{ template "_internal/google_analytics_async.html" . }} +``` + +## Disqus + +Hugo also ships with an internal template for [Disqus comments][disqus], a popular commenting system for both static and dynamic websites. In order to effectively use Disqus, you will need to secure a Disqus "shortname" by [signing up for the free service][disqussignup]. + +### Configuring Disqus + +To use Hugo's Disqus template, you first need to set a single value in your site's `config.toml` or `config.yml`: + +```toml +disqusShortname = "yourdiscussshortname" +``` + +```yaml +disqusShortname: "yourdiscussshortname" +``` + +You also have the option to set the following in the front matter for a given piece of content: + +* `disqus_identifier` +* `disqus_title` +* `disqus_url` + +### Adding the Disqus Template + +To add Disqus, include the following line in templates where you want your comments to appear: + +```golang +{{ template "_internal/disqus.html" . }} +``` + +### Conditional Loading of Disqus Comments + +Users have noticed that enabling Disqus comments when running the Hugo web server on `localhost` (i.e. via `hugo server`) causes the creation of unwanted discussions on the associated Disqus account. + +You can create the following `layouts/partials/disqus.html`: + +{{% code file="layouts/partials/disqus.html" download="disqus.html" %}} +```html +
+ + +comments powered by Disqus +``` +{{% /code %}} + +The `if` statement skips the initialization of the Disqus comment injection when you are running on `localhost`. + +You can then render your custom Disqus partial template as follows: + +```golang +{{ partial "disqus.html" . }} +``` + +``` +_internal/_default/robots.txt +_internal/_default/rss.xml +_internal/_default/sitemap.xml +_internal/_default/sitemapindex.xml + +_internal/disqus.html +_internal/google_news.html +_internal/google_analytics.html +_internal/google_analytics_async.html +_internal/opengraph.html +_internal/pagination.html +_internal/schema.html +_internal/twitter_cards.html +``` diff --git a/content/templates/partials.md b/content/templates/partials.md index ebff53040..e8314abf6 100644 --- a/content/templates/partials.md +++ b/content/templates/partials.md @@ -160,108 +160,6 @@ The following `footer.html` partial template is used for [spf13.com](http://spf1 ``` {{% /code %}} - -## Using Hugo's Internal Partial Templates - -{{% warning %}} -While the following internal templates are called similar to partials, they do *not* observe the partial template lookup order. -{{% /warning %}} - -### Google Analytics - -Hugo ships with internal partial templates for Google Analytics tracking, including both synchronous and asynchronous tracking codes. - -#### Configuring Google Analytics - -Provide your tracking id in your configuration file: - -```toml -googleAnalytics = "UA-123-45" -``` - -```yml -googleAnalytics: "UA-123-45" -``` - -#### Adding the Google Analytics Template - -You can then include the Google Analytics internal partial in your templates: - -```golang -{{ template "_internal/google_analytics.html" . }} -``` - - -```golang -{{ template "_internal/google_analytics_async.html" . }} -``` - -### Disqus - -Hugo also ships with a built-in partial for [Disqus comments][disqus], a popular commenting system for both static and dynamic websites. In order to effectively use Disqus, you will need to secure a Disqus "shortname" by [signing up for the free service][disqussignup]. - -#### Configuring Disqus - -To use Hugo's Disqus template, you first need to set a single value in your site's `config.toml` or `config.yml`: - -```toml -disqusShortname = "yourdiscussshortname" -``` - -```yaml -disqusShortname: "yourdiscussshortname" -``` - -You also have the option to set the following in the front matter for a given piece of content: - -* `disqus_identifier` -* `disqus_title` -* `disqus_url` - -#### Adding the Disqus Template - -To add Disqus, include the following line in templates where you want your comments to appear: - -```golang -{{ template "_internal/disqus.html" . }} -``` - -#### Conditional Loading of Disqus Comments - -Users have noticed that enabling Disqus comments when running the Hugo web server on `localhost` (i.e. via `hugo server`) causes the creation of unwanted discussions on the associated Disqus account. - -You can create the following `layouts/partials/disqus.html`: - -{{% code file="layouts/partials/disqus.html" download="disqus.html" %}} -```html -
- - -comments powered by Disqus -``` -{{% /code %}} - -The `if` statement skips the initialization of the Disqus comment injection when you are running on `localhost`. - -You can then render your custom Disqus partial template as follows: - -```golang -{{ partial "disqus.html" . }} -``` - [context]: /templates/go-templates/ "The most easily overlooked concept to understand about Go templating is how the dot always refers to the current context." [customize]: /themes/customizing/ [disqus]: https://disqus.com