ref: a92ef20ff6e43ba05844539b60782e8190712cdc
dir: /docs/data/docs.json/
{ "chroma": { "lexers": [ { "Name": "ABAP", "Aliases": [ "ABAP", "abap" ] }, { "Name": "ABNF", "Aliases": [ "abnf" ] }, { "Name": "ANTLR", "Aliases": [ "antlr" ] }, { "Name": "APL", "Aliases": [ "apl" ] }, { "Name": "ActionScript", "Aliases": [ "actionscript", "as" ] }, { "Name": "ActionScript 3", "Aliases": [ "actionscript3", "as", "as3" ] }, { "Name": "Ada", "Aliases": [ "ada", "ada2005", "ada95", "adb", "ads" ] }, { "Name": "Angular2", "Aliases": [ "ng2" ] }, { "Name": "ApacheConf", "Aliases": [ "aconf", "apache", "apacheconf", "conf", "htaccess" ] }, { "Name": "AppleScript", "Aliases": [ "applescript" ] }, { "Name": "Arduino", "Aliases": [ "arduino", "ino" ] }, { "Name": "Awk", "Aliases": [ "awk", "gawk", "mawk", "nawk" ] }, { "Name": "BNF", "Aliases": [ "bnf" ] }, { "Name": "Ballerina", "Aliases": [ "bal", "ballerina" ] }, { "Name": "Base Makefile", "Aliases": [ "*", "bsdmake", "mak", "make", "makefile", "mf", "mk" ] }, { "Name": "Bash", "Aliases": [ "bash", "bash_*", "bashrc", "ebuild", "eclass", "exheres-0", "exlib", "ksh", "sh", "shell", "zsh", "zshrc" ] }, { "Name": "Batchfile", "Aliases": [ "bat", "batch", "cmd", "dosbatch", "winbatch" ] }, { "Name": "BibTeX", "Aliases": [ "bib", "bibtex" ] }, { "Name": "BlitzBasic", "Aliases": [ "b3d", "bb", "blitzbasic", "bplus", "decls" ] }, { "Name": "Brainfuck", "Aliases": [ "b", "bf", "brainfuck" ] }, { "Name": "C", "Aliases": [ "c", "h", "idc" ] }, { "Name": "C#", "Aliases": [ "c#", "cs", "csharp" ] }, { "Name": "C++", "Aliases": [ "C", "CPP", "H", "c++", "cc", "cp", "cpp", "cxx", "h++", "hh", "hpp", "hxx" ] }, { "Name": "CFEngine3", "Aliases": [ "cf", "cf3", "cfengine3" ] }, { "Name": "CMake", "Aliases": [ "cmake", "txt" ] }, { "Name": "COBOL", "Aliases": [ "COB", "CPY", "cob", "cobol", "cpy" ] }, { "Name": "CSS", "Aliases": [ "css" ] }, { "Name": "Caddyfile", "Aliases": [ "caddy", "caddyfile" ] }, { "Name": "Caddyfile Directives", "Aliases": [ "caddy-d", "caddyfile-d", "caddyfile-directives" ] }, { "Name": "Cap'n Proto", "Aliases": [ "capnp" ] }, { "Name": "Cassandra CQL", "Aliases": [ "cassandra", "cql" ] }, { "Name": "Ceylon", "Aliases": [ "ceylon" ] }, { "Name": "ChaiScript", "Aliases": [ "chai", "chaiscript" ] }, { "Name": "Cheetah", "Aliases": [ "cheetah", "spitfire", "spt", "tmpl" ] }, { "Name": "Clojure", "Aliases": [ "clj", "clojure" ] }, { "Name": "CoffeeScript", "Aliases": [ "coffee", "coffee-script", "coffeescript" ] }, { "Name": "Common Lisp", "Aliases": [ "cl", "common-lisp", "lisp" ] }, { "Name": "Coq", "Aliases": [ "coq", "v" ] }, { "Name": "Crystal", "Aliases": [ "cr", "crystal" ] }, { "Name": "Cython", "Aliases": [ "cython", "pxd", "pxi", "pyrex", "pyx" ] }, { "Name": "D", "Aliases": [ "d", "di" ] }, { "Name": "DTD", "Aliases": [ "dtd" ] }, { "Name": "Dart", "Aliases": [ "dart" ] }, { "Name": "Diff", "Aliases": [ "diff", "patch", "udiff" ] }, { "Name": "Django/Jinja", "Aliases": [ "django", "jinja" ] }, { "Name": "Docker", "Aliases": [ "docker", "dockerfile" ] }, { "Name": "EBNF", "Aliases": [ "ebnf" ] }, { "Name": "Elixir", "Aliases": [ "elixir", "ex", "exs" ] }, { "Name": "Elm", "Aliases": [ "elm" ] }, { "Name": "EmacsLisp", "Aliases": [ "el", "elisp", "emacs", "emacs-lisp" ] }, { "Name": "Erlang", "Aliases": [ "erl", "erlang", "es", "escript", "hrl" ] }, { "Name": "FSharp", "Aliases": [ "fs", "fsharp", "fsi" ] }, { "Name": "Factor", "Aliases": [ "factor" ] }, { "Name": "Fish", "Aliases": [ "fish", "fishshell", "load" ] }, { "Name": "Forth", "Aliases": [ "forth", "frt", "fs", "fth" ] }, { "Name": "Fortran", "Aliases": [ "F03", "F90", "f03", "f90", "fortran" ] }, { "Name": "GAS", "Aliases": [ "S", "asm", "gas", "s" ] }, { "Name": "GDScript", "Aliases": [ "gd", "gdscript" ] }, { "Name": "GLSL", "Aliases": [ "frag", "geo", "glsl", "vert" ] }, { "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", "FEATURE", "Gherkin", "cucumber", "feature", "gherkin" ] }, { "Name": "Gnuplot", "Aliases": [ "gnuplot", "plot", "plt" ] }, { "Name": "Go", "Aliases": [ "go", "golang" ] }, { "Name": "Go HTML Template", "Aliases": [ "go-html-template" ] }, { "Name": "Go Text Template", "Aliases": [ "go-text-template" ] }, { "Name": "GraphQL", "Aliases": [ "gql", "graphql", "graphqls" ] }, { "Name": "Groovy", "Aliases": [ "gradle", "groovy" ] }, { "Name": "HCL", "Aliases": [ "hcl" ] }, { "Name": "HLB", "Aliases": [ "hlb" ] }, { "Name": "HTML", "Aliases": [ "htm", "html", "xhtml", "xslt" ] }, { "Name": "HTTP", "Aliases": [ "http" ] }, { "Name": "Handlebars", "Aliases": [ "handlebars" ] }, { "Name": "Haskell", "Aliases": [ "haskell", "hs" ] }, { "Name": "Haxe", "Aliases": [ "haxe", "hx", "hxsl" ] }, { "Name": "Hexdump", "Aliases": [ "hexdump" ] }, { "Name": "Hy", "Aliases": [ "hy", "hylang" ] }, { "Name": "INI", "Aliases": [ "cfg", "dosini", "editorconfig", "gitconfig", "inf", "ini" ] }, { "Name": "Idris", "Aliases": [ "idr", "idris" ] }, { "Name": "Igor", "Aliases": [ "igor", "igorpro", "ipf" ] }, { "Name": "Io", "Aliases": [ "io" ] }, { "Name": "J", "Aliases": [ "ijs", "j" ] }, { "Name": "JSON", "Aliases": [ "json" ] }, { "Name": "Java", "Aliases": [ "java" ] }, { "Name": "JavaScript", "Aliases": [ "javascript", "js", "jsm" ] }, { "Name": "Julia", "Aliases": [ "jl", "julia" ] }, { "Name": "Jungle", "Aliases": [ "jungle" ] }, { "Name": "Kotlin", "Aliases": [ "kotlin", "kt" ] }, { "Name": "LLVM", "Aliases": [ "ll", "llvm" ] }, { "Name": "Lighttpd configuration file", "Aliases": [ "lighttpd", "lighty" ] }, { "Name": "Lua", "Aliases": [ "lua", "wlua" ] }, { "Name": "MLIR", "Aliases": [ "mlir" ] }, { "Name": "Mako", "Aliases": [ "mako", "mao" ] }, { "Name": "Mason", "Aliases": [ "m", "mason", "mc", "mhtml", "mi" ] }, { "Name": "Mathematica", "Aliases": [ "cdf", "ma", "mathematica", "mma", "nb", "nbp" ] }, { "Name": "Matlab", "Aliases": [ "m", "matlab" ] }, { "Name": "MiniZinc", "Aliases": [ "MZN", "dzn", "fzn", "minizinc", "mzn" ] }, { "Name": "Modula-2", "Aliases": [ "def", "m2", "mod", "modula2" ] }, { "Name": "MonkeyC", "Aliases": [ "mc", "monkeyc" ] }, { "Name": "MorrowindScript", "Aliases": [ "morrowind", "mwscript" ] }, { "Name": "MySQL", "Aliases": [ "mysql", "sql" ] }, { "Name": "Myghty", "Aliases": [ "myghty", "myt" ] }, { "Name": "NASM", "Aliases": [ "ASM", "asm", "nasm" ] }, { "Name": "Newspeak", "Aliases": [ "newspeak", "ns2" ] }, { "Name": "Nginx configuration file", "Aliases": [ "conf", "nginx" ] }, { "Name": "Nim", "Aliases": [ "nim", "nimrod" ] }, { "Name": "Nix", "Aliases": [ "nix", "nixos" ] }, { "Name": "OCaml", "Aliases": [ "ml", "mli", "mll", "mly", "ocaml" ] }, { "Name": "Objective-C", "Aliases": [ "h", "m", "obj-c", "objc", "objective-c", "objectivec" ] }, { "Name": "Octave", "Aliases": [ "m", "octave" ] }, { "Name": "OpenSCAD", "Aliases": [ "openscad", "scad" ] }, { "Name": "Org Mode", "Aliases": [ "org", "orgmode" ] }, { "Name": "PHP", "Aliases": [ "inc", "php", "php3", "php4", "php5", "php[345]" ] }, { "Name": "PHTML", "Aliases": [ "phtml" ] }, { "Name": "PL/pgSQL", "Aliases": [ "plpgsql" ] }, { "Name": "POVRay", "Aliases": [ "inc", "pov" ] }, { "Name": "PacmanConf", "Aliases": [ "conf", "pacmanconf" ] }, { "Name": "Perl", "Aliases": [ "perl", "pl", "pm", "t" ] }, { "Name": "Pig", "Aliases": [ "pig" ] }, { "Name": "PkgConfig", "Aliases": [ "pc", "pkgconfig" ] }, { "Name": "Pony", "Aliases": [ "pony" ] }, { "Name": "PostScript", "Aliases": [ "eps", "postscr", "postscript", "ps" ] }, { "Name": "PostgreSQL SQL dialect", "Aliases": [ "postgres", "postgresql" ] }, { "Name": "PowerShell", "Aliases": [ "posh", "powershell", "ps1", "psm1" ] }, { "Name": "Prolog", "Aliases": [ "ecl", "pl", "pro", "prolog" ] }, { "Name": "Protocol Buffer", "Aliases": [ "proto", "protobuf" ] }, { "Name": "Puppet", "Aliases": [ "pp", "puppet" ] }, { "Name": "Python", "Aliases": [ "py", "python", "pyw", "sage", "sc", "tac" ] }, { "Name": "Python 3", "Aliases": [ "py3", "python3" ] }, { "Name": "QBasic", "Aliases": [ "BAS", "bas", "basic", "qbasic" ] }, { "Name": "R", "Aliases": [ "R", "Renviron", "Rhistory", "Rprofile", "S", "r", "s", "splus" ] }, { "Name": "Racket", "Aliases": [ "racket", "rkt", "rktd", "rktl" ] }, { "Name": "Ragel", "Aliases": [ "ragel" ] }, { "Name": "ReasonML", "Aliases": [ "re", "reason", "reasonml", "rei" ] }, { "Name": "Rexx", "Aliases": [ "arexx", "rex", "rexx", "rx" ] }, { "Name": "Ruby", "Aliases": [ "duby", "gemspec", "rake", "rb", "rbw", "rbx", "ruby" ] }, { "Name": "Rust", "Aliases": [ "in", "rs", "rust" ] }, { "Name": "SAS", "Aliases": [ "SAS", "sas" ] }, { "Name": "SCSS", "Aliases": [ "scss" ] }, { "Name": "SPARQL", "Aliases": [ "rq", "sparql" ] }, { "Name": "SQL", "Aliases": [ "sql" ] }, { "Name": "SYSTEMD", "Aliases": [ "service", "systemd" ] }, { "Name": "Sass", "Aliases": [ "sass" ] }, { "Name": "Scala", "Aliases": [ "scala" ] }, { "Name": "Scheme", "Aliases": [ "scheme", "scm", "ss" ] }, { "Name": "Scilab", "Aliases": [ "sce", "sci", "scilab", "tst" ] }, { "Name": "Smalltalk", "Aliases": [ "smalltalk", "squeak", "st" ] }, { "Name": "Smarty", "Aliases": [ "smarty", "tpl" ] }, { "Name": "Snobol", "Aliases": [ "snobol" ] }, { "Name": "Solidity", "Aliases": [ "sol", "solidity" ] }, { "Name": "SquidConf", "Aliases": [ "conf", "squid", "squid.conf", "squidconf" ] }, { "Name": "Standard ML", "Aliases": [ "fun", "sig", "sml" ] }, { "Name": "Swift", "Aliases": [ "swift" ] }, { "Name": "TASM", "Aliases": [ "ASM", "asm", "tasm" ] }, { "Name": "TOML", "Aliases": [ "toml" ] }, { "Name": "TableGen", "Aliases": [ "tablegen", "td" ] }, { "Name": "Tcl", "Aliases": [ "rvt", "tcl" ] }, { "Name": "Tcsh", "Aliases": [ "csh", "tcsh" ] }, { "Name": "TeX", "Aliases": [ "aux", "latex", "tex", "toc" ] }, { "Name": "Termcap", "Aliases": [ "src", "termcap" ] }, { "Name": "Terminfo", "Aliases": [ "src", "terminfo" ] }, { "Name": "Terraform", "Aliases": [ "terraform", "tf" ] }, { "Name": "Thrift", "Aliases": [ "thrift" ] }, { "Name": "TradingView", "Aliases": [ "tradingview", "tv" ] }, { "Name": "Transact-SQL", "Aliases": [ "t-sql", "tsql" ] }, { "Name": "Turing", "Aliases": [ "tu", "turing" ] }, { "Name": "Turtle", "Aliases": [ "ttl", "turtle" ] }, { "Name": "Twig", "Aliases": [ "twig" ] }, { "Name": "TypeScript", "Aliases": [ "ts", "tsx", "typescript" ] }, { "Name": "TypoScript", "Aliases": [ "ts", "typoscript" ] }, { "Name": "TypoScriptCssData", "Aliases": [ "typoscriptcssdata" ] }, { "Name": "TypoScriptHtmlData", "Aliases": [ "typoscripthtmldata" ] }, { "Name": "VB.net", "Aliases": [ "bas", "vb", "vb.net", "vbnet" ] }, { "Name": "VHDL", "Aliases": [ "vhd", "vhdl" ] }, { "Name": "VimL", "Aliases": [ "exrc", "gvimrc", "vim", "vimrc" ] }, { "Name": "WDTE", "Aliases": [ "wdte" ] }, { "Name": "XML", "Aliases": [ "rss", "svg", "wsdl", "wsf", "xml", "xsd", "xsl", "xslt" ] }, { "Name": "Xorg", "Aliases": [ "conf", "xorg.conf" ] }, { "Name": "YAML", "Aliases": [ "yaml", "yml" ] }, { "Name": "YANG", "Aliases": [ "yang" ] }, { "Name": "Zig", "Aliases": [ "zig" ] }, { "Name": "cfstatement", "Aliases": [ "cfs" ] }, { "Name": "markdown", "Aliases": [ "markdown", "md", "mkd" ] }, { "Name": "plaintext", "Aliases": [ "no-highlight", "plain", "text", "txt" ] }, { "Name": "reStructuredText", "Aliases": [ "rest", "restructuredtext", "rst" ] }, { "Name": "react", "Aliases": [ "jsx", "react" ] }, { "Name": "reg", "Aliases": [ "reg", "registry" ] }, { "Name": "systemverilog", "Aliases": [ "sv", "svh", "systemverilog" ] }, { "Name": "verilog", "Aliases": [ "v", "verilog" ] }, { "Name": "vue", "Aliases": [ "vue", "vuejs" ] } ] }, "config": { "markup": { "defaultMarkdownHandler": "goldmark", "highlight": { "style": "monokai", "codeFences": true, "noClasses": true, "lineNos": false, "lineNumbersInTable": true, "anchorLineNos": false, "lineAnchors": "", "lineNoStart": 1, "hl_Lines": "", "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": true }, "extensions": { "typographer": true, "footnote": true, "definitionList": true, "table": true, "strikethrough": true, "linkify": true, "taskList": true } }, "blackFriday": { "smartypants": true, "smartypantsQuotesNBSP": false, "angledQuotes": false, "fractions": true, "hrefTargetBlank": false, "nofollowLinks": false, "noreferrerLinks": false, "smartDashes": true, "latexDashes": true, "taskLists": true, "plainIDAnchors": true, "extensions": null, "extensionsMask": null, "skipHTML": false, "footnoteAnchorPrefix": "", "footnoteReturnLinkContents": "" }, "asciidocExt": { "backend": "html5", "extensions": [], "attributes": {}, "noHeaderOrFooter": true, "safeMode": "unsafe", "sectionNumbers": false, "verbose": false, "trace": false, "failureLevel": "fatal", "workingFolderCurrent": false, "preserveTOC": false } }, "minify": { "minifyOutput": false, "disableHTML": false, "disableCSS": false, "disableJS": false, "disableJSON": false, "disableSVG": false, "disableXML": false, "tdewolff": { "html": { "keepConditionalComments": true, "keepDefaultAttrVals": true, "keepDocumentTags": true, "keepEndTags": true, "keepQuotes": false, "keepWhitespace": false }, "css": { "decimals": -1, "keepCSS2": true }, "js": {}, "json": {}, "svg": { "decimals": -1 }, "xml": { "keepWhitespace": false } } } }, "media": { "types": [ { "type": "application/javascript", "string": "application/javascript", "mainType": "application", "subType": "javascript", "delimiter": ".", "suffixes": [ "js" ] }, { "type": "application/json", "string": "application/json", "mainType": "application", "subType": "json", "delimiter": ".", "suffixes": [ "json" ] }, { "type": "application/octet-stream", "string": "application/octet-stream", "mainType": "application", "subType": "octet-stream", "delimiter": "", "suffixes": null }, { "type": "application/rss+xml", "string": "application/rss+xml", "mainType": "application", "subType": "rss", "delimiter": ".", "suffixes": [ "xml" ] }, { "type": "application/toml", "string": "application/toml", "mainType": "application", "subType": "toml", "delimiter": ".", "suffixes": [ "toml" ] }, { "type": "application/typescript", "string": "application/typescript", "mainType": "application", "subType": "typescript", "delimiter": ".", "suffixes": [ "ts" ] }, { "type": "application/xml", "string": "application/xml", "mainType": "application", "subType": "xml", "delimiter": ".", "suffixes": [ "xml" ] }, { "type": "application/yaml", "string": "application/yaml", "mainType": "application", "subType": "yaml", "delimiter": ".", "suffixes": [ "yaml", "yml" ] }, { "type": "image/jpeg", "string": "image/jpeg", "mainType": "image", "subType": "jpeg", "delimiter": ".", "suffixes": [ "jpg", "jpeg" ] }, { "type": "image/png", "string": "image/png", "mainType": "image", "subType": "png", "delimiter": ".", "suffixes": [ "png" ] }, { "type": "image/svg+xml", "string": "image/svg+xml", "mainType": "image", "subType": "svg", "delimiter": ".", "suffixes": [ "svg" ] }, { "type": "text/calendar", "string": "text/calendar", "mainType": "text", "subType": "calendar", "delimiter": ".", "suffixes": [ "ics" ] }, { "type": "text/css", "string": "text/css", "mainType": "text", "subType": "css", "delimiter": ".", "suffixes": [ "css" ] }, { "type": "text/csv", "string": "text/csv", "mainType": "text", "subType": "csv", "delimiter": ".", "suffixes": [ "csv" ] }, { "type": "text/html", "string": "text/html", "mainType": "text", "subType": "html", "delimiter": ".", "suffixes": [ "html" ] }, { "type": "text/jsx", "string": "text/jsx", "mainType": "text", "subType": "jsx", "delimiter": ".", "suffixes": [ "jsx" ] }, { "type": "text/plain", "string": "text/plain", "mainType": "text", "subType": "plain", "delimiter": ".", "suffixes": [ "txt" ] }, { "type": "text/tsx", "string": "text/tsx", "mainType": "text", "subType": "tsx", "delimiter": ".", "suffixes": [ "tsx" ] }, { "type": "text/x-sass", "string": "text/x-sass", "mainType": "text", "subType": "x-sass", "delimiter": ".", "suffixes": [ "sass" ] }, { "type": "text/x-scss", "string": "text/x-scss", "mainType": "text", "subType": "x-scss", "delimiter": ".", "suffixes": [ "scss" ] }, { "type": "video/3gpp", "string": "video/3gpp", "mainType": "video", "subType": "3gpp", "delimiter": ".", "suffixes": [ "3gpp", "3gp" ] }, { "type": "video/mp4", "string": "video/mp4", "mainType": "video", "subType": "mp4", "delimiter": ".", "suffixes": [ "mp4" ] }, { "type": "video/mpeg", "string": "video/mpeg", "mainType": "video", "subType": "mpeg", "delimiter": ".", "suffixes": [ "mpg", "mpeg" ] }, { "type": "video/ogg", "string": "video/ogg", "mainType": "video", "subType": "ogg", "delimiter": ".", "suffixes": [ "ogv" ] }, { "type": "video/webm", "string": "video/webm", "mainType": "video", "subType": "webm", "delimiter": ".", "suffixes": [ "webm" ] }, { "type": "video/x-msvideo", "string": "video/x-msvideo", "mainType": "video", "subType": "x-msvideo", "delimiter": ".", "suffixes": [ "avi" ] } ] }, "output": { "formats": [ { "MediaType": "text/html", "name": "HTML", "mediaType": { "type": "text/html", "string": "text/html", "mainType": "text", "subType": "html", "delimiter": ".", "suffixes": [ "html" ] }, "path": "", "baseName": "index", "rel": "canonical", "protocol": "", "isPlainText": false, "isHTML": true, "noUgly": false, "notAlternative": false, "permalinkable": true, "weight": 10 }, { "MediaType": "text/html", "name": "AMP", "mediaType": { "type": "text/html", "string": "text/html", "mainType": "text", "subType": "html", "delimiter": ".", "suffixes": [ "html" ] }, "path": "amp", "baseName": "index", "rel": "amphtml", "protocol": "", "isPlainText": false, "isHTML": true, "noUgly": false, "notAlternative": false, "permalinkable": true, "weight": 0 }, { "MediaType": "text/css", "name": "CSS", "mediaType": { "type": "text/css", "string": "text/css", "mainType": "text", "subType": "css", "delimiter": ".", "suffixes": [ "css" ] }, "path": "", "baseName": "styles", "rel": "stylesheet", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": true, "permalinkable": false, "weight": 0 }, { "MediaType": "text/csv", "name": "CSV", "mediaType": { "type": "text/csv", "string": "text/csv", "mainType": "text", "subType": "csv", "delimiter": ".", "suffixes": [ "csv" ] }, "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "MediaType": "text/calendar", "name": "Calendar", "mediaType": { "type": "text/calendar", "string": "text/calendar", "mainType": "text", "subType": "calendar", "delimiter": ".", "suffixes": [ "ics" ] }, "path": "", "baseName": "index", "rel": "alternate", "protocol": "webcal://", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "MediaType": "application/json", "name": "JSON", "mediaType": { "type": "application/json", "string": "application/json", "mainType": "application", "subType": "json", "delimiter": ".", "suffixes": [ "json" ] }, "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "MediaType": "text/plain", "name": "ROBOTS", "mediaType": { "type": "text/plain", "string": "text/plain", "mainType": "text", "subType": "plain", "delimiter": ".", "suffixes": [ "txt" ] }, "path": "", "baseName": "robots", "rel": "alternate", "protocol": "", "isPlainText": true, "isHTML": false, "noUgly": false, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "MediaType": "application/rss+xml", "name": "RSS", "mediaType": { "type": "application/rss+xml", "string": "application/rss+xml", "mainType": "application", "subType": "rss", "delimiter": ".", "suffixes": [ "xml" ] }, "path": "", "baseName": "index", "rel": "alternate", "protocol": "", "isPlainText": false, "isHTML": false, "noUgly": true, "notAlternative": false, "permalinkable": false, "weight": 0 }, { "MediaType": "application/xml", "name": "Sitemap", "mediaType": { "type": "application/xml", "string": "application/xml", "mainType": "application", "subType": "xml", "delimiter": ".", "suffixes": [ "xml" ] }, "path": "", "baseName": "sitemap", "rel": "sitemap", "protocol": "", "isPlainText": false, "isHTML": false, "noUgly": true, "notAlternative": false, "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": "AMP", "Suffix": "html", "Template Lookup Order": [ "layouts/posts/single.fr.amp.html", "layouts/posts/single.amp.html", "layouts/posts/single.fr.html", "layouts/posts/single.html", "layouts/_default/single.fr.amp.html", "layouts/_default/single.amp.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 the given value to a float.", "Args": [ "v" ], "Aliases": [ "float" ], "Examples": [ [ "{{ \"1234\" | float | printf \"%T\" }}", "float64" ] ] }, "ToInt": { "Description": "ToInt converts the given value to an int.", "Args": [ "v" ], "Aliases": [ "int" ], "Examples": [ [ "{{ \"1234\" | int | printf \"%T\" }}", "int" ] ] }, "ToString": { "Description": "ToString converts the given value to a string.", "Args": [ "v" ], "Aliases": [ "string" ], "Examples": [ [ "{{ 1234 | string | printf \"%T\" }}", "string" ] ] } }, "compare": { "Conditional": { "Description": "Conditional can be used as a ternary operator.\nIt returns a if condition, else b.", "Args": [ "condition", "a", "b" ], "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 given value is set and returns a default value 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": [ "dflt", "given" ], "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{{ end }}", "current" ] ] }, "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.36\" }}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": [] }, "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 in a rangeable list.", "Args": [ "index", "seq" ], "Aliases": [ "after" ], "Examples": [] }, "Append": { "Description": "Append appends the arguments up to the last one to the slice in the last argument.\nThis construct allows template constructs like this:\n {{ $pages = $pages | append $p2 $p1 }}\nNote that with 2 arguments where both are slices of the same type,\nthe first slice will be appended to the second:\n {{ $pages = $pages | append .Site.RegularPages }}", "Args": [ "args" ], "Aliases": [ "append" ], "Examples": [] }, "Apply": { "Description": "Apply takes a map, array, or slice and returns a new slice with the function fname applied over it.", "Args": [ "seq", "fname", "args" ], "Aliases": [ "apply" ], "Examples": [] }, "Complement": { "Description": "Complement gives the elements in the last element of seqs that are not in\nany of the others.\nAll elements of seqs 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 {{ $c := .Pages | complement $last4 }}", "Args": [ "seqs" ], "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 sequence and returns a delimited HTML string.\nIf last is passed to the function, it will be used as the final delimiter.", "Args": [ "seq", "delimiter", "last" ], "Aliases": [ "delimit" ], "Examples": [ [ "{{ delimit (slice \"A\" \"B\" \"C\") \", \" \" and \" }}", "A, B and C" ] ] }, "Dictionary": { "Description": "Dictionary creates a map[string]interface{} from the given parameters by\nwalking the parameters and treating them as key-value pairs. The number\nof parameters 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 given value if it is set; otherwise, it returns an\nempty string.", "Args": [ "a", "key" ], "Aliases": [ "echoParam" ], "Examples": [ [ "{{ echoParam .Params \"langCode\" }}", "en" ] ] }, "First": { "Description": "First returns the first N items in a rangeable list.", "Args": [ "limit", "seq" ], "Aliases": [ "first" ], "Examples": [] }, "Group": { "Description": "Group groups a set of elements 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 set 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\nCopied from Go stdlib src/text/template/funcs.go.\n\nWe deviate from the stdlib due to https://github.com/golang/go/issues/14751.\n\nTODO(moorereason): merge upstream changes.", "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 has a key\ndefined.", "Args": [ "a", "key" ], "Aliases": [ "isSet", "isset" ], "Examples": [] }, "KeyVals": { "Description": "KeyVals creates a key and values wrapper.", "Args": [ "key", "vals" ], "Aliases": [ "keyVals" ], "Examples": [ [ "{{ keyVals \"key\" \"a\" \"b\" }}", "key: [a b]" ] ] }, "Last": { "Description": "Last returns the last N items in a rangeable list.", "Args": [ "limit", "seq" ], "Aliases": [ "last" ], "Examples": [] }, "Merge": { "Description": "Merge creates a copy of the final parameter and merges the preceeding\nparameters into it in reverse order.\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 parameters 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" ] ] }, "Reverse": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Seq": { "Description": "Seq creates a sequence of integers. It's named and used as GNU's seq.\n\nExamples:\n 3 =\u003e 1, 2, 3\n 1 2 4 =\u003e 1, 3\n -3 =\u003e -1, -2, -3\n 1 4 =\u003e 1, 2, 3, 4\n 1 -2 =\u003e 1, 0, -1, -2", "Args": [ "args" ], "Aliases": [ "seq" ], "Examples": [ [ "{{ seq 3 }}", "[1 2 3]" ] ] }, "Shuffle": { "Description": "Shuffle returns the given rangeable list in a randomised order.", "Args": [ "seq" ], "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 sequence.", "Args": [ "seq", "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 takes in a slice or array and returns a slice with subsequent\nduplicate elements removed.", "Args": [ "seq" ], "Aliases": [ "uniq" ], "Examples": [ [ "{{ slice 1 2 3 2 | uniq }}", "[1 2 3]" ] ] }, "Where": { "Description": "Where returns a filtered subset of a given data type.", "Args": [ "seq", "key", "args" ], "Aliases": [ "where" ], "Examples": [] } }, "crypto": { "HMAC": { "Description": "HMAC returns a cryptographic hash that uses a key to sign a message.", "Args": [ "h", "k", "m" ], "Aliases": [ "hmac" ], "Examples": [ [ "{{ hmac \"sha256\" \"Secret key\" \"Hello world, gophers!\" }}", "b6d11b6c53830b9d87036272ca9fe9d19306b8f9d8aa07b15da27d89e6e34f40" ] ] }, "MD5": { "Description": "MD5 hashes the given input and returns its MD5 checksum.", "Args": [ "in" ], "Aliases": [ "md5" ], "Examples": [ [ "{{ md5 \"Hello world, gophers!\" }}", "b3029f756f98f79e7f1b7f1d1f0dd53b" ], [ "{{ crypto.MD5 \"Hello world, gophers!\" }}", "b3029f756f98f79e7f1b7f1d1f0dd53b" ] ] }, "SHA1": { "Description": "SHA1 hashes the given input and returns its SHA1 checksum.", "Args": [ "in" ], "Aliases": [ "sha1" ], "Examples": [ [ "{{ sha1 \"Hello world, gophers!\" }}", "c8b5b0e33d408246e30f53e32b8f7627a7a649d4" ] ] }, "SHA256": { "Description": "SHA256 hashes the given input and returns its SHA256 checksum.", "Args": [ "in" ], "Aliases": [ "sha256" ], "Examples": [ [ "{{ sha256 \"Hello world, gophers!\" }}", "6ec43b78da9669f50e4e422575c54bf87536954ccd58280219c393f2ce352b46" ] ] } }, "data": { "GetCSV": { "Description": "GetCSV expects a data separator 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", "urlParts" ], "Aliases": [ "getCSV" ], "Examples": [] }, "GetJSON": { "Description": "GetJSON expects one or n-parts of a URL 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": [ "urlParts" ], "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. We recommend using the \"go\" Chroma lexer to format the output\nnicely.\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}" ] ] } }, "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 argument. 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 according to a format specifier and logs an ERROR.\nIt returns an empty string.", "Args": [ "format", "a" ], "Aliases": [ "errorf" ], "Examples": [ [ "{{ errorf \"%s.\" \"failed\" }}", "" ] ] }, "Print": { "Description": "Print returns string representation of the passed arguments.", "Args": [ "a" ], "Aliases": [ "print" ], "Examples": [ [ "{{ print \"works!\" }}", "works!" ] ] }, "Printf": { "Description": "Printf returns a formatted string representation of the passed arguments.", "Args": [ "format", "a" ], "Aliases": [ "printf" ], "Examples": [ [ "{{ printf \"%s!\" \"works\" }}", "works!" ] ] }, "Println": { "Description": "Println returns string representation of the passed arguments ending with a newline.", "Args": [ "a" ], "Aliases": [ "println" ], "Examples": [ [ "{{ println \"works!\" }}", "works!\n" ] ] }, "Warnf": { "Description": "Warnf formats according to a format specifier and logs a WARNING.\nIt returns an empty string.", "Args": [ "format", "a" ], "Aliases": [ "warnf" ], "Examples": [ [ "{{ warnf \"%s.\" \"warning\" }}", "" ] ] } }, "hugo": { "Generator": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "IsProduction": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Version": { "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 }, "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 }, "UnsharpMask": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "inflect": { "Humanize": { "Description": "Humanize returns the humanized form of a single parameter.\n\nIf the parameter is either an integer or a string containing an integer\nvalue, the behavior is to add the appropriate ordinal.\n\n Example: \"my-first-post\" -\u003e \"My first post\"\n Example: \"103\" -\u003e \"103rd\"\n Example: 52 -\u003e \"52nd\"", "Args": [ "in" ], "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 a single word.", "Args": [ "in" ], "Aliases": [ "pluralize" ], "Examples": [ [ "{{ \"cat\" | pluralize }}", "cats" ] ] }, "Singularize": { "Description": "Singularize returns the singular form of a single word.", "Args": [ "in" ], "Aliases": [ "singularize" ], "Examples": [ [ "{{ \"cats\" | singularize }}", "cat" ] ] } }, "js": { "Build": { "Description": "", "Args": null, "Aliases": null, "Examples": null } }, "lang": { "Merge": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "NumFmt": { "Description": "NumFmt formats a number with the given precision using the\nnegative, decimal, and grouping options. The `options`\nparameter is a string consisting of `\u003cnegative\u003e \u003cdecimal\u003e \u003cgrouping\u003e`. The\ndefault `options` value is `- . ,`.\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`.", "Args": [ "precision", "number", "options" ], "Aliases": null, "Examples": [ [ "{{ lang.NumFmt 2 12345.6789 }}", "12,345.68" ], [ "{{ lang.NumFmt 2 12345.6789 \"- , .\" }}", "12.345,68" ], [ "{{ lang.NumFmt 6 -12345.6789 \"- .\" }}", "-12345.678900" ], [ "{{ lang.NumFmt 0 -12345.6789 \"- . ,\" }}", "-12,346" ], [ "{{ -98765.4321 | lang.NumFmt 2 }}", "-98,765.43" ] ] }, "Translate": { "Description": "Translate returns a translated string for id.", "Args": [ "id", "args" ], "Aliases": [ "i18n", "T" ], "Examples": [] } }, "math": { "Add": { "Description": "Add adds two numbers.", "Args": [ "a", "b" ], "Aliases": [ "add" ], "Examples": [ [ "{{add 1 2}}", "3" ] ] }, "Ceil": { "Description": "Ceil returns the least integer value greater than or equal to x.", "Args": [ "x" ], "Aliases": null, "Examples": [ [ "{{math.Ceil 2.1}}", "3" ] ] }, "Div": { "Description": "Div divides two numbers.", "Args": [ "a", "b" ], "Aliases": [ "div" ], "Examples": [ [ "{{div 6 3}}", "2" ] ] }, "Floor": { "Description": "Floor returns the greatest integer value less than or equal to x.", "Args": [ "x" ], "Aliases": null, "Examples": [ [ "{{math.Floor 1.9}}", "1" ] ] }, "Log": { "Description": "Log returns the natural logarithm of a number.", "Args": [ "a" ], "Aliases": null, "Examples": [ [ "{{math.Log 1}}", "0" ] ] }, "Mod": { "Description": "Mod returns a % b.", "Args": [ "a", "b" ], "Aliases": [ "mod" ], "Examples": [ [ "{{mod 15 3}}", "0" ] ] }, "ModBool": { "Description": "ModBool returns the boolean of a % b. If a % b == 0, return true.", "Args": [ "a", "b" ], "Aliases": [ "modBool" ], "Examples": [ [ "{{modBool 15 3}}", "true" ] ] }, "Mul": { "Description": "Mul multiplies two numbers.", "Args": [ "a", "b" ], "Aliases": [ "mul" ], "Examples": [ [ "{{mul 2 3}}", "6" ] ] }, "Pow": { "Description": "Pow returns a raised to the power of b.", "Args": [ "a", "b" ], "Aliases": [ "pow" ], "Examples": [ [ "{{math.Pow 2 3}}", "8" ] ] }, "Round": { "Description": "Round returns the nearest integer, rounding half away from zero.", "Args": [ "x" ], "Aliases": null, "Examples": [ [ "{{math.Round 1.5}}", "2" ] ] }, "Sqrt": { "Description": "Sqrt returns the square root of a number.\nNOTE: will return for NaN for negative values of a", "Args": [ "a" ], "Aliases": null, "Examples": [ [ "{{math.Sqrt 81}}", "9" ] ] }, "Sub": { "Description": "Sub subtracts two numbers.", "Args": [ "a", "b" ], "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.", "Args": [ "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.", "Args": [ "name", "context", "variants" ], "Aliases": [ "partialCached" ], "Examples": [] } }, "path": { "Base": { "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": [] }, "Concat": { "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 }, "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\nobject or a target path (string) as first argument.", "Args": [ "args" ], "Aliases": [ "toCSS" ], "Examples": [] } }, "safe": { "CSS": { "Description": "CSS returns a given string as html/template CSS content.", "Args": [ "a" ], "Aliases": [ "safeCSS" ], "Examples": [ [ "{{ \"Bat\u0026Man\" | safeCSS | safeCSS }}", "Bat\u0026amp;Man" ] ] }, "HTML": { "Description": "HTML returns a given string as html/template HTML content.", "Args": [ "a" ], "Aliases": [ "safeHTML" ], "Examples": [ [ "{{ \"Bat\u0026Man\" | safeHTML | safeHTML }}", "Bat\u0026Man" ], [ "{{ \"Bat\u0026Man\" | safeHTML }}", "Bat\u0026Man" ] ] }, "HTMLAttr": { "Description": "HTMLAttr returns a given string as html/template HTMLAttr content.", "Args": [ "a" ], "Aliases": [ "safeHTMLAttr" ], "Examples": [] }, "JS": { "Description": "JS returns the given string as a html/template JS content.", "Args": [ "a" ], "Aliases": [ "safeJS" ], "Examples": [ [ "{{ \"(1*2)\" | safeJS | safeJS }}", "(1*2)" ] ] }, "JSStr": { "Description": "JSStr returns the given string as a html/template JSStr content.", "Args": [ "a" ], "Aliases": [ "safeJSStr" ], "Examples": [] }, "SanitizeURL": { "Description": "SanitizeURL returns a given string as html/template URL content.", "Args": [ "a" ], "Aliases": [ "sanitizeURL", "sanitizeurl" ], "Examples": [] }, "URL": { "Description": "URL returns a given string as html/template URL content.", "Args": [ "a" ], "Aliases": [ "safeURL" ], "Examples": [ [ "{{ \"http://gohugo.io\" | safeURL | safeURL }}", "http://gohugo.io" ] ] } }, "site": { "BaseURL": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Data": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Hugo": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "IsServer": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Language": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "LastChange": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Menus": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Pages": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Params": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "RegularPages": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "ServerPort": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Sites": { "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": "", "Args": null, "Aliases": null, "Examples": null }, "ContainsAny": { "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 whitepace.", "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]" ] ] }, "FirstUpper": { "Description": "FirstUpper returns a string with the first character as 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": "", "Args": null, "Aliases": null, "Examples": null }, "Repeat": { "Description": "Repeat returns a new string consisting of count 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 a string with all leading and trailing characters defined\ncontained in cutset removed.", "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 a given string to the specified length.", "Args": [ "a", "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 into\nthe other form or returns it of the time.Time value. These are formatted\nwith the layout string", "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.", "Args": null, "Aliases": [ "now" ], "Examples": [] }, "ParseDuration": { "Description": "ParseDuration parses a duration string.\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": [ "in" ], "Aliases": null, "Examples": [ [ "{{ \"1h12m10s\" | time.ParseDuration }}", "1h12m10s" ] ] } }, "transform": { "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 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": [] }, "Markdownify": { "Description": "Markdownify renders a given input from Markdown to HTML.", "Args": [ "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 takes a given string and converts it to an absolute URL according\nto a page's position in the project directory structure and the current\nlanguage.", "Args": [ "a" ], "Aliases": [ "absLangURL" ], "Examples": [] }, "AbsURL": { "Description": "AbsURL takes a given string and converts it to an absolute URL.", "Args": [ "a" ], "Aliases": [ "absURL" ], "Examples": [] }, "Anchorize": { "Description": "Anchorize creates sanitized anchor names that are compatible with Blackfriday.", "Args": [ "a" ], "Aliases": [ "anchorize" ], "Examples": [ [ "{{ \"This is a title\" | anchorize }}", "this-is-a-title" ] ] }, "Parse": { "Description": "", "Args": null, "Aliases": null, "Examples": null }, "Ref": { "Description": "Ref returns the absolute URL path to a given content item.", "Args": [ "in", "args" ], "Aliases": [ "ref" ], "Examples": [] }, "RelLangURL": { "Description": "RelLangURL takes a given string and prepends the relative path according to a\npage's position in the project directory structure and the current language.", "Args": [ "a" ], "Aliases": [ "relLangURL" ], "Examples": [] }, "RelRef": { "Description": "RelRef returns the relative URL path to a given content item.", "Args": [ "in", "args" ], "Aliases": [ "relref" ], "Examples": [] }, "RelURL": { "Description": "RelURL takes a given string and prepends the relative path according to a\npage's position in the project directory structure.", "Args": [ "a" ], "Aliases": [ "relURL" ], "Examples": [] }, "URLize": { "Description": "URLize returns the given argument formatted as URL.", "Args": [ "a" ], "Aliases": [ "urlize" ], "Examples": [] } } } } }