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
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
691156c5ba
Use OS fs by default
...
Fixes #3032
2017-02-15 10:00:34 +01:00
Cameron Moore
5cc8b58907
tpl: Accept limit as interface in findRE func
...
Fixes #3018
2017-02-10 20:02:28 +07:00
Bjørn Erik Pedersen
2618cfbeaa
hugolib: Fix error for non-renderable HTML content with shortcodes
...
This commit re-introduces template lookup order that was accidently removed as
part of the template nonglobal refactoring.
Fixes #3021
2017-02-10 18:57:38 +07:00
Bjørn Erik Pedersen
a89fb86cdf
tpl: Must do a extra lookup of cloned base templates
...
See #2549
Fixes #3013
2017-02-07 10:43:30 +07:00
Bjørn Erik Pedersen
c71e1b106e
all: Refactor to nonglobal file systems
...
Updates #2701
Fixes #2951
2017-02-04 11:37:25 +07:00
Alan Orth
95ad3ad2fa
tpl: Improve generation of OpenGraph date tags
...
Allow all nodes/pages to use date-related OpenGraph meta tags, not
only sites which are using the as-of-yet unfinished .Site.Authors
functionality.
Improve compliance of tags with Facebook's OpenGraph docs for the
"website" and "article" types[0][1]. Also, use the proper tag for
modification date (og:update_time vs article:modified_time).
Generate date published using either .PublishDate or .Date, and use
.Lastmod for modification date, which can use the new enableGitInfo
functionality from Hugo 0.18, but seamlessly falls back to .Date if
the site does not have this enabled/supported.
[0] https://developers.facebook.com/docs/reference/opengraph/object-type/website/
[1] https://developers.facebook.com/docs/reference/opengraph/object-type/article/
2017-01-23 21:31:30 +07:00
Cameron Moore
3ac1b9fe33
tpl: Fix deadlock in cached partials
...
Cached partials that contained cached partials would create a deadlock.
Fixes #2935
2017-01-18 10:30:22 +01:00
Bjørn Erik Pedersen
85c7578313
tpl: Fix broken benchmarks
...
But that did not explain issue #2935 :
```
BenchmarkPartial-4 200000 6452 ns/op 1040 B/op 30 allocs/op
BenchmarkPartialCached-4 500000 4104 ns/op 544 B/op 14 allocs/op
BenchmarkPartialCachedVariants-4 500000 3398 ns/op 624 B/op 17 allocs/op
```
2017-01-14 12:39:52 +01:00
Brad Peabody
db33a33e61
Show full template error
2017-01-11 09:56:03 +01: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
Mathias Biilmann
2989c38245
tpl: Add truncate template function
...
This commit adds a truncate template function for safely truncating text without
breaking words. The truncate function is HTML aware, so if the input text is a
template.HTML it will be truncated without leaving broken or unclosed HTML tags.
{{ "this is a very long text" | truncate 10 " ..." }}
{{ "With [Markdown](/markdown) inside." | markdownify | truncate 10 }}
2017-01-06 10:42:32 +01:00
Anthony Fok
19b6fdf2b1
tpl: Fix Unix time test case in TestDateFormat()
...
Fixes #2855
2017-01-03 23:43:17 +01:00
Nishanth Shanmugham
cabc6b3186
tpl: Add now function
...
Add a now template function that returns the current time as time.Time.
Also, update related docs.
2017-01-01 02:50:46 +01:00
digitalcraftsman
02d6f5320f
tpl: Use HTTPS in Google Analytics template
...
Fixes #2858
2016-12-31 12:43:33 +01:00
Bjørn Erik Pedersen
bc060ee1c9
tpl: Update dateFormat test expectations for epoch values
...
As `Cast` now supports `int` inputs.
2016-12-25 14:53:34 +01:00
Tristan Rice
d055862a41
tpl: Fix crash when using imageConfig
...
defaultImageConfigCache is now initialized statically instead of relying on it
being initialized in the reset function.
Fixes #2806
2016-12-25 13:43:50 +01:00
Cameron Moore
34c87421b8
tpl: Update getenv to accept interface{} params
...
Updates #2822
2016-12-23 09:51:03 +01:00
Cameron Moore
29caaddce6
tpl: Update title to accept interface{} params
...
Updates #2822
2016-12-23 09:51:03 +01:00
Cameron Moore
661d64c46a
tpl: Update upper to accept interface{} params
...
Updates #2822
2016-12-23 09:51:03 +01:00
Cameron Moore
4e5b4ac504
tpl: Update lower to accept interface{} params
...
Updates #2822
2016-12-23 09:51:03 +01:00
Cameron Moore
6b8422bb35
tpl: Update hasPrefix to accept interface{} params
...
Updates #2822
2016-12-23 09:51:03 +01:00
Bjørn Erik Pedersen
a3a67163f9
hugolib: Enable override of theme base template only
...
This commit fixes the base template lookup order to match the behaviour of regular templates.
```
1. <current-path>/<template-name>-baseof.<suffix>, e.g. list-baseof.<suffix>.
2. <current-path>/baseof.<suffix>
3. _default/<template-name>-baseof.<suffix>, e.g. list-baseof.<suffix>.
4. _default/baseof.<suffix>
For each of the steps above, it will first look in the project, then, if theme is set,
in the theme's layouts folder.
```
Fixes #2783
2016-12-15 21:35:38 +01:00
Bjørn Erik Pedersen
7862de91de
tpl: Add a querify test case that is actually and URL
...
See #2780
2016-12-13 00:16:09 +01:00
Bjørn Erik Pedersen
5b1eee44c6
tpl: Avoid repeating the same test case in TestMD5 and TesSHA*
2016-12-05 00:27:49 +01:00
digitalcraftsman
0f6c73cf2e
tpl: Add sha256 template function
...
Fixes #2742
2016-12-04 15:03:52 +01:00
Bjørn Erik Pedersen
046320d3f4
tpl: Fix params case issue with nested template funcs
...
Fixes #2740
2016-11-27 19:02:43 +01:00
Victor Kropp
dbb0c1cfc9
hugolib: Add shortcode for Instagram
2016-11-23 20:28:42 +01:00
Bjørn Erik Pedersen
139585f84a
tpl: Simplify
2016-11-23 18:53:50 +01:00
Bjørn Erik Pedersen
c33eb93548
tpl: Add some missing test cases
2016-11-23 10:37:09 +01:00
Bjørn Erik Pedersen
174f97a9dd
tpl: Fix spelling in test
2016-11-23 09:17:47 +01:00
bogem
7665dd239e
tpl: Drop an else block in checkCondition
...
Fix golint warning: tpl/template_funcs.go:853:10: if block ends with a
return statement, so drop this else and outdent its block
See #2014
2016-11-23 09:13:00 +01:00