Bjørn Erik Pedersen
0aeadfd02d
tplimpl: Add test with failing partial
...
Main motivation to see that the containing template name is included in the error message name.
It is.
2017-04-02 12:06:21 +02:00
Bjørn Erik Pedersen
5c5efa03d2
tpl: Rework to handle both text and HTML templates
...
Before this commit, Hugo used `html/template` for all Go templates.
While this is a fine choice for HTML and maybe also RSS feeds, it is painful for plain text formats such as CSV, JSON etc.
This commit fixes that by using the `IsPlainText` attribute on the output format to decide what to use.
A couple of notes:
* The above requires a nonambiguous template name to type mapping. I.e. `/layouts/_default/list.json` will only work if there is only one JSON output format, `/layouts/_default/list.mytype.json` will always work.
* Ambiguous types will fall back to HTML.
* Partials inherits the text vs HTML identificator of the container template. This also means that plain text templates can only include plain text partials.
* Shortcode templates are, by definition, currently HTML templates only.
Fixes #3221
2017-04-02 11:37:30 +02:00
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
4923273688
tplimpl: Fix lookup with non-standard layout folder
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
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
dbb83f925a
hugolib: Read default output formats from site config
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
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
digitalcraftsman
5d0748ce51
tpl: Add union template func
2017-03-12 23:04:12 +01:00
Albert Nigmatzianov
48120ccfd2
all: Fix some govet complaints
2017-03-09 14:18:12 +01:00
Cameron Moore
45b9d7223a
tplimpl: Add built-in print funcs to FuncMap
...
Add print, printf, and println to the Hugo FuncMap so that they are
accessible to the apply template func.
Updates #3139
2017-03-09 00:21:55 +01:00
Cameron Moore
74ea81b885
tplimpl: return an error on unsupported type in isSet
...
Fixes #3092
2017-03-02 00:11:10 +01:00
digitalcraftsman
e37e3dcc04
tpl: Add title meta tag to twitter card template
...
Fixes #3095
2017-02-25 09:53:25 +01:00
Alan Orth
eb27c47fc5
tpl: Use og:updated_time OpenGraph tag on nodes
...
A previous commit greatly improved the OpenGraph tags generated by
Hugo's internal opengraph template, but there was a minor error in
the fix. Nodes are of type "website" and according to the Facebook
docs they should use og:updated_time.
See: https://github.com/spf13/hugo/pull/2979
See: https://developers.facebook.com/docs/reference/opengraph/object-type/website/
2017-02-21 14:41:09 +01:00
Bjørn Erik Pedersen
2cbdd65330
tpl, hugolib: Fix live-reload of non-renderable content pages
...
Fixes #3062
2017-02-21 13:56:20 +01:00
Alan Orth
4e77c8717b
tpl: Remove twitter:domain tag from internal shortcode
...
It seems this metadata tag is no longer used by Twitter, as it has
been removed from their Cards Markup Tag Reference since at least
2013 according to a post on the W3 mailing list.
See: https://dev.twitter.com/cards/markup
See: https://lists.w3.org/Archives/Public/www-validator/2013Oct/0025.html
2017-02-21 13:24:44 +01:00
Bjørn Erik Pedersen
bdc02edfa8
tplimpl: Fix issue with recursive templates
...
Fixes #2927
2017-02-18 09:08:40 +01:00
Cameron Moore
10c13f5d79
hugolib: Make RSS item limit configurable
...
Add a new rssLimit site configuration option with default of 15. Prior
to this fix, you could create your own RSS feed to override the default
limit of 15, but we still had a hardcoded limit of 50 items set in
`hugolib.renderRSS()`.
With this option in place, the `range first 15 .Data.Pages` logic is no
longer hardcoded into the embedded RSS template.
Because the size of the slice passed to the template is now limited to
rssLimit instead of 50, this commit is a breaking change for sites
with a custom RSS template that expects more than 15 items.
Fixes #3035
2017-02-17 19:53:08 +01:00
Cameron Moore
d3abb93cc7
tplimpl: Fix instagram shortcode panic on invalid ID
...
Instagram doesn't return a valid JSON response when the requested ID is
invalid or not found.
Fixes #3048
2017-02-17 17:50:37 +01:00
Bjørn Erik Pedersen
4b3ca38b2e
tplimpl: Fix data race in resGetResource
...
Fixes #3045
2017-02-17 17:15:26 +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