mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Adding Documentation on Hugo Template Functions
This commit is contained in:
		
							
								
								
									
										103
									
								
								docs/content/layout/functions.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								docs/content/layout/functions.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,103 @@ | |||||||
|  | --- | ||||||
|  | title: "Template Functions" | ||||||
|  | date: "2013-07-01" | ||||||
|  | linktitle: "Template Functions" | ||||||
|  | groups: ["layout"] | ||||||
|  | groups_weight: 70 | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | Hugo uses the excellent golang html/template library for its template engine. | ||||||
|  | It is an extremely lightweight engine that provides a very small amount of | ||||||
|  | logic. In our experience that it is just the right amount of logic to be able | ||||||
|  | to create a good static website. | ||||||
|  |  | ||||||
|  | Go templates are lightweight but extensible. Hugo has added the following | ||||||
|  | functions to the basic template logic. | ||||||
|  |  | ||||||
|  | Golang documentation for the built-in functions can be found [here](http://golang.org/pkg/text/template/) | ||||||
|  |  | ||||||
|  | ## General | ||||||
|  |  | ||||||
|  | ### isset | ||||||
|  | Return true if the parameter is set. | ||||||
|  | Takes either a slice, array or channel and an index or a map and a key as input. | ||||||
|  |  | ||||||
|  | eg. {{ if isset .Params "project_url" }} {{ index .Params "project_url" }}{{ end }} | ||||||
|  |  | ||||||
|  | ### echoParam | ||||||
|  | If parameter is set, then echo it. | ||||||
|  |  | ||||||
|  | eg. {{echoParam .Params "project_url" }} | ||||||
|  |  | ||||||
|  | ### first | ||||||
|  | Slices an array to only the first X elements. | ||||||
|  |  | ||||||
|  | eg. | ||||||
|  |     {{ range first 10 .Data.Pages }} | ||||||
|  |         {{ .Render "summary"}} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Math | ||||||
|  |  | ||||||
|  | ### add | ||||||
|  | Adds two integers. | ||||||
|  |  | ||||||
|  | eg {{add 1 2}} -> 3 | ||||||
|  |  | ||||||
|  | ### sub | ||||||
|  | Subtracts two integers. | ||||||
|  |  | ||||||
|  | eg {{sub 3 2}} -> 1 | ||||||
|  |  | ||||||
|  | ### div | ||||||
|  | Divides two integers. | ||||||
|  |  | ||||||
|  | eg {{div 6 3}} -> 2 | ||||||
|  |  | ||||||
|  | ### mul | ||||||
|  | Multiplies two integers. | ||||||
|  |  | ||||||
|  | eg {{mul 2 3}} -> 6 | ||||||
|  |  | ||||||
|  | ### mod | ||||||
|  | Modulus of two integers. | ||||||
|  |  | ||||||
|  | eg {{mod 15 3}} -> 0 | ||||||
|  |  | ||||||
|  | ### modBool | ||||||
|  | Boolean of modulus of two integers. | ||||||
|  | true if modulus is 0. | ||||||
|  |  | ||||||
|  | eg {{modBool 15 3}} -> true | ||||||
|  |  | ||||||
|  | ## Strings | ||||||
|  |  | ||||||
|  | ### urlize | ||||||
|  | Takes a string and sanitizes it for usage in urls, converts spaces to "-". | ||||||
|  |  | ||||||
|  | eg. <a href="/tags/{{ . | urlize }}">{{ . }}</a> | ||||||
|  |  | ||||||
|  | ### safeHtml | ||||||
|  | Declares the provided string as "safe" so go templates will not filter it. | ||||||
|  |  | ||||||
|  | eg. {{ .Params.CopyrightHTML | safeHtml }} | ||||||
|  |  | ||||||
|  | ### lower | ||||||
|  | Convert all characters in string to lowercase. | ||||||
|  |  | ||||||
|  | eg {{lower "BatMan"}} -> "batman" | ||||||
|  |  | ||||||
|  | ### upper | ||||||
|  | Convert all characters in string to uppercase. | ||||||
|  |  | ||||||
|  | eg {{upper "BatMan"}} -> "BATMAN" | ||||||
|  |  | ||||||
|  | ### title | ||||||
|  | Convert all characters in string to titlecase. | ||||||
|  |  | ||||||
|  | eg {{title "BatMan"}} -> "Batman" | ||||||
|  |  | ||||||
|  | ### highlight | ||||||
|  | Take a string of code and a language, uses pygments to return the syntax | ||||||
|  | highlighted code in html. Used in the [highlight shortcode](/extras/highlight). | ||||||
		Reference in New Issue
	
	Block a user