{ "chroma": { "lexers": [ { "Name": "ABAP", "Aliases": [ "abap" ] }, { "Name": "ABNF", "Aliases": [ "abnf" ] }, { "Name": "ActionScript", "Aliases": [ "as", "actionscript" ] }, { "Name": "ActionScript 3", "Aliases": [ "as3", "actionscript3" ] }, { "Name": "Ada", "Aliases": [ "ada", "ada95", "ada2005" ] }, { "Name": "AL", "Aliases": [ "al" ] }, { "Name": "Angular2", "Aliases": [ "ng2" ] }, { "Name": "ANTLR", "Aliases": [ "antlr" ] }, { "Name": "ApacheConf", "Aliases": [ "apacheconf", "aconf", "apache" ] }, { "Name": "APL", "Aliases": [ "apl" ] }, { "Name": "AppleScript", "Aliases": [ "applescript" ] }, { "Name": "Arduino", "Aliases": [ "arduino" ] }, { "Name": "ArmAsm", "Aliases": [ "armasm" ] }, { "Name": "Awk", "Aliases": [ "awk", "gawk", "mawk", "nawk" ] }, { "Name": "Ballerina", "Aliases": [ "ballerina" ] }, { "Name": "Bash", "Aliases": [ "bash", "sh", "ksh", "zsh", "shell" ] }, { "Name": "BashSession", "Aliases": [ "bash-session", "console", "shell-session" ] }, { "Name": "Batchfile", "Aliases": [ "bat", "batch", "dosbatch", "winbatch" ] }, { "Name": "BibTeX", "Aliases": [ "bib", "bibtex" ] }, { "Name": "Bicep", "Aliases": [ "bicep" ] }, { "Name": "BlitzBasic", "Aliases": [ "blitzbasic", "b3d", "bplus" ] }, { "Name": "BNF", "Aliases": [ "bnf" ] }, { "Name": "BQN", "Aliases": [ "bqn" ] }, { "Name": "Brainfuck", "Aliases": [ "brainfuck", "bf" ] }, { "Name": "C", "Aliases": [ "c" ] }, { "Name": "C#", "Aliases": [ "csharp", "c#" ] }, { "Name": "C++", "Aliases": [ "cpp", "c++" ] }, { "Name": "Caddyfile", "Aliases": [ "caddyfile", "caddy" ] }, { "Name": "Caddyfile Directives", "Aliases": [ "caddyfile-directives", "caddyfile-d", "caddy-d" ] }, { "Name": "Cap'n Proto", "Aliases": [ "capnp" ] }, { "Name": "Cassandra CQL", "Aliases": [ "cassandra", "cql" ] }, { "Name": "Ceylon", "Aliases": [ "ceylon" ] }, { "Name": "CFEngine3", "Aliases": [ "cfengine3", "cf3" ] }, { "Name": "cfstatement", "Aliases": [ "cfs" ] }, { "Name": "ChaiScript", "Aliases": [ "chai", "chaiscript" ] }, { "Name": "Chapel", "Aliases": [ "chapel", "chpl" ] }, { "Name": "Cheetah", "Aliases": [ "cheetah", "spitfire" ] }, { "Name": "Clojure", "Aliases": [ "clojure", "clj" ] }, { "Name": "CMake", "Aliases": [ "cmake" ] }, { "Name": "COBOL", "Aliases": [ "cobol" ] }, { "Name": "CoffeeScript", "Aliases": [ "coffee-script", "coffeescript", "coffee" ] }, { "Name": "Common Lisp", "Aliases": [ "common-lisp", "cl", "lisp" ] }, { "Name": "Common Lisp", "Aliases": [ "common-lisp", "cl", "lisp" ] }, { "Name": "Coq", "Aliases": [ "coq" ] }, { "Name": "Crystal", "Aliases": [ "cr", "crystal" ] }, { "Name": "CSS", "Aliases": [ "css" ] }, { "Name": "Cython", "Aliases": [ "cython", "pyx", "pyrex" ] }, { "Name": "D", "Aliases": [ "d" ] }, { "Name": "Dart", "Aliases": [ "dart" ] }, { "Name": "Diff", "Aliases": [ "diff", "udiff" ] }, { "Name": "Django/Jinja", "Aliases": [ "django", "jinja" ] }, { "Name": "dns", "Aliases": [ "zone", "bind" ] }, { "Name": "Docker", "Aliases": [ "docker", "dockerfile" ] }, { "Name": "DTD", "Aliases": [ "dtd" ] }, { "Name": "Dylan", "Aliases": [ "dylan" ] }, { "Name": "EBNF", "Aliases": [ "ebnf" ] }, { "Name": "Elixir", "Aliases": [ "elixir", "ex", "exs" ] }, { "Name": "Elm", "Aliases": [ "elm" ] }, { "Name": "EmacsLisp", "Aliases": [ "emacs", "elisp", "emacs-lisp" ] }, { "Name": "EmacsLisp", "Aliases": [ "emacs", "elisp", "emacs-lisp" ] }, { "Name": "Erlang", "Aliases": [ "erlang" ] }, { "Name": "Factor", "Aliases": [ "factor" ] }, { "Name": "Fennel", "Aliases": [ "fennel", "fnl" ] }, { "Name": "Fish", "Aliases": [ "fish", "fishshell" ] }, { "Name": "Forth", "Aliases": [ "forth" ] }, { "Name": "Fortran", "Aliases": [ "fortran", "f90" ] }, { "Name": "FortranFixed", "Aliases": [ "fortranfixed" ] }, { "Name": "FSharp", "Aliases": [ "fsharp" ] }, { "Name": "GAS", "Aliases": [ "gas", "asm" ] }, { "Name": "GDScript", "Aliases": [ "gdscript", "gd" ] }, { "Name": "Genshi", "Aliases": [ "genshi", "kid", "xml+genshi", "xml+kid" ] }, { "Name": "Genshi HTML", "Aliases": [ "html+genshi", "html+kid" ] }, { "Name": "Genshi Text", "Aliases": [ "genshitext" ] }, { "Name": "Gherkin", "Aliases": [ "cucumber", "Cucumber", "gherkin", "Gherkin" ] }, { "Name": "GLSL", "Aliases": [ "glsl" ] }, { "Name": "Gnuplot", "Aliases": [ "gnuplot" ] }, { "Name": "Go", "Aliases": [ "go", "golang" ] }, { "Name": "Go HTML Template", "Aliases": [ "go-html-template" ] }, { "Name": "Go HTML Template", "Aliases": [ "go-html-template" ] }, { "Name": "Go Text Template", "Aliases": [ "go-text-template" ] }, { "Name": "GraphQL", "Aliases": [ "graphql", "graphqls", "gql" ] }, { "Name": "Groff", "Aliases": [ "groff", "nroff", "man" ] }, { "Name": "Groovy", "Aliases": [ "groovy" ] }, { "Name": "Handlebars", "Aliases": [ "handlebars", "hbs" ] }, { "Name": "Haskell", "Aliases": [ "haskell", "hs" ] }, { "Name": "Haxe", "Aliases": [ "hx", "haxe", "hxsl" ] }, { "Name": "HCL", "Aliases": [ "hcl" ] }, { "Name": "Hexdump", "Aliases": [ "hexdump" ] }, { "Name": "HLB", "Aliases": [ "hlb" ] }, { "Name": "HLSL", "Aliases": [ "hlsl" ] }, { "Name": "HolyC", "Aliases": [ "holyc" ] }, { "Name": "HTML", "Aliases": [ "html" ] }, { "Name": "HTTP", "Aliases": [ "http" ] }, { "Name": "Hy", "Aliases": [ "hylang" ] }, { "Name": "Idris", "Aliases": [ "idris", "idr" ] }, { "Name": "Igor", "Aliases": [ "igor", "igorpro" ] }, { "Name": "INI", "Aliases": [ "ini", "cfg", "dosini" ] }, { "Name": "Io", "Aliases": [ "io" ] }, { "Name": "J", "Aliases": [ "j" ] }, { "Name": "Java", "Aliases": [ "java" ] }, { "Name": "JavaScript", "Aliases": [ "js", "javascript" ] }, { "Name": "JSON", "Aliases": [ "json" ] }, { "Name": "Julia", "Aliases": [ "julia", "jl" ] }, { "Name": "Jungle", "Aliases": [ "jungle" ] }, { "Name": "Kotlin", "Aliases": [ "kotlin" ] }, { "Name": "Lighttpd configuration file", "Aliases": [ "lighty", "lighttpd" ] }, { "Name": "LLVM", "Aliases": [ "llvm" ] }, { "Name": "Lua", "Aliases": [ "lua" ] }, { "Name": "Makefile", "Aliases": [ "make", "makefile", "mf", "bsdmake" ] }, { "Name": "Mako", "Aliases": [ "mako" ] }, { "Name": "markdown", "Aliases": [ "md", "mkd" ] }, { "Name": "Mason", "Aliases": [ "mason" ] }, { "Name": "Mathematica", "Aliases": [ "mathematica", "mma", "nb" ] }, { "Name": "Matlab", "Aliases": [ "matlab" ] }, { "Name": "mcfunction", "Aliases": [ "mcfunction" ] }, { "Name": "Meson", "Aliases": [ "meson", "meson.build" ] }, { "Name": "Metal", "Aliases": [ "metal" ] }, { "Name": "MiniZinc", "Aliases": [ "minizinc", "MZN", "mzn" ] }, { "Name": "MLIR", "Aliases": [ "mlir" ] }, { "Name": "Modula-2", "Aliases": [ "modula2", "m2" ] }, { "Name": "MonkeyC", "Aliases": [ "monkeyc" ] }, { "Name": "MorrowindScript", "Aliases": [ "morrowind", "mwscript" ] }, { "Name": "Myghty", "Aliases": [ "myghty" ] }, { "Name": "MySQL", "Aliases": [ "mysql", "mariadb" ] }, { "Name": "NASM", "Aliases": [ "nasm" ] }, { "Name": "Natural", "Aliases": [ "natural" ] }, { "Name": "Newspeak", "Aliases": [ "newspeak" ] }, { "Name": "Nginx configuration file", "Aliases": [ "nginx" ] }, { "Name": "Nim", "Aliases": [ "nim", "nimrod" ] }, { "Name": "Nix", "Aliases": [ "nixos", "nix" ] }, { "Name": "Objective-C", "Aliases": [ "objective-c", "objectivec", "obj-c", "objc" ] }, { "Name": "OCaml", "Aliases": [ "ocaml" ] }, { "Name": "Octave", "Aliases": [ "octave" ] }, { "Name": "OnesEnterprise", "Aliases": [ "ones", "onesenterprise", "1S", "1S:Enterprise" ] }, { "Name": "OpenEdge ABL", "Aliases": [ "openedge", "abl", "progress", "openedgeabl" ] }, { "Name": "OpenSCAD", "Aliases": [ "openscad" ] }, { "Name": "Org Mode", "Aliases": [ "org", "orgmode" ] }, { "Name": "PacmanConf", "Aliases": [ "pacmanconf" ] }, { "Name": "Perl", "Aliases": [ "perl", "pl" ] }, { "Name": "PHP", "Aliases": [ "php", "php3", "php4", "php5" ] }, { "Name": "PHTML", "Aliases": [ "phtml" ] }, { "Name": "Pig", "Aliases": [ "pig" ] }, { "Name": "PkgConfig", "Aliases": [ "pkgconfig" ] }, { "Name": "PL/pgSQL", "Aliases": [ "plpgsql" ] }, { "Name": "plaintext", "Aliases": [ "text", "plain", "no-highlight" ] }, { "Name": "Plutus Core", "Aliases": [ "plutus-core", "plc" ] }, { "Name": "Pony", "Aliases": [ "pony" ] }, { "Name": "PostgreSQL SQL dialect", "Aliases": [ "postgresql", "postgres" ] }, { "Name": "PostScript", "Aliases": [ "postscript", "postscr" ] }, { "Name": "POVRay", "Aliases": [ "pov" ] }, { "Name": "PowerQuery", "Aliases": [ "powerquery", "pq" ] }, { "Name": "PowerShell", "Aliases": [ "powershell", "posh", "ps1", "psm1", "psd1", "pwsh" ] }, { "Name": "Prolog", "Aliases": [ "prolog" ] }, { "Name": "PromQL", "Aliases": [ "promql" ] }, { "Name": "properties", "Aliases": [ "java-properties" ] }, { "Name": "Protocol Buffer", "Aliases": [ "protobuf", "proto" ] }, { "Name": "PSL", "Aliases": [ "psl" ] }, { "Name": "Puppet", "Aliases": [ "puppet" ] }, { "Name": "Python", "Aliases": [ "python", "py", "sage", "python3", "py3" ] }, { "Name": "Python 2", "Aliases": [ "python2", "py2" ] }, { "Name": "QBasic", "Aliases": [ "qbasic", "basic" ] }, { "Name": "QML", "Aliases": [ "qml", "qbs" ] }, { "Name": "R", "Aliases": [ "splus", "s", "r" ] }, { "Name": "Racket", "Aliases": [ "racket", "rkt" ] }, { "Name": "Ragel", "Aliases": [ "ragel" ] }, { "Name": "Raku", "Aliases": [ "perl6", "pl6", "raku" ] }, { "Name": "react", "Aliases": [ "jsx", "react" ] }, { "Name": "ReasonML", "Aliases": [ "reason", "reasonml" ] }, { "Name": "reg", "Aliases": [ "registry" ] }, { "Name": "reStructuredText", "Aliases": [ "rst", "rest", "restructuredtext" ] }, { "Name": "Rexx", "Aliases": [ "rexx", "arexx" ] }, { "Name": "Ruby", "Aliases": [ "rb", "ruby", "duby" ] }, { "Name": "Rust", "Aliases": [ "rust", "rs" ] }, { "Name": "SAS", "Aliases": [ "sas" ] }, { "Name": "Sass", "Aliases": [ "sass" ] }, { "Name": "Scala", "Aliases": [ "scala" ] }, { "Name": "Scheme", "Aliases": [ "scheme", "scm" ] }, { "Name": "Scilab", "Aliases": [ "scilab" ] }, { "Name": "SCSS", "Aliases": [ "scss" ] }, { "Name": "Sed", "Aliases": [ "sed", "gsed", "ssed" ] }, { "Name": "Sieve", "Aliases": [ "sieve" ] }, { "Name": "Smalltalk", "Aliases": [ "smalltalk", "squeak", "st" ] }, { "Name": "Smarty", "Aliases": [ "smarty" ] }, { "Name": "Snobol", "Aliases": [ "snobol" ] }, { "Name": "Solidity", "Aliases": [ "sol", "solidity" ] }, { "Name": "SPARQL", "Aliases": [ "sparql" ] }, { "Name": "SQL", "Aliases": [ "sql" ] }, { "Name": "SquidConf", "Aliases": [ "squidconf", "squid.conf", "squid" ] }, { "Name": "Standard ML", "Aliases": [ "sml" ] }, { "Name": "stas", "Aliases": null }, { "Name": "Stylus", "Aliases": [ "stylus" ] }, { "Name": "Svelte", "Aliases": [ "svelte" ] }, { "Name": "Swift", "Aliases": [ "swift" ] }, { "Name": "SYSTEMD", "Aliases": [ "systemd" ] }, { "Name": "systemverilog", "Aliases": [ "systemverilog", "sv" ] }, { "Name": "TableGen", "Aliases": [ "tablegen" ] }, { "Name": "TASM", "Aliases": [ "tasm" ] }, { "Name": "Tcl", "Aliases": [ "tcl" ] }, { "Name": "Tcsh", "Aliases": [ "tcsh", "csh" ] }, { "Name": "Termcap", "Aliases": [ "termcap" ] }, { "Name": "Terminfo", "Aliases": [ "terminfo" ] }, { "Name": "Terraform", "Aliases": [ "terraform", "tf" ] }, { "Name": "TeX", "Aliases": [ "tex", "latex" ] }, { "Name": "Thrift", "Aliases": [ "thrift" ] }, { "Name": "TOML", "Aliases": [ "toml" ] }, { "Name": "TradingView", "Aliases": [ "tradingview", "tv" ] }, { "Name": "Transact-SQL", "Aliases": [ "tsql", "t-sql" ] }, { "Name": "Turing", "Aliases": [ "turing" ] }, { "Name": "Turtle", "Aliases": [ "turtle" ] }, { "Name": "Twig", "Aliases": [ "twig" ] }, { "Name": "TypeScript", "Aliases": [ "ts", "tsx", "typescript" ] }, { "Name": "TypoScript", "Aliases": [ "typoscript" ] }, { "Name": "TypoScriptCssData", "Aliases": [ "typoscriptcssdata" ] }, { "Name": "TypoScriptHtmlData", "Aliases": [ "typoscripthtmldata" ] }, { "Name": "V", "Aliases": [ "v", "vlang" ] }, { "Name": "V shell", "Aliases": [ "vsh", "vshell" ] }, { "Name": "Vala", "Aliases": [ "vala", "vapi" ] }, { "Name": "VB.net", "Aliases": [ "vb.net", "vbnet" ] }, { "Name": "verilog", "Aliases": [ "verilog", "v" ] }, { "Name": "VHDL", "Aliases": [ "vhdl" ] }, { "Name": "VHS", "Aliases": [ "vhs", "tape", "cassette" ] }, { "Name": "VimL", "Aliases": [ "vim" ] }, { "Name": "vue", "Aliases": [ "vue", "vuejs" ] }, { "Name": "WDTE", "Aliases": null }, { "Name": "Whiley", "Aliases": [ "whiley" ] }, { "Name": "XML", "Aliases": [ "xml" ] }, { "Name": "Xorg", "Aliases": [ "xorg.conf" ] }, { "Name": "YAML", "Aliases": [ "yaml" ] }, { "Name": "YANG", "Aliases": [ "yang" ] }, { "Name": "Z80 Assembly", "Aliases": [ "z80" ] }, { "Name": "Zed", "Aliases": [ "zed" ] }, { "Name": "Zig", "Aliases": [ "zig" ] } ] }, "config": { "markup": { "defaultMarkdownHandler": "goldmark", "highlight": { "style": "monokai", "codeFences": true, "noClasses": true, "noHl": false, "lineNos": false, "lineNumbersInTable": true, "anchorLineNos": false, "lineAnchors": "", "lineNoStart": 1, "hl_Lines": "", "hl_inline": false, "tabWidth": 4, "guessSyntax": false }, "tableOfContents": { "startLevel": 2, "endLevel": 3, "ordered": false }, "goldmark": { "renderer": { "hardWraps": false, "xhtml": false, "unsafe": false }, "parser": { "autoHeadingID": true, "autoHeadingIDType": "github", "attribute": { "title": true, "block": false }, "wrapStandAloneImageWithinParagraph": true }, "extensions": { "typographer": { "disable": false, "leftSingleQuote": "\u0026lsquo;", "rightSingleQuote": "\u0026rsquo;", "leftDoubleQuote": "\u0026ldquo;", "rightDoubleQuote": "\u0026rdquo;", "enDash": "\u0026ndash;", "emDash": "\u0026mdash;", "ellipsis": "\u0026hellip;", "leftAngleQuote": "\u0026laquo;", "rightAngleQuote": "\u0026raquo;", "apostrophe": "\u0026rsquo;" }, "footnote": true, "definitionList": true, "table": true, "strikethrough": true, "linkify": true, "linkifyProtocol": "https", "taskList": true } }, "asciidocExt": { "backend": "html5", "extensions": [], "attributes": {}, "noHeaderOrFooter": true, "safeMode": "unsafe", "sectionNumbers": false, "verbose": false, "trace": false, "failureLevel": "fatal", "workingFolderCurrent": false, "preserveTOC": false } }, "mergeStrategy": { "build": { "_merge": "none" }, "caches": { "_merge": "none" }, "cascade": { "_merge": "none" }, "frontmatter": { "_merge": "none" }, "imaging": { "_merge": "none" }, "languages": { "_merge": "none", "en": { "_merge": "none", "menus": { "_merge": "shallow" }, "params": { "_merge": "deep" } } }, "markup": { "_merge": "none" }, "mediatypes": { "_merge": "shallow" }, "menus": { "_merge": "shallow" }, "minify": { "_merge": "none" }, "module": { "_merge": "none" }, "outputformats": { "_merge": "shallow" }, "params": { "_merge": "deep" }, "permalinks": { "_merge": "none" }, "privacy": { "_merge": "none" }, "related": { "_merge": "none" }, "security": { "_merge": "none" }, "sitemap": { "_merge": "none" }, "taxonomies": { "_merge": "none" } }, "minify": { "minifyOutput": false, "disableHTML": false, "disableCSS": false, "disableJS": false, "disableJSON": false, "disableSVG": false, "disableXML": false, "tdewolff": { "html": { "keepComments": false, "keepConditionalComments": true, "keepDefaultAttrVals": true, "keepDocumentTags": true, "keepEndTags": true, "keepQuotes": false, "keepWhitespace": false }, "css": { "keepCSS2": true, "precision": 0 }, "js": { "precision": 0, "keepVarNames": false, "noNullishOperator": false, "version": 0 }, "json": { "precision": 0, "keepNumbers": false }, "svg": { "keepComments": false, "precision": 0 }, "xml": { "keepWhitespace": false } } }, "security": { "enableInlineShortcodes": false, "exec": { "allow": [ "^dart-sass-embedded$", "^go$", "^npx$", "^postcss$" ], "osEnv": [ "(?i)^((HTTPS?|NO)_PROXY|PATH(EXT)?|APPDATA|TE?MP|TERM|GO\\w+)$" ] }, "funcs": { "getenv": [ "^HUGO_", "^CI$" ] }, "http": { "mediaTypes": null, "methods": [ "(?i)GET|POST" ], "urls": [ ".*" ] } } }, "media": { "types": [ { "mainType": "application", "subType": "json", "delimiter": ".", "type": "application/json", "string": "application/json", "suffixes": [ "json" ] }, { "mainType": "application", "subType": "manifest", "delimiter": ".", "type": "application/manifest+json", "string": "application/manifest+json", "suffixes": [ "webmanifest" ] }, { "mainType": "application", "subType": "octet-stream", "delimiter": ".", "type": "application/octet-stream", "string": "application/octet-stream", "suffixes": [ "" ] }, { "mainType": "application", "subType": "pdf", "delimiter": ".", "type": "application/pdf", "string": "application/pdf", "suffixes": [ "pdf" ] }, { "mainType": "application", "subType": "rss", "delimiter": ".", "type": "application/rss+xml", "string": "application/rss+xml", "suffixes": [ "xml", "rss" ] }, { "mainType": "application", "subType": "toml", "delimiter": ".", "type": "application/toml", "string": "application/toml", "suffixes": [ "toml" ] }, { "mainType": "application", "subType": "wasm", "delimiter": ".", "type": "application/wasm", "string": "application/wasm", "suffixes": [ "wasm" ] }, { "mainType": "application", "subType": "xml", "delimiter": ".", "type": "application/xml", "string": "application/xml", "suffixes": [ "xml" ] }, { "mainType": "application", "subType": "yaml", "delimiter": ".", "type": "application/yaml", "string": "application/yaml", "suffixes": [ "yaml", "yml" ] }, { "mainType": "font", "subType": "otf", "delimiter": ".", "type": "font/otf", "string": "font/otf", "suffixes": [ "otf" ] }, { "mainType": "font", "subType": "ttf", "delimiter": ".", "type": "font/ttf", "string": "font/ttf", "suffixes": [ "ttf" ] }, { "mainType": "image", "subType": "bmp", "delimiter": ".", "type": "image/bmp", "string": "image/bmp", "suffixes": [ "bmp" ] }, { "mainType": "image", "subType": "gif", "delimiter": ".", "type": "image/gif", "string": "image/gif", "suffixes": [ "gif" ] }, { "mainType": "image", "subType": "jpeg", "delimiter": ".", "type": "image/jpeg", "string": "image/jpeg", "suffixes": [ "jpg", "jpeg", "jpe", "jif", "jfif" ] }, { "mainType": "image", "subType": "png", "delimiter": ".", "type": "image/png", "string": "image/png", "suffixes": [ "png" ] }, { "mainType": "image", "subType": "svg", "delimiter": ".", "type": "image/svg+xml", "string": "image/svg+xml", "suffixes": [ "svg" ] }, { "mainType": "image", "subType": "tiff", "delimiter": ".", "type": "image/tiff", "string": "image/tiff", "suffixes": [ "tif", "tiff" ] }, { "mainType": "image", "subType": "webp", "delimiter": ".", "type": "image/webp", "string": "image/webp", "suffixes": [ "webp" ] }, { "mainType": "text", "subType": "calendar", "delimiter": ".", "type": "text/calendar", "string": "text/calendar", "suffixes": [ "ics" ] }, { "mainType": "text", "subType": "css", "delimiter": ".", "type": "text/css", "string": "text/css", "suffixes": [ "css" ] }, { "mainType": "text", "subType": "csv", "delimiter": ".", "type": "text/csv", "string": "text/csv", "suffixes": [ "csv" ] }, { "mainType": "text", "subType": "html", "delimiter": ".", "type": "text/html", "string": "text/html", "suffixes": [ "html" ] }, { "mainType": "text", "subType": "javascript", "delimiter": ".", "type": "text/javascript", "string": "text/javascript", "suffixes": [ "js", "jsm", "mjs" ] }, { "mainType": "text", "subType": "jsx", "delimiter": ".", "type": "text/jsx", "string": "text/jsx", "suffixes": [ "jsx" ] }, { "mainType": "text", "subType": "markdown", "delimiter": ".", "type": "text/markdown", "string": "text/markdown", "suffixes": [ "md", "markdown" ] }, { "mainType": "text", "subType": "plain", "delimiter": ".", "type": "text/plain", "string": "text/plain", "suffixes": [ "txt" ] }, { "mainType": "text", "subType": "tsx", "delimiter": ".", "type": "text/tsx", "string": "text/tsx", "suffixes": [ "tsx" ] }, { "mainType": "text", "subType": "typescript", "delimiter": ".", "type": "text/typescript", "string": "text/typescript", "suffixes": [ "ts" ] }, { "mainType": "text", "subType": "x-sass", "delimiter": ".", "type": "text/x-sass", "string": "text/x-sass", "suffixes": [ "sass" ] }, { "mainType": "text", "subType": "x-scss", "delimiter": ".", "type": "text/x-scss", "string": "text/x-scss", "suffixes": [ "scss" ] }, { "mainType": "video", "subType": "3gpp", "delimiter": ".", "type": "video/3gpp", "string": "video/3gpp", "suffixes": [ "3gpp", "3gp" ] }, { "mainType": "video", "subType": "mp4", "delimiter": ".", "type": "video/mp4", "string": "video/mp4", "suffixes": [ "mp4" ] }, { "mainType": "video", "subType": "mpeg", "delimiter": ".", "type": "video/mpeg", "string": "video/mpeg", "suffixes": [ "mpg", "mpeg" ] }, { "mainType": "video", "subType": "ogg", "delimiter": ".", "type": "video/ogg", "string": "video/ogg", "suffixes": [ "ogv" ] }, { "mainType": "video", "subType": "webm", "delimiter": ".", "type": "video/webm", "string": "video/webm", "suffixes": [ "webm" ] }, { "mainType": "video", "subType": "x-msvideo", "delimiter": ".", "type": "video/x-msvideo", "string": "video/x-msvideo", "suffixes": [ "avi" ] } ] }, "output": { "formats": [ { "mediaType": "text/html", "name": "html", "path": "", "baseName": "index", "rel": "canonical", "protocol": "", "isPlainText": false, "isHTML": true, "noUgly": false, "notAlternative": false, "permalinkable": true, "weight": 10 }, { "mediaType": "text/html", "name": "amp", "path": "amp", "baseName": "index", "rel": "amphtml", "protocol": "", "isPlainText": false, "isHTML": true, "noUgly": false, "notAlternative": false, "permalinkable": true, "weight": 0 }, { "mediaType": "text/calendar", "name": "calendar", "path": "", "baseName": "index", "rel": "alternate", "protocol": "webcal://", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "text/css", "name": "css", "path": "", "baseName": "styles", "rel": "stylesheet", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": true, "permalinkable": false, "weight": 0 }, { "mediaType": "text/csv", "name": "csv", "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "application/json", "name": "json", "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "text/markdown", "name": "markdown", "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "text/plain", "name": "robots", "path": "", "baseName": "robots", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "application/rss+xml", "name": "rss", "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": false, "isHTML": false, "noUgly": true, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "application/xml", "name": "sitemap", "path": "", "baseName": "sitemap", "rel": "sitemap", "protocol": "", "isPlainText": false, "isHTML": false, "noUgly": true, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "mediaType": "application/manifest+json", "name": "webappmanifest", "path": "", "baseName": "manifest", "rel": "manifest", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": true, "permalinkable": false, "weight": 0 } ], "layouts": [ { "Example": "Single page in \"posts\" section", "Kind": "page", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/single.html.html", "layouts/posts/single.html", "layouts/_default/single.html.html", "layouts/_default/single.html" ] }, { "Example": "Base template for single page in \"posts\" section", "Kind": "page", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/single-baseof.html.html", "layouts/posts/baseof.html.html", "layouts/posts/single-baseof.html", "layouts/posts/baseof.html", "layouts/_default/single-baseof.html.html", "layouts/_default/baseof.html.html", "layouts/_default/single-baseof.html", "layouts/_default/baseof.html" ] }, { "Example": "Single page in \"posts\" section with layout set", "Kind": "page", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/demolayout.html.html", "layouts/posts/single.html.html", "layouts/posts/demolayout.html", "layouts/posts/single.html", "layouts/_default/demolayout.html.html", "layouts/_default/single.html.html", "layouts/_default/demolayout.html", "layouts/_default/single.html" ] }, { "Example": "Base template for single page in \"posts\" section with layout set", "Kind": "page", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/demolayout-baseof.html.html", "layouts/posts/single-baseof.html.html", "layouts/posts/baseof.html.html", "layouts/posts/demolayout-baseof.html", "layouts/posts/single-baseof.html", "layouts/posts/baseof.html", "layouts/_default/demolayout-baseof.html.html", "layouts/_default/single-baseof.html.html", "layouts/_default/baseof.html.html", "layouts/_default/demolayout-baseof.html", "layouts/_default/single-baseof.html", "layouts/_default/baseof.html" ] }, { "Example": "AMP single page", "Kind": "page", "OutputFormat": "amp", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/single.amp.html", "layouts/posts/single.html", "layouts/_default/single.amp.html", "layouts/_default/single.html" ] }, { "Example": "AMP single page, French language", "Kind": "page", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/single.fr.html.html", "layouts/posts/single.html.html", "layouts/posts/single.fr.html", "layouts/posts/single.html", "layouts/_default/single.fr.html.html", "layouts/_default/single.html.html", "layouts/_default/single.fr.html", "layouts/_default/single.html" ] }, { "Example": "Home page", "Kind": "home", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/index.html.html", "layouts/home.html.html", "layouts/list.html.html", "layouts/index.html", "layouts/home.html", "layouts/list.html", "layouts/_default/index.html.html", "layouts/_default/home.html.html", "layouts/_default/list.html.html", "layouts/_default/index.html", "layouts/_default/home.html", "layouts/_default/list.html" ] }, { "Example": "Base template for home page", "Kind": "home", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/index-baseof.html.html", "layouts/home-baseof.html.html", "layouts/list-baseof.html.html", "layouts/baseof.html.html", "layouts/index-baseof.html", "layouts/home-baseof.html", "layouts/list-baseof.html", "layouts/baseof.html", "layouts/_default/index-baseof.html.html", "layouts/_default/home-baseof.html.html", "layouts/_default/list-baseof.html.html", "layouts/_default/baseof.html.html", "layouts/_default/index-baseof.html", "layouts/_default/home-baseof.html", "layouts/_default/list-baseof.html", "layouts/_default/baseof.html" ] }, { "Example": "Home page with type set", "Kind": "home", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/demotype/index.html.html", "layouts/demotype/home.html.html", "layouts/demotype/list.html.html", "layouts/demotype/index.html", "layouts/demotype/home.html", "layouts/demotype/list.html", "layouts/index.html.html", "layouts/home.html.html", "layouts/list.html.html", "layouts/index.html", "layouts/home.html", "layouts/list.html", "layouts/_default/index.html.html", "layouts/_default/home.html.html", "layouts/_default/list.html.html", "layouts/_default/index.html", "layouts/_default/home.html", "layouts/_default/list.html" ] }, { "Example": "Base template for home page with type set", "Kind": "home", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/demotype/index-baseof.html.html", "layouts/demotype/home-baseof.html.html", "layouts/demotype/list-baseof.html.html", "layouts/demotype/baseof.html.html", "layouts/demotype/index-baseof.html", "layouts/demotype/home-baseof.html", "layouts/demotype/list-baseof.html", "layouts/demotype/baseof.html", "layouts/index-baseof.html.html", "layouts/home-baseof.html.html", "layouts/list-baseof.html.html", "layouts/baseof.html.html", "layouts/index-baseof.html", "layouts/home-baseof.html", "layouts/list-baseof.html", "layouts/baseof.html", "layouts/_default/index-baseof.html.html", "layouts/_default/home-baseof.html.html", "layouts/_default/list-baseof.html.html", "layouts/_default/baseof.html.html", "layouts/_default/index-baseof.html", "layouts/_default/home-baseof.html", "layouts/_default/list-baseof.html", "layouts/_default/baseof.html" ] }, { "Example": "Home page with layout set", "Kind": "home", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/demolayout.html.html", "layouts/index.html.html", "layouts/home.html.html", "layouts/list.html.html", "layouts/demolayout.html", "layouts/index.html", "layouts/home.html", "layouts/list.html", "layouts/_default/demolayout.html.html", "layouts/_default/index.html.html", "layouts/_default/home.html.html", "layouts/_default/list.html.html", "layouts/_default/demolayout.html", "layouts/_default/index.html", "layouts/_default/home.html", "layouts/_default/list.html" ] }, { "Example": "AMP home, French language", "Kind": "home", "OutputFormat": "amp", "Suffix": "html", "Template Lookup Order": [ "layouts/index.fr.amp.html", "layouts/home.fr.amp.html", "layouts/list.fr.amp.html", "layouts/index.amp.html", "layouts/home.amp.html", "layouts/list.amp.html", "layouts/index.fr.html", "layouts/home.fr.html", "layouts/list.fr.html", "layouts/index.html", "layouts/home.html", "layouts/list.html", "layouts/_default/index.fr.amp.html", "layouts/_default/home.fr.amp.html", "layouts/_default/list.fr.amp.html", "layouts/_default/index.amp.html", "layouts/_default/home.amp.html", "layouts/_default/list.amp.html", "layouts/_default/index.fr.html", "layouts/_default/home.fr.html", "layouts/_default/list.fr.html", "layouts/_default/index.html", "layouts/_default/home.html", "layouts/_default/list.html" ] }, { "Example": "JSON home", "Kind": "home", "OutputFormat": "json", "Suffix": "json", "Template Lookup Order": [ "layouts/index.json.json", "layouts/home.json.json", "layouts/list.json.json", "layouts/index.json", "layouts/home.json", "layouts/list.json", "layouts/_default/index.json.json", "layouts/_default/home.json.json", "layouts/_default/list.json.json", "layouts/_default/index.json", "layouts/_default/home.json", "layouts/_default/list.json" ] }, { "Example": "RSS home", "Kind": "home", "OutputFormat": "rss", "Suffix": "xml", "Template Lookup Order": [ "layouts/index.rss.xml", "layouts/home.rss.xml", "layouts/rss.xml", "layouts/list.rss.xml", "layouts/index.xml", "layouts/home.xml", "layouts/list.xml", "layouts/_default/index.rss.xml", "layouts/_default/home.rss.xml", "layouts/_default/rss.xml", "layouts/_default/list.rss.xml", "layouts/_default/index.xml", "layouts/_default/home.xml", "layouts/_default/list.xml", "layouts/_internal/_default/rss.xml" ] }, { "Example": "RSS section posts", "Kind": "section", "OutputFormat": "rss", "Suffix": "xml", "Template Lookup Order": [ "layouts/posts/section.rss.xml", "layouts/posts/rss.xml", "layouts/posts/list.rss.xml", "layouts/posts/section.xml", "layouts/posts/list.xml", "layouts/section/section.rss.xml", "layouts/section/rss.xml", "layouts/section/list.rss.xml", "layouts/section/section.xml", "layouts/section/list.xml", "layouts/_default/section.rss.xml", "layouts/_default/rss.xml", "layouts/_default/list.rss.xml", "layouts/_default/section.xml", "layouts/_default/list.xml", "layouts/_internal/_default/rss.xml" ] }, { "Example": "Taxonomy in categories", "Kind": "taxonomy", "OutputFormat": "rss", "Suffix": "xml", "Template Lookup Order": [ "layouts/categories/category.terms.rss.xml", "layouts/categories/terms.rss.xml", "layouts/categories/taxonomy.rss.xml", "layouts/categories/rss.xml", "layouts/categories/list.rss.xml", "layouts/categories/category.terms.xml", "layouts/categories/terms.xml", "layouts/categories/taxonomy.xml", "layouts/categories/list.xml", "layouts/category/category.terms.rss.xml", "layouts/category/terms.rss.xml", "layouts/category/taxonomy.rss.xml", "layouts/category/rss.xml", "layouts/category/list.rss.xml", "layouts/category/category.terms.xml", "layouts/category/terms.xml", "layouts/category/taxonomy.xml", "layouts/category/list.xml", "layouts/taxonomy/category.terms.rss.xml", "layouts/taxonomy/terms.rss.xml", "layouts/taxonomy/taxonomy.rss.xml", "layouts/taxonomy/rss.xml", "layouts/taxonomy/list.rss.xml", "layouts/taxonomy/category.terms.xml", "layouts/taxonomy/terms.xml", "layouts/taxonomy/taxonomy.xml", "layouts/taxonomy/list.xml", "layouts/_default/category.terms.rss.xml", "layouts/_default/terms.rss.xml", "layouts/_default/taxonomy.rss.xml", "layouts/_default/rss.xml", "layouts/_default/list.rss.xml", "layouts/_default/category.terms.xml", "layouts/_default/terms.xml", "layouts/_default/taxonomy.xml", "layouts/_default/list.xml", "layouts/_internal/_default/rss.xml" ] }, { "Example": "Term in categories", "Kind": "term", "OutputFormat": "rss", "Suffix": "xml", "Template Lookup Order": [ "layouts/categories/term.rss.xml", "layouts/categories/category.rss.xml", "layouts/categories/taxonomy.rss.xml", "layouts/categories/rss.xml", "layouts/categories/list.rss.xml", "layouts/categories/term.xml", "layouts/categories/category.xml", "layouts/categories/taxonomy.xml", "layouts/categories/list.xml", "layouts/term/term.rss.xml", "layouts/term/category.rss.xml", "layouts/term/taxonomy.rss.xml", "layouts/term/rss.xml", "layouts/term/list.rss.xml", "layouts/term/term.xml", "layouts/term/category.xml", "layouts/term/taxonomy.xml", "layouts/term/list.xml", "layouts/taxonomy/term.rss.xml", "layouts/taxonomy/category.rss.xml", "layouts/taxonomy/taxonomy.rss.xml", "layouts/taxonomy/rss.xml", "layouts/taxonomy/list.rss.xml", "layouts/taxonomy/term.xml", "layouts/taxonomy/category.xml", "layouts/taxonomy/taxonomy.xml", "layouts/taxonomy/list.xml", "layouts/category/term.rss.xml", "layouts/category/category.rss.xml", "layouts/category/taxonomy.rss.xml", "layouts/category/rss.xml", "layouts/category/list.rss.xml", "layouts/category/term.xml", "layouts/category/category.xml", "layouts/category/taxonomy.xml", "layouts/category/list.xml", "layouts/_default/term.rss.xml", "layouts/_default/category.rss.xml", "layouts/_default/taxonomy.rss.xml", "layouts/_default/rss.xml", "layouts/_default/list.rss.xml", "layouts/_default/term.xml", "layouts/_default/category.xml", "layouts/_default/taxonomy.xml", "layouts/_default/list.xml", "layouts/_internal/_default/rss.xml" ] }, { "Example": "Section list for \"posts\" section", "Kind": "section", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/posts.html.html", "layouts/posts/section.html.html", "layouts/posts/list.html.html", "layouts/posts/posts.html", "layouts/posts/section.html", "layouts/posts/list.html", "layouts/section/posts.html.html", "layouts/section/section.html.html", "layouts/section/list.html.html", "layouts/section/posts.html", "layouts/section/section.html", "layouts/section/list.html", "layouts/_default/posts.html.html", "layouts/_default/section.html.html", "layouts/_default/list.html.html", "layouts/_default/posts.html", "layouts/_default/section.html", "layouts/_default/list.html" ] }, { "Example": "Section list for \"posts\" section with type set to \"blog\"", "Kind": "section", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/blog/posts.html.html", "layouts/blog/section.html.html", "layouts/blog/list.html.html", "layouts/blog/posts.html", "layouts/blog/section.html", "layouts/blog/list.html", "layouts/posts/posts.html.html", "layouts/posts/section.html.html", "layouts/posts/list.html.html", "layouts/posts/posts.html", "layouts/posts/section.html", "layouts/posts/list.html", "layouts/section/posts.html.html", "layouts/section/section.html.html", "layouts/section/list.html.html", "layouts/section/posts.html", "layouts/section/section.html", "layouts/section/list.html", "layouts/_default/posts.html.html", "layouts/_default/section.html.html", "layouts/_default/list.html.html", "layouts/_default/posts.html", "layouts/_default/section.html", "layouts/_default/list.html" ] }, { "Example": "Section list for \"posts\" section with layout set to \"demoLayout\"", "Kind": "section", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/demolayout.html.html", "layouts/posts/posts.html.html", "layouts/posts/section.html.html", "layouts/posts/list.html.html", "layouts/posts/demolayout.html", "layouts/posts/posts.html", "layouts/posts/section.html", "layouts/posts/list.html", "layouts/section/demolayout.html.html", "layouts/section/posts.html.html", "layouts/section/section.html.html", "layouts/section/list.html.html", "layouts/section/demolayout.html", "layouts/section/posts.html", "layouts/section/section.html", "layouts/section/list.html", "layouts/_default/demolayout.html.html", "layouts/_default/posts.html.html", "layouts/_default/section.html.html", "layouts/_default/list.html.html", "layouts/_default/demolayout.html", "layouts/_default/posts.html", "layouts/_default/section.html", "layouts/_default/list.html" ] }, { "Example": "Taxonomy list in categories", "Kind": "taxonomy", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/categories/category.terms.html.html", "layouts/categories/terms.html.html", "layouts/categories/taxonomy.html.html", "layouts/categories/list.html.html", "layouts/categories/category.terms.html", "layouts/categories/terms.html", "layouts/categories/taxonomy.html", "layouts/categories/list.html", "layouts/category/category.terms.html.html", "layouts/category/terms.html.html", "layouts/category/taxonomy.html.html", "layouts/category/list.html.html", "layouts/category/category.terms.html", "layouts/category/terms.html", "layouts/category/taxonomy.html", "layouts/category/list.html", "layouts/taxonomy/category.terms.html.html", "layouts/taxonomy/terms.html.html", "layouts/taxonomy/taxonomy.html.html", "layouts/taxonomy/list.html.html", "layouts/taxonomy/category.terms.html", "layouts/taxonomy/terms.html", "layouts/taxonomy/taxonomy.html", "layouts/taxonomy/list.html", "layouts/_default/category.terms.html.html", "layouts/_default/terms.html.html", "layouts/_default/taxonomy.html.html", "layouts/_default/list.html.html", "layouts/_default/category.terms.html", "layouts/_default/terms.html", "layouts/_default/taxonomy.html", "layouts/_default/list.html" ] }, { "Example": "Taxonomy term in categories", "Kind": "term", "OutputFormat": "html", "Suffix": "html", "Template Lookup Order": [ "layouts/categories/term.html.html", "layouts/categories/category.html.html", "layouts/categories/taxonomy.html.html", "layouts/categories/list.html.html", "layouts/categories/term.html", "layouts/categories/category.html", "layouts/categories/taxonomy.html", "layouts/categories/list.html", "layouts/term/term.html.html", "layouts/term/category.html.html", "layouts/term/taxonomy.html.html", "layouts/term/list.html.html", "layouts/term/term.html", "layouts/term/category.html", "layouts/term/taxonomy.html", "layouts/term/list.html", "layouts/taxonomy/term.html.html", "layouts/taxonomy/category.html.html", "layouts/taxonomy/taxonomy.html.html", "layouts/taxonomy/list.html.html", "layouts/taxonomy/term.html", "layouts/taxonomy/category.html", "layouts/taxonomy/taxonomy.html", "layouts/taxonomy/list.html", "layouts/category/term.html.html", "layouts/category/category.html.html", "layouts/category/taxonomy.html.html", "layouts/category/list.html.html", "layouts/category/term.html", "layouts/category/category.html", "layouts/category/taxonomy.html", "layouts/category/list.html", "layouts/_default/term.html.html", "layouts/_default/category.html.html", "layouts/_default/taxonomy.html.html", "layouts/_default/list.html.html", "layouts/_default/term.html", "layouts/_default/category.html", "layouts/_default/taxonomy.html", "layouts/_default/list.html" ] } ] }, "tpl": { "funcs": { "cast": { "ToFloat": { "Description": "ToFloat converts v to a float.", "Args": [ "v" ], "Aliases": [ "float" ], "Examples": [ [ "{{ \"1234\" | float | printf \"%T\" }}", "float64" ] ] }, "ToInt": { "Description": "ToInt converts v to an int.", "Args": [ "v" ], "Aliases": [ "int" ], "Examples": [ [ "{{ \"1234\" | int | printf \"%T\" }}", "int" ] ] }, "ToString": { "Description": "ToString converts v to a string.", "Args": [ "v" ], "Aliases": [ "string" ], "Examples": [ [ "{{ 1234 | string | printf \"%T\" }}", "string" ] ] } }, "compare": { "Conditional": { "Description": "Conditional can be used as a ternary operator.\n\nIt returns v1 if cond is true, else v2.", "Args": [ "cond", "v1", "v2" ], "Aliases": [ "cond" ], "Examples": [ [ "{{ cond (eq (add 2 2) 4) \"2+2 is 4\" \"what?\" | safeHTML }}", "2+2 is 4" ] ] }, "Default": { "Description": "Default checks whether a givenv is set and returns the default value defaultv if it\nis not. \"Set\" in this context means non-zero for numeric types and times;\nnon-zero length for strings, arrays, slices, and maps;\nany boolean or struct value; or non-nil for any other types.", "Args": [ "defaultv", "givenv" ], "Aliases": [ "default" ], "Examples": [ [ "{{ \"Hugo Rocks!\" | default \"Hugo Rules!\" }}", "Hugo Rocks!" ], [ "{{ \"\" | default \"Hugo Rules!\" }}", "Hugo Rules!" ] ] }, "Eq": { "Description": "Eq returns the boolean truth of arg1 == arg2 || arg1 == arg3 || arg1 == arg4.", "Args": [ "first", "others" ], "Aliases": [ "eq" ], "Examples": [ [ "{{ if eq .Section \"blog\" }}current-section{{ end }}", "current-section" ] ] }, "Ge": { "Description": "Ge returns the boolean truth of arg1 \u003e= arg2 \u0026\u0026 arg1 \u003e= arg3 \u0026\u0026 arg1 \u003e= arg4.", "Args": [ "first", "others" ], "Aliases": [ "ge" ], "Examples": [ [ "{{ if ge hugo.Version \"0.80\" }}Reasonable new Hugo version!{{ end }}", "Reasonable new Hugo version!" ] ] }, "Gt": { "Description": "Gt returns the boolean truth of arg1 \u003e arg2 \u0026\u0026 arg1 \u003e arg3 \u0026\u0026 arg1 \u003e arg4.", "Args": [ "first", "others" ], "Aliases": [ "gt" ], "Examples": [] }, "Le": { "Description": "Le returns the boolean truth of arg1 \u003c= arg2 \u0026\u0026 arg1 \u003c= arg3 \u0026\u0026 arg1 \u003c= arg4.", "Args": [ "first", "others" ], "Aliases": [ "le" ], "Examples": [] }, "Lt": { "Description": "Lt returns the boolean truth of arg1 \u003c arg2 \u0026\u0026 arg1 \u003c arg3 \u0026\u0026 arg1 \u003c arg4.", "Args": [ "first", "others" ], "Aliases": [ "lt" ], "Examples": [] }, "LtCollate": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Ne": { "Description": "Ne returns the boolean truth of arg1 != arg2 \u0026\u0026 arg1 != arg3 \u0026\u0026 arg1 != arg4.", "Args": [ "first", "others" ], "Aliases": [ "ne" ], "Examples": [] } }, "collections": { "After": { "Description": "After returns all the items after the first n items in list l.", "Args": [ "n", "l" ], "Aliases": [ "after" ], "Examples": [] }, "Append": { "Description": "Append appends args up to the last one to the slice in the last argument.\nThis construct allows template constructs like this:\n\n\t{{ $pages = $pages | append $p2 $p1 }}\n\nNote that with 2 arguments where both are slices of the same type,\nthe first slice will be appended to the second:\n\n\t{{ $pages = $pages | append .Site.RegularPages }}", "Args": [ "args" ], "Aliases": [ "append" ], "Examples": [] }, "Apply": { "Description": "Apply takes a map, array, or slice c and returns a new slice with the function fname applied over it.", "Args": [ "ctx", "c", "fname", "args" ], "Aliases": [ "apply" ], "Examples": [] }, "Complement": { "Description": "Complement gives the elements in the last element of ls that are not in\nany of the others.\n\nAll elements of ls must be slices or arrays of comparable types.\n\nThe reasoning behind this rather clumsy API is so we can do this in the templates:\n\n\t{{ $c := .Pages | complement $last4 }}", "Args": [ "ls" ], "Aliases": [ "complement" ], "Examples": [ [ "{{ slice \"a\" \"b\" \"c\" \"d\" \"e\" \"f\" | complement (slice \"b\" \"c\") (slice \"d\" \"e\") }}", "[a f]" ] ] }, "Delimit": { "Description": "Delimit takes a given list l and returns a string delimited by sep.\nIf last is passed to the function, it will be used as the final delimiter.", "Args": [ "l", "sep", "last" ], "Aliases": [ "delimit" ], "Examples": [ [ "{{ delimit (slice \"A\" \"B\" \"C\") \", \" \" and \" }}", "A, B and C" ] ] }, "Dictionary": { "Description": "Dictionary creates a new map from the given parameters by\ntreating values as key-value pairs. The number of values must be even.\nThe keys can be string slices, which will create the needed nested structure.", "Args": [ "values" ], "Aliases": [ "dict" ], "Examples": [] }, "EchoParam": { "Description": "EchoParam returns a the value in the collection c with key k if is set; otherwise, it returns an\nempty string.", "Args": [ "c", "k" ], "Aliases": [ "echoParam" ], "Examples": [ [ "{{ echoParam .Params \"langCode\" }}", "en" ] ] }, "First": { "Description": "First returns the first limit items in list l.", "Args": [ "limit", "l" ], "Aliases": [ "first" ], "Examples": [] }, "Group": { "Description": "Group groups a set of items by the given key.\nThis is currently only supported for Pages.", "Args": [ "key", "items" ], "Aliases": [ "group" ], "Examples": [] }, "In": { "Description": "In returns whether v is in the list l. l may be an array or slice.", "Args": [ "l", "v" ], "Aliases": [ "in" ], "Examples": [ [ "{{ if in \"this string contains a substring\" \"substring\" }}Substring found!{{ end }}", "Substring found!" ] ] }, "Index": { "Description": "Index returns the result of indexing its first argument by the following\narguments. Thus \"index x 1 2 3\" is, in Go syntax, x[1][2][3]. Each\nindexed item must be a map, slice, or array.\n\nAdapted from Go stdlib src/text/template/funcs.go.\n\nWe deviate from the stdlib mostly because of https://github.com/golang/go/issues/14751.", "Args": [ "item", "args" ], "Aliases": [ "index" ], "Examples": [] }, "Intersect": { "Description": "Intersect returns the common elements in the given sets, l1 and l2. l1 and\nl2 must be of the same type and may be either arrays or slices.", "Args": [ "l1", "l2" ], "Aliases": [ "intersect" ], "Examples": [] }, "IsSet": { "Description": "IsSet returns whether a given array, channel, slice, or map in c has the given key\ndefined.", "Args": [ "c", "key" ], "Aliases": [ "isSet", "isset" ], "Examples": [] }, "KeyVals": { "Description": "KeyVals creates a key and values wrapper.", "Args": [ "key", "values" ], "Aliases": [ "keyVals" ], "Examples": [ [ "{{ keyVals \"key\" \"a\" \"b\" }}", "key: [a b]" ] ] }, "Last": { "Description": "Last returns the last limit items in the list l.", "Args": [ "limit", "l" ], "Aliases": [ "last" ], "Examples": [] }, "Merge": { "Description": "Merge creates a copy of the final parameter in params and merges the preceding\nparameters into it in reverse order.\n\nCurrently only maps are supported. Key handling is case insensitive.", "Args": [ "params" ], "Aliases": [ "merge" ], "Examples": [ [ "{{ dict \"title\" \"Hugo Rocks!\" | collections.Merge (dict \"title\" \"Default Title\" \"description\" \"Yes, Hugo Rocks!\") | sort }}", "[Yes, Hugo Rocks! Hugo Rocks!]" ], [ "{{ merge (dict \"title\" \"Default Title\" \"description\" \"Yes, Hugo Rocks!\") (dict \"title\" \"Hugo Rocks!\") | sort }}", "[Yes, Hugo Rocks! Hugo Rocks!]" ], [ "{{ merge (dict \"title\" \"Default Title\" \"description\" \"Yes, Hugo Rocks!\") (dict \"title\" \"Hugo Rocks!\") (dict \"extra\" \"For reals!\") | sort }}", "[Yes, Hugo Rocks! For reals! Hugo Rocks!]" ] ] }, "NewScratch": { "Description": "NewScratch creates a new Scratch which can be used to store values in a\nthread safe way.", "Args": null, "Aliases": [ "newScratch" ], "Examples": [ [ "{{ $scratch := newScratch }}{{ $scratch.Add \"b\" 2 }}{{ $scratch.Add \"b\" 2 }}{{ $scratch.Get \"b\" }}", "4" ] ] }, "Querify": { "Description": "Querify encodes the given params in URL-encoded form (\"bar=baz\u0026foo=quux\") sorted by key.", "Args": [ "params" ], "Aliases": [ "querify" ], "Examples": [ [ "{{ (querify \"foo\" 1 \"bar\" 2 \"baz\" \"with spaces\" \"qux\" \"this\u0026that=those\") | safeHTML }}", "bar=2\u0026baz=with+spaces\u0026foo=1\u0026qux=this%26that%3Dthose" ], [ "\u003ca href=\"https://www.google.com?{{ (querify \"q\" \"test\" \"page\" 3) | safeURL }}\"\u003eSearch\u003c/a\u003e", "\u003ca href=\"https://www.google.com?page=3\u0026amp;q=test\"\u003eSearch\u003c/a\u003e" ], [ "{{ slice \"foo\" 1 \"bar\" 2 | querify | safeHTML }}", "bar=2\u0026foo=1" ] ] }, "Reverse": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Seq": { "Description": "Seq creates a sequence of integers from args. It's named and used as GNU's seq.\n\nExamples:\n\n\t3 =\u003e 1, 2, 3\n\t1 2 4 =\u003e 1, 3\n\t-3 =\u003e -1, -2, -3\n\t1 4 =\u003e 1, 2, 3, 4\n\t1 -2 =\u003e 1, 0, -1, -2", "Args": [ "args" ], "Aliases": [ "seq" ], "Examples": [ [ "{{ seq 3 }}", "[1 2 3]" ] ] }, "Shuffle": { "Description": "Shuffle returns list l in a randomised order.", "Args": [ "l" ], "Aliases": [ "shuffle" ], "Examples": [] }, "Slice": { "Description": "Slice returns a slice of all passed arguments.", "Args": [ "args" ], "Aliases": [ "slice" ], "Examples": [ [ "{{ slice \"B\" \"C\" \"A\" | sort }}", "[A B C]" ] ] }, "Sort": { "Description": "Sort returns a sorted copy of the list l.", "Args": [ "l", "args" ], "Aliases": [ "sort" ], "Examples": [] }, "SymDiff": { "Description": "SymDiff returns the symmetric difference of s1 and s2.\nArguments must be either a slice or an array of comparable types.", "Args": [ "s2", "s1" ], "Aliases": [ "symdiff" ], "Examples": [ [ "{{ slice 1 2 3 | symdiff (slice 3 4) }}", "[1 2 4]" ] ] }, "Union": { "Description": "Union returns the union of the given sets, l1 and l2. l1 and\nl2 must be of the same type and may be either arrays or slices.\nIf l1 and l2 aren't of the same type then l1 will be returned.\nIf either l1 or l2 is nil then the non-nil list will be returned.", "Args": [ "l1", "l2" ], "Aliases": [ "union" ], "Examples": [ [ "{{ union (slice 1 2 3) (slice 3 4 5) }}", "[1 2 3 4 5]" ] ] }, "Uniq": { "Description": "Uniq returns a new list with duplicate elements in the list l removed.", "Args": [ "l" ], "Aliases": [ "uniq" ], "Examples": [ [ "{{ slice 1 2 3 2 | uniq }}", "[1 2 3]" ] ] }, "Where": { "Description": "Where returns a filtered subset of collection c.", "Args": [ "c", "key", "args" ], "Aliases": [ "where" ], "Examples": [] } }, "crypto": { "FNV32a": { "Description": "FNV32a hashes v using fnv32a algorithm.\n\u003cdocsmeta\u003e{\"newIn\": \"0.98.0\" }\u003c/docsmeta\u003e", "Args": [ "v" ], "Aliases": null, "Examples": [ [ "{{ crypto.FNV32a \"Hugo Rocks!!\" }}", "1515779328" ] ] }, "HMAC": { "Description": "HMAC returns a cryptographic hash that uses a key to sign a message.", "Args": [ "h", "k", "m", "e" ], "Aliases": [ "hmac" ], "Examples": [ [ "{{ hmac \"sha256\" \"Secret key\" \"Hello world, gophers!\" }}", "b6d11b6c53830b9d87036272ca9fe9d19306b8f9d8aa07b15da27d89e6e34f40" ] ] }, "MD5": { "Description": "MD5 hashes the v and returns its MD5 checksum.", "Args": [ "v" ], "Aliases": [ "md5" ], "Examples": [ [ "{{ md5 \"Hello world, gophers!\" }}", "b3029f756f98f79e7f1b7f1d1f0dd53b" ], [ "{{ crypto.MD5 \"Hello world, gophers!\" }}", "b3029f756f98f79e7f1b7f1d1f0dd53b" ] ] }, "SHA1": { "Description": "SHA1 hashes v and returns its SHA1 checksum.", "Args": [ "v" ], "Aliases": [ "sha1" ], "Examples": [ [ "{{ sha1 \"Hello world, gophers!\" }}", "c8b5b0e33d408246e30f53e32b8f7627a7a649d4" ] ] }, "SHA256": { "Description": "SHA256 hashes v and returns its SHA256 checksum.", "Args": [ "v" ], "Aliases": [ "sha256" ], "Examples": [ [ "{{ sha256 \"Hello world, gophers!\" }}", "6ec43b78da9669f50e4e422575c54bf87536954ccd58280219c393f2ce352b46" ] ] } }, "css": { "Quoted": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Unquoted": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "data": { "GetCSV": { "Description": "GetCSV expects the separator sep and one or n-parts of a URL to a resource which\ncan either be a local or a remote one.\nThe data separator can be a comma, semi-colon, pipe, etc, but only one character.\nIf you provide multiple parts for the URL they will be joined together to the final URL.\nGetCSV returns nil or a slice slice to use in a short code.", "Args": [ "sep", "args" ], "Aliases": [ "getCSV" ], "Examples": [] }, "GetJSON": { "Description": "GetJSON expects one or n-parts of a URL in args to a resource which can either be a local or a remote one.\nIf you provide multiple parts they will be joined together to the final URL.\nGetJSON returns nil or parsed JSON to use in a short code.", "Args": [ "args" ], "Aliases": [ "getJSON" ], "Examples": [] } }, "debug": { "Dump": { "Description": "Dump returns a object dump of val as a string.\nNote that not every value passed to Dump will print so nicely, but\nwe'll improve on that.\n\nWe recommend using the \"go\" Chroma lexer to format the output\nnicely.\n\nAlso note that the output from Dump may change from Hugo version to the next,\nso don't depend on a specific output.", "Args": [ "val" ], "Aliases": null, "Examples": [ [ "{{ $m := newScratch }}\n{{ $m.Set \"Hugo\" \"Rocks!\" }}\n{{ $m.Values | debug.Dump | safeHTML }}", "map[string]interface {}{\n \"Hugo\": \"Rocks!\",\n}" ] ] }, "VisualizeSpaces": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "diagrams": { "Goat": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "encoding": { "Base64Decode": { "Description": "Base64Decode returns the base64 decoding of the given content.", "Args": [ "content" ], "Aliases": [ "base64Decode" ], "Examples": [ [ "{{ \"SGVsbG8gd29ybGQ=\" | base64Decode }}", "Hello world" ], [ "{{ 42 | base64Encode | base64Decode }}", "42" ] ] }, "Base64Encode": { "Description": "Base64Encode returns the base64 encoding of the given content.", "Args": [ "content" ], "Aliases": [ "base64Encode" ], "Examples": [ [ "{{ \"Hello world\" | base64Encode }}", "SGVsbG8gd29ybGQ=" ] ] }, "Jsonify": { "Description": "Jsonify encodes a given object to JSON. To pretty print the JSON, pass a map\nor dictionary of options as the first value in args. Supported options are\n\"prefix\" and \"indent\". Each JSON element in the output will begin on a new\nline beginning with prefix followed by one or more copies of indent according\nto the indentation nesting.", "Args": [ "args" ], "Aliases": [ "jsonify" ], "Examples": [ [ "{{ (slice \"A\" \"B\" \"C\") | jsonify }}", "[\"A\",\"B\",\"C\"]" ], [ "{{ (slice \"A\" \"B\" \"C\") | jsonify (dict \"indent\" \" \") }}", "[\n \"A\",\n \"B\",\n \"C\"\n]" ] ] } }, "fmt": { "Errorf": { "Description": "Errorf formats args according to a format specifier and logs an ERROR.\nIt returns an empty string.", "Args": [ "format", "args" ], "Aliases": [ "errorf" ], "Examples": [ [ "{{ errorf \"%s.\" \"failed\" }}", "" ] ] }, "Erroridf": { "Description": "Erroridf formats args according to a format specifier and logs an ERROR and\nan information text that the error with the given id can be suppressed in config.\nIt returns an empty string.", "Args": [ "id", "format", "args" ], "Aliases": [ "erroridf" ], "Examples": [ [ "{{ erroridf \"my-err-id\" \"%s.\" \"failed\" }}", "" ] ] }, "Print": { "Description": "Print returns a string representation of args.", "Args": [ "args" ], "Aliases": [ "print" ], "Examples": [ [ "{{ print \"works!\" }}", "works!" ] ] }, "Printf": { "Description": "Printf returns string representation of args formatted with the layouut in format.", "Args": [ "format", "args" ], "Aliases": [ "printf" ], "Examples": [ [ "{{ printf \"%s!\" \"works\" }}", "works!" ] ] }, "Println": { "Description": "Println returns string representation of args ending with a newline.", "Args": [ "args" ], "Aliases": [ "println" ], "Examples": [ [ "{{ println \"works!\" }}", "works!\n" ] ] }, "Warnf": { "Description": "Warnf formats args according to a format specifier and logs a WARNING.\nIt returns an empty string.", "Args": [ "format", "args" ], "Aliases": [ "warnf" ], "Examples": [ [ "{{ warnf \"%s.\" \"warning\" }}", "" ] ] } }, "hugo": { "Deps": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Generator": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "IsExtended": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "IsProduction": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Version": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "WorkingDir": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "images": { "Brightness": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "ColorBalance": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Colorize": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Config": { "Description": "Config returns the image.Config for the specified path relative to the\nworking directory.", "Args": [ "path" ], "Aliases": [ "imageConfig" ], "Examples": [] }, "Contrast": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Filter": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Gamma": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "GaussianBlur": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Grayscale": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Hue": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Invert": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Overlay": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Pixelate": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Saturation": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Sepia": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Sigmoid": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Text": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "UnsharpMask": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "inflect": { "Humanize": { "Description": "Humanize returns the humanized form of v.\n\nIf v is either an integer or a string containing an integer\nvalue, the behavior is to add the appropriate ordinal.", "Args": [ "v" ], "Aliases": [ "humanize" ], "Examples": [ [ "{{ humanize \"my-first-post\" }}", "My first post" ], [ "{{ humanize \"myCamelPost\" }}", "My camel post" ], [ "{{ humanize \"52\" }}", "52nd" ], [ "{{ humanize 103 }}", "103rd" ] ] }, "Pluralize": { "Description": "Pluralize returns the plural form of the single word in v.", "Args": [ "v" ], "Aliases": [ "pluralize" ], "Examples": [ [ "{{ \"cat\" | pluralize }}", "cats" ] ] }, "Singularize": { "Description": "Singularize returns the singular form of a single word in v.", "Args": [ "v" ], "Aliases": [ "singularize" ], "Examples": [ [ "{{ \"cats\" | singularize }}", "cat" ] ] } }, "js": { "Build": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "lang": { "FormatAccounting": { "Description": "FormatAccounting returns the currency representation of number for the given currency and precision\nfor the current language in accounting notation.\n\nThe return value is formatted with at least two decimal places.", "Args": [ "precision", "currency", "number" ], "Aliases": null, "Examples": [ [ "{{ 512.5032 | lang.FormatAccounting 2 \"NOK\" }}", "NOK512.50" ] ] }, "FormatCurrency": { "Description": "FormatCurrency returns the currency representation of number for the given currency and precision\nfor the current language.\n\nThe return value is formatted with at least two decimal places.", "Args": [ "precision", "currency", "number" ], "Aliases": null, "Examples": [ [ "{{ 512.5032 | lang.FormatCurrency 2 \"USD\" }}", "$512.50" ] ] }, "FormatNumber": { "Description": "FormatNumber formats number with the given precision for the current language.", "Args": [ "precision", "number" ], "Aliases": null, "Examples": [ [ "{{ 512.5032 | lang.FormatNumber 2 }}", "512.50" ] ] }, "FormatNumberCustom": { "Description": "FormatNumberCustom formats a number with the given precision. The first\noptions parameter is a space-delimited string of characters to represent\nnegativity, the decimal point, and grouping. The default value is `- . ,`.\nThe second options parameter defines an alternate delimiting character.\n\nNote that numbers are rounded up at 5 or greater.\nSo, with precision set to 0, 1.5 becomes `2`, and 1.4 becomes `1`.\n\nFor a simpler function that adapts to the current language, see FormatNumber.", "Args": [ "precision", "number", "options" ], "Aliases": null, "Examples": [ [ "{{ lang.FormatNumberCustom 2 12345.6789 }}", "12,345.68" ], [ "{{ lang.FormatNumberCustom 2 12345.6789 \"- , .\" }}", "12.345,68" ], [ "{{ lang.FormatNumberCustom 6 -12345.6789 \"- .\" }}", "-12345.678900" ], [ "{{ lang.FormatNumberCustom 0 -12345.6789 \"- . ,\" }}", "-12,346" ], [ "{{ lang.FormatNumberCustom 0 -12345.6789 \"-|.| \" \"|\" }}", "-12 346" ], [ "{{ -98765.4321 | lang.FormatNumberCustom 2 }}", "-98,765.43" ] ] }, "FormatPercent": { "Description": "FormatPercent formats number with the given precision for the current language.\nNote that the number is assumed to be a percentage.", "Args": [ "precision", "number" ], "Aliases": null, "Examples": [ [ "{{ 512.5032 | lang.FormatPercent 2 }}", "512.50%" ] ] }, "Merge": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "NumFmt": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Translate": { "Description": "Translate returns a translated string for id.", "Args": [ "ctx", "id", "args" ], "Aliases": [ "i18n", "T" ], "Examples": [] } }, "math": { "Abs": { "Description": "Abs returns the absolute value of n.", "Args": [ "n" ], "Aliases": null, "Examples": [ [ "{{ math.Abs -2.1 }}", "2.1" ] ] }, "Add": { "Description": "Add adds the multivalued addends n1 and n2 or more values.", "Args": [ "inputs" ], "Aliases": [ "add" ], "Examples": [ [ "{{ add 1 2 }}", "3" ] ] }, "Ceil": { "Description": "Ceil returns the least integer value greater than or equal to n.", "Args": [ "n" ], "Aliases": null, "Examples": [ [ "{{ math.Ceil 2.1 }}", "3" ] ] }, "Counter": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Div": { "Description": "Div divides n1 by n2.", "Args": [ "inputs" ], "Aliases": [ "div" ], "Examples": [ [ "{{ div 6 3 }}", "2" ] ] }, "Floor": { "Description": "Floor returns the greatest integer value less than or equal to n.", "Args": [ "n" ], "Aliases": null, "Examples": [ [ "{{ math.Floor 1.9 }}", "1" ] ] }, "Log": { "Description": "Log returns the natural logarithm of the number n.", "Args": [ "n" ], "Aliases": null, "Examples": [ [ "{{ math.Log 1 }}", "0" ] ] }, "Max": { "Description": "Max returns the greater of the multivalued numbers n1 and n2 or more values.", "Args": [ "inputs" ], "Aliases": null, "Examples": [ [ "{{ math.Max 1 2 }}", "2" ] ] }, "Min": { "Description": "Min returns the smaller of multivalued numbers n1 and n2 or more values.", "Args": [ "inputs" ], "Aliases": null, "Examples": [ [ "{{ math.Min 1 2 }}", "1" ] ] }, "Mod": { "Description": "Mod returns n1 % n2.", "Args": [ "n1", "n2" ], "Aliases": [ "mod" ], "Examples": [ [ "{{ mod 15 3 }}", "0" ] ] }, "ModBool": { "Description": "ModBool returns the boolean of n1 % n2. If n1 % n2 == 0, return true.", "Args": [ "n1", "n2" ], "Aliases": [ "modBool" ], "Examples": [ [ "{{ modBool 15 3 }}", "true" ] ] }, "Mul": { "Description": "Mul multiplies the multivalued numbers n1 and n2 or more values.", "Args": [ "inputs" ], "Aliases": [ "mul" ], "Examples": [ [ "{{ mul 2 3 }}", "6" ] ] }, "Pow": { "Description": "Pow returns n1 raised to the power of n2.", "Args": [ "n1", "n2" ], "Aliases": [ "pow" ], "Examples": [ [ "{{ math.Pow 2 3 }}", "8" ] ] }, "Round": { "Description": "Round returns the integer nearest to n, rounding half away from zero.", "Args": [ "n" ], "Aliases": null, "Examples": [ [ "{{ math.Round 1.5 }}", "2" ] ] }, "Sqrt": { "Description": "Sqrt returns the square root of the number n.", "Args": [ "n" ], "Aliases": null, "Examples": [ [ "{{ math.Sqrt 81 }}", "9" ] ] }, "Sub": { "Description": "Sub subtracts multivalued.", "Args": [ "inputs" ], "Aliases": [ "sub" ], "Examples": [ [ "{{ sub 3 2 }}", "1" ] ] } }, "openapi3": { "Unmarshal": { "Description": "", "Args": null, "Aliases": null, "Examples": [] } }, "os": { "FileExists": { "Description": "FileExists checks whether a file exists under the given path.", "Args": [ "i" ], "Aliases": [ "fileExists" ], "Examples": [ [ "{{ fileExists \"foo.txt\" }}", "false" ] ] }, "Getenv": { "Description": "Getenv retrieves the value of the environment variable named by the key.\nIt returns the value, which will be empty if the variable is not present.", "Args": [ "key" ], "Aliases": [ "getenv" ], "Examples": [] }, "ReadDir": { "Description": "ReadDir lists the directory contents relative to the configured WorkingDir.", "Args": [ "i" ], "Aliases": [ "readDir" ], "Examples": [ [ "{{ range (readDir \"files\") }}{{ .Name }}{{ end }}", "README.txt" ] ] }, "ReadFile": { "Description": "ReadFile reads the file named by filename relative to the configured WorkingDir.\nIt returns the contents as a string.\nThere is an upper size limit set at 1 megabytes.", "Args": [ "i" ], "Aliases": [ "readFile" ], "Examples": [ [ "{{ readFile \"files/README.txt\" }}", "Hugo Rocks!" ] ] }, "Stat": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "partials": { "Include": { "Description": "Include executes the named partial.\nIf the partial contains a return statement, that value will be returned.\nElse, the rendered output will be returned:\nA string if the partial is a text/template, or template.HTML when html/template.\nNote that ctx is provided by Hugo, not the end user.", "Args": [ "ctx", "name", "contextList" ], "Aliases": [ "partial" ], "Examples": [ [ "{{ partial \"header.html\" . }}", "\u003ctitle\u003eHugo Rocks!\u003c/title\u003e" ] ] }, "IncludeCached": { "Description": "IncludeCached executes and caches partial templates. The cache is created with name+variants as the key.\nNote that ctx is provided by Hugo, not the end user.", "Args": [ "ctx", "name", "context", "variants" ], "Aliases": [ "partialCached" ], "Examples": [] } }, "path": { "Base": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "BaseName": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Clean": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Dir": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Ext": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Join": { "Description": "Join joins any number of path elements into a single path, adding a\nseparating slash if necessary. All the input\npath elements are passed into filepath.ToSlash converting any Windows slashes\nto forward slashes.\nThe result is Cleaned; in particular,\nall empty strings are ignored.", "Args": [ "elements" ], "Aliases": null, "Examples": [ [ "{{ slice \"my/path\" \"filename.txt\" | path.Join }}", "my/path/filename.txt" ], [ "{{ path.Join \"my\" \"path\" \"filename.txt\" }}", "my/path/filename.txt" ], [ "{{ \"my/path/filename.txt\" | path.Ext }}", ".txt" ], [ "{{ \"my/path/filename.txt\" | path.Base }}", "filename.txt" ], [ "{{ \"my/path/filename.txt\" | path.Dir }}", "my/path" ] ] }, "Split": { "Description": "Split splits path immediately following the final slash,\nseparating it into a directory and file name component.\nIf there is no slash in path, Split returns an empty dir and\nfile set to path.\nThe input path is passed into filepath.ToSlash converting any Windows slashes\nto forward slashes.\nThe returned values have the property that path = dir+file.", "Args": [ "path" ], "Aliases": null, "Examples": [ [ "{{ \"/my/path/filename.txt\" | path.Split }}", "/my/path/|filename.txt" ], [ "{{ \"/my/path/filename.txt\" | path.Split }}", "/my/path/|filename.txt" ] ] } }, "reflect": { "IsMap": { "Description": "IsMap reports whether v is a map.", "Args": [ "v" ], "Aliases": null, "Examples": [ [ "{{ if reflect.IsMap (dict \"a\" 1) }}Map{{ end }}", "Map" ] ] }, "IsSlice": { "Description": "IsSlice reports whether v is a slice.", "Args": [ "v" ], "Aliases": null, "Examples": [ [ "{{ if reflect.IsSlice (slice 1 2 3) }}Slice{{ end }}", "Slice" ] ] } }, "resources": { "Babel": { "Description": "Babel processes the given Resource with Babel.", "Args": [ "args" ], "Aliases": [ "babel" ], "Examples": [] }, "ByType": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Concat": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Copy": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "ExecuteAsTemplate": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Fingerprint": { "Description": "Fingerprint transforms the given Resource with a MD5 hash of the content in\nthe RelPermalink and Permalink.", "Args": [ "args" ], "Aliases": [ "fingerprint" ], "Examples": [] }, "FromString": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Get": { "Description": "Get locates the filename given in Hugo's assets filesystem\nand creates a Resource object that can be used for further transformations.", "Args": [ "filename" ], "Aliases": null, "Examples": [] }, "GetMatch": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "GetRemote": { "Description": "GetRemote gets the URL (via HTTP(s)) in the first argument in args and creates Resource object that can be used for\nfurther transformations.\n\nA second argument may be provided with an option map.\n\nNote: This method does not return any error as a second return value,\nfor any error situations the error can be checked in .Err.", "Args": [ "args" ], "Aliases": null, "Examples": [] }, "Match": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Minify": { "Description": "Minify minifies the given Resource using the MediaType to pick the correct\nminifier.", "Args": [ "r" ], "Aliases": [ "minify" ], "Examples": [] }, "PostCSS": { "Description": "PostCSS processes the given Resource with PostCSS", "Args": [ "args" ], "Aliases": [ "postCSS" ], "Examples": [] }, "PostProcess": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "ToCSS": { "Description": "ToCSS converts the given Resource to CSS. You can optional provide an Options object\nas second argument. As an option, you can e.g. specify e.g. the target path (string)\nfor the converted CSS resource.", "Args": [ "args" ], "Aliases": [ "toCSS" ], "Examples": [] } }, "safe": { "CSS": { "Description": "CSS returns the string s as html/template CSS content.", "Args": [ "s" ], "Aliases": [ "safeCSS" ], "Examples": [ [ "{{ \"Bat\u0026Man\" | safeCSS | safeCSS }}", "Bat\u0026amp;Man" ] ] }, "HTML": { "Description": "HTML returns the string s as html/template HTML content.", "Args": [ "s" ], "Aliases": [ "safeHTML" ], "Examples": [ [ "{{ \"Bat\u0026Man\" | safeHTML | safeHTML }}", "Bat\u0026Man" ], [ "{{ \"Bat\u0026Man\" | safeHTML }}", "Bat\u0026Man" ] ] }, "HTMLAttr": { "Description": "HTMLAttr returns the string s as html/template HTMLAttr content.", "Args": [ "s" ], "Aliases": [ "safeHTMLAttr" ], "Examples": [] }, "JS": { "Description": "JS returns the given string as a html/template JS content.", "Args": [ "s" ], "Aliases": [ "safeJS" ], "Examples": [ [ "{{ \"(1*2)\" | safeJS | safeJS }}", "(1*2)" ] ] }, "JSStr": { "Description": "JSStr returns the given string as a html/template JSStr content.", "Args": [ "s" ], "Aliases": [ "safeJSStr" ], "Examples": [] }, "SanitizeURL": { "Description": "SanitizeURL returns the string s as html/template URL content.", "Args": [ "s" ], "Aliases": [ "sanitizeURL", "sanitizeurl" ], "Examples": [] }, "URL": { "Description": "URL returns the string s as html/template URL content.", "Args": [ "s" ], "Aliases": [ "safeURL" ], "Examples": [ [ "{{ \"http://gohugo.io\" | safeURL | safeURL }}", "http://gohugo.io" ] ] } }, "site": { "AllPages": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Author": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Authors": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "BaseURL": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "BuildDrafts": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Config": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Copyright": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Current": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Data": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "DisqusShortname": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "GetIdentity": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "GetPage": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "GetPageWithTemplateInfo": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "GoogleAnalytics": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Home": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Hugo": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "IsMultiLingual": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "IsServer": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Language": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "LanguageCode": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "LanguagePrefix": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Languages": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "LastChange": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "MainSections": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Menus": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Pages": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Param": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Params": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "RegularPages": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Sections": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "ServerPort": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Sites": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Social": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Taxonomies": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Title": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "strings": { "Chomp": { "Description": "Chomp returns a copy of s with all trailing newline characters removed.", "Args": [ "s" ], "Aliases": [ "chomp" ], "Examples": [ [ "{{ chomp \"\u003cp\u003eBlockhead\u003c/p\u003e\\n\" | safeHTML }}", "\u003cp\u003eBlockhead\u003c/p\u003e" ] ] }, "Contains": { "Description": "Contains reports whether substr is in s.", "Args": [ "s", "substr" ], "Aliases": null, "Examples": [ [ "{{ strings.Contains \"abc\" \"b\" }}", "true" ], [ "{{ strings.Contains \"abc\" \"d\" }}", "false" ] ] }, "ContainsAny": { "Description": "ContainsAny reports whether any Unicode code points in chars are within s.", "Args": [ "s", "chars" ], "Aliases": null, "Examples": [ [ "{{ strings.ContainsAny \"abc\" \"bcd\" }}", "true" ], [ "{{ strings.ContainsAny \"abc\" \"def\" }}", "false" ] ] }, "ContainsNonSpace": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Count": { "Description": "Count counts the number of non-overlapping instances of substr in s.\nIf substr is an empty string, Count returns 1 + the number of Unicode code points in s.", "Args": [ "substr", "s" ], "Aliases": null, "Examples": [ [ "{{ \"aabab\" | strings.Count \"a\" }}", "3" ] ] }, "CountRunes": { "Description": "CountRunes returns the number of runes in s, excluding whitespace.", "Args": [ "s" ], "Aliases": [ "countrunes" ], "Examples": [] }, "CountWords": { "Description": "CountWords returns the approximate word count in s.", "Args": [ "s" ], "Aliases": [ "countwords" ], "Examples": [] }, "FindRE": { "Description": "FindRE returns a list of strings that match the regular expression. By default all matches\nwill be included. The number of matches can be limited with an optional third parameter.", "Args": [ "expr", "content", "limit" ], "Aliases": [ "findRE" ], "Examples": [ [ "{{ findRE \"[G|g]o\" \"Hugo is a static side generator written in Go.\" 1 }}", "[go]" ] ] }, "FindRESubmatch": { "Description": "FindRESubmatch returns a slice of all successive matches of the regular\nexpression in content. Each element is a slice of strings holding the text\nof the leftmost match of the regular expression and the matches, if any, of\nits subexpressions.\n\nBy default all matches will be included. The number of matches can be\nlimited with the optional limit parameter. A return value of nil indicates\nno match.", "Args": [ "expr", "content", "limit" ], "Aliases": [ "findRESubmatch" ], "Examples": [ [ "{{ findRESubmatch `\u003ca\\s*href=\"(.+?)\"\u003e(.+?)\u003c/a\u003e` `\u003cli\u003e\u003ca href=\"#foo\"\u003eFoo\u003c/a\u003e\u003c/li\u003e \u003cli\u003e\u003ca href=\"#bar\"\u003eBar\u003c/a\u003e\u003c/li\u003e` | print | safeHTML }}", "[[\u003ca href=\"#foo\"\u003eFoo\u003c/a\u003e #foo Foo] [\u003ca href=\"#bar\"\u003eBar\u003c/a\u003e #bar Bar]]" ] ] }, "FirstUpper": { "Description": "FirstUpper converts s making the first character upper case.", "Args": [ "s" ], "Aliases": null, "Examples": [ [ "{{ \"hugo rocks!\" | strings.FirstUpper }}", "Hugo rocks!" ] ] }, "HasPrefix": { "Description": "HasPrefix tests whether the input s begins with prefix.", "Args": [ "s", "prefix" ], "Aliases": [ "hasPrefix" ], "Examples": [ [ "{{ hasPrefix \"Hugo\" \"Hu\" }}", "true" ], [ "{{ hasPrefix \"Hugo\" \"Fu\" }}", "false" ] ] }, "HasSuffix": { "Description": "HasSuffix tests whether the input s begins with suffix.", "Args": [ "s", "suffix" ], "Aliases": [ "hasSuffix" ], "Examples": [ [ "{{ hasSuffix \"Hugo\" \"go\" }}", "true" ], [ "{{ hasSuffix \"Hugo\" \"du\" }}", "false" ] ] }, "Repeat": { "Description": "Repeat returns a new string consisting of n copies of the string s.", "Args": [ "n", "s" ], "Aliases": null, "Examples": [ [ "{{ \"yo\" | strings.Repeat 4 }}", "yoyoyoyo" ] ] }, "Replace": { "Description": "Replace returns a copy of the string s with all occurrences of old replaced\nwith new. The number of replacements can be limited with an optional fourth\nparameter.", "Args": [ "s", "old", "new", "limit" ], "Aliases": [ "replace" ], "Examples": [ [ "{{ replace \"Batman and Robin\" \"Robin\" \"Catwoman\" }}", "Batman and Catwoman" ], [ "{{ replace \"aabbaabb\" \"a\" \"z\" 2 }}", "zzbbaabb" ] ] }, "ReplaceRE": { "Description": "ReplaceRE returns a copy of s, replacing all matches of the regular\nexpression pattern with the replacement text repl. The number of replacements\ncan be limited with an optional fourth parameter.", "Args": [ "pattern", "repl", "s", "n" ], "Aliases": [ "replaceRE" ], "Examples": [ [ "{{ replaceRE \"a+b\" \"X\" \"aabbaabbab\" }}", "XbXbX" ], [ "{{ replaceRE \"a+b\" \"X\" \"aabbaabbab\" 1 }}", "Xbaabbab" ] ] }, "RuneCount": { "Description": "RuneCount returns the number of runes in s.", "Args": [ "s" ], "Aliases": null, "Examples": [] }, "SliceString": { "Description": "SliceString slices a string by specifying a half-open range with\ntwo indices, start and end. 1 and 4 creates a slice including elements 1 through 3.\nThe end index can be omitted, it defaults to the string's length.", "Args": [ "a", "startEnd" ], "Aliases": [ "slicestr" ], "Examples": [ [ "{{ slicestr \"BatMan\" 0 3 }}", "Bat" ], [ "{{ slicestr \"BatMan\" 3 }}", "Man" ] ] }, "Split": { "Description": "Split slices an input string into all substrings separated by delimiter.", "Args": [ "a", "delimiter" ], "Aliases": [ "split" ], "Examples": [] }, "Substr": { "Description": "Substr extracts parts of a string, beginning at the character at the specified\nposition, and returns the specified number of characters.\n\nIt normally takes two parameters: start and length.\nIt can also take one parameter: start, i.e. length is omitted, in which case\nthe substring starting from start until the end of the string will be returned.\n\nTo extract characters from the end of the string, use a negative start number.\n\nIn addition, borrowing from the extended behavior described at http://php.net/substr,\nif length is given and is negative, then that many characters will be omitted from\nthe end of string.", "Args": [ "a", "nums" ], "Aliases": [ "substr" ], "Examples": [ [ "{{ substr \"BatMan\" 0 -3 }}", "Bat" ], [ "{{ substr \"BatMan\" 3 3 }}", "Man" ] ] }, "Title": { "Description": "Title returns a copy of the input s with all Unicode letters that begin words\nmapped to their title case.", "Args": [ "s" ], "Aliases": [ "title" ], "Examples": [ [ "{{ title \"Bat man\" }}", "Bat Man" ], [ "{{ title \"somewhere over the rainbow\" }}", "Somewhere Over the Rainbow" ] ] }, "ToLower": { "Description": "ToLower returns a copy of the input s with all Unicode letters mapped to their\nlower case.", "Args": [ "s" ], "Aliases": [ "lower" ], "Examples": [ [ "{{ lower \"BatMan\" }}", "batman" ] ] }, "ToUpper": { "Description": "ToUpper returns a copy of the input s with all Unicode letters mapped to their\nupper case.", "Args": [ "s" ], "Aliases": [ "upper" ], "Examples": [ [ "{{ upper \"BatMan\" }}", "BATMAN" ] ] }, "Trim": { "Description": "Trim returns converts the strings s removing all leading and trailing characters defined\ncontained.", "Args": [ "s", "cutset" ], "Aliases": [ "trim" ], "Examples": [ [ "{{ trim \"++Batman--\" \"+-\" }}", "Batman" ] ] }, "TrimLeft": { "Description": "TrimLeft returns a slice of the string s with all leading characters\ncontained in cutset removed.", "Args": [ "cutset", "s" ], "Aliases": null, "Examples": [ [ "{{ \"aabbaa\" | strings.TrimLeft \"a\" }}", "bbaa" ] ] }, "TrimPrefix": { "Description": "TrimPrefix returns s without the provided leading prefix string. If s doesn't\nstart with prefix, s is returned unchanged.", "Args": [ "prefix", "s" ], "Aliases": null, "Examples": [ [ "{{ \"aabbaa\" | strings.TrimPrefix \"a\" }}", "abbaa" ], [ "{{ \"aabbaa\" | strings.TrimPrefix \"aa\" }}", "bbaa" ] ] }, "TrimRight": { "Description": "TrimRight returns a slice of the string s with all trailing characters\ncontained in cutset removed.", "Args": [ "cutset", "s" ], "Aliases": null, "Examples": [ [ "{{ \"aabbaa\" | strings.TrimRight \"a\" }}", "aabb" ] ] }, "TrimSuffix": { "Description": "TrimSuffix returns s without the provided trailing suffix string. If s\ndoesn't end with suffix, s is returned unchanged.", "Args": [ "suffix", "s" ], "Aliases": null, "Examples": [ [ "{{ \"aabbaa\" | strings.TrimSuffix \"a\" }}", "aabba" ], [ "{{ \"aabbaa\" | strings.TrimSuffix \"aa\" }}", "aabb" ] ] }, "Truncate": { "Description": "Truncate truncates the string in s to the specified length.", "Args": [ "s", "options" ], "Aliases": [ "truncate" ], "Examples": [ [ "{{ \"this is a very long text\" | truncate 10 \" ...\" }}", "this is a ..." ], [ "{{ \"With [Markdown](/markdown) inside.\" | markdownify | truncate 14 }}", "With \u003ca href=\"/markdown\"\u003eMarkdown …\u003c/a\u003e" ] ] } }, "templates": { "Exists": { "Description": "Exists returns whether the template with the given name exists.\nNote that this is the Unix-styled relative path including filename suffix,\ne.g. partials/header.html", "Args": [ "name" ], "Aliases": null, "Examples": [ [ "{{ if (templates.Exists \"partials/header.html\") }}Yes!{{ end }}", "Yes!" ], [ "{{ if not (templates.Exists \"partials/doesnotexist.html\") }}No!{{ end }}", "No!" ] ] } }, "time": { "AsTime": { "Description": "AsTime converts the textual representation of the datetime string into\na time.Time interface.", "Args": [ "v", "args" ], "Aliases": null, "Examples": [ [ "{{ (time \"2015-01-21\").Year }}", "2015" ] ] }, "Duration": { "Description": "Duration converts the given number to a time.Duration.\nUnit is one of nanosecond/ns, microsecond/us/µs, millisecond/ms, second/s, minute/m or hour/h.", "Args": [ "unit", "number" ], "Aliases": [ "duration" ], "Examples": [ [ "{{ mul 60 60 | duration \"second\" }}", "1h0m0s" ] ] }, "Format": { "Description": "Format converts the textual representation of the datetime string in v into\ntime.Time if needed and formats it with the given layout.", "Args": [ "layout", "v" ], "Aliases": [ "dateFormat" ], "Examples": [ [ "dateFormat: {{ dateFormat \"Monday, Jan 2, 2006\" \"2015-01-21\" }}", "dateFormat: Wednesday, Jan 21, 2015" ] ] }, "Now": { "Description": "Now returns the current local time or `clock` time", "Args": null, "Aliases": [ "now" ], "Examples": [] }, "ParseDuration": { "Description": "ParseDuration parses the duration string s.\nA duration string is a possibly signed sequence of\ndecimal numbers, each with optional fraction and a unit suffix,\nsuch as \"300ms\", \"-1.5h\" or \"2h45m\".\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\nSee https://golang.org/pkg/time/#ParseDuration", "Args": [ "s" ], "Aliases": null, "Examples": [ [ "{{ \"1h12m10s\" | time.ParseDuration }}", "1h12m10s" ] ] } }, "transform": { "CanHighlight": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Emojify": { "Description": "Emojify returns a copy of s with all emoji codes replaced with actual emojis.\n\nSee http://www.emoji-cheat-sheet.com/", "Args": [ "s" ], "Aliases": [ "emojify" ], "Examples": [ [ "{{ \"I :heart: Hugo\" | emojify }}", "I ❤️ Hugo" ] ] }, "HTMLEscape": { "Description": "HTMLEscape returns a copy of s with reserved HTML characters escaped.", "Args": [ "s" ], "Aliases": [ "htmlEscape" ], "Examples": [ [ "{{ htmlEscape \"Cathal Garvey \u0026 The Sunshine Band \u003ccathal@foo.bar\u003e\" | safeHTML }}", "Cathal Garvey \u0026amp; The Sunshine Band \u0026lt;cathal@foo.bar\u0026gt;" ], [ "{{ htmlEscape \"Cathal Garvey \u0026 The Sunshine Band \u003ccathal@foo.bar\u003e\" }}", "Cathal Garvey \u0026amp;amp; The Sunshine Band \u0026amp;lt;cathal@foo.bar\u0026amp;gt;" ], [ "{{ htmlEscape \"Cathal Garvey \u0026 The Sunshine Band \u003ccathal@foo.bar\u003e\" | htmlUnescape | safeHTML }}", "Cathal Garvey \u0026 The Sunshine Band \u003ccathal@foo.bar\u003e" ] ] }, "HTMLUnescape": { "Description": "HTMLUnescape returns a copy of s with HTML escape requences converted to plain\ntext.", "Args": [ "s" ], "Aliases": [ "htmlUnescape" ], "Examples": [ [ "{{ htmlUnescape \"Cathal Garvey \u0026amp; The Sunshine Band \u0026lt;cathal@foo.bar\u0026gt;\" | safeHTML }}", "Cathal Garvey \u0026 The Sunshine Band \u003ccathal@foo.bar\u003e" ], [ "{{ \"Cathal Garvey \u0026amp;amp; The Sunshine Band \u0026amp;lt;cathal@foo.bar\u0026amp;gt;\" | htmlUnescape | htmlUnescape | safeHTML }}", "Cathal Garvey \u0026 The Sunshine Band \u003ccathal@foo.bar\u003e" ], [ "{{ \"Cathal Garvey \u0026amp;amp; The Sunshine Band \u0026amp;lt;cathal@foo.bar\u0026amp;gt;\" | htmlUnescape | htmlUnescape }}", "Cathal Garvey \u0026amp; The Sunshine Band \u0026lt;cathal@foo.bar\u0026gt;" ], [ "{{ htmlUnescape \"Cathal Garvey \u0026amp; The Sunshine Band \u0026lt;cathal@foo.bar\u0026gt;\" | htmlEscape | safeHTML }}", "Cathal Garvey \u0026amp; The Sunshine Band \u0026lt;cathal@foo.bar\u0026gt;" ] ] }, "Highlight": { "Description": "Highlight returns a copy of s as an HTML string with syntax\nhighlighting applied.", "Args": [ "s", "lang", "opts" ], "Aliases": [ "highlight" ], "Examples": [] }, "HighlightCodeBlock": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Markdownify": { "Description": "Markdownify renders s from Markdown to HTML.", "Args": [ "ctx", "s" ], "Aliases": [ "markdownify" ], "Examples": [ [ "{{ .Title | markdownify }}", "\u003cstrong\u003eBatMan\u003c/strong\u003e" ] ] }, "Plainify": { "Description": "Plainify returns a copy of s with all HTML tags removed.", "Args": [ "s" ], "Aliases": [ "plainify" ], "Examples": [ [ "{{ plainify \"Hello \u003cstrong\u003eworld\u003c/strong\u003e, gophers!\" }}", "Hello world, gophers!" ] ] }, "Remarshal": { "Description": "Remarshal is used in the Hugo documentation to convert configuration\nexamples from YAML to JSON, TOML (and possibly the other way around).\nThe is primarily a helper for the Hugo docs site.\nIt is not a general purpose YAML to TOML converter etc., and may\nchange without notice if it serves a purpose in the docs.\nFormat is one of json, yaml or toml.", "Args": [ "format", "data" ], "Aliases": null, "Examples": [ [ "{{ \"title = \\\"Hello World\\\"\" | transform.Remarshal \"json\" | safeHTML }}", "{\n \"title\": \"Hello World\"\n}\n" ] ] }, "Unmarshal": { "Description": "Unmarshal unmarshals the data given, which can be either a string, json.RawMessage\nor a Resource. Supported formats are JSON, TOML, YAML, and CSV.\nYou can optionally provide an options map as the first argument.", "Args": [ "args" ], "Aliases": [ "unmarshal" ], "Examples": [ [ "{{ \"hello = \\\"Hello World\\\"\" | transform.Unmarshal }}", "map[hello:Hello World]" ], [ "{{ \"hello = \\\"Hello World\\\"\" | resources.FromString \"data/greetings.toml\" | transform.Unmarshal }}", "map[hello:Hello World]" ] ] } }, "urls": { "AbsLangURL": { "Description": "AbsLangURL the string s and converts it to an absolute URL according\nto a page's position in the project directory structure and the current\nlanguage.", "Args": [ "s" ], "Aliases": [ "absLangURL" ], "Examples": [] }, "AbsURL": { "Description": "AbsURL takes the string s and converts it to an absolute URL.", "Args": [ "s" ], "Aliases": [ "absURL" ], "Examples": [] }, "Anchorize": { "Description": "Anchorize creates sanitized anchor name version of the string s that is compatible\nwith how your configured markdown renderer does it.", "Args": [ "s" ], "Aliases": [ "anchorize" ], "Examples": [ [ "{{ \"This is a title\" | anchorize }}", "this-is-a-title" ] ] }, "JoinPath": { "Description": "JoinPath joins the provided elements into a URL string and cleans the result\nof any ./ or ../ elements. If the argument list is empty, JoinPath returns\nan empty string.", "Args": [ "elements" ], "Aliases": null, "Examples": [ [ "{{ urls.JoinPath \"https://example.org\" \"foo\" }}", "https://example.org/foo" ], [ "{{ urls.JoinPath (slice \"a\" \"b\") }}", "a/b" ] ] }, "Parse": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Ref": { "Description": "Ref returns the absolute URL path to a given content item from Page p.", "Args": [ "p", "args" ], "Aliases": [ "ref" ], "Examples": [] }, "RelLangURL": { "Description": "RelLangURL takes the string s and prepends the relative path according to a\npage's position in the project directory structure and the current language.", "Args": [ "s" ], "Aliases": [ "relLangURL" ], "Examples": [] }, "RelRef": { "Description": "RelRef returns the relative URL path to a given content item from Page p.", "Args": [ "p", "args" ], "Aliases": [ "relref" ], "Examples": [] }, "RelURL": { "Description": "RelURL takes the string s and prepends the relative path according to a\npage's position in the project directory structure.", "Args": [ "s" ], "Aliases": [ "relURL" ], "Examples": [] }, "URLize": { "Description": "URLize returns the the strings s formatted as an URL.", "Args": [ "s" ], "Aliases": [ "urlize" ], "Examples": [] } } } } }