b7853ae70 Import docsearch.js styles from node_modules. (#124)
37f678164 Remove highlight.js since it's unused.
9bfe65dc6 Correct a few links and minor meta tweaks.
git-subtree-dir: themes/gohugoioTheme
git-subtree-split: b7853ae70353cc881c396a5b6d739107122b0bf3
Explicitly declare a transparent background color in the inline `style` declaration so the search box doesn't render white text on a white background in Safari. Remove `.bg-transparent` from the class attribute, since it doesn't exist in the built CSS file.
Explanation: for some reason (Purgecss misfire?) the CSS class `bg-transparent` does not appear in the built CSS file, so the assignment of the class to the `input` element is meaningless. The inline style declared using the `background` shortcut declaration lacks a background-color, which Chrome and Firefox interpret as a transparent background but which Safari just ignores, falling back to its default white background. This means text typed into the search field renders as white on white, effectively invisible. By explicitly declaring a transparent background color, the search box renders correctly in all three browsers (white text on black background).
The main motivation of this commit is to add a `page.Page` interface to replace the very file-oriented `hugolib.Page` struct.
This is all a preparation step for issue #5074, "pages from other data sources".
But this also fixes a set of annoying limitations, especially related to custom output formats, and shortcodes.
Most notable changes:
* The inner content of shortcodes using the `{{%` as the outer-most delimiter will now be sent to the content renderer, e.g. Blackfriday.
This means that any markdown will partake in the global ToC and footnote context etc.
* The Custom Output formats are now "fully virtualized". This removes many of the current limitations.
* The taxonomy list type now has a reference to the `Page` object.
This improves the taxonomy template `.Title` situation and make common template constructs much simpler.
See #5074Fixes#5763Fixes#5758Fixes#5090Fixes#5204Fixes#4695Fixes#5607Fixes#5707Fixes#5719Fixes#3113Fixes#5706Fixes#5767Fixes#5723Fixes#5769Fixes#5770Fixes#5771Fixes#5759Fixes#5776Fixes#5777Fixes#5778
The main motivation of this commit is to add a `page.Page` interface to replace the very file-oriented `hugolib.Page` struct.
This is all a preparation step for issue #5074, "pages from other data sources".
But this also fixes a set of annoying limitations, especially related to custom output formats, and shortcodes.
Most notable changes:
* The inner content of shortcodes using the `{{%` as the outer-most delimiter will now be sent to the content renderer, e.g. Blackfriday.
This means that any markdown will partake in the global ToC and footnote context etc.
* The Custom Output formats are now "fully virtualized". This removes many of the current limitations.
* The taxonomy list type now has a reference to the `Page` object.
This improves the taxonomy template `.Title` situation and make common template constructs much simpler.
See #5074Fixes#5763Fixes#5758Fixes#5090Fixes#5204Fixes#4695Fixes#5607Fixes#5707Fixes#5719Fixes#3113Fixes#5706Fixes#5767Fixes#5723Fixes#5769Fixes#5770Fixes#5771Fixes#5759Fixes#5776Fixes#5777Fixes#5778
"300s of Themes" is not typical English usage and makes it sound like themes are packaged in groups of 300. I've changed this to "300+ Themes" to make more sense.
It is useful to see the date that a post will be published, or the date
that it has expired, to build tooling around it. This commit writes
posts and their publish/expired date as CSV.
Fixes#5610
```
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
```
I realise that these meta tags aren't doing any harm - but they are not needed at all and take up a few bytes of the page loading.
- The `HandheldFriendly` meta tag was used for a very old version of BlackBerry.
REF: https://developer.blackberry.com/playbook/html5/documentation/handheldfriendly.html
- The `MobileOptimized` meta tag was used for a very old version of Windows Mobile 5 / 6 (before even Windows Phone 7, 8 and Windows Mobile 10!).
Before this commit, due to a bug in Go's `text/template` package, this would print different output for typed nil interface values:
```
{{ if .AuthenticatedUser }}User is authenticated!{{ else }}{{ end }}
{{ if not .AuthenticatedUser }}{{ else }}}User is authenticated!{{ end }}
```
This commit works around this by wrapping every `if` and `with` with a custom `getif` template func with truth logic that matches `not`, `and` and `or`.
Those 3 template funcs from Go's stdlib are now pulled into Hugo's source tree and adjusted to support custom zero values, e.g. types that implement `IsZero`.
This means that you can now do:
```
{{ with .Date }}{{ . }}{{ end }}
```
And it would work as expected.
Fixes#5738
Closes#743
- Added note that the content directory of an ExampleSite is now inherited from the HugoBasicExample for security reasons.
- Removed placeholder text for example README outline since there is no such outline.
- Instead I updated some of the points of what should be included in a README
cc: @digitalcraftsman