shithub: hugo

Download patch

ref: 6bf010fed432e5574e19fd2946ee6397d895950e
parent: c8fff9501d424882a42f750800d9982ec47df640
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Thu Mar 9 14:19:29 EST 2017

hugolib: Refactor/-work the permalink/target path logic

This is a pretty fundamental change in Hugo, but absolutely needed if we should have any hope of getting "multiple outputs" done.

This commit's goal is to say:

* Every file target path is created by `createTargetPath`, i.e. one function for all.
* That function takes every page and site parameter into account, to avoid fragile string parsing to uglify etc. later on.
* The path creation logic has full test coverage.
* All permalinks, paginator URLs etc. are then built on top of that same logic.

Fixes #1252
Fixes #2110
Closes #2374
Fixes #1885
Fixes #3102
Fixes #3179
Fixes #1641
Fixes #1989