Commit graph

235 commits

Author SHA1 Message Date
digitalcraftsman
3410007dca docs: List multilingual tpl vars and show menu creation
Fixes #2436
2016-09-16 15:37:12 +02:00
Bjørn Erik Pedersen
2f7e8df5ba docs: Fix spelling: HasTranslations > IsTranslated 2016-09-06 18:32:20 +03:00
Bjørn Erik Pedersen
93717aac5c docs: Get the variable and funcs re multilingual up-to-date 2016-09-06 18:32:20 +03:00
Bjørn Erik Pedersen
54141f71dd Improve language handling in URLs
The current "rendering language" is needed outside of Site. This commit moves the Language type to the helpers package, and then used to get correct correct language configuration in the markdownify template func.
This commit also adds two new template funcs: relLangURL and absLangURL.

See #2309
2016-09-06 18:32:18 +03:00
Alexandre Bourget
ec33732fbe Add multilingual support in Hugo
Implements:
* support to render:
  * content/post/whatever.en.md to /en/2015/12/22/whatever/index.html
  * content/post/whatever.fr.md to /fr/2015/12/22/whatever/index.html
* gets enabled when `Multilingual:` is specified in config.
* support having language switchers in templates, that know
  where the translated page is (with .Page.Translations)
  (when you're on /en/about/, you can have a "Francais" link pointing to
   /fr/a-propos/)
  * all translations are in the `.Page.Translations` map, including the current one.
* easily tweak themes to support Multilingual mode
* renders in a single swift, no need for two config files.

Adds a couple of variables useful for multilingual sites

Adds documentation (content/multilingual.md)

Added language prefixing for all URL generation/permalinking see in the
code base.

Implements i18n. Leverages the great github.com/nicksnyder/go-i18n lib.. thanks Nick.
* Adds "i18n" and "T" template functions..
2016-09-06 18:32:15 +03:00
vsopvsop
7cb8107735 docs: Correct spelling for "parameters" in partials.md 2016-08-29 12:25:53 +02:00
digitalcraftsman
38d034df38 docs: Document shuffle template func
Fixes #2393.
2016-08-29 12:22:37 +02:00
Eric
2fc05dad4e docs: Add location of block template 2016-08-20 21:54:14 +02:00
Wade Fitzpatrick
b33bfd40be docs: Add doc for time template func 2016-08-08 12:28:41 +02:00
digitalcraftsman
04889a5ee6 docs: Document .File variables for pages
Fixes #2154.
2016-07-29 20:12:28 +02:00
Chris DeLuca
333646c52d docs: Drop .isDraft to new line
Bring **.isDraft** onto a new line, to be consistent with the other list items.
2016-07-29 20:10:40 +02:00
Cathal Garvey
20555b1630 Add htmlEscape and htmlUnescape template functions
These functions allow trivial escaping and unescaping of HTML entities,
and make it far easier to compose other functions for the creation of
parameterised URLs.
2016-07-19 00:14:05 +02:00
Michael Orr
0a812beb12 tpl: Modify tpl.humanize to ordinalize integer input
Add logic to tpl.humanize such that it understands input of int literals
or strings which represent an integer. When tpl.humanize sees this type
of input, it will use inflect.Ordinalize as opposed to the standard
inflect.Humanize.

Fixes #1886
2016-07-13 22:09:59 +02:00
marco
c21e2b3b4d tpl: Enable safeHTMLAttr
See #2234 and #347
2016-06-27 09:18:14 -06:00
Hanchen Wang
f7b2e532e2 docs: Add ExpiryDate to the list of variables 2016-06-14 15:45:26 +02:00
Hanchen Wang
448f0306d7 docs: Example of how to use Order by ExpiryDate 2016-06-14 15:45:26 +02:00
digitalcraftsman
20358f46c8 docs: Document UniqueID page variable 2016-05-27 20:14:52 +02:00
Roy Reveltas
5611631539 docs: Add an example of how to use .PrevInSection
It's not a common knowledge what the "pointer" is so let's
add an example of how to use .PrevInSection
2016-05-27 20:02:29 +02:00
digitalcraftsman
ac938d9da7 docs: Improve description for .Hugo.Generator 2016-05-11 20:59:31 +02:00
Alex Leventer
a07889d4a3 docs: Fix typo in templates/content.md 2016-05-04 21:40:22 +02:00
mattjmcnaughton
bf4206a02f docs: Fix links in the documentation
A couple of internal links use `#toc_4` to attempt to locate a document
element within another document page. In both of these instances, there
is no element on the linked to pages with the id `#toc_4`. This commit
updates those links with the document elements which were the original
intended links, meaning these links now take you directly to the
intended element.

