hugo/hugolib
Bjørn Erik Pedersen 3cdf19e9b7
Implement Page bundling and image handling
This commit is not the smallest in Hugo's history.

Some hightlights include:

* Page bundles (for complete articles, keeping images and content together etc.).
* Bundled images can be processed in as many versions/sizes as you need with the three methods `Resize`, `Fill` and `Fit`.
* Processed images are cached inside `resources/_gen/images` (default) in your project.
* Symbolic links (both files and dirs) are now allowed anywhere inside /content
* A new table based build summary
* The "Total in nn ms" now reports the total including the handling of the files inside /static. So if it now reports more than you're used to, it is just **more real** and probably faster than before (see below).

A site building  benchmark run compared to `v0.31.1` shows that this should be slightly faster and use less memory:

```bash
▶ ./benchSite.sh "TOML,num_langs=.*,num_root_sections=5,num_pages=(500|1000),tags_per_page=5,shortcodes,render"

benchmark                                                                                                         old ns/op     new ns/op     delta
BenchmarkSiteBuilding/TOML,num_langs=1,num_root_sections=5,num_pages=500,tags_per_page=5,shortcodes,render-4      101785785     78067944      -23.30%
BenchmarkSiteBuilding/TOML,num_langs=1,num_root_sections=5,num_pages=1000,tags_per_page=5,shortcodes,render-4     185481057     149159919     -19.58%
BenchmarkSiteBuilding/TOML,num_langs=3,num_root_sections=5,num_pages=500,tags_per_page=5,shortcodes,render-4      103149918     85679409      -16.94%
BenchmarkSiteBuilding/TOML,num_langs=3,num_root_sections=5,num_pages=1000,tags_per_page=5,shortcodes,render-4     203515478     169208775     -16.86%

benchmark                                                                                                         old allocs     new allocs     delta
BenchmarkSiteBuilding/TOML,num_langs=1,num_root_sections=5,num_pages=500,tags_per_page=5,shortcodes,render-4      532464         391539         -26.47%
BenchmarkSiteBuilding/TOML,num_langs=1,num_root_sections=5,num_pages=1000,tags_per_page=5,shortcodes,render-4     1056549        772702         -26.87%
BenchmarkSiteBuilding/TOML,num_langs=3,num_root_sections=5,num_pages=500,tags_per_page=5,shortcodes,render-4      555974         406630         -26.86%
BenchmarkSiteBuilding/TOML,num_langs=3,num_root_sections=5,num_pages=1000,tags_per_page=5,shortcodes,render-4     1086545        789922         -27.30%

benchmark                                                                                                         old bytes     new bytes     delta
BenchmarkSiteBuilding/TOML,num_langs=1,num_root_sections=5,num_pages=500,tags_per_page=5,shortcodes,render-4      53243246      43598155      -18.12%
BenchmarkSiteBuilding/TOML,num_langs=1,num_root_sections=5,num_pages=1000,tags_per_page=5,shortcodes,render-4     105811617     86087116      -18.64%
BenchmarkSiteBuilding/TOML,num_langs=3,num_root_sections=5,num_pages=500,tags_per_page=5,shortcodes,render-4      54558852      44545097      -18.35%
BenchmarkSiteBuilding/TOML,num_langs=3,num_root_sections=5,num_pages=1000,tags_per_page=5,shortcodes,render-4     106903858     86978413      -18.64%
```

Fixes #3651
Closes #3158
Fixes #1014
Closes #2021
Fixes #1240
Updates #3757
2017-12-27 18:44:47 +01:00
..
testdata
404_test.go
alias.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
alias_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
author.go
case_insensitive_test.go
config.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
config_test.go
datafiles_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
disableKinds_test.go
embedded_shortcodes_test.go
fileInfo.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
fileInfo_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
gitinfo.go
hugo_info.go
hugo_sites.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
hugo_sites_build.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
hugo_sites_build_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
hugo_sites_multihost_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
hugolib.debug Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
media.go
menu.go
menu_test.go
multilingual.go
node_as_page_test.go
page.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_bundler.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_bundler_capture.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_bundler_capture_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_bundler_handlers.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_bundler_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_collections.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_collections_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_output.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_paths.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_paths_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_permalink_test.go
page_resource.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_taxonomy_test.go
page_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
page_time_integration_test.go
pageCache.go
pageCache_test.go
pageGroup.go
pageGroup_test.go
pages_related.go
pages_related_test.go
pageSort.go
pageSort_test.go
pagesPrevNext.go
pagesPrevNext_test.go
pagination.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
pagination_test.go
path_separators_test.go
permalinker.go
permalinks.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
permalinks_test.go
prune_resources.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
robotstxt_test.go
rss_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
scratch.go
scratch_test.go
shortcode.go
shortcode_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
shortcodeparser.go
shortcodeparser_test.go
site.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
site_benchmark_test.go
site_output.go
site_output_test.go
site_render.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
site_sections.go
site_sections_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
site_stats_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
site_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
site_url_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
siteJSONEncode_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
sitemap.go
sitemap_test.go
taxonomy.go
taxonomy_test.go
template_engines_test.go
template_test.go
testhelpers_test.go Implement Page bundling and image handling 2017-12-27 18:44:47 +01:00
translations.go