Bjørn Erik Pedersen
6bf010fed4
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
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
c8fff9501d
Implement the first generic JSON output testcase
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
f091fc23ed
hugolib: Add basic setup for output def per Kind
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
a8244658f7
hugolib: Put back taxonomy term paginator logic lost in rebase
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
254cd89c8e
hugolob: A first incorporation of output types in rendering
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
c4989c39f1
Add MediaType and a crude implementation
...
See #2828
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
2f2ea42c09
hugolib: Fix reloading corner cases for shortcodes
...
This commit fixes two different, but related issues:
1) Live-reload when a new shortcode was defined in the content file before the shortcode itself was created.
2) Live-reload when a newly defined shortcode changed its "inner content" status.
This commit also improves the shortcode related error messages to include the full path to the content file in question.
Fixes #3156
2017-03-11 20:21:06 +01:00
Albert Nigmatzianov
48120ccfd2
all: Fix some govet complaints
2017-03-09 14:18:12 +01:00
Albert Nigmatzianov
4bfa189031
hugolib: Remove unnecessary params
...
Found by github.com/mvdan/unparam
2017-03-08 12:28:56 +01:00
Anton Staaf
22c89dcb6c
hugolib: Fix HugoSites.createMissingPages
...
Previously it would only check for existing KindTaxonomyTerm pages
if the taxonomy had any terms defined. So for a taxonomy with no terms
but a taxonomy terms page it would generate a second empty terms page.
2017-03-04 21:37:52 +01:00
Bjørn Erik Pedersen
9671162a22
hugolib: Make sure that empty terms lists are still created
...
Fixes #2977
2017-03-01 17:07:38 +01:00
Bjørn Erik Pedersen
c1425a166d
hugolib: Fix preserveTaxonomyNames regression
...
Fixes #3070
2017-02-23 10:09:42 +01:00
Bjørn Erik Pedersen
13972d6c83
hugolib: Cleanup the Goroutine count calculation
2017-02-21 18:56:56 +01:00
bogem
7e0fa13faa
Get rid of some viper.Get* calls
...
Enforce usage of PathSpec
Fixes #3060
Updates #2728
2017-02-20 08:10:13 +01:00
Bjørn Erik Pedersen
6d2281c8ea
hugolib: Add disableKinds option
...
Fixes #2534
2017-02-18 22:53:23 +01:00
Bjørn Erik Pedersen
4493e8ed9f
hugolib: Fix issue with taxonomies when only some have content page
...
Fixes #2992
2017-02-18 08:37:11 +01:00
Bjørn Erik Pedersen
77cbe4d60b
tplimpl: Refactor imageConfig into a struct
...
Updates #2701
2017-02-17 17:15:26 +01:00
Bjørn Erik Pedersen
c507e2717d
tpl: Refactor package
...
Now:
* The template API lives in /tpl
* The rest lives in /tpl/tplimpl
This is bound te be more improved in the future.
Updates #2701
2017-02-17 17:15:26 +01:00
Bjørn Erik Pedersen
93ca7c9e95
all: Refactor to nonglobal Viper, i18n etc.
...
This is a final rewrite that removes all the global state in Hugo, which also enables
the use if `t.Parallel` in tests.
Updates #2701
Fixes #3016
2017-02-17 17:15:26 +01:00
Bjørn Erik Pedersen
c71e1b106e
all: Refactor to nonglobal file systems
...
Updates #2701
Fixes #2951
2017-02-04 11:37:25 +07:00
Bjørn Erik Pedersen
d6000a208c
all: Refactor to nonglobal template handling
...
Updates #2701
2017-01-10 01:36:59 +01:00
Bjørn Erik Pedersen
45e3ed517a
all: Refactor to non-global logger
...
Note that this looks like overkill for just the logger, and that is correct,
but this will make sense once we start with the template handling etc.
Updates #2701
2017-01-07 17:06:35 +01:00
magikstm
01ee525f47
hugolib: Correct usage of "shortcode" in error messages
2017-01-05 15:40:28 +01:00
Bjørn Erik Pedersen
bcb3ef7413
hugolib: Fix preserveTaxonomyNames regressions
...
Fixes #2809
2016-12-28 13:44:55 +01:00
Bjørn Erik Pedersen
88b5bbd532
hugolib: Fix IsTranslated for "old" node types
...
The new logic for creating Page objects from old node types
didn't include itself in the translation logic, so
`IsTranslated` returned falsely false for sites with only two languages.
The `AllTranslations` method also returned too few pages in that case.
This commit fixes that.
Fixes #2812
2016-12-27 12:01:54 +01:00
Bjørn Erik Pedersen
15622c80ee
hugolib: Remove superfluous assignment
2016-12-02 16:09:18 +01:00
Bjørn Erik Pedersen
2f026ab3f3
hugolib: Make RawContent raw again
...
This was a regression introduced in Hugo 0.17.
Fixes #2601
2016-12-01 17:29:49 +01:00
Bjørn Erik Pedersen
4360452001
hugolib: Simplify
2016-11-23 18:32:17 +01:00
Bjørn Erik Pedersen
0a0db9cd25
hubolib: Simplify map range
2016-11-23 16:46:16 +01:00
Bjørn Erik Pedersen
ff2498ee89
Remove ShowPlan
...
It is out of sync with reality, has some disabled tests, and the cost
of getting it up-to-date is too high to be worth it.
2016-11-23 16:35:49 +01:00
Bjørn Erik Pedersen
0eb5f54d30
node to page: Fix site pages sort
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
976f8f84bf
node to page: Fixe index page translation issues
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
a843d5d3bb
node to page: Final TODO-fixes
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
99d11386a7
node to page: Fix the Page copy()
...
By embeding the init sync.Once var in a pointer so we can reset it when we copy the page.
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
62e9e7e6ba
node to page: Misc. TODO-fixes
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
c8d3124dde
node to page: Remove Node
...
And misc. TODO-fixes
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
9347084d61
node to page: Make Kind a string
...
Having a custom string type isn't worth it when it doesn't work
with `where`, `eq` etc.
Fixes #2689
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
9fba2a30a9
node to page: Rename PageType to Kind
...
And embed that on Page.
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
487b210fb8
node to page: Handle Date and Lastmod
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
c80308e6b3
node to page: Add Pages to Page
...
As an alias to .Data.Pages for home page etc.
Also renamte NodeType to PageType and make it a string so it can be used in `where`.
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
063b78d2ec
node to page: Make Nodes into Pages
...
* `.Site.Pages` now contains all page types, including sections etc.
* `.Data.Pages` will also contain "node type" pages where relevant.
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
88972b0d5b
node to page: Refactor the build process
...
To make it easier to follow and understand.
Both building and rebuilding now follow a four step flow:
1. Init
2. Process
3. Assemble
4. Render
And now there are only one Build method, used for both builds and rebuilds.
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
d3d3863c05
node to page: Add all nodes to sitemap
...
Updates #2297
Fixes #1303
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
7cc637e97a
node to page: Do not create section node for root
...
Because that will overwrite the home page, which is bad.
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
503fb29953
node to page: Get Rebuild up to speed
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
94ea12ebcf
node to page: Remove unused code
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
bde1bfd34a
node to page: Handle aliases, 404, robots.txt, sitemap
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
ec2d502b4f
node to page: Handle translations
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
698b994f71
node to page: Fix the page collections
...
Updates #2297
2016-11-22 09:57:03 +01:00
Bjørn Erik Pedersen
3ff25b37a3
node to page: Handle RSS
...
Updates #2297
2016-11-22 09:57:03 +01:00