Signed-off-by: mattjmcnaughton <mattjmcnaughton@gmail.com>
2016-05-04 21:35:24 +02:00
Christopher Mancini
09038865c2 tpl: Add intersect operator to where function
Returns true if a given field value that is a slice / array of strings, integers or floats contains elements in common with the matching value. It follows the same rules as the intersect function.

Closes #1945
2016-04-28 00:58:47 +02:00
Bjørn Erik Pedersen
eb627ca16d docs: Order by Lastmod 2016-04-22 20:46:04 +02:00
Cameron Moore
76738347d3 docs: Fix findRE typo 2016-04-21 12:38:40 -05:00
Ernie Hershey
215b8939bd docs: Fix grammar in templates/partials.md
Noticed this sentence seemingly missing a word or two.
2016-04-15 18:57:30 +02:00
Bjørn Erik Pedersen
2468b10eb3 docs: Fix example for Param method
Fixes #2070
2016-04-11 13:26:33 +02:00
Erik Ebsen
65f9427031 docs: Document Go 1.6's new ability to trim whitespace 2016-04-09 13:21:23 +02:00
digitalcraftsman
5bfe16ef8d tpl: Add findRE template func 2016-04-05 22:26:03 +02:00
digitalcraftsman
4502c4e3ae docs: Add documentation for hasPrefix template func
Fixes #2039
2016-04-03 00:44:43 +02:00
Bjørn Erik Pedersen
c2277fcbc1 docs: Add doc and a test for readDir
Fixes #2009
2016-03-31 23:16:42 +02:00
Bjørn Erik Pedersen
4f66f790b1 Add readFile template func
This also includes a refactor of the hugofs package and its usage.

The motivation for that is:

The Afero filesystems are brilliant. Hugo's way of adding a dozen of global variables for the different filesystems was a mistake. In readFile (and also in some other places in Hugo today) we need a way to restrict the access inside the working dir. We could use ioutil.ReadFile and implement the path checking, checking the base path and the dots ("..") etc. But it is obviously better to use an Afero BasePathFs combined witha ReadOnlyFs. We could create a use-once-filesystem and handle the initialization ourselves, but since this is also useful to others and the initialization depends on some other global state (which would mean to create a new file system on every invocation), we might as well do it properly and encapsulate the predefined set of filesystems. This change also leads the way, if needed, to encapsulate the file systems in a struct, making it possible to have several file system sets in action at once (parallel multilanguage site building? With Moore's law and all...)

Fixes #1551
2016-03-31 21:24:18 +02:00
digitalcraftsman
93e41a1fb2 docs: Fix typo in templates/functions.md 2016-03-28 17:04:29 +02:00
Robert Basic
e35a69216e docs: Document lastmod variable
Fixes #1351
2016-03-28 16:33:50 +02:00
Robert Basic
50506ebeac docs: Document the split function
Fixes #1997
2016-03-28 15:58:41 +02:00
Bjørn Erik Pedersen
e5e1bcc271 Add plainify template function
To strip away any HTML. May be useful for the .Title in head etc.

People may shoot themself in the foot with this, maybe ...

The replacement function is pretty fast.
2016-03-21 20:27:25 -04:00
Cameron Moore
b0326a1c0f tpl: Treat booleans as set in default function
Booleans and `default` don't really make sense together, so we'll always treat
booleans as "set" and return the given value.
2016-03-16 20:05:48 +01:00
digitalcraftsman
b5c718a4de docs: Fix typos in functions.md and contributing.md 2016-03-16 13:04:41 +01:00
Daniel Compton
153dccc0e8 Add debugging steps for no variables defined 2016-03-12 21:44:50 +13:00
Bjørn Erik Pedersen
cafb784799 Add emoji support
This uses the Emoji map from https://github.com/kyokomi/emoji -- but with a custom replacement implementation.

The built-in are fine for most use cases, but in Hugo we do care about pure speed.

The benchmarks below are skewed in Hugo's direction as the source and result is a byte slice,
Kyokomi's implementation works best with strings.

Curious: The easy-to-use `strings.Replacer` is also plenty fast.

```
BenchmarkEmojiKyokomiFprint-4  	   20000	     86038 ns/op	   33960 B/op	     117 allocs/op
BenchmarkEmojiKyokomiSprint-4  	   20000	     83252 ns/op	   38232 B/op	     122 allocs/op
BenchmarkEmojiStringsReplacer-4	  100000	     21092 ns/op	   17248 B/op	      25 allocs/op
BenchmarkHugoEmoji-4           	  500000	      5728 ns/op	     624 B/op	      13 allocs/op
```

