hugo/tpl/collections
Bjørn Erik Pedersen eb42774e58
Add support for a content dir set per language
A sample config:

```toml
defaultContentLanguage = "en"
defaultContentLanguageInSubdir = true

[Languages]
[Languages.en]
weight = 10
title = "In English"
languageName = "English"
contentDir = "content/english"

[Languages.nn]
weight = 20
title = "På Norsk"
languageName = "Norsk"
contentDir = "content/norwegian"
```

The value of `contentDir` can be any valid path, even absolute path references. The only restriction is that the content dirs cannot overlap.

The content files will be assigned a language by

1. The placement: `content/norwegian/post/my-post.md` will be read as Norwegian content.
2. The filename: `content/english/post/my-post.nn.md` will be read as Norwegian even if it lives in the English content folder.

The content directories will be merged into a big virtual filesystem with one simple rule: The most specific language file will win.
This means that if both `content/norwegian/post/my-post.md` and `content/english/post/my-post.nn.md` exists, they will be considered duplicates and the version inside `content/norwegian` will win.

Note that translations will be automatically assigned by Hugo by the content file's relative placement, so `content/norwegian/post/my-post.md` will be a translation of `content/english/post/my-post.md`.

If this does not work for you, you can connect the translations together by setting a `translationKey` in the content files' front matter.

Fixes #4523
Fixes #4552
Fixes #4553
2018-04-02 08:06:21 +02:00
..
apply.go tpl/collections: Add Pages support to Intersect and Union 2017-07-03 21:48:03 +02:00
apply_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
collections.go tpl/collections: Seed random on init only 2018-01-27 18:51:12 +01:00
collections_test.go Add support for a content dir set per language 2018-04-02 08:06:21 +02:00
index.go tpl: Add template function namespaces 2017-04-30 10:56:38 +02:00
index_test.go all: gofmt -s 2017-08-07 20:03:15 +02:00
init.go hugolib: Implement "related content" 2017-09-06 00:20:02 +02:00
init_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
reflect_helpers.go tpl/collections: Add Pages support to Intersect and Union 2017-07-03 21:48:03 +02:00
sort.go Run gofmt to get imports in line vs gohugoio/hugo 2017-06-13 19:12:10 +02:00
sort_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
where.go tpl/collections: Fix intersect on []interface{} handling 2017-07-28 07:21:21 +02:00
where_test.go tpl/collections: Fix intersect on []interface{} handling 2017-07-28 07:21:21 +02:00