Bjørn Erik Pedersen
baa29f6534
output: Rework the base template logic
...
Extract the logic to a testable function and add support for custom output types.
Fixes #2995
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
c7c6b47ba8
hubolib: Pick layout per output format
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
08fa2b1124
hugolib: Fix layout lookup order for Render func
...
Will have to fix this in a better way later in relation to the non-renderable pages.
But this commit brings the Hugo Benchmark down to "only slightly slower" than master.
```
benchmark old ns/op new ns/op delta
BenchmarkHugo-4 10074504521 10071236251 -0.03%
benchmark old allocs new allocs delta
BenchmarkHugo-4 43623091 49271859 +12.95%
benchmark old bytes new bytes delta
BenchmarkHugo-4 9468322704 9725848376 +2.72%
```
Which is something we can work with.
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
6178238a0b
output: Speed up layout calculations
...
```
BenchmarkLayout-4 4883 497 -89.82%
benchmark old allocs new allocs delta
BenchmarkLayout-4 18 1 -94.44%
benchmark old bytes new bytes delta
BenchmarkLayout-4 1624 32 -98.03%
```
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
df95383914
hugolib: Speed up URL handling
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
a49bf8707b
hugolib: Remove siteWriter
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
d76e5f36b4
hugolib: Pull all alias handling into one file
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
ad8cea87f3
Refactor layout resolve to a descriptor/adapter pattern
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
4c2abe0015
Rename OutputType to OutputFormat
2017-03-27 15:43:56 +02:00
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
3ec5fc3504
hugolib, output: Incorporate suffix and type in layout resolve
...
And remove some now superflous and hard to maintain tests.
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
03122e51fa
hugolib: Revert to using Page as the render chan type
...
Changing it to PageOutput was a mistake. You may think that the increased parallelism should be a good thing.
But not so much with the increased lock contention and more complex concurrency model.
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
e5200ddaa4
hugolib: Remove the copying in the renderRSS
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
50c64415aa
hugolib, output: Add theme logic to LayoutHandler
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
348834d017
hugolib: Add a PageOutput wrapper for rendering
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
10de077164
hugolib: Use the new layout logic in Page
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
3bb52bf7bf
output: Move layout logic to the output package
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
d3d2c63dd9
output: Add output type
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
9262c5b32f
Exit -1 on ERROR in non-global logger
...
Fixes #3239
2017-03-27 10:55:29 +02:00
Bjørn Erik Pedersen
2bea9d0ca1
Revert "tplimpl: return an error on unsupported type in isSet"
...
This breaks the theme site and lots of themes, so we will have to thinkg a little harder about this one.
This reverts commit 74ea81b885
.
2017-03-26 20:09:08 +02:00
Darwin
1b92c8b713
Change RSS description from full .Content to .Summary
2017-03-25 22:58:41 +01:00
Bjørn Erik Pedersen
17b21e0af1
hugolib: Correctly identify "my_index_page.md"
...
The above example was earlier identified as a section page and not a regular page.
Fixes #3234
2017-03-25 19:57:01 +01:00
Anthony Fok
7f68e3199e
snapcraft: Bump version to 0.20-DEV
2017-03-25 02:55:10 -06:00
Anthony Fok
2ed75f3462
snapcraft: Add vendoring support
...
Also, build with go1.8, run "make test", and strip the binary.
Fixes #3226
2017-03-25 02:54:30 -06:00
digitalcraftsman
9d9ec1ddd9
docs: Add Hugo SFTP Upload to the tools section
...
/cc @rdwatters
2017-03-24 23:31:31 +01:00
Albert Nigmatzianov
9f0b02b898
commands: Fix case of createpath in new.go
2017-03-24 22:19:03 +01:00
Albert Nigmatzianov
a159feffb2
create: Delete redundant viper calls
...
Also make easier to read the code
2017-03-24 22:19:03 +01:00
Ryan Watters
d07ff9d221
docs: Remove dead links, consistent formatting...
...
This page was a real chore chore on the POC. In the event that a new doc site won't be approved by v20, this will at least clean up the broken links I found during my audit. I would like to eventually create this as a [data file](https://github.com/spf13/hugo/pull/2508#commitcomment-18705617 ) since md tables get unwieldy pretty quickly.
2017-03-22 21:32:31 +01:00
Prayag Verma
f1b1df5058
docs: Fix typo in templates/functions.md ( #3214 )
...
limitted → limited
2017-03-22 13:21:00 +05:00
Eamonn
559b4007f7
commands: Keep "." directories on cleanDestinationDir
...
Fixes #3208
2017-03-21 13:10:31 +01:00
Bharath M. Palavalli
5e191ccf4c
docs: Add bharathpalavalli.com to the showcase
2017-03-21 10:30:20 +01:00
Albert Nigmatzianov
d3cd68e656
parser: Improve TOML frontmatter parser performance
...
Difference between toml.Load(string(datum)) and
toml.LoadReader(bytes.NewReader(datum)):
benchmark old ns/op new ns/op delta
BenchmarkLoad-4 82068 78489 -4.36%
benchmark old allocs new allocs delta
BenchmarkLoad-4 494 493 -0.20%
benchmark old bytes new bytes delta
BenchmarkLoad-4 17009 16913 -0.56%
2017-03-20 09:02:35 +01:00
Ryan Watters
68f4cd829e
Removing .Site.Recent
...
Per forum:
https://discuss.gohugo.io/t/site-recent-deprecated-or-removed/5851/2
2017-03-19 19:41:22 -05:00
Bjørn Erik Pedersen
3fa7bc9c53
Revert "Add support for a flatter and simpler language file structure"
...
This reverts commit 0e75f6e7b1
.
2017-03-19 22:34:22 +01:00
Bjørn Erik Pedersen
3518de1057
Revert "vendor: Fix broken i18m definition"
...
This reverts commit 7c48ad57a9
.
2017-03-19 22:34:16 +01:00
Bjørn Erik Pedersen
7c48ad57a9
vendor: Fix broken i18m definition
2017-03-19 21:46:19 +01:00
Bjørn Erik Pedersen
0e75f6e7b1
Add support for a flatter and simpler language file structure
...
See https://github.com/nicksnyder/go-i18n/issues/62
See #2577
2017-03-19 21:23:48 +01:00
Bjørn Erik Pedersen
6eddb3e587
Revert "helpers: Add a Debug method to DistinctLogger"
...
Not needed.
This reverts commit 4382a8a6a0
.
2017-03-19 10:24:12 +01:00
Tibo Beijen
6e03c96a20
docs: Add tibobeijen.nl to site showcase
2017-03-18 21:54:54 +01:00
Bjørn Erik Pedersen
4382a8a6a0
helpers: Add a Debug method to DistinctLogger
2017-03-18 17:34:49 +01:00
Stefan Buynov
9dfb9c1445
Case insensitive translation of the 'more' tag when importing from Jekyll
2017-03-18 16:16:25 +01:00
Dan Callahan
c2ffdfab63
docs: Fix documentation of non-existent 'editor' config
2017-03-17 23:57:53 +01:00
Anthony Fok
a99661031a
docs: Change OS X to macOS in README and CONTRIBUTING
2017-03-15 07:58:58 -06:00
Albert Nigmatzianov
491d406881
docs: Fix CONTRIBUTING.md
2017-03-15 09:27:02 +01:00
Bjørn Erik Pedersen
d8923eb676
Update to new go-toml API
...
Closes #3142
2017-03-15 08:04:52 +01:00