Fixes #1891
2016-03-11 15:51:37 -06:00
Cameron Moore
b8d3651242 tpl: Add replaceRE function
This commit addes a `replaceRE` template function.  Regexp patterns are compiled
once and cached.
2016-03-11 19:59:18 +01:00
Cameron Moore
f3f9763afd tpl: Add time note to default func description 2016-03-10 17:47:59 +01:00
Cameron Moore
09c8c17bf0 tpl: fix default function
This commit fixes a few things:

1. `given` is now a variadic parameter so that piping works properly
2. add separate template tests to make sure piping works
3. support time values
4. add more tests of the dfault function
2016-03-10 17:47:59 +01:00
Cameron Moore
0743646f32 docs: add better default example 2016-03-10 17:47:59 +01:00
Cameron Moore
ce9ee3cf49 tpl: Add default function 2016-03-10 17:47:59 +01:00
digitalcraftsman
94c3825e5b Add md5 and sha1 template funcs 2016-03-10 11:03:06 +01:00
Bjørn Erik Pedersen
435e996c4f Add jsonify template func 2016-03-06 15:01:14 +01:00
digitalcraftsman
c1f8b188f7 Add template function slice 2016-02-27 17:04:45 +01:00
Paul Koppen
060f0206ee Docs: remove .Taxonomies from Page variables
The property seems to have never existed on Pages.

Fixes #1865.
2016-02-24 19:22:53 +01:00
Thijs de Zoute
d607f4c7df Docs: fix small typos in functions.md 2016-02-24 19:14:04 +01:00
Cameron Moore
45df4596bb tpl: Add humanize func and cleanup lint
Add humanize (inflect.Humanize) to the template funcMap.  Documentation and
tests are included.

Various code cleanups of the template funcs:

- Break pluralize and singularize out into stand-alone funcs.
- Sort the list of funcMap entries.
- Add some minimal godoc comments to all public funcs.
- Fix some issues found by golint and grind.
2016-02-06 15:31:25 +01:00
digitalcraftsman
ec02b9908c Fixed example and cross-reference in content/variables.md
Fixed a path in a Page Params example to reflect real directory
structure, removed extra quotes from sample code, and fixed link to
Archetypes which read "cross-references" before.

See #1805
2016-02-01 16:54:27 +01:00
digitalcraftsman
9015aa5b84 Docs: fix some typos in templates/variables.md 2016-01-30 11:12:24 +01:00
Renato Vargas
817d69487c Expanded the Page Params section in variables.md
Expanded on the use of Page Params in the templates/variables.md
documentation. Added sample code for something that keeps coming up on
discuss.github.io
2016-01-30 01:24:55 +01:00
Bjørn Erik Pedersen
58a183c330 Docs: Add doc for string and int 2016-01-16 00:06:32 +01:00
Bjørn Erik Pedersen
01f71babfc docs: Add lastmod to content files
Based on last commit in Git.
2016-01-06 23:55:18 +01:00
Alexandre Bourget
bc48b4606a Added documentation about variable scoping in "partials". 2016-01-04 12:42:48 -05:00
Alexandre Bourget
8f8120ba14 Added "Caddy server"'s handling of 404 errors. 2016-01-04 12:42:47 -05:00
Gerben Castel
6cdb8109cf Allow renaming of sitemap.xml 2016-01-04 12:28:49 -05:00
digitalcraftsman
dfa34afd86 Add template funcs countwords and countrunes 2016-01-02 11:00:03 -05:00
Anthony Fok
cb8f459127 Docs: Add nohighlight shortcode and improve formatting
And some random formatting and copyediting fixes.

See also #1708
2015-12-23 09:31:07 -07:00
Maxime Michel
38c5db98b5 Added a missing closing tag 2015-12-11 10:51:17 -07:00
Cameron Moore
9ae07c4f21 Docs: document Node.IsHome 2015-12-11 09:18:05 -07:00
David Oliver
91771ee3b6 Add Draft page variable to docs
Also tweaks language used in page params sentence.
2015-11-30 23:38:34 -07:00
Gustav Näslund
b0b6a8c7ac Use .Site.Pages in the documentation examples instead of .Site.Recent 2015-11-30 23:31:18 -07:00
Cameron Moore
3abb2675c5 Add RSSLink to SiteInfo 2015-11-20 23:38:15 +01:00
Anthony Fok
e59aabcf46 docs: Change "Github" to "GitHub" 2015-11-20 14:24:22 -07:00
digitalcraftsman
a5bd101d27 Docs: fix typo in template function section 2015-11-20 13:30:27 -07:00
Cameron Moore
c5a4c07b89 Add SafeJS template function
This commit adds a SafeJS template function.  Tests and documentation are
included.

