hugo/hugolib
Cameron Moore de7c32a1a8 tpl: Add template function namespaces
This commit moves almost all of the template functions into separate
packages under tpl/ and adds a namespace framework.  All changes should
be backward compatible for end users, as all existing function names in
the template funcMap are left intact.

Seq and DoArithmatic have been moved out of the helpers package and into
template namespaces.

Most of the tests involved have been refactored, and many new tests have
been written.  There's still work to do, but this is a big improvement.

I got a little overzealous and added some new functions along the way:

- strings.Contains
- strings.ContainsAny
- strings.HasSuffix
- strings.TrimPrefix
- strings.TrimSuffix

Documentation is forthcoming.

Fixes #3042
2017-04-30 10:56:38 +02:00
..
testdata hugolib: Clean up a benchmark 2017-01-03 17:08:59 +01:00
404_test.go hugolib: Add 404 test 2017-03-27 15:43:56 +02:00
alias.go tpl: Rework to handle both text and HTML templates 2017-04-02 23:13:10 +02:00
alias_test.go hugolib, output: Handle aliases for all HTML formats 2017-03-27 15:43:56 +02:00
author.go Revert the "standardize author data" 2016-09-18 19:16:39 +02:00
case_insensitive_test.go hugolib: More test helper cleanup 2017-02-18 07:53:25 +01:00
config.go Remove the now superflous defaultExtension 2017-03-27 15:43:56 +02:00
config_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
datafiles_test.go hugolib: Log WARNING only on unknown /data files 2017-04-18 18:47:37 +02:00
disableKinds_test.go hugolib: Add missing page kind to allKinds 2017-02-19 09:15:30 +01:00
embedded_shortcodes_test.go tpl: Rework to handle both text and HTML templates 2017-04-02 23:13:10 +02:00
gitinfo.go hugolib: Make missing GitInfo a WARNING 2017-04-26 11:03:12 +02:00
handler_base.go hugolib: Clean up redundant frontmatter error logging 2017-03-10 23:22:43 +01:00
handler_file.go hugolib: Remove siteWriter 2017-03-27 15:43:56 +02:00
handler_meta.go all: Refactor to nonglobal template handling 2017-01-10 01:36:59 +01:00
handler_page.go all: Add org-mode support 2017-02-21 08:46:03 +01:00
handler_test.go Remove the now superflous defaultExtension 2017-03-27 15:43:56 +02:00
hugo_info.go Automate the Hugo release process 2017-04-24 11:08:56 +02:00
hugo_sites.go all: Handle all errors 2017-04-06 20:35:26 +02:00
hugo_sites_build.go hugolib: Update site stats to take output formats into account 2017-03-27 15:43:56 +02:00
hugo_sites_build_test.go hugolib, i18n: Update tests with flat format and TOML files 2017-04-02 18:43:32 +02:00
media.go
menu.go hugolib: Finish menu vs section content pages 2017-02-20 22:20:02 +01:00
menu_old_test.go hugolib: More TODO fixes 2017-03-27 15:43:56 +02:00
menu_test.go tpl: Rework to handle both text and HTML templates 2017-04-02 23:13:10 +02:00
multilingual.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
node_as_page_test.go hugolib: Refactor/-work the permalink/target path logic 2017-03-27 15:43:56 +02:00
page.go hugolib: Prevent decoding pageParam in common cases 2017-04-22 22:40:20 +02:00
page_collections.go hugolib: Fix reloading corner cases for shortcodes 2017-03-11 20:21:06 +01:00
page_output.go hugolib: Must recreate Paginator on live-reload 2017-04-12 21:15:51 +02:00
page_paths.go hugolib: Avoid index.md in /index/index.html 2017-04-27 09:50:13 +02:00
page_paths_test.go hubolib: Narrow a test assertion 2017-04-27 13:00:24 +02:00
page_permalink_test.go Remove the now superflous defaultExtension 2017-03-27 15:43:56 +02:00
page_taxonomy_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
page_test.go Remove the now superflous defaultExtension 2017-03-27 15:43:56 +02:00
page_time_integration_test.go hugolib: Add temporary date parse test 2017-02-19 13:19:15 +01:00
pageCache.go
pageCache_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
pageGroup.go hugolib, source, tpl: Fix docs 2016-11-23 09:13:00 +01:00
pageGroup_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
pageSort.go hugolib: Enhance .Param to permit arbitrarily nested parameter references 2017-02-19 08:50:08 +01:00
pageSort_test.go hugolib: Enhance .Param to permit arbitrarily nested parameter references 2017-02-19 08:50:08 +01:00
pagesPrevNext.go huglib: Add even more missing GoDoc 2016-04-07 16:05:23 +02:00
pagesPrevNext_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
pagination.go hugolib: Refactor/-work the permalink/target path logic 2017-03-27 15:43:56 +02:00
pagination_test.go output: Rename HTMLType etc. to HTMLFormat 2017-03-27 15:43:56 +02:00
path_separators_test.go hugolib, output: Incorporate suffix and type in layout resolve 2017-03-27 15:43:56 +02:00
permalinker.go hugolib: Add optional outputFormat to Ref/RelRef 2017-04-04 23:09:01 +02:00
permalinks.go all: Refactor to nonglobal file systems 2017-02-04 11:37:25 +07:00
permalinks_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
robotstxt_test.go hugolib: More test helper cleanup 2017-02-18 07:53:25 +01:00
rss_test.go hugolib: More test helper cleanup 2017-02-18 07:53:25 +01:00
scratch.go tpl: Add template function namespaces 2017-04-30 10:56:38 +02:00
scratch_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
shortcode.go tpl: Rework to handle both text and HTML templates 2017-04-02 23:13:10 +02:00
shortcode_test.go tpl: Rework to handle both text and HTML templates 2017-04-02 23:13:10 +02:00
shortcodeparser.go all: Remove dead code 2016-10-13 13:51:16 +02:00
shortcodeparser_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
site.go hugolib: Fix handling of zero-length files 2017-04-23 22:46:01 +02:00
site_output.go hugolib: Final fix of rssURI deprecation 2017-04-10 21:26:55 +02:00
site_output_test.go hugolib, output: Do not lower case template names 2017-04-12 21:40:55 +02:00
site_render.go Render 404 in default language only 2017-04-30 10:40:37 +02:00
site_test.go hugolib: Avoid index.md in /index/index.html 2017-04-27 09:50:13 +02:00
site_url_test.go hubolib: Do not add missing trailing slash to command line baseURL 2017-04-07 20:18:31 +02:00
siteJSONEncode_test.go all: Refactor to nonglobal Viper, i18n etc. 2017-02-17 17:15:26 +01:00
sitemap.go hugolib: Fix some more Golint warnings 2016-03-23 10:10:28 +01:00
sitemap_test.go tpl: Rework to handle both text and HTML templates 2017-04-02 23:13:10 +02:00
taxonomy.go all: Refactor to nonglobal file systems 2017-02-04 11:37:25 +07:00
taxonomy_test.go hugolib: Refactor/-work the permalink/target path logic 2017-03-27 15:43:56 +02:00
template_engines_test.go hugolib: More test helper cleanup 2017-02-18 07:53:25 +01:00
template_test.go hugolib: Add section template baseof test case 2017-03-02 13:52:08 +01:00
testhelpers_test.go hugolib: Fix handling of zero-length files 2017-04-23 22:46:01 +02:00
translations.go hugolib: Remove unnecessary params 2017-03-08 12:28:56 +01:00