Allow themes to define output formats, media types and params
This allows a `config.toml` (or `yaml`, ´yml`, or `json`) in the theme to set:
1) `params` (but cannot override params in project. Will also get its own "namespace", i.e. `{{ .Site.Params.mytheme.my_param }}` will be the same as `{{ .Site.Params.my_param }}` providing that the main project does not define a param with that key.
2) `menu` -- but cannot redefine/add menus in the project. Must create its own menus with its own identifiers.
3) `languages` -- only `params` and `menu`. Same rules as above.
4) **new** `outputFormats`
5) **new** `mediaTypes`
This should help with the "theme portability" issue and people having to copy and paste lots of setting into their projects.
211a3c613 Prepare the forestry.io article for release 23995d6b4 Add forestry.io to showcase 3f177c94e Fix some typos (found by codespell) dc26e0a5a Clarify the default for site config files and multiple config files c87c9c62e Review and update the Site config documentation for consistency a29edc50c Fix the default value of rssLimit site config 83f3c46b0 Minor style fix 4f860d1a2 Typo capitalization fixes 7851345c8 Add docs about comments within templates d129b4a28 Make the recommendation to use partial over template consistent 6cd260a41 Update index.md a2787e1a4 Add Let’s Encrypt showcase 7e664f69e Update configuration.md 8002120f1 Update multilingual.md 702b46a62 Add documentation for the disableLanguages setting cb3d395de Fix content type reference d33226924 Update Page Kinds documentation 8203f649d Fix misformed markdown link 19e99c957 Add Section definition
This commit makes it possible to extract the date from the content filename. Also, the filenames in these cases will make for very poor permalinks, so we will also use the remaining part as the page `slug` if that value is not set in front matter.
This should make it easier to move content from Jekyll to Hugo.
To enable, put this in your `config.toml`:
```toml
[frontmatter]
date = [":filename", ":default"]
```
This commit is also a spring cleaning of how the different dates are configured in Hugo. Hugo will check for dates following the configuration from left to right, starting with `:filename` etc.
So, if you want to use the `file modification time`, this can be a good configuration:
* We have some built-in aliases to the above: lastmod => modified, publishDate => pubdate, published and expiryDate => unpublishdate.
* If you want a new configuration for, say, `date`, you can provide only that line, and the rest will be preserved.
* All the keywords to the right that does not start with a ":" maps to front matter parameters, and can be any date param (e.g. `myCustomDateParam`).
* The keywords to the left are the **4 predefined dates in Hugo**, i.e. they are constant values.
* The current "special date handlers" are `:fileModTime` and `:filename`. We will soon add `:git` to that list.
The validation of if we could process the image (resize etc.) was moved up in Hugo 0.37, which meant SVG and other "non-processable" images would fail.
This commit fixes that by creating a regular resource for these image formats. They will not have `.Resize` or any of the other image methods.
715741f73 Add Netlify config for a split testin branch 4917f0636 Mention that math add/sub/mul/div functions can do float math too 31632beeb Document .Site.Params.mainSections 3416ba80d Update sectionvars.md 295ccb463 Update sections.md 15b5a0342 Fix duplicated paragraph eb13db670 Fix text highlight fa46cafdf Get 1password-support ready 979bb5698 Add 1password support showcase ceb94d1e1 Fix readDir function links
Vas Sudanagunta [Sun, 25 Feb 2018 06:15:03 +0000 (01:15 -0500)]
Fix bug in Site.assembleSections method
Site.assembleSections logic assumes that the the home page would always be the first in the Site's list of pages. This is not in fact guaranteed to be true. When it is not, the method can fail to set the parent for some or all root-level pages.
Fixes #4447
Make ge, le etc. work with the Hugo Version number
This means that you can do something ala:
```html
{{ if ge .Hugo.Version "0.36" }}Reasonable new Hugo version!{{ end }}
```
The intented use is feature toggling, but please note that it will take some time and Hugo versions until this can be trusted. It does not work in older Hugo versions.
1dc05a16b Update index.md d73a9b3b4 Added StackImpact showcase b0e82b3a5 Fix uglyURLs example cf8a93728 GA track outgoing sponsor clikcs aca59ac66 Move the sponsor banners up a little 5571673f0 Migrate from analytics.js to gtag.js 64a29b6cb Update faq.md 84704aa84 Use GOPATH variable if defined in installation from source 5f70e6ee2 Remove disableRSS etc. from the documentation 4945e7937 Remove superflous asterisks 39f6c9c28 showcase: Add 1password.com fe0f82610 Add GitLab warning 9f26f21d2 Fix URL typo 83a91fc99 Remove duplicate release notes 133cdd313 Release 0.36.1 fbe2a2dc7 Clean images 1b02f9193 Merge branch 'temp361' c430d2d58 Merge branch 'release-0.36.1' dd7370fc4 releaser: Prepare repository for 0.37-DEV 72534f9ec releaser: Add release notes to /docs for release of 0.36.1 845b2cacb releaser: Bump versions for release of 0.36.1 78790fcb1 Add fluid type to showcase details box 4ef59e008 Adjust column widths to handle a wider variety of copy width 6d2e68521 Always show the latest showcase item on front page 665b1eb5e showcase: Shuffle the news items 5fef1f9b7 Escape quote d680f0c16 Add some quotes 1722f0d5a showcase: Make the description more about Hugo a9d43db0a Add Quiply Employee Communications App 7aaa464ec Add Quiply Employee Communications App fad6a25dd maintenance: Show last 30 7afcfdced showcase: Set Linode date to today 0c31f481a New showcase for Linode 6c7687c2d Minor edits to the `apply` documentation 04bbff8b3 Update apply.md f543032e3 Fix clunky sentence 218ba2a65 Some more Netlify improvements 0bd512125 Improve the Netlify versioning docs 7a708d60e Clarify Netlify's Hugo versions handling 8f86342cd Add some space d68d4ff37 Remove now superflous warning bf93a46ea maintenance: Add TODO list 3b5f27835 maintenance: Remove a superflous prefix 8f29ba2fb maintenance: Adjust order 105d53610 maintenance: Add TOC 29e86396b maintenance: Fix page list selection ba51fe66d Finish the Maintenance section e9b0c710c Add latest changes in new spotlight section 8ccd79f61 Fix broken sentence c77643c37 Spelling 919f2faef Remove some old troubleshooting articles 09e467f06 Add a new FAQ ac2b25bb5 Hartwell showcase typos 5bf766993 Trim "www." from shocase URLs in title a180cd5cb Make the inline showcase template names unique 6886982fd Merge commit '9cc9bab46288d8d5f9fda7009c5f746258cec1b4' 09728efbf Add "target" and "rel" parameters to figure shortcode
Vas Sudanagunta [Sun, 11 Feb 2018 21:27:47 +0000 (16:27 -0500)]
hugolib: Refactor tests for JSON, YAML and TOML equivalency, add coverage
The same code now cycles through equivalent JSON, YAML and TOML data sets,
verifying output both proper and identical. Coverage increased by applying
previous tests for one format to the others.
More DRY. Added tests for numeric and bool value types.
Vas Sudanagunta [Sun, 11 Feb 2018 20:38:33 +0000 (15:38 -0500)]
hugolib: Re-enable YAML data tests disabled in f554503f
Also gave basic tests for JSON, YAML and TOML identical inputs and expected outputs, a step toward JSON, YAML and TOML equivalency (see https://github.com/gohugoio/hugo/issues/4393#issuecomment-364437785).
f97826a17 Merge commit '12ecbf4a1b05c2794281f47909c836b1a005bc19' 12ecbf4a1 Squashed 'themes/gohugoioTheme/' changes from ecad8247..fe71e360 aaa7ac214 Ignore .DS_Store files 0e023ca12 Remove comments in showcase front matter f3ba5ac87 Hartwell Insurance showcase 47aefdbda Remove unnecessary duplicated words 612693b4f Some minor language fixes a833ba15b Spelling 5972e70a9 Revert "showcase: Even smaller file" 3479b975e showcase: Even smaller file 2272e0b83 showcase: Reduce image size 718c3c3e5 Spelling 0b954eccb showcase: Pace copy-edits baded8064 showcase: Pace 842c1cedf Add a Showcase copyright notice c5963edaa Update installing 4fa0b0d73 Add link to showcase template d0f303916 Add some showcase guide content c809789b1 Add srcset to the showcase screenshots 49d875904 Start of a template 1153de221 Clean resouerces 69f00df4c Remove the showcases 653ad5bcd Add a simple byline c5342b5e5 Regenerate image after rebase b80669b34 Bump version in config.toml cd5c79c67 Fix an issue where whitespace wrap caused scrollbars on some browsers f00547e98 Add section to the title element aa10defed Iterating on Showcase (#330) 76a0bfbc3 Add some dummy content to some of the showcase pages 66f68964d Standardize showcase metadata 627ffa6d4 Adjust showcase image size on front page cbc3efece Redo some showcase images 054b54cb6 Use .RelPermalink and not .URL 82ba5f1c6 Add resources d1415795b Move showcase items in list view to a template in the layout f34620e90 Tweak details box for mobile df6a0bf24 Include images that changed from the column shift 02036581f Improve showcase single layout 5f7730c89 Improve styling of showcase prev/next buttons a2b2f7731 Remove extra div that was breaking mobile layout of the showcase b172fe5f4 Add block class to to images on mobile so they behave as expected a4ebfec86 Add a proper RSS feed to home page 0524479e0 Move showcase images to proper Resources 0544b57df Convert showcase pages to bundles 8febaab2b Add Showcase to Home page and internal pages 26d1f4542 Fix baseURL in Netlify deploy previews 046497616 Revert "Try to fix the Netlify preview baseURL setup" 80dce17ca Revert "Add some temporary baseURL debug" 8617e8692 Add some temporary baseURL debug 371e56bce Try to fix the Netlify preview baseURL setup 1b70b3f18 Add Netlify CMS to Frontends list d6184e71d Fix menu for "What is Hugo" page 1ae83ad3e Fix mobile menu display so it shows on mid-size displays f60e1f750 Edited slight typo, added "of" 56b906667 Fix typo c5bea5cbd Release 0.36 00539094e releaser: Prepare repository for 0.37-DEV b222cbdf2 releaser: Add release notes to /docs for release of 0.36 e59d1d766 releaser: Bump versions for release of 0.36 9620aa002 docs: Add documentation for smart cropping etc. 91c3801f1 Merge commit 'c305e44f5f081e4436195923a4593e396f07cd49' 8e71ff60b releaser: Prepare repository for 0.36-DEV