Fixes #1579
2015-11-20 21:12:01 +01:00
digitalcraftsman
341dcc4765 Docs: fix broken links 2015-11-06 08:51:40 -05:00
digitalcraftsman
9dbb6dc50d Add internal Google Analytics template
This commits also adds the GoogleAnalytics
variable to insert the tracking code.

Fixes #1424.
2015-11-04 17:11:38 -05:00
Arun Sori
277d0ae4a5 Fix spell mistake in variables.md 2015-10-31 09:47:07 -06:00
Tobias
4e9a5d8bd1 Fix some typos in docs 2015-10-17 13:48:10 +02:00
Bjørn Erik Pedersen
65beca13b0 Add Param to the docs
See #1462
2015-10-12 06:11:01 +02:00
NotZippy
3a27cefec1 Add dictionary function to be passed into a template
Allows templates to dynamically build maps.

Example usage: Creating and passing a map to a subtemplate while in a range on the parent.
2015-10-09 18:29:16 +02:00
Bjørn Erik Pedersen
2c045ac449 Remove RuneCount from doc 2015-10-06 18:48:42 +02:00
digitalcraftsman
79f8bb625d Add base64Decode and base64Encode template functions
Fixes #1416
2015-09-25 21:31:55 +02:00
Bjørn Erik Pedersen
82f770a6f5 Remove superfluous g in docs 2015-09-23 09:18:20 +02:00
Bjørn Erik Pedersen
06caa025a4 Fix typo in docs
See #1438
2015-09-22 22:33:41 +02:00
Bjørn Erik Pedersen
8d695ec592 Add singularize template func
See #1438
2015-09-22 22:31:02 +02:00
Bjørn Erik Pedersen
751d4906ef Add pluralize template func
Fixes #1438
2015-09-22 22:25:25 +02:00
Ben Turner
c2a7c456cc Fix typo in terms.md 2015-09-15 21:23:44 -06:00
Benny Wu
d313bc78a4 Documentation update on Template Where Function for nil 2015-08-13 23:05:10 +02:00
Michael Diamond
209166a261 Added sitemap configuration documentation. 2015-08-08 15:04:52 -06:00
Michael Diamond
caaf637068 Added mention of .Data.Pages, removed duplicate .Site.Pages mention. 2015-08-08 14:54:46 -06:00
Anthony Fok
ee7dd2929f docs: More detailed explanation of .Site.LastChange 2015-08-07 23:30:11 -06:00
Austin Dizzy
6511e2c48f Removed extra .Site.LastChange listing 2015-08-07 23:13:18 -06:00
Anthony Fok
5505ac0d72 doc: Strip trailing whitespace; other revisions
Make some random and non-comprehensive changes to the
template functions documentation to make them more
consistent.
2015-08-04 12:00:08 -06:00
Scott C Wilson
cdefb5a027 Fix links to Ace and Amber pages 2015-07-24 11:22:05 +02:00
Scott C Wilson
dec9749bbc Document Amber templates
Fixes #1064
2015-07-20 15:28:20 +02:00
Clam-
85f4935dec Fix unclear RSS template docs
The documentation for the RSS templating is a little unclear.
http://gohugo.io/templates/rss/

Some users may attempt to look for a ```__internal``` directory rather than assume that's the aforementioned "Hugo own template."

Here's my suggestion.
2015-07-19 19:40:34 +02:00
Bjørn Erik Pedersen
77c60a3440 Add RuneCount to Page
Fixes #1266
2015-07-12 11:05:37 +02:00
Marc-Antoine Ruel
24c8226cbf Document Page.RawContent in templates/variables/ 2015-07-02 19:24:30 +02:00
Jonathan Anderson
0987e98db3 Add support for baseof.ace templates in themes.
When we find a template that requires a base template, we should also look
for that base template in the current theme.

Fixes #1215.
2015-06-25 18:05:43 +02:00
Ariejan de Vroom
cc9536ec46 Update docs for last template function 2015-06-15 21:18:38 +02:00
Ariejan de Vroom
40a92a062d Add after to template function documentation 2015-06-15 21:18:38 +02:00
Jeff Ramnani
102a3b95ae Document techniques for debugging templates.
This information was previously scattered around in the forums and
mailing list.  Add it to the official docs to make things easier for new
users.

Fixes #1167
2015-05-26 10:01:45 +02:00
bep
be778c3160 docs: some more on absURL, relURL 2015-05-22 23:43:02 +02:00
bep
be1366074c docs: add doc for substr
Fixes #1156
2015-05-22 22:36:25 +02:00
bep
be4376a022 docs: add doc for slicestr
See #1156
2015-05-22 22:20:45 +02:00
bep
be2e08c4ad docs: add doc for seq
See #1156
2015-05-22 22:17:41 +02:00