Add all weights to template section and updated go template primer

This commit is contained in:
Ryan Watters
2017-02-21 19:33:08 -06:00
parent a1512e501f
commit 2414df120b
161 changed files with 1072 additions and 549 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
themes/hugodocs/pipeline/node_modules
my-notes.md
ryans-notes.md
notes-for-reviewers.md
+4 -1
View File
@@ -1,4 +1,4 @@
# Content Reorganization
# Annotated Content Reorganization
- [Changes to Existing Content Sections](#changes-to-existing-sections)
- [Extras](#extras)
@@ -27,6 +27,9 @@ The following is an *abbreviated* listing and only includes the *larger* changes
* All content moved from `/tutorials` edited to reflect a less tutorial-ish style of language (e.g., remove of lines starting with "In this tutorial...")
* Aliases added to new pages and in-page links updated throughout
## Content Organization: Site Navigation
The following is a list of weights for the newly restructure site architecture
+1 -2
View File
@@ -5,11 +5,10 @@ description: Hugo's features, roadmap, and license, as well as the motivation be
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: []
categories: []
tags: []
weight: 01
draft: false
aliases: []
toc: false
notesforauthors:
---
+1 -3
View File
@@ -6,12 +6,10 @@ date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [ssg,static,performance, security]
weight: 20
weight: 30
draft: false
slug:
aliases: []
toc: false
notesforauthors:
---
Website generators render content into HTML files. Most are "dynamic site generators." That means the HTTP server (i.e., the program that communicates with your end user's browser) runs the generator to create a new HTML file every time an end user requests a page.
+1 -2
View File
@@ -5,9 +5,8 @@ description: In addition to blistering speed, Hugo also includes a powerful temp
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
weight: 10
weight: 20
draft: false
slug:
aliases: [/about-hugo/features]
toc: true
notesforauthors:
+4 -4
View File
@@ -1,16 +1,16 @@
---
title: Apache License
linktitle:
linktitle: License
description: Hugo v0.15 and later are released under the Apache 2.0 license. Earlier versions of Hugo were released under the Simple Public License.
date: 2016-02-01
publishdate: 2016-02-01
lastmod: 2016-02-01
weight: 50
categories: ["about hugo"]
tags: ["license","apache"]
weight: 60
draft: false
slug:
aliases: [/meta/license]
toc: true
notesforauthors:
---
{{% note %}}
+1 -1
View File
@@ -6,7 +6,7 @@ date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: []
weight: 40
weight: 50
draft: false
slug:
aliases: [/meta/roadmap]
+1 -2
View File
@@ -6,11 +6,10 @@ date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
layout: single
weight: 05
weight: 10
draft: false
aliases: [/overview/introduction/]
toc: true
notesforauthors:
---
## What is Hugo?
+1 -3
View File
@@ -5,12 +5,10 @@ description: Learn why Steve Francia (@spf13) decided to ditch his previous cont
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
weight: 30
weight: 40
draft: false
slug:
aliases: []
toc: false
notesforauthors:
---
I wrote Hugo ultimately for a few reasons. First, I was disappointed with WordPress, my then website solution. With it, I couldn't create content as efficiently as I wanted to.
+2 -5
View File
@@ -5,7 +5,7 @@ description: Comprehensive list of Hugo templating functions, including basic an
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
categories: [command line reference]
categories: [commands]
tags: [cli,command line]
weight: 01
draft: false
@@ -16,7 +16,4 @@ needsreview: true
The following list contains auto-generated and up-to-date (thanks to [Cobra][]) documentation for all the CLI commands in Hugo.
[Cobra]: https://github.com/spf13/cobra
[Cobra]: https://github.com/spf13/cobra
-1
View File
@@ -11,5 +11,4 @@ weight: 01
draft: false
aliases: [/content/]
toc: false
notesforauthors:
---
+2 -2
View File
@@ -7,7 +7,7 @@ publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [archetypes,generators,metadata,front matter]
categories: ["content management"]
weight: 50
weight: 70
draft: false
aliases: [/content/archetypes/,/content-management/content-archetypes/]
toc: true
@@ -182,7 +182,7 @@ The following is the `musicians` archetype from the [example site][]:
[archetypes directory]: /project-organization/directory-structure/
[`now()`]: http://golang.org/pkg/time/#Now
[configuration file]: /project-organization/configuration/
[content sections]: /content-sections/
[content sections]: /sections/
[content types]: /content-management/content-types/
[example site]: /getting-started/using-the-hugo-docs/#example-site
[front matter]: /content-management/front-matter/
+113
View File
@@ -0,0 +1,113 @@
---
title: Comments
linktitle: Comments
description: Hugo ships with an internal Disqus template that requires negligible effort to implement, but Disqus isn't the only commenting system that will work with your new Hugo website.
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [sections,content,organization, fundamentals]
categories: [project organization]
weight: 140
draft: false
aliases: [/extras/comments/]
toc: true
needsreview: true
---
<!-- pulled from extras/comments -->
As Hugo is a static site generator, the content produced is static and doesnt interact with the users. The most common interaction people ask for is comment capability.
Hugo ships with support for [Disqus](https://disqus.com/), a third-party service that provides comment and community capabilities to website via JavaScript.
Your theme may already support Disqus, but even it if doesnt, it is easy to add.
### Disqus
#### Adding Disqus to a Template
Hugo comes with all the code you would need to include load Disqus. Simply include the following line where you want your comments to appear:
```golang
{{ template "_internal/disqus.html" . }}
```
#### Configuring Disqus
That template requires you to set a single value in your site `config`:
```toml
disqusShortname = "yourdiscussshortname"
```
Or with a `config.yml`:
```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`
#### 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. In order to prevent this, a slightly tweaked partial template is required. So, rather than using the built-in `"_internal/disqus.html"` template referenced above, create a template in `layouts/partials` that looks like the following:
{{% input "layouts/partials/disqus.html" %}}
```html
<div id="disqus_thread"></div>
<script type="text/javascript">
(function() {
// Don't ever inject Disqus on localhost--it creates unwanted
// discussions from 'localhost:1313' on your Disqus account...
if (window.location.hostname == "localhost")
return;
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
var disqus_shortname = '{{ .Site.DisqusShortname }}';
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
```
{{% /input %}}
The `if` statement skips the initialization of the Disqus comment injection when you are running on `localhost`.
You can then reference the partial template:
{{% input "disqus-reference.html" %}}
```golang
{{ partial "disqus.html" . }}
```
{{% /input %}}
## Alternatives
A few alternatives exist to [Disqus](https://disqus.com/):
* [Discourse](http://www.discourse.org)
* [IntenseDebate](http://intensedebate.com/)
* [Livefyre](http://livefyre.com/)
* [Muut](http://muut.com/)
* [多说](http://duoshuo.com/) ([Duoshuo](http://duoshuo.com/), popular in China)
* [isso](http://posativ.org/isso/) (Self-hosted, Python)
* [Kaiju](https://github.com/spf13/kaiju)
## Kaiju
[Kaiju](https://github.com/spf13/kaiju) is an open-source project started by [spf13](http://spf13.com/) (Hugos author) to bring easy and fast real time discussions to the web.
Written using Go, Socket.io and MongoDB, it is very fast and easy to deploy.
It is in early development but shows promise. If you have interest, please help by contributing whether via a pull request, an issue or even just a tweet. Everything helps.
## Discourse
Additionally, you may recognize [Discourse](http://www.discourse.org) as the system that powers the [Hugo Discussion Forum](http://discuss.gohugo.io).
@@ -5,11 +5,10 @@ description: Hugo assumes that the same structure that works to organize your so
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [sections,content,organization, fundamentals]
categories: [project organization]
weight: 05
tags: [sections,content,organization, fundamentals]
weight: 10
draft: false
slug:
aliases: [/content-management/sections,/content/sections/]
toc: true
needsreview: true
@@ -19,7 +18,7 @@ Hugo uses files (see [supported content formats][]) with headers called [front m
## Organizing Source Content
In Hugo, the content should be organized in a manner that reflects the rendered website. Without any additional configuration, the following will just work. Hugo supports content nested at any level, but the top level is special in Hugo and is used as the [section](/content-management/content-sections/).
In Hugo, the content should be organized in a manner that reflects the rendered website. Without any additional configuration, the following will just work. Hugo supports content nested at any level, but the top level is special in Hugo and is used as the [section](/content-management/sections/).
```bash
.
@@ -5,14 +5,12 @@ description:
date: 2017-01-10
publishdate: 2017-01-10
lastmod: 2017-01-10
tags: [summaries,abstracts,read more]
categories: [content management]
weight: 70
tags: [summaries,abstracts,read more]
weight: 90
draft: false
slug:
aliases: [/content/summaries/]
toc: true
notesforauthors:
---
With the use of the `.Summary` [page variable][pagevariables], Hugo can generate summaries of content to show snippets in summary views. The summary view snippets are automatically generated by Hugo.
@@ -26,23 +24,23 @@ You have two options for where the content is split:
Content summaries may also provide links to the original content. A common design pattern is to see this link in the form of a "Read More..." button. To make this easier, you can leverage the `.RelPermalink`, `.Permalink`, and `.Truncated` [page variables][pagevariables].
### Hugo-defined: Automatic Splitting
### Hugo-defined: Automatic Summary Splitting
By default, Hugo automatically takes the first 70 words of your content as its summary and stores it into the `.Summary` page variable for use in your templates. Taking the Hugo-defined approach to summaries may save time, but it has pros and cons:
* **Pros:** Automatic, no additional work on your part.
* **Cons:** All HTML tags are stripped from the summary, and the first 70 words, whether they belong to a heading or to different paragraphs, are all lumped into one paragraph.
### User-defined: Manual Splitting
### User-defined: Manual Summary Splitting
Alternatively, you may add the <code>&#60;&#33;&#45;&#45;more&#45;&#45;&#62;</code> summary divider where you want to split the article. Content that comes before the summary divider will be used as that content's summary and stored in the `.Summary` page variable with all HTML formatting intact.
Alternatively, you may add the <code>&#60;&#33;&#45;&#45;more&#45;&#45;&#62;</code> summary divider where you want to split the article. For [org content][org], use <code># more</code>) where you want to split the article. Content that comes before the summary divider will be used as that content's summary and stored in the `.Summary` page variable with all HTML formatting intact.
{{% note "Summary Divider"%}}
The concept of a *summary divider* is not unique to Hugo. It is also called the "more tag" or "excerpt separator" in other literature.
{{% /note %}}
* Pros: Freedom, precision, and improved rendering. All HTML tags and formatting are preserved.
* Cons: Extra work for content authors, since they need to remember to type <code>&#60;&#33;&#45;&#45;more&#45;&#45;&#62;</code> in each content file.
* Cons: Extra work for content authors, since they need to remember to type <code>&#60;&#33;&#45;&#45;more&#45;&#45;&#62;</code> (or `# more` for [org content][org]) in each content file.
{{% warning "Be Precise with the Summary Divider" %}}
Be careful to enter <code>&#60;&#33;&#45;&#45;more&#45;&#45;&#62;</code> exactly; i.e., all lowercase and with no whitespace. Any mistakes in the divider will tell Hugo to treat the divider as a regular comment and will fail to store your desired content in the `.Summary` variable.
@@ -72,5 +70,6 @@ You can show content summaries with the following code. You could use the follow
Note how the `.Truncated` boolean valuable may be used to hide the "Read More..." link when the content is not truncated; i.e., when the summary contains the entire article.
[org]: /content-management/supported-content-formats/
[pagevariables]: /variables-and-params/page-variables/
[section's list page template]: /templates/list-and-section-templates/
+4 -5
View File
@@ -5,11 +5,10 @@ description:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [lists,sections,content types,types,organization]
categories: [content management]
weight: 40
tags: [lists,sections,content types,types,organization]
weight: 60
draft: false
slug:
aliases: [/content/types]
toc: true
needsreview: true
@@ -34,7 +33,7 @@ You can manually add files to your content directories, but Hugo has the ability
Creating a new content type is easy in Hugo. You simply provide the templates and archetype that the new type will use. You only need to define the templates, archetypes and/or views unique to that content type. Hugo will fall back to using the general templates and default archetype whenever a specific file is not present.
{{% note "Declaring Content Types" %}}
Remember, all of the following are *optional*. If you do not specifically declare content types in your front matter or develop specific layouts for content types, Hugo is smart enough to infer the content type from the file path and content section (see [content sections](/content-management/content-sections/)).
Remember, all of the following are *optional*. If you do not specifically declare content types in your front matter or develop specific layouts for content types, Hugo is smart enough to infer the content type from the file path and content section (see [content sections](/content-management/sections/)).
{{% /note %}}
### Create Type Layout Directory
@@ -61,7 +60,7 @@ More details about archetypes can be found in the [archetypes documentation][].
[archetypes]: /content-management/archetypes/
[archetypes documentation]: /content-management/archetypes/
[sections]: /content-sections/
[sections]: /content-management/sections/
[front matter]: /content-management/front-matter/
[list of contents on a single page]: /templates/list-and-section-templates/
[template]: /templates/
@@ -7,12 +7,11 @@ publishdate: 2017-02-01
lastmod: 2017-01-09
categories: [content management]
tags: ["cross references","references", "anchors", "urls"]
weight: 80
weight: 100
draft: false
aliases: []
toc:
toc: true
needsreview: true
notesforauthors:
---
Hugo makes it easy to link documents together with `ref` and `relref`, both of which are [built-in Hugo shortcodes][]. These shortcodes are also used to safely provide links to headings inside of your content, whether across documents or within a document. The only difference between `ref` and `relref` is whether the resulting URL is absolute (`http://1.com/about/`) or relative (`/about/`).
+3 -4
View File
@@ -7,9 +7,8 @@ publishdate: 2017-01-09
lastmod: 2017-01-09
categories: [content management]
tags: ["front matter", "yaml", "toml", "json", "metadata", "archetypes"]
weight: 20
weight: 30
draft: false
slug:
aliases: [/content/front-matter/]
needsreview: true
toc:
@@ -104,11 +103,11 @@ There are a few predefined variables that Hugo is aware of and utilizes. The use
If neither `slug` nor `url` is present, and [permalinks are not configured otherwise](/content-management/url-management/#permalinks), the filename will be used to create the URL for a page.
{{% /note %}}
## Configure Blackfriday Rendering
## Override Global Blackfriday Configuration
It's possible to set some options for Markdown rendering in the page's front matter as an override to the site-wide configuration.
See [site configuration][] for more information.
See [site configuration][] for more information on setting up global Blackfriday options.
## Parameters
+1 -1
View File
@@ -5,10 +5,10 @@ description:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
weight:
categories: [templating]
tags: [lists,sections,menus]
draft: false
weight: 120
aliases: [/extras/menus/]
toc: true
needsreview: true
+34 -24
View File
@@ -7,10 +7,9 @@ publishdate: 2017-01-10
lastmod: 2017-01-10
categories: [content management]
tags: [multilingual,i18n]
weight: 120
weight: 150
draft: false
slug:
aliases: [/content/multilingual/]
aliases: [/content/multilingual/,/content-management/multilingual/]
toc: true
needsreview: true
notesforauthors:
@@ -46,20 +45,20 @@ help = "Aide"
```
Anything not defined in a `[Languages]` block will fall back to the global
value for that key (like `copyright` for the English (`en`) language in this example).
value for that key (e.g., `copyright` for the English [`en`] language).
With the config above, all content, sitemap, RSS feeds, paginations
With the config above, all content, sitemap, RSS feeds, paginations,
and taxonomy pages will be rendered below `/` in English (your default content language), and below `/fr` in French.
When working with params in frontmatter pages, omit the `params` in the key for the translation.
When working with params in front matter pages, omit the `params` in the key for the translation.
If you want all of the languages to be put below their respective language code, enable `defaultContentLanguageInSubdir: true` in your configuration.
Only the obvious non-global options can be overridden per language. Examples of global options are `BaseURL`, `BuildDrafts`, etc.
Taxonomies and Blackfriday configuration can also be set per language, example:
Taxonomies and [Blackfriday configuration][hugoconfig] can also be set per language:
```
```toml
[Taxonomies]
tag = "tags"
@@ -81,12 +80,11 @@ title = "Français"
plaque = "plaques"
```
### Translating your content
## Translating Your Content
Translated articles are identified by the name of the content file.
Example of translated articles:
### Examples of Translated Articles
1. `/content/about.en.md`
2. `/content/about.fr.md`
@@ -103,11 +101,12 @@ If left unspecified, the value for `defaultContentLanguage` defaults to `en`.
By having the same _base file name_, the content pieces are linked together as translated pieces.
### Link to translated content
## Link to Translated Content
To create a list of links to translated content, use a template similar to this:
```
{{% input "layouts/partials/i18nlist.html" %}}
```html
{{ if .IsTranslated }}
<h4>{{ i18n "translations" }}</h4>
<ul>
@@ -119,13 +118,15 @@ To create a list of links to translated content, use a template similar to this:
</ul>
{{ end }}
```
The above can be put in a `partial` and included in any template, be it for a content page or the home page. It will not print anything if there are no translations for a given page, or if it is -- in the case of the home page, section listing etc. -- a site with only one language.
{{% /input %}}
The above also uses the `i18n` func, see [Translation of strings](#translation-of-strings).
The above can be put in a `partial` (`./layouts/partials/`) and included in any template, be it for a [content page][contenttemplate] or the [home page][homepagetemplte]. It will not print anything if there are no translations for a given page, or if it is---in the case of the home page, section listing, etc.---a site with only one language.
### Translation of strings
The above also uses the `i18n` func described in the next section.
Hugo uses [go-i18n](https://github.com/nicksnyder/go-i18n) to support string translations. Follow the link to find tools to manage your translation workflows.
## Translation of Strings
Hugo uses [go-i18n](https://github.com/nicksnyder/go-i18n) to support string translations. [See the project's source repository](https://github.com/nicksnyder/go-i18n) to find tools that will help you manage your translation workflows.
Translations are collected from the `themes/[name]/i18n/` folder (built into the theme), as well as translations present in `i18n/` at the root of your project. In the `i18n`, the translations will be merged and take precedence over what is in the theme folder. Language files should be named according to RFC 5646 with names such as `en-US.yaml`, `fr.yaml`, etc.
@@ -174,7 +175,7 @@ To track down missing translation strings, run Hugo with the `--i18n-warnings` f
i18n|MISSING_TRANSLATION|en|wordCount
```
### Menus
## Menus
You can define your menus for each language independently. The [creation of a menu](/content-management/menus/) works analogous to earlier versions of Hugo, except that they have to be defined in their language-specific block in the configuration file:
@@ -215,16 +216,25 @@ The rendering of the main navigation works as usual. `.Site.Menus` will just con
```
### Missing translations
## Missing translations
If a string does not have a translation for the current language, Hugo will use the value from the default language. If no default value is set, an empty string will be shown.
While translating a Hugo site, it can be handy to have a visual indicator of missing translations. The `EnableMissingTranslationPlaceholders` config option will flag all untranslated strings with the placeholder `[i18n] identifier`, where `identifier` is the id of the missing translation.
While translating a Hugo website, it can be handy to have a visual indicator of missing translations. The [`EnableMissingTranslationPlaceholders` configuration option][hugoconfig] will flag all untranslated strings with the placeholder `[i18n] identifier`, where `identifier` is the id of the missing translation.
**Remember: Hugo will generate your website with these placeholders. It might not be suited for production environments.**
{{% note %}}
Hugo will generate your website with these placeholders. It might not be suited for production environments.
{{% /note %}}
### Multilingual Themes support
## Multilingual Themes support
To support Multilingual mode in your themes, some considerations must be taken for the URLs in the templates. If there are more than one language, URLs must either come from the built-in `.Permalink` or `.URL`, be constructed with `relLangURL` or `absLangURL` template funcs -- or prefixed with `{{.LanguagePrefix }}`.
To support Multilingual mode in your themes, some considerations must be taken for the URLs in the templates. If there is more than one language, URLs must
If there are more than one language defined, the`LanguagePrefix` variable will equal `"/en"` (or whatever your `CurrentLanguage` is). If not enabled, it will be an empty string, so it is harmless for single-language sites.
* come from the built-in `.Permalink` or `.URL`
* be constructed with `relLangURL` or `absLangURL` template funcs **or** prefixed with `{{.LanguagePrefix }}`
If there is more than one language defined, the`LanguagePrefix` variable will equal `/en` (or whatever your `CurrentLanguage` is). If not enabled, it will be an empty string and is therefore harmless for single-language Hugo websites.
[contenttemplate]: /templates/single-page-template/
[homepagetemplate]: /templates/homepage-template/
[hugoconfig]: /getting-started/configuration/
@@ -1,25 +1,23 @@
---
title: Sections
title: Content Sections
linktitle: Sections
description: Hugo provides full support for content sections, which according to Hugo's default behavior, should reflect the architecture of the output website sections as well.
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [lists,sections,content types,organization]
categories: [content management]
weight: 30
tags: [lists,sections,content types,organization]
weight: 50
draft: false
slug:
aliases: [/content-management/sections/,/content/sections/]
toc: true
notesforauthors:
---
## What are Sections in Hugo
Hugo believes that you organize your content with a purpose. The same structure that works to organize your source content is used to organize the rendered site (see [directory structure][]).
Following this pattern, Hugo uses the top level of your content organization as the **content section**.
Following this pattern, Hugo uses the top level of your content organization as the content **section**.
The [example site][] used throughout the Hugo docs includes three sections: "authors," "events," and "posts". The following illustrates both the source organization and the default URL structure for the rendered files:
@@ -1,31 +1,30 @@
---
title: Supported Content Formats
linktitle:
linktitle: Content Formats
description: Hugo uses the Blackfriday markdown parser for content files but also provides support for additional syntaxes (eg, Asciidoc) via external helpers.
date: 2017-01-10
publishdate: 2017-01-10
lastmod: 2017-01-10
categories: [content management]
tags: [markdown,asciidoc,mmark,content format]
weight: 10
weight: 20
draft: false
slug:
aliases: [/content/markdown-extras/,/content/supported-formats/,/content/markdown/]
aliases: [/content/markdown-extras/,/content/supported-formats/,/doc/supported-formats/]
toc: true
notesforauthors:
---
## Markdown
Markdown is the natively supported content format for Hugo and is rendered using the excellent [Blackfriday project][], a markdown parser written in Golang.
Markdown is the native content format for Hugo and is rendered using the excellent [Blackfriday project][], a blazingly fast parser written in Golang.
{{% note "Deeply Nested Lists" %}}
Blackfriday has a known issue [(#329)](https://github.com/russross/blackfriday/issues/329) with handling deeply nested lists, but there is a workaround. If you write lists in markdown, use 4 spaces (i.e., <kbd>tab</kbd>) rather than 2 to delimit nesting of lists.
Blackfriday has a known issue [(#329)](https://github.com/russross/blackfriday/issues/329) with handling deeply nested lists. Luckily, there is a workaround. Use 4-spaces (i.e., <kbd>tab</kbd>) rather than 2-space indentations to delimit nesting of lists.
{{% /note %}}
## Additional Content Formats
Since 0.14, Hugo has defined a new concept called _external helpers_. This means you can write your content using [Asciidoc][] or [reStructuredText][]. If you have files with associated extensions, Hugo will call external commands to generate the content ([see Hugo source code][]).
Since 0.14, Hugo has defined a new concept called _external helpers_. This means you can write your content using [Asciidoc][], [reStructuredText][], or [Org-mode][]. If you have files with associated extensions, Hugo will call external commands to generate the content ([see Hugo source code][]). The exception is Org-mode, which is parsed natively.
For example, for Asciidoc files, Hugo will try to call the **asciidoctor** or **asciidoc** command. This means that you will have to install the associated tool on your machine to be able to use these formats.
@@ -89,6 +88,7 @@ Hugo supports GitHub-flavored markdown's use of triple back ticks, as well as pr
[Daring Fireball: Markdown, John Gruber]: https://daringfireball.net/projects/markdown/
[developer tools]: /developer-tools/
[Markdown Tutorial]: http://www.markdowntutorial.com/
[Org-mode]: http://orgmode.org/
[Pygments]: http://pygments.org/
[reStructuredText]: http://docutils.sourceforge.net/rst.html
[see Hugo source code]: https://github.com/spf13/hugo/blob/77c60a3440806067109347d04eb5368b65ea0fe8/helpers/general.go#L65
@@ -5,9 +5,9 @@ description:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [table of contents, toc]
categories: [content management]
weight: 100
tags: [table of contents, toc]
weight: 130
draft: false
aliases: [/extras/toc/]
toc: false
+1 -2
View File
@@ -7,9 +7,8 @@ publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [taxonomies,metadata,front matter,terms]
categories: [content management]
weight: 60
weight: 80
draft: false
slug:
aliases: [/taxonomies/overview/,/taxonomies/usage/,/indexes/overview/,/doc/indexes/,/extras/indexes]
toc: true
notesforauthors:
+92 -7
View File
@@ -7,17 +7,13 @@ publishdate: 2017-02-01
lastmod: 2017-02-01
tags: [aliases,redirects,permalinks,urls]
categories: [content management]
weight: 90
weight: 110
draft: false
aliases: [/extras/permalinks/,/extras/aliases/,/content-management/permalinks-and-redirects/,/extras/urls/]
aliases: [/extras/permalinks/,/extras/aliases/,/content-management/permalinks-and-redirects/,/extras/urls/,/doc/redirects/,/doc/alias/,/doc/aliases/]
toc: true
needsreview: true
---
## Base URL
## URLs
## Permalinks
By default, content is laid out into the target `publishdir` (public)
@@ -59,6 +55,95 @@ The following is a list of values that can be used in a `permalink` definition i
## Aliases
For people migrating existing published content to Hugo, there's a good chance you need a mechanism to handle redirecting old URLs.
Luckily, redirects can be handled easily with _aliases_ in Hugo.
## Example
Given a post on your current Hugo site, with a path of:
``content/posts/my-awesome-blog-post.md``
... you create an "aliases" section in the frontmatter of your post, and add previous paths to that.
### TOML frontmatter
```toml
+++
...
aliases = [
"/posts/my-original-url/",
"/2010/01/01/even-earlier-url.html"
]
...
+++
```
### YAML frontmatter
```yaml
---
...
aliases:
- /posts/my-original-url/
- /2010/01/01/even-earlier-url.html
...
---
```
Now when you visit any of the locations specified in aliases, _assuming the same site domain_, you'll be redirected to the page they are specified on.
## Important Behaviors
1. *Hugo makes no assumptions about aliases. They also don't change based
on your UglyURLs setting. You need to provide absolute path to your webroot
and the complete filename or directory.*
2. *Aliases are rendered prior to any content and will be overwritten by
any content with the same location.*
## Multilingual example
On [multilingual sites](/content-management/multilingual/), each translation of a post can have unique aliases. To use the same alias across multiple languages, prefix it with the language code.
In `/posts/my-new-post.es.md`:
```yaml
---
aliases:
- /es/posts/my-original-post/
---
```
## How Hugo Aliases Work
When aliases are specified, Hugo creates a physical folder structure to match the alias entry, and, an html file specifying the canonical URL for the page, and a redirect target.
Assuming a baseURL of `mysite.tld`, the contents of the html file will look something like:
```html
<!DOCTYPE html>
<html>
<head>
<title>http://mysite.tld/posts/my-original-url</title>
<link rel="canonical" href="http://mysite.tld/posts/my-original-url"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="refresh" content="0; url=http://mysite.tld/posts/my-original-url"/>
</head>
</html>
```
The `http-equiv="refresh"` line is what performs the redirect, in 0 seconds in this case.
## Customizing
You may customize this alias page by creating an alias.html template in the
layouts folder of your site. In this case, the data passed to the template is
* Permalink - the link to the page being aliased
* Page - the Page data for the page being aliased
## Pretty URLs
By default, Hugo renders your content with "pretty" URLs. For example,
@@ -108,5 +193,5 @@ For example, if the `/post/first/` page contained a link with a relative URL of
[Content Organization]: /content-management/content-organization/
[flag from the command line]: /getting-started/basic-usage/
[sections]: /content-management/content-sections/
[sections]: /content-management/sections/
[site configuration]: /project-organization/configuration/
@@ -374,11 +374,11 @@ If you have questions leave a comment in the pull request. We are willing to ass
Thank you for reading this tutorial. Hopefully, we see you again on GitHub. There are plenty of [open issues](https://github.com/spf13/hugo/issues) on GitHub. Feel free to open an issue if you think you found a bug or you have a new idea to improve Hugo. We are happy to hear from you.
## Learning Git References
## Additional References for Learning Git
* [Codecademy's Free "Learn Git" Course][codecademy]
* [Code School and GitHub's Free "Try Git" Tutorial][trygit]
* [The Git Book][gitbook]
* [Codecademy's Free "Learn Git" Course][codecademy] (Free)
* [Code School and GitHub's "Try Git" Tutorial][trygit] (Free)
* [The Git Book][gitbook] (Free)
[codecademy]: https://www.codecademy.com/learn/learn-git
@@ -45,7 +45,7 @@ Documentation is an integral part of any open source project. The Hugo docs were
## Admonition Short Codes
**Admonitions** are a common in technical documentation. The most popular is that seen in [reStructuredTex Directives][sourceforge]. From the SourceForge documentation:
**Admonitions** are common directives in technical documentation. The most popular is that seen in [reStructuredTex Directives][sourceforge]. From the SourceForge documentation:
> Admonitions are specially marked "topics" that can appear anywhere an ordinary body element can. They contain arbitrary body elements. Typically, an admonition is rendered as an offset block in a document, sometimes outlined or shaded, with a title matching the admonition type. - [SourceForge][sourceforge]
+42 -5
View File
@@ -16,14 +16,13 @@ notesforauthors:
The [directory structure][] of a Hugo website&mdash;or more precisely, the source organization of files containing the website's content and templates&mdash;provides most of the configuration information that Hugo needs in order to statically generate a finished website.
Therefore, many websites may not need a configuration file. Hugo is designed to recognize certain typical usage patterns (and expects them, by default).
Because of Hugo's preference for sane defaults, many websites may not need a configuration file. Hugo is designed to recognize certain typical usage patterns (and even expects them by default).
## Configuration Lookup Order
Nevertheless, Hugo searches for a configuration file in the root of your website's source directory as a default behavior. First, it looks for a `./config.toml` file. If that's not present, it will seek a `./config.yaml` file,
followed by a `./config.json` file.
Hugo searches for a configuration file in the root of your website's source directory as a default behavior. First, it looks for a `./config.toml` file. If that's not present, it will seek a `./config.yaml` file, followed by a `./config.json` file.
In this `config` file, you can include precise directions to Hugo regarding how it should render your website, control your website's menus, and arbitrarily define site-wide parameters specific to your project.
In this `config` file, you can direct to Hugo as to how it should render your website, control your website's menus, and arbitrarily define site-wide parameters specific to your project.
## YAML Configuration
@@ -325,7 +324,45 @@ ignoreFiles = [ "\\.foo$", "\\.boo$" ]
```
The above is a list of regular expressions. Note that the backslash (`\`) character is escaped in this example to keep TOML happy.
## Configuration Format Specs
## Configure Blackfriday Rendering
[Blackfriday](https://github.com/russross/blackfriday) is Hugo's built-in
[Markdown](http://daringfireball.net/projects/markdown/) rendering engine.
Hugo typically configures Blackfriday with sane default values. These defaults should fit most use cases reasonably well.
However, if you have specific needs with respect to Markdown, Hugo exposes some of its Blackfriday behavior options for you to alter. The following table lists these Hugo options, paired with the corresponding flags from Blackfriday's source code ( [html.go](https://github.com/russross/blackfriday/blob/master/html.go) and [markdown.go](https://github.com/russross/blackfriday/blob/master/markdown.go)).
{{< bfconfig >}}
{{% note %}}
1. Blackfriday flags are **case sensitive** as of Hugo v0.15.
2. Blackfriday flags must be grouped under the `blackfriday` key and can be set on both the site level *and* the page level. Any setting on a page will override the site setting there. See [site configuration for more information](/content-management/front-matter/#override-global-blackfriday-configuration).
{{% /note %}}
{{% input "bf-config.toml" %}}
```toml
[blackfriday]
angledQuotes = true
fractions = false
plainIDAnchors = true
extensions = ["hardLineBreak"]
```
{{% /input %}}
{{% input "bf-config.yml" %}}
```yaml
blackfriday:
angledQuotes: true
fractions: false
plainIDAnchors: true
extensions:
- hardLineBreak
```
{{% /input %}}
## Specs for Configuration Formats
* [TOML Spec][]
* [YAML Spec][]
+1 -1
View File
@@ -599,7 +599,7 @@ git push
[quickinstall]: /getting-started/install-hugo/#quick-install
[releases]: https://github.com/spf13/hugo/releases
[robusttheme]: https://github.com/dim0627/hugo_theme_robust
[section]: /content-management/content-sections/
[section]: /content-management/sections/
[shortcodetemplates]: /templates/shortcode-templates/
[sitemenu]: /content-management/menus/
[templating]: /templates/
+2 -3
View File
@@ -5,11 +5,10 @@ description: Site builds, automated deployments, and popular hosting solutions.
date: 2016-11-01
publishdate: 2016-11-01
lastmod: 2016-11-01
tags: []
categories: [hosting and deployment]
tags: []
weight: 01
draft: false
aliases:
aliases: []
toc: false
notesforauthors:
---
@@ -1,6 +1,6 @@
---
title: Deployment with Rysnc
linktitle:
linktitle: Deployment with Rysnc
description:
date: 2017-02-01
publishdate: 2017-02-01
@@ -8,7 +8,7 @@ lastmod: 2017-02-01
categories: [hosting and deployment]
tags: [rysnc,deployment]
authors: [Adrien Poupin]
weight:
weight: 10
draft: false
aliases: [/tutorials/deployment-with-rsync/]
toc: true
@@ -8,7 +8,7 @@ lastmod: 2017-02-01
categories: [hosting and deployment]
tags: [wercker,deployment,github,git]
authors: [Arjen Schwarz, Samuel Debruyn]
toc: false
weight: 20
draft: false
aliases: [/tutorials/automated-deployments/]
toc: true
@@ -16,6 +16,8 @@ needsreview: false
notesforauthors:
---
## Goals
By the end of this guide, you will have completed the following:
* Creating a basic Hugo project and website
@@ -88,7 +90,7 @@ Once the website is build, t's a good idea to run the following command to start
hugo server --theme=herring-cove
```
If everything is fine, you should see something similar to the image below when you go to <localhost:1313> in your browser.
If everything is fine, you should see something similar to the image below when you go to <http://localhost:1313> in your browser.
![][1]
@@ -8,16 +8,13 @@ lastmod: 2017-02-04
categories: [hosting and deployment]
tags: [hosting,bitbucket,deployment,aerobatic]
authors: [Jason Gowans]
weight:
weight: 30
draft: false
toc: true
aliases: [/tutorials/hosting-on-bitbucket/]
needsreview: true
notesforauthors:
---
## Introduction
You can use [Bitbucket](https://bitbucket.org/) and [Aerobatic](https://www.aerobatic.com) to build, deploy, and host a Hugo website. Aerobatic is a static hosting service that integrates with Bitbucket and provides a free hosting tier.
## Assumptions
@@ -8,46 +8,36 @@ lastmod: 2017-02-01
categories: [hosting and deployment]
tags: [github,git,deployment,hosting]
authors: [Spencer Lyon, Gunnar Morling]
weight:
weight: 40
draft: false
toc: true
aliases: [/tutorials/github-pages-blog/]
needsreview: true
notesforauthors:
---
{{% note %}}
This hosting and deployment guide was originally contributed as a tutorial by [Spencer Lyon](http://spencerlyon.com/) and [Gunnar Morling](https://github.com/gunnarmorling/).
{{% /note %}}
## Introduction
## Assumptions
This tutorial describes how to deploy your Hugo based website to [GitHub pages](https://pages.github.com/).
The following sections are based on the assumption that you are working with a "Project Pages Site". This means that you'll have your Hugo sources and the generated HTML output within a single repository (in contrast, with a "User/Organization Pages Site", you'd have one repo for the sources and another repo for the published HTML files; refer to the [GitHub Pages docs](https://help.github.com/articles/user-organization-and-project-pages/) to learn more).
The following sections are based on the assumption that you are working with a "Project Pages Site".
This means that you'll have your Hugo sources and the generated HTML output within a single repository
(in contrast, with a "User/Organization Pages Site", you'd have one repo for the sources and another repo for the published HTML files;
refer to the [GitHub Pages docs](https://help.github.com/articles/user-organization-and-project-pages/) to learn more).
## Deployment via `/docs` Folder on Master Branch
## Deployment via _/docs_ folder on master branch
[As described](https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/#publishing-your-github-pages-site-from-a-docs-folder-on-your-master-branch) in the GitHub Pages docs, you can deploy from a folder called _docs_ on your master branch. This requires to change the Hugo publish directory in the site config (e.g. _config.toml_):
[As described](https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/#publishing-your-github-pages-site-from-a-docs-folder-on-your-master-branch) in the GitHub Pages docs, you can deploy from a folder called _docs_ on your master branch.
This requires to change the Hugo publish directory in the site config (e.g. _config.toml_):
```sh
publishDir: "docs"
```
publishDir: "docs"
After running `hugo`, push your master branch to the remote repo and choose the _docs_ folder as the website source of your repo (in your GitHub project, go to "Settings " -> "GitHub Pages" -> "Source" -> Select "master branch /docs folder"). If that option isn't enabled, you likely haven't pushed your _docs_ folder yet.
After running `hugo`, push your master branch to the remote repo and choose the _docs_ folder as the website source of your repo
(in your GitHub project, go to "Settings " -> "GitHub Pages" -> "Source" -> Select "master branch /docs folder").
If that option isn't enabled, you likely haven't pushed your _docs_ folder yet.
This is the simplest approach but requires the usage of a non-standard publish directory (GitHub Pages cannot be configured to use another directory than _docs_ currently). Also the presence of generated files on the master branch may not be to eveyone's taste.
This is the simplest approach but requires the usage of a non-standard publish directory
(GitHub Pages cannot be configured to use another directory than _docs_ currently).
Also the presence of generated files on the master branch may not be to eveyone's taste.
## Deployment via `gh-pages` Branch
## Deployment via gh-pages branch
Alternatively, you can deploy site through a separate branch called "gh_pages".
That approach is a bit more complex but has some advantages:
Alternatively, you can deploy site through a separate branch called "gh_pages". That approach is a bit more complex but has some advantages:
* It keeps sources and generated HTML in two different branches
* It uses the default _public_ folder
@@ -55,18 +45,27 @@ That approach is a bit more complex but has some advantages:
### Preparations
These steps only need to be done once (replace "upstream" with the name of your remote, e.g. "origin"):
These steps only need to be done once (replace "upstream" with the name of your remote; e.g., `origin`):
#### Add the Public Folder
First, add the _public_ folder to _.gitignore_ so it's ignored on the master branch:
echo "public" >> .gitignore
```bash
echo "public" >> .gitignore
```
#### Initialize Your `gh-pages` Branch
Then initialize the gh-pages branch as an empty [orphan branch](https://git-scm.com/docs/git-checkout/#git-checkout---orphanltnewbranchgt):
git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Initializing gh-pages branch"
git push upstream gh-pages
git checkout master
```bash
git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Initializing gh-pages branch"
git push upstream gh-pages
git checkout master
```
### Building and Deployment
@@ -78,12 +77,16 @@ Now check out the gh-pages branch into your _public_ folder, using git's [worktr
Regenerate the site using Hugo and commit the generated files on the gh-pages branch:
hugo
cd public && git add --all && git commit -m "Publishing to gh-pages" & cd ..
```bash
hugo
cd public && git add --all && git commit -m "Publishing to gh-pages" & cd ..
```
If the changes in your local gh-pages branch look alright, push them to the remote repo:
git push upstream gh-pages
```bash
git push upstream gh-pages
```
After a short while you'll see the updated contents on your GitHub Pages site.
@@ -91,7 +94,7 @@ After a short while you'll see the updated contents on your GitHub Pages site.
To automate these steps, you can create a script _scripts/publish_to_ghpages.sh_ with the following contents:
```
```sh
#!/bin/sh
DIR=$(dirname "$0")
@@ -126,16 +129,19 @@ cd public && git add --all && git commit -m "Publishing to gh-pages (publish.sh)
This will abort if there are pending changes in the working directory and also makes sure that all previously existing output files are removed.
Adjust the script to taste, e.g. to include the final push to the remote repository if you don't need to take a look at the gh-pages branch before pushing. Or adding `echo yourdomainname.com >> CNAME` if you set up for your gh-pages to use customize domain.
## Deployment with Git 2.4 and earlier
## Deployment with Git 2.4 and Earlier
The `worktree` command was only introduced in Git 2.5.
If you are still on an earlier version and cannot update, you can simply clone your local repo into the _public_ directory, only keeping the gh-pages branch:
The `worktree` command was only introduced in Git 2.5. If you are still on an earlier version and cannot update, you can simply clone your local repo into the _public_ directory, only keeping the gh-pages branch:
git clone .git --branch gh-pages public
```sh
git clone .git --branch gh-pages public
```
Having re-generated the site, you'd push back the gh-pages branch to your primary local repo:
cd public && git add --all && git commit -m "Publishing to gh-pages" && git push origin gh-pages
```sh
cd public && git add --all && git commit -m "Publishing to gh-pages" && git push origin gh-pages
```
The other steps are the same as with the worktree approach.
@@ -143,8 +149,8 @@ The other steps are the same as with the worktree approach.
As mentioned [in this GitHub's article](https://help.github.com/articles/user-organization-and-project-pages/), besides project pages, you may also want to host a user/organization page. Here are the key differences:
> - You must use the `username.github.io` naming scheme.
> - Content from the `master` branch will be used to build and publish your GitHub Pages site.
1. You must use the `username.github.io` naming scheme.
2. Content from the `master` branch will be used to build and publish your GitHub Pages site.
It becomes much simpler in that case: we'll create two separate repos, one for Hugo's content, and a git submodule with the `public` folder's content in it.
@@ -158,7 +164,7 @@ It becomes much simpler in that case: we'll create two separate repos, one for H
6. `git submodule add -b master git@github.com:<username>/<username>.github.io.git public`
7. Almost done: add a `deploy.sh` script to help you (and make it executable: `chmod +x deploy.sh`):
```
```sh
#!/bin/bash
echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"
@@ -186,11 +192,10 @@ cd ..
```
7. `./deploy.sh "Your optional commit message"` to send changes to `<username>.github.io` (careful, you may also want to commit changes on the `<your-project>-hugo` repo).
That's it! Your personal page is running at [http://username.github.io/](http://username.github.io/) (after up to 10 minutes delay).
That's it! Your personal page is running at [http://username.github.io/](http://username.github.io/)(after up to 10 minutes delay).
## Using a custom domain
## Using a Custom Domain
If you'd like to use a custom domain for your GitHub Pages site, create a file _static/CNAME_ with the domain name as its sole contents.
This will put the CNAME file to the root of the published site as required by GitHub Pages.
If you'd like to use a custom domain for your GitHub Pages site, create a file _static/CNAME_ with the domain name as its sole contents. This will put the CNAME file to the root of the published site as required by GitHub Pages.
Refer to the [official documentation](https://help.github.com/articles/using-a-custom-domain-with-github-pages/) for further information.
@@ -8,21 +8,19 @@ lastmod: 2016-06-23
categories: [hosting and deployment]
tags: [hosting,deployment,git,gitlab]
authors: [Riku-Pekka Silvola]
weight:
weight: 50
draft: false
toc: true
needsreview: true
needsreview: false
aliases: [/tutorials/hosting-on-gitlab/]
notesforauthors:
---
[GitLab](https://gitlab.com/) makes it incredibly easy to build, deploy, and host your Hugo website.
[GitLab](https://gitlab.com/) makes it incredibly easy to build, deploy, and host your Hugo website via their free GitLab Pages service, which provides [native support for Hugo, as well as numerous other static site generators](https://gitlab.com/pages/hugo).
## Assumptions
* Working familiarity with Git for version control
* Completion of the [Quick Start][quickstart]
* Completion of the Hugo [Quick Start][]
* A [GitLab account](https://gitlab.com/users/sign_in)
* A Hugo website on your local machine that you are ready to publish
@@ -34,6 +32,7 @@ cd your-hugo-site
In the root directory of your Hugo site, create a `.gitlab-ci.yml` file. The `.gitlab-ci.yml` configures the GitLab CI on how to build your page. Simply add the content below.
{{% input "gitlab-ci.yml" %}}
```yml
image: publysher/hugo
@@ -46,10 +45,11 @@ pages:
only:
- master
```
{{% /input %}}
## Push Your Hugo Website to GitLab
Next up, create a new repository on GitLab. It is *not* necessary to set the repository public. In addition, you might want to add `/public` to your .gitignore file, as there is no need to push compiled assets to GitLab.
Next, create a new repository on GitLab. It is *not* necessary to make the repository public. In addition, you might want to add `/public` to your .gitignore file, as there is no need to push compiled assets to GitLab or keep your output website in version control.
```bash
# initialize new git repository
@@ -65,14 +65,14 @@ git remote add origin https://gitlab.com/YourUsername/your-hugo-site.git
git push -u origin master
```
## Wait for Your Page to be Built
## Wait for Your Page to Build
That's it! You can now follow the CI agent building your page at https://gitlab.com/YourUsername/your-hugo-site/pipelines.
That's it! You can now follow the CI agent building your page at https://gitlab.com/<YourUsername>/<your-hugo-site>/pipelines.
After the build has passed, your new website is available at `https://YourUsername.gitlab.io/your-hugo-site/`.
After the build has passed, your new website is available at `https://<YourUsername>.gitlab.io/<your-hugo-site>/`.
## Next Steps
GitLab supports using custom CNAME's and TLS certificates. For more details on GitLab Pages, see [https://about.gitlab.com/2016/04/07/gitlab-pages-setup/](https://about.gitlab.com/2016/04/07/gitlab-pages-setup/).
GitLab supports using custom CNAME's and TLS certificates. For more details on GitLab Pages, see the [GitLab Pages setup documentation](https://about.gitlab.com/2016/04/07/gitlab-pages-setup/).
[quickstart]: /getting-started/quick-start/
[Quick Start]: /getting-started/quick-start/
+1 -1
View File
@@ -7,7 +7,7 @@ sitelink: http://2626.info/
tags:
- personal
- blog
image: 2626info-tn.png
image: 2626info.png
title: 2626.info
---
+1 -1
View File
@@ -10,7 +10,7 @@ tags:
- personal
- blog
- foundation
image: antzucaro-tn.jpg
image: antzucaro.jpg
title: Ant Zucaro
---
+1 -1
View File
@@ -10,6 +10,6 @@ tags:
- company
- blog
- bootstrap
image: apperneticioblog.png
image: apperneticioblog.png
title: Appernetic
---
+1 -1
View File
@@ -9,6 +9,6 @@ sourcelink: https://github.com/arresteddevops/ado-hugo
tags:
- podcast
- bootstrap
image: arresteddevops-tn.png
image: arresteddevops.png
title: arresteddevops
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://gitlab.com/acodispo/andrewcodispoti-com
tags:
- personal
- bootstrap
image: asc-tn.jpg
image: asc.jpg
title: Andrew S Codispoti
---
+1 -1
View File
@@ -8,7 +8,7 @@ sourcelink: https://github.com/astrochili/astrochili.github.io
tags:
- personal
- blog
image: astrochili-tn.png
image: astrochili.png
title: Roman Silin
---
+1 -1
View File
@@ -6,7 +6,7 @@ licenseLink: ""
sitelink: https://aydos.com/
tags:
- web applications
image: aydoscom.png
image: aydoscom.png
title: aydos.com
---
+1 -1
View File
@@ -7,7 +7,7 @@ sitelink: https://barricade.io
tags:
- company
- security
image: barricade-tn.png
image: barricade.png
title: Barricade
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: "https://github.com/bep/bepsays.com"
tags:
- personal
- blog
image: bepsays-tn.png
image: bepsays.png
title: bepsays.com
---
+1 -1
View File
@@ -7,7 +7,7 @@ tags:
- blog
- community
- interviews
image: bugtrackersio-tn.jpg
image: bugtrackersio.jpg
title: bugtrackers.io
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/camunda/blog.camunda.org
tags:
- company
- blog
image: camunda-blog.png
image: camunda-blog.png
title: Camunda Blog
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/camunda/camunda-docs-theme
tags:
- company
- documentation
image: camunda-docs.png
image: camunda-docs.png
title: Camunda Docs
---
+1 -1
View File
@@ -8,7 +8,7 @@ tags:
- bootstrap
- portfolio
- tech
image: cdnoverview-tn.png
image: cdnoverview.png
title: cdnoverview.com
---
+1 -1
View File
@@ -7,6 +7,6 @@ sourcelink: https://github.com/hughgrigg/chineseboost-articles
tags:
- learning
- education
image: chinese-grammar-tn.png
image: chinese-grammar.png
title: Chinese Grammar
---
+1 -1
View File
@@ -6,7 +6,7 @@ sitelink: http://www.chingli.com/
tags:
- personal
- blog
image: chingli-tn.jpg
image: chingli.jpg
title: <span lang="zh-CN">青砾</span> (chingli)
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/SamuelDebruyn/chipsncookies-site
tags:
- personal
- blog
image: chipsncookies-tn.png
image: chipsncookies.png
title: Chips 'n' Cookies
---
+1 -1
View File
@@ -7,6 +7,6 @@ sitelink: https://christianmendoza.me/
tags:
- personal
- profile
image: christianmendoza-tn.png
image: christianmendoza.png
title: christianmendoza.me
---
+1 -1
View File
@@ -7,6 +7,6 @@ sitelink: https://open.cinegy.com/
sourcelink:
tags:
- documentation
image: cinegyopen-tn.png
image: cinegyopen.png
title: Cinegy Open
---
+1 -1
View File
@@ -9,6 +9,6 @@ tags:
- fintech
- payments
- acquirer
image: clearhaus-tn.png
image: clearhaus.png
title: Clearhaus
---
+1 -1
View File
@@ -9,7 +9,7 @@ tags:
- company
- documentation
- foundation
image: cloudshark-tn.jpg
image: cloudshark.jpg
title: CloudShark
---
+1 -1
View File
@@ -9,6 +9,6 @@ sourcelink: https://github.com/igorkulman/coding-journal
tags:
- blog
- portfolio
image: codingjournal-tn.png
image: codingjournal.png
title: Coding Journal
---
+1 -1
View File
@@ -10,7 +10,7 @@ tags:
- academic
- blog
- kube
image: consequently.jpg
image: consequently.jpg
title: consequently.org
---
+1 -1
View File
@@ -8,7 +8,7 @@ tags:
- edtech
- technology
- blog
image: ctlcompiled-tn.png
image: ctlcompiled.png
title: CompilED at CTL
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/danmux/danmux-hugo
tags:
- personal
- blog
image: danmux-tn.jpg
image: danmux.jpg
title: Danmux
---
+1 -1
View File
@@ -7,7 +7,7 @@ tags:
- tech
- blog
- website
image: datapipelinearchitect-tn.jpg
image: datapipelinearchitect.jpg
title: Data Pipeline Architect
---
+1 -1
View File
@@ -10,7 +10,7 @@ tags:
- photography
- portfolio
- blog
image: davidepetilli-tn.jpg
image: davidepetilli.jpg
title: Davide Petilli
---
+1 -1
View File
@@ -9,7 +9,7 @@ tags:
- personal
- blog
- tech
image: davidrallen-tn.png
image: davidrallen.png
title: David Allen
---
+1 -1
View File
@@ -7,7 +7,7 @@ sitelink: https://davidyat.es/
tags:
- personal
- blog
image: davidyates-tn.png
image: davidyates.png
title: David Yates
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/peteraba/devmonk.com
tags:
- educational
- video
image: devmonk-tn.jpg
image: devmonk.jpg
title: devmonk
---
+1 -1
View File
@@ -8,7 +8,7 @@ sourcelink: https://github.com/dmitriid/dmitriid.com
tags:
- personal
- blog
image: dmitriid.com.png
image: dmitriid.com.png
title: dmitriid.com
---
+1 -1
View File
@@ -7,7 +7,7 @@ sourcelink: https://github.com/emilyhorsman/buttercup
tags:
- personal
- blog
image: emilyhorsman.com-tn.jpg
image: emilyhorsman.com.jpg
title: emilyhorsman.com
---
+1 -1
View File
@@ -11,6 +11,6 @@ tags:
- esolia
- rickcogley
- japan
image: esolia_com-tn.png
image: esolia_com.png
title: eSolia.com
---
+1 -1
View File
@@ -11,6 +11,6 @@ tags:
- esolia
- rickcogley
- japan
image: esolia_pro-tn.png
image: esolia_pro.png
title: eSolia.pro
---
+1 -1
View File
@@ -6,6 +6,6 @@ licenseLink: ""
sitelink: https://docs.eurie.io
tags:
- documentation
image: docs.eurie.io-tn.png
image: docs.eurie.io.png
title: eurie Desk docs
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/fale/fale.io
tags:
- personal
- blog
image: fale-tn.png
image: fale.png
title: fale.io
---
+1 -1
View File
@@ -7,7 +7,7 @@ sitelink: https://fixatom.com/
tags:
- personal
- blog
image: fixatom-tn.png
image: fixatom.png
title: Atom
---
+1 -1
View File
@@ -10,7 +10,7 @@ tags:
- community
- documentation
- translation
image: fxsitecompat-tn.png
image: fxsitecompat.png
title: Firefox Site Compatibility
---
+1 -1
View File
@@ -10,6 +10,6 @@ tags:
- projects
- music
- drawings
image: gntech-tn.png
image: gntech.png
title: gntech.se
---
+1 -1
View File
@@ -7,7 +7,7 @@ licenseLink: ""
sitelink: http://getgb.io
tags:
- project
image: gogb-tn.jpg
image: gogb.jpg
title: GoGB
---
+1 -1
View File
@@ -8,6 +8,6 @@ sitelink: http://www.goin5minutes.com/
sourcelink: https://github.com/arschles/go-in-5-minutes/tree/master/www
tags:
- screencasts
image: goin5minutes-tn.png
image: goin5minutes.png
title: Go in 5 minutes
---
+1 -1
View File
@@ -6,6 +6,6 @@ sourcelink: https://github.com/zerok/h10n.me
tags:
- personal
- profile
image: h10n.me-tn.png
image: h10n.me.png
title: h10n.me
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/spf13/hugo/tree/master/docs
tags:
- documentation
- bootstrap
image: hugo-tn.jpg
image: hugo.jpg
title: Hugo
---
+1 -1
View File
@@ -8,7 +8,7 @@ sourcelink: https://github.com/jamesacampbell/causes-and-effects-hugo
tags:
- personal
- blog
image: jamescampbell-tn.png
image: jamescampbell.png
title: jamescampbell.us
---
+1 -1
View File
@@ -7,6 +7,6 @@ sitelink: http://jorgennilsson.com/
tags:
- personal
- blog
image: jorgennilsson-tn.png
image: jorgennilsson.png
title: jorgennilsson.com
---
+1 -1
View File
@@ -10,7 +10,7 @@ tags:
- personal
- blog
- academic
image: kjhealy-tn.jpg
image: kjhealy.jpg
title: Kieran Healy
---
+1 -1
View File
@@ -9,7 +9,7 @@ tags:
- personal
- blog
- programming
image: klingt-net-tn.png
image: klingt-net.png
title: klingt net
---
+1 -1
View File
@@ -8,7 +8,7 @@ sitelink: http://www.launchcode5.com/
sourcelink: https://github.com/Launchcode5/launchcode5.com
tags:
- bootstrap
image: launchcode-tn.jpg
image: launchcode.jpg
title: Launchcode Software Studios
---
+1 -1
View File
@@ -8,7 +8,7 @@ sitelink: http://leepenney.com/
tags:
- personal
- website
image: leepenney-tn.jpg
image: leepenney.jpg
title: Lee Penney
---
+1 -1
View File
@@ -7,6 +7,6 @@ sitelink: https://www.leowkahman.com/
tags:
- personal
- blog
image: leowkahman-tn.png
image: leowkahman.png
title: Leow Kah Man - Tech Blog
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/LK4D4/lk4d4.darth.io
tags:
- personal
- blog
image: lk4d4-tn.jpg
image: lk4d4.jpg
title: lk4d4.darth.io
---
+1 -1
View File
@@ -10,6 +10,6 @@ tags:
- reviews
- education
- audiophile
image: losslesslife-tn.png
image: losslesslife.png
title: LosslessLife
---
+1 -1
View File
@@ -9,6 +9,6 @@ sourcelink: https://github.com/mariobox/Hugo-Source
tags:
- personal
- blog
image: mariosanchez-tn.jpg
image: mariosanchez.jpg
title: mariosanchez.org
---
+1 -1
View File
@@ -8,7 +8,7 @@ sourcelink: https://gitlab.com/mayan-edms/website
tags:
- paperless
- floss
image: mayan-edms-tn.png
image: mayan-edms.png
title: Mayan EDMS
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://bitbucket.org/mdwhatcott/michaelwhatcott.com-boilerplate/src
tags:
- personal
- blog
image: michaelwhatcott-tn.jpg
image: michaelwhatcott.jpg
title: michaelwhatcott
---
+1 -1
View File
@@ -7,7 +7,7 @@ sitelink: http://engineering.mongodb.com/
tags:
- engineering
- blog
image: mongodb-eng-tn.png
image: mongodb-eng.png
title: The Mongodb Engineering Journal
---
+1 -1
View File
@@ -9,6 +9,6 @@ tags:
- personal
- portfolio
- design
image: mtbhomer-tn.png
image: mtbhomer.png
title: mtbhomer.com
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/nickoneill/blog.nickoneill.name
tags:
- personal
- blog
image: nickoneill-tn.jpg
image: nickoneill.jpg
title: authenticgeek
---
+1 -1
View File
@@ -9,6 +9,6 @@ sourcelink: https://github.com/shivanshuag/shivanshuag.github.io/tree/new
tags:
- personal
- blog
image: ninjaducks-tn.png
image: ninjaducks.png
title: ninjaducks.in
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/ninya-io/ninya-io.github.io/tree/dev
tags:
- project
- blog
image: ninya-tn.jpg
image: ninya.jpg
title: ninya.io
---
+1 -1
View File
@@ -6,6 +6,6 @@ sitelink: http://nodesk.co/
tags:
- digital nomad
- web
image: nodesk-tn.png
image: nodesk.png
title: nodesk.co
---
+1 -1
View File
@@ -8,6 +8,6 @@ sourcelink: https://github.com/peterychuang/peterychuang.github.io/tree/source
tags:
- personal
- blog
image: novelist-xyz.png
image: novelist-xyz.png
title: Peter Y. Chuang
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/natefinch/npf
tags:
- personal
- blog
image: npf-tn.jpg
image: npf.jpg
title: npf.io
---
+1 -1
View File
@@ -9,7 +9,7 @@ sourcelink: https://github.com/peteraba/peteraba.com
tags:
- personal
- blog
image: peteraba-tn.jpg
image: peteraba.jpg
title: peteraba
---
+15
View File
@@ -0,0 +1,15 @@
---
date: 2017-02-21T12:26:26+01:00
description: "Corporate website a event management agency"
license: ""
licenseLink: ""
sitelink: https://promotive.es
tags:
- company
- corporate
- spanish
- event management
- bootstrap
thumbnail: /img/promotive.png
title: Promotive
---
+1 -1
View File
@@ -8,6 +8,6 @@ sourcelink: https://github.com/moonytheloony/Blog-Web
tags:
- personal
- blog
image: rahulrai_in-tn.png
image: rahulrai_in.png
title: My Take on Cloud
---

Some files were not shown because too many files have changed in this diff Show More