Bjørn Erik Pedersen
42a4f6f9cb
tplimpl: Fix map data race in URLLock
2017-03-31 10:40:33 +02:00
Bjørn Erik Pedersen
79b34c2f1e
tplimpl: Fix deadlock in getJSON
...
Fixes #3211
2017-03-31 09:17:03 +02:00
Bjørn Erik Pedersen
3c6b16d5a2
vendor: Update fsnotify with several Linux-fixes
2017-03-29 13:30:31 +02:00
Bjørn Erik Pedersen
87b3cd4655
hugolib, helpers: Reduce log level to WARN on .Render for non-regular pages
...
We will eventually support all types in the Render method.
2017-03-29 08:08:45 +02:00
Bjørn Erik Pedersen
5989c4d464
helpers, output: Fix spelling
2017-03-28 01:19:46 +02:00
Bjørn Erik Pedersen
af55ec7661
hugolib, output: Gofmt
2017-03-28 01:18:15 +02:00
Bjørn Erik Pedersen
f2fbf0b2ea
media: Add some more relevant MIME types
2017-03-28 00:09:25 +02:00
Bjørn Erik Pedersen
4923273688
tplimpl: Fix lookup with non-standard layout folder
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
930a3df1b7
hugolib, output: Restrict Render to regular Pages
...
Using it for list pages doesn't work and has potential weird side-effects.
The user probably meant to range over .Site.ReqularPages, and that is now marked clearly in the log.
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
e49a2b83ad
hugolib: Fix Render layouts for list pages
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
9a0aa5fdbe
hugolib: Wrap pageOutput create in sync.Once
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
0aaf3c56a5
hugolib: Fix panic for Permalink in 404 etc. templates
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
ee4a33b14f
commands: Fix broken commandeer
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
09c88e84d1
output: Rename HTMLType etc. to HTMLFormat
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
24c1770288
hugolib: Revise paginator alias path handling
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
b7ed67d425
hugolib: More TODO fixes
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
3cd97951f1
hugolib, layout: Consolidate RSS template handling
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
ee75e2999b
Remove the now superflous defaultExtension
...
And some other unsed fields and methods.
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
15b64d51da
all: Propagate baseURL error to the callers
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
148fedd227
hugolib, tplimpl: Use OutputFormats to create atom links
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
ec01c3a7f0
hugolib: Add 404 test
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
5761b93c96
hugolib, output: Fix RSSLink vs output formats
...
And remove the now superflous setPageURLs method.
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
87188496fb
hugolib, output: Handle aliases for all HTML formats
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
0c4701f0ef
hugolib: Update site stats to take output formats into account
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
d851d6b98f
Add custom protocol support in Permalink
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
8bcc08e3b0
media, output: Add Calendar type
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
dbb83f925a
hugolib: Read default output formats from site config
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
4aaed87dd9
hugolib, media: Make the MediaType available to the templates
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
c7dbee2321
hugolib, output: Add Rel to the output format
...
To make it super-easy to create rel-links.
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
29d3778ba1
docs: Move the rough custom output formats spec to docs
...
This isn't meant to be the final useer docs on this feature!
2017-03-27 15:43:56 +02:00
Bjørn Erik Pedersen
1b2be5e878
hugolib: Add OutputFormats with permalinks to Page
2017-03-27 15:43:56 +02:00
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