From a6e635ca7d905d9ec3ffd708db2694f680b03aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 9 Aug 2024 15:17:43 +0200 Subject: [PATCH] Squashed 'docs/' changes from 9b06f951e..fcc3ed651 fcc3ed651 Remove some expired new-in a9c5981f5 Fix cascade example 82bb250fa Add some lines about permalinks tokens in front matter 328fe564e Remove some outdated new-in fb140b153 Hide showcase menu entry 42d9d1c79 Update image formats from which EXIF data can be extracted 09ad56b6e netlify: Hugo 0.130.0 1d503f846 Merge branch 'tempv0.130.0' e2458074d math: Add trigonometric functions and some angle helper functions 392afc8f9 Disable the showcase section for now 0300750f2 Improve example of image render hook 60a9306af Improve description of the .Site.RegularPages method 8d759175d Fix typos 55daa4554 Update XxHash.md 397c81cb7 Add namespace for hash functions 70fe8d2f0 netlify: Bump Hugo 0.129.0 5a9771aff Merge branch 'tempv0.129.0' f9146575b Fix typo e6e1fea49 Fix typo in Hugo docs | functions | partial 732d10ec4 source: Expose GitInfo Body 34c97e639 netlify: Hugo 0.128.2 3270587e9 Fix typo 727c5396e netlify: Hugo 0.128.1 80b6ae99c Update GitHub Pages workflow file example 027134102 Update GitHub Pages workflow file example 2600a8a2e Miscellaneous edits 3fdd5819b Update Build.md 7764005c3 Improve example of render hook directory structure 5e3941d82 Fix typos 748bf065f Restructure templates section fafbf6566 Update Defer.md 012162e0d Document changes to template functions in v0.128.0 0990ce35b quick-reference: Update emojis 6677a30ef Update Goldmark configuration documentation 4449d530d Document new pagination config 0af8be439 Update Defer.md 56348196d netlify: Hugo 0.128.0 d67b6d82e Update content/en/functions/templates/Defer.md 23d996b3d Update content/en/functions/templates/Defer.md 7f7fb2f27 Document templates.Defer 5ada1e9d5 Fix docs merge (remove shortcode) d27ee6156 Merge branch 'tempv0.128.0' 5d7317c84 Fix typo 7c18ee546 Update theme 83bfea63b Update theme b274b3238 Merge commit '8b9803425e63e1b1801f8d5d676e96368d706722' ff34a035a deploy: Add stripIndexHtml target option d9e964bdb markup/goldmark: Add the Hugo Goldmark Extras "delete" extension ac5bd16d2 deps: Upgrade github.com/alecthomas/chroma v2.13.0 => v2.14.0 25377171b config: Remove extraneous BuildConfig setting 0d2044f6d docs: Regen docshelper a2548dac9 markup/goldmark: Support extras extension 9d0c86ee8 commands: Add gen chromastyles --lineNumbersTableStyle flag git-subtree-dir: docs git-subtree-split: fcc3ed651a1b6431303c2f88f20fa38531c52b3d --- .cspell.json | 2 + .../sponsors/Route4MeLogoBlueOnWhite.svg | 15 + .../gohugoio/gohugoioTheme/data/sponsors.toml | 13 +- .../gohugoio/gohugoioTheme/layouts/index.html | 2 +- .../partials/home-page-sections/sponsors.html | 5 +- _vendor/modules.txt | 2 +- config/_default/menus/menus.en.toml | 10 +- content/en/about/features.md | 17 +- content/en/about/privacy.md | 2 +- content/en/content-management/comments.md | 2 +- .../en/content-management/content-adapters.md | 2 +- .../en/content-management/cross-references.md | 20 +- content/en/content-management/data-sources.md | 2 +- content/en/content-management/front-matter.md | 2 +- .../image-processing/index.md | 6 +- content/en/content-management/menus.md | 4 +- content/en/content-management/multilingual.md | 9 +- .../content-management/organization/index.md | 15 +- content/en/content-management/page-bundles.md | 10 +- content/en/content-management/related.md | 2 +- content/en/content-management/sections.md | 6 +- content/en/content-management/shortcodes.md | 6 +- .../content-management/syntax-highlighting.md | 2 +- content/en/content-management/taxonomies.md | 8 +- content/en/content-management/types.md | 2 +- content/en/content-management/urls.md | 17 +- content/en/contribute/development.md | 2 +- content/en/contribute/documentation.md | 2 + content/en/functions/collections/After.md | 4 +- content/en/functions/collections/Group.md | 2 +- content/en/functions/collections/Intersect.md | 3 - content/en/functions/crypto/FNV32a.md | 11 +- content/en/functions/css/PostCSS.md | 129 ++ content/en/functions/css/Sass.md | 226 ++ content/en/functions/css/TailwindCSS.md | 86 + content/en/functions/css/_index.md | 12 + content/en/functions/data/GetCSV.md | 1 + content/en/functions/data/GetJSON.md | 1 + content/en/functions/global/page.md | 4 +- content/en/functions/go-template/return.md | 2 +- content/en/functions/go-template/template.md | 2 +- content/en/functions/hash/FNV32a.md | 21 + content/en/functions/hash/XxHash.md | 20 + content/en/functions/hash/_index.md | 12 + content/en/functions/hugo/Generator.md | 2 +- content/en/functions/hugo/GoVersion.md | 2 - content/en/functions/hugo/Version.md | 2 +- content/en/functions/js/Babel.md | 90 + content/en/functions/js/Build.md | 6 +- content/en/functions/math/Acos.md | 24 + content/en/functions/math/Asin.md | 24 + content/en/functions/math/Atan.md | 24 + content/en/functions/math/Atan2.md | 24 + content/en/functions/math/Cos.md | 24 + content/en/functions/math/Pi.md | 24 + content/en/functions/math/Sin.md | 24 + content/en/functions/math/Tan.md | 24 + content/en/functions/math/ToDegrees.md | 19 + content/en/functions/math/ToRadians.md | 19 + content/en/functions/partials/Include.md | 2 +- content/en/functions/path/BaseName.md | 2 - content/en/functions/resources/Babel.md | 8 +- content/en/functions/resources/ByType.md | 2 +- content/en/functions/resources/Copy.md | 2 - content/en/functions/resources/Fingerprint.md | 9 +- content/en/functions/resources/FromString.md | 2 +- content/en/functions/resources/Get.md | 2 +- content/en/functions/resources/GetMatch.md | 2 +- content/en/functions/resources/Match.md | 2 +- content/en/functions/resources/Minify.md | 8 +- content/en/functions/resources/PostCSS.md | 12 +- content/en/functions/resources/PostProcess.md | 8 +- content/en/functions/resources/ToCSS.md | 20 +- content/en/functions/strings/Diff/index.md | 2 +- content/en/functions/templates/Defer.md | 95 + content/en/functions/transform/Emojify.md | 2 +- .../getting-started/configuration-markup.md | 32 +- content/en/getting-started/configuration.md | 11 +- content/en/getting-started/glossary.md | 25 +- .../deployment-with-rsync.md | 2 +- .../hosting-on-github/index.md | 7 +- .../hosting-on-gitlab.md | 4 +- .../hosting-on-netlify/index.md | 6 +- .../en/hosting-and-deployment/hugo-deploy.md | 10 + content/en/hugo-modules/configuration.md | 44 +- content/en/hugo-pipes/babel.md | 4 +- content/en/hugo-pipes/introduction.md | 2 +- content/en/hugo-pipes/postcss.md | 10 +- content/en/hugo-pipes/postprocess.md | 4 +- .../en/hugo-pipes/resource-from-template.md | 2 +- .../en/hugo-pipes/transpile-sass-to-css.md | 14 +- content/en/methods/menu-entry/Menu.md | 2 +- content/en/methods/menu-entry/Page.md | 2 +- content/en/methods/menu-entry/Params.md | 2 +- content/en/methods/page/Data.md | 8 +- content/en/methods/page/Eq.md | 2 +- content/en/methods/page/GetPage.md | 6 +- content/en/methods/page/GitInfo.md | 10 + content/en/methods/page/HasMenuCurrent.md | 6 +- content/en/methods/page/InSection.md | 2 +- content/en/methods/page/IsMenuCurrent.md | 4 +- content/en/methods/page/Paginate.md | 19 +- content/en/methods/page/Paginator.md | 22 +- content/en/methods/page/Render.md | 2 +- content/en/methods/page/Sitemap.md | 2 +- content/en/methods/page/_index.md | 1 + content/en/methods/pager/PageSize.md | 14 +- content/en/methods/pager/PagerSize.md | 31 + content/en/methods/resource/Exif.md | 4 +- content/en/methods/site/GetPage.md | 4 +- content/en/methods/site/IsMultiLingual.md | 1 + content/en/methods/site/LastChange.md | 1 + content/en/methods/site/MainSections.md | 2 +- content/en/methods/site/Menus.md | 2 +- content/en/methods/site/RegularPages.md | 4 + content/en/methods/site/Taxonomies.md | 88 +- content/en/methods/site/_index.md | 1 + .../taxonomy/_common/get-a-taxonomy-object.md | 6 +- content/en/methods/taxonomy/_index.md | 1 + content/en/quick-reference/emojis.md | 1966 +++++++++-------- .../en/quick-reference/page-collections.md | 13 + content/en/render-hooks/images.md | 2 +- content/en/render-hooks/introduction.md | 6 +- content/en/showcase/_index.md | 4 + content/en/templates/404.md | 10 +- content/en/templates/_common/_index.md | 13 + .../en/templates/_common/filter-sort-group.md | 9 + content/en/templates/base.md | 19 +- .../templates/{views.md => content-view.md} | 44 +- content/en/templates/embedded.md | 6 +- content/en/templates/home.md | 55 + content/en/templates/homepage.md | 56 - content/en/templates/introduction.md | 2 +- content/en/templates/lists/index.md | 240 -- content/en/templates/lookup-order.md | 44 +- .../templates/{menu-templates.md => menu.md} | 11 +- content/en/templates/output-formats.md | 8 +- content/en/templates/pagination.md | 354 ++- .../en/templates/{partials.md => partial.md} | 21 +- content/en/templates/robots.md | 10 +- content/en/templates/rss.md | 14 +- .../{section-templates.md => section.md} | 30 +- .../{shortcode-templates.md => shortcode.md} | 6 +- content/en/templates/single-page-templates.md | 77 - content/en/templates/single.md | 56 + .../{sitemap-template.md => sitemap.md} | 8 +- content/en/templates/taxonomy-templates.md | 285 --- content/en/templates/taxonomy.md | 176 ++ content/en/templates/term.md | 115 + content/en/templates/types/index.md | 284 +++ .../{lists => types}/site-hierarchy.svg | 0 content/en/troubleshooting/faq.md | 2 +- data/docs.yaml | 231 +- go.mod | 2 +- go.sum | 6 + netlify.toml | 2 +- 156 files changed, 3701 insertions(+), 2147 deletions(-) create mode 100644 _vendor/github.com/gohugoio/gohugoioTheme/assets/images/sponsors/Route4MeLogoBlueOnWhite.svg create mode 100644 content/en/functions/css/PostCSS.md create mode 100644 content/en/functions/css/Sass.md create mode 100644 content/en/functions/css/TailwindCSS.md create mode 100644 content/en/functions/css/_index.md create mode 100644 content/en/functions/hash/FNV32a.md create mode 100644 content/en/functions/hash/XxHash.md create mode 100644 content/en/functions/hash/_index.md create mode 100644 content/en/functions/js/Babel.md create mode 100644 content/en/functions/math/Acos.md create mode 100644 content/en/functions/math/Asin.md create mode 100644 content/en/functions/math/Atan.md create mode 100644 content/en/functions/math/Atan2.md create mode 100644 content/en/functions/math/Cos.md create mode 100644 content/en/functions/math/Pi.md create mode 100644 content/en/functions/math/Sin.md create mode 100644 content/en/functions/math/Tan.md create mode 100644 content/en/functions/math/ToDegrees.md create mode 100644 content/en/functions/math/ToRadians.md create mode 100644 content/en/functions/templates/Defer.md create mode 100644 content/en/methods/pager/PagerSize.md create mode 100644 content/en/showcase/_index.md create mode 100644 content/en/templates/_common/_index.md create mode 100644 content/en/templates/_common/filter-sort-group.md rename content/en/templates/{views.md => content-view.md} (58%) create mode 100644 content/en/templates/home.md delete mode 100644 content/en/templates/homepage.md delete mode 100644 content/en/templates/lists/index.md rename content/en/templates/{menu-templates.md => menu.md} (96%) rename content/en/templates/{partials.md => partial.md} (87%) rename content/en/templates/{section-templates.md => section.md} (72%) rename content/en/templates/{shortcode-templates.md => shortcode.md} (99%) delete mode 100644 content/en/templates/single-page-templates.md create mode 100644 content/en/templates/single.md rename content/en/templates/{sitemap-template.md => sitemap.md} (96%) delete mode 100644 content/en/templates/taxonomy-templates.md create mode 100644 content/en/templates/taxonomy.md create mode 100644 content/en/templates/term.md create mode 100644 content/en/templates/types/index.md rename content/en/templates/{lists => types}/site-hierarchy.svg (100%) diff --git a/.cspell.json b/.cspell.json index 95e3ed5ce..01d248e25 100644 --- a/.cspell.json +++ b/.cspell.json @@ -71,6 +71,7 @@ "attrlink", "canonify", "codeowners", + "dynacache", "eturl", "getenv", "gohugo", @@ -89,6 +90,7 @@ "# cspell: ignore foreign language words", "# ----------------------------------------------------------------------", "bezpieczeństwo", + "blatt", "buch", "descripción", "dokumentation", diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/assets/images/sponsors/Route4MeLogoBlueOnWhite.svg b/_vendor/github.com/gohugoio/gohugoioTheme/assets/images/sponsors/Route4MeLogoBlueOnWhite.svg new file mode 100644 index 000000000..d4334e8d8 --- /dev/null +++ b/_vendor/github.com/gohugoio/gohugoioTheme/assets/images/sponsors/Route4MeLogoBlueOnWhite.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/data/sponsors.toml b/_vendor/github.com/gohugoio/gohugoioTheme/data/sponsors.toml index 8e485b2a4..33d550449 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/data/sponsors.toml +++ b/_vendor/github.com/gohugoio/gohugoioTheme/data/sponsors.toml @@ -6,12 +6,13 @@ bgcolor = "#ffffff" [[banners]] - name = "Route4Me" - link = "https://route4me.com" - title = "Route Planning & Route Optimization Software" - utm_campaign = "hugosponsor" - bgcolor = "#334799" - link_attr = "style='color: #ffffff; font-weight: bold; text-decoration: none; text-align: center'" + name = "Route4Me" + link = "https://route4me.com/" + title = "Route Planning & Route Optimization Software" + no_query_params = true + utm_campaign = "hugosponsor" + bgcolor = "#334799" + link_attr = "style='color: #ffffff; font-weight: bold; text-decoration: none; text-align: center'" [[banners]] name = "Your Company?" diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/index.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/index.html index 3df97ae42..dff88d393 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/index.html +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/index.html @@ -12,7 +12,7 @@ {{- partial "home-page-sections/features-single.html" . -}} - {{- partial "home-page-sections/showcase.html" . -}} + {{/*- partial "home-page-sections/showcase.html" . -*/}}
{{- partial "home-page-sections/installation.html" . -}} diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/home-page-sections/sponsors.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/home-page-sections/sponsors.html index 3b7f6bfef..84033c42c 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/home-page-sections/sponsors.html +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/home-page-sections/sponsors.html @@ -23,7 +23,10 @@ class="{{ $classes_box }} o-100" style="background-color: {{ .bgcolor }};"> {{ $query_params := .query_params | default "" }} - {{ $url := printf "%s?%s%s" .link $query_params (querify "utm_source" (.utm_source | default $utmSource ) "utm_medium" "banner" "utm_campaign" (.utm_campaign | default "hugosponsor") "utm_content" (.utm_content | default "gohugoio")) | safeURL }} + {{ $url := .link }} + {{ if not .no_query_params }} + {{ $url = printf "%s?%s%s" .link $query_params (querify "utm_source" (.utm_source | default $utmSource ) "utm_medium" "banner" "utm_campaign" (.utm_campaign | default "hugosponsor") "utm_content" (.utm_content | default "gohugoio")) | safeURL }} + {{ end }} {{ $logo := resources.Get .logo }} {{ $gtagID := printf "Sponsor %s %s" .name $gtag | title }} {{ $classes := "" }} diff --git a/_vendor/modules.txt b/_vendor/modules.txt index 100c6fc6f..1bde873a0 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -1 +1 @@ -# github.com/gohugoio/gohugoioTheme v0.0.0-20240619093131-b595d5fb8c52 +# github.com/gohugoio/gohugoioTheme v0.0.0-20240728210410-d42c342ce472 diff --git a/config/_default/menus/menus.en.toml b/config/_default/menus/menus.en.toml index b0da48817..3f4e76879 100644 --- a/config/_default/menus/menus.en.toml +++ b/config/_default/menus/menus.en.toml @@ -128,11 +128,11 @@ weight = 10 identifier = 'themes' url = 'https://themes.gohugo.io/' -[[global]] -name = 'Showcase' -weight = 20 -identifier = 'showcase' -pageRef = '/showcase/' +# [[global]] +# name = 'Showcase' +# weight = 20 +# identifier = 'showcase' +# pageRef = '/showcase/' # Anything with a weight > 100 gets an external icon diff --git a/content/en/about/features.md b/content/en/about/features.md index ff7e9ce13..cb710aa4b 100644 --- a/content/en/about/features.md +++ b/content/en/about/features.md @@ -23,7 +23,7 @@ toc: true : Render each page of your site to one or more output formats, with granular control by page kind, section, and path. While HTML is the default output format, you can add JSON, RSS, CSV, and more. For example, create a REST API to access content. [Templates] -: Create templates usings variables, functions, and methods to transform your content, resources, and data into a published page. While HTML templates are the most common, you can create templates for any output format. +: Create templates using variables, functions, and methods to transform your content, resources, and data into a published page. While HTML templates are the most common, you can create templates for any output format. [Themes] : Reduce development time and cost by using one of the hundreds of themes contributed by the Hugo community. Themes are available for corporate sites, documentation projects, image portfolios, landing pages, personal and professional blogs, resumes, CVs, and more. @@ -80,17 +80,19 @@ toc: true [URL management] : Serve any page from any path via global configuration or on a page-by-page basis. - ## Asset pipelines -[CSS bundling] -: Transpile Sass to CSS, bundle, tree shake, minify, create source maps, perform SRI hashing, and integrate with PostCSS. +[Image processing] +: Convert, resize, crop, rotate, adjust colors, apply filters, overlay text and images, and extract EXIF data. [JavaScript bundling] : Transpile TypeScript and JSX to JavaScript, bundle, tree shake, minify, create source maps, and perform SRI hashing. -[Image processing] -: Convert, resize, crop, rotate, adjust colors, apply filters, overlay text and images, and extract EXIF data. +[Sass processing] +: Transpile Sass to CSS, bundle, tree shake, minify, create source maps, perform SRI hashing, and integrate with PostCSS. + +[Tailwind CSS processing] +: Compile Tailwind CSS utility classes into standard CSS, bundle, tree shake, optimize, minify, perform SRI hashing, and integrate with PostCSS. ## Performance @@ -104,7 +106,7 @@ toc: true : Minify HTML, CSS, and JavaScript to reduce file size, bandwidth consumption, and loading times. [CCPA]: https://en.wikipedia.org/wiki/California_Consumer_Privacy_Act -[CSS bundling]: /functions/resources/tocss/ +[Sass processing]: /functions/css/Sass/ [Caching]: /functions/partials/includecached/ [CommonMark]: https://spec.commonmark.org/current/ [Content adapters]: /content-management/content-adapters/ @@ -130,6 +132,7 @@ toc: true [Segmentation]: /getting-started/configuration/#configure-segments [Shortcodes]: /content-management/shortcodes/ [Syntax highlighting]: /content-management/syntax-highlighting/ +[Tailwind CSS processing]: /functions/css/tailwindcss/ [Taxonomies]: /content-management/taxonomies/ [Templates]: templates/introduction/ [Themes]: https://themes.gohugo.io/ diff --git a/content/en/about/privacy.md b/content/en/about/privacy.md index dcc3b3439..a3491f864 100644 --- a/content/en/about/privacy.md +++ b/content/en/about/privacy.md @@ -15,7 +15,7 @@ aliases: [/gdpr/,/about/hugo-and-gdpr/] General Data Protection Regulation ([GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)) is a regulation in EU law on data protection and privacy for all individuals within the European Union and the European Economic Area. It became enforceable on 25 May 2018. - **Hugo is a static site generator. By using Hugo you are already standing on very solid ground. Static HTML files on disk are much easier to reason about compared to server and database driven web sites.** + **Hugo is a static site generator. By using Hugo you are already standing on very solid ground. Static HTML files on disk are much easier to reason about compared to server and database driven websites.** But even static websites can integrate with external services, so from version `0.41`, Hugo provides a **privacy configuration** that covers the relevant built-in templates. diff --git a/content/en/content-management/comments.md b/content/en/content-management/comments.md index 8f55c413c..721f1fe5a 100644 --- a/content/en/content-management/comments.md +++ b/content/en/content-management/comments.md @@ -74,5 +74,5 @@ Open-source commenting systems: [front matter]: /content-management/front-matter/ [kaijuissue]: https://github.com/spf13/kaiju/issues/new [issotutorial]: https://stiobhart.net/2017-02-24-isso-comments/ -[partials]: /templates/partials/ +[partials]: /templates/partial/ [MongoDB]: https://www.mongodb.com/ diff --git a/content/en/content-management/content-adapters.md b/content/en/content-management/content-adapters.md index 11257b895..ea5ec62ca 100644 --- a/content/en/content-management/content-adapters.md +++ b/content/en/content-management/content-adapters.md @@ -241,7 +241,7 @@ Step 3 {{< /code >}} Step 4 -: Create a single page template to render each book review. +: Create a single template to render each book review. {{< code file=layouts/books/single.html copy=true >}} {{ define "main" }} diff --git a/content/en/content-management/cross-references.md b/content/en/content-management/cross-references.md index 24da0bfda..124a3bf06 100644 --- a/content/en/content-management/cross-references.md +++ b/content/en/content-management/cross-references.md @@ -36,12 +36,12 @@ The `ref` and `relref` shortcodes require a single argument: the path to a conte The pages can be referenced as follows: ```text -{{}} // <- From pages/document1.md, relative path +{{}} <-- From pages/document1.md, relative path {{}} {{}} {{}} -{{}} // <- From pages/document2.md -{{}} // <- From anywhere, absolute path +{{}} <-- From pages/document2.md +{{}} <-- From anywhere, absolute path {{}} {{}} {{}} @@ -52,12 +52,12 @@ The pages can be referenced as follows: index.md can be reference either by its path or by its containing folder without the ending `/`. \_index.md can be referenced only by its containing folder: ```text -{{}} // <- References /about/_index.md -{{}} // Raises REF_NOT_FOUND error -{{}} // <- References /about/credits.md +{{}} <-- References /about/_index.md +{{}} <-- Raises REF_NOT_FOUND error +{{}} <-- References /about/credits.md -{{}} // <- References /products/index.md -{{}} // <- References /products/index.md +{{}} <-- References /products/index.md +{{}} <-- References /products/index.md ``` To generate a hyperlink using `ref` or `relref` in Markdown: @@ -146,7 +146,3 @@ refLinksErrorLevel ("ERROR") refLinksNotFoundURL : URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is. - -[lists]: /templates/lists/ -[output formats]: /templates/output-formats/ -[shortcode]: /content-management/shortcodes/ diff --git a/content/en/content-management/data-sources.md b/content/en/content-management/data-sources.md index 40634acef..c009fb7f3 100644 --- a/content/en/content-management/data-sources.md +++ b/content/en/content-management/data-sources.md @@ -45,7 +45,7 @@ project/ Do not place CSV files in the data directory. Access CSV files as page, global, or remote resources. {{% /note %}} -See the documentation for the [`Data`] method on `Page` object for details and examples. +See the documentation for the [`Data`] method on a `Site` object for details and examples. [`Data`]: /methods/site/data/ diff --git a/content/en/content-management/front-matter.md b/content/en/content-management/front-matter.md index 2c01f7854..3ac2a63bc 100644 --- a/content/en/content-management/front-matter.md +++ b/content/en/content-management/front-matter.md @@ -207,7 +207,7 @@ path (`map`) A map of sitemap options. See the [sitemap templates] page for details. Access these values from a template using the [`Sitemap`] method on a `Page` object. -[sitemap templates]: /templates/sitemap-template/ +[sitemap templates]: /templates/sitemap/ [`sitemap`]: /methods/page/sitemap/ ###### slug diff --git a/content/en/content-management/image-processing/index.md b/content/en/content-management/image-processing/index.md index 292aa8a4d..db786361c 100644 --- a/content/en/content-management/image-processing/index.md +++ b/content/en/content-management/image-processing/index.md @@ -59,7 +59,7 @@ A remote resource is a file on a remote server, accessible via HTTP or HTTPS. To ## Image rendering -Once you have accessed an image as either a page resource or a global resource, render it in your templates using the `Permalink`, `RelPermalink`, `Width`, and `Height` properties. +Once you have accessed an image as a resource, render it in your templates using the `Permalink`, `RelPermalink`, `Width`, and `Height` properties. Example 1: Throws an error if the resource is not found. @@ -105,7 +105,7 @@ Example 4: Skips rendering if there's problem accessing a remote resource. The `image` resource implements the [`Process`], [`Resize`], [`Fit`], [`Fill`], [`Crop`], [`Filter`], [`Colors`] and [`Exif`] methods. {{% note %}} -Metadata (EXIF, IPTC, XMP, etc.) is not preserved during image transformation. Use the `Exif` method with the _original_ image to extract EXIF metadata from JPEG or TIFF images. +Metadata (EXIF, IPTC, XMP, etc.) is not preserved during image transformation. Use the `Exif` method with the _original_ image to extract EXIF metadata from JPEG, PNG, TIFF, and WebP images. {{% /note %}} ### Process @@ -219,7 +219,7 @@ This method is fast, but if you also scale down your images, it would be good fo Provides an [EXIF] object containing image metadata. -You may access EXIF data in JPEG and TIFF images. To prevent errors when processing images without EXIF data, wrap the access in a [`with`] statement. +You may access EXIF data in JPEG, PNG, TIFF, and WebP images. To prevent errors when processing images without EXIF data, wrap the access in a [`with`] statement. ```go-html-template {{ with $image.Exif }} diff --git a/content/en/content-management/menus.md b/content/en/content-management/menus.md index 1f8595816..169b6eb05 100644 --- a/content/en/content-management/menus.md +++ b/content/en/content-management/menus.md @@ -227,7 +227,7 @@ Hugo provides two methods to localize your menu entries. See [multilingual]. See [menu templates]. [localize]: /content-management/multilingual/#menus -[menu templates]: /templates/menu-templates/ +[menu templates]: /templates/menu/ [multilingual]: /content-management/multilingual/#menus [section]: /getting-started/glossary/#section -[template]: /templates/menu-templates/ +[template]: /templates/menu/ diff --git a/content/en/content-management/multilingual.md b/content/en/content-management/multilingual.md index 22e2c186a..4529eb1c4 100644 --- a/content/en/content-management/multilingual.md +++ b/content/en/content-management/multilingual.md @@ -92,7 +92,7 @@ languageName : (`string`) The language name, typically used when rendering a language switcher. title -: (`string`) The site title for this langauge (optional). +: (`string`) The site title for this language (optional). weight : (`int`) The language weight. When set to a non-zero value, this is the primary sort criteria for this language. @@ -322,7 +322,7 @@ To create a list of links to translated content, use a template similar to the f {{ end }} {{< /code >}} -The above can be put in a `partial` (i.e., inside `layouts/partials/`) and included in any template, whether a [single content page][contenttemplate] or the [homepage]. It will not print anything if there are no translations for a given page. +The above can be put in a `partial` (i.e., inside `layouts/partials/`) and included in any template. It will not print anything if there are no translations for a given page. The above also uses the [`i18n` function][i18func] described in the next section. @@ -564,7 +564,7 @@ products = 'Produkte' services = 'Leistungen' {{< / code-toggle >}} -[example menu template]: /templates/menu-templates/#example +[example menu template]: /templates/menu/#example [automatically]: /content-management/menus/#define-automatically [in front matter]: /content-management/menus/#define-in-front-matter [in site configuration]: /content-management/menus/#define-in-site-configuration @@ -615,10 +615,8 @@ hugo new content content/de/post/test.md [`abslangurl`]: /functions/urls/abslangurl/ [config]: /getting-started/configuration/ -[contenttemplate]: /templates/single-page-templates/ [go-i18n-source]: https://github.com/nicksnyder/go-i18n [go-i18n]: https://github.com/nicksnyder/go-i18n -[homepage]: /templates/homepage/ [Hugo Multilingual Part 1: Content translation]: https://regisphilibert.com/blog/2018/08/hugo-multilingual-part-1-managing-content-translation/ [i18func]: /functions/lang/translate/ [lang.FormatAccounting]: /functions/lang/formataccounting/ @@ -630,5 +628,4 @@ hugo new content content/de/post/test.md [menus]: /content-management/menus/ [OS environment]: /getting-started/configuration/#configure-with-environment-variables [`rellangurl`]: /functions/urls/rellangurl/ -[single page templates]: /templates/single-page-templates/ [`time.Format`]: /functions/time/format/ diff --git a/content/en/content-management/organization/index.md b/content/en/content-management/organization/index.md index e286462d7..99a3224bf 100644 --- a/content/en/content-management/organization/index.md +++ b/content/en/content-management/organization/index.md @@ -71,13 +71,13 @@ The following demonstrates the relationships between your content organization a ### Index pages: `_index.md` -`_index.md` has a special role in Hugo. It allows you to add front matter and content to your [list templates][lists]. These templates include those for [section templates], [taxonomy templates], [taxonomy terms templates], and your [homepage template]. +`_index.md` has a special role in Hugo. It allows you to add front matter and content to `home`, `section`, `taxonomy`, and `term` pages. {{% note %}} **Tip:** You can get a reference to the content and metadata in `_index.md` using the [`.Site.GetPage` function](/methods/page/getpage). {{% /note %}} -You can create one `_index.md` for your homepage and one in each of your content sections, taxonomies, and taxonomy terms. The following shows typical placement of an `_index.md` that would contain content and front matter for a `posts` section list page on a Hugo website: +You can create one `_index.md` for your home page and one in each of your content sections, taxonomies, and terms. The following shows typical placement of an `_index.md` that would contain content and front matter for a `posts` section list page on a Hugo website: ```txt . url @@ -106,7 +106,7 @@ The [sections] can be nested as deeply as you want. The important thing to under ### Single pages in sections -Single content files in each of your sections will be rendered as [single page templates][singles]. Here is an example of a single `post` within `posts`: +Single content files in each of your sections will be rendered by a [single template]. Here is an example of a single `post` within `posts`: ```txt path ("posts/my-first-hugo-post.md") @@ -156,14 +156,7 @@ The `url` is the entire URL path, defined by the file path and optionally overri [formats]: /content-management/formats/ [front matter]: /content-management/front-matter/ [getpage]: /methods/page/getpage/ -[homepage template]: /templates/homepage/ -[homepage]: /templates/homepage/ -[lists]: /templates/lists/ [pretty]: /content-management/urls/#appearance -[section templates]: /templates/section-templates/ [sections]: /content-management/sections/ -[singles]: /templates/single-page-templates/ -[taxonomy templates]: /templates/taxonomy-templates/ -[taxonomy terms templates]: /templates/taxonomy-templates/ -[types]: /content-management/types/ +[single template]: /templates/types/#single [urls]: /content-management/urls/ diff --git a/content/en/content-management/page-bundles.md b/content/en/content-management/page-bundles.md index af7c2ce14..b83bb0ba5 100644 --- a/content/en/content-management/page-bundles.md +++ b/content/en/content-management/page-bundles.md @@ -50,11 +50,17 @@ Page bundle characteristics vary by bundle type. | Index file | index.md | _index.md | | Example | content/about/index.md | content/posts/_index.md | | [Page kinds] | `page` | `home`, `section`, `taxonomy`, or `term` | -| Layout type | [single] | [list] | +| Template types | [single] | [home], [section], [taxonomy], or [term] | | Descendant pages | None | Zero or more | | Resource location | Adjacent to the index file or in a nested subdirectory | Same as a leaf bundles, but excludes descendant bundles | | [Resource types] | `page`, `image`, `video`, etc. | all but `page` | +[single]: /templates/types/#single +[home]: /templates/types/#home +[section]: /templates/types/#section +[taxonomy]: /templates/types/#taxonomy +[term]: /templates/types/#term + Files with [resource type] `page` include content written in Markdown, HTML, AsciiDoc, Pandoc, reStructuredText, and Emacs Org Mode. In a leaf bundle, excluding the index file, these files are only accessible as page resources. In a branch bundle, these files are only accessible as content pages. ## Leaf bundles @@ -149,9 +155,7 @@ Use [build options] in front matter to create an unpublished leaf or branch bund [`Resources`]: /methods/page/resources/ [build options]: content-management/build-options/ -[list]: /templates/lists/ [page kinds]: /getting-started/glossary/#page-kind [page resources]: /content-management/page-resources/ [resource type]: /getting-started/glossary/#resource-type [resource types]: /getting-started/glossary/#resource-type -[single]: /templates/single-page-templates/ diff --git a/content/en/content-management/related.md b/content/en/content-management/related.md index 478b55a99..0a97bd7cb 100644 --- a/content/en/content-management/related.md +++ b/content/en/content-management/related.md @@ -16,7 +16,7 @@ Hugo uses a set of factors to identify a page's related content based on front m ## List related content -To list up to 5 related pages (which share the same _date_ or _keyword_ parameters) is as simple as including something similar to this partial in your single page template: +To list up to 5 related pages (which share the same _date_ or _keyword_ parameters) is as simple as including something similar to this partial in your template: {{< code file=layouts/partials/related.html >}} {{ $related := .Site.RegularPages.Related . | first 5 }} diff --git a/content/en/content-management/sections.md b/content/en/content-management/sections.md index 0c2f8f0e2..03655c90a 100644 --- a/content/en/content-management/sections.md +++ b/content/en/content-management/sections.md @@ -90,13 +90,13 @@ Hugo has a defined [lookup order] to determine which template to use when render With the file structure from the [example above](#overview): -Content directory|List page template +Content directory|Section template :--|:-- content/products|layouts/products/list.html content/products/product-1|layouts/products/list.html content/products/product-1/benefits|layouts/products/list.html -Content directory|Single page template +Content directory|Single template :--|:-- content/products|layouts/products/single.html content/products/product-1|layouts/products/single.html @@ -159,6 +159,6 @@ Home » Products » Product 1 » Benefits » Benefit 1 [archetype]: /content-management/archetypes/ [content type]: /content-management/types/ [directory structure]: /getting-started/directory-structure/ -[section templates]: /templates/section-templates/ +[section templates]: /templates/types/#section [leaf bundles]: /content-management/page-bundles/#leaf-bundles [branch bundles]: /content-management/page-bundles/#branch-bundles diff --git a/content/en/content-management/shortcodes.md b/content/en/content-management/shortcodes.md index 87c9f0825..847ba2bbb 100644 --- a/content/en/content-management/shortcodes.md +++ b/content/en/content-management/shortcodes.md @@ -469,9 +469,9 @@ To learn how to configure your Hugo site to meet the new EU privacy regulation, To learn more about creating custom shortcodes, see the [shortcode template documentation]. [privacy protections]: /about/privacy/ -[partials]: /templates/partials/ +[partials]: /templates/partial/ [quickstart]: /getting-started/quick-start/ -[sctemps]: /templates/shortcode-templates/ -[shortcode template documentation]: /templates/shortcode-templates/ +[sctemps]: /templates/shortcode/ +[shortcode template documentation]: /templates/shortcode/ [Vimeo]: https://vimeo.com/ [YouTube Videos]: https://www.youtube.com/ diff --git a/content/en/content-management/syntax-highlighting.md b/content/en/content-management/syntax-highlighting.md index 070279c4c..bdc81536a 100644 --- a/content/en/content-management/syntax-highlighting.md +++ b/content/en/content-management/syntax-highlighting.md @@ -41,7 +41,7 @@ Options: * `linenostart=199`: starts the line number count from 199. * `anchorlinenos`: Configure anchors on line numbers. Valid values are `true` or `false`; * `lineanchors`: Configure a prefix for the anchors on line numbers. Will be suffixed with `-`, so linking to the line number 1 with the option `lineanchors=prefix` adds the anchor `prefix-1` to the page. -* `hl_inline` Highlight inside a `` (inline HTML element) tag. Valid values are `true` or `false`. The `code` tag will get a class with name `code-inline`. {{< new-in 0.101.0 >}} +* `hl_inline` Highlight inside a `` (inline HTML element) tag. Valid values are `true` or `false`. The `code` tag will get a class with name `code-inline`. ### Example: highlight shortcode diff --git a/content/en/content-management/taxonomies.md b/content/en/content-management/taxonomies.md index 764e41a8f..6ba9e2a25 100644 --- a/content/en/content-management/taxonomies.md +++ b/content/en/content-management/taxonomies.md @@ -95,7 +95,7 @@ disableKinds = ["taxonomy","term"] When taxonomies are used---and [taxonomy templates] are provided---Hugo will automatically create both a page listing all the taxonomy's terms and individual pages with lists of content associated with each term. For example, a `categories` taxonomy declared in your configuration and used in your content front matter will create the following pages: -* A single page at `example.com/categories/` that lists all the [terms within the taxonomy] +* A single page at `example.com/categories/` that lists all the terms within the taxonomy * [Individual taxonomy list pages][taxonomy templates] (e.g., `/categories/development/`) for each of the terms that shows a listing of all pages marked as part of that taxonomy within any content file's [front matter] ## Configure taxonomies @@ -142,7 +142,7 @@ categories = ['Category A','Category B'] ## Order taxonomies -A content file can assign weight for each of its associate taxonomies. Taxonomic weight can be used for sorting or ordering content in [taxonomy list templates] and is declared in a content file's [front matter]. The convention for declaring taxonomic weight is `taxonomyname_weight`. +A content file can assign weight for each of its associate taxonomies. Taxonomic weight can be used for sorting or ordering content in [taxonomy templates] and is declared in a content file's [front matter]. The convention for declaring taxonomic weight is `taxonomyname_weight`. The following show a piece of content that has a weight of 22, which can be used for ordering purposes when rendering the pages assigned to the "a", "b" and "c" values of the `tags` taxonomy. It has also been assigned the weight of 44 when rendering the "d" category page. @@ -171,7 +171,5 @@ wikipedia: "https://en.wikipedia.org/wiki/Bruce_Willis" [content type]: /content-management/types/ [documentation on archetypes]: /content-management/archetypes/ [front matter]: /content-management/front-matter/ -[taxonomy list templates]: /templates/taxonomy-templates/#taxonomy-templates -[taxonomy templates]: /templates/taxonomy-templates/ -[terms within the taxonomy]: /templates/taxonomy-templates/#term-templates +[taxonomy templates]: /templates/types/#taxonomy [site configuration]: /getting-started/configuration/ diff --git a/content/en/content-management/types.md b/content/en/content-management/types.md index 67dbe1596..9b44645e9 100644 --- a/content/en/content-management/types.md +++ b/content/en/content-management/types.md @@ -16,5 +16,5 @@ A **content type** is a way to organize your content. Hugo resolves the content A content type is used to -- Determine how the content is rendered. See [Template Lookup Order](/templates/lookup-order/) and [Content Views](/templates/views) for more. +- Determine how the content is rendered. See [Template Lookup Order](/templates/lookup-order/) and [Content Views](/templates/content-view) for more. - Determine which [archetype](/content-management/archetypes/) template to use for new content. diff --git a/content/en/content-management/urls.md b/content/en/content-management/urls.md index 9dbeed12a..e3370f956 100644 --- a/content/en/content-management/urls.md +++ b/content/en/content-management/urls.md @@ -85,6 +85,19 @@ multilingual|`about`|`https://example.org/de/about/` If you set both `slug` and `url` in front matter, the `url` value takes precedence. +#### Permalinks tokens in front matter + +{{< new-in "0.131.0" >}} + +You can also use [Permalinks tokens](#tokens) in the `url` front matter. This is typically used in `cascade` sections: + +{{< code-toggle file=content/foo/bar/_index.md fm=true >}} +title ="Bar" +[[cascade]] + url = "/:sections[last]/:slug" +{{< /code-toggle >}} + + ## Site configuration ### Permalinks @@ -233,7 +246,9 @@ public/ #### Tokens -Use these tokens when defining the URL pattern. +Use these tokens when defining the URL pattern. These can both be used in the `permalinks` configuration and in the front matter [url](#permalinks-tokens-in-front-matter). + +`:filename` `:year` : The 4-digit year as defined in the front matter `date` field. diff --git a/content/en/contribute/development.md b/content/en/contribute/development.md index 07d4c4457..f6ff44ced 100644 --- a/content/en/contribute/development.md +++ b/content/en/contribute/development.md @@ -158,7 +158,7 @@ CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest To build and install a specific release: ```sh -CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@v0.126.0 +CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@v0.128.0 ``` To build and install at the latest commit on the master branch: diff --git a/content/en/contribute/documentation.md b/content/en/contribute/documentation.md index 61c603d6c..408ed505d 100644 --- a/content/en/contribute/documentation.md +++ b/content/en/contribute/documentation.md @@ -44,6 +44,8 @@ Although we do not strictly adhere to the [Microsoft Writing Style Guide], it is Please link to the [glossary of terms] when necessary, and use the terms consistently throughout the documentation. Of special note: - The term "front matter" is two words unless you are referring to the configuration key +- The term "home page" is two words +- The term "website" is one word - The term "standalone" is one word, not hyphenated - Use the word "map" instead of "dictionary" - Use the word "flag" instead of "option" when referring to a command line flag diff --git a/content/en/functions/collections/After.md b/content/en/functions/collections/After.md index 38cf755a0..751ad0bef 100644 --- a/content/en/functions/collections/After.md +++ b/content/en/functions/collections/After.md @@ -35,7 +35,7 @@ The template above is rendered to: ## Example of `after` with `first`: 2nd–4th most recent articles -You can use `after` in combination with the [`first`] function and Hugo's [powerful sorting methods][lists]. Let's assume you have a list page at `example.com/articles`. You have 10 articles, but you want your templating for the [list/section page] to show only two rows: +You can use `after` in combination with the [`first`] function and Hugo's [powerful sorting methods](/quick-reference/page-collections/#sort). Let's assume you have a `section` page at `example.com/articles`. You have 10 articles, but you want your template to show only two rows: 1. The top row is titled "Featured" and shows only the most recently published article (i.e. by `publishdate` in the content files' front matter). 2. The second row is titled "Recent Articles" and shows only the 2nd- to 4th-most recently published articles. @@ -66,6 +66,4 @@ You can use `after` in combination with the [`first`] function and Hugo's [power {{< /code >}} [`first`]: /functions/collections/first/ -[list/section page]: /templates/section-templates/ -[lists]: /templates/lists/#sort-content [`slice`]: /functions/collections/slice/ diff --git a/content/en/functions/collections/Group.md b/content/en/functions/collections/Group.md index 2f5a333c0..0ec45516c 100644 --- a/content/en/functions/collections/Group.md +++ b/content/en/functions/collections/Group.md @@ -28,4 +28,4 @@ aliases: [/functions/group] {{ end }} ``` -The page group you get from `group` is of the same type you get from the built-in [group methods](/templates/lists#group-content) in Hugo. The above example can be [paginated](/templates/pagination/#list-paginator-pages). +The page group you get from `group` is of the same type you get from the built-in [group methods](/quick-reference/page-collections/#group) in Hugo. The example above can be [paginated](/templates/pagination/). diff --git a/content/en/functions/collections/Intersect.md b/content/en/functions/collections/Intersect.md index 8bc60f8e1..9e9cc0c76 100644 --- a/content/en/functions/collections/Intersect.md +++ b/content/en/functions/collections/Intersect.md @@ -25,6 +25,3 @@ A useful example is to use it as `AND` filters when combined with where: The above fetches regular pages not of `page` or `about` type unless they are pinned. And finally, we exclude all pages with no `images` set in Page parameters. See [union](/functions/collections/union) for `OR`. - -[partials]: /templates/partials/ -[single]: /templates/single-page-templates/ diff --git a/content/en/functions/crypto/FNV32a.md b/content/en/functions/crypto/FNV32a.md index c1e04183d..b16fad209 100644 --- a/content/en/functions/crypto/FNV32a.md +++ b/content/en/functions/crypto/FNV32a.md @@ -1,23 +1,26 @@ --- title: crypto.FNV32a -description: Returns the FNV (Fowler–Noll–Vo) 32-bit hash of a given string. +description: Returns the 32-bit FNV (Fowler–Noll–Vo) non-cryptographic hash of the given string. categories: [] keywords: [] action: aliases: [] related: + - functions/hash/Xxhash - functions/crypto/HMAC - functions/crypto/MD5 - functions/crypto/SHA1 - functions/crypto/SHA256 returnType: int signatures: [crypto.FNV32a STRING] -aliases: [/functions/crypto.fnv32a] +expiryDate: 2025-07-31 # deprecated 2024-07-31 --- -{{< new-in 0.98.0 >}} +{{% deprecated-in 0.129.0 %}} +Use [`hash.FNV32a`] instead. -This function calculates the 32-bit [FNV1a hash](https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function#FNV-1a_hash) of a given string according to the [specification](https://datatracker.ietf.org/doc/html/draft-eastlake-fnv-12): +[`hash.FNV32a`]: /functions/hash/FNV32a/ +{{% /deprecated-in %}} ```go-html-template {{ crypto.FNV32a "Hello world" }} → 1498229191 diff --git a/content/en/functions/css/PostCSS.md b/content/en/functions/css/PostCSS.md new file mode 100644 index 000000000..750971c10 --- /dev/null +++ b/content/en/functions/css/PostCSS.md @@ -0,0 +1,129 @@ +--- +title: css.PostCSS +description: Processes the given resource with PostCSS using any PostCSS plugin. +categories: [] +keywords: [] +action: + aliases: [postCSS] + related: + - functions/css/Sass + - functions/css/TailwindCSS + returnType: resource.Resource + signatures: ['css.PostCSS [OPTIONS] RESOURCE'] +toc: true +--- + +{{< new-in 0.128.0 >}} + +```go-html-template +{{ with resources.Get "css/main.css" | postCSS }} + +{{ end }} +``` + +## Setup + +Follow the steps below to transform CSS using any of the available [PostCSS plugins]. + +Step 1 +: Install [Node.js]. + +Step 2 +: Install the required Node.js packages in the root of your project. For example, to add vendor prefixes to your CSS rules: + +```sh +npm i -D postcss postcss-cli autoprefixer +``` + +Step 3 +: Create a PostCSS configuration file in the root of your project. You must name this file `postcss.config.js` or another [supported file name]. For example: + +```js +module.exports = { + plugins: [ + require('autoprefixer') + ] +}; +``` + +{{% note %}} +{{% include "functions/resources/_common/postcss-windows-warning.md" %}} +{{% /note %}} + +Step 4 +: Place your CSS file within the `assets/css` directory. + +Step 5 +: Process the resource with PostCSS: + +```go-html-template +{{ with resources.Get "css/main.css" | postCSS }} + +{{ end }} +``` + +## Options + +The `css.PostCSS` method takes an optional map of options. + +config +: (`string`) The directory that contains the PostCSS configuration file. Default is the root of the project directory. + +noMap +: (`bool`) Default is `false`. If `true`, disables inline sourcemaps. + +inlineImports +: (`bool`) Default is `false`. Enable inlining of @import statements. It does so recursively, but will only import a file once. URL imports (e.g. `@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap');`) and imports with media queries will be ignored. Note that this import routine does not care about the CSS spec, so you can have @import anywhere in the file. Hugo will look for imports relative to the module mount and will respect theme overrides. + +skipInlineImportsNotFound +: (`bool`) Default is `false`. Before Hugo 0.99.0 when `inlineImports` was enabled and we failed to resolve an import, we logged it as a warning. We now fail the build. If you have regular CSS imports in your CSS that you want to preserve, you can either use imports with URL or media queries (Hugo does not try to resolve those) or set `skipInlineImportsNotFound` to true. + +```go-html-template +{{ $opts := dict "config" "config-directory" "noMap" true }} +{{ with resources.Get "css/main.css" | postCSS $opts }} + +{{ end }} +``` + +## No configuration file + +To avoid using a PostCSS configuration file, you can specify a minimal configuration using the options map. + +use +: (`string`) A space-delimited list of PostCSS plugins to use. + +parser +: (`string`) A custom PostCSS parser. + +stringifier +: (`string`) A custom PostCSS stringifier. + +syntax +: (`string`) Custom postcss syntax. + +```go-html-template +{{ $opts := dict "use" "autoprefixer postcss-color-alpha" }} +{{ with resources.Get "css/main.css" | postCSS $opts }} + +{{ end }} +``` + +## Check environment + +The current Hugo environment name (set by `--environment` or in configuration or OS environment) is available in the Node context, which allows constructs like this: + +```js +const autoprefixer = require('autoprefixer'); +const purgecss = require('@fullhuman/postcss-purgecss'); +module.exports = { + plugins: [ + autoprefixer, + process.env.HUGO_ENVIRONMENT !== 'development' ? purgecss : null + ] +} +``` + +[node.js]: https://nodejs.org/en/download +[postcss plugins]: https://www.postcss.parts/ +[supported file name]: https://github.com/postcss/postcss-load-config#usage +[transpile to CSS]: /functions/css/sass/ diff --git a/content/en/functions/css/Sass.md b/content/en/functions/css/Sass.md new file mode 100644 index 000000000..ef1572ae0 --- /dev/null +++ b/content/en/functions/css/Sass.md @@ -0,0 +1,226 @@ +--- +title: css.Sass +description: Transpiles Sass to CSS. +categories: [] +keywords: [] +action: + aliases: [toCSS] + related: + - functions/resources/Fingerprint + - functions/resources/Minify + - functions/css/PostCSS + - functions/resources/PostProcess + returnType: resource.Resource + signatures: ['css.Sass [OPTIONS] RESOURCE'] +toc: true +--- + +{{< new-in 0.128.0 >}} + +```go-html-template +{{ with resources.Get "sass/main.scss" }} + {{ $opts := dict "transpiler" "libsass" "targetPath" "css/style.css" }} + {{ with . | toCSS $opts }} + {{ if hugo.IsDevelopment }} + + {{ else }} + {{ with . | minify | fingerprint }} + + {{ end }} + {{ end }} + {{ end }} +{{ end }} +``` + +Transpile Sass to CSS using the LibSass transpiler included in Hugo's extended edition, or [install Dart Sass](#dart-sass) to use the latest features of the Sass language. + +Sass has two forms of syntax: [SCSS] and [indented]. Hugo supports both. + +[scss]: https://sass-lang.com/documentation/syntax#scss +[indented]: https://sass-lang.com/documentation/syntax#the-indented-syntax + +## Options + +transpiler +: (`string`) The transpiler to use, either `libsass` (default) or `dartsass`. Hugo's extended edition includes the LibSass transpiler. To use the Dart Sass transpiler, see the [installation instructions](#dart-sass) below. + +targetPath +: (`string`) If not set, the transformed resource's target path will be the original path of the asset file with its extension replaced by `.css`. + +vars +: (`map`) A map of key-value pairs that will be available in the `hugo:vars` namespace. Useful for [initializing Sass variables from Hugo templates](https://discourse.gohugo.io/t/42053/). + +```scss +// LibSass +@import "hugo:vars"; + +// Dart Sass +@use "hugo:vars" as v; +``` + +outputStyle +: (`string`) Output styles available to LibSass include `nested` (default), `expanded`, `compact`, and `compressed`. Output styles available to Dart Sass include `expanded` (default) and `compressed`. + +precision +: (`int`) Precision of floating point math. Not applicable to Dart Sass. + +enableSourceMap +: (`bool`) If `true`, generates a source map. + +sourceMapIncludeSources +: (`bool`) If `true`, embeds sources in the generated source map. Not applicable to LibSass. + +includePaths +: (`slice`) A slice of paths, relative to the project root, that the transpiler will use when resolving `@use` and `@import` statements. + +```go-html-template +{{ $opts := dict + "transpiler" "dartsass" + "targetPath" "css/style.css" + "vars" site.Params.styles + "enableSourceMap" (not hugo.IsProduction) + "includePaths" (slice "node_modules/bootstrap/scss") +}} +{{ with resources.Get "sass/main.scss" | toCSS $opts | minify | fingerprint }} + +{{ end }} +``` + +## Dart Sass + +The extended version of Hugo includes [LibSass] to transpile Sass to CSS. In 2020, the Sass team deprecated LibSass in favor of [Dart Sass]. + +Use the latest features of the Sass language by installing Dart Sass in your development and production environments. + +### Installation overview + +Dart Sass is compatible with Hugo v0.114.0 and later. + +If you have been using Embedded Dart Sass[^1] with Hugo v0.113.0 and earlier, uninstall Embedded Dart Sass, then install Dart Sass. If you have installed both, Hugo will use Dart Sass. + +If you install Hugo as a [Snap package] there is no need to install Dart Sass. The Hugo Snap package includes Dart Sass. + +[^1]: In 2023, the Sass team deprecated Embedded Dart Sass in favor of Dart Sass. + +### Installing in a development environment + +When you install Dart Sass somewhere in your PATH, Hugo will find it. + +OS|Package manager|Site|Installation +:--|:--|:--|:-- +Linux|Homebrew|[brew.sh]|`brew install sass/sass/sass` +Linux|Snap|[snapcraft.io]|`sudo snap install dart-sass` +macOS|Homebrew|[brew.sh]|`brew install sass/sass/sass` +Windows|Chocolatey|[chocolatey.org]|`choco install sass` +Windows|Scoop|[scoop.sh]|`scoop install sass` + +You may also install [prebuilt binaries] for Linux, macOS, and Windows. + +Run `hugo env` to list the active transpilers. + +### Installing in a production environment + +For [CI/CD] deployments (e.g., GitHub Pages, GitLab Pages, Netlify, etc.) you must edit the workflow to install Dart Sass before Hugo builds the site[^2]. Some providers allow you to use one of the package managers above, or you can download and extract one of the prebuilt binaries. + +[^2]: You do not have to do this if (a) you have not modified the assets cache location, and (b) you have not set `useResourceCacheWhen` to `never` in your [site configuration], and (c) you add and commit your resources directory to your repository. + +#### GitHub Pages + +To install Dart Sass for your builds on GitHub Pages, add this step to the GitHub Pages workflow file: + +```yaml +- name: Install Dart Sass + run: sudo snap install dart-sass +``` + +If you are using GitHub Pages for the first time with your repository, GitHub provides a [starter workflow] for Hugo that includes Dart Sass. This is the simplest way to get started. + +#### GitLab Pages + +To install Dart Sass for your builds on GitLab Pages, the `.gitlab-ci.yml` file should look something like this: + +```yaml +variables: + HUGO_VERSION: 0.128.0 + DART_SASS_VERSION: 1.77.5 + GIT_DEPTH: 0 + GIT_STRATEGY: clone + GIT_SUBMODULE_STRATEGY: recursive + TZ: America/Los_Angeles +image: + name: golang:1.20-buster +pages: + script: + # Install Dart Sass + - curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz + - tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz + - cp -r dart-sass/* /usr/local/bin + - rm -rf dart-sass* + # Install Hugo + - curl -LJO https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb + - apt install -y ./hugo_extended_${HUGO_VERSION}_linux-amd64.deb + - rm hugo_extended_${HUGO_VERSION}_linux-amd64.deb + # Build + - hugo --gc --minify + artifacts: + paths: + - public + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH +``` + +#### Netlify + +To install Dart Sass for your builds on Netlify, the `netlify.toml` file should look something like this: + +```toml +[build.environment] +HUGO_VERSION = "0.128.0" +DART_SASS_VERSION = "1.77.5" +TZ = "America/Los_Angeles" + +[build] +publish = "public" +command = """\ + curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \ + tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \ + rm dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \ + export PATH=/opt/build/repo/dart-sass:$PATH && \ + hugo --gc --minify \ + """ +``` + +### Example + +To transpile with Dart Sass, set `transpiler` to `dartsass` in the options map passed to `css.Sass`. For example: + +```go-html-template +{{ with resources.Get "sass/main.scss" }} + {{ $opts := dict "transpiler" "dartsass" "targetPath" "css/style.css" }} + {{ with . | toCSS $opts }} + {{ if hugo.IsDevelopment }} + + {{ else }} + {{ with . | minify | fingerprint }} + + {{ end }} + {{ end }} + {{ end }} +{{ end }} +``` + +### Miscellaneous + +If you build Hugo from source and run `mage test -v`, the test will fail if you install Dart Sass as a Snap package. This is due to the Snap package's strict confinement model. + +[brew.sh]: https://brew.sh/ +[chocolatey.org]: https://community.chocolatey.org/packages/sass +[ci/cd]: https://en.wikipedia.org/wiki/CI/CD +[dart sass]: https://sass-lang.com/dart-sass +[libsass]: https://sass-lang.com/libsass +[prebuilt binaries]: https://github.com/sass/dart-sass/releases/latest +[scoop.sh]: https://scoop.sh/#/apps?q=sass +[site configuration]: /getting-started/configuration/#configure-build +[snap package]: /installation/linux/#snap +[snapcraft.io]: https://snapcraft.io/dart-sass +[starter workflow]: https://github.com/actions/starter-workflows/blob/main/pages/hugo.yml diff --git a/content/en/functions/css/TailwindCSS.md b/content/en/functions/css/TailwindCSS.md new file mode 100644 index 000000000..143616453 --- /dev/null +++ b/content/en/functions/css/TailwindCSS.md @@ -0,0 +1,86 @@ +--- +title: css.TailwindCSS +description: Processes the given resource with the Tailwind CSS CLI. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/resources/Fingerprint + - functions/resources/Minify + - functions/css/PostCSS + returnType: resource.Resource + signatures: ['css.TailwindCSS [OPTIONS] RESOURCE'] +toc: true +--- + +{{< new-in 0.128.0 >}} + + + +{{% note %}} +This is an experimental feature pending the release of TailwindCSS v4.0. + +The functionality, configuration requirements, and documentation are subject to change at any time and may be not compatible with prior releases. +{{% /note %}} + +## Prerequisites + +To use this function you must install the Tailwind CSS CLI v4.0 or later. You may install the CLI as an npm package or as a standalone executable. See the [Tailwind CSS documentation] for details. + +[Tailwind CSS documentation]: https://tailwindcss.com/docs/installation + +{{% note %}} +Use npm to install the CLI prior to the v4.0 release of Tailwind CSS. + +`npm install --save-dev tailwindcss@next @tailwindcss/cli@next` +{{% /note %}} + +## Options + +minify +: (`bool`) Whether to optimize and minify the output. Default is `false`. + +optimize +: (`bool`) Whether to optimize the output without minifying. Default is `false`. + +inlineImports +: (`bool`) Whether to enable inlining of `@import` statements. Inlining is performed recursively, but currently once only per file. It is not possible to import the same file in different scopes (root, media query, etc.). Note that this import routine does not care about the CSS specification, so you can have `@import` statements anywhere in the file. Default is `false`. + +skipInlineImportsNotFound +: (`bool`) When `inlineImports` is enabled, we fail the build if an import cannot be resolved. Enable this option to allow the build to continue and leave the import statement in place. Note that the inline importer does not process URL location or imports with media queries, so those will be left as-is even without enabling this option. Default is `false`. + +## Example + +Define a [cache buster] in your site configuration: + +[cache buster]: /getting-started/configuration/#configure-cache-busters + +{{< code-toggle file=hugo >}} +[[build.cachebusters]] +source = 'layouts/.*' +target = 'css' +{{< /code-toggle >}} + +Process the resource: + +```go-html-template +{{ with resources.Get "css/main.css" }} + {{ $opts := dict "minify" true }} + {{ with . | css.TailwindCSS $opts }} + {{ if hugo.IsDevelopment }} + + {{ else }} + {{ with . | fingerprint }} + + {{ end }} + {{ end }} + {{ end }} +{{ end }} +``` + +The example above publishes the minified CSS file to public/css/main.css. + +See [this repository] for more information about the integration with Tailwind CSS v4.0. + +[this repository]: https://github.com/bep/hugo-testing-tailwindcss-v4 diff --git a/content/en/functions/css/_index.md b/content/en/functions/css/_index.md new file mode 100644 index 000000000..a83a23819 --- /dev/null +++ b/content/en/functions/css/_index.md @@ -0,0 +1,12 @@ +--- +title: CSS functions +linkTitle: css +description: Template functions to work with CSS and Sass files. +categories: [] +keywords: [] +menu: + docs: + parent: functions +--- + +Use these functions to work with CSS and Sass files. diff --git a/content/en/functions/data/GetCSV.md b/content/en/functions/data/GetCSV.md index c35d48f67..665b3c23b 100644 --- a/content/en/functions/data/GetCSV.md +++ b/content/en/functions/data/GetCSV.md @@ -13,6 +13,7 @@ action: returnType: '[][]string' signatures: ['data.GetCSV SEPARATOR INPUT... [OPTIONS]'] toc: true +expiryDate: 2025-02-19 # deprecated 2024-02-19 --- {{% deprecated-in 0.123.0 %}} diff --git a/content/en/functions/data/GetJSON.md b/content/en/functions/data/GetJSON.md index 348021226..6139e0009 100644 --- a/content/en/functions/data/GetJSON.md +++ b/content/en/functions/data/GetJSON.md @@ -13,6 +13,7 @@ action: returnType: any signatures: ['data.GetJSON INPUT... [OPTIONS]'] toc: true +expiryDate: 2025-02-19 # deprecated 2024-02-19 --- {{% deprecated-in 0.123.0 %}} diff --git a/content/en/functions/global/page.md b/content/en/functions/global/page.md index b7a8161dc..b952597b2 100644 --- a/content/en/functions/global/page.md +++ b/content/en/functions/global/page.md @@ -58,7 +58,7 @@ content/ └── _index.md <-- title is "My Home Page" ``` -And this code in the home page template: +And this code in the home template: ```go-html-template {{ range site.Sections }} @@ -76,7 +76,7 @@ My Home Page My Home Page ``` -In the example above, the global `page` function accesses the `Page` object passed into the home page template; it does not access the `Page` object of the iterated pages. +In the example above, the global `page` function accesses the `Page` object passed into the home template; it does not access the `Page` object of the iterated pages. ### Be aware of caching diff --git a/content/en/functions/go-template/return.md b/content/en/functions/go-template/return.md index e09522a58..6916827e6 100644 --- a/content/en/functions/go-template/return.md +++ b/content/en/functions/go-template/return.md @@ -75,7 +75,7 @@ Hugo renders: See additional examples in the [partial templates] section. -[partial templates]: /templates/partials/#returning-a-value-from-a-partial +[partial templates]: /templates/partial/#returning-a-value-from-a-partial ## Usage diff --git a/content/en/functions/go-template/template.md b/content/en/functions/go-template/template.md index 687d8b0c8..0a72acdaa 100644 --- a/content/en/functions/go-template/template.md +++ b/content/en/functions/go-template/template.md @@ -45,5 +45,5 @@ The example above can be rewritten using an [inline partial] template: {{% include "functions/go-template/_common/text-template.md" %}} [`partial`]: /functions/partials/include/ -[inline partial]: /templates/partials/#inline-partials +[inline partial]: /templates/partial/#inline-partials [embedded templates]: /templates/embedded/ diff --git a/content/en/functions/hash/FNV32a.md b/content/en/functions/hash/FNV32a.md new file mode 100644 index 000000000..b5af77519 --- /dev/null +++ b/content/en/functions/hash/FNV32a.md @@ -0,0 +1,21 @@ +--- +title: hash.FNV32a +description: Returns the 32-bit FNV (Fowler–Noll–Vo) non-cryptographic hash of the given string. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/hash/Xxhash + - functions/crypto/HMAC + - functions/crypto/MD5 + - functions/crypto/SHA1 + - functions/crypto/SHA256 + returnType: int + signatures: [hash.FNV32a STRING] +aliases: [/functions/crypto.fnv32a] +--- + +```go-html-template +{{ hash.FNV32a "Hello world" }} → 1498229191 +``` diff --git a/content/en/functions/hash/XxHash.md b/content/en/functions/hash/XxHash.md new file mode 100644 index 000000000..7d35c18e5 --- /dev/null +++ b/content/en/functions/hash/XxHash.md @@ -0,0 +1,20 @@ +--- +title: hash.XxHash +description: Returns the 64-bit xxHash non-cryptographic hash of the given string. +categories: [] +keywords: [] +action: + aliases: [xxhash] + related: + - functions/hash/FNV32a + - functions/crypto/HMAC + - functions/crypto/MD5 + - functions/crypto/SHA1 + - functions/crypto/SHA256 + returnType: string + signatures: [hash.XxHash STRING] +--- + +```go-html-template +{{ hash.XxHash "Hello world" }} → c500b0c912b376d8 +``` diff --git a/content/en/functions/hash/_index.md b/content/en/functions/hash/_index.md new file mode 100644 index 000000000..bf21c5b7b --- /dev/null +++ b/content/en/functions/hash/_index.md @@ -0,0 +1,12 @@ +--- +title: Hash functions +linkTitle: hash +description: Template functions to create non-cryptographic hashes. +categories: [] +keywords: [] +menu: + docs: + parent: functions +--- + +Use these functions to create non-cryptographic hashes. diff --git a/content/en/functions/hugo/Generator.md b/content/en/functions/hugo/Generator.md index 3bf74fd61..5538903ed 100644 --- a/content/en/functions/hugo/Generator.md +++ b/content/en/functions/hugo/Generator.md @@ -11,5 +11,5 @@ action: --- ```go-html-template -{{ hugo.Generator }} → +{{ hugo.Generator }} → ``` diff --git a/content/en/functions/hugo/GoVersion.md b/content/en/functions/hugo/GoVersion.md index 1640c3862..34c6266bf 100644 --- a/content/en/functions/hugo/GoVersion.md +++ b/content/en/functions/hugo/GoVersion.md @@ -10,8 +10,6 @@ action: signatures: [hugo.GoVersion] --- -{{< new-in 0.101.0 >}} - ```go-html-template {{ hugo.GoVersion }} → go1.21.1 ``` diff --git a/content/en/functions/hugo/Version.md b/content/en/functions/hugo/Version.md index e83953645..988e8ad88 100644 --- a/content/en/functions/hugo/Version.md +++ b/content/en/functions/hugo/Version.md @@ -11,5 +11,5 @@ action: --- ```go-html-template -{{ hugo.Version }} → 0.126.0 +{{ hugo.Version }} → 0.128.0 ``` diff --git a/content/en/functions/js/Babel.md b/content/en/functions/js/Babel.md new file mode 100644 index 000000000..4271cd35e --- /dev/null +++ b/content/en/functions/js/Babel.md @@ -0,0 +1,90 @@ +--- +title: js.Babel +description: Compiles the given JavaScript resource with Babel. +categories: [] +keywords: [] +action: + aliases: [babel] + related: + - functions/js/Build + - functions/resources/Fingerprint + - functions/resources/Minify + returnType: resource.Resource + signatures: ['js.Babel [OPTIONS] RESOURCE'] +toc: true +--- + +{{< new-in 0.128.0 >}} + +```go-html-template +{{ with resources.Get "js/main.js" }} + {{ if hugo.IsDevelopment }} + {{ with . | babel }} + + {{ end }} + {{ else }} + {{ $opts := dict "minified" true }} + {{ with . | babel $opts | fingerprint }} + + {{ end }} + {{ end }} +{{ end }} +``` + +## Setup + +Step 1 +: Install [Node.js](https://nodejs.org/en/download) + +Step 2 +: Install the required Node.js packages in the root of your project. + +```sh +npm install --save-dev @babel/core @babel/cli +``` + +Step 3 +: Add the babel executable to Hugo's `security.exec.allow` list in your site configuration: + +{{< code-toggle file=hugo >}} +[security.exec] + allow = ['^(dart-)?sass(-embedded)?$', '^go$', '^npx$', '^postcss$', '^babel$'] +{{< /code-toggle >}} + +## Configuration + +We add the main project's `node_modules` to `NODE_PATH` when running Babel and similar tools. There are some known [issues](https://github.com/babel/babel/issues/5618) with Babel in this area, so if you have a `babel.config.js` living in a Hugo Module (and not in the project itself), we recommend using `require` to load the presets/plugins, e.g.: + +```js +module.exports = { + presets: [ + [ + require("@babel/preset-env"), + { + useBuiltIns: "entry", + corejs: 3, + }, + ], + ], +}; +``` + +## Options + +config +: (`string`) Path to the Babel configuration file. Hugo will, by default, look for a `babel.config.js` in your project. More information on these configuration files can be found here: [babel configuration](https://babeljs.io/docs/en/configuration). + +minified +: (`bool`) Save as many bytes as possible when printing + +noComments +: (`bool`) Write comments to generated output (true by default) + +compact +: (`bool`) Do not include superfluous whitespace characters and line terminators. Defaults to `auto` if not set. + +verbose +: (`bool`) Log everything + +sourceMap +: (`string`) Output `inline` or `external` sourcemap from the babel compile. External sourcemaps will be written to the target with the output file name + ".map". Input sourcemaps can be read from js.Build and node modules and combined into the output sourcemaps. diff --git a/content/en/functions/js/Build.md b/content/en/functions/js/Build.md index 7a3cdc43f..2a948416e 100644 --- a/content/en/functions/js/Build.md +++ b/content/en/functions/js/Build.md @@ -6,7 +6,7 @@ keywords: [] action: aliases: [] related: - - functions/resources/Babel + - functions/js/Babel - functions/resources/Fingerprint - functions/resources/Minify returnType: resource.Resource @@ -88,8 +88,8 @@ module.exports = window.ReactDOM; With the above, these imports should work in both scenarios: ```js -import * as React from 'react' -import * as ReactDOM from 'react-dom'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom/client'; ``` target diff --git a/content/en/functions/math/Acos.md b/content/en/functions/math/Acos.md new file mode 100644 index 000000000..3ece567c8 --- /dev/null +++ b/content/en/functions/math/Acos.md @@ -0,0 +1,24 @@ +--- +title: math.Acos +description: Returns the arccosine, in radians, of the given number. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Asin + - functions/math/Atan + - functions/math/Atan2 + - functions/math/Pi + - functions/math/Sin + - functions/math/Cos + - functions/math/Tan + returnType: float64 + signatures: [math.Acos VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Acos 1 }} → 0 +``` diff --git a/content/en/functions/math/Asin.md b/content/en/functions/math/Asin.md new file mode 100644 index 000000000..d90761ae7 --- /dev/null +++ b/content/en/functions/math/Asin.md @@ -0,0 +1,24 @@ +--- +title: math.Asin +description: Returns the arcsine, in radians, of the given number. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Acos + - functions/math/Atan + - functions/math/Atan2 + - functions/math/Pi + - functions/math/Sin + - functions/math/Cos + - functions/math/Tan + returnType: float64 + signatures: [math.Asin VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Asin 1 }} → 1.5707963267948966 +``` diff --git a/content/en/functions/math/Atan.md b/content/en/functions/math/Atan.md new file mode 100644 index 000000000..dbc57d211 --- /dev/null +++ b/content/en/functions/math/Atan.md @@ -0,0 +1,24 @@ +--- +title: math.Atan +description: Returns the arctangent, in radians, of the given number. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Atan2 + - functions/math/Asin + - functions/math/Acos + - functions/math/Pi + - functions/math/Sin + - functions/math/Cos + - functions/math/Tan + returnType: float64 + signatures: [math.Atan VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Atan 1 }} → 0.7853981633974483 +``` diff --git a/content/en/functions/math/Atan2.md b/content/en/functions/math/Atan2.md new file mode 100644 index 000000000..b78435561 --- /dev/null +++ b/content/en/functions/math/Atan2.md @@ -0,0 +1,24 @@ +--- +title: math.Atan2 +description: Returns the arctangent, in radians, of the given number pair, determining the correct quadrant from their signs. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Atan + - functions/math/Asin + - functions/math/Acos + - functions/math/Pi + - functions/math/Sin + - functions/math/Cos + - functions/math/Tan + returnType: float64 + signatures: [math.Atan2 VALUE VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Atan2 1 2 }} → 0.4636476090008061 +``` diff --git a/content/en/functions/math/Cos.md b/content/en/functions/math/Cos.md new file mode 100644 index 000000000..847aed13a --- /dev/null +++ b/content/en/functions/math/Cos.md @@ -0,0 +1,24 @@ +--- +title: math.Cos +description: Returns the cosine of the given radian number. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Pi + - functions/math/Sin + - functions/math/Tan + - functions/math/Asin + - functions/math/Acos + - functions/math/Atan + - functions/math/Atan2 + returnType: float64 + signatures: [math.Cos VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Cos 1 }} → 0.5403023058681398 +``` diff --git a/content/en/functions/math/Pi.md b/content/en/functions/math/Pi.md new file mode 100644 index 000000000..c5d5a01cc --- /dev/null +++ b/content/en/functions/math/Pi.md @@ -0,0 +1,24 @@ +--- +title: math.Pi +description: Returns the mathematical constant pi. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Sin + - functions/math/Cos + - functions/math/Tan + - functions/math/Asin + - functions/math/Acos + - functions/math/Atan + - functions/math/Atan2 + returnType: float64 + signatures: [math.Pi] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Pi }} → 3.141592653589793 +``` diff --git a/content/en/functions/math/Sin.md b/content/en/functions/math/Sin.md new file mode 100644 index 000000000..e78a5432a --- /dev/null +++ b/content/en/functions/math/Sin.md @@ -0,0 +1,24 @@ +--- +title: math.Sin +description: Returns the sine of the given radian number. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Pi + - functions/math/Cos + - functions/math/Tan + - functions/math/Asin + - functions/math/Acos + - functions/math/Atan + - functions/math/Atan2 + returnType: float64 + signatures: [math.Sin VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Sin 1 }} → 0.8414709848078965 +``` diff --git a/content/en/functions/math/Tan.md b/content/en/functions/math/Tan.md new file mode 100644 index 000000000..3ccfa9d4e --- /dev/null +++ b/content/en/functions/math/Tan.md @@ -0,0 +1,24 @@ +--- +title: math.Tan +description: Returns the tangent of the given radian number. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/Pi + - functions/math/Sin + - functions/math/Cos + - functions/math/Asin + - functions/math/Acos + - functions/math/Atan + - functions/math/Atan2 + returnType: float64 + signatures: [math.Tan VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.Tan 1 }} → 1.557407724654902 +``` diff --git a/content/en/functions/math/ToDegrees.md b/content/en/functions/math/ToDegrees.md new file mode 100644 index 000000000..89a7510b9 --- /dev/null +++ b/content/en/functions/math/ToDegrees.md @@ -0,0 +1,19 @@ +--- +title: math.ToDegrees +description: ToDegrees converts radians into degrees. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/ToRadians + - functions/math/Pi + returnType: float64 + signatures: [math.ToDegrees VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.ToDegrees 1.5707963267948966 }} → 90 +``` diff --git a/content/en/functions/math/ToRadians.md b/content/en/functions/math/ToRadians.md new file mode 100644 index 000000000..26def5da0 --- /dev/null +++ b/content/en/functions/math/ToRadians.md @@ -0,0 +1,19 @@ +--- +title: math.ToRadians +description: ToRadians converts degrees into radians. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/math/ToDegrees + - functions/math/Pi + returnType: float64 + signatures: [math.ToRadians VALUE] +--- + +{{< new-in 0.130.0 >}} + +```go-html-template +{{ math.ToRadians 90 }} → 1.5707963267948966 +``` diff --git a/content/en/functions/partials/Include.md b/content/en/functions/partials/Include.md index 6da7e33bc..aa93b4090 100644 --- a/content/en/functions/partials/Include.md +++ b/content/en/functions/partials/Include.md @@ -45,7 +45,7 @@ The "breadcrumbs" partial renders [breadcrumb navigation], and needs to receive The "footer" partial renders the site footer. In this contrived example, the footer does not need access to the current page, so we can omit context: ```go-html-template -{{ partial "breadcrumbs.html" }} +{{ partial "footer.html" }} ``` You can pass anything in context: a page, a page collection, a scalar value, a slice, or a map. In this example we pass the current page and three scalar values: diff --git a/content/en/functions/path/BaseName.md b/content/en/functions/path/BaseName.md index 4c4340a09..477c8d319 100644 --- a/content/en/functions/path/BaseName.md +++ b/content/en/functions/path/BaseName.md @@ -17,8 +17,6 @@ action: aliases: [/functions/path.basename] --- -{{< new-in 0.101.0 >}} - ```go-html-template {{ path.BaseName "a/news.html" }} → news {{ path.BaseName "news.html" }} → news diff --git a/content/en/functions/resources/Babel.md b/content/en/functions/resources/Babel.md index 57ddb7d23..b2b51ae97 100644 --- a/content/en/functions/resources/Babel.md +++ b/content/en/functions/resources/Babel.md @@ -4,7 +4,6 @@ description: Compiles the given JavaScript resource with Babel. categories: [] keywords: [] action: - aliases: [babel] related: - functions/js/Build - functions/resources/Fingerprint @@ -12,8 +11,15 @@ action: returnType: resource.Resource signatures: ['resources.Babel [OPTIONS] RESOURCE'] toc: true +expiryDate: 2025-06-24 # deprecated 2024-06-24 --- +{{% deprecated-in 0.128.0 %}} +Use [js.Babel] instead. + +[js.Babel]: /functions/js/babel/ +{{% /deprecated-in %}} + ```go-html-template {{ with resources.Get "js/main.js" }} {{ if hugo.IsDevelopment }} diff --git a/content/en/functions/resources/ByType.md b/content/en/functions/resources/ByType.md index bc5cca533..dc3bc9c9c 100644 --- a/content/en/functions/resources/ByType.md +++ b/content/en/functions/resources/ByType.md @@ -26,7 +26,7 @@ The [media type] is typically one of `image`, `text`, `audio`, `video`, or `appl {{% note %}} This function operates on global resources. A global resource is a file within the assets directory, or within any directory mounted to the assets directory. -For page resources, use the [`Resources.ByType`] method on the Page object. +For page resources, use the [`Resources.ByType`] method on a `Page` object. [`Resources.ByType`]: /methods/page/resources/ {{% /note %}} diff --git a/content/en/functions/resources/Copy.md b/content/en/functions/resources/Copy.md index e25f91313..3be3dfd57 100644 --- a/content/en/functions/resources/Copy.md +++ b/content/en/functions/resources/Copy.md @@ -9,8 +9,6 @@ action: signatures: [resources.Copy TARGETPATH RESOURCE] --- -{{< new-in 0.100.0 >}} - ```go-html-template {{ with resources.Get "images/a.jpg" }} {{ with resources.Copy "img/new-image-name.jpg" . }} diff --git a/content/en/functions/resources/Fingerprint.md b/content/en/functions/resources/Fingerprint.md index 685214f96..1fc01912d 100644 --- a/content/en/functions/resources/Fingerprint.md +++ b/content/en/functions/resources/Fingerprint.md @@ -6,12 +6,11 @@ keywords: [] action: aliases: [fingerprint] related: - - functions/js/Build - - functions/resources/Babel - functions/resources/Minify - - functions/resources/PostCSS - - functions/resources/PostProcess - - functions/resources/ToCSS + - functions/css/Sass + - functions/css/TailwindCSS + - functions/js/Build + - functions/js/Babel returnType: resource.Resource signatures: ['resources.Fingerprint [ALGORITHM] RESOURCE'] --- diff --git a/content/en/functions/resources/FromString.md b/content/en/functions/resources/FromString.md index 1ab3f3200..8801de6e4 100644 --- a/content/en/functions/resources/FromString.md +++ b/content/en/functions/resources/FromString.md @@ -24,7 +24,7 @@ Let's say you need to publish a file named "site.json" in the root of your publi ```json { "build_date": "2024-02-19T12:27:05-08:00", - "hugo_version": "0.126.0", + "hugo_version": "0.128.0", "last_modified": "2024-02-19T12:01:42-08:00" } ``` diff --git a/content/en/functions/resources/Get.md b/content/en/functions/resources/Get.md index 3ae291c42..0678c4b0d 100644 --- a/content/en/functions/resources/Get.md +++ b/content/en/functions/resources/Get.md @@ -24,7 +24,7 @@ action: {{% note %}} This function operates on global resources. A global resource is a file within the assets directory, or within any directory mounted to the assets directory. -For page resources, use the [`Resources.Get`] method on the Page object. +For page resources, use the [`Resources.Get`] method on a `Page` object. [`Resources.Get`]: /methods/page/resources/ {{% /note %}} diff --git a/content/en/functions/resources/GetMatch.md b/content/en/functions/resources/GetMatch.md index aa2f1ccbb..749867b41 100644 --- a/content/en/functions/resources/GetMatch.md +++ b/content/en/functions/resources/GetMatch.md @@ -24,7 +24,7 @@ action: {{% note %}} This function operates on global resources. A global resource is a file within the assets directory, or within any directory mounted to the assets directory. -For page resources, use the [`Resources.GetMatch`] method on the Page object. +For page resources, use the [`Resources.GetMatch`] method on a `Page` object. [`Resources.GetMatch`]: /methods/page/resources/ {{% /note %}} diff --git a/content/en/functions/resources/Match.md b/content/en/functions/resources/Match.md index f23d56f63..49c7e7df2 100644 --- a/content/en/functions/resources/Match.md +++ b/content/en/functions/resources/Match.md @@ -24,7 +24,7 @@ action: {{% note %}} This function operates on global resources. A global resource is a file within the assets directory, or within any directory mounted to the assets directory. -For page resources, use the [`Resources.Match`] method on the Page object. +For page resources, use the [`Resources.Match`] method on a `Page` object. [`Resources.Match`]: /methods/page/resources/ {{% /note %}} diff --git a/content/en/functions/resources/Minify.md b/content/en/functions/resources/Minify.md index 9749df20a..25314fd6a 100644 --- a/content/en/functions/resources/Minify.md +++ b/content/en/functions/resources/Minify.md @@ -6,11 +6,11 @@ keywords: [] action: aliases: [minify] related: - - functions/js/Build - - functions/resources/Babel - functions/resources/Fingerprint - - functions/resources/PostCSS - - functions/resources/ToCSS + - functions/css/Sass + - functions/css/TailwindCSS + - functions/js/Build + - functions/js/Babel returnType: resource.Resource signatures: [resources.Minify RESOURCE] --- diff --git a/content/en/functions/resources/PostCSS.md b/content/en/functions/resources/PostCSS.md index a9f9ed3c8..f495b16fe 100644 --- a/content/en/functions/resources/PostCSS.md +++ b/content/en/functions/resources/PostCSS.md @@ -4,17 +4,23 @@ description: Processes the given resource with PostCSS using any PostCSS plugin. categories: [] keywords: [] action: - aliases: [postCSS] related: - functions/resources/Fingerprint - functions/resources/Minify - functions/resources/PostProcess - - functions/resources/ToCSS + - functions/css/Sass returnType: resource.Resource signatures: ['resources.PostCSS [OPTIONS] RESOURCE'] toc: true +expiryDate: 2025-06-24 # deprecated 2024-06-24 --- +{{% deprecated-in 0.128.0 %}} +Use [css.PostCSS] instead. + +[css.PostCSS]: /functions/css/postcss/ +{{% /deprecated-in %}} + ```go-html-template {{ with resources.Get "css/main.css" | postCSS }} @@ -126,4 +132,4 @@ module.exports = { [node.js]: https://nodejs.org/en/download [postcss plugins]: https://www.postcss.parts/ [supported file name]: https://github.com/postcss/postcss-load-config#usage -[transpile to CSS]: /functions/resources/tocss.md +[transpile to CSS]: /functions/css/sass/ diff --git a/content/en/functions/resources/PostProcess.md b/content/en/functions/resources/PostProcess.md index f765ea9af..e1f8e5f8e 100644 --- a/content/en/functions/resources/PostProcess.md +++ b/content/en/functions/resources/PostProcess.md @@ -6,10 +6,8 @@ keywords: [] action: aliases: [] related: - - functions/resources/Fingerprint - - functions/resources/Minify - - functions/resources/PostCSS - - functions/resources/ToCSS + - functions/css/PostCSS + - functions/css/Sass returnType: postpub.PostPublishedResource signatures: [resources.PostProcess RESOURCE] toc: true @@ -149,7 +147,7 @@ You cannot manipulate the values returned from the resource’s methods. For exa ```go-html-template {{ $css := resources.Get "css/main.css" }} -{{ $css = $css | resources.PostCSS | minify | fingerprint | resources.PostProcess }} +{{ $css = $css | css.PostCSS | minify | fingerprint | resources.PostProcess }} {{ $css.RelPermalink | strings.ToUpper }} ``` diff --git a/content/en/functions/resources/ToCSS.md b/content/en/functions/resources/ToCSS.md index df03267e8..bd98dab19 100644 --- a/content/en/functions/resources/ToCSS.md +++ b/content/en/functions/resources/ToCSS.md @@ -4,17 +4,23 @@ description: Transpiles Sass to CSS. categories: [] keywords: [] action: - aliases: [toCSS] related: - functions/resources/Fingerprint - functions/resources/Minify - - functions/resources/PostCSS + - functions/css/PostCSS - functions/resources/PostProcess returnType: resource.Resource signatures: ['resources.ToCSS [OPTIONS] RESOURCE'] toc: true +expiryDate: 2025-06-24 # deprecated 2024-06-24 --- +{{% deprecated-in 0.128.0 %}} +Use [css.Sass] instead. + +[css.Sass]: /functions/css/sass/ +{{% /deprecated-in %}} + ```go-html-template {{ with resources.Get "sass/main.scss" }} {{ $opts := dict "transpiler" "libsass" "targetPath" "css/style.css" }} @@ -76,7 +82,7 @@ includePaths "transpiler" "dartsass" "targetPath" "css/style.css" "vars" site.Params.styles - "enableSourceMap" (not hugo.IsProduction) + "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules/bootstrap/scss") }} {{ with resources.Get "sass/main.scss" | toCSS $opts | minify | fingerprint }} @@ -139,8 +145,8 @@ To install Dart Sass for your builds on GitLab Pages, the `.gitlab-ci.yml` file ```yaml variables: - HUGO_VERSION: 0.126.0 - DART_SASS_VERSION: 1.77.1 + HUGO_VERSION: 0.128.0 + DART_SASS_VERSION: 1.77.5 GIT_DEPTH: 0 GIT_STRATEGY: clone GIT_SUBMODULE_STRATEGY: recursive @@ -173,8 +179,8 @@ To install Dart Sass for your builds on Netlify, the `netlify.toml` file should ```toml [build.environment] -HUGO_VERSION = "0.126.0" -DART_SASS_VERSION = "1.77.1" +HUGO_VERSION = "0.128.0" +DART_SASS_VERSION = "1.77.5" TZ = "America/Los_Angeles" [build] diff --git a/content/en/functions/strings/Diff/index.md b/content/en/functions/strings/Diff/index.md index be7bfd911..da172bbeb 100644 --- a/content/en/functions/strings/Diff/index.md +++ b/content/en/functions/strings/Diff/index.md @@ -30,4 +30,4 @@ Use `strings.Diff` to compare two strings and render a highlighted diff: Rendered: -![sreen capture](diff-screen-capture.png) +![screen capture](diff-screen-capture.png) diff --git a/content/en/functions/templates/Defer.md b/content/en/functions/templates/Defer.md new file mode 100644 index 000000000..a99b955ec --- /dev/null +++ b/content/en/functions/templates/Defer.md @@ -0,0 +1,95 @@ +--- +title: templates.Defer +description: Defer execution of a template until after all sites and output formats have been rendered. +categories: [] +keywords: [] +toc: true +action: + aliases: [] + related: [] + returnType: string + signatures: [templates.Defer OPTIONS] +aliases: [/functions/templates.defer] +--- + +{{< new-in "0.128.0" >}} + +In some rare use cases, you may need to defer the execution of a template until after all sites and output formats have been rendered. One such example could be [TailwindCSS](/functions/css/tailwindcss/) using the output of [hugo_stats.json](/getting-started/configuration/#configure-build) to determine which classes and other HTML identifiers are being used in the final output: + +```go-html-template +{{ with (templates.Defer (dict "key" "global")) }} + {{ $t := debug.Timer "tailwindcss" }} + {{ with resources.Get "css/styles.css" }} + {{ $opts := dict + "inlineImports" true + "optimize" hugo.IsProduction + }} + {{ with . | css.TailwindCSS $opts }} + {{ if hugo.IsDevelopment }} + + {{ else }} + {{ with . | minify | fingerprint }} + + {{ end }} + {{ end }} + {{ end }} + {{ end }} + {{ $t.Stop }} +{{ end }} +``` + +{{% note %}} +This function only works in combination with the `with` keyword. +{{% /note %}} + + +{{% note %}} +Variables defined on the outside are not visible on the inside and vice versa. To pass in data, use the `data` [option](#options). +{{% /note %}} + +For the above to work well when running the server (or `hugo -w`), you want to have a configuration similar to this: + +{{< code-toggle file=hugo >}} +[module] +[[module.mounts]] +source = "hugo_stats.json" +target = "assets/notwatching/hugo_stats.json" +disableWatch = true +[build.buildStats] +enable = true +[[build.cachebusters]] +source = "assets/notwatching/hugo_stats\\.json" +target = "styles\\.css" +[[build.cachebusters]] +source = "(postcss|tailwind)\\.config\\.js" +target = "css" +{{< /code-toggle >}} + +## Options + +The `templates.Defer` function takes a single argument, a map with the following optional keys: + +key (`string`) +: The key to use for the deferred template. This will, combined with a hash of the template content, be used as a cache key. If this is not set, Hugo will execute the deferred template on every render. This is not what you want for shared resources like CSS and JavaScript. + +data (`map`) +: Optional map to pass as data to the deferred template. This will be available in the deferred template as `.` or `$`. + + +```go-html-template +Language Outside: {{ site.Language.Lang }} +Page Outside: {{ .RelPermalink }} +I18n Outside: {{ i18n "hello" }} +{{ $data := (dict "page" . )}} +{{ with (templates.Defer (dict "data" $data )) }} + Language Inside: {{ site.Language.Lang }} + Page Inside: {{ .page.RelPermalink }} + I18n Inside: {{ i18n "hello" }} +{{ end }} +``` + +The [Output Format](/templates/output-formats/), [Site](/methods/page/site/), and [language](/methods/site/language) will be the same, even if the execution is deferred. In the example above, this means that the `site.Language.Lang` and `.RelPermalink` will be the same on the inside and the outside of the deferred template. diff --git a/content/en/functions/transform/Emojify.md b/content/en/functions/transform/Emojify.md index d9f0adf67..8422a0c78 100644 --- a/content/en/functions/transform/Emojify.md +++ b/content/en/functions/transform/Emojify.md @@ -26,5 +26,5 @@ I :heart: Hugo! [configuration]: /getting-started/configuration/ [emoji shortcodes]: /quick-reference/emojis/ -[sc]: /templates/shortcode-templates/ +[sc]: /templates/shortcode/ [scsource]: https://github.com/gohugoio/hugo/tree/master/docs/layouts/shortcodes diff --git a/content/en/getting-started/configuration-markup.md b/content/en/getting-started/configuration-markup.md index ab3dfa221..4ba4a60fe 100644 --- a/content/en/getting-started/configuration-markup.md +++ b/content/en/getting-started/configuration-markup.md @@ -84,25 +84,45 @@ typographer|[Goldmark Extensions: Typographer]|:heavy_check_mark: [PHP Markdown Extra: Definition lists]: https://michelf.ca/projects/php-markdown/extra/#def-list [PHP Markdown Extra: Footnotes]: https://michelf.ca/projects/php-markdown/extra/#footnotes -#### Extras extension +#### Extras {{< new-in 0.126.0 >}} -Configure the extras extension to enable [inserted text], [mark text], [subscript], and [superscript] elements in Markdown. +Enable [deleted text], [inserted text], [mark text], [subscript], and [superscript] elements in Markdown. Element|Markdown|Rendered :--|:--|:-- -Inserted text|`++foo++`|`foo` -Mark text|`==bar==`|`bar` +Deleted text|`~~foo~~`|`foo` +Inserted text|`++bar++`|`bar` +Mark text|`==baz==`|`baz` Subscript|`H~2~O`|`H2O` Superscript|`1^st^`|`1st` +[deleted text]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del [inserted text]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins [mark text]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark [subscript]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub [superscript]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup -#### Passthrough extension +To avoid a conflict when enabling the Hugo Goldmark Extras subscript extension, if you want to render subscript and strikethrough text concurrently you must: + +1. Disable the Goldmark strikethrough extension +2. Enable the Hugo Goldmark Extras delete extension + +For example: + +{{< code-toggle file=hugo >}} +[markup.goldmark.extensions] +strikethrough = false + +[markup.goldmark.extensions.extras.delete] +enable = true + +[markup.goldmark.extensions.extras.subscript] +enable = true +{{< /code-toggle >}} + +#### Passthrough {{< new-in 0.122.0 >}} @@ -110,7 +130,7 @@ Enable the passthrough extension to include mathematical equations and expressio [mathematics in Markdown]: content-management/mathematics/ -#### Typographer extension +#### Typographer The Typographer extension replaces certain character combinations with HTML entities as specified below: diff --git a/content/en/getting-started/configuration.md b/content/en/getting-started/configuration.md index 35c7d780e..13474c770 100644 --- a/content/en/getting-started/configuration.md +++ b/content/en/getting-started/configuration.md @@ -378,13 +378,9 @@ Module configuration see [module configuration](/hugo-modules/configuration/). See [custom output formats]. -###### paginate +###### pagination -(`int`) Default number of elements per page in [pagination](/templates/pagination/). Default is `10`. - -###### paginatePath - -(`string`) The path element used during pagination (`https://example.org/page/2`). Default is `page`. +See [configure pagination](/templates/pagination/#configuration). ###### permalinks @@ -442,7 +438,7 @@ See [Segments](#configure-segments). ###### sitemap -Default [sitemap configuration](/templates/sitemap-template/#configuration). +Default [sitemap configuration](/templates/sitemap/#configuration). ###### summaryLength @@ -962,4 +958,3 @@ Some use cases for this feature: [kind]: /getting-started/glossary/#page-kind [output format]: /getting-started/glossary/#output-format [type]: /getting-started/glossary/#content-type - diff --git a/content/en/getting-started/glossary.md b/content/en/getting-started/glossary.md index c86c3fc97..cdd9c58ee 100644 --- a/content/en/getting-started/glossary.md +++ b/content/en/getting-started/glossary.md @@ -104,7 +104,7 @@ A classification of content inferred from the top-level directory name or the `t ###### content view -A template called with the `.Page.Render` method. See [details](/templates/views/). +A template called with the `.Page.Render` method. See [details](/templates/content-view/). ###### context @@ -132,7 +132,6 @@ To determine the current environment within a template, use the [`hugo.Environme A predefined key-value pair in front matter such as `date` or `title`. See also [parameter](#parameter). - ###### flag An option passed to a command-line program, beginning with one or two hyphens. See [details](/commands/hugo/). @@ -212,6 +211,10 @@ A directory that contains an index.md file and zero or more [resources](#resourc Any [page kind](#page-kind) that receives a page [collection](#collection) in [context](#context). This includes the home page, [section pages](#section-page), [taxonomy pages](#taxonomy-page), and [term pages](#term-page). +###### list template + +Any template that renders a [list page](#list-page). This includes [home](/templates/types/#home), [section](/templates/types/#section), [taxonomy](/templates/types/#taxonomy), and [term](/templates/types/#term) templates. + ###### localization Adaptation of a site to meet language and regional requirements. This includes translations, language-specific media, date and currency formats, etc. See [details](/content-management/multilingual/) and the [W3C definition](https://www.w3.org/International/questions/qa-i18n). Abbreviated l10n. @@ -256,7 +259,7 @@ A data structure with or without associated [methods](#method). ###### ordered taxonomy -Created by invoking the [`Alphabetical`] or [`ByCount`] method on a [taxonomy object](#taxonomy-object), which is a [map](#map), an ordered taxonomy is a [slice](#slice), where each element is an object that contains the [term](#term) and a slice of its [weighted pages](#weighted-page). +Created by invoking the [`Alphabetical`] or [`ByCount`] method on a [`Taxonomy`](#taxonomy-object) object, which is a [map](#map), an ordered taxonomy is a [slice](#slice), where each element is an object that contains the [term](#term) and a slice of its [weighted pages](#weighted-page). [`Alphabetical`]: /methods/taxonomy/alphabetical/ [`ByCount`]: /methods/taxonomy/bycount/ @@ -271,7 +274,7 @@ A directory that encapsulates both content and associated [resources](#resource) ###### page collection -A slice of page objects. +A slice of `Page` objects. ###### page kind @@ -287,15 +290,19 @@ A file within a [page bundle](#page-bundle). Capture one or more page resources ###### pager -Created during [pagination](#pagination), a pager contains a subset of a section list, and navigation links to other pagers. +Created during [pagination](#pagination), a pager contains a subset of a list page and navigation links to other pagers. ###### paginate -To split a [section](#section) list into two or more [pagers](#pager) See [details](/templates/pagination/). +To split a list page into two or more subsets. ###### pagination -The process of [paginating](#paginate) a [section](#section) list. +The process of [paginating](#paginate) a list page. See [details](/templates/pagination/). + +###### paginator + +A collection of [pagers](#pager). ###### parameter @@ -394,7 +401,7 @@ Raw string literals are character sequences between backticks, as in \`bar\`. Wi ###### taxonomic weight -Defined in front matter and unique to each taxonomy, this [weight](#weight) determines the sort order of page collections contained within a [taxonomy object](#taxonomy-object). See [details](/templates/taxonomy-templates/#assign-weight). +Defined in front matter and unique to each taxonomy, this [weight](#weight) determines the sort order of page collections contained within a [`Taxonomy`](#taxonomy-object) object. See [details](/content-management/taxonomies/#order-taxonomies). ###### taxonomy @@ -454,7 +461,7 @@ Used to position an element within a collection sorted by weight. Assign weights ###### weighted page -Contained within a [taxonomy object](#taxonomy-object), a weighted page is a [map](#map) with two elements: a `Page` object, and its [taxonomic weight](#taxonomic-weight) as defined in front matter. Access the elements using the `Page` and `Weight` keys. +Contained within a [`Taxonomy`](#taxonomy-object) object, a weighted page is a [map](#map) with two elements: a `Page` object, and its [taxonomic weight](#taxonomic-weight) as defined in front matter. Access the elements using the `Page` and `Weight` keys. ###### zero time diff --git a/content/en/hosting-and-deployment/deployment-with-rsync.md b/content/en/hosting-and-deployment/deployment-with-rsync.md index f341ad618..06f250b37 100644 --- a/content/en/hosting-and-deployment/deployment-with-rsync.md +++ b/content/en/hosting-and-deployment/deployment-with-rsync.md @@ -89,7 +89,7 @@ Add the following content. Replace the `USER`, `HOST`, and `DIR` values with you #!/bin/sh USER=my-user HOST=my-server.com -DIR=my/directory/to/topologix.fr/ # the directory where your web site files should go +DIR=my/directory/to/topologix.fr/ # the directory where your website files should go hugo && rsync -avz --delete public/ ${USER}@${HOST}:~/${DIR} # this will delete everything on the server that's not in the local public folder diff --git a/content/en/hosting-and-deployment/hosting-on-github/index.md b/content/en/hosting-and-deployment/hosting-on-github/index.md index 5460193a7..03cb95bb8 100644 --- a/content/en/hosting-and-deployment/hosting-on-github/index.md +++ b/content/en/hosting-and-deployment/hosting-on-github/index.md @@ -97,7 +97,7 @@ jobs: build: runs-on: ubuntu-latest env: - HUGO_VERSION: 0.127.0 + HUGO_VERSION: 0.128.0 steps: - name: Install Hugo CLI run: | @@ -112,14 +112,13 @@ jobs: fetch-depth: 0 - name: Setup Pages id: pages - uses: actions/configure-pages@v4 + uses: actions/configure-pages@v5 - name: Install Node.js dependencies run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" - name: Build with Hugo env: - # For maximum backward compatibility with Hugo modules + HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache HUGO_ENVIRONMENT: production - HUGO_ENV: production TZ: America/Los_Angeles run: | hugo \ diff --git a/content/en/hosting-and-deployment/hosting-on-gitlab.md b/content/en/hosting-and-deployment/hosting-on-gitlab.md index c628922cd..440bbc13d 100644 --- a/content/en/hosting-and-deployment/hosting-on-gitlab.md +++ b/content/en/hosting-and-deployment/hosting-on-gitlab.md @@ -27,8 +27,8 @@ Define your [CI/CD](https://docs.gitlab.com/ee/ci/quick_start/) jobs by creating {{< code file=.gitlab-ci.yml copy=true >}} variables: - DART_SASS_VERSION: 1.77.1 - HUGO_VERSION: 0.126.0 + DART_SASS_VERSION: 1.77.5 + HUGO_VERSION: 0.128.0 NODE_VERSION: 20.x GIT_DEPTH: 0 GIT_STRATEGY: clone diff --git a/content/en/hosting-and-deployment/hosting-on-netlify/index.md b/content/en/hosting-and-deployment/hosting-on-netlify/index.md index b297bca02..66382b7e3 100644 --- a/content/en/hosting-and-deployment/hosting-on-netlify/index.md +++ b/content/en/hosting-and-deployment/hosting-on-netlify/index.md @@ -101,7 +101,7 @@ Create a new file named netlify.toml in the root of your project directory. In i {{< code file=netlify.toml >}} [build.environment] -HUGO_VERSION = "0.126.0" +HUGO_VERSION = "0.128.0" TZ = "America/Los_Angeles" [build] @@ -113,8 +113,8 @@ If your site requires Dart Sass to transpile Sass to CSS, the configuration file {{< code file=netlify.toml >}} [build.environment] -HUGO_VERSION = "0.126.0" -DART_SASS_VERSION = "1.77.1" +HUGO_VERSION = "0.128.0" +DART_SASS_VERSION = "1.77.5" TZ = "America/Los_Angeles" [build] diff --git a/content/en/hosting-and-deployment/hugo-deploy.md b/content/en/hosting-and-deployment/hugo-deploy.md index 45b917f1e..db2448ee7 100644 --- a/content/en/hosting-and-deployment/hugo-deploy.md +++ b/content/en/hosting-and-deployment/hugo-deploy.md @@ -186,6 +186,15 @@ URL = "" #include = "**.html" # would only include files with ".html" suffix #exclude = "**.{jpg, png}" # would exclude files with ".jpg" or ".png" suffix +# Map any file named "/index.html" to the remote file "/". This does +# not affect the root "index.html" file, and it does not affect matchers below. +# This works when deploying to key-value cloud storage systems, such as Amazon +# S3 (general purpose buckets, not directory buckets), Google Cloud Storage, and +# Azure Blob Storage. This makes it so the canonical URL will match the object +# key in cloud storage, except for the root index.html file. +# +#stripIndexHTML = true + ####################### [[deployment.matchers]] @@ -195,6 +204,7 @@ URL = "" # See https://golang.org/pkg/regexp/syntax/ for pattern syntax. # Pattern searching is stopped on first match. +# This is not affected by stripIndexHTML, above. pattern = "" # If true, Hugo will gzip the file before uploading it to the bucket. diff --git a/content/en/hugo-modules/configuration.md b/content/en/hugo-modules/configuration.md index 3aec4699b..cd51614b6 100644 --- a/content/en/hugo-modules/configuration.md +++ b/content/en/hugo-modules/configuration.md @@ -25,25 +25,25 @@ workspace = 'off' {{< /code-toggle >}} noProxy -: Comma separated glob list matching paths that should not use the proxy configured above. +: (`string`) Comma separated glob list matching paths that should not use the proxy configured above. noVendor -: A optional Glob pattern matching module paths to skip when vendoring, e.g. "github.com/**" +: (`string`) A optional Glob pattern matching module paths to skip when vendoring, e.g. "github.com/**" private -: Comma separated glob list matching paths that should be treated as private. +: (`string`) Comma separated glob list matching paths that should be treated as private. proxy -: Defines the proxy server to use to download remote modules. Default is `direct`, which means "git clone" and similar. +: (`string`) Defines the proxy server to use to download remote modules. Default is `direct`, which means "git clone" and similar. vendorClosest -: When enabled, we will pick the vendored module closest to the module using it. The default behavior is to pick the first. Note that there can still be only one dependency of a given module path, so once it is in use it cannot be redefined. +: (`bool`) When enabled, we will pick the vendored module closest to the module using it. The default behavior is to pick the first. Note that there can still be only one dependency of a given module path, so once it is in use it cannot be redefined. Default is `false`. workspace -: The workspace file to use. This enables Go workspace mode. Note that this can also be set via OS env, e.g. `export HUGO_MODULE_WORKSPACE=/my/hugo.work` This only works with Go 1.18+. In Hugo `v0.109.0` we changed the default to `off` and we now resolve any relative work file names relative to the working directory. +: (`string`) The workspace file to use. This enables Go workspace mode. Note that this can also be set via OS env, e.g. `export HUGO_MODULE_WORKSPACE=/my/hugo.work` This only works with Go 1.18+. In Hugo `v0.109.0` we changed the default to `off` and we now resolve any relative work file names relative to the working directory. replacements -: A comma-separated list of mappings from module paths to directories, e.g. `github.com/bep/my-theme -> ../..,github.com/bep/shortcodes -> /some/path`. This is mostly useful for temporary local development of a module, in which case you might want to save it as an environment variable, e.g: `env HUGO_MODULE_REPLACEMENTS="github.com/bep/my-theme -> ../.."`. Relative paths are relative to [themesDir](/getting-started/configuration/#all-configuration-settings). Absolute paths are allowed. +: (`string`) A comma-separated list of mappings from module paths to directories, e.g. `github.com/bep/my-theme -> ../..,github.com/bep/shortcodes -> /some/path`. This is mostly useful for temporary local development of a module, in which case you might want to save it as an environment variable, e.g: `env HUGO_MODULE_REPLACEMENTS="github.com/bep/my-theme -> ../.."`. Relative paths are relative to [themesDir](/getting-started/configuration/#all-configuration-settings). Absolute paths are allowed. Note that the above terms maps directly to their counterparts in Go Modules. Some of these setting may be natural to set as OS environment variables. To set the proxy server to use, as an example: @@ -69,13 +69,13 @@ If your module requires a particular version of Hugo to work, you can indicate t Any of the above can be omitted. min -: The minimum Hugo version supported, e.g. `0.55.0` +: (`string`) The minimum Hugo version supported, e.g. `0.55.0` max -: The maximum Hugo version supported, e.g. `0.55.0` +: (`string`) The maximum Hugo version supported, e.g. `0.55.0` extended -: Whether the extended version of Hugo is required. +: (`bool`) Whether the extended version of Hugo is required. ## Module configuration: imports @@ -120,7 +120,8 @@ When the `mounts` configuration was introduced in Hugo 0.56.0, we were careful t When you add a mount, the default mount for the concerned target root is ignored: be sure to explicitly add it. {{% /note %}} -**Default mounts** +### Default mounts + {{< code-toggle file=hugo >}} [module] [[module.mounts]] @@ -147,25 +148,30 @@ When you add a mount, the default mount for the concerned target root is ignored {{< /code-toggle >}} source -: The source directory of the mount. For the main project, this can be either project-relative or absolute. For other modules it must be project-relative. +: (`string`) The source directory of the mount. For the main project, this can be either project-relative or absolute. For other modules it must be project-relative. target -: Where it should be mounted into Hugo's virtual filesystem. It must start with one of Hugo's component folders: `static`, `content`, `layouts`, `data`, `assets`, `i18n`, or `archetypes`. E.g. `content/blog`. +: (`string`) Where it should be mounted into Hugo's virtual filesystem. It must start with one of Hugo's component folders: `static`, `content`, `layouts`, `data`, `assets`, `i18n`, or `archetypes`. E.g. `content/blog`. + +disableWatch +{{< new-in 0.128.0 >}} +: (`bool`) Whether to disable watching in watch mode for this mount. Default is `false`. lang -: The language code, e.g. "en". Only relevant for `content` mounts, and `static` mounts when in multihost mode. +: (`string`) The language code, e.g. "en". Only relevant for `content` mounts, and `static` mounts when in multihost mode. -includeFiles (string or slice) -: One or more [glob](https://github.com/gobwas/glob) patterns matching files or directories to include. If `excludeFiles` is not set, the files matching `includeFiles` will be the files mounted. +includeFiles +: (`string` or `string slice`) One or more [glob](https://github.com/gobwas/glob) patterns matching files or directories to include. If `excludeFiles` is not set, the files matching `includeFiles` will be the files mounted. The glob patterns are matched to the file names starting from the `source` root, they should have Unix styled slashes even on Windows, `/` matches the mount root and `**` can be used as a super-asterisk to match recursively down all directories, e.g `/posts/**.jpg`. The search is case-insensitive. -excludeFiles (string or slice) -: One or more glob patterns matching files to exclude. +excludeFiles +: (`string` or `string slice`) One or more glob patterns matching files to exclude. + +### Example -**Example** {{< code-toggle file=hugo >}} [module] [[module.mounts]] diff --git a/content/en/hugo-pipes/babel.md b/content/en/hugo-pipes/babel.md index c447983a9..766ff8ae8 100755 --- a/content/en/hugo-pipes/babel.md +++ b/content/en/hugo-pipes/babel.md @@ -11,12 +11,12 @@ weight: 70 function: aliases: [babel] returnType: resource.Resource - signatures: ['resources.Babel [OPTIONS] RESOURCE'] + signatures: ['js.Babel [OPTIONS] RESOURCE'] --- ## Usage -Any JavaScript resource file can be transpiled to another JavaScript version using `resources.Babel` which takes for argument the resource object and an optional dict of options listed below. Babel uses the [babel cli](https://babeljs.io/docs/en/babel-cli). +Any JavaScript resource file can be transpiled to another JavaScript version using `js.Babel` which takes for argument the resource object and an optional dict of options listed below. Babel uses the [babel cli](https://babeljs.io/docs/en/babel-cli). {{% note %}} Hugo Pipe's Babel requires the `@babel/cli` and `@babel/core` JavaScript packages to be installed in the project or globally (`npm install -g @babel/cli @babel/core`) along with any Babel plugin(s) or preset(s) used (e.g., `npm install @babel/preset-env --save-dev`). diff --git a/content/en/hugo-pipes/introduction.md b/content/en/hugo-pipes/introduction.md index c993377f8..0e6430311 100755 --- a/content/en/hugo-pipes/introduction.md +++ b/content/en/hugo-pipes/introduction.md @@ -62,7 +62,7 @@ Hugo publishes assets to the `publishDir` (typically `public`) when you invoke ` For improved readability, the Hugo Pipes examples of this documentation will be written using [Go Pipes](/templates/introduction/#pipes): ```go-html-template -{{ $style := resources.Get "sass/main.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint }} +{{ $style := resources.Get "sass/main.scss" | css.Sass | resources.Minify | resources.Fingerprint }} ``` diff --git a/content/en/hugo-pipes/postcss.md b/content/en/hugo-pipes/postcss.md index 148b30a7e..8ca983f7e 100755 --- a/content/en/hugo-pipes/postcss.md +++ b/content/en/hugo-pipes/postcss.md @@ -12,7 +12,7 @@ toc: true action: aliases: [postCSS] returnType: resource.Resource - signatures: ['resources.PostCSS [OPTIONS] RESOURCE'] + signatures: ['css.PostCSS [OPTIONS] RESOURCE'] --- ## Setup @@ -50,7 +50,7 @@ Step 4 : Place your CSS file within the `assets` directory. Step 5 -: Capture the CSS file as a resource and pipe it through `resources.PostCSS` (alias `postCSS`): +: Capture the CSS file as a resource and pipe it through `css.PostCSS` (alias `postCSS`): {{< code file=layouts/partials/css.html >}} {{ with resources.Get "css/main.css" | postCSS }} @@ -68,7 +68,7 @@ If starting with a Sass file within the `assets` directory: ## Options -The `resources.PostCSS` method takes an optional map of options. +The `css.PostCSS` method takes an optional map of options. config : (`string`) The directory that contains the PostCSS configuration file. Default is the root of the project directory. @@ -82,8 +82,8 @@ URL imports (e.g. `@import url('https://fonts.googleapis.com/css?family=Open+San Note that this import routine does not care about the CSS spec, so you can have @import anywhere in the file. Hugo will look for imports relative to the module mount and will respect theme overrides. -skipInlineImportsNotFound {{< new-in 0.99.0 >}} -: (`bool`) Default is `false`. Before Hugo 0.99.0 when `inlineImports` was enabled and we failed to resolve an import, we logged it as a warning. We now fail the build. If you have regular CSS imports in your CSS that you want to preserve, you can either use imports with URL or media queries (Hugo does not try to resolve those) or set `skipInlineImportsNotFound` to true. +skipInlineImportsNotFound +: (`bool`) Default is `false`. If you have regular CSS imports in your CSS that you want to preserve, you can either use imports with URL or media queries (Hugo does not try to resolve those) or set `skipInlineImportsNotFound` to true. {{< code file=layouts/partials/css.html >}} {{ $opts := dict "config" "config-directory" "noMap" true }} diff --git a/content/en/hugo-pipes/postprocess.md b/content/en/hugo-pipes/postprocess.md index e84c6d72d..cf99049fe 100755 --- a/content/en/hugo-pipes/postprocess.md +++ b/content/en/hugo-pipes/postprocess.md @@ -27,7 +27,7 @@ There are currently two limitations to this: ```go-html-template {{ $css := resources.Get "css/main.css" }} - {{ $css = $css | resources.PostCSS | minify | fingerprint | resources.PostProcess }} + {{ $css = $css | css.PostCSS | minify | fingerprint | resources.PostProcess }} {{ $css.RelPermalink | upper }} ``` @@ -70,7 +70,7 @@ Note that in the example above, the "CSS purge step" will only be applied to the ```go-html-template {{ $css := resources.Get "css/main.css" }} -{{ $css = $css | resources.PostCSS }} +{{ $css = $css | css.PostCSS }} {{ if hugo.IsProduction }} {{ $css = $css | minify | fingerprint | resources.PostProcess }} {{ end }} diff --git a/content/en/hugo-pipes/resource-from-template.md b/content/en/hugo-pipes/resource-from-template.md index 1627fa7d4..0c81f0c00 100755 --- a/content/en/hugo-pipes/resource-from-template.md +++ b/content/en/hugo-pipes/resource-from-template.md @@ -34,5 +34,5 @@ body{ ```go-html-template {{ $sassTemplate := resources.Get "sass/template.scss" }} -{{ $style := $sassTemplate | resources.ExecuteAsTemplate "main.scss" . | resources.ToCSS }} +{{ $style := $sassTemplate | resources.ExecuteAsTemplate "main.scss" . | css.Sass }} ``` diff --git a/content/en/hugo-pipes/transpile-sass-to-css.md b/content/en/hugo-pipes/transpile-sass-to-css.md index ba5c39966..ee4b1295d 100644 --- a/content/en/hugo-pipes/transpile-sass-to-css.md +++ b/content/en/hugo-pipes/transpile-sass-to-css.md @@ -13,7 +13,7 @@ weight: 30 action: aliases: [toCSS] returnType: resource.Resource - signatures: ['resources.ToCSS [OPTIONS] RESOURCE'] + signatures: ['css.Sass [OPTIONS] RESOURCE'] toc: true aliases: [/hugo-pipes/transform-to-css/] --- @@ -73,7 +73,7 @@ includePaths "transpiler" "dartsass" "targetPath" "css/style.css" "vars" site.Params.styles - "enableSourceMap" (not hugo.IsProduction) + "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules/bootstrap/scss") }} {{ with resources.Get "sass/main.scss" | toCSS $opts | minify | fingerprint }} @@ -136,8 +136,8 @@ To install Dart Sass for your builds on GitLab Pages, the `.gitlab-ci.yml` file ```yaml variables: - HUGO_VERSION: 0.126.0 - DART_SASS_VERSION: 1.77.1 + HUGO_VERSION: 0.128.0 + DART_SASS_VERSION: 1.77.5 GIT_DEPTH: 0 GIT_STRATEGY: clone GIT_SUBMODULE_STRATEGY: recursive @@ -170,8 +170,8 @@ To install Dart Sass for your builds on Netlify, the `netlify.toml` file should ```toml [build.environment] -HUGO_VERSION = "0.122.2" -DART_SASS_VERSION = "1.77.1" +HUGO_VERSION = "0.128.0" +DART_SASS_VERSION = "1.77.5" TZ = "America/Los_Angeles" [build] @@ -187,7 +187,7 @@ command = """\ ### Example -To transpile with Dart Sass, set `transpiler` to `dartsass` in the options map passed to `resources.ToCSS`. For example: +To transpile with Dart Sass, set `transpiler` to `dartsass` in the options map passed to `css.Sass`. For example: ```go-html-template {{ $opts := dict "transpiler" "dartsass" "targetPath" "css/style.css" }} diff --git a/content/en/methods/menu-entry/Menu.md b/content/en/methods/menu-entry/Menu.md index 63f148c1a..79b400f1f 100644 --- a/content/en/methods/menu-entry/Menu.md +++ b/content/en/methods/menu-entry/Menu.md @@ -21,4 +21,4 @@ Use this method with the [`IsMenuCurrent`] and [`HasMenuCurrent`] methods on a ` [`HasMenuCurrent`]: /methods/page/hasmenucurrent/ [`IsMenuCurrent`]: /methods/page/ismenucurrent/ -[this example]: /templates/menu-templates/#example +[this example]: /templates/menu/#example diff --git a/content/en/methods/menu-entry/Page.md b/content/en/methods/menu-entry/Page.md index bd8c1625e..d177a1af0 100644 --- a/content/en/methods/menu-entry/Page.md +++ b/content/en/methods/menu-entry/Page.md @@ -49,5 +49,5 @@ See the [menu templates] section for more information. [`LinkTitle`]: /methods/page/linktitle/ [`RelPermalink`]: /methods/page/relpermalink/ [define menu entries]: /content-management/menus/ -[menu templates]: /templates/menu-templates/#page-references +[menu templates]: /templates/menu/#page-references [methods]: /methods/page/ diff --git a/content/en/methods/menu-entry/Params.md b/content/en/methods/menu-entry/Params.md index 8af3f0637..5c1d3c2d0 100644 --- a/content/en/methods/menu-entry/Params.md +++ b/content/en/methods/menu-entry/Params.md @@ -57,6 +57,6 @@ Hugo renders: See the [menu templates] section for more information. -[menu templates]: /templates/menu-templates/#menu-entry-parameters +[menu templates]: /templates/menu/#menu-entry-parameters [in front matter]: /content-management/menus/#define-in-front-matter [in site configuration]: /content-management/menus/ diff --git a/content/en/methods/page/Data.md b/content/en/methods/page/Data.md index aea1042d4..b8259ffa8 100644 --- a/content/en/methods/page/Data.md +++ b/content/en/methods/page/Data.md @@ -65,14 +65,14 @@ Plural ``` Terms -: (`page.Taxonomy`) Returns the taxonomy object, consisting of a map of terms and the [weighted pages] associated with each term. +: (`page.Taxonomy`) Returns the `Taxonomy` object, consisting of a map of terms and the [weighted pages] associated with each term. ```go-html-template {{ $taxonomyObject := .Data.Terms }} ``` {{% note %}} -Once you have captured the taxonomy object, use any of the [taxonomy methods] to sort, count, or capture a subset of its weighted pages. +Once you have captured the `Taxonomy` object, use any of the [taxonomy methods] to sort, count, or capture a subset of its weighted pages. [taxonomy methods]: /methods/taxonomy/ {{% /note %}} @@ -106,6 +106,6 @@ Term Learn more about [term templates]. -[taxonomy templates]: /templates/taxonomy-templates/ -[term templates]: /templates/taxonomy-templates/ +[taxonomy templates]: /templates/types/#taxonomy +[term templates]: /templates/types/#term [weighted pages]: /getting-started/glossary/#weighted-page diff --git a/content/en/methods/page/Eq.md b/content/en/methods/page/Eq.md index 1be416295..99a9fc50f 100644 --- a/content/en/methods/page/Eq.md +++ b/content/en/methods/page/Eq.md @@ -9,7 +9,7 @@ action: signatures: [PAGE1.Eq PAGE2] --- -In this contrived example from a single page template, we list all pages in the current section except for the current page. +In this contrived example from a single template, we list all pages in the current section except for the current page. ```go-html-template {{ $currentPage := . }} diff --git a/content/en/methods/page/GetPage.md b/content/en/methods/page/GetPage.md index 9b4ced345..3d8a9a89b 100644 --- a/content/en/methods/page/GetPage.md +++ b/content/en/methods/page/GetPage.md @@ -36,9 +36,9 @@ content/ └── _index.md ``` -The examples below depict the result of rendering works/paintings/the-mona-lisa.md with a single page template: +The examples below depict the result of rendering works/paintings/the-mona-lisa.md: -```go-html-template +{{< code file=layouts/works/single.html >}} {{ with .GetPage "starry-night" }} {{ .Title }} → Starry Night {{ end }} @@ -62,4 +62,4 @@ The examples below depict the result of rendering works/paintings/the-mona-lisa. {{ with .GetPage "/works/sculptures/david" }} {{ .Title }} → David {{ end }} -``` +{{< /code >}} diff --git a/content/en/methods/page/GitInfo.md b/content/en/methods/page/GitInfo.md index 9dba2a2b2..c54a77371 100644 --- a/content/en/methods/page/GitInfo.md +++ b/content/en/methods/page/GitInfo.md @@ -113,6 +113,16 @@ This is configurable. See [details]. {{ end }} ``` +###### Body + +(`string`) The commit message body. + +```go-html-template +{{ with .GitInfo }} + {{ .Body }} → - Two new pages added. +{{ end }} +``` + ## Last modified date By default, when `enableGitInfo` is `true`, the `Lastmod` method on a `Page` object returns the Git AuthorDate of the last commit that included the file. diff --git a/content/en/methods/page/HasMenuCurrent.md b/content/en/methods/page/HasMenuCurrent.md index 68b645905..a092f22c0 100644 --- a/content/en/methods/page/HasMenuCurrent.md +++ b/content/en/methods/page/HasMenuCurrent.md @@ -1,6 +1,6 @@ --- title: HasMenuCurrent -description: Reports whether the given page object matches the page object associated with one of the child menu entries under the given menu entry in the given menu. +description: Reports whether the given Page object matches the Page object associated with one of the child menu entries under the given menu entry in the given menu. categories: [] keywords: [] action: @@ -11,7 +11,7 @@ action: aliases: [/functions/hasmenucurrent] --- -If the page object associated with the menu entry is a section, this method also returns `true` for any descendant of that section. +If the `Page` object associated with the menu entry is a section, this method also returns `true` for any descendant of that section. ```go-html-template {{ $currentPage := . }} @@ -28,4 +28,4 @@ If the page object associated with the menu entry is a section, this method also See [menu templates] for a complete example. -[menu templates]: /templates/menu-templates/#example +[menu templates]: /templates/menu/#example diff --git a/content/en/methods/page/InSection.md b/content/en/methods/page/InSection.md index 41ce918f3..b3124b3f5 100644 --- a/content/en/methods/page/InSection.md +++ b/content/en/methods/page/InSection.md @@ -17,7 +17,7 @@ action: toc: true --- -The `InSection` method on a page object reports whether the given page is in the given section. Note that the method returns `true` when comparing a page to a sibling. +The `InSection` method on a `Page` object reports whether the given page is in the given section. Note that the method returns `true` when comparing a page to a sibling. {{% include "methods/page/_common/definition-of-section.md" %}} diff --git a/content/en/methods/page/IsMenuCurrent.md b/content/en/methods/page/IsMenuCurrent.md index 61283fd8b..8a939b1a1 100644 --- a/content/en/methods/page/IsMenuCurrent.md +++ b/content/en/methods/page/IsMenuCurrent.md @@ -1,6 +1,6 @@ --- title: IsMenuCurrent -description: Reports whether the given page object matches the page object associated with the given menu entry in the given menu. +description: Reports whether the given Page object matches the Page object associated with the given menu entry in the given menu. categories: [] keywords: [] action: @@ -26,4 +26,4 @@ aliases: [/functions/ismenucurrent] See [menu templates] for a complete example. -[menu templates]: /templates/menu-templates/#example +[menu templates]: /templates/menu/#example diff --git a/content/en/methods/page/Paginate.md b/content/en/methods/page/Paginate.md index 6b43b99dd..d9acb6b93 100644 --- a/content/en/methods/page/Paginate.md +++ b/content/en/methods/page/Paginate.md @@ -12,7 +12,9 @@ action: [Pagination] is the process of splitting a list page into two or more pagers, where each pager contains a subset of the page collection and navigation links to other pagers. -By default, the number of elements on each pager is determined by the value of the `paginate` setting in your site configuration. The default value is `10`. Override the value in your site configuration by providing a second argument, an integer, when calling the `Paginate` method. +By default, the number of elements on each pager is determined by your [site configuration]. The default is `10`. Override that value by providing a second argument, an integer, when calling the `Paginate` method. + +[site configuration]: /getting-started/configuration/#pagination {{% note %}} There is also a `Paginator` method on `Page` objects, but it can neither filter nor sort the page collection. @@ -20,7 +22,12 @@ There is also a `Paginator` method on `Page` objects, but it can neither filter The `Paginate` method is more flexible. {{% /note %}} -You can invoke pagination on the home page template, [`section`] templates, [`taxonomy`] templates, and [`term`] templates. +You can invoke pagination on the [home template], [section templates], [taxonomy templates], and [term templates]. + +[home template]: /templates/types/#home +[section templates]: /templates/types/#section +[taxonomy templates]: /templates/types/#taxonomy +[term templates]: /templates/types/#term {{< code file=layouts/_default/list.html >}} {{ $pages := where .Site.RegularPages "Section" "articles" }} @@ -37,14 +44,8 @@ In the example above, we: 2. Sort the collection by title 3. Paginate the collection, with 7 elements per pager 4. Range over the paginated page collection, rendering a link to each page -5. Call the internal "pagination" template to create the navigation links between pagers. +5. Call the embedded pagination template to create navigation links between pagers {{% note %}} Please note that the results of pagination are cached. Once you have invoked either the `Paginator` or `Paginate` method, the paginated collection is immutable. Additional invocations of these methods will have no effect. {{% /note %}} - -[context]: /getting-started/glossary/#context -[pagination]: /templates/pagination/ -[`section`]: /getting-started/glossary/#section -[`taxonomy`]: /getting-started/glossary/#taxonomy -[`term`]: /getting-started/glossary/#term diff --git a/content/en/methods/page/Paginator.md b/content/en/methods/page/Paginator.md index b411e6ec0..f57e2437e 100644 --- a/content/en/methods/page/Paginator.md +++ b/content/en/methods/page/Paginator.md @@ -10,9 +10,19 @@ action: signatures: [PAGE.Paginator] --- -[Pagination] is the process of splitting a list page into two or more pagers, where each pager contains a subset of the page collection and navigation links to other pagers. The number of elements on each pager is determined by the value of the `paginate` setting in your site configuration. The default value is `10`. +[Pagination] is the process of splitting a list page into two or more pagers, where each pager contains a subset of the page collection and navigation links to other pagers. -You can invoke pagination on the home page template, [`section`] templates, [`taxonomy`] templates, and [`term`] templates. Each of these receive a collection of regular pages in [context]. When you invoke the `Paginator` method, it paginates the page collection received in context. +The number of elements on each pager is determined by your [site configuration]. The default is `10`. + +[site configuration]: /getting-started/configuration/#pagination + +You can invoke pagination on the [home template], [section templates], [taxonomy templates], and [term templates]. Each of these receives a collection of regular pages in [context]. When you invoke the `Paginator` method, it paginates the page collection received in context. + +[home template]: /templates/types/#home +[section templates]: /templates/types/#section +[taxonomy templates]: /templates/types/#taxonomy +[term templates]: /templates/types/#term +[context]: /getting-started/glossary/#context {{< code file=layouts/_default/list.html >}} {{ range .Paginator.Pages }} @@ -21,7 +31,7 @@ You can invoke pagination on the home page template, [`section`] templates, [`ta {{ template "_internal/pagination.html" . }} {{< /code >}} -In the example above, the internal "pagination" template creates the navigation links between pagers. +In the example above, the embedded pagination template creates navigation links between pagers. {{% note %}} Although simple to invoke, with the `Paginator` method you can neither filter nor sort the page collection. It acts upon the page collection received in context. @@ -34,9 +44,3 @@ The [`Paginate`] method is more flexible, and strongly recommended. {{% note %}} Please note that the results of pagination are cached. Once you have invoked either the `Paginator` or `Paginate` method, the paginated collection is immutable. Additional invocations of these methods will have no effect. {{% /note %}} - -[context]: /getting-started/glossary/#context -[pagination]: /templates/pagination/ -[`section`]: /getting-started/glossary/#section -[`taxonomy`]: /getting-started/glossary/#taxonomy -[`term`]: /getting-started/glossary/#term diff --git a/content/en/methods/page/Render.md b/content/en/methods/page/Render.md index 9a70d2bed..66aa6be7b 100644 --- a/content/en/methods/page/Render.md +++ b/content/en/methods/page/Render.md @@ -70,6 +70,6 @@ layouts/_default/li.html See [content views] for more examples. -[content views]: /templates/views/ +[content views]: /templates/content-view/ [`partial`]: /functions/partials/include/ [content type]: /getting-started/glossary/#content-type diff --git a/content/en/methods/page/Sitemap.md b/content/en/methods/page/Sitemap.md index d6159267d..3277520fb 100644 --- a/content/en/methods/page/Sitemap.md +++ b/content/en/methods/page/Sitemap.md @@ -74,4 +74,4 @@ And this simplistic sitemap template: The change frequency will be `hourly` for the news page, and `monthly` for other pages. -[sitemap templates]: /templates/sitemap-template/ +[sitemap templates]: /templates/sitemap/ diff --git a/content/en/methods/page/_index.md b/content/en/methods/page/_index.md index 278541c5a..6dfaad9ae 100644 --- a/content/en/methods/page/_index.md +++ b/content/en/methods/page/_index.md @@ -7,6 +7,7 @@ keywords: [] menu: docs: parent: methods +aliases: [/variables/page/] --- Use these methods with a Page object. diff --git a/content/en/methods/pager/PageSize.md b/content/en/methods/pager/PageSize.md index a400f929a..148ad5907 100644 --- a/content/en/methods/pager/PageSize.md +++ b/content/en/methods/pager/PageSize.md @@ -1,6 +1,6 @@ --- title: PageSize -description: Returns the maximum number of pages per pager. +description: Returns the number of pages per pager. categories: [] keywords: [] action: @@ -8,8 +8,20 @@ action: - methods/page/Paginate returnType: int signatures: [PAGER.PageSize] +expiryDate: 2025-06-09 # deprecated 2024-06-09 --- +{{% deprecated-in 0.128.0 %}} +Use [`PAGER.PagerSize`] instead. + +[`PAGER.PagerSize`]: /methods/pager/pagersize/ +{{% /deprecated-in %}} + +The number of pages per pager is determined by the optional second argument passed to the [`Paginate`] method, falling back to the `pagerSize` as defined in your [site configuration]. + +[`Paginate`]: /methods/page/paginate/ +[site configuration]: /templates/pagination/#configuration + ```go-html-template {{ $pages := where site.RegularPages "Type" "posts" }} {{ $paginator := .Paginate $pages }} diff --git a/content/en/methods/pager/PagerSize.md b/content/en/methods/pager/PagerSize.md new file mode 100644 index 000000000..623548398 --- /dev/null +++ b/content/en/methods/pager/PagerSize.md @@ -0,0 +1,31 @@ +--- +title: PagerSize +description: Returns the number of pages per pager. +categories: [] +keywords: [] +action: + related: + - methods/page/Paginate + returnType: int + signatures: [PAGER.PagerSize] +--- + +{{< new-in 0.128.0 >}} + +The number of pages per pager is determined by the optional second argument passed to the [`Paginate`] method, falling back to the `pagerSize` as defined in your [site configuration]. + +[`Paginate`]: /methods/page/paginate/ +[site configuration]: /templates/pagination/#configuration + +```go-html-template +{{ $pages := where site.RegularPages "Type" "posts" }} +{{ $paginator := .Paginate $pages }} + +{{ range $paginator.Pages }} +

{{ .LinkTitle }}

+{{ end }} + +{{ with $paginator }} + {{ .PagerSize }} +{{ end }} +``` diff --git a/content/en/methods/resource/Exif.md b/content/en/methods/resource/Exif.md index 1d00ef3bc..a8e5a42aa 100644 --- a/content/en/methods/resource/Exif.md +++ b/content/en/methods/resource/Exif.md @@ -1,6 +1,6 @@ --- title: Exif -description: Applicable to JPEG and TIFF images, returns an EXIF object containing image metadata. +description: Applicable to JPEG, PNG, TIFF, and WebP images, returns an EXIF object containing image metadata. categories: [] keywords: [] action: @@ -10,7 +10,7 @@ action: toc: true --- -Applicable to JPEG and TIFF images, the `Exif` method on an image `Resource` object returns an [EXIF] object containing image metadata. +Applicable to JPEG, PNG, TIFF, and WebP images, the `Exif` method on an image `Resource` object returns an [EXIF] object containing image metadata. ## Methods diff --git a/content/en/methods/site/GetPage.md b/content/en/methods/site/GetPage.md index 3505e582a..2a972e2af 100644 --- a/content/en/methods/site/GetPage.md +++ b/content/en/methods/site/GetPage.md @@ -36,7 +36,7 @@ content/ └── _index.md ``` -This home page template: +This home template: ```go-html-template {{ with .Site.GetPage "/works/paintings" }} @@ -96,7 +96,7 @@ content/ └── _index.md ``` -In the home page template, use the `GetPage` method on a `Site` object to render all the images in the headless [page bundle]: +In the home template, use the `GetPage` method on a `Site` object to render all the images in the headless [page bundle]: ```go-html-template {{ with .Site.GetPage "/headless" }} diff --git a/content/en/methods/site/IsMultiLingual.md b/content/en/methods/site/IsMultiLingual.md index a14283787..7ec938812 100644 --- a/content/en/methods/site/IsMultiLingual.md +++ b/content/en/methods/site/IsMultiLingual.md @@ -7,6 +7,7 @@ action: related: [] returnType: bool signatures: [SITE.IsMultiLingual] +expiryDate: 2025-03-16 # deprecated 2024-03-16 --- {{% deprecated-in 0.124.0 %}} diff --git a/content/en/methods/site/LastChange.md b/content/en/methods/site/LastChange.md index 2a8c3e491..65925c0eb 100644 --- a/content/en/methods/site/LastChange.md +++ b/content/en/methods/site/LastChange.md @@ -7,6 +7,7 @@ action: related: [] returnType: time.Time signatures: [SITE.LastChange] +expiryDate: 2025-02-19 # deprecated 2024-02-19 --- {{% deprecated-in 0.123.0 %}} diff --git a/content/en/methods/site/MainSections.md b/content/en/methods/site/MainSections.md index 251fe1a97..aa6e84bda 100644 --- a/content/en/methods/site/MainSections.md +++ b/content/en/methods/site/MainSections.md @@ -46,7 +46,7 @@ Template: When creating a theme, instead of hardcoding section names when listing the most relevant pages on the front page, instruct site authors to set `params.mainSections` in their site configuration. -Then your home page template can do something like this: +Then your home template can do something like this: ```go-html-template {{ range where .Site.RegularPages "Section" "in" .Site.MainSections }} diff --git a/content/en/methods/site/Menus.md b/content/en/methods/site/Menus.md index 98ce4e879..e51980c2e 100644 --- a/content/en/methods/site/Menus.md +++ b/content/en/methods/site/Menus.md @@ -88,7 +88,7 @@ You will typically render a menu using a partial template. As the active menu en The example above is simplistic. Please see the [menu templates] section for more information. -[menu templates]: /templates/menu-templates/ +[menu templates]: /templates/menu/ [`partial`]: /functions/partials/include/ [`partialCached`]: /functions/partials/includecached/ diff --git a/content/en/methods/site/RegularPages.md b/content/en/methods/site/RegularPages.md index b163ad919..4488c5cfb 100644 --- a/content/en/methods/site/RegularPages.md +++ b/content/en/methods/site/RegularPages.md @@ -12,6 +12,10 @@ action: signatures: [SITE.RegularPages] --- +The `RegularPages` method on a `Site` object returns a collection of all [regular pages]. + +[regular pages]: /getting-started/glossary/#regular-page + ```go-html-template {{ range .Site.RegularPages }}

{{ .LinkTitle }}

diff --git a/content/en/methods/site/Taxonomies.md b/content/en/methods/site/Taxonomies.md index 219fe188b..d23a0908f 100644 --- a/content/en/methods/site/Taxonomies.md +++ b/content/en/methods/site/Taxonomies.md @@ -1,6 +1,6 @@ --- title: Taxonomies -description: Returns a data structure containing the site's taxonomy objects, the terms within each taxonomy object, and the pages to which the terms are assigned. +description: Returns a data structure containing the site's Taxonomy objects, the terms within each Taxonomy object, and the pages to which the terms are assigned. categories: [] keywords: [] action: @@ -9,6 +9,13 @@ action: signatures: [SITE.Taxonomies] --- + + Conceptually, the `Taxonomies` method on a `Site` object returns a data structure such as: {{< code-toggle >}} @@ -97,3 +104,82 @@ Please see the [taxonomies] section for a complete explanation and examples. [taxonomies]: /content-management/taxonomies/ {{% /note %}} + +## Examples + +### List content with the same taxonomy term + +If you are using a taxonomy for something like a series of posts, you can list individual pages associated with the same term. For example: + +```go-html-template + +``` + +### List all content in a given taxonomy + +This would be very useful in a sidebar as “featured content”. You could even have different sections of “featured content” by assigning different terms to the content. + +```go-html-template + +``` + +### Render a site's taxonomies + +The following example displays all terms in a site's tags taxonomy: + +```go-html-template + +``` +This example will list all taxonomies and their terms, as well as all the content assigned to each of the terms. + +{{< code file=layouts/partials/all-taxonomies.html >}} +{{ with .Site.Taxonomies }} + {{ $numberOfTerms := 0 }} + {{ range $taxonomy, $terms := . }} + {{ $numberOfTerms = len . | add $numberOfTerms }} + {{ end }} + + {{ if gt $numberOfTerms 0 }} + + {{ end }} +{{ end }} +{{< /code >}} diff --git a/content/en/methods/site/_index.md b/content/en/methods/site/_index.md index 39f66f308..bf322ee07 100644 --- a/content/en/methods/site/_index.md +++ b/content/en/methods/site/_index.md @@ -7,6 +7,7 @@ keywords: [] menu: docs: parent: methods +aliases: [/variables/site/] --- Use these methods with Site objects. A multilingual project will have two or more sites, one for each language. diff --git a/content/en/methods/taxonomy/_common/get-a-taxonomy-object.md b/content/en/methods/taxonomy/_common/get-a-taxonomy-object.md index 6bf86cd85..ef78c8eae 100644 --- a/content/en/methods/taxonomy/_common/get-a-taxonomy-object.md +++ b/content/en/methods/taxonomy/_common/get-a-taxonomy-object.md @@ -4,7 +4,7 @@ Before we can use a `Taxonomy` method, we need to capture a `Taxonomy` object. -## Capture a taxonomy object +## Capture a Taxonomy object Consider this site configuration: @@ -26,13 +26,13 @@ content/ └── _index.md ``` -To capture the "genres" taxonomy object from within any template, use the [`Taxonomies`] method on a `Site` object. +To capture the "genres" `Taxonomy` object from within any template, use the [`Taxonomies`] method on a `Site` object. ```go-html-template {{ $taxonomyObject := .Site.Taxonomies.genres }} ``` -To capture the "genres" taxonomy object when rendering its page with a taxonomy template, use the [`Terms`] method on the page's [`Data`] object: +To capture the "genres" `Taxonomy` object when rendering its page with a taxonomy template, use the [`Terms`] method on the page's [`Data`] object: {{< code file=layouts/_default/taxonomy.html >}} {{ $taxonomyObject := .Data.Terms }} diff --git a/content/en/methods/taxonomy/_index.md b/content/en/methods/taxonomy/_index.md index e7eb57834..18c7f12c9 100644 --- a/content/en/methods/taxonomy/_index.md +++ b/content/en/methods/taxonomy/_index.md @@ -7,6 +7,7 @@ menu: docs: identifier: parent: methods +aliases: [/variables/taxonomy/] --- Use these methods with Taxonomy objects. diff --git a/content/en/quick-reference/emojis.md b/content/en/quick-reference/emojis.md index 8ae01098b..4c31c5d76 100644 --- a/content/en/quick-reference/emojis.md +++ b/content/en/quick-reference/emojis.md @@ -11,6 +11,19 @@ weight: 20 toc: true --- +## Attribution + +This quick reference guide was generated using the [ikatyang/emoji-cheat-sheet] project which reads from the [GitHub Emoji API] and the [Unicode Full Emoji List]. + +Note that GitHub [custom emoji] are not supported. + +[custom emoji]: #github-custom-emoji +[github emoji api]: https://api.github.com/emojis +[ikatyang/emoji-cheat-sheet]: https://github.com/ikatyang/emoji-cheat-sheet/ +[unicode full emoji list]: https://unicode.org/emoji/charts/full-emoji-list.html + +## Usage + Configure Hugo to enable emoji processing in Markdown: {{< code-toggle file=hugo >}} @@ -40,17 +53,33 @@ To process an emoji shortcode from within a template, use the [`emojify`] functi [`emojify`]: /functions/transform/emojify/ [`RenderString`]: /methods/page/renderstring/ -## Introduction + + +## Table of Contents + +- [Smileys & Emotion](#smileys--emotion) +- [People & Body](#people--body) +- [Animals & Nature](#animals--nature) +- [Food & Drink](#food--drink) +- [Travel & Places](#travel--places) +- [Activities](#activities) +- [Objects](#objects) +- [Symbols](#symbols) +- [Flags](#flags) +- [GitHub Custom Emoji](#github-custom-emoji) ## Smileys & Emotion @@ -75,162 +104,168 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :grinning: | `:grinning:` | :smiley: | `:smiley:` | [top](#introduction) | -| [top](#introduction) | :smile: | `:smile:` | :grin: | `:grin:` | [top](#introduction) | -| [top](#introduction) | :laughing: | `:laughing:` `:satisfied:` | :sweat_smile: | `:sweat_smile:` | [top](#introduction) | -| [top](#introduction) | :rofl: | `:rofl:` | :joy: | `:joy:` | [top](#introduction) | -| [top](#introduction) | :slightly_smiling_face: | `:slightly_smiling_face:` | :upside_down_face: | `:upside_down_face:` | [top](#introduction) | -| [top](#introduction) | :wink: | `:wink:` | :blush: | `:blush:` | [top](#introduction) | -| [top](#introduction) | :innocent: | `:innocent:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :grinning: | `:grinning:` | :smiley: | `:smiley:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :smile: | `:smile:` | :grin: | `:grin:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :laughing: | `:laughing:`
`:satisfied:` | :sweat_smile: | `:sweat_smile:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :rofl: | `:rofl:` | :joy: | `:joy:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :slightly_smiling_face: | `:slightly_smiling_face:` | :upside_down_face: | `:upside_down_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :melting_face: | `:melting_face:` | :wink: | `:wink:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :blush: | `:blush:` | :innocent: | `:innocent:` | [top](#table-of-contents) | ### Face Affection | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :smiling_face_with_three_hearts: | `:smiling_face_with_three_hearts:` | :heart_eyes: | `:heart_eyes:` | [top](#introduction) | -| [top](#introduction) | :star_struck: | `:star_struck:` | :kissing_heart: | `:kissing_heart:` | [top](#introduction) | -| [top](#introduction) | :kissing: | `:kissing:` | :relaxed: | `:relaxed:` | [top](#introduction) | -| [top](#introduction) | :kissing_closed_eyes: | `:kissing_closed_eyes:` | :kissing_smiling_eyes: | `:kissing_smiling_eyes:` | [top](#introduction) | -| [top](#introduction) | :smiling_face_with_tear: | `:smiling_face_with_tear:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :smiling_face_with_three_hearts: | `:smiling_face_with_three_hearts:` | :heart_eyes: | `:heart_eyes:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :star_struck: | `:star_struck:` | :kissing_heart: | `:kissing_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :kissing: | `:kissing:` | :relaxed: | `:relaxed:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :kissing_closed_eyes: | `:kissing_closed_eyes:` | :kissing_smiling_eyes: | `:kissing_smiling_eyes:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :smiling_face_with_tear: | `:smiling_face_with_tear:` | | | [top](#table-of-contents) | ### Face Tongue | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :yum: | `:yum:` | :stuck_out_tongue: | `:stuck_out_tongue:` | [top](#introduction) | -| [top](#introduction) | :stuck_out_tongue_winking_eye: | `:stuck_out_tongue_winking_eye:` | :zany_face: | `:zany_face:` | [top](#introduction) | -| [top](#introduction) | :stuck_out_tongue_closed_eyes: | `:stuck_out_tongue_closed_eyes:` | :money_mouth_face: | `:money_mouth_face:` | [top](#introduction) | +| [top](#smileys--emotion) | :yum: | `:yum:` | :stuck_out_tongue: | `:stuck_out_tongue:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :stuck_out_tongue_winking_eye: | `:stuck_out_tongue_winking_eye:` | :zany_face: | `:zany_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :stuck_out_tongue_closed_eyes: | `:stuck_out_tongue_closed_eyes:` | :money_mouth_face: | `:money_mouth_face:` | [top](#table-of-contents) | ### Face Hand | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :hugs: | `:hugs:` | :hand_over_mouth: | `:hand_over_mouth:` | [top](#introduction) | -| [top](#introduction) | :shushing_face: | `:shushing_face:` | :thinking: | `:thinking:` | [top](#introduction) | +| [top](#smileys--emotion) | :hugs: | `:hugs:` | :hand_over_mouth: | `:hand_over_mouth:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :face_with_open_eyes_and_hand_over_mouth: | `:face_with_open_eyes_and_hand_over_mouth:` | :face_with_peeking_eye: | `:face_with_peeking_eye:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :shushing_face: | `:shushing_face:` | :thinking: | `:thinking:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :saluting_face: | `:saluting_face:` | | | [top](#table-of-contents) | ### Face Neutral Skeptical | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :zipper_mouth_face: | `:zipper_mouth_face:` | :raised_eyebrow: | `:raised_eyebrow:` | [top](#introduction) | -| [top](#introduction) | :neutral_face: | `:neutral_face:` | :expressionless: | `:expressionless:` | [top](#introduction) | -| [top](#introduction) | :no_mouth: | `:no_mouth:` | :face_in_clouds: | `:face_in_clouds:` | [top](#introduction) | -| [top](#introduction) | :smirk: | `:smirk:` | :unamused: | `:unamused:` | [top](#introduction) | -| [top](#introduction) | :roll_eyes: | `:roll_eyes:` | :grimacing: | `:grimacing:` | [top](#introduction) | -| [top](#introduction) | :face_exhaling: | `:face_exhaling:` | :lying_face: | `:lying_face:` | [top](#introduction) | +| [top](#smileys--emotion) | :zipper_mouth_face: | `:zipper_mouth_face:` | :raised_eyebrow: | `:raised_eyebrow:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :neutral_face: | `:neutral_face:` | :expressionless: | `:expressionless:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :no_mouth: | `:no_mouth:` | :dotted_line_face: | `:dotted_line_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :face_in_clouds: | `:face_in_clouds:` | :smirk: | `:smirk:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :unamused: | `:unamused:` | :roll_eyes: | `:roll_eyes:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :grimacing: | `:grimacing:` | :face_exhaling: | `:face_exhaling:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :lying_face: | `:lying_face:` | :shaking_face: | `:shaking_face:` | [top](#table-of-contents) | ### Face Sleepy | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :relieved: | `:relieved:` | :pensive: | `:pensive:` | [top](#introduction) | -| [top](#introduction) | :sleepy: | `:sleepy:` | :drooling_face: | `:drooling_face:` | [top](#introduction) | -| [top](#introduction) | :sleeping: | `:sleeping:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :relieved: | `:relieved:` | :pensive: | `:pensive:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :sleepy: | `:sleepy:` | :drooling_face: | `:drooling_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :sleeping: | `:sleeping:` | | | [top](#table-of-contents) | ### Face Unwell | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :mask: | `:mask:` | :face_with_thermometer: | `:face_with_thermometer:` | [top](#introduction) | -| [top](#introduction) | :face_with_head_bandage: | `:face_with_head_bandage:` | :nauseated_face: | `:nauseated_face:` | [top](#introduction) | -| [top](#introduction) | :vomiting_face: | `:vomiting_face:` | :sneezing_face: | `:sneezing_face:` | [top](#introduction) | -| [top](#introduction) | :hot_face: | `:hot_face:` | :cold_face: | `:cold_face:` | [top](#introduction) | -| [top](#introduction) | :woozy_face: | `:woozy_face:` | :dizzy_face: | `:dizzy_face:` | [top](#introduction) | -| [top](#introduction) | :face_with_spiral_eyes: | `:face_with_spiral_eyes:` | :exploding_head: | `:exploding_head:` | [top](#introduction) | +| [top](#smileys--emotion) | :mask: | `:mask:` | :face_with_thermometer: | `:face_with_thermometer:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :face_with_head_bandage: | `:face_with_head_bandage:` | :nauseated_face: | `:nauseated_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :vomiting_face: | `:vomiting_face:` | :sneezing_face: | `:sneezing_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :hot_face: | `:hot_face:` | :cold_face: | `:cold_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :woozy_face: | `:woozy_face:` | :dizzy_face: | `:dizzy_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :face_with_spiral_eyes: | `:face_with_spiral_eyes:` | :exploding_head: | `:exploding_head:` | [top](#table-of-contents) | ### Face Hat | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :cowboy_hat_face: | `:cowboy_hat_face:` | :partying_face: | `:partying_face:` | [top](#introduction) | -| [top](#introduction) | :disguised_face: | `:disguised_face:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :cowboy_hat_face: | `:cowboy_hat_face:` | :partying_face: | `:partying_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :disguised_face: | `:disguised_face:` | | | [top](#table-of-contents) | ### Face Glasses | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :sunglasses: | `:sunglasses:` | :nerd_face: | `:nerd_face:` | [top](#introduction) | -| [top](#introduction) | :monocle_face: | `:monocle_face:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :sunglasses: | `:sunglasses:` | :nerd_face: | `:nerd_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :monocle_face: | `:monocle_face:` | | | [top](#table-of-contents) | ### Face Concerned | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :confused: | `:confused:` | :worried: | `:worried:` | [top](#introduction) | -| [top](#introduction) | :slightly_frowning_face: | `:slightly_frowning_face:` | :frowning_face: | `:frowning_face:` | [top](#introduction) | -| [top](#introduction) | :open_mouth: | `:open_mouth:` | :hushed: | `:hushed:` | [top](#introduction) | -| [top](#introduction) | :astonished: | `:astonished:` | :flushed: | `:flushed:` | [top](#introduction) | -| [top](#introduction) | :pleading_face: | `:pleading_face:` | :frowning: | `:frowning:` | [top](#introduction) | -| [top](#introduction) | :anguished: | `:anguished:` | :fearful: | `:fearful:` | [top](#introduction) | -| [top](#introduction) | :cold_sweat: | `:cold_sweat:` | :disappointed_relieved: | `:disappointed_relieved:` | [top](#introduction) | -| [top](#introduction) | :cry: | `:cry:` | :sob: | `:sob:` | [top](#introduction) | -| [top](#introduction) | :scream: | `:scream:` | :confounded: | `:confounded:` | [top](#introduction) | -| [top](#introduction) | :persevere: | `:persevere:` | :disappointed: | `:disappointed:` | [top](#introduction) | -| [top](#introduction) | :sweat: | `:sweat:` | :weary: | `:weary:` | [top](#introduction) | -| [top](#introduction) | :tired_face: | `:tired_face:` | :yawning_face: | `:yawning_face:` | [top](#introduction) | +| [top](#smileys--emotion) | :confused: | `:confused:` | :face_with_diagonal_mouth: | `:face_with_diagonal_mouth:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :worried: | `:worried:` | :slightly_frowning_face: | `:slightly_frowning_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :frowning_face: | `:frowning_face:` | :open_mouth: | `:open_mouth:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :hushed: | `:hushed:` | :astonished: | `:astonished:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :flushed: | `:flushed:` | :pleading_face: | `:pleading_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :face_holding_back_tears: | `:face_holding_back_tears:` | :frowning: | `:frowning:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :anguished: | `:anguished:` | :fearful: | `:fearful:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :cold_sweat: | `:cold_sweat:` | :disappointed_relieved: | `:disappointed_relieved:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :cry: | `:cry:` | :sob: | `:sob:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :scream: | `:scream:` | :confounded: | `:confounded:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :persevere: | `:persevere:` | :disappointed: | `:disappointed:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :sweat: | `:sweat:` | :weary: | `:weary:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :tired_face: | `:tired_face:` | :yawning_face: | `:yawning_face:` | [top](#table-of-contents) | ### Face Negative | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :triumph: | `:triumph:` | :pout: | `:pout:` `:rage:` | [top](#introduction) | -| [top](#introduction) | :angry: | `:angry:` | :cursing_face: | `:cursing_face:` | [top](#introduction) | -| [top](#introduction) | :smiling_imp: | `:smiling_imp:` | :imp: | `:imp:` | [top](#introduction) | -| [top](#introduction) | :skull: | `:skull:` | :skull_and_crossbones: | `:skull_and_crossbones:` | [top](#introduction) | +| [top](#smileys--emotion) | :triumph: | `:triumph:` | :pout: | `:pout:`
`:rage:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :angry: | `:angry:` | :cursing_face: | `:cursing_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :smiling_imp: | `:smiling_imp:` | :imp: | `:imp:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :skull: | `:skull:` | :skull_and_crossbones: | `:skull_and_crossbones:` | [top](#table-of-contents) | ### Face Costume | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :hankey: | `:hankey:` `:poop:` `:shit:` | :clown_face: | `:clown_face:` | [top](#introduction) | -| [top](#introduction) | :japanese_ogre: | `:japanese_ogre:` | :japanese_goblin: | `:japanese_goblin:` | [top](#introduction) | -| [top](#introduction) | :ghost: | `:ghost:` | :alien: | `:alien:` | [top](#introduction) | -| [top](#introduction) | :space_invader: | `:space_invader:` | :robot: | `:robot:` | [top](#introduction) | +| [top](#smileys--emotion) | :hankey: | `:hankey:`
`:poop:`
`:shit:` | :clown_face: | `:clown_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :japanese_ogre: | `:japanese_ogre:` | :japanese_goblin: | `:japanese_goblin:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :ghost: | `:ghost:` | :alien: | `:alien:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :space_invader: | `:space_invader:` | :robot: | `:robot:` | [top](#table-of-contents) | ### Cat Face | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :smiley_cat: | `:smiley_cat:` | :smile_cat: | `:smile_cat:` | [top](#introduction) | -| [top](#introduction) | :joy_cat: | `:joy_cat:` | :heart_eyes_cat: | `:heart_eyes_cat:` | [top](#introduction) | -| [top](#introduction) | :smirk_cat: | `:smirk_cat:` | :kissing_cat: | `:kissing_cat:` | [top](#introduction) | -| [top](#introduction) | :scream_cat: | `:scream_cat:` | :crying_cat_face: | `:crying_cat_face:` | [top](#introduction) | -| [top](#introduction) | :pouting_cat: | `:pouting_cat:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :smiley_cat: | `:smiley_cat:` | :smile_cat: | `:smile_cat:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :joy_cat: | `:joy_cat:` | :heart_eyes_cat: | `:heart_eyes_cat:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :smirk_cat: | `:smirk_cat:` | :kissing_cat: | `:kissing_cat:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :scream_cat: | `:scream_cat:` | :crying_cat_face: | `:crying_cat_face:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :pouting_cat: | `:pouting_cat:` | | | [top](#table-of-contents) | ### Monkey Face | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :see_no_evil: | `:see_no_evil:` | :hear_no_evil: | `:hear_no_evil:` | [top](#introduction) | -| [top](#introduction) | :speak_no_evil: | `:speak_no_evil:` | | | [top](#introduction) | +| [top](#smileys--emotion) | :see_no_evil: | `:see_no_evil:` | :hear_no_evil: | `:hear_no_evil:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :speak_no_evil: | `:speak_no_evil:` | | | [top](#table-of-contents) | ### Heart | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :love_letter: | `:love_letter:` | :cupid: | `:cupid:` | [top](#introduction) | -| [top](#introduction) | :gift_heart: | `:gift_heart:` | :sparkling_heart: | `:sparkling_heart:` | [top](#introduction) | -| [top](#introduction) | :heartpulse: | `:heartpulse:` | :heartbeat: | `:heartbeat:` | [top](#introduction) | -| [top](#introduction) | :revolving_hearts: | `:revolving_hearts:` | :two_hearts: | `:two_hearts:` | [top](#introduction) | -| [top](#introduction) | :heart_decoration: | `:heart_decoration:` | :heavy_heart_exclamation: | `:heavy_heart_exclamation:` | [top](#introduction) | -| [top](#introduction) | :broken_heart: | `:broken_heart:` | :heart_on_fire: | `:heart_on_fire:` | [top](#introduction) | -| [top](#introduction) | :mending_heart: | `:mending_heart:` | :heart: | `:heart:` | [top](#introduction) | -| [top](#introduction) | :orange_heart: | `:orange_heart:` | :yellow_heart: | `:yellow_heart:` | [top](#introduction) | -| [top](#introduction) | :green_heart: | `:green_heart:` | :blue_heart: | `:blue_heart:` | [top](#introduction) | -| [top](#introduction) | :purple_heart: | `:purple_heart:` | :brown_heart: | `:brown_heart:` | [top](#introduction) | -| [top](#introduction) | :black_heart: | `:black_heart:` | :white_heart: | `:white_heart:` | [top](#introduction) | +| [top](#smileys--emotion) | :love_letter: | `:love_letter:` | :cupid: | `:cupid:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :gift_heart: | `:gift_heart:` | :sparkling_heart: | `:sparkling_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :heartpulse: | `:heartpulse:` | :heartbeat: | `:heartbeat:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :revolving_hearts: | `:revolving_hearts:` | :two_hearts: | `:two_hearts:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :heart_decoration: | `:heart_decoration:` | :heavy_heart_exclamation: | `:heavy_heart_exclamation:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :broken_heart: | `:broken_heart:` | :heart_on_fire: | `:heart_on_fire:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :mending_heart: | `:mending_heart:` | :heart: | `:heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :pink_heart: | `:pink_heart:` | :orange_heart: | `:orange_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :yellow_heart: | `:yellow_heart:` | :green_heart: | `:green_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :blue_heart: | `:blue_heart:` | :light_blue_heart: | `:light_blue_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :purple_heart: | `:purple_heart:` | :brown_heart: | `:brown_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :black_heart: | `:black_heart:` | :grey_heart: | `:grey_heart:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :white_heart: | `:white_heart:` | | | [top](#table-of-contents) | ### Emotion | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#introduction) | :kiss: | `:kiss:` | :100: | `:100:` | [top](#introduction) | -| [top](#introduction) | :anger: | `:anger:` | :boom: | `:boom:` `:collision:` | [top](#introduction) | -| [top](#introduction) | :dizzy: | `:dizzy:` | :sweat_drops: | `:sweat_drops:` | [top](#introduction) | -| [top](#introduction) | :dash: | `:dash:` | :hole: | `:hole:` | [top](#introduction) | -| [top](#introduction) | :speech_balloon: | `:speech_balloon:` | :eye_speech_bubble: | `:eye_speech_bubble:` | [top](#introduction) | -| [top](#introduction) | :left_speech_bubble: | `:left_speech_bubble:` | :right_anger_bubble: | `:right_anger_bubble:` | [top](#introduction) | -| [top](#introduction) | :thought_balloon: | `:thought_balloon:` | :zzz: | `:zzz:` | [top](#introduction) | +| [top](#smileys--emotion) | :kiss: | `:kiss:` | :100: | `:100:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :anger: | `:anger:` | :boom: | `:boom:`
`:collision:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :dizzy: | `:dizzy:` | :sweat_drops: | `:sweat_drops:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :dash: | `:dash:` | :hole: | `:hole:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :speech_balloon: | `:speech_balloon:` | :eye_speech_bubble: | `:eye_speech_bubble:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :left_speech_bubble: | `:left_speech_bubble:` | :right_anger_bubble: | `:right_anger_bubble:` | [top](#table-of-contents) | +| [top](#smileys--emotion) | :thought_balloon: | `:thought_balloon:` | :zzz: | `:zzz:` | [top](#table-of-contents) | ## People & Body @@ -255,260 +290,267 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :wave: | `:wave:` | :raised_back_of_hand: | `:raised_back_of_hand:` | [top](#introduction) | -| [top](#people--body) | :raised_hand_with_fingers_splayed: | `:raised_hand_with_fingers_splayed:` | :hand: | `:hand:` `:raised_hand:` | [top](#introduction) | -| [top](#people--body) | :vulcan_salute: | `:vulcan_salute:` | | | [top](#introduction) | +| [top](#people--body) | :wave: | `:wave:` | :raised_back_of_hand: | `:raised_back_of_hand:` | [top](#table-of-contents) | +| [top](#people--body) | :raised_hand_with_fingers_splayed: | `:raised_hand_with_fingers_splayed:` | :hand: | `:hand:`
`:raised_hand:` | [top](#table-of-contents) | +| [top](#people--body) | :vulcan_salute: | `:vulcan_salute:` | :rightwards_hand: | `:rightwards_hand:` | [top](#table-of-contents) | +| [top](#people--body) | :leftwards_hand: | `:leftwards_hand:` | :palm_down_hand: | `:palm_down_hand:` | [top](#table-of-contents) | +| [top](#people--body) | :palm_up_hand: | `:palm_up_hand:` | :leftwards_pushing_hand: | `:leftwards_pushing_hand:` | [top](#table-of-contents) | +| [top](#people--body) | :rightwards_pushing_hand: | `:rightwards_pushing_hand:` | | | [top](#table-of-contents) | ### Hand Fingers Partial | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :ok_hand: | `:ok_hand:` | :pinched_fingers: | `:pinched_fingers:` | [top](#introduction) | -| [top](#people--body) | :pinching_hand: | `:pinching_hand:` | :v: | `:v:` | [top](#introduction) | -| [top](#people--body) | :crossed_fingers: | `:crossed_fingers:` | :love_you_gesture: | `:love_you_gesture:` | [top](#introduction) | -| [top](#people--body) | :metal: | `:metal:` | :call_me_hand: | `:call_me_hand:` | [top](#introduction) | +| [top](#people--body) | :ok_hand: | `:ok_hand:` | :pinched_fingers: | `:pinched_fingers:` | [top](#table-of-contents) | +| [top](#people--body) | :pinching_hand: | `:pinching_hand:` | :v: | `:v:` | [top](#table-of-contents) | +| [top](#people--body) | :crossed_fingers: | `:crossed_fingers:` | :hand_with_index_finger_and_thumb_crossed: | `:hand_with_index_finger_and_thumb_crossed:` | [top](#table-of-contents) | +| [top](#people--body) | :love_you_gesture: | `:love_you_gesture:` | :metal: | `:metal:` | [top](#table-of-contents) | +| [top](#people--body) | :call_me_hand: | `:call_me_hand:` | | | [top](#table-of-contents) | ### Hand Single Finger | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :point_left: | `:point_left:` | :point_right: | `:point_right:` | [top](#introduction) | -| [top](#people--body) | :point_up_2: | `:point_up_2:` | :fu: | `:fu:` `:middle_finger:` | [top](#introduction) | -| [top](#people--body) | :point_down: | `:point_down:` | :point_up: | `:point_up:` | [top](#introduction) | +| [top](#people--body) | :point_left: | `:point_left:` | :point_right: | `:point_right:` | [top](#table-of-contents) | +| [top](#people--body) | :point_up_2: | `:point_up_2:` | :fu: | `:fu:`
`:middle_finger:` | [top](#table-of-contents) | +| [top](#people--body) | :point_down: | `:point_down:` | :point_up: | `:point_up:` | [top](#table-of-contents) | +| [top](#people--body) | :index_pointing_at_the_viewer: | `:index_pointing_at_the_viewer:` | | | [top](#table-of-contents) | ### Hand Fingers Closed | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :+1: | `:+1:` `:thumbsup:` | :-1: | `:-1:` `:thumbsdown:` | [top](#introduction) | -| [top](#people--body) | :fist: | `:fist:` `:fist_raised:` | :facepunch: | `:facepunch:` `:fist_oncoming:` `:punch:` | [top](#introduction) | -| [top](#people--body) | :fist_left: | `:fist_left:` | :fist_right: | `:fist_right:` | [top](#introduction) | +| [top](#people--body) | :+1: | `:+1:`
`:thumbsup:` | :-1: | `:-1:`
`:thumbsdown:` | [top](#table-of-contents) | +| [top](#people--body) | :fist: | `:fist:`
`:fist_raised:` | :facepunch: | `:facepunch:`
`:fist_oncoming:`
`:punch:` | [top](#table-of-contents) | +| [top](#people--body) | :fist_left: | `:fist_left:` | :fist_right: | `:fist_right:` | [top](#table-of-contents) | ### Hands | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :clap: | `:clap:` | :raised_hands: | `:raised_hands:` | [top](#introduction) | -| [top](#people--body) | :open_hands: | `:open_hands:` | :palms_up_together: | `:palms_up_together:` | [top](#introduction) | -| [top](#people--body) | :handshake: | `:handshake:` | :pray: | `:pray:` | [top](#introduction) | +| [top](#people--body) | :clap: | `:clap:` | :raised_hands: | `:raised_hands:` | [top](#table-of-contents) | +| [top](#people--body) | :heart_hands: | `:heart_hands:` | :open_hands: | `:open_hands:` | [top](#table-of-contents) | +| [top](#people--body) | :palms_up_together: | `:palms_up_together:` | :handshake: | `:handshake:` | [top](#table-of-contents) | +| [top](#people--body) | :pray: | `:pray:` | | | [top](#table-of-contents) | ### Hand Prop | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :writing_hand: | `:writing_hand:` | :nail_care: | `:nail_care:` | [top](#introduction) | -| [top](#people--body) | :selfie: | `:selfie:` | | | [top](#introduction) | +| [top](#people--body) | :writing_hand: | `:writing_hand:` | :nail_care: | `:nail_care:` | [top](#table-of-contents) | +| [top](#people--body) | :selfie: | `:selfie:` | | | [top](#table-of-contents) | ### Body Parts | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :muscle: | `:muscle:` | :mechanical_arm: | `:mechanical_arm:` | [top](#introduction) | -| [top](#people--body) | :mechanical_leg: | `:mechanical_leg:` | :leg: | `:leg:` | [top](#introduction) | -| [top](#people--body) | :foot: | `:foot:` | :ear: | `:ear:` | [top](#introduction) | -| [top](#people--body) | :ear_with_hearing_aid: | `:ear_with_hearing_aid:` | :nose: | `:nose:` | [top](#introduction) | -| [top](#people--body) | :brain: | `:brain:` | :anatomical_heart: | `:anatomical_heart:` | [top](#introduction) | -| [top](#people--body) | :lungs: | `:lungs:` | :tooth: | `:tooth:` | [top](#introduction) | -| [top](#people--body) | :bone: | `:bone:` | :eyes: | `:eyes:` | [top](#introduction) | -| [top](#people--body) | :eye: | `:eye:` | :tongue: | `:tongue:` | [top](#introduction) | -| [top](#people--body) | :lips: | `:lips:` | | | [top](#introduction) | +| [top](#people--body) | :muscle: | `:muscle:` | :mechanical_arm: | `:mechanical_arm:` | [top](#table-of-contents) | +| [top](#people--body) | :mechanical_leg: | `:mechanical_leg:` | :leg: | `:leg:` | [top](#table-of-contents) | +| [top](#people--body) | :foot: | `:foot:` | :ear: | `:ear:` | [top](#table-of-contents) | +| [top](#people--body) | :ear_with_hearing_aid: | `:ear_with_hearing_aid:` | :nose: | `:nose:` | [top](#table-of-contents) | +| [top](#people--body) | :brain: | `:brain:` | :anatomical_heart: | `:anatomical_heart:` | [top](#table-of-contents) | +| [top](#people--body) | :lungs: | `:lungs:` | :tooth: | `:tooth:` | [top](#table-of-contents) | +| [top](#people--body) | :bone: | `:bone:` | :eyes: | `:eyes:` | [top](#table-of-contents) | +| [top](#people--body) | :eye: | `:eye:` | :tongue: | `:tongue:` | [top](#table-of-contents) | +| [top](#people--body) | :lips: | `:lips:` | :biting_lip: | `:biting_lip:` | [top](#table-of-contents) | ### Person | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :baby: | `:baby:` | :child: | `:child:` | [top](#introduction) | -| [top](#people--body) | :boy: | `:boy:` | :girl: | `:girl:` | [top](#introduction) | -| [top](#people--body) | :adult: | `:adult:` | :blond_haired_person: | `:blond_haired_person:` | [top](#introduction) | -| [top](#people--body) | :man: | `:man:` | :bearded_person: | `:bearded_person:` | [top](#introduction) | -| [top](#people--body) | :man_beard: | `:man_beard:` | :woman_beard: | `:woman_beard:` | [top](#introduction) | -| [top](#people--body) | :red_haired_man: | `:red_haired_man:` | :curly_haired_man: | `:curly_haired_man:` | [top](#introduction) | -| [top](#people--body) | :white_haired_man: | `:white_haired_man:` | :bald_man: | `:bald_man:` | [top](#introduction) | -| [top](#people--body) | :woman: | `:woman:` | :red_haired_woman: | `:red_haired_woman:` | [top](#introduction) | -| [top](#people--body) | :person_red_hair: | `:person_red_hair:` | :curly_haired_woman: | `:curly_haired_woman:` | [top](#introduction) | -| [top](#people--body) | :person_curly_hair: | `:person_curly_hair:` | :white_haired_woman: | `:white_haired_woman:` | [top](#introduction) | -| [top](#people--body) | :person_white_hair: | `:person_white_hair:` | :bald_woman: | `:bald_woman:` | [top](#introduction) | -| [top](#people--body) | :person_bald: | `:person_bald:` | :blond_haired_woman: | `:blond_haired_woman:` `:blonde_woman:` | [top](#introduction) | -| [top](#people--body) | :blond_haired_man: | `:blond_haired_man:` | :older_adult: | `:older_adult:` | [top](#introduction) | -| [top](#people--body) | :older_man: | `:older_man:` | :older_woman: | `:older_woman:` | [top](#introduction) | +| [top](#people--body) | :baby: | `:baby:` | :child: | `:child:` | [top](#table-of-contents) | +| [top](#people--body) | :boy: | `:boy:` | :girl: | `:girl:` | [top](#table-of-contents) | +| [top](#people--body) | :adult: | `:adult:` | :blond_haired_person: | `:blond_haired_person:` | [top](#table-of-contents) | +| [top](#people--body) | :man: | `:man:` | :bearded_person: | `:bearded_person:` | [top](#table-of-contents) | +| [top](#people--body) | :man_beard: | `:man_beard:` | :woman_beard: | `:woman_beard:` | [top](#table-of-contents) | +| [top](#people--body) | :red_haired_man: | `:red_haired_man:` | :curly_haired_man: | `:curly_haired_man:` | [top](#table-of-contents) | +| [top](#people--body) | :white_haired_man: | `:white_haired_man:` | :bald_man: | `:bald_man:` | [top](#table-of-contents) | +| [top](#people--body) | :woman: | `:woman:` | :red_haired_woman: | `:red_haired_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :person_red_hair: | `:person_red_hair:` | :curly_haired_woman: | `:curly_haired_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :person_curly_hair: | `:person_curly_hair:` | :white_haired_woman: | `:white_haired_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :person_white_hair: | `:person_white_hair:` | :bald_woman: | `:bald_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :person_bald: | `:person_bald:` | :blond_haired_woman: | `:blond_haired_woman:`
`:blonde_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :blond_haired_man: | `:blond_haired_man:` | :older_adult: | `:older_adult:` | [top](#table-of-contents) | +| [top](#people--body) | :older_man: | `:older_man:` | :older_woman: | `:older_woman:` | [top](#table-of-contents) | ### Person Gesture | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :frowning_person: | `:frowning_person:` | :frowning_man: | `:frowning_man:` | [top](#introduction) | -| [top](#people--body) | :frowning_woman: | `:frowning_woman:` | :pouting_face: | `:pouting_face:` | [top](#introduction) | -| [top](#people--body) | :pouting_man: | `:pouting_man:` | :pouting_woman: | `:pouting_woman:` | [top](#introduction) | -| [top](#people--body) | :no_good: | `:no_good:` | :ng_man: | `:ng_man:` `:no_good_man:` | [top](#introduction) | -| [top](#people--body) | :ng_woman: | `:ng_woman:` `:no_good_woman:` | :ok_person: | `:ok_person:` | [top](#introduction) | -| [top](#people--body) | :ok_man: | `:ok_man:` | :ok_woman: | `:ok_woman:` | [top](#introduction) | -| [top](#people--body) | :information_desk_person: | `:information_desk_person:` `:tipping_hand_person:` | :sassy_man: | `:sassy_man:` `:tipping_hand_man:` | [top](#introduction) | -| [top](#people--body) | :sassy_woman: | `:sassy_woman:` `:tipping_hand_woman:` | :raising_hand: | `:raising_hand:` | [top](#introduction) | -| [top](#people--body) | :raising_hand_man: | `:raising_hand_man:` | :raising_hand_woman: | `:raising_hand_woman:` | [top](#introduction) | -| [top](#people--body) | :deaf_person: | `:deaf_person:` | :deaf_man: | `:deaf_man:` | [top](#introduction) | -| [top](#people--body) | :deaf_woman: | `:deaf_woman:` | :bow: | `:bow:` | [top](#introduction) | -| [top](#people--body) | :bowing_man: | `:bowing_man:` | :bowing_woman: | `:bowing_woman:` | [top](#introduction) | -| [top](#people--body) | :facepalm: | `:facepalm:` | :man_facepalming: | `:man_facepalming:` | [top](#introduction) | -| [top](#people--body) | :woman_facepalming: | `:woman_facepalming:` | :shrug: | `:shrug:` | [top](#introduction) | -| [top](#people--body) | :man_shrugging: | `:man_shrugging:` | :woman_shrugging: | `:woman_shrugging:` | [top](#introduction) | +| [top](#people--body) | :frowning_person: | `:frowning_person:` | :frowning_man: | `:frowning_man:` | [top](#table-of-contents) | +| [top](#people--body) | :frowning_woman: | `:frowning_woman:` | :pouting_face: | `:pouting_face:` | [top](#table-of-contents) | +| [top](#people--body) | :pouting_man: | `:pouting_man:` | :pouting_woman: | `:pouting_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :no_good: | `:no_good:` | :ng_man: | `:ng_man:`
`:no_good_man:` | [top](#table-of-contents) | +| [top](#people--body) | :ng_woman: | `:ng_woman:`
`:no_good_woman:` | :ok_person: | `:ok_person:` | [top](#table-of-contents) | +| [top](#people--body) | :ok_man: | `:ok_man:` | :ok_woman: | `:ok_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :information_desk_person: | `:information_desk_person:`
`:tipping_hand_person:` | :sassy_man: | `:sassy_man:`
`:tipping_hand_man:` | [top](#table-of-contents) | +| [top](#people--body) | :sassy_woman: | `:sassy_woman:`
`:tipping_hand_woman:` | :raising_hand: | `:raising_hand:` | [top](#table-of-contents) | +| [top](#people--body) | :raising_hand_man: | `:raising_hand_man:` | :raising_hand_woman: | `:raising_hand_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :deaf_person: | `:deaf_person:` | :deaf_man: | `:deaf_man:` | [top](#table-of-contents) | +| [top](#people--body) | :deaf_woman: | `:deaf_woman:` | :bow: | `:bow:` | [top](#table-of-contents) | +| [top](#people--body) | :bowing_man: | `:bowing_man:` | :bowing_woman: | `:bowing_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :facepalm: | `:facepalm:` | :man_facepalming: | `:man_facepalming:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_facepalming: | `:woman_facepalming:` | :shrug: | `:shrug:` | [top](#table-of-contents) | +| [top](#people--body) | :man_shrugging: | `:man_shrugging:` | :woman_shrugging: | `:woman_shrugging:` | [top](#table-of-contents) | ### Person Role | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :health_worker: | `:health_worker:` | :man_health_worker: | `:man_health_worker:` | [top](#introduction) | -| [top](#people--body) | :woman_health_worker: | `:woman_health_worker:` | :student: | `:student:` | [top](#introduction) | -| [top](#people--body) | :man_student: | `:man_student:` | :woman_student: | `:woman_student:` | [top](#introduction) | -| [top](#people--body) | :teacher: | `:teacher:` | :man_teacher: | `:man_teacher:` | [top](#introduction) | -| [top](#people--body) | :woman_teacher: | `:woman_teacher:` | :judge: | `:judge:` | [top](#introduction) | -| [top](#people--body) | :man_judge: | `:man_judge:` | :woman_judge: | `:woman_judge:` | [top](#introduction) | -| [top](#people--body) | :farmer: | `:farmer:` | :man_farmer: | `:man_farmer:` | [top](#introduction) | -| [top](#people--body) | :woman_farmer: | `:woman_farmer:` | :cook: | `:cook:` | [top](#introduction) | -| [top](#people--body) | :man_cook: | `:man_cook:` | :woman_cook: | `:woman_cook:` | [top](#introduction) | -| [top](#people--body) | :mechanic: | `:mechanic:` | :man_mechanic: | `:man_mechanic:` | [top](#introduction) | -| [top](#people--body) | :woman_mechanic: | `:woman_mechanic:` | :factory_worker: | `:factory_worker:` | [top](#introduction) | -| [top](#people--body) | :man_factory_worker: | `:man_factory_worker:` | :woman_factory_worker: | `:woman_factory_worker:` | [top](#introduction) | -| [top](#people--body) | :office_worker: | `:office_worker:` | :man_office_worker: | `:man_office_worker:` | [top](#introduction) | -| [top](#people--body) | :woman_office_worker: | `:woman_office_worker:` | :scientist: | `:scientist:` | [top](#introduction) | -| [top](#people--body) | :man_scientist: | `:man_scientist:` | :woman_scientist: | `:woman_scientist:` | [top](#introduction) | -| [top](#people--body) | :technologist: | `:technologist:` | :man_technologist: | `:man_technologist:` | [top](#introduction) | -| [top](#people--body) | :woman_technologist: | `:woman_technologist:` | :singer: | `:singer:` | [top](#introduction) | -| [top](#people--body) | :man_singer: | `:man_singer:` | :woman_singer: | `:woman_singer:` | [top](#introduction) | -| [top](#people--body) | :artist: | `:artist:` | :man_artist: | `:man_artist:` | [top](#introduction) | -| [top](#people--body) | :woman_artist: | `:woman_artist:` | :pilot: | `:pilot:` | [top](#introduction) | -| [top](#people--body) | :man_pilot: | `:man_pilot:` | :woman_pilot: | `:woman_pilot:` | [top](#introduction) | -| [top](#people--body) | :astronaut: | `:astronaut:` | :man_astronaut: | `:man_astronaut:` | [top](#introduction) | -| [top](#people--body) | :woman_astronaut: | `:woman_astronaut:` | :firefighter: | `:firefighter:` | [top](#introduction) | -| [top](#people--body) | :man_firefighter: | `:man_firefighter:` | :woman_firefighter: | `:woman_firefighter:` | [top](#introduction) | -| [top](#people--body) | :cop: | `:cop:` `:police_officer:` | :policeman: | `:policeman:` | [top](#introduction) | -| [top](#people--body) | :policewoman: | `:policewoman:` | :detective: | `:detective:` | [top](#introduction) | -| [top](#people--body) | :male_detective: | `:male_detective:` | :female_detective: | `:female_detective:` | [top](#introduction) | -| [top](#people--body) | :guard: | `:guard:` | :guardsman: | `:guardsman:` | [top](#introduction) | -| [top](#people--body) | :guardswoman: | `:guardswoman:` | :ninja: | `:ninja:` | [top](#introduction) | -| [top](#people--body) | :construction_worker: | `:construction_worker:` | :construction_worker_man: | `:construction_worker_man:` | [top](#introduction) | -| [top](#people--body) | :construction_worker_woman: | `:construction_worker_woman:` | :prince: | `:prince:` | [top](#introduction) | -| [top](#people--body) | :princess: | `:princess:` | :person_with_turban: | `:person_with_turban:` | [top](#introduction) | -| [top](#people--body) | :man_with_turban: | `:man_with_turban:` | :woman_with_turban: | `:woman_with_turban:` | [top](#introduction) | -| [top](#people--body) | :man_with_gua_pi_mao: | `:man_with_gua_pi_mao:` | :woman_with_headscarf: | `:woman_with_headscarf:` | [top](#introduction) | -| [top](#people--body) | :person_in_tuxedo: | `:person_in_tuxedo:` | :man_in_tuxedo: | `:man_in_tuxedo:` | [top](#introduction) | -| [top](#people--body) | :woman_in_tuxedo: | `:woman_in_tuxedo:` | :person_with_veil: | `:person_with_veil:` | [top](#introduction) | -| [top](#people--body) | :man_with_veil: | `:man_with_veil:` | :bride_with_veil: | `:bride_with_veil:` `:woman_with_veil:` | [top](#introduction) | -| [top](#people--body) | :pregnant_woman: | `:pregnant_woman:` | :breast_feeding: | `:breast_feeding:` | [top](#introduction) | -| [top](#people--body) | :woman_feeding_baby: | `:woman_feeding_baby:` | :man_feeding_baby: | `:man_feeding_baby:` | [top](#introduction) | -| [top](#people--body) | :person_feeding_baby: | `:person_feeding_baby:` | | | [top](#introduction) | +| [top](#people--body) | :health_worker: | `:health_worker:` | :man_health_worker: | `:man_health_worker:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_health_worker: | `:woman_health_worker:` | :student: | `:student:` | [top](#table-of-contents) | +| [top](#people--body) | :man_student: | `:man_student:` | :woman_student: | `:woman_student:` | [top](#table-of-contents) | +| [top](#people--body) | :teacher: | `:teacher:` | :man_teacher: | `:man_teacher:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_teacher: | `:woman_teacher:` | :judge: | `:judge:` | [top](#table-of-contents) | +| [top](#people--body) | :man_judge: | `:man_judge:` | :woman_judge: | `:woman_judge:` | [top](#table-of-contents) | +| [top](#people--body) | :farmer: | `:farmer:` | :man_farmer: | `:man_farmer:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_farmer: | `:woman_farmer:` | :cook: | `:cook:` | [top](#table-of-contents) | +| [top](#people--body) | :man_cook: | `:man_cook:` | :woman_cook: | `:woman_cook:` | [top](#table-of-contents) | +| [top](#people--body) | :mechanic: | `:mechanic:` | :man_mechanic: | `:man_mechanic:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_mechanic: | `:woman_mechanic:` | :factory_worker: | `:factory_worker:` | [top](#table-of-contents) | +| [top](#people--body) | :man_factory_worker: | `:man_factory_worker:` | :woman_factory_worker: | `:woman_factory_worker:` | [top](#table-of-contents) | +| [top](#people--body) | :office_worker: | `:office_worker:` | :man_office_worker: | `:man_office_worker:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_office_worker: | `:woman_office_worker:` | :scientist: | `:scientist:` | [top](#table-of-contents) | +| [top](#people--body) | :man_scientist: | `:man_scientist:` | :woman_scientist: | `:woman_scientist:` | [top](#table-of-contents) | +| [top](#people--body) | :technologist: | `:technologist:` | :man_technologist: | `:man_technologist:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_technologist: | `:woman_technologist:` | :singer: | `:singer:` | [top](#table-of-contents) | +| [top](#people--body) | :man_singer: | `:man_singer:` | :woman_singer: | `:woman_singer:` | [top](#table-of-contents) | +| [top](#people--body) | :artist: | `:artist:` | :man_artist: | `:man_artist:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_artist: | `:woman_artist:` | :pilot: | `:pilot:` | [top](#table-of-contents) | +| [top](#people--body) | :man_pilot: | `:man_pilot:` | :woman_pilot: | `:woman_pilot:` | [top](#table-of-contents) | +| [top](#people--body) | :astronaut: | `:astronaut:` | :man_astronaut: | `:man_astronaut:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_astronaut: | `:woman_astronaut:` | :firefighter: | `:firefighter:` | [top](#table-of-contents) | +| [top](#people--body) | :man_firefighter: | `:man_firefighter:` | :woman_firefighter: | `:woman_firefighter:` | [top](#table-of-contents) | +| [top](#people--body) | :cop: | `:cop:`
`:police_officer:` | :policeman: | `:policeman:` | [top](#table-of-contents) | +| [top](#people--body) | :policewoman: | `:policewoman:` | :detective: | `:detective:` | [top](#table-of-contents) | +| [top](#people--body) | :male_detective: | `:male_detective:` | :female_detective: | `:female_detective:` | [top](#table-of-contents) | +| [top](#people--body) | :guard: | `:guard:` | :guardsman: | `:guardsman:` | [top](#table-of-contents) | +| [top](#people--body) | :guardswoman: | `:guardswoman:` | :ninja: | `:ninja:` | [top](#table-of-contents) | +| [top](#people--body) | :construction_worker: | `:construction_worker:` | :construction_worker_man: | `:construction_worker_man:` | [top](#table-of-contents) | +| [top](#people--body) | :construction_worker_woman: | `:construction_worker_woman:` | :person_with_crown: | `:person_with_crown:` | [top](#table-of-contents) | +| [top](#people--body) | :prince: | `:prince:` | :princess: | `:princess:` | [top](#table-of-contents) | +| [top](#people--body) | :person_with_turban: | `:person_with_turban:` | :man_with_turban: | `:man_with_turban:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_with_turban: | `:woman_with_turban:` | :man_with_gua_pi_mao: | `:man_with_gua_pi_mao:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_with_headscarf: | `:woman_with_headscarf:` | :person_in_tuxedo: | `:person_in_tuxedo:` | [top](#table-of-contents) | +| [top](#people--body) | :man_in_tuxedo: | `:man_in_tuxedo:` | :woman_in_tuxedo: | `:woman_in_tuxedo:` | [top](#table-of-contents) | +| [top](#people--body) | :person_with_veil: | `:person_with_veil:` | :man_with_veil: | `:man_with_veil:` | [top](#table-of-contents) | +| [top](#people--body) | :bride_with_veil: | `:bride_with_veil:`
`:woman_with_veil:` | :pregnant_woman: | `:pregnant_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :pregnant_man: | `:pregnant_man:` | :pregnant_person: | `:pregnant_person:` | [top](#table-of-contents) | +| [top](#people--body) | :breast_feeding: | `:breast_feeding:` | :woman_feeding_baby: | `:woman_feeding_baby:` | [top](#table-of-contents) | +| [top](#people--body) | :man_feeding_baby: | `:man_feeding_baby:` | :person_feeding_baby: | `:person_feeding_baby:` | [top](#table-of-contents) | ### Person Fantasy | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :angel: | `:angel:` | :santa: | `:santa:` | [top](#introduction) | -| [top](#people--body) | :mrs_claus: | `:mrs_claus:` | :mx_claus: | `:mx_claus:` | [top](#introduction) | -| [top](#people--body) | :superhero: | `:superhero:` | :superhero_man: | `:superhero_man:` | [top](#introduction) | -| [top](#people--body) | :superhero_woman: | `:superhero_woman:` | :supervillain: | `:supervillain:` | [top](#introduction) | -| [top](#people--body) | :supervillain_man: | `:supervillain_man:` | :supervillain_woman: | `:supervillain_woman:` | [top](#introduction) | -| [top](#people--body) | :mage: | `:mage:` | :mage_man: | `:mage_man:` | [top](#introduction) | -| [top](#people--body) | :mage_woman: | `:mage_woman:` | :fairy: | `:fairy:` | [top](#introduction) | -| [top](#people--body) | :fairy_man: | `:fairy_man:` | :fairy_woman: | `:fairy_woman:` | [top](#introduction) | -| [top](#people--body) | :vampire: | `:vampire:` | :vampire_man: | `:vampire_man:` | [top](#introduction) | -| [top](#people--body) | :vampire_woman: | `:vampire_woman:` | :merperson: | `:merperson:` | [top](#introduction) | -| [top](#people--body) | :merman: | `:merman:` | :mermaid: | `:mermaid:` | [top](#introduction) | -| [top](#people--body) | :elf: | `:elf:` | :elf_man: | `:elf_man:` | [top](#introduction) | -| [top](#people--body) | :elf_woman: | `:elf_woman:` | :genie: | `:genie:` | [top](#introduction) | -| [top](#people--body) | :genie_man: | `:genie_man:` | :genie_woman: | `:genie_woman:` | [top](#introduction) | -| [top](#people--body) | :zombie: | `:zombie:` | :zombie_man: | `:zombie_man:` | [top](#introduction) | -| [top](#people--body) | :zombie_woman: | `:zombie_woman:` | | | [top](#introduction) | +| [top](#people--body) | :angel: | `:angel:` | :santa: | `:santa:` | [top](#table-of-contents) | +| [top](#people--body) | :mrs_claus: | `:mrs_claus:` | :mx_claus: | `:mx_claus:` | [top](#table-of-contents) | +| [top](#people--body) | :superhero: | `:superhero:` | :superhero_man: | `:superhero_man:` | [top](#table-of-contents) | +| [top](#people--body) | :superhero_woman: | `:superhero_woman:` | :supervillain: | `:supervillain:` | [top](#table-of-contents) | +| [top](#people--body) | :supervillain_man: | `:supervillain_man:` | :supervillain_woman: | `:supervillain_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :mage: | `:mage:` | :mage_man: | `:mage_man:` | [top](#table-of-contents) | +| [top](#people--body) | :mage_woman: | `:mage_woman:` | :fairy: | `:fairy:` | [top](#table-of-contents) | +| [top](#people--body) | :fairy_man: | `:fairy_man:` | :fairy_woman: | `:fairy_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :vampire: | `:vampire:` | :vampire_man: | `:vampire_man:` | [top](#table-of-contents) | +| [top](#people--body) | :vampire_woman: | `:vampire_woman:` | :merperson: | `:merperson:` | [top](#table-of-contents) | +| [top](#people--body) | :merman: | `:merman:` | :mermaid: | `:mermaid:` | [top](#table-of-contents) | +| [top](#people--body) | :elf: | `:elf:` | :elf_man: | `:elf_man:` | [top](#table-of-contents) | +| [top](#people--body) | :elf_woman: | `:elf_woman:` | :genie: | `:genie:` | [top](#table-of-contents) | +| [top](#people--body) | :genie_man: | `:genie_man:` | :genie_woman: | `:genie_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :zombie: | `:zombie:` | :zombie_man: | `:zombie_man:` | [top](#table-of-contents) | +| [top](#people--body) | :zombie_woman: | `:zombie_woman:` | :troll: | `:troll:` | [top](#table-of-contents) | ### Person Activity | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :massage: | `:massage:` | :massage_man: | `:massage_man:` | [top](#introduction) | -| [top](#people--body) | :massage_woman: | `:massage_woman:` | :haircut: | `:haircut:` | [top](#introduction) | -| [top](#people--body) | :haircut_man: | `:haircut_man:` | :haircut_woman: | `:haircut_woman:` | [top](#introduction) | -| [top](#people--body) | :walking: | `:walking:` | :walking_man: | `:walking_man:` | [top](#introduction) | -| [top](#people--body) | :walking_woman: | `:walking_woman:` | :standing_person: | `:standing_person:` | [top](#introduction) | -| [top](#people--body) | :standing_man: | `:standing_man:` | :standing_woman: | `:standing_woman:` | [top](#introduction) | -| [top](#people--body) | :kneeling_person: | `:kneeling_person:` | :kneeling_man: | `:kneeling_man:` | [top](#introduction) | -| [top](#people--body) | :kneeling_woman: | `:kneeling_woman:` | :person_with_probing_cane: | `:person_with_probing_cane:` | [top](#introduction) | -| [top](#people--body) | :man_with_probing_cane: | `:man_with_probing_cane:` | :woman_with_probing_cane: | `:woman_with_probing_cane:` | [top](#introduction) | -| [top](#people--body) | :person_in_motorized_wheelchair: | `:person_in_motorized_wheelchair:` | :man_in_motorized_wheelchair: | `:man_in_motorized_wheelchair:` | [top](#introduction) | -| [top](#people--body) | :woman_in_motorized_wheelchair: | `:woman_in_motorized_wheelchair:` | :person_in_manual_wheelchair: | `:person_in_manual_wheelchair:` | [top](#introduction) | -| [top](#people--body) | :man_in_manual_wheelchair: | `:man_in_manual_wheelchair:` | :woman_in_manual_wheelchair: | `:woman_in_manual_wheelchair:` | [top](#introduction) | -| [top](#people--body) | :runner: | `:runner:` `:running:` | :running_man: | `:running_man:` | [top](#introduction) | -| [top](#people--body) | :running_woman: | `:running_woman:` | :dancer: | `:dancer:` `:woman_dancing:` | [top](#introduction) | -| [top](#people--body) | :man_dancing: | `:man_dancing:` | :business_suit_levitating: | `:business_suit_levitating:` | [top](#introduction) | -| [top](#people--body) | :dancers: | `:dancers:` | :dancing_men: | `:dancing_men:` | [top](#introduction) | -| [top](#people--body) | :dancing_women: | `:dancing_women:` | :sauna_person: | `:sauna_person:` | [top](#introduction) | -| [top](#people--body) | :sauna_man: | `:sauna_man:` | :sauna_woman: | `:sauna_woman:` | [top](#introduction) | -| [top](#people--body) | :climbing: | `:climbing:` | :climbing_man: | `:climbing_man:` | [top](#introduction) | -| [top](#people--body) | :climbing_woman: | `:climbing_woman:` | | | [top](#introduction) | +| [top](#people--body) | :massage: | `:massage:` | :massage_man: | `:massage_man:` | [top](#table-of-contents) | +| [top](#people--body) | :massage_woman: | `:massage_woman:` | :haircut: | `:haircut:` | [top](#table-of-contents) | +| [top](#people--body) | :haircut_man: | `:haircut_man:` | :haircut_woman: | `:haircut_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :walking: | `:walking:` | :walking_man: | `:walking_man:` | [top](#table-of-contents) | +| [top](#people--body) | :walking_woman: | `:walking_woman:` | :standing_person: | `:standing_person:` | [top](#table-of-contents) | +| [top](#people--body) | :standing_man: | `:standing_man:` | :standing_woman: | `:standing_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :kneeling_person: | `:kneeling_person:` | :kneeling_man: | `:kneeling_man:` | [top](#table-of-contents) | +| [top](#people--body) | :kneeling_woman: | `:kneeling_woman:` | :person_with_probing_cane: | `:person_with_probing_cane:` | [top](#table-of-contents) | +| [top](#people--body) | :man_with_probing_cane: | `:man_with_probing_cane:` | :woman_with_probing_cane: | `:woman_with_probing_cane:` | [top](#table-of-contents) | +| [top](#people--body) | :person_in_motorized_wheelchair: | `:person_in_motorized_wheelchair:` | :man_in_motorized_wheelchair: | `:man_in_motorized_wheelchair:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_in_motorized_wheelchair: | `:woman_in_motorized_wheelchair:` | :person_in_manual_wheelchair: | `:person_in_manual_wheelchair:` | [top](#table-of-contents) | +| [top](#people--body) | :man_in_manual_wheelchair: | `:man_in_manual_wheelchair:` | :woman_in_manual_wheelchair: | `:woman_in_manual_wheelchair:` | [top](#table-of-contents) | +| [top](#people--body) | :runner: | `:runner:`
`:running:` | :running_man: | `:running_man:` | [top](#table-of-contents) | +| [top](#people--body) | :running_woman: | `:running_woman:` | :dancer: | `:dancer:`
`:woman_dancing:` | [top](#table-of-contents) | +| [top](#people--body) | :man_dancing: | `:man_dancing:` | :business_suit_levitating: | `:business_suit_levitating:` | [top](#table-of-contents) | +| [top](#people--body) | :dancers: | `:dancers:` | :dancing_men: | `:dancing_men:` | [top](#table-of-contents) | +| [top](#people--body) | :dancing_women: | `:dancing_women:` | :sauna_person: | `:sauna_person:` | [top](#table-of-contents) | +| [top](#people--body) | :sauna_man: | `:sauna_man:` | :sauna_woman: | `:sauna_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :climbing: | `:climbing:` | :climbing_man: | `:climbing_man:` | [top](#table-of-contents) | +| [top](#people--body) | :climbing_woman: | `:climbing_woman:` | | | [top](#table-of-contents) | ### Person Sport | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :person_fencing: | `:person_fencing:` | :horse_racing: | `:horse_racing:` | [top](#introduction) | -| [top](#people--body) | :skier: | `:skier:` | :snowboarder: | `:snowboarder:` | [top](#introduction) | -| [top](#people--body) | :golfing: | `:golfing:` | :golfing_man: | `:golfing_man:` | [top](#introduction) | -| [top](#people--body) | :golfing_woman: | `:golfing_woman:` | :surfer: | `:surfer:` | [top](#introduction) | -| [top](#people--body) | :surfing_man: | `:surfing_man:` | :surfing_woman: | `:surfing_woman:` | [top](#introduction) | -| [top](#people--body) | :rowboat: | `:rowboat:` | :rowing_man: | `:rowing_man:` | [top](#introduction) | -| [top](#people--body) | :rowing_woman: | `:rowing_woman:` | :swimmer: | `:swimmer:` | [top](#introduction) | -| [top](#people--body) | :swimming_man: | `:swimming_man:` | :swimming_woman: | `:swimming_woman:` | [top](#introduction) | -| [top](#people--body) | :bouncing_ball_person: | `:bouncing_ball_person:` | :basketball_man: | `:basketball_man:` `:bouncing_ball_man:` | [top](#introduction) | -| [top](#people--body) | :basketball_woman: | `:basketball_woman:` `:bouncing_ball_woman:` | :weight_lifting: | `:weight_lifting:` | [top](#introduction) | -| [top](#people--body) | :weight_lifting_man: | `:weight_lifting_man:` | :weight_lifting_woman: | `:weight_lifting_woman:` | [top](#introduction) | -| [top](#people--body) | :bicyclist: | `:bicyclist:` | :biking_man: | `:biking_man:` | [top](#introduction) | -| [top](#people--body) | :biking_woman: | `:biking_woman:` | :mountain_bicyclist: | `:mountain_bicyclist:` | [top](#introduction) | -| [top](#people--body) | :mountain_biking_man: | `:mountain_biking_man:` | :mountain_biking_woman: | `:mountain_biking_woman:` | [top](#introduction) | -| [top](#people--body) | :cartwheeling: | `:cartwheeling:` | :man_cartwheeling: | `:man_cartwheeling:` | [top](#introduction) | -| [top](#people--body) | :woman_cartwheeling: | `:woman_cartwheeling:` | :wrestling: | `:wrestling:` | [top](#introduction) | -| [top](#people--body) | :men_wrestling: | `:men_wrestling:` | :women_wrestling: | `:women_wrestling:` | [top](#introduction) | -| [top](#people--body) | :water_polo: | `:water_polo:` | :man_playing_water_polo: | `:man_playing_water_polo:` | [top](#introduction) | -| [top](#people--body) | :woman_playing_water_polo: | `:woman_playing_water_polo:` | :handball_person: | `:handball_person:` | [top](#introduction) | -| [top](#people--body) | :man_playing_handball: | `:man_playing_handball:` | :woman_playing_handball: | `:woman_playing_handball:` | [top](#introduction) | -| [top](#people--body) | :juggling_person: | `:juggling_person:` | :man_juggling: | `:man_juggling:` | [top](#introduction) | -| [top](#people--body) | :woman_juggling: | `:woman_juggling:` | | | [top](#introduction) | +| [top](#people--body) | :person_fencing: | `:person_fencing:` | :horse_racing: | `:horse_racing:` | [top](#table-of-contents) | +| [top](#people--body) | :skier: | `:skier:` | :snowboarder: | `:snowboarder:` | [top](#table-of-contents) | +| [top](#people--body) | :golfing: | `:golfing:` | :golfing_man: | `:golfing_man:` | [top](#table-of-contents) | +| [top](#people--body) | :golfing_woman: | `:golfing_woman:` | :surfer: | `:surfer:` | [top](#table-of-contents) | +| [top](#people--body) | :surfing_man: | `:surfing_man:` | :surfing_woman: | `:surfing_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :rowboat: | `:rowboat:` | :rowing_man: | `:rowing_man:` | [top](#table-of-contents) | +| [top](#people--body) | :rowing_woman: | `:rowing_woman:` | :swimmer: | `:swimmer:` | [top](#table-of-contents) | +| [top](#people--body) | :swimming_man: | `:swimming_man:` | :swimming_woman: | `:swimming_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :bouncing_ball_person: | `:bouncing_ball_person:` | :basketball_man: | `:basketball_man:`
`:bouncing_ball_man:` | [top](#table-of-contents) | +| [top](#people--body) | :basketball_woman: | `:basketball_woman:`
`:bouncing_ball_woman:` | :weight_lifting: | `:weight_lifting:` | [top](#table-of-contents) | +| [top](#people--body) | :weight_lifting_man: | `:weight_lifting_man:` | :weight_lifting_woman: | `:weight_lifting_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :bicyclist: | `:bicyclist:` | :biking_man: | `:biking_man:` | [top](#table-of-contents) | +| [top](#people--body) | :biking_woman: | `:biking_woman:` | :mountain_bicyclist: | `:mountain_bicyclist:` | [top](#table-of-contents) | +| [top](#people--body) | :mountain_biking_man: | `:mountain_biking_man:` | :mountain_biking_woman: | `:mountain_biking_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :cartwheeling: | `:cartwheeling:` | :man_cartwheeling: | `:man_cartwheeling:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_cartwheeling: | `:woman_cartwheeling:` | :wrestling: | `:wrestling:` | [top](#table-of-contents) | +| [top](#people--body) | :men_wrestling: | `:men_wrestling:` | :women_wrestling: | `:women_wrestling:` | [top](#table-of-contents) | +| [top](#people--body) | :water_polo: | `:water_polo:` | :man_playing_water_polo: | `:man_playing_water_polo:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_playing_water_polo: | `:woman_playing_water_polo:` | :handball_person: | `:handball_person:` | [top](#table-of-contents) | +| [top](#people--body) | :man_playing_handball: | `:man_playing_handball:` | :woman_playing_handball: | `:woman_playing_handball:` | [top](#table-of-contents) | +| [top](#people--body) | :juggling_person: | `:juggling_person:` | :man_juggling: | `:man_juggling:` | [top](#table-of-contents) | +| [top](#people--body) | :woman_juggling: | `:woman_juggling:` | | | [top](#table-of-contents) | ### Person Resting | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :lotus_position: | `:lotus_position:` | :lotus_position_man: | `:lotus_position_man:` | [top](#introduction) | -| [top](#people--body) | :lotus_position_woman: | `:lotus_position_woman:` | :bath: | `:bath:` | [top](#introduction) | -| [top](#people--body) | :sleeping_bed: | `:sleeping_bed:` | | | [top](#introduction) | +| [top](#people--body) | :lotus_position: | `:lotus_position:` | :lotus_position_man: | `:lotus_position_man:` | [top](#table-of-contents) | +| [top](#people--body) | :lotus_position_woman: | `:lotus_position_woman:` | :bath: | `:bath:` | [top](#table-of-contents) | +| [top](#people--body) | :sleeping_bed: | `:sleeping_bed:` | | | [top](#table-of-contents) | ### Family | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :people_holding_hands: | `:people_holding_hands:` | :two_women_holding_hands: | `:two_women_holding_hands:` | [top](#introduction) | -| [top](#people--body) | :couple: | `:couple:` | :two_men_holding_hands: | `:two_men_holding_hands:` | [top](#introduction) | -| [top](#people--body) | :couplekiss: | `:couplekiss:` | :couplekiss_man_woman: | `:couplekiss_man_woman:` | [top](#introduction) | -| [top](#people--body) | :couplekiss_man_man: | `:couplekiss_man_man:` | :couplekiss_woman_woman: | `:couplekiss_woman_woman:` | [top](#introduction) | -| [top](#people--body) | :couple_with_heart: | `:couple_with_heart:` | :couple_with_heart_woman_man: | `:couple_with_heart_woman_man:` | [top](#introduction) | -| [top](#people--body) | :couple_with_heart_man_man: | `:couple_with_heart_man_man:` | :couple_with_heart_woman_woman: | `:couple_with_heart_woman_woman:` | [top](#introduction) | -| [top](#people--body) | :family_man_woman_boy: | `:family_man_woman_boy:` | :family_man_woman_girl: | `:family_man_woman_girl:` | [top](#introduction) | -| [top](#people--body) | :family_man_woman_girl_boy: | `:family_man_woman_girl_boy:` | :family_man_woman_boy_boy: | `:family_man_woman_boy_boy:` | [top](#introduction) | -| [top](#people--body) | :family_man_woman_girl_girl: | `:family_man_woman_girl_girl:` | :family_man_man_boy: | `:family_man_man_boy:` | [top](#introduction) | -| [top](#people--body) | :family_man_man_girl: | `:family_man_man_girl:` | :family_man_man_girl_boy: | `:family_man_man_girl_boy:` | [top](#introduction) | -| [top](#people--body) | :family_man_man_boy_boy: | `:family_man_man_boy_boy:` | :family_man_man_girl_girl: | `:family_man_man_girl_girl:` | [top](#introduction) | -| [top](#people--body) | :family_woman_woman_boy: | `:family_woman_woman_boy:` | :family_woman_woman_girl: | `:family_woman_woman_girl:` | [top](#introduction) | -| [top](#people--body) | :family_woman_woman_girl_boy: | `:family_woman_woman_girl_boy:` | :family_woman_woman_boy_boy: | `:family_woman_woman_boy_boy:` | [top](#introduction) | -| [top](#people--body) | :family_woman_woman_girl_girl: | `:family_woman_woman_girl_girl:` | :family_man_boy: | `:family_man_boy:` | [top](#introduction) | -| [top](#people--body) | :family_man_boy_boy: | `:family_man_boy_boy:` | :family_man_girl: | `:family_man_girl:` | [top](#introduction) | -| [top](#people--body) | :family_man_girl_boy: | `:family_man_girl_boy:` | :family_man_girl_girl: | `:family_man_girl_girl:` | [top](#introduction) | -| [top](#people--body) | :family_woman_boy: | `:family_woman_boy:` | :family_woman_boy_boy: | `:family_woman_boy_boy:` | [top](#introduction) | -| [top](#people--body) | :family_woman_girl: | `:family_woman_girl:` | :family_woman_girl_boy: | `:family_woman_girl_boy:` | [top](#introduction) | -| [top](#people--body) | :family_woman_girl_girl: | `:family_woman_girl_girl:` | | | [top](#introduction) | +| [top](#people--body) | :people_holding_hands: | `:people_holding_hands:` | :two_women_holding_hands: | `:two_women_holding_hands:` | [top](#table-of-contents) | +| [top](#people--body) | :couple: | `:couple:` | :two_men_holding_hands: | `:two_men_holding_hands:` | [top](#table-of-contents) | +| [top](#people--body) | :couplekiss: | `:couplekiss:` | :couplekiss_man_woman: | `:couplekiss_man_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :couplekiss_man_man: | `:couplekiss_man_man:` | :couplekiss_woman_woman: | `:couplekiss_woman_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :couple_with_heart: | `:couple_with_heart:` | :couple_with_heart_woman_man: | `:couple_with_heart_woman_man:` | [top](#table-of-contents) | +| [top](#people--body) | :couple_with_heart_man_man: | `:couple_with_heart_man_man:` | :couple_with_heart_woman_woman: | `:couple_with_heart_woman_woman:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_woman_boy: | `:family_man_woman_boy:` | :family_man_woman_girl: | `:family_man_woman_girl:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_woman_girl_boy: | `:family_man_woman_girl_boy:` | :family_man_woman_boy_boy: | `:family_man_woman_boy_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_woman_girl_girl: | `:family_man_woman_girl_girl:` | :family_man_man_boy: | `:family_man_man_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_man_girl: | `:family_man_man_girl:` | :family_man_man_girl_boy: | `:family_man_man_girl_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_man_boy_boy: | `:family_man_man_boy_boy:` | :family_man_man_girl_girl: | `:family_man_man_girl_girl:` | [top](#table-of-contents) | +| [top](#people--body) | :family_woman_woman_boy: | `:family_woman_woman_boy:` | :family_woman_woman_girl: | `:family_woman_woman_girl:` | [top](#table-of-contents) | +| [top](#people--body) | :family_woman_woman_girl_boy: | `:family_woman_woman_girl_boy:` | :family_woman_woman_boy_boy: | `:family_woman_woman_boy_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_woman_woman_girl_girl: | `:family_woman_woman_girl_girl:` | :family_man_boy: | `:family_man_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_boy_boy: | `:family_man_boy_boy:` | :family_man_girl: | `:family_man_girl:` | [top](#table-of-contents) | +| [top](#people--body) | :family_man_girl_boy: | `:family_man_girl_boy:` | :family_man_girl_girl: | `:family_man_girl_girl:` | [top](#table-of-contents) | +| [top](#people--body) | :family_woman_boy: | `:family_woman_boy:` | :family_woman_boy_boy: | `:family_woman_boy_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_woman_girl: | `:family_woman_girl:` | :family_woman_girl_boy: | `:family_woman_girl_boy:` | [top](#table-of-contents) | +| [top](#people--body) | :family_woman_girl_girl: | `:family_woman_girl_girl:` | | | [top](#table-of-contents) | ### Person Symbol | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#people--body) | :speaking_head: | `:speaking_head:` | :bust_in_silhouette: | `:bust_in_silhouette:` | [top](#introduction) | -| [top](#people--body) | :busts_in_silhouette: | `:busts_in_silhouette:` | :people_hugging: | `:people_hugging:` | [top](#introduction) | -| [top](#people--body) | :family: | `:family:` | :footprints: | `:footprints:` | [top](#introduction) | +| [top](#people--body) | :speaking_head: | `:speaking_head:` | :bust_in_silhouette: | `:bust_in_silhouette:` | [top](#table-of-contents) | +| [top](#people--body) | :busts_in_silhouette: | `:busts_in_silhouette:` | :people_hugging: | `:people_hugging:` | [top](#table-of-contents) | +| [top](#people--body) | :family: | `:family:` | :footprints: | `:footprints:` | [top](#table-of-contents) | ## Animals & Nature @@ -525,112 +567,118 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :monkey_face: | `:monkey_face:` | :monkey: | `:monkey:` | [top](#introduction) | -| [top](#animals--nature) | :gorilla: | `:gorilla:` | :orangutan: | `:orangutan:` | [top](#introduction) | -| [top](#animals--nature) | :dog: | `:dog:` | :dog2: | `:dog2:` | [top](#introduction) | -| [top](#animals--nature) | :guide_dog: | `:guide_dog:` | :service_dog: | `:service_dog:` | [top](#introduction) | -| [top](#animals--nature) | :poodle: | `:poodle:` | :wolf: | `:wolf:` | [top](#introduction) | -| [top](#animals--nature) | :fox_face: | `:fox_face:` | :raccoon: | `:raccoon:` | [top](#introduction) | -| [top](#animals--nature) | :cat: | `:cat:` | :cat2: | `:cat2:` | [top](#introduction) | -| [top](#animals--nature) | :black_cat: | `:black_cat:` | :lion: | `:lion:` | [top](#introduction) | -| [top](#animals--nature) | :tiger: | `:tiger:` | :tiger2: | `:tiger2:` | [top](#introduction) | -| [top](#animals--nature) | :leopard: | `:leopard:` | :horse: | `:horse:` | [top](#introduction) | -| [top](#animals--nature) | :racehorse: | `:racehorse:` | :unicorn: | `:unicorn:` | [top](#introduction) | -| [top](#animals--nature) | :zebra: | `:zebra:` | :deer: | `:deer:` | [top](#introduction) | -| [top](#animals--nature) | :bison: | `:bison:` | :cow: | `:cow:` | [top](#introduction) | -| [top](#animals--nature) | :ox: | `:ox:` | :water_buffalo: | `:water_buffalo:` | [top](#introduction) | -| [top](#animals--nature) | :cow2: | `:cow2:` | :pig: | `:pig:` | [top](#introduction) | -| [top](#animals--nature) | :pig2: | `:pig2:` | :boar: | `:boar:` | [top](#introduction) | -| [top](#animals--nature) | :pig_nose: | `:pig_nose:` | :ram: | `:ram:` | [top](#introduction) | -| [top](#animals--nature) | :sheep: | `:sheep:` | :goat: | `:goat:` | [top](#introduction) | -| [top](#animals--nature) | :dromedary_camel: | `:dromedary_camel:` | :camel: | `:camel:` | [top](#introduction) | -| [top](#animals--nature) | :llama: | `:llama:` | :giraffe: | `:giraffe:` | [top](#introduction) | -| [top](#animals--nature) | :elephant: | `:elephant:` | :mammoth: | `:mammoth:` | [top](#introduction) | -| [top](#animals--nature) | :rhinoceros: | `:rhinoceros:` | :hippopotamus: | `:hippopotamus:` | [top](#introduction) | -| [top](#animals--nature) | :mouse: | `:mouse:` | :mouse2: | `:mouse2:` | [top](#introduction) | -| [top](#animals--nature) | :rat: | `:rat:` | :hamster: | `:hamster:` | [top](#introduction) | -| [top](#animals--nature) | :rabbit: | `:rabbit:` | :rabbit2: | `:rabbit2:` | [top](#introduction) | -| [top](#animals--nature) | :chipmunk: | `:chipmunk:` | :beaver: | `:beaver:` | [top](#introduction) | -| [top](#animals--nature) | :hedgehog: | `:hedgehog:` | :bat: | `:bat:` | [top](#introduction) | -| [top](#animals--nature) | :bear: | `:bear:` | :polar_bear: | `:polar_bear:` | [top](#introduction) | -| [top](#animals--nature) | :koala: | `:koala:` | :panda_face: | `:panda_face:` | [top](#introduction) | -| [top](#animals--nature) | :sloth: | `:sloth:` | :otter: | `:otter:` | [top](#introduction) | -| [top](#animals--nature) | :skunk: | `:skunk:` | :kangaroo: | `:kangaroo:` | [top](#introduction) | -| [top](#animals--nature) | :badger: | `:badger:` | :feet: | `:feet:` `:paw_prints:` | [top](#introduction) | +| [top](#animals--nature) | :monkey_face: | `:monkey_face:` | :monkey: | `:monkey:` | [top](#table-of-contents) | +| [top](#animals--nature) | :gorilla: | `:gorilla:` | :orangutan: | `:orangutan:` | [top](#table-of-contents) | +| [top](#animals--nature) | :dog: | `:dog:` | :dog2: | `:dog2:` | [top](#table-of-contents) | +| [top](#animals--nature) | :guide_dog: | `:guide_dog:` | :service_dog: | `:service_dog:` | [top](#table-of-contents) | +| [top](#animals--nature) | :poodle: | `:poodle:` | :wolf: | `:wolf:` | [top](#table-of-contents) | +| [top](#animals--nature) | :fox_face: | `:fox_face:` | :raccoon: | `:raccoon:` | [top](#table-of-contents) | +| [top](#animals--nature) | :cat: | `:cat:` | :cat2: | `:cat2:` | [top](#table-of-contents) | +| [top](#animals--nature) | :black_cat: | `:black_cat:` | :lion: | `:lion:` | [top](#table-of-contents) | +| [top](#animals--nature) | :tiger: | `:tiger:` | :tiger2: | `:tiger2:` | [top](#table-of-contents) | +| [top](#animals--nature) | :leopard: | `:leopard:` | :horse: | `:horse:` | [top](#table-of-contents) | +| [top](#animals--nature) | :moose: | `:moose:` | :donkey: | `:donkey:` | [top](#table-of-contents) | +| [top](#animals--nature) | :racehorse: | `:racehorse:` | :unicorn: | `:unicorn:` | [top](#table-of-contents) | +| [top](#animals--nature) | :zebra: | `:zebra:` | :deer: | `:deer:` | [top](#table-of-contents) | +| [top](#animals--nature) | :bison: | `:bison:` | :cow: | `:cow:` | [top](#table-of-contents) | +| [top](#animals--nature) | :ox: | `:ox:` | :water_buffalo: | `:water_buffalo:` | [top](#table-of-contents) | +| [top](#animals--nature) | :cow2: | `:cow2:` | :pig: | `:pig:` | [top](#table-of-contents) | +| [top](#animals--nature) | :pig2: | `:pig2:` | :boar: | `:boar:` | [top](#table-of-contents) | +| [top](#animals--nature) | :pig_nose: | `:pig_nose:` | :ram: | `:ram:` | [top](#table-of-contents) | +| [top](#animals--nature) | :sheep: | `:sheep:` | :goat: | `:goat:` | [top](#table-of-contents) | +| [top](#animals--nature) | :dromedary_camel: | `:dromedary_camel:` | :camel: | `:camel:` | [top](#table-of-contents) | +| [top](#animals--nature) | :llama: | `:llama:` | :giraffe: | `:giraffe:` | [top](#table-of-contents) | +| [top](#animals--nature) | :elephant: | `:elephant:` | :mammoth: | `:mammoth:` | [top](#table-of-contents) | +| [top](#animals--nature) | :rhinoceros: | `:rhinoceros:` | :hippopotamus: | `:hippopotamus:` | [top](#table-of-contents) | +| [top](#animals--nature) | :mouse: | `:mouse:` | :mouse2: | `:mouse2:` | [top](#table-of-contents) | +| [top](#animals--nature) | :rat: | `:rat:` | :hamster: | `:hamster:` | [top](#table-of-contents) | +| [top](#animals--nature) | :rabbit: | `:rabbit:` | :rabbit2: | `:rabbit2:` | [top](#table-of-contents) | +| [top](#animals--nature) | :chipmunk: | `:chipmunk:` | :beaver: | `:beaver:` | [top](#table-of-contents) | +| [top](#animals--nature) | :hedgehog: | `:hedgehog:` | :bat: | `:bat:` | [top](#table-of-contents) | +| [top](#animals--nature) | :bear: | `:bear:` | :polar_bear: | `:polar_bear:` | [top](#table-of-contents) | +| [top](#animals--nature) | :koala: | `:koala:` | :panda_face: | `:panda_face:` | [top](#table-of-contents) | +| [top](#animals--nature) | :sloth: | `:sloth:` | :otter: | `:otter:` | [top](#table-of-contents) | +| [top](#animals--nature) | :skunk: | `:skunk:` | :kangaroo: | `:kangaroo:` | [top](#table-of-contents) | +| [top](#animals--nature) | :badger: | `:badger:` | :feet: | `:feet:`
`:paw_prints:` | [top](#table-of-contents) | ### Animal Bird | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :turkey: | `:turkey:` | :chicken: | `:chicken:` | [top](#introduction) | -| [top](#animals--nature) | :rooster: | `:rooster:` | :hatching_chick: | `:hatching_chick:` | [top](#introduction) | -| [top](#animals--nature) | :baby_chick: | `:baby_chick:` | :hatched_chick: | `:hatched_chick:` | [top](#introduction) | -| [top](#animals--nature) | :bird: | `:bird:` | :penguin: | `:penguin:` | [top](#introduction) | -| [top](#animals--nature) | :dove: | `:dove:` | :eagle: | `:eagle:` | [top](#introduction) | -| [top](#animals--nature) | :duck: | `:duck:` | :swan: | `:swan:` | [top](#introduction) | -| [top](#animals--nature) | :owl: | `:owl:` | :dodo: | `:dodo:` | [top](#introduction) | -| [top](#animals--nature) | :feather: | `:feather:` | :flamingo: | `:flamingo:` | [top](#introduction) | -| [top](#animals--nature) | :peacock: | `:peacock:` | :parrot: | `:parrot:` | [top](#introduction) | +| [top](#animals--nature) | :turkey: | `:turkey:` | :chicken: | `:chicken:` | [top](#table-of-contents) | +| [top](#animals--nature) | :rooster: | `:rooster:` | :hatching_chick: | `:hatching_chick:` | [top](#table-of-contents) | +| [top](#animals--nature) | :baby_chick: | `:baby_chick:` | :hatched_chick: | `:hatched_chick:` | [top](#table-of-contents) | +| [top](#animals--nature) | :bird: | `:bird:` | :penguin: | `:penguin:` | [top](#table-of-contents) | +| [top](#animals--nature) | :dove: | `:dove:` | :eagle: | `:eagle:` | [top](#table-of-contents) | +| [top](#animals--nature) | :duck: | `:duck:` | :swan: | `:swan:` | [top](#table-of-contents) | +| [top](#animals--nature) | :owl: | `:owl:` | :dodo: | `:dodo:` | [top](#table-of-contents) | +| [top](#animals--nature) | :feather: | `:feather:` | :flamingo: | `:flamingo:` | [top](#table-of-contents) | +| [top](#animals--nature) | :peacock: | `:peacock:` | :parrot: | `:parrot:` | [top](#table-of-contents) | +| [top](#animals--nature) | :wing: | `:wing:` | :black_bird: | `:black_bird:` | [top](#table-of-contents) | +| [top](#animals--nature) | :goose: | `:goose:` | | | [top](#table-of-contents) | ### Animal Amphibian | | ico | shortcode | | | - | :-: | - | - | -| [top](#animals--nature) | :frog: | `:frog:` | [top](#introduction) | +| [top](#animals--nature) | :frog: | `:frog:` | [top](#table-of-contents) | ### Animal Reptile | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :crocodile: | `:crocodile:` | :turtle: | `:turtle:` | [top](#introduction) | -| [top](#animals--nature) | :lizard: | `:lizard:` | :snake: | `:snake:` | [top](#introduction) | -| [top](#animals--nature) | :dragon_face: | `:dragon_face:` | :dragon: | `:dragon:` | [top](#introduction) | -| [top](#animals--nature) | :sauropod: | `:sauropod:` | :t-rex: | `:t-rex:` | [top](#introduction) | +| [top](#animals--nature) | :crocodile: | `:crocodile:` | :turtle: | `:turtle:` | [top](#table-of-contents) | +| [top](#animals--nature) | :lizard: | `:lizard:` | :snake: | `:snake:` | [top](#table-of-contents) | +| [top](#animals--nature) | :dragon_face: | `:dragon_face:` | :dragon: | `:dragon:` | [top](#table-of-contents) | +| [top](#animals--nature) | :sauropod: | `:sauropod:` | :t-rex: | `:t-rex:` | [top](#table-of-contents) | ### Animal Marine | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :whale: | `:whale:` | :whale2: | `:whale2:` | [top](#introduction) | -| [top](#animals--nature) | :dolphin: | `:dolphin:` `:flipper:` | :seal: | `:seal:` | [top](#introduction) | -| [top](#animals--nature) | :fish: | `:fish:` | :tropical_fish: | `:tropical_fish:` | [top](#introduction) | -| [top](#animals--nature) | :blowfish: | `:blowfish:` | :shark: | `:shark:` | [top](#introduction) | -| [top](#animals--nature) | :octopus: | `:octopus:` | :shell: | `:shell:` | [top](#introduction) | +| [top](#animals--nature) | :whale: | `:whale:` | :whale2: | `:whale2:` | [top](#table-of-contents) | +| [top](#animals--nature) | :dolphin: | `:dolphin:`
`:flipper:` | :seal: | `:seal:` | [top](#table-of-contents) | +| [top](#animals--nature) | :fish: | `:fish:` | :tropical_fish: | `:tropical_fish:` | [top](#table-of-contents) | +| [top](#animals--nature) | :blowfish: | `:blowfish:` | :shark: | `:shark:` | [top](#table-of-contents) | +| [top](#animals--nature) | :octopus: | `:octopus:` | :shell: | `:shell:` | [top](#table-of-contents) | +| [top](#animals--nature) | :coral: | `:coral:` | :jellyfish: | `:jellyfish:` | [top](#table-of-contents) | ### Animal Bug | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :snail: | `:snail:` | :butterfly: | `:butterfly:` | [top](#introduction) | -| [top](#animals--nature) | :bug: | `:bug:` | :ant: | `:ant:` | [top](#introduction) | -| [top](#animals--nature) | :bee: | `:bee:` `:honeybee:` | :beetle: | `:beetle:` | [top](#introduction) | -| [top](#animals--nature) | :lady_beetle: | `:lady_beetle:` | :cricket: | `:cricket:` | [top](#introduction) | -| [top](#animals--nature) | :cockroach: | `:cockroach:` | :spider: | `:spider:` | [top](#introduction) | -| [top](#animals--nature) | :spider_web: | `:spider_web:` | :scorpion: | `:scorpion:` | [top](#introduction) | -| [top](#animals--nature) | :mosquito: | `:mosquito:` | :fly: | `:fly:` | [top](#introduction) | -| [top](#animals--nature) | :worm: | `:worm:` | :microbe: | `:microbe:` | [top](#introduction) | +| [top](#animals--nature) | :snail: | `:snail:` | :butterfly: | `:butterfly:` | [top](#table-of-contents) | +| [top](#animals--nature) | :bug: | `:bug:` | :ant: | `:ant:` | [top](#table-of-contents) | +| [top](#animals--nature) | :bee: | `:bee:`
`:honeybee:` | :beetle: | `:beetle:` | [top](#table-of-contents) | +| [top](#animals--nature) | :lady_beetle: | `:lady_beetle:` | :cricket: | `:cricket:` | [top](#table-of-contents) | +| [top](#animals--nature) | :cockroach: | `:cockroach:` | :spider: | `:spider:` | [top](#table-of-contents) | +| [top](#animals--nature) | :spider_web: | `:spider_web:` | :scorpion: | `:scorpion:` | [top](#table-of-contents) | +| [top](#animals--nature) | :mosquito: | `:mosquito:` | :fly: | `:fly:` | [top](#table-of-contents) | +| [top](#animals--nature) | :worm: | `:worm:` | :microbe: | `:microbe:` | [top](#table-of-contents) | ### Plant Flower | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :bouquet: | `:bouquet:` | :cherry_blossom: | `:cherry_blossom:` | [top](#introduction) | -| [top](#animals--nature) | :white_flower: | `:white_flower:` | :rosette: | `:rosette:` | [top](#introduction) | -| [top](#animals--nature) | :rose: | `:rose:` | :wilted_flower: | `:wilted_flower:` | [top](#introduction) | -| [top](#animals--nature) | :hibiscus: | `:hibiscus:` | :sunflower: | `:sunflower:` | [top](#introduction) | -| [top](#animals--nature) | :blossom: | `:blossom:` | :tulip: | `:tulip:` | [top](#introduction) | +| [top](#animals--nature) | :bouquet: | `:bouquet:` | :cherry_blossom: | `:cherry_blossom:` | [top](#table-of-contents) | +| [top](#animals--nature) | :white_flower: | `:white_flower:` | :lotus: | `:lotus:` | [top](#table-of-contents) | +| [top](#animals--nature) | :rosette: | `:rosette:` | :rose: | `:rose:` | [top](#table-of-contents) | +| [top](#animals--nature) | :wilted_flower: | `:wilted_flower:` | :hibiscus: | `:hibiscus:` | [top](#table-of-contents) | +| [top](#animals--nature) | :sunflower: | `:sunflower:` | :blossom: | `:blossom:` | [top](#table-of-contents) | +| [top](#animals--nature) | :tulip: | `:tulip:` | :hyacinth: | `:hyacinth:` | [top](#table-of-contents) | ### Plant Other | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#animals--nature) | :seedling: | `:seedling:` | :potted_plant: | `:potted_plant:` | [top](#introduction) | -| [top](#animals--nature) | :evergreen_tree: | `:evergreen_tree:` | :deciduous_tree: | `:deciduous_tree:` | [top](#introduction) | -| [top](#animals--nature) | :palm_tree: | `:palm_tree:` | :cactus: | `:cactus:` | [top](#introduction) | -| [top](#animals--nature) | :ear_of_rice: | `:ear_of_rice:` | :herb: | `:herb:` | [top](#introduction) | -| [top](#animals--nature) | :shamrock: | `:shamrock:` | :four_leaf_clover: | `:four_leaf_clover:` | [top](#introduction) | -| [top](#animals--nature) | :maple_leaf: | `:maple_leaf:` | :fallen_leaf: | `:fallen_leaf:` | [top](#introduction) | -| [top](#animals--nature) | :leaves: | `:leaves:` | :mushroom: | `:mushroom:` | [top](#introduction) | +| [top](#animals--nature) | :seedling: | `:seedling:` | :potted_plant: | `:potted_plant:` | [top](#table-of-contents) | +| [top](#animals--nature) | :evergreen_tree: | `:evergreen_tree:` | :deciduous_tree: | `:deciduous_tree:` | [top](#table-of-contents) | +| [top](#animals--nature) | :palm_tree: | `:palm_tree:` | :cactus: | `:cactus:` | [top](#table-of-contents) | +| [top](#animals--nature) | :ear_of_rice: | `:ear_of_rice:` | :herb: | `:herb:` | [top](#table-of-contents) | +| [top](#animals--nature) | :shamrock: | `:shamrock:` | :four_leaf_clover: | `:four_leaf_clover:` | [top](#table-of-contents) | +| [top](#animals--nature) | :maple_leaf: | `:maple_leaf:` | :fallen_leaf: | `:fallen_leaf:` | [top](#table-of-contents) | +| [top](#animals--nature) | :leaves: | `:leaves:` | :empty_nest: | `:empty_nest:` | [top](#table-of-contents) | +| [top](#animals--nature) | :nest_with_eggs: | `:nest_with_eggs:` | :mushroom: | `:mushroom:` | [top](#table-of-contents) | ## Food & Drink @@ -647,107 +695,110 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :grapes: | `:grapes:` | :melon: | `:melon:` | [top](#introduction) | -| [top](#food--drink) | :watermelon: | `:watermelon:` | :mandarin: | `:mandarin:` `:orange:` `:tangerine:` | [top](#introduction) | -| [top](#food--drink) | :lemon: | `:lemon:` | :banana: | `:banana:` | [top](#introduction) | -| [top](#food--drink) | :pineapple: | `:pineapple:` | :mango: | `:mango:` | [top](#introduction) | -| [top](#food--drink) | :apple: | `:apple:` | :green_apple: | `:green_apple:` | [top](#introduction) | -| [top](#food--drink) | :pear: | `:pear:` | :peach: | `:peach:` | [top](#introduction) | -| [top](#food--drink) | :cherries: | `:cherries:` | :strawberry: | `:strawberry:` | [top](#introduction) | -| [top](#food--drink) | :blueberries: | `:blueberries:` | :kiwi_fruit: | `:kiwi_fruit:` | [top](#introduction) | -| [top](#food--drink) | :tomato: | `:tomato:` | :olive: | `:olive:` | [top](#introduction) | -| [top](#food--drink) | :coconut: | `:coconut:` | | | [top](#introduction) | +| [top](#food--drink) | :grapes: | `:grapes:` | :melon: | `:melon:` | [top](#table-of-contents) | +| [top](#food--drink) | :watermelon: | `:watermelon:` | :mandarin: | `:mandarin:`
`:orange:`
`:tangerine:` | [top](#table-of-contents) | +| [top](#food--drink) | :lemon: | `:lemon:` | :banana: | `:banana:` | [top](#table-of-contents) | +| [top](#food--drink) | :pineapple: | `:pineapple:` | :mango: | `:mango:` | [top](#table-of-contents) | +| [top](#food--drink) | :apple: | `:apple:` | :green_apple: | `:green_apple:` | [top](#table-of-contents) | +| [top](#food--drink) | :pear: | `:pear:` | :peach: | `:peach:` | [top](#table-of-contents) | +| [top](#food--drink) | :cherries: | `:cherries:` | :strawberry: | `:strawberry:` | [top](#table-of-contents) | +| [top](#food--drink) | :blueberries: | `:blueberries:` | :kiwi_fruit: | `:kiwi_fruit:` | [top](#table-of-contents) | +| [top](#food--drink) | :tomato: | `:tomato:` | :olive: | `:olive:` | [top](#table-of-contents) | +| [top](#food--drink) | :coconut: | `:coconut:` | | | [top](#table-of-contents) | ### Food Vegetable | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :avocado: | `:avocado:` | :eggplant: | `:eggplant:` | [top](#introduction) | -| [top](#food--drink) | :potato: | `:potato:` | :carrot: | `:carrot:` | [top](#introduction) | -| [top](#food--drink) | :corn: | `:corn:` | :hot_pepper: | `:hot_pepper:` | [top](#introduction) | -| [top](#food--drink) | :bell_pepper: | `:bell_pepper:` | :cucumber: | `:cucumber:` | [top](#introduction) | -| [top](#food--drink) | :leafy_green: | `:leafy_green:` | :broccoli: | `:broccoli:` | [top](#introduction) | -| [top](#food--drink) | :garlic: | `:garlic:` | :onion: | `:onion:` | [top](#introduction) | -| [top](#food--drink) | :peanuts: | `:peanuts:` | :chestnut: | `:chestnut:` | [top](#introduction) | +| [top](#food--drink) | :avocado: | `:avocado:` | :eggplant: | `:eggplant:` | [top](#table-of-contents) | +| [top](#food--drink) | :potato: | `:potato:` | :carrot: | `:carrot:` | [top](#table-of-contents) | +| [top](#food--drink) | :corn: | `:corn:` | :hot_pepper: | `:hot_pepper:` | [top](#table-of-contents) | +| [top](#food--drink) | :bell_pepper: | `:bell_pepper:` | :cucumber: | `:cucumber:` | [top](#table-of-contents) | +| [top](#food--drink) | :leafy_green: | `:leafy_green:` | :broccoli: | `:broccoli:` | [top](#table-of-contents) | +| [top](#food--drink) | :garlic: | `:garlic:` | :onion: | `:onion:` | [top](#table-of-contents) | +| [top](#food--drink) | :peanuts: | `:peanuts:` | :beans: | `:beans:` | [top](#table-of-contents) | +| [top](#food--drink) | :chestnut: | `:chestnut:` | :ginger_root: | `:ginger_root:` | [top](#table-of-contents) | +| [top](#food--drink) | :pea_pod: | `:pea_pod:` | | | [top](#table-of-contents) | ### Food Prepared | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :bread: | `:bread:` | :croissant: | `:croissant:` | [top](#introduction) | -| [top](#food--drink) | :baguette_bread: | `:baguette_bread:` | :flatbread: | `:flatbread:` | [top](#introduction) | -| [top](#food--drink) | :pretzel: | `:pretzel:` | :bagel: | `:bagel:` | [top](#introduction) | -| [top](#food--drink) | :pancakes: | `:pancakes:` | :waffle: | `:waffle:` | [top](#introduction) | -| [top](#food--drink) | :cheese: | `:cheese:` | :meat_on_bone: | `:meat_on_bone:` | [top](#introduction) | -| [top](#food--drink) | :poultry_leg: | `:poultry_leg:` | :cut_of_meat: | `:cut_of_meat:` | [top](#introduction) | -| [top](#food--drink) | :bacon: | `:bacon:` | :hamburger: | `:hamburger:` | [top](#introduction) | -| [top](#food--drink) | :fries: | `:fries:` | :pizza: | `:pizza:` | [top](#introduction) | -| [top](#food--drink) | :hotdog: | `:hotdog:` | :sandwich: | `:sandwich:` | [top](#introduction) | -| [top](#food--drink) | :taco: | `:taco:` | :burrito: | `:burrito:` | [top](#introduction) | -| [top](#food--drink) | :tamale: | `:tamale:` | :stuffed_flatbread: | `:stuffed_flatbread:` | [top](#introduction) | -| [top](#food--drink) | :falafel: | `:falafel:` | :egg: | `:egg:` | [top](#introduction) | -| [top](#food--drink) | :fried_egg: | `:fried_egg:` | :shallow_pan_of_food: | `:shallow_pan_of_food:` | [top](#introduction) | -| [top](#food--drink) | :stew: | `:stew:` | :fondue: | `:fondue:` | [top](#introduction) | -| [top](#food--drink) | :bowl_with_spoon: | `:bowl_with_spoon:` | :green_salad: | `:green_salad:` | [top](#introduction) | -| [top](#food--drink) | :popcorn: | `:popcorn:` | :butter: | `:butter:` | [top](#introduction) | -| [top](#food--drink) | :salt: | `:salt:` | :canned_food: | `:canned_food:` | [top](#introduction) | +| [top](#food--drink) | :bread: | `:bread:` | :croissant: | `:croissant:` | [top](#table-of-contents) | +| [top](#food--drink) | :baguette_bread: | `:baguette_bread:` | :flatbread: | `:flatbread:` | [top](#table-of-contents) | +| [top](#food--drink) | :pretzel: | `:pretzel:` | :bagel: | `:bagel:` | [top](#table-of-contents) | +| [top](#food--drink) | :pancakes: | `:pancakes:` | :waffle: | `:waffle:` | [top](#table-of-contents) | +| [top](#food--drink) | :cheese: | `:cheese:` | :meat_on_bone: | `:meat_on_bone:` | [top](#table-of-contents) | +| [top](#food--drink) | :poultry_leg: | `:poultry_leg:` | :cut_of_meat: | `:cut_of_meat:` | [top](#table-of-contents) | +| [top](#food--drink) | :bacon: | `:bacon:` | :hamburger: | `:hamburger:` | [top](#table-of-contents) | +| [top](#food--drink) | :fries: | `:fries:` | :pizza: | `:pizza:` | [top](#table-of-contents) | +| [top](#food--drink) | :hotdog: | `:hotdog:` | :sandwich: | `:sandwich:` | [top](#table-of-contents) | +| [top](#food--drink) | :taco: | `:taco:` | :burrito: | `:burrito:` | [top](#table-of-contents) | +| [top](#food--drink) | :tamale: | `:tamale:` | :stuffed_flatbread: | `:stuffed_flatbread:` | [top](#table-of-contents) | +| [top](#food--drink) | :falafel: | `:falafel:` | :egg: | `:egg:` | [top](#table-of-contents) | +| [top](#food--drink) | :fried_egg: | `:fried_egg:` | :shallow_pan_of_food: | `:shallow_pan_of_food:` | [top](#table-of-contents) | +| [top](#food--drink) | :stew: | `:stew:` | :fondue: | `:fondue:` | [top](#table-of-contents) | +| [top](#food--drink) | :bowl_with_spoon: | `:bowl_with_spoon:` | :green_salad: | `:green_salad:` | [top](#table-of-contents) | +| [top](#food--drink) | :popcorn: | `:popcorn:` | :butter: | `:butter:` | [top](#table-of-contents) | +| [top](#food--drink) | :salt: | `:salt:` | :canned_food: | `:canned_food:` | [top](#table-of-contents) | ### Food Asian | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :bento: | `:bento:` | :rice_cracker: | `:rice_cracker:` | [top](#introduction) | -| [top](#food--drink) | :rice_ball: | `:rice_ball:` | :rice: | `:rice:` | [top](#introduction) | -| [top](#food--drink) | :curry: | `:curry:` | :ramen: | `:ramen:` | [top](#introduction) | -| [top](#food--drink) | :spaghetti: | `:spaghetti:` | :sweet_potato: | `:sweet_potato:` | [top](#introduction) | -| [top](#food--drink) | :oden: | `:oden:` | :sushi: | `:sushi:` | [top](#introduction) | -| [top](#food--drink) | :fried_shrimp: | `:fried_shrimp:` | :fish_cake: | `:fish_cake:` | [top](#introduction) | -| [top](#food--drink) | :moon_cake: | `:moon_cake:` | :dango: | `:dango:` | [top](#introduction) | -| [top](#food--drink) | :dumpling: | `:dumpling:` | :fortune_cookie: | `:fortune_cookie:` | [top](#introduction) | -| [top](#food--drink) | :takeout_box: | `:takeout_box:` | | | [top](#introduction) | +| [top](#food--drink) | :bento: | `:bento:` | :rice_cracker: | `:rice_cracker:` | [top](#table-of-contents) | +| [top](#food--drink) | :rice_ball: | `:rice_ball:` | :rice: | `:rice:` | [top](#table-of-contents) | +| [top](#food--drink) | :curry: | `:curry:` | :ramen: | `:ramen:` | [top](#table-of-contents) | +| [top](#food--drink) | :spaghetti: | `:spaghetti:` | :sweet_potato: | `:sweet_potato:` | [top](#table-of-contents) | +| [top](#food--drink) | :oden: | `:oden:` | :sushi: | `:sushi:` | [top](#table-of-contents) | +| [top](#food--drink) | :fried_shrimp: | `:fried_shrimp:` | :fish_cake: | `:fish_cake:` | [top](#table-of-contents) | +| [top](#food--drink) | :moon_cake: | `:moon_cake:` | :dango: | `:dango:` | [top](#table-of-contents) | +| [top](#food--drink) | :dumpling: | `:dumpling:` | :fortune_cookie: | `:fortune_cookie:` | [top](#table-of-contents) | +| [top](#food--drink) | :takeout_box: | `:takeout_box:` | | | [top](#table-of-contents) | ### Food Marine | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :crab: | `:crab:` | :lobster: | `:lobster:` | [top](#introduction) | -| [top](#food--drink) | :shrimp: | `:shrimp:` | :squid: | `:squid:` | [top](#introduction) | -| [top](#food--drink) | :oyster: | `:oyster:` | | | [top](#introduction) | +| [top](#food--drink) | :crab: | `:crab:` | :lobster: | `:lobster:` | [top](#table-of-contents) | +| [top](#food--drink) | :shrimp: | `:shrimp:` | :squid: | `:squid:` | [top](#table-of-contents) | +| [top](#food--drink) | :oyster: | `:oyster:` | | | [top](#table-of-contents) | ### Food Sweet | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :icecream: | `:icecream:` | :shaved_ice: | `:shaved_ice:` | [top](#introduction) | -| [top](#food--drink) | :ice_cream: | `:ice_cream:` | :doughnut: | `:doughnut:` | [top](#introduction) | -| [top](#food--drink) | :cookie: | `:cookie:` | :birthday: | `:birthday:` | [top](#introduction) | -| [top](#food--drink) | :cake: | `:cake:` | :cupcake: | `:cupcake:` | [top](#introduction) | -| [top](#food--drink) | :pie: | `:pie:` | :chocolate_bar: | `:chocolate_bar:` | [top](#introduction) | -| [top](#food--drink) | :candy: | `:candy:` | :lollipop: | `:lollipop:` | [top](#introduction) | -| [top](#food--drink) | :custard: | `:custard:` | :honey_pot: | `:honey_pot:` | [top](#introduction) | +| [top](#food--drink) | :icecream: | `:icecream:` | :shaved_ice: | `:shaved_ice:` | [top](#table-of-contents) | +| [top](#food--drink) | :ice_cream: | `:ice_cream:` | :doughnut: | `:doughnut:` | [top](#table-of-contents) | +| [top](#food--drink) | :cookie: | `:cookie:` | :birthday: | `:birthday:` | [top](#table-of-contents) | +| [top](#food--drink) | :cake: | `:cake:` | :cupcake: | `:cupcake:` | [top](#table-of-contents) | +| [top](#food--drink) | :pie: | `:pie:` | :chocolate_bar: | `:chocolate_bar:` | [top](#table-of-contents) | +| [top](#food--drink) | :candy: | `:candy:` | :lollipop: | `:lollipop:` | [top](#table-of-contents) | +| [top](#food--drink) | :custard: | `:custard:` | :honey_pot: | `:honey_pot:` | [top](#table-of-contents) | ### Drink | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :baby_bottle: | `:baby_bottle:` | :milk_glass: | `:milk_glass:` | [top](#introduction) | -| [top](#food--drink) | :coffee: | `:coffee:` | :teapot: | `:teapot:` | [top](#introduction) | -| [top](#food--drink) | :tea: | `:tea:` | :sake: | `:sake:` | [top](#introduction) | -| [top](#food--drink) | :champagne: | `:champagne:` | :wine_glass: | `:wine_glass:` | [top](#introduction) | -| [top](#food--drink) | :cocktail: | `:cocktail:` | :tropical_drink: | `:tropical_drink:` | [top](#introduction) | -| [top](#food--drink) | :beer: | `:beer:` | :beers: | `:beers:` | [top](#introduction) | -| [top](#food--drink) | :clinking_glasses: | `:clinking_glasses:` | :tumbler_glass: | `:tumbler_glass:` | [top](#introduction) | -| [top](#food--drink) | :cup_with_straw: | `:cup_with_straw:` | :bubble_tea: | `:bubble_tea:` | [top](#introduction) | -| [top](#food--drink) | :beverage_box: | `:beverage_box:` | :mate: | `:mate:` | [top](#introduction) | -| [top](#food--drink) | :ice_cube: | `:ice_cube:` | | | [top](#introduction) | +| [top](#food--drink) | :baby_bottle: | `:baby_bottle:` | :milk_glass: | `:milk_glass:` | [top](#table-of-contents) | +| [top](#food--drink) | :coffee: | `:coffee:` | :teapot: | `:teapot:` | [top](#table-of-contents) | +| [top](#food--drink) | :tea: | `:tea:` | :sake: | `:sake:` | [top](#table-of-contents) | +| [top](#food--drink) | :champagne: | `:champagne:` | :wine_glass: | `:wine_glass:` | [top](#table-of-contents) | +| [top](#food--drink) | :cocktail: | `:cocktail:` | :tropical_drink: | `:tropical_drink:` | [top](#table-of-contents) | +| [top](#food--drink) | :beer: | `:beer:` | :beers: | `:beers:` | [top](#table-of-contents) | +| [top](#food--drink) | :clinking_glasses: | `:clinking_glasses:` | :tumbler_glass: | `:tumbler_glass:` | [top](#table-of-contents) | +| [top](#food--drink) | :pouring_liquid: | `:pouring_liquid:` | :cup_with_straw: | `:cup_with_straw:` | [top](#table-of-contents) | +| [top](#food--drink) | :bubble_tea: | `:bubble_tea:` | :beverage_box: | `:beverage_box:` | [top](#table-of-contents) | +| [top](#food--drink) | :mate: | `:mate:` | :ice_cube: | `:ice_cube:` | [top](#table-of-contents) | ### Dishware | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#food--drink) | :chopsticks: | `:chopsticks:` | :plate_with_cutlery: | `:plate_with_cutlery:` | [top](#introduction) | -| [top](#food--drink) | :fork_and_knife: | `:fork_and_knife:` | :spoon: | `:spoon:` | [top](#introduction) | -| [top](#food--drink) | :hocho: | `:hocho:` `:knife:` | :amphora: | `:amphora:` | [top](#introduction) | +| [top](#food--drink) | :chopsticks: | `:chopsticks:` | :plate_with_cutlery: | `:plate_with_cutlery:` | [top](#table-of-contents) | +| [top](#food--drink) | :fork_and_knife: | `:fork_and_knife:` | :spoon: | `:spoon:` | [top](#table-of-contents) | +| [top](#food--drink) | :hocho: | `:hocho:`
`:knife:` | :jar: | `:jar:` | [top](#table-of-contents) | +| [top](#food--drink) | :amphora: | `:amphora:` | | | [top](#table-of-contents) | ## Travel & Places @@ -767,167 +818,169 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :earth_africa: | `:earth_africa:` | :earth_americas: | `:earth_americas:` | [top](#introduction) | -| [top](#travel--places) | :earth_asia: | `:earth_asia:` | :globe_with_meridians: | `:globe_with_meridians:` | [top](#introduction) | -| [top](#travel--places) | :world_map: | `:world_map:` | :japan: | `:japan:` | [top](#introduction) | -| [top](#travel--places) | :compass: | `:compass:` | | | [top](#introduction) | +| [top](#travel--places) | :earth_africa: | `:earth_africa:` | :earth_americas: | `:earth_americas:` | [top](#table-of-contents) | +| [top](#travel--places) | :earth_asia: | `:earth_asia:` | :globe_with_meridians: | `:globe_with_meridians:` | [top](#table-of-contents) | +| [top](#travel--places) | :world_map: | `:world_map:` | :japan: | `:japan:` | [top](#table-of-contents) | +| [top](#travel--places) | :compass: | `:compass:` | | | [top](#table-of-contents) | ### Place Geographic | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :mountain_snow: | `:mountain_snow:` | :mountain: | `:mountain:` | [top](#introduction) | -| [top](#travel--places) | :volcano: | `:volcano:` | :mount_fuji: | `:mount_fuji:` | [top](#introduction) | -| [top](#travel--places) | :camping: | `:camping:` | :beach_umbrella: | `:beach_umbrella:` | [top](#introduction) | -| [top](#travel--places) | :desert: | `:desert:` | :desert_island: | `:desert_island:` | [top](#introduction) | -| [top](#travel--places) | :national_park: | `:national_park:` | | | [top](#introduction) | +| [top](#travel--places) | :mountain_snow: | `:mountain_snow:` | :mountain: | `:mountain:` | [top](#table-of-contents) | +| [top](#travel--places) | :volcano: | `:volcano:` | :mount_fuji: | `:mount_fuji:` | [top](#table-of-contents) | +| [top](#travel--places) | :camping: | `:camping:` | :beach_umbrella: | `:beach_umbrella:` | [top](#table-of-contents) | +| [top](#travel--places) | :desert: | `:desert:` | :desert_island: | `:desert_island:` | [top](#table-of-contents) | +| [top](#travel--places) | :national_park: | `:national_park:` | | | [top](#table-of-contents) | ### Place Building | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :stadium: | `:stadium:` | :classical_building: | `:classical_building:` | [top](#introduction) | -| [top](#travel--places) | :building_construction: | `:building_construction:` | :bricks: | `:bricks:` | [top](#introduction) | -| [top](#travel--places) | :rock: | `:rock:` | :wood: | `:wood:` | [top](#introduction) | -| [top](#travel--places) | :hut: | `:hut:` | :houses: | `:houses:` | [top](#introduction) | -| [top](#travel--places) | :derelict_house: | `:derelict_house:` | :house: | `:house:` | [top](#introduction) | -| [top](#travel--places) | :house_with_garden: | `:house_with_garden:` | :office: | `:office:` | [top](#introduction) | -| [top](#travel--places) | :post_office: | `:post_office:` | :european_post_office: | `:european_post_office:` | [top](#introduction) | -| [top](#travel--places) | :hospital: | `:hospital:` | :bank: | `:bank:` | [top](#introduction) | -| [top](#travel--places) | :hotel: | `:hotel:` | :love_hotel: | `:love_hotel:` | [top](#introduction) | -| [top](#travel--places) | :convenience_store: | `:convenience_store:` | :school: | `:school:` | [top](#introduction) | -| [top](#travel--places) | :department_store: | `:department_store:` | :factory: | `:factory:` | [top](#introduction) | -| [top](#travel--places) | :japanese_castle: | `:japanese_castle:` | :european_castle: | `:european_castle:` | [top](#introduction) | -| [top](#travel--places) | :wedding: | `:wedding:` | :tokyo_tower: | `:tokyo_tower:` | [top](#introduction) | -| [top](#travel--places) | :statue_of_liberty: | `:statue_of_liberty:` | | | [top](#introduction) | +| [top](#travel--places) | :stadium: | `:stadium:` | :classical_building: | `:classical_building:` | [top](#table-of-contents) | +| [top](#travel--places) | :building_construction: | `:building_construction:` | :bricks: | `:bricks:` | [top](#table-of-contents) | +| [top](#travel--places) | :rock: | `:rock:` | :wood: | `:wood:` | [top](#table-of-contents) | +| [top](#travel--places) | :hut: | `:hut:` | :houses: | `:houses:` | [top](#table-of-contents) | +| [top](#travel--places) | :derelict_house: | `:derelict_house:` | :house: | `:house:` | [top](#table-of-contents) | +| [top](#travel--places) | :house_with_garden: | `:house_with_garden:` | :office: | `:office:` | [top](#table-of-contents) | +| [top](#travel--places) | :post_office: | `:post_office:` | :european_post_office: | `:european_post_office:` | [top](#table-of-contents) | +| [top](#travel--places) | :hospital: | `:hospital:` | :bank: | `:bank:` | [top](#table-of-contents) | +| [top](#travel--places) | :hotel: | `:hotel:` | :love_hotel: | `:love_hotel:` | [top](#table-of-contents) | +| [top](#travel--places) | :convenience_store: | `:convenience_store:` | :school: | `:school:` | [top](#table-of-contents) | +| [top](#travel--places) | :department_store: | `:department_store:` | :factory: | `:factory:` | [top](#table-of-contents) | +| [top](#travel--places) | :japanese_castle: | `:japanese_castle:` | :european_castle: | `:european_castle:` | [top](#table-of-contents) | +| [top](#travel--places) | :wedding: | `:wedding:` | :tokyo_tower: | `:tokyo_tower:` | [top](#table-of-contents) | +| [top](#travel--places) | :statue_of_liberty: | `:statue_of_liberty:` | | | [top](#table-of-contents) | ### Place Religious | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :church: | `:church:` | :mosque: | `:mosque:` | [top](#introduction) | -| [top](#travel--places) | :hindu_temple: | `:hindu_temple:` | :synagogue: | `:synagogue:` | [top](#introduction) | -| [top](#travel--places) | :shinto_shrine: | `:shinto_shrine:` | :kaaba: | `:kaaba:` | [top](#introduction) | +| [top](#travel--places) | :church: | `:church:` | :mosque: | `:mosque:` | [top](#table-of-contents) | +| [top](#travel--places) | :hindu_temple: | `:hindu_temple:` | :synagogue: | `:synagogue:` | [top](#table-of-contents) | +| [top](#travel--places) | :shinto_shrine: | `:shinto_shrine:` | :kaaba: | `:kaaba:` | [top](#table-of-contents) | ### Place Other | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :fountain: | `:fountain:` | :tent: | `:tent:` | [top](#introduction) | -| [top](#travel--places) | :foggy: | `:foggy:` | :night_with_stars: | `:night_with_stars:` | [top](#introduction) | -| [top](#travel--places) | :cityscape: | `:cityscape:` | :sunrise_over_mountains: | `:sunrise_over_mountains:` | [top](#introduction) | -| [top](#travel--places) | :sunrise: | `:sunrise:` | :city_sunset: | `:city_sunset:` | [top](#introduction) | -| [top](#travel--places) | :city_sunrise: | `:city_sunrise:` | :bridge_at_night: | `:bridge_at_night:` | [top](#introduction) | -| [top](#travel--places) | :hotsprings: | `:hotsprings:` | :carousel_horse: | `:carousel_horse:` | [top](#introduction) | -| [top](#travel--places) | :ferris_wheel: | `:ferris_wheel:` | :roller_coaster: | `:roller_coaster:` | [top](#introduction) | -| [top](#travel--places) | :barber: | `:barber:` | :circus_tent: | `:circus_tent:` | [top](#introduction) | +| [top](#travel--places) | :fountain: | `:fountain:` | :tent: | `:tent:` | [top](#table-of-contents) | +| [top](#travel--places) | :foggy: | `:foggy:` | :night_with_stars: | `:night_with_stars:` | [top](#table-of-contents) | +| [top](#travel--places) | :cityscape: | `:cityscape:` | :sunrise_over_mountains: | `:sunrise_over_mountains:` | [top](#table-of-contents) | +| [top](#travel--places) | :sunrise: | `:sunrise:` | :city_sunset: | `:city_sunset:` | [top](#table-of-contents) | +| [top](#travel--places) | :city_sunrise: | `:city_sunrise:` | :bridge_at_night: | `:bridge_at_night:` | [top](#table-of-contents) | +| [top](#travel--places) | :hotsprings: | `:hotsprings:` | :carousel_horse: | `:carousel_horse:` | [top](#table-of-contents) | +| [top](#travel--places) | :playground_slide: | `:playground_slide:` | :ferris_wheel: | `:ferris_wheel:` | [top](#table-of-contents) | +| [top](#travel--places) | :roller_coaster: | `:roller_coaster:` | :barber: | `:barber:` | [top](#table-of-contents) | +| [top](#travel--places) | :circus_tent: | `:circus_tent:` | | | [top](#table-of-contents) | ### Transport Ground | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :steam_locomotive: | `:steam_locomotive:` | :railway_car: | `:railway_car:` | [top](#introduction) | -| [top](#travel--places) | :bullettrain_side: | `:bullettrain_side:` | :bullettrain_front: | `:bullettrain_front:` | [top](#introduction) | -| [top](#travel--places) | :train2: | `:train2:` | :metro: | `:metro:` | [top](#introduction) | -| [top](#travel--places) | :light_rail: | `:light_rail:` | :station: | `:station:` | [top](#introduction) | -| [top](#travel--places) | :tram: | `:tram:` | :monorail: | `:monorail:` | [top](#introduction) | -| [top](#travel--places) | :mountain_railway: | `:mountain_railway:` | :train: | `:train:` | [top](#introduction) | -| [top](#travel--places) | :bus: | `:bus:` | :oncoming_bus: | `:oncoming_bus:` | [top](#introduction) | -| [top](#travel--places) | :trolleybus: | `:trolleybus:` | :minibus: | `:minibus:` | [top](#introduction) | -| [top](#travel--places) | :ambulance: | `:ambulance:` | :fire_engine: | `:fire_engine:` | [top](#introduction) | -| [top](#travel--places) | :police_car: | `:police_car:` | :oncoming_police_car: | `:oncoming_police_car:` | [top](#introduction) | -| [top](#travel--places) | :taxi: | `:taxi:` | :oncoming_taxi: | `:oncoming_taxi:` | [top](#introduction) | -| [top](#travel--places) | :car: | `:car:` `:red_car:` | :oncoming_automobile: | `:oncoming_automobile:` | [top](#introduction) | -| [top](#travel--places) | :blue_car: | `:blue_car:` | :pickup_truck: | `:pickup_truck:` | [top](#introduction) | -| [top](#travel--places) | :truck: | `:truck:` | :articulated_lorry: | `:articulated_lorry:` | [top](#introduction) | -| [top](#travel--places) | :tractor: | `:tractor:` | :racing_car: | `:racing_car:` | [top](#introduction) | -| [top](#travel--places) | :motorcycle: | `:motorcycle:` | :motor_scooter: | `:motor_scooter:` | [top](#introduction) | -| [top](#travel--places) | :manual_wheelchair: | `:manual_wheelchair:` | :motorized_wheelchair: | `:motorized_wheelchair:` | [top](#introduction) | -| [top](#travel--places) | :auto_rickshaw: | `:auto_rickshaw:` | :bike: | `:bike:` | [top](#introduction) | -| [top](#travel--places) | :kick_scooter: | `:kick_scooter:` | :skateboard: | `:skateboard:` | [top](#introduction) | -| [top](#travel--places) | :roller_skate: | `:roller_skate:` | :busstop: | `:busstop:` | [top](#introduction) | -| [top](#travel--places) | :motorway: | `:motorway:` | :railway_track: | `:railway_track:` | [top](#introduction) | -| [top](#travel--places) | :oil_drum: | `:oil_drum:` | :fuelpump: | `:fuelpump:` | [top](#introduction) | -| [top](#travel--places) | :rotating_light: | `:rotating_light:` | :traffic_light: | `:traffic_light:` | [top](#introduction) | -| [top](#travel--places) | :vertical_traffic_light: | `:vertical_traffic_light:` | :stop_sign: | `:stop_sign:` | [top](#introduction) | -| [top](#travel--places) | :construction: | `:construction:` | | | [top](#introduction) | +| [top](#travel--places) | :steam_locomotive: | `:steam_locomotive:` | :railway_car: | `:railway_car:` | [top](#table-of-contents) | +| [top](#travel--places) | :bullettrain_side: | `:bullettrain_side:` | :bullettrain_front: | `:bullettrain_front:` | [top](#table-of-contents) | +| [top](#travel--places) | :train2: | `:train2:` | :metro: | `:metro:` | [top](#table-of-contents) | +| [top](#travel--places) | :light_rail: | `:light_rail:` | :station: | `:station:` | [top](#table-of-contents) | +| [top](#travel--places) | :tram: | `:tram:` | :monorail: | `:monorail:` | [top](#table-of-contents) | +| [top](#travel--places) | :mountain_railway: | `:mountain_railway:` | :train: | `:train:` | [top](#table-of-contents) | +| [top](#travel--places) | :bus: | `:bus:` | :oncoming_bus: | `:oncoming_bus:` | [top](#table-of-contents) | +| [top](#travel--places) | :trolleybus: | `:trolleybus:` | :minibus: | `:minibus:` | [top](#table-of-contents) | +| [top](#travel--places) | :ambulance: | `:ambulance:` | :fire_engine: | `:fire_engine:` | [top](#table-of-contents) | +| [top](#travel--places) | :police_car: | `:police_car:` | :oncoming_police_car: | `:oncoming_police_car:` | [top](#table-of-contents) | +| [top](#travel--places) | :taxi: | `:taxi:` | :oncoming_taxi: | `:oncoming_taxi:` | [top](#table-of-contents) | +| [top](#travel--places) | :car: | `:car:`
`:red_car:` | :oncoming_automobile: | `:oncoming_automobile:` | [top](#table-of-contents) | +| [top](#travel--places) | :blue_car: | `:blue_car:` | :pickup_truck: | `:pickup_truck:` | [top](#table-of-contents) | +| [top](#travel--places) | :truck: | `:truck:` | :articulated_lorry: | `:articulated_lorry:` | [top](#table-of-contents) | +| [top](#travel--places) | :tractor: | `:tractor:` | :racing_car: | `:racing_car:` | [top](#table-of-contents) | +| [top](#travel--places) | :motorcycle: | `:motorcycle:` | :motor_scooter: | `:motor_scooter:` | [top](#table-of-contents) | +| [top](#travel--places) | :manual_wheelchair: | `:manual_wheelchair:` | :motorized_wheelchair: | `:motorized_wheelchair:` | [top](#table-of-contents) | +| [top](#travel--places) | :auto_rickshaw: | `:auto_rickshaw:` | :bike: | `:bike:` | [top](#table-of-contents) | +| [top](#travel--places) | :kick_scooter: | `:kick_scooter:` | :skateboard: | `:skateboard:` | [top](#table-of-contents) | +| [top](#travel--places) | :roller_skate: | `:roller_skate:` | :busstop: | `:busstop:` | [top](#table-of-contents) | +| [top](#travel--places) | :motorway: | `:motorway:` | :railway_track: | `:railway_track:` | [top](#table-of-contents) | +| [top](#travel--places) | :oil_drum: | `:oil_drum:` | :fuelpump: | `:fuelpump:` | [top](#table-of-contents) | +| [top](#travel--places) | :wheel: | `:wheel:` | :rotating_light: | `:rotating_light:` | [top](#table-of-contents) | +| [top](#travel--places) | :traffic_light: | `:traffic_light:` | :vertical_traffic_light: | `:vertical_traffic_light:` | [top](#table-of-contents) | +| [top](#travel--places) | :stop_sign: | `:stop_sign:` | :construction: | `:construction:` | [top](#table-of-contents) | ### Transport Water | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :anchor: | `:anchor:` | :boat: | `:boat:` `:sailboat:` | [top](#introduction) | -| [top](#travel--places) | :canoe: | `:canoe:` | :speedboat: | `:speedboat:` | [top](#introduction) | -| [top](#travel--places) | :passenger_ship: | `:passenger_ship:` | :ferry: | `:ferry:` | [top](#introduction) | -| [top](#travel--places) | :motor_boat: | `:motor_boat:` | :ship: | `:ship:` | [top](#introduction) | +| [top](#travel--places) | :anchor: | `:anchor:` | :ring_buoy: | `:ring_buoy:` | [top](#table-of-contents) | +| [top](#travel--places) | :boat: | `:boat:`
`:sailboat:` | :canoe: | `:canoe:` | [top](#table-of-contents) | +| [top](#travel--places) | :speedboat: | `:speedboat:` | :passenger_ship: | `:passenger_ship:` | [top](#table-of-contents) | +| [top](#travel--places) | :ferry: | `:ferry:` | :motor_boat: | `:motor_boat:` | [top](#table-of-contents) | +| [top](#travel--places) | :ship: | `:ship:` | | | [top](#table-of-contents) | ### Transport Air | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :airplane: | `:airplane:` | :small_airplane: | `:small_airplane:` | [top](#introduction) | -| [top](#travel--places) | :flight_departure: | `:flight_departure:` | :flight_arrival: | `:flight_arrival:` | [top](#introduction) | -| [top](#travel--places) | :parachute: | `:parachute:` | :seat: | `:seat:` | [top](#introduction) | -| [top](#travel--places) | :helicopter: | `:helicopter:` | :suspension_railway: | `:suspension_railway:` | [top](#introduction) | -| [top](#travel--places) | :mountain_cableway: | `:mountain_cableway:` | :aerial_tramway: | `:aerial_tramway:` | [top](#introduction) | -| [top](#travel--places) | :artificial_satellite: | `:artificial_satellite:` | :rocket: | `:rocket:` | [top](#introduction) | -| [top](#travel--places) | :flying_saucer: | `:flying_saucer:` | | | [top](#introduction) | +| [top](#travel--places) | :airplane: | `:airplane:` | :small_airplane: | `:small_airplane:` | [top](#table-of-contents) | +| [top](#travel--places) | :flight_departure: | `:flight_departure:` | :flight_arrival: | `:flight_arrival:` | [top](#table-of-contents) | +| [top](#travel--places) | :parachute: | `:parachute:` | :seat: | `:seat:` | [top](#table-of-contents) | +| [top](#travel--places) | :helicopter: | `:helicopter:` | :suspension_railway: | `:suspension_railway:` | [top](#table-of-contents) | +| [top](#travel--places) | :mountain_cableway: | `:mountain_cableway:` | :aerial_tramway: | `:aerial_tramway:` | [top](#table-of-contents) | +| [top](#travel--places) | :artificial_satellite: | `:artificial_satellite:` | :rocket: | `:rocket:` | [top](#table-of-contents) | +| [top](#travel--places) | :flying_saucer: | `:flying_saucer:` | | | [top](#table-of-contents) | ### Hotel | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :bellhop_bell: | `:bellhop_bell:` | :luggage: | `:luggage:` | [top](#introduction) | +| [top](#travel--places) | :bellhop_bell: | `:bellhop_bell:` | :luggage: | `:luggage:` | [top](#table-of-contents) | ### Time | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :hourglass: | `:hourglass:` | :hourglass_flowing_sand: | `:hourglass_flowing_sand:` | [top](#introduction) | -| [top](#travel--places) | :watch: | `:watch:` | :alarm_clock: | `:alarm_clock:` | [top](#introduction) | -| [top](#travel--places) | :stopwatch: | `:stopwatch:` | :timer_clock: | `:timer_clock:` | [top](#introduction) | -| [top](#travel--places) | :mantelpiece_clock: | `:mantelpiece_clock:` | :clock12: | `:clock12:` | [top](#introduction) | -| [top](#travel--places) | :clock1230: | `:clock1230:` | :clock1: | `:clock1:` | [top](#introduction) | -| [top](#travel--places) | :clock130: | `:clock130:` | :clock2: | `:clock2:` | [top](#introduction) | -| [top](#travel--places) | :clock230: | `:clock230:` | :clock3: | `:clock3:` | [top](#introduction) | -| [top](#travel--places) | :clock330: | `:clock330:` | :clock4: | `:clock4:` | [top](#introduction) | -| [top](#travel--places) | :clock430: | `:clock430:` | :clock5: | `:clock5:` | [top](#introduction) | -| [top](#travel--places) | :clock530: | `:clock530:` | :clock6: | `:clock6:` | [top](#introduction) | -| [top](#travel--places) | :clock630: | `:clock630:` | :clock7: | `:clock7:` | [top](#introduction) | -| [top](#travel--places) | :clock730: | `:clock730:` | :clock8: | `:clock8:` | [top](#introduction) | -| [top](#travel--places) | :clock830: | `:clock830:` | :clock9: | `:clock9:` | [top](#introduction) | -| [top](#travel--places) | :clock930: | `:clock930:` | :clock10: | `:clock10:` | [top](#introduction) | -| [top](#travel--places) | :clock1030: | `:clock1030:` | :clock11: | `:clock11:` | [top](#introduction) | -| [top](#travel--places) | :clock1130: | `:clock1130:` | | | [top](#introduction) | +| [top](#travel--places) | :hourglass: | `:hourglass:` | :hourglass_flowing_sand: | `:hourglass_flowing_sand:` | [top](#table-of-contents) | +| [top](#travel--places) | :watch: | `:watch:` | :alarm_clock: | `:alarm_clock:` | [top](#table-of-contents) | +| [top](#travel--places) | :stopwatch: | `:stopwatch:` | :timer_clock: | `:timer_clock:` | [top](#table-of-contents) | +| [top](#travel--places) | :mantelpiece_clock: | `:mantelpiece_clock:` | :clock12: | `:clock12:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock1230: | `:clock1230:` | :clock1: | `:clock1:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock130: | `:clock130:` | :clock2: | `:clock2:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock230: | `:clock230:` | :clock3: | `:clock3:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock330: | `:clock330:` | :clock4: | `:clock4:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock430: | `:clock430:` | :clock5: | `:clock5:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock530: | `:clock530:` | :clock6: | `:clock6:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock630: | `:clock630:` | :clock7: | `:clock7:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock730: | `:clock730:` | :clock8: | `:clock8:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock830: | `:clock830:` | :clock9: | `:clock9:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock930: | `:clock930:` | :clock10: | `:clock10:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock1030: | `:clock1030:` | :clock11: | `:clock11:` | [top](#table-of-contents) | +| [top](#travel--places) | :clock1130: | `:clock1130:` | | | [top](#table-of-contents) | ### Sky & Weather | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#travel--places) | :new_moon: | `:new_moon:` | :waxing_crescent_moon: | `:waxing_crescent_moon:` | [top](#introduction) | -| [top](#travel--places) | :first_quarter_moon: | `:first_quarter_moon:` | :moon: | `:moon:` `:waxing_gibbous_moon:` | [top](#introduction) | -| [top](#travel--places) | :full_moon: | `:full_moon:` | :waning_gibbous_moon: | `:waning_gibbous_moon:` | [top](#introduction) | -| [top](#travel--places) | :last_quarter_moon: | `:last_quarter_moon:` | :waning_crescent_moon: | `:waning_crescent_moon:` | [top](#introduction) | -| [top](#travel--places) | :crescent_moon: | `:crescent_moon:` | :new_moon_with_face: | `:new_moon_with_face:` | [top](#introduction) | -| [top](#travel--places) | :first_quarter_moon_with_face: | `:first_quarter_moon_with_face:` | :last_quarter_moon_with_face: | `:last_quarter_moon_with_face:` | [top](#introduction) | -| [top](#travel--places) | :thermometer: | `:thermometer:` | :sunny: | `:sunny:` | [top](#introduction) | -| [top](#travel--places) | :full_moon_with_face: | `:full_moon_with_face:` | :sun_with_face: | `:sun_with_face:` | [top](#introduction) | -| [top](#travel--places) | :ringed_planet: | `:ringed_planet:` | :star: | `:star:` | [top](#introduction) | -| [top](#travel--places) | :star2: | `:star2:` | :stars: | `:stars:` | [top](#introduction) | -| [top](#travel--places) | :milky_way: | `:milky_way:` | :cloud: | `:cloud:` | [top](#introduction) | -| [top](#travel--places) | :partly_sunny: | `:partly_sunny:` | :cloud_with_lightning_and_rain: | `:cloud_with_lightning_and_rain:` | [top](#introduction) | -| [top](#travel--places) | :sun_behind_small_cloud: | `:sun_behind_small_cloud:` | :sun_behind_large_cloud: | `:sun_behind_large_cloud:` | [top](#introduction) | -| [top](#travel--places) | :sun_behind_rain_cloud: | `:sun_behind_rain_cloud:` | :cloud_with_rain: | `:cloud_with_rain:` | [top](#introduction) | -| [top](#travel--places) | :cloud_with_snow: | `:cloud_with_snow:` | :cloud_with_lightning: | `:cloud_with_lightning:` | [top](#introduction) | -| [top](#travel--places) | :tornado: | `:tornado:` | :fog: | `:fog:` | [top](#introduction) | -| [top](#travel--places) | :wind_face: | `:wind_face:` | :cyclone: | `:cyclone:` | [top](#introduction) | -| [top](#travel--places) | :rainbow: | `:rainbow:` | :closed_umbrella: | `:closed_umbrella:` | [top](#introduction) | -| [top](#travel--places) | :open_umbrella: | `:open_umbrella:` | :umbrella: | `:umbrella:` | [top](#introduction) | -| [top](#travel--places) | :parasol_on_ground: | `:parasol_on_ground:` | :zap: | `:zap:` | [top](#introduction) | -| [top](#travel--places) | :snowflake: | `:snowflake:` | :snowman_with_snow: | `:snowman_with_snow:` | [top](#introduction) | -| [top](#travel--places) | :snowman: | `:snowman:` | :comet: | `:comet:` | [top](#introduction) | -| [top](#travel--places) | :fire: | `:fire:` | :droplet: | `:droplet:` | [top](#introduction) | -| [top](#travel--places) | :ocean: | `:ocean:` | | | [top](#introduction) | +| [top](#travel--places) | :new_moon: | `:new_moon:` | :waxing_crescent_moon: | `:waxing_crescent_moon:` | [top](#table-of-contents) | +| [top](#travel--places) | :first_quarter_moon: | `:first_quarter_moon:` | :moon: | `:moon:`
`:waxing_gibbous_moon:` | [top](#table-of-contents) | +| [top](#travel--places) | :full_moon: | `:full_moon:` | :waning_gibbous_moon: | `:waning_gibbous_moon:` | [top](#table-of-contents) | +| [top](#travel--places) | :last_quarter_moon: | `:last_quarter_moon:` | :waning_crescent_moon: | `:waning_crescent_moon:` | [top](#table-of-contents) | +| [top](#travel--places) | :crescent_moon: | `:crescent_moon:` | :new_moon_with_face: | `:new_moon_with_face:` | [top](#table-of-contents) | +| [top](#travel--places) | :first_quarter_moon_with_face: | `:first_quarter_moon_with_face:` | :last_quarter_moon_with_face: | `:last_quarter_moon_with_face:` | [top](#table-of-contents) | +| [top](#travel--places) | :thermometer: | `:thermometer:` | :sunny: | `:sunny:` | [top](#table-of-contents) | +| [top](#travel--places) | :full_moon_with_face: | `:full_moon_with_face:` | :sun_with_face: | `:sun_with_face:` | [top](#table-of-contents) | +| [top](#travel--places) | :ringed_planet: | `:ringed_planet:` | :star: | `:star:` | [top](#table-of-contents) | +| [top](#travel--places) | :star2: | `:star2:` | :stars: | `:stars:` | [top](#table-of-contents) | +| [top](#travel--places) | :milky_way: | `:milky_way:` | :cloud: | `:cloud:` | [top](#table-of-contents) | +| [top](#travel--places) | :partly_sunny: | `:partly_sunny:` | :cloud_with_lightning_and_rain: | `:cloud_with_lightning_and_rain:` | [top](#table-of-contents) | +| [top](#travel--places) | :sun_behind_small_cloud: | `:sun_behind_small_cloud:` | :sun_behind_large_cloud: | `:sun_behind_large_cloud:` | [top](#table-of-contents) | +| [top](#travel--places) | :sun_behind_rain_cloud: | `:sun_behind_rain_cloud:` | :cloud_with_rain: | `:cloud_with_rain:` | [top](#table-of-contents) | +| [top](#travel--places) | :cloud_with_snow: | `:cloud_with_snow:` | :cloud_with_lightning: | `:cloud_with_lightning:` | [top](#table-of-contents) | +| [top](#travel--places) | :tornado: | `:tornado:` | :fog: | `:fog:` | [top](#table-of-contents) | +| [top](#travel--places) | :wind_face: | `:wind_face:` | :cyclone: | `:cyclone:` | [top](#table-of-contents) | +| [top](#travel--places) | :rainbow: | `:rainbow:` | :closed_umbrella: | `:closed_umbrella:` | [top](#table-of-contents) | +| [top](#travel--places) | :open_umbrella: | `:open_umbrella:` | :umbrella: | `:umbrella:` | [top](#table-of-contents) | +| [top](#travel--places) | :parasol_on_ground: | `:parasol_on_ground:` | :zap: | `:zap:` | [top](#table-of-contents) | +| [top](#travel--places) | :snowflake: | `:snowflake:` | :snowman_with_snow: | `:snowman_with_snow:` | [top](#table-of-contents) | +| [top](#travel--places) | :snowman: | `:snowman:` | :comet: | `:comet:` | [top](#table-of-contents) | +| [top](#travel--places) | :fire: | `:fire:` | :droplet: | `:droplet:` | [top](#table-of-contents) | +| [top](#travel--places) | :ocean: | `:ocean:` | | | [top](#table-of-contents) | ## Activities @@ -941,70 +994,70 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#activities) | :jack_o_lantern: | `:jack_o_lantern:` | :christmas_tree: | `:christmas_tree:` | [top](#introduction) | -| [top](#activities) | :fireworks: | `:fireworks:` | :sparkler: | `:sparkler:` | [top](#introduction) | -| [top](#activities) | :firecracker: | `:firecracker:` | :sparkles: | `:sparkles:` | [top](#introduction) | -| [top](#activities) | :balloon: | `:balloon:` | :tada: | `:tada:` | [top](#introduction) | -| [top](#activities) | :confetti_ball: | `:confetti_ball:` | :tanabata_tree: | `:tanabata_tree:` | [top](#introduction) | -| [top](#activities) | :bamboo: | `:bamboo:` | :dolls: | `:dolls:` | [top](#introduction) | -| [top](#activities) | :flags: | `:flags:` | :wind_chime: | `:wind_chime:` | [top](#introduction) | -| [top](#activities) | :rice_scene: | `:rice_scene:` | :red_envelope: | `:red_envelope:` | [top](#introduction) | -| [top](#activities) | :ribbon: | `:ribbon:` | :gift: | `:gift:` | [top](#introduction) | -| [top](#activities) | :reminder_ribbon: | `:reminder_ribbon:` | :tickets: | `:tickets:` | [top](#introduction) | -| [top](#activities) | :ticket: | `:ticket:` | | | [top](#introduction) | +| [top](#activities) | :jack_o_lantern: | `:jack_o_lantern:` | :christmas_tree: | `:christmas_tree:` | [top](#table-of-contents) | +| [top](#activities) | :fireworks: | `:fireworks:` | :sparkler: | `:sparkler:` | [top](#table-of-contents) | +| [top](#activities) | :firecracker: | `:firecracker:` | :sparkles: | `:sparkles:` | [top](#table-of-contents) | +| [top](#activities) | :balloon: | `:balloon:` | :tada: | `:tada:` | [top](#table-of-contents) | +| [top](#activities) | :confetti_ball: | `:confetti_ball:` | :tanabata_tree: | `:tanabata_tree:` | [top](#table-of-contents) | +| [top](#activities) | :bamboo: | `:bamboo:` | :dolls: | `:dolls:` | [top](#table-of-contents) | +| [top](#activities) | :flags: | `:flags:` | :wind_chime: | `:wind_chime:` | [top](#table-of-contents) | +| [top](#activities) | :rice_scene: | `:rice_scene:` | :red_envelope: | `:red_envelope:` | [top](#table-of-contents) | +| [top](#activities) | :ribbon: | `:ribbon:` | :gift: | `:gift:` | [top](#table-of-contents) | +| [top](#activities) | :reminder_ribbon: | `:reminder_ribbon:` | :tickets: | `:tickets:` | [top](#table-of-contents) | +| [top](#activities) | :ticket: | `:ticket:` | | | [top](#table-of-contents) | ### Award Medal | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#activities) | :medal_military: | `:medal_military:` | :trophy: | `:trophy:` | [top](#introduction) | -| [top](#activities) | :medal_sports: | `:medal_sports:` | :1st_place_medal: | `:1st_place_medal:` | [top](#introduction) | -| [top](#activities) | :2nd_place_medal: | `:2nd_place_medal:` | :3rd_place_medal: | `:3rd_place_medal:` | [top](#introduction) | +| [top](#activities) | :medal_military: | `:medal_military:` | :trophy: | `:trophy:` | [top](#table-of-contents) | +| [top](#activities) | :medal_sports: | `:medal_sports:` | :1st_place_medal: | `:1st_place_medal:` | [top](#table-of-contents) | +| [top](#activities) | :2nd_place_medal: | `:2nd_place_medal:` | :3rd_place_medal: | `:3rd_place_medal:` | [top](#table-of-contents) | ### Sport | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#activities) | :soccer: | `:soccer:` | :baseball: | `:baseball:` | [top](#introduction) | -| [top](#activities) | :softball: | `:softball:` | :basketball: | `:basketball:` | [top](#introduction) | -| [top](#activities) | :volleyball: | `:volleyball:` | :football: | `:football:` | [top](#introduction) | -| [top](#activities) | :rugby_football: | `:rugby_football:` | :tennis: | `:tennis:` | [top](#introduction) | -| [top](#activities) | :flying_disc: | `:flying_disc:` | :bowling: | `:bowling:` | [top](#introduction) | -| [top](#activities) | :cricket_game: | `:cricket_game:` | :field_hockey: | `:field_hockey:` | [top](#introduction) | -| [top](#activities) | :ice_hockey: | `:ice_hockey:` | :lacrosse: | `:lacrosse:` | [top](#introduction) | -| [top](#activities) | :ping_pong: | `:ping_pong:` | :badminton: | `:badminton:` | [top](#introduction) | -| [top](#activities) | :boxing_glove: | `:boxing_glove:` | :martial_arts_uniform: | `:martial_arts_uniform:` | [top](#introduction) | -| [top](#activities) | :goal_net: | `:goal_net:` | :golf: | `:golf:` | [top](#introduction) | -| [top](#activities) | :ice_skate: | `:ice_skate:` | :fishing_pole_and_fish: | `:fishing_pole_and_fish:` | [top](#introduction) | -| [top](#activities) | :diving_mask: | `:diving_mask:` | :running_shirt_with_sash: | `:running_shirt_with_sash:` | [top](#introduction) | -| [top](#activities) | :ski: | `:ski:` | :sled: | `:sled:` | [top](#introduction) | -| [top](#activities) | :curling_stone: | `:curling_stone:` | | | [top](#introduction) | +| [top](#activities) | :soccer: | `:soccer:` | :baseball: | `:baseball:` | [top](#table-of-contents) | +| [top](#activities) | :softball: | `:softball:` | :basketball: | `:basketball:` | [top](#table-of-contents) | +| [top](#activities) | :volleyball: | `:volleyball:` | :football: | `:football:` | [top](#table-of-contents) | +| [top](#activities) | :rugby_football: | `:rugby_football:` | :tennis: | `:tennis:` | [top](#table-of-contents) | +| [top](#activities) | :flying_disc: | `:flying_disc:` | :bowling: | `:bowling:` | [top](#table-of-contents) | +| [top](#activities) | :cricket_game: | `:cricket_game:` | :field_hockey: | `:field_hockey:` | [top](#table-of-contents) | +| [top](#activities) | :ice_hockey: | `:ice_hockey:` | :lacrosse: | `:lacrosse:` | [top](#table-of-contents) | +| [top](#activities) | :ping_pong: | `:ping_pong:` | :badminton: | `:badminton:` | [top](#table-of-contents) | +| [top](#activities) | :boxing_glove: | `:boxing_glove:` | :martial_arts_uniform: | `:martial_arts_uniform:` | [top](#table-of-contents) | +| [top](#activities) | :goal_net: | `:goal_net:` | :golf: | `:golf:` | [top](#table-of-contents) | +| [top](#activities) | :ice_skate: | `:ice_skate:` | :fishing_pole_and_fish: | `:fishing_pole_and_fish:` | [top](#table-of-contents) | +| [top](#activities) | :diving_mask: | `:diving_mask:` | :running_shirt_with_sash: | `:running_shirt_with_sash:` | [top](#table-of-contents) | +| [top](#activities) | :ski: | `:ski:` | :sled: | `:sled:` | [top](#table-of-contents) | +| [top](#activities) | :curling_stone: | `:curling_stone:` | | | [top](#table-of-contents) | ### Game | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#activities) | :dart: | `:dart:` | :yo_yo: | `:yo_yo:` | [top](#introduction) | -| [top](#activities) | :kite: | `:kite:` | :gun: | `:gun:` | [top](#introduction) | -| [top](#activities) | :8ball: | `:8ball:` | :crystal_ball: | `:crystal_ball:` | [top](#introduction) | -| [top](#activities) | :magic_wand: | `:magic_wand:` | :video_game: | `:video_game:` | [top](#introduction) | -| [top](#activities) | :joystick: | `:joystick:` | :slot_machine: | `:slot_machine:` | [top](#introduction) | -| [top](#activities) | :game_die: | `:game_die:` | :jigsaw: | `:jigsaw:` | [top](#introduction) | -| [top](#activities) | :teddy_bear: | `:teddy_bear:` | :pinata: | `:pinata:` | [top](#introduction) | -| [top](#activities) | :nesting_dolls: | `:nesting_dolls:` | :spades: | `:spades:` | [top](#introduction) | -| [top](#activities) | :hearts: | `:hearts:` | :diamonds: | `:diamonds:` | [top](#introduction) | -| [top](#activities) | :clubs: | `:clubs:` | :chess_pawn: | `:chess_pawn:` | [top](#introduction) | -| [top](#activities) | :black_joker: | `:black_joker:` | :mahjong: | `:mahjong:` | [top](#introduction) | -| [top](#activities) | :flower_playing_cards: | `:flower_playing_cards:` | | | [top](#introduction) | +| [top](#activities) | :dart: | `:dart:` | :yo_yo: | `:yo_yo:` | [top](#table-of-contents) | +| [top](#activities) | :kite: | `:kite:` | :gun: | `:gun:` | [top](#table-of-contents) | +| [top](#activities) | :8ball: | `:8ball:` | :crystal_ball: | `:crystal_ball:` | [top](#table-of-contents) | +| [top](#activities) | :magic_wand: | `:magic_wand:` | :video_game: | `:video_game:` | [top](#table-of-contents) | +| [top](#activities) | :joystick: | `:joystick:` | :slot_machine: | `:slot_machine:` | [top](#table-of-contents) | +| [top](#activities) | :game_die: | `:game_die:` | :jigsaw: | `:jigsaw:` | [top](#table-of-contents) | +| [top](#activities) | :teddy_bear: | `:teddy_bear:` | :pinata: | `:pinata:` | [top](#table-of-contents) | +| [top](#activities) | :mirror_ball: | `:mirror_ball:` | :nesting_dolls: | `:nesting_dolls:` | [top](#table-of-contents) | +| [top](#activities) | :spades: | `:spades:` | :hearts: | `:hearts:` | [top](#table-of-contents) | +| [top](#activities) | :diamonds: | `:diamonds:` | :clubs: | `:clubs:` | [top](#table-of-contents) | +| [top](#activities) | :chess_pawn: | `:chess_pawn:` | :black_joker: | `:black_joker:` | [top](#table-of-contents) | +| [top](#activities) | :mahjong: | `:mahjong:` | :flower_playing_cards: | `:flower_playing_cards:` | [top](#table-of-contents) | ### Arts & Crafts | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#activities) | :performing_arts: | `:performing_arts:` | :framed_picture: | `:framed_picture:` | [top](#introduction) | -| [top](#activities) | :art: | `:art:` | :thread: | `:thread:` | [top](#introduction) | -| [top](#activities) | :sewing_needle: | `:sewing_needle:` | :yarn: | `:yarn:` | [top](#introduction) | -| [top](#activities) | :knot: | `:knot:` | | | [top](#introduction) | +| [top](#activities) | :performing_arts: | `:performing_arts:` | :framed_picture: | `:framed_picture:` | [top](#table-of-contents) | +| [top](#activities) | :art: | `:art:` | :thread: | `:thread:` | [top](#table-of-contents) | +| [top](#activities) | :sewing_needle: | `:sewing_needle:` | :yarn: | `:yarn:` | [top](#table-of-contents) | +| [top](#activities) | :knot: | `:knot:` | | | [top](#table-of-contents) | ## Objects @@ -1031,223 +1084,228 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :eyeglasses: | `:eyeglasses:` | :dark_sunglasses: | `:dark_sunglasses:` | [top](#introduction) | -| [top](#objects) | :goggles: | `:goggles:` | :lab_coat: | `:lab_coat:` | [top](#introduction) | -| [top](#objects) | :safety_vest: | `:safety_vest:` | :necktie: | `:necktie:` | [top](#introduction) | -| [top](#objects) | :shirt: | `:shirt:` `:tshirt:` | :jeans: | `:jeans:` | [top](#introduction) | -| [top](#objects) | :scarf: | `:scarf:` | :gloves: | `:gloves:` | [top](#introduction) | -| [top](#objects) | :coat: | `:coat:` | :socks: | `:socks:` | [top](#introduction) | -| [top](#objects) | :dress: | `:dress:` | :kimono: | `:kimono:` | [top](#introduction) | -| [top](#objects) | :sari: | `:sari:` | :one_piece_swimsuit: | `:one_piece_swimsuit:` | [top](#introduction) | -| [top](#objects) | :swim_brief: | `:swim_brief:` | :shorts: | `:shorts:` | [top](#introduction) | -| [top](#objects) | :bikini: | `:bikini:` | :womans_clothes: | `:womans_clothes:` | [top](#introduction) | -| [top](#objects) | :purse: | `:purse:` | :handbag: | `:handbag:` | [top](#introduction) | -| [top](#objects) | :pouch: | `:pouch:` | :shopping: | `:shopping:` | [top](#introduction) | -| [top](#objects) | :school_satchel: | `:school_satchel:` | :thong_sandal: | `:thong_sandal:` | [top](#introduction) | -| [top](#objects) | :mans_shoe: | `:mans_shoe:` `:shoe:` | :athletic_shoe: | `:athletic_shoe:` | [top](#introduction) | -| [top](#objects) | :hiking_boot: | `:hiking_boot:` | :flat_shoe: | `:flat_shoe:` | [top](#introduction) | -| [top](#objects) | :high_heel: | `:high_heel:` | :sandal: | `:sandal:` | [top](#introduction) | -| [top](#objects) | :ballet_shoes: | `:ballet_shoes:` | :boot: | `:boot:` | [top](#introduction) | -| [top](#objects) | :crown: | `:crown:` | :womans_hat: | `:womans_hat:` | [top](#introduction) | -| [top](#objects) | :tophat: | `:tophat:` | :mortar_board: | `:mortar_board:` | [top](#introduction) | -| [top](#objects) | :billed_cap: | `:billed_cap:` | :military_helmet: | `:military_helmet:` | [top](#introduction) | -| [top](#objects) | :rescue_worker_helmet: | `:rescue_worker_helmet:` | :prayer_beads: | `:prayer_beads:` | [top](#introduction) | -| [top](#objects) | :lipstick: | `:lipstick:` | :ring: | `:ring:` | [top](#introduction) | -| [top](#objects) | :gem: | `:gem:` | | | [top](#introduction) | +| [top](#objects) | :eyeglasses: | `:eyeglasses:` | :dark_sunglasses: | `:dark_sunglasses:` | [top](#table-of-contents) | +| [top](#objects) | :goggles: | `:goggles:` | :lab_coat: | `:lab_coat:` | [top](#table-of-contents) | +| [top](#objects) | :safety_vest: | `:safety_vest:` | :necktie: | `:necktie:` | [top](#table-of-contents) | +| [top](#objects) | :shirt: | `:shirt:`
`:tshirt:` | :jeans: | `:jeans:` | [top](#table-of-contents) | +| [top](#objects) | :scarf: | `:scarf:` | :gloves: | `:gloves:` | [top](#table-of-contents) | +| [top](#objects) | :coat: | `:coat:` | :socks: | `:socks:` | [top](#table-of-contents) | +| [top](#objects) | :dress: | `:dress:` | :kimono: | `:kimono:` | [top](#table-of-contents) | +| [top](#objects) | :sari: | `:sari:` | :one_piece_swimsuit: | `:one_piece_swimsuit:` | [top](#table-of-contents) | +| [top](#objects) | :swim_brief: | `:swim_brief:` | :shorts: | `:shorts:` | [top](#table-of-contents) | +| [top](#objects) | :bikini: | `:bikini:` | :womans_clothes: | `:womans_clothes:` | [top](#table-of-contents) | +| [top](#objects) | :folding_hand_fan: | `:folding_hand_fan:` | :purse: | `:purse:` | [top](#table-of-contents) | +| [top](#objects) | :handbag: | `:handbag:` | :pouch: | `:pouch:` | [top](#table-of-contents) | +| [top](#objects) | :shopping: | `:shopping:` | :school_satchel: | `:school_satchel:` | [top](#table-of-contents) | +| [top](#objects) | :thong_sandal: | `:thong_sandal:` | :mans_shoe: | `:mans_shoe:`
`:shoe:` | [top](#table-of-contents) | +| [top](#objects) | :athletic_shoe: | `:athletic_shoe:` | :hiking_boot: | `:hiking_boot:` | [top](#table-of-contents) | +| [top](#objects) | :flat_shoe: | `:flat_shoe:` | :high_heel: | `:high_heel:` | [top](#table-of-contents) | +| [top](#objects) | :sandal: | `:sandal:` | :ballet_shoes: | `:ballet_shoes:` | [top](#table-of-contents) | +| [top](#objects) | :boot: | `:boot:` | :hair_pick: | `:hair_pick:` | [top](#table-of-contents) | +| [top](#objects) | :crown: | `:crown:` | :womans_hat: | `:womans_hat:` | [top](#table-of-contents) | +| [top](#objects) | :tophat: | `:tophat:` | :mortar_board: | `:mortar_board:` | [top](#table-of-contents) | +| [top](#objects) | :billed_cap: | `:billed_cap:` | :military_helmet: | `:military_helmet:` | [top](#table-of-contents) | +| [top](#objects) | :rescue_worker_helmet: | `:rescue_worker_helmet:` | :prayer_beads: | `:prayer_beads:` | [top](#table-of-contents) | +| [top](#objects) | :lipstick: | `:lipstick:` | :ring: | `:ring:` | [top](#table-of-contents) | +| [top](#objects) | :gem: | `:gem:` | | | [top](#table-of-contents) | ### Sound | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :mute: | `:mute:` | :speaker: | `:speaker:` | [top](#introduction) | -| [top](#objects) | :sound: | `:sound:` | :loud_sound: | `:loud_sound:` | [top](#introduction) | -| [top](#objects) | :loudspeaker: | `:loudspeaker:` | :mega: | `:mega:` | [top](#introduction) | -| [top](#objects) | :postal_horn: | `:postal_horn:` | :bell: | `:bell:` | [top](#introduction) | -| [top](#objects) | :no_bell: | `:no_bell:` | | | [top](#introduction) | +| [top](#objects) | :mute: | `:mute:` | :speaker: | `:speaker:` | [top](#table-of-contents) | +| [top](#objects) | :sound: | `:sound:` | :loud_sound: | `:loud_sound:` | [top](#table-of-contents) | +| [top](#objects) | :loudspeaker: | `:loudspeaker:` | :mega: | `:mega:` | [top](#table-of-contents) | +| [top](#objects) | :postal_horn: | `:postal_horn:` | :bell: | `:bell:` | [top](#table-of-contents) | +| [top](#objects) | :no_bell: | `:no_bell:` | | | [top](#table-of-contents) | ### Music | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :musical_score: | `:musical_score:` | :musical_note: | `:musical_note:` | [top](#introduction) | -| [top](#objects) | :notes: | `:notes:` | :studio_microphone: | `:studio_microphone:` | [top](#introduction) | -| [top](#objects) | :level_slider: | `:level_slider:` | :control_knobs: | `:control_knobs:` | [top](#introduction) | -| [top](#objects) | :microphone: | `:microphone:` | :headphones: | `:headphones:` | [top](#introduction) | -| [top](#objects) | :radio: | `:radio:` | | | [top](#introduction) | +| [top](#objects) | :musical_score: | `:musical_score:` | :musical_note: | `:musical_note:` | [top](#table-of-contents) | +| [top](#objects) | :notes: | `:notes:` | :studio_microphone: | `:studio_microphone:` | [top](#table-of-contents) | +| [top](#objects) | :level_slider: | `:level_slider:` | :control_knobs: | `:control_knobs:` | [top](#table-of-contents) | +| [top](#objects) | :microphone: | `:microphone:` | :headphones: | `:headphones:` | [top](#table-of-contents) | +| [top](#objects) | :radio: | `:radio:` | | | [top](#table-of-contents) | ### Musical Instrument | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :saxophone: | `:saxophone:` | :accordion: | `:accordion:` | [top](#introduction) | -| [top](#objects) | :guitar: | `:guitar:` | :musical_keyboard: | `:musical_keyboard:` | [top](#introduction) | -| [top](#objects) | :trumpet: | `:trumpet:` | :violin: | `:violin:` | [top](#introduction) | -| [top](#objects) | :banjo: | `:banjo:` | :drum: | `:drum:` | [top](#introduction) | -| [top](#objects) | :long_drum: | `:long_drum:` | | | [top](#introduction) | +| [top](#objects) | :saxophone: | `:saxophone:` | :accordion: | `:accordion:` | [top](#table-of-contents) | +| [top](#objects) | :guitar: | `:guitar:` | :musical_keyboard: | `:musical_keyboard:` | [top](#table-of-contents) | +| [top](#objects) | :trumpet: | `:trumpet:` | :violin: | `:violin:` | [top](#table-of-contents) | +| [top](#objects) | :banjo: | `:banjo:` | :drum: | `:drum:` | [top](#table-of-contents) | +| [top](#objects) | :long_drum: | `:long_drum:` | :maracas: | `:maracas:` | [top](#table-of-contents) | +| [top](#objects) | :flute: | `:flute:` | | | [top](#table-of-contents) | ### Phone | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :iphone: | `:iphone:` | :calling: | `:calling:` | [top](#introduction) | -| [top](#objects) | :phone: | `:phone:` `:telephone:` | :telephone_receiver: | `:telephone_receiver:` | [top](#introduction) | -| [top](#objects) | :pager: | `:pager:` | :fax: | `:fax:` | [top](#introduction) | +| [top](#objects) | :iphone: | `:iphone:` | :calling: | `:calling:` | [top](#table-of-contents) | +| [top](#objects) | :phone: | `:phone:`
`:telephone:` | :telephone_receiver: | `:telephone_receiver:` | [top](#table-of-contents) | +| [top](#objects) | :pager: | `:pager:` | :fax: | `:fax:` | [top](#table-of-contents) | ### Computer | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :battery: | `:battery:` | :electric_plug: | `:electric_plug:` | [top](#introduction) | -| [top](#objects) | :computer: | `:computer:` | :desktop_computer: | `:desktop_computer:` | [top](#introduction) | -| [top](#objects) | :printer: | `:printer:` | :keyboard: | `:keyboard:` | [top](#introduction) | -| [top](#objects) | :computer_mouse: | `:computer_mouse:` | :trackball: | `:trackball:` | [top](#introduction) | -| [top](#objects) | :minidisc: | `:minidisc:` | :floppy_disk: | `:floppy_disk:` | [top](#introduction) | -| [top](#objects) | :cd: | `:cd:` | :dvd: | `:dvd:` | [top](#introduction) | -| [top](#objects) | :abacus: | `:abacus:` | | | [top](#introduction) | +| [top](#objects) | :battery: | `:battery:` | :low_battery: | `:low_battery:` | [top](#table-of-contents) | +| [top](#objects) | :electric_plug: | `:electric_plug:` | :computer: | `:computer:` | [top](#table-of-contents) | +| [top](#objects) | :desktop_computer: | `:desktop_computer:` | :printer: | `:printer:` | [top](#table-of-contents) | +| [top](#objects) | :keyboard: | `:keyboard:` | :computer_mouse: | `:computer_mouse:` | [top](#table-of-contents) | +| [top](#objects) | :trackball: | `:trackball:` | :minidisc: | `:minidisc:` | [top](#table-of-contents) | +| [top](#objects) | :floppy_disk: | `:floppy_disk:` | :cd: | `:cd:` | [top](#table-of-contents) | +| [top](#objects) | :dvd: | `:dvd:` | :abacus: | `:abacus:` | [top](#table-of-contents) | ### Light & Video | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :movie_camera: | `:movie_camera:` | :film_strip: | `:film_strip:` | [top](#introduction) | -| [top](#objects) | :film_projector: | `:film_projector:` | :clapper: | `:clapper:` | [top](#introduction) | -| [top](#objects) | :tv: | `:tv:` | :camera: | `:camera:` | [top](#introduction) | -| [top](#objects) | :camera_flash: | `:camera_flash:` | :video_camera: | `:video_camera:` | [top](#introduction) | -| [top](#objects) | :vhs: | `:vhs:` | :mag: | `:mag:` | [top](#introduction) | -| [top](#objects) | :mag_right: | `:mag_right:` | :candle: | `:candle:` | [top](#introduction) | -| [top](#objects) | :bulb: | `:bulb:` | :flashlight: | `:flashlight:` | [top](#introduction) | -| [top](#objects) | :izakaya_lantern: | `:izakaya_lantern:` `:lantern:` | :diya_lamp: | `:diya_lamp:` | [top](#introduction) | +| [top](#objects) | :movie_camera: | `:movie_camera:` | :film_strip: | `:film_strip:` | [top](#table-of-contents) | +| [top](#objects) | :film_projector: | `:film_projector:` | :clapper: | `:clapper:` | [top](#table-of-contents) | +| [top](#objects) | :tv: | `:tv:` | :camera: | `:camera:` | [top](#table-of-contents) | +| [top](#objects) | :camera_flash: | `:camera_flash:` | :video_camera: | `:video_camera:` | [top](#table-of-contents) | +| [top](#objects) | :vhs: | `:vhs:` | :mag: | `:mag:` | [top](#table-of-contents) | +| [top](#objects) | :mag_right: | `:mag_right:` | :candle: | `:candle:` | [top](#table-of-contents) | +| [top](#objects) | :bulb: | `:bulb:` | :flashlight: | `:flashlight:` | [top](#table-of-contents) | +| [top](#objects) | :izakaya_lantern: | `:izakaya_lantern:`
`:lantern:` | :diya_lamp: | `:diya_lamp:` | [top](#table-of-contents) | ### Book Paper | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :notebook_with_decorative_cover: | `:notebook_with_decorative_cover:` | :closed_book: | `:closed_book:` | [top](#introduction) | -| [top](#objects) | :book: | `:book:` `:open_book:` | :green_book: | `:green_book:` | [top](#introduction) | -| [top](#objects) | :blue_book: | `:blue_book:` | :orange_book: | `:orange_book:` | [top](#introduction) | -| [top](#objects) | :books: | `:books:` | :notebook: | `:notebook:` | [top](#introduction) | -| [top](#objects) | :ledger: | `:ledger:` | :page_with_curl: | `:page_with_curl:` | [top](#introduction) | -| [top](#objects) | :scroll: | `:scroll:` | :page_facing_up: | `:page_facing_up:` | [top](#introduction) | -| [top](#objects) | :newspaper: | `:newspaper:` | :newspaper_roll: | `:newspaper_roll:` | [top](#introduction) | -| [top](#objects) | :bookmark_tabs: | `:bookmark_tabs:` | :bookmark: | `:bookmark:` | [top](#introduction) | -| [top](#objects) | :label: | `:label:` | | | [top](#introduction) | +| [top](#objects) | :notebook_with_decorative_cover: | `:notebook_with_decorative_cover:` | :closed_book: | `:closed_book:` | [top](#table-of-contents) | +| [top](#objects) | :book: | `:book:`
`:open_book:` | :green_book: | `:green_book:` | [top](#table-of-contents) | +| [top](#objects) | :blue_book: | `:blue_book:` | :orange_book: | `:orange_book:` | [top](#table-of-contents) | +| [top](#objects) | :books: | `:books:` | :notebook: | `:notebook:` | [top](#table-of-contents) | +| [top](#objects) | :ledger: | `:ledger:` | :page_with_curl: | `:page_with_curl:` | [top](#table-of-contents) | +| [top](#objects) | :scroll: | `:scroll:` | :page_facing_up: | `:page_facing_up:` | [top](#table-of-contents) | +| [top](#objects) | :newspaper: | `:newspaper:` | :newspaper_roll: | `:newspaper_roll:` | [top](#table-of-contents) | +| [top](#objects) | :bookmark_tabs: | `:bookmark_tabs:` | :bookmark: | `:bookmark:` | [top](#table-of-contents) | +| [top](#objects) | :label: | `:label:` | | | [top](#table-of-contents) | ### Money | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :moneybag: | `:moneybag:` | :coin: | `:coin:` | [top](#introduction) | -| [top](#objects) | :yen: | `:yen:` | :dollar: | `:dollar:` | [top](#introduction) | -| [top](#objects) | :euro: | `:euro:` | :pound: | `:pound:` | [top](#introduction) | -| [top](#objects) | :money_with_wings: | `:money_with_wings:` | :credit_card: | `:credit_card:` | [top](#introduction) | -| [top](#objects) | :receipt: | `:receipt:` | :chart: | `:chart:` | [top](#introduction) | +| [top](#objects) | :moneybag: | `:moneybag:` | :coin: | `:coin:` | [top](#table-of-contents) | +| [top](#objects) | :yen: | `:yen:` | :dollar: | `:dollar:` | [top](#table-of-contents) | +| [top](#objects) | :euro: | `:euro:` | :pound: | `:pound:` | [top](#table-of-contents) | +| [top](#objects) | :money_with_wings: | `:money_with_wings:` | :credit_card: | `:credit_card:` | [top](#table-of-contents) | +| [top](#objects) | :receipt: | `:receipt:` | :chart: | `:chart:` | [top](#table-of-contents) | ### Mail | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :envelope: | `:envelope:` | :e-mail: | `:e-mail:` `:email:` | [top](#introduction) | -| [top](#objects) | :incoming_envelope: | `:incoming_envelope:` | :envelope_with_arrow: | `:envelope_with_arrow:` | [top](#introduction) | -| [top](#objects) | :outbox_tray: | `:outbox_tray:` | :inbox_tray: | `:inbox_tray:` | [top](#introduction) | -| [top](#objects) | :package: | `:package:` | :mailbox: | `:mailbox:` | [top](#introduction) | -| [top](#objects) | :mailbox_closed: | `:mailbox_closed:` | :mailbox_with_mail: | `:mailbox_with_mail:` | [top](#introduction) | -| [top](#objects) | :mailbox_with_no_mail: | `:mailbox_with_no_mail:` | :postbox: | `:postbox:` | [top](#introduction) | -| [top](#objects) | :ballot_box: | `:ballot_box:` | | | [top](#introduction) | +| [top](#objects) | :envelope: | `:envelope:` | :e-mail: | `:e-mail:`
`:email:` | [top](#table-of-contents) | +| [top](#objects) | :incoming_envelope: | `:incoming_envelope:` | :envelope_with_arrow: | `:envelope_with_arrow:` | [top](#table-of-contents) | +| [top](#objects) | :outbox_tray: | `:outbox_tray:` | :inbox_tray: | `:inbox_tray:` | [top](#table-of-contents) | +| [top](#objects) | :package: | `:package:` | :mailbox: | `:mailbox:` | [top](#table-of-contents) | +| [top](#objects) | :mailbox_closed: | `:mailbox_closed:` | :mailbox_with_mail: | `:mailbox_with_mail:` | [top](#table-of-contents) | +| [top](#objects) | :mailbox_with_no_mail: | `:mailbox_with_no_mail:` | :postbox: | `:postbox:` | [top](#table-of-contents) | +| [top](#objects) | :ballot_box: | `:ballot_box:` | | | [top](#table-of-contents) | ### Writing | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :pencil2: | `:pencil2:` | :black_nib: | `:black_nib:` | [top](#introduction) | -| [top](#objects) | :fountain_pen: | `:fountain_pen:` | :pen: | `:pen:` | [top](#introduction) | -| [top](#objects) | :paintbrush: | `:paintbrush:` | :crayon: | `:crayon:` | [top](#introduction) | -| [top](#objects) | :memo: | `:memo:` `:pencil:` | | | [top](#introduction) | +| [top](#objects) | :pencil2: | `:pencil2:` | :black_nib: | `:black_nib:` | [top](#table-of-contents) | +| [top](#objects) | :fountain_pen: | `:fountain_pen:` | :pen: | `:pen:` | [top](#table-of-contents) | +| [top](#objects) | :paintbrush: | `:paintbrush:` | :crayon: | `:crayon:` | [top](#table-of-contents) | +| [top](#objects) | :memo: | `:memo:`
`:pencil:` | | | [top](#table-of-contents) | ### Office | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :briefcase: | `:briefcase:` | :file_folder: | `:file_folder:` | [top](#introduction) | -| [top](#objects) | :open_file_folder: | `:open_file_folder:` | :card_index_dividers: | `:card_index_dividers:` | [top](#introduction) | -| [top](#objects) | :date: | `:date:` | :calendar: | `:calendar:` | [top](#introduction) | -| [top](#objects) | :spiral_notepad: | `:spiral_notepad:` | :spiral_calendar: | `:spiral_calendar:` | [top](#introduction) | -| [top](#objects) | :card_index: | `:card_index:` | :chart_with_upwards_trend: | `:chart_with_upwards_trend:` | [top](#introduction) | -| [top](#objects) | :chart_with_downwards_trend: | `:chart_with_downwards_trend:` | :bar_chart: | `:bar_chart:` | [top](#introduction) | -| [top](#objects) | :clipboard: | `:clipboard:` | :pushpin: | `:pushpin:` | [top](#introduction) | -| [top](#objects) | :round_pushpin: | `:round_pushpin:` | :paperclip: | `:paperclip:` | [top](#introduction) | -| [top](#objects) | :paperclips: | `:paperclips:` | :straight_ruler: | `:straight_ruler:` | [top](#introduction) | -| [top](#objects) | :triangular_ruler: | `:triangular_ruler:` | :scissors: | `:scissors:` | [top](#introduction) | -| [top](#objects) | :card_file_box: | `:card_file_box:` | :file_cabinet: | `:file_cabinet:` | [top](#introduction) | -| [top](#objects) | :wastebasket: | `:wastebasket:` | | | [top](#introduction) | +| [top](#objects) | :briefcase: | `:briefcase:` | :file_folder: | `:file_folder:` | [top](#table-of-contents) | +| [top](#objects) | :open_file_folder: | `:open_file_folder:` | :card_index_dividers: | `:card_index_dividers:` | [top](#table-of-contents) | +| [top](#objects) | :date: | `:date:` | :calendar: | `:calendar:` | [top](#table-of-contents) | +| [top](#objects) | :spiral_notepad: | `:spiral_notepad:` | :spiral_calendar: | `:spiral_calendar:` | [top](#table-of-contents) | +| [top](#objects) | :card_index: | `:card_index:` | :chart_with_upwards_trend: | `:chart_with_upwards_trend:` | [top](#table-of-contents) | +| [top](#objects) | :chart_with_downwards_trend: | `:chart_with_downwards_trend:` | :bar_chart: | `:bar_chart:` | [top](#table-of-contents) | +| [top](#objects) | :clipboard: | `:clipboard:` | :pushpin: | `:pushpin:` | [top](#table-of-contents) | +| [top](#objects) | :round_pushpin: | `:round_pushpin:` | :paperclip: | `:paperclip:` | [top](#table-of-contents) | +| [top](#objects) | :paperclips: | `:paperclips:` | :straight_ruler: | `:straight_ruler:` | [top](#table-of-contents) | +| [top](#objects) | :triangular_ruler: | `:triangular_ruler:` | :scissors: | `:scissors:` | [top](#table-of-contents) | +| [top](#objects) | :card_file_box: | `:card_file_box:` | :file_cabinet: | `:file_cabinet:` | [top](#table-of-contents) | +| [top](#objects) | :wastebasket: | `:wastebasket:` | | | [top](#table-of-contents) | ### Lock | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :lock: | `:lock:` | :unlock: | `:unlock:` | [top](#introduction) | -| [top](#objects) | :lock_with_ink_pen: | `:lock_with_ink_pen:` | :closed_lock_with_key: | `:closed_lock_with_key:` | [top](#introduction) | -| [top](#objects) | :key: | `:key:` | :old_key: | `:old_key:` | [top](#introduction) | +| [top](#objects) | :lock: | `:lock:` | :unlock: | `:unlock:` | [top](#table-of-contents) | +| [top](#objects) | :lock_with_ink_pen: | `:lock_with_ink_pen:` | :closed_lock_with_key: | `:closed_lock_with_key:` | [top](#table-of-contents) | +| [top](#objects) | :key: | `:key:` | :old_key: | `:old_key:` | [top](#table-of-contents) | ### Tool | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :hammer: | `:hammer:` | :axe: | `:axe:` | [top](#introduction) | -| [top](#objects) | :pick: | `:pick:` | :hammer_and_pick: | `:hammer_and_pick:` | [top](#introduction) | -| [top](#objects) | :hammer_and_wrench: | `:hammer_and_wrench:` | :dagger: | `:dagger:` | [top](#introduction) | -| [top](#objects) | :crossed_swords: | `:crossed_swords:` | :bomb: | `:bomb:` | [top](#introduction) | -| [top](#objects) | :boomerang: | `:boomerang:` | :bow_and_arrow: | `:bow_and_arrow:` | [top](#introduction) | -| [top](#objects) | :shield: | `:shield:` | :carpentry_saw: | `:carpentry_saw:` | [top](#introduction) | -| [top](#objects) | :wrench: | `:wrench:` | :screwdriver: | `:screwdriver:` | [top](#introduction) | -| [top](#objects) | :nut_and_bolt: | `:nut_and_bolt:` | :gear: | `:gear:` | [top](#introduction) | -| [top](#objects) | :clamp: | `:clamp:` | :balance_scale: | `:balance_scale:` | [top](#introduction) | -| [top](#objects) | :probing_cane: | `:probing_cane:` | :link: | `:link:` | [top](#introduction) | -| [top](#objects) | :chains: | `:chains:` | :hook: | `:hook:` | [top](#introduction) | -| [top](#objects) | :toolbox: | `:toolbox:` | :magnet: | `:magnet:` | [top](#introduction) | -| [top](#objects) | :ladder: | `:ladder:` | | | [top](#introduction) | +| [top](#objects) | :hammer: | `:hammer:` | :axe: | `:axe:` | [top](#table-of-contents) | +| [top](#objects) | :pick: | `:pick:` | :hammer_and_pick: | `:hammer_and_pick:` | [top](#table-of-contents) | +| [top](#objects) | :hammer_and_wrench: | `:hammer_and_wrench:` | :dagger: | `:dagger:` | [top](#table-of-contents) | +| [top](#objects) | :crossed_swords: | `:crossed_swords:` | :bomb: | `:bomb:` | [top](#table-of-contents) | +| [top](#objects) | :boomerang: | `:boomerang:` | :bow_and_arrow: | `:bow_and_arrow:` | [top](#table-of-contents) | +| [top](#objects) | :shield: | `:shield:` | :carpentry_saw: | `:carpentry_saw:` | [top](#table-of-contents) | +| [top](#objects) | :wrench: | `:wrench:` | :screwdriver: | `:screwdriver:` | [top](#table-of-contents) | +| [top](#objects) | :nut_and_bolt: | `:nut_and_bolt:` | :gear: | `:gear:` | [top](#table-of-contents) | +| [top](#objects) | :clamp: | `:clamp:` | :balance_scale: | `:balance_scale:` | [top](#table-of-contents) | +| [top](#objects) | :probing_cane: | `:probing_cane:` | :link: | `:link:` | [top](#table-of-contents) | +| [top](#objects) | :chains: | `:chains:` | :hook: | `:hook:` | [top](#table-of-contents) | +| [top](#objects) | :toolbox: | `:toolbox:` | :magnet: | `:magnet:` | [top](#table-of-contents) | +| [top](#objects) | :ladder: | `:ladder:` | | | [top](#table-of-contents) | ### Science | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :alembic: | `:alembic:` | :test_tube: | `:test_tube:` | [top](#introduction) | -| [top](#objects) | :petri_dish: | `:petri_dish:` | :dna: | `:dna:` | [top](#introduction) | -| [top](#objects) | :microscope: | `:microscope:` | :telescope: | `:telescope:` | [top](#introduction) | -| [top](#objects) | :satellite: | `:satellite:` | | | [top](#introduction) | +| [top](#objects) | :alembic: | `:alembic:` | :test_tube: | `:test_tube:` | [top](#table-of-contents) | +| [top](#objects) | :petri_dish: | `:petri_dish:` | :dna: | `:dna:` | [top](#table-of-contents) | +| [top](#objects) | :microscope: | `:microscope:` | :telescope: | `:telescope:` | [top](#table-of-contents) | +| [top](#objects) | :satellite: | `:satellite:` | | | [top](#table-of-contents) | ### Medical | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :syringe: | `:syringe:` | :drop_of_blood: | `:drop_of_blood:` | [top](#introduction) | -| [top](#objects) | :pill: | `:pill:` | :adhesive_bandage: | `:adhesive_bandage:` | [top](#introduction) | -| [top](#objects) | :stethoscope: | `:stethoscope:` | | | [top](#introduction) | +| [top](#objects) | :syringe: | `:syringe:` | :drop_of_blood: | `:drop_of_blood:` | [top](#table-of-contents) | +| [top](#objects) | :pill: | `:pill:` | :adhesive_bandage: | `:adhesive_bandage:` | [top](#table-of-contents) | +| [top](#objects) | :crutch: | `:crutch:` | :stethoscope: | `:stethoscope:` | [top](#table-of-contents) | +| [top](#objects) | :x_ray: | `:x_ray:` | | | [top](#table-of-contents) | ### Household | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :door: | `:door:` | :elevator: | `:elevator:` | [top](#introduction) | -| [top](#objects) | :mirror: | `:mirror:` | :window: | `:window:` | [top](#introduction) | -| [top](#objects) | :bed: | `:bed:` | :couch_and_lamp: | `:couch_and_lamp:` | [top](#introduction) | -| [top](#objects) | :chair: | `:chair:` | :toilet: | `:toilet:` | [top](#introduction) | -| [top](#objects) | :plunger: | `:plunger:` | :shower: | `:shower:` | [top](#introduction) | -| [top](#objects) | :bathtub: | `:bathtub:` | :mouse_trap: | `:mouse_trap:` | [top](#introduction) | -| [top](#objects) | :razor: | `:razor:` | :lotion_bottle: | `:lotion_bottle:` | [top](#introduction) | -| [top](#objects) | :safety_pin: | `:safety_pin:` | :broom: | `:broom:` | [top](#introduction) | -| [top](#objects) | :basket: | `:basket:` | :roll_of_paper: | `:roll_of_paper:` | [top](#introduction) | -| [top](#objects) | :bucket: | `:bucket:` | :soap: | `:soap:` | [top](#introduction) | -| [top](#objects) | :toothbrush: | `:toothbrush:` | :sponge: | `:sponge:` | [top](#introduction) | -| [top](#objects) | :fire_extinguisher: | `:fire_extinguisher:` | :shopping_cart: | `:shopping_cart:` | [top](#introduction) | +| [top](#objects) | :door: | `:door:` | :elevator: | `:elevator:` | [top](#table-of-contents) | +| [top](#objects) | :mirror: | `:mirror:` | :window: | `:window:` | [top](#table-of-contents) | +| [top](#objects) | :bed: | `:bed:` | :couch_and_lamp: | `:couch_and_lamp:` | [top](#table-of-contents) | +| [top](#objects) | :chair: | `:chair:` | :toilet: | `:toilet:` | [top](#table-of-contents) | +| [top](#objects) | :plunger: | `:plunger:` | :shower: | `:shower:` | [top](#table-of-contents) | +| [top](#objects) | :bathtub: | `:bathtub:` | :mouse_trap: | `:mouse_trap:` | [top](#table-of-contents) | +| [top](#objects) | :razor: | `:razor:` | :lotion_bottle: | `:lotion_bottle:` | [top](#table-of-contents) | +| [top](#objects) | :safety_pin: | `:safety_pin:` | :broom: | `:broom:` | [top](#table-of-contents) | +| [top](#objects) | :basket: | `:basket:` | :roll_of_paper: | `:roll_of_paper:` | [top](#table-of-contents) | +| [top](#objects) | :bucket: | `:bucket:` | :soap: | `:soap:` | [top](#table-of-contents) | +| [top](#objects) | :bubbles: | `:bubbles:` | :toothbrush: | `:toothbrush:` | [top](#table-of-contents) | +| [top](#objects) | :sponge: | `:sponge:` | :fire_extinguisher: | `:fire_extinguisher:` | [top](#table-of-contents) | +| [top](#objects) | :shopping_cart: | `:shopping_cart:` | | | [top](#table-of-contents) | ### Other Object | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#objects) | :smoking: | `:smoking:` | :coffin: | `:coffin:` | [top](#introduction) | -| [top](#objects) | :headstone: | `:headstone:` | :funeral_urn: | `:funeral_urn:` | [top](#introduction) | -| [top](#objects) | :nazar_amulet: | `:nazar_amulet:` | :moyai: | `:moyai:` | [top](#introduction) | -| [top](#objects) | :placard: | `:placard:` | | | [top](#introduction) | +| [top](#objects) | :smoking: | `:smoking:` | :coffin: | `:coffin:` | [top](#table-of-contents) | +| [top](#objects) | :headstone: | `:headstone:` | :funeral_urn: | `:funeral_urn:` | [top](#table-of-contents) | +| [top](#objects) | :nazar_amulet: | `:nazar_amulet:` | :hamsa: | `:hamsa:` | [top](#table-of-contents) | +| [top](#objects) | :moyai: | `:moyai:` | :placard: | `:placard:` | [top](#table-of-contents) | +| [top](#objects) | :identification_card: | `:identification_card:` | | | [top](#table-of-contents) | ## Symbols @@ -1270,186 +1328,188 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :atm: | `:atm:` | :put_litter_in_its_place: | `:put_litter_in_its_place:` | [top](#introduction) | -| [top](#symbols) | :potable_water: | `:potable_water:` | :wheelchair: | `:wheelchair:` | [top](#introduction) | -| [top](#symbols) | :mens: | `:mens:` | :womens: | `:womens:` | [top](#introduction) | -| [top](#symbols) | :restroom: | `:restroom:` | :baby_symbol: | `:baby_symbol:` | [top](#introduction) | -| [top](#symbols) | :wc: | `:wc:` | :passport_control: | `:passport_control:` | [top](#introduction) | -| [top](#symbols) | :customs: | `:customs:` | :baggage_claim: | `:baggage_claim:` | [top](#introduction) | -| [top](#symbols) | :left_luggage: | `:left_luggage:` | | | [top](#introduction) | +| [top](#symbols) | :atm: | `:atm:` | :put_litter_in_its_place: | `:put_litter_in_its_place:` | [top](#table-of-contents) | +| [top](#symbols) | :potable_water: | `:potable_water:` | :wheelchair: | `:wheelchair:` | [top](#table-of-contents) | +| [top](#symbols) | :mens: | `:mens:` | :womens: | `:womens:` | [top](#table-of-contents) | +| [top](#symbols) | :restroom: | `:restroom:` | :baby_symbol: | `:baby_symbol:` | [top](#table-of-contents) | +| [top](#symbols) | :wc: | `:wc:` | :passport_control: | `:passport_control:` | [top](#table-of-contents) | +| [top](#symbols) | :customs: | `:customs:` | :baggage_claim: | `:baggage_claim:` | [top](#table-of-contents) | +| [top](#symbols) | :left_luggage: | `:left_luggage:` | | | [top](#table-of-contents) | ### Warning | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :warning: | `:warning:` | :children_crossing: | `:children_crossing:` | [top](#introduction) | -| [top](#symbols) | :no_entry: | `:no_entry:` | :no_entry_sign: | `:no_entry_sign:` | [top](#introduction) | -| [top](#symbols) | :no_bicycles: | `:no_bicycles:` | :no_smoking: | `:no_smoking:` | [top](#introduction) | -| [top](#symbols) | :do_not_litter: | `:do_not_litter:` | :non-potable_water: | `:non-potable_water:` | [top](#introduction) | -| [top](#symbols) | :no_pedestrians: | `:no_pedestrians:` | :no_mobile_phones: | `:no_mobile_phones:` | [top](#introduction) | -| [top](#symbols) | :underage: | `:underage:` | :radioactive: | `:radioactive:` | [top](#introduction) | -| [top](#symbols) | :biohazard: | `:biohazard:` | | | [top](#introduction) | +| [top](#symbols) | :warning: | `:warning:` | :children_crossing: | `:children_crossing:` | [top](#table-of-contents) | +| [top](#symbols) | :no_entry: | `:no_entry:` | :no_entry_sign: | `:no_entry_sign:` | [top](#table-of-contents) | +| [top](#symbols) | :no_bicycles: | `:no_bicycles:` | :no_smoking: | `:no_smoking:` | [top](#table-of-contents) | +| [top](#symbols) | :do_not_litter: | `:do_not_litter:` | :non-potable_water: | `:non-potable_water:` | [top](#table-of-contents) | +| [top](#symbols) | :no_pedestrians: | `:no_pedestrians:` | :no_mobile_phones: | `:no_mobile_phones:` | [top](#table-of-contents) | +| [top](#symbols) | :underage: | `:underage:` | :radioactive: | `:radioactive:` | [top](#table-of-contents) | +| [top](#symbols) | :biohazard: | `:biohazard:` | | | [top](#table-of-contents) | ### Arrow | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :arrow_up: | `:arrow_up:` | :arrow_upper_right: | `:arrow_upper_right:` | [top](#introduction) | -| [top](#symbols) | :arrow_right: | `:arrow_right:` | :arrow_lower_right: | `:arrow_lower_right:` | [top](#introduction) | -| [top](#symbols) | :arrow_down: | `:arrow_down:` | :arrow_lower_left: | `:arrow_lower_left:` | [top](#introduction) | -| [top](#symbols) | :arrow_left: | `:arrow_left:` | :arrow_upper_left: | `:arrow_upper_left:` | [top](#introduction) | -| [top](#symbols) | :arrow_up_down: | `:arrow_up_down:` | :left_right_arrow: | `:left_right_arrow:` | [top](#introduction) | -| [top](#symbols) | :leftwards_arrow_with_hook: | `:leftwards_arrow_with_hook:` | :arrow_right_hook: | `:arrow_right_hook:` | [top](#introduction) | -| [top](#symbols) | :arrow_heading_up: | `:arrow_heading_up:` | :arrow_heading_down: | `:arrow_heading_down:` | [top](#introduction) | -| [top](#symbols) | :arrows_clockwise: | `:arrows_clockwise:` | :arrows_counterclockwise: | `:arrows_counterclockwise:` | [top](#introduction) | -| [top](#symbols) | :back: | `:back:` | :end: | `:end:` | [top](#introduction) | -| [top](#symbols) | :on: | `:on:` | :soon: | `:soon:` | [top](#introduction) | -| [top](#symbols) | :top: | `:top:` | | | [top](#introduction) | +| [top](#symbols) | :arrow_up: | `:arrow_up:` | :arrow_upper_right: | `:arrow_upper_right:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_right: | `:arrow_right:` | :arrow_lower_right: | `:arrow_lower_right:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_down: | `:arrow_down:` | :arrow_lower_left: | `:arrow_lower_left:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_left: | `:arrow_left:` | :arrow_upper_left: | `:arrow_upper_left:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_up_down: | `:arrow_up_down:` | :left_right_arrow: | `:left_right_arrow:` | [top](#table-of-contents) | +| [top](#symbols) | :leftwards_arrow_with_hook: | `:leftwards_arrow_with_hook:` | :arrow_right_hook: | `:arrow_right_hook:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_heading_up: | `:arrow_heading_up:` | :arrow_heading_down: | `:arrow_heading_down:` | [top](#table-of-contents) | +| [top](#symbols) | :arrows_clockwise: | `:arrows_clockwise:` | :arrows_counterclockwise: | `:arrows_counterclockwise:` | [top](#table-of-contents) | +| [top](#symbols) | :back: | `:back:` | :end: | `:end:` | [top](#table-of-contents) | +| [top](#symbols) | :on: | `:on:` | :soon: | `:soon:` | [top](#table-of-contents) | +| [top](#symbols) | :top: | `:top:` | | | [top](#table-of-contents) | ### Religion | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :place_of_worship: | `:place_of_worship:` | :atom_symbol: | `:atom_symbol:` | [top](#introduction) | -| [top](#symbols) | :om: | `:om:` | :star_of_david: | `:star_of_david:` | [top](#introduction) | -| [top](#symbols) | :wheel_of_dharma: | `:wheel_of_dharma:` | :yin_yang: | `:yin_yang:` | [top](#introduction) | -| [top](#symbols) | :latin_cross: | `:latin_cross:` | :orthodox_cross: | `:orthodox_cross:` | [top](#introduction) | -| [top](#symbols) | :star_and_crescent: | `:star_and_crescent:` | :peace_symbol: | `:peace_symbol:` | [top](#introduction) | -| [top](#symbols) | :menorah: | `:menorah:` | :six_pointed_star: | `:six_pointed_star:` | [top](#introduction) | +| [top](#symbols) | :place_of_worship: | `:place_of_worship:` | :atom_symbol: | `:atom_symbol:` | [top](#table-of-contents) | +| [top](#symbols) | :om: | `:om:` | :star_of_david: | `:star_of_david:` | [top](#table-of-contents) | +| [top](#symbols) | :wheel_of_dharma: | `:wheel_of_dharma:` | :yin_yang: | `:yin_yang:` | [top](#table-of-contents) | +| [top](#symbols) | :latin_cross: | `:latin_cross:` | :orthodox_cross: | `:orthodox_cross:` | [top](#table-of-contents) | +| [top](#symbols) | :star_and_crescent: | `:star_and_crescent:` | :peace_symbol: | `:peace_symbol:` | [top](#table-of-contents) | +| [top](#symbols) | :menorah: | `:menorah:` | :six_pointed_star: | `:six_pointed_star:` | [top](#table-of-contents) | +| [top](#symbols) | :khanda: | `:khanda:` | | | [top](#table-of-contents) | ### Zodiac | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :aries: | `:aries:` | :taurus: | `:taurus:` | [top](#introduction) | -| [top](#symbols) | :gemini: | `:gemini:` | :cancer: | `:cancer:` | [top](#introduction) | -| [top](#symbols) | :leo: | `:leo:` | :virgo: | `:virgo:` | [top](#introduction) | -| [top](#symbols) | :libra: | `:libra:` | :scorpius: | `:scorpius:` | [top](#introduction) | -| [top](#symbols) | :sagittarius: | `:sagittarius:` | :capricorn: | `:capricorn:` | [top](#introduction) | -| [top](#symbols) | :aquarius: | `:aquarius:` | :pisces: | `:pisces:` | [top](#introduction) | -| [top](#symbols) | :ophiuchus: | `:ophiuchus:` | | | [top](#introduction) | +| [top](#symbols) | :aries: | `:aries:` | :taurus: | `:taurus:` | [top](#table-of-contents) | +| [top](#symbols) | :gemini: | `:gemini:` | :cancer: | `:cancer:` | [top](#table-of-contents) | +| [top](#symbols) | :leo: | `:leo:` | :virgo: | `:virgo:` | [top](#table-of-contents) | +| [top](#symbols) | :libra: | `:libra:` | :scorpius: | `:scorpius:` | [top](#table-of-contents) | +| [top](#symbols) | :sagittarius: | `:sagittarius:` | :capricorn: | `:capricorn:` | [top](#table-of-contents) | +| [top](#symbols) | :aquarius: | `:aquarius:` | :pisces: | `:pisces:` | [top](#table-of-contents) | +| [top](#symbols) | :ophiuchus: | `:ophiuchus:` | | | [top](#table-of-contents) | ### Av Symbol | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :twisted_rightwards_arrows: | `:twisted_rightwards_arrows:` | :repeat: | `:repeat:` | [top](#introduction) | -| [top](#symbols) | :repeat_one: | `:repeat_one:` | :arrow_forward: | `:arrow_forward:` | [top](#introduction) | -| [top](#symbols) | :fast_forward: | `:fast_forward:` | :next_track_button: | `:next_track_button:` | [top](#introduction) | -| [top](#symbols) | :play_or_pause_button: | `:play_or_pause_button:` | :arrow_backward: | `:arrow_backward:` | [top](#introduction) | -| [top](#symbols) | :rewind: | `:rewind:` | :previous_track_button: | `:previous_track_button:` | [top](#introduction) | -| [top](#symbols) | :arrow_up_small: | `:arrow_up_small:` | :arrow_double_up: | `:arrow_double_up:` | [top](#introduction) | -| [top](#symbols) | :arrow_down_small: | `:arrow_down_small:` | :arrow_double_down: | `:arrow_double_down:` | [top](#introduction) | -| [top](#symbols) | :pause_button: | `:pause_button:` | :stop_button: | `:stop_button:` | [top](#introduction) | -| [top](#symbols) | :record_button: | `:record_button:` | :eject_button: | `:eject_button:` | [top](#introduction) | -| [top](#symbols) | :cinema: | `:cinema:` | :low_brightness: | `:low_brightness:` | [top](#introduction) | -| [top](#symbols) | :high_brightness: | `:high_brightness:` | :signal_strength: | `:signal_strength:` | [top](#introduction) | -| [top](#symbols) | :vibration_mode: | `:vibration_mode:` | :mobile_phone_off: | `:mobile_phone_off:` | [top](#introduction) | +| [top](#symbols) | :twisted_rightwards_arrows: | `:twisted_rightwards_arrows:` | :repeat: | `:repeat:` | [top](#table-of-contents) | +| [top](#symbols) | :repeat_one: | `:repeat_one:` | :arrow_forward: | `:arrow_forward:` | [top](#table-of-contents) | +| [top](#symbols) | :fast_forward: | `:fast_forward:` | :next_track_button: | `:next_track_button:` | [top](#table-of-contents) | +| [top](#symbols) | :play_or_pause_button: | `:play_or_pause_button:` | :arrow_backward: | `:arrow_backward:` | [top](#table-of-contents) | +| [top](#symbols) | :rewind: | `:rewind:` | :previous_track_button: | `:previous_track_button:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_up_small: | `:arrow_up_small:` | :arrow_double_up: | `:arrow_double_up:` | [top](#table-of-contents) | +| [top](#symbols) | :arrow_down_small: | `:arrow_down_small:` | :arrow_double_down: | `:arrow_double_down:` | [top](#table-of-contents) | +| [top](#symbols) | :pause_button: | `:pause_button:` | :stop_button: | `:stop_button:` | [top](#table-of-contents) | +| [top](#symbols) | :record_button: | `:record_button:` | :eject_button: | `:eject_button:` | [top](#table-of-contents) | +| [top](#symbols) | :cinema: | `:cinema:` | :low_brightness: | `:low_brightness:` | [top](#table-of-contents) | +| [top](#symbols) | :high_brightness: | `:high_brightness:` | :signal_strength: | `:signal_strength:` | [top](#table-of-contents) | +| [top](#symbols) | :wireless: | `:wireless:` | :vibration_mode: | `:vibration_mode:` | [top](#table-of-contents) | +| [top](#symbols) | :mobile_phone_off: | `:mobile_phone_off:` | | | [top](#table-of-contents) | ### Gender | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :female_sign: | `:female_sign:` | :male_sign: | `:male_sign:` | [top](#introduction) | -| [top](#symbols) | :transgender_symbol: | `:transgender_symbol:` | | | [top](#introduction) | +| [top](#symbols) | :female_sign: | `:female_sign:` | :male_sign: | `:male_sign:` | [top](#table-of-contents) | +| [top](#symbols) | :transgender_symbol: | `:transgender_symbol:` | | | [top](#table-of-contents) | ### Math | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :heavy_multiplication_x: | `:heavy_multiplication_x:` | :heavy_plus_sign: | `:heavy_plus_sign:` | [top](#introduction) | -| [top](#symbols) | :heavy_minus_sign: | `:heavy_minus_sign:` | :heavy_division_sign: | `:heavy_division_sign:` | [top](#introduction) | -| [top](#symbols) | :infinity: | `:infinity:` | | | [top](#introduction) | +| [top](#symbols) | :heavy_multiplication_x: | `:heavy_multiplication_x:` | :heavy_plus_sign: | `:heavy_plus_sign:` | [top](#table-of-contents) | +| [top](#symbols) | :heavy_minus_sign: | `:heavy_minus_sign:` | :heavy_division_sign: | `:heavy_division_sign:` | [top](#table-of-contents) | +| [top](#symbols) | :heavy_equals_sign: | `:heavy_equals_sign:` | :infinity: | `:infinity:` | [top](#table-of-contents) | ### Punctuation | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :bangbang: | `:bangbang:` | :interrobang: | `:interrobang:` | [top](#introduction) | -| [top](#symbols) | :question: | `:question:` | :grey_question: | `:grey_question:` | [top](#introduction) | -| [top](#symbols) | :grey_exclamation: | `:grey_exclamation:` | :exclamation: | `:exclamation:` `:heavy_exclamation_mark:` | [top](#introduction) | -| [top](#symbols) | :wavy_dash: | `:wavy_dash:` | | | [top](#introduction) | +| [top](#symbols) | :bangbang: | `:bangbang:` | :interrobang: | `:interrobang:` | [top](#table-of-contents) | +| [top](#symbols) | :question: | `:question:` | :grey_question: | `:grey_question:` | [top](#table-of-contents) | +| [top](#symbols) | :grey_exclamation: | `:grey_exclamation:` | :exclamation: | `:exclamation:`
`:heavy_exclamation_mark:` | [top](#table-of-contents) | +| [top](#symbols) | :wavy_dash: | `:wavy_dash:` | | | [top](#table-of-contents) | ### Currency | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :currency_exchange: | `:currency_exchange:` | :heavy_dollar_sign: | `:heavy_dollar_sign:` | [top](#introduction) | +| [top](#symbols) | :currency_exchange: | `:currency_exchange:` | :heavy_dollar_sign: | `:heavy_dollar_sign:` | [top](#table-of-contents) | ### Other Symbol | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :medical_symbol: | `:medical_symbol:` | :recycle: | `:recycle:` | [top](#introduction) | -| [top](#symbols) | :fleur_de_lis: | `:fleur_de_lis:` | :trident: | `:trident:` | [top](#introduction) | -| [top](#symbols) | :name_badge: | `:name_badge:` | :beginner: | `:beginner:` | [top](#introduction) | -| [top](#symbols) | :o: | `:o:` | :white_check_mark: | `:white_check_mark:` | [top](#introduction) | -| [top](#symbols) | :ballot_box_with_check: | `:ballot_box_with_check:` | :heavy_check_mark: | `:heavy_check_mark:` | [top](#introduction) | -| [top](#symbols) | :x: | `:x:` | :negative_squared_cross_mark: | `:negative_squared_cross_mark:` | [top](#introduction) | -| [top](#symbols) | :curly_loop: | `:curly_loop:` | :loop: | `:loop:` | [top](#introduction) | -| [top](#symbols) | :part_alternation_mark: | `:part_alternation_mark:` | :eight_spoked_asterisk: | `:eight_spoked_asterisk:` | [top](#introduction) | -| [top](#symbols) | :eight_pointed_black_star: | `:eight_pointed_black_star:` | :sparkle: | `:sparkle:` | [top](#introduction) | -| [top](#symbols) | :copyright: | `:copyright:` | :registered: | `:registered:` | [top](#introduction) | -| [top](#symbols) | :tm: | `:tm:` | | | [top](#introduction) | +| [top](#symbols) | :medical_symbol: | `:medical_symbol:` | :recycle: | `:recycle:` | [top](#table-of-contents) | +| [top](#symbols) | :fleur_de_lis: | `:fleur_de_lis:` | :trident: | `:trident:` | [top](#table-of-contents) | +| [top](#symbols) | :name_badge: | `:name_badge:` | :beginner: | `:beginner:` | [top](#table-of-contents) | +| [top](#symbols) | :o: | `:o:` | :white_check_mark: | `:white_check_mark:` | [top](#table-of-contents) | +| [top](#symbols) | :ballot_box_with_check: | `:ballot_box_with_check:` | :heavy_check_mark: | `:heavy_check_mark:` | [top](#table-of-contents) | +| [top](#symbols) | :x: | `:x:` | :negative_squared_cross_mark: | `:negative_squared_cross_mark:` | [top](#table-of-contents) | +| [top](#symbols) | :curly_loop: | `:curly_loop:` | :loop: | `:loop:` | [top](#table-of-contents) | +| [top](#symbols) | :part_alternation_mark: | `:part_alternation_mark:` | :eight_spoked_asterisk: | `:eight_spoked_asterisk:` | [top](#table-of-contents) | +| [top](#symbols) | :eight_pointed_black_star: | `:eight_pointed_black_star:` | :sparkle: | `:sparkle:` | [top](#table-of-contents) | +| [top](#symbols) | :copyright: | `:copyright:` | :registered: | `:registered:` | [top](#table-of-contents) | +| [top](#symbols) | :tm: | `:tm:` | | | [top](#table-of-contents) | ### Keycap | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :hash: | `:hash:` | :asterisk: | `:asterisk:` | [top](#introduction) | -| [top](#symbols) | :zero: | `:zero:` | :one: | `:one:` | [top](#introduction) | -| [top](#symbols) | :two: | `:two:` | :three: | `:three:` | [top](#introduction) | -| [top](#symbols) | :four: | `:four:` | :five: | `:five:` | [top](#introduction) | -| [top](#symbols) | :six: | `:six:` | :seven: | `:seven:` | [top](#introduction) | -| [top](#symbols) | :eight: | `:eight:` | :nine: | `:nine:` | [top](#introduction) | -| [top](#symbols) | :keycap_ten: | `:keycap_ten:` | | | [top](#introduction) | +| [top](#symbols) | :hash: | `:hash:` | :asterisk: | `:asterisk:` | [top](#table-of-contents) | +| [top](#symbols) | :zero: | `:zero:` | :one: | `:one:` | [top](#table-of-contents) | +| [top](#symbols) | :two: | `:two:` | :three: | `:three:` | [top](#table-of-contents) | +| [top](#symbols) | :four: | `:four:` | :five: | `:five:` | [top](#table-of-contents) | +| [top](#symbols) | :six: | `:six:` | :seven: | `:seven:` | [top](#table-of-contents) | +| [top](#symbols) | :eight: | `:eight:` | :nine: | `:nine:` | [top](#table-of-contents) | +| [top](#symbols) | :keycap_ten: | `:keycap_ten:` | | | [top](#table-of-contents) | ### Alphanum | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :capital_abcd: | `:capital_abcd:` | :abcd: | `:abcd:` | [top](#introduction) | -| [top](#symbols) | :1234: | `:1234:` | :symbols: | `:symbols:` | [top](#introduction) | -| [top](#symbols) | :abc: | `:abc:` | :a: | `:a:` | [top](#introduction) | -| [top](#symbols) | :ab: | `:ab:` | :b: | `:b:` | [top](#introduction) | -| [top](#symbols) | :cl: | `:cl:` | :cool: | `:cool:` | [top](#introduction) | -| [top](#symbols) | :free: | `:free:` | :information_source: | `:information_source:` | [top](#introduction) | -| [top](#symbols) | :id: | `:id:` | :m: | `:m:` | [top](#introduction) | -| [top](#symbols) | :new: | `:new:` | :ng: | `:ng:` | [top](#introduction) | -| [top](#symbols) | :o2: | `:o2:` | :ok: | `:ok:` | [top](#introduction) | -| [top](#symbols) | :parking: | `:parking:` | :sos: | `:sos:` | [top](#introduction) | -| [top](#symbols) | :up: | `:up:` | :vs: | `:vs:` | [top](#introduction) | -| [top](#symbols) | :koko: | `:koko:` | :sa: | `:sa:` | [top](#introduction) | -| [top](#symbols) | :u6708: | `:u6708:` | :u6709: | `:u6709:` | [top](#introduction) | -| [top](#symbols) | :u6307: | `:u6307:` | :ideograph_advantage: | `:ideograph_advantage:` | [top](#introduction) | -| [top](#symbols) | :u5272: | `:u5272:` | :u7121: | `:u7121:` | [top](#introduction) | -| [top](#symbols) | :u7981: | `:u7981:` | :accept: | `:accept:` | [top](#introduction) | -| [top](#symbols) | :u7533: | `:u7533:` | :u5408: | `:u5408:` | [top](#introduction) | -| [top](#symbols) | :u7a7a: | `:u7a7a:` | :congratulations: | `:congratulations:` | [top](#introduction) | -| [top](#symbols) | :secret: | `:secret:` | :u55b6: | `:u55b6:` | [top](#introduction) | -| [top](#symbols) | :u6e80: | `:u6e80:` | | | [top](#introduction) | +| [top](#symbols) | :capital_abcd: | `:capital_abcd:` | :abcd: | `:abcd:` | [top](#table-of-contents) | +| [top](#symbols) | :1234: | `:1234:` | :symbols: | `:symbols:` | [top](#table-of-contents) | +| [top](#symbols) | :abc: | `:abc:` | :a: | `:a:` | [top](#table-of-contents) | +| [top](#symbols) | :ab: | `:ab:` | :b: | `:b:` | [top](#table-of-contents) | +| [top](#symbols) | :cl: | `:cl:` | :cool: | `:cool:` | [top](#table-of-contents) | +| [top](#symbols) | :free: | `:free:` | :information_source: | `:information_source:` | [top](#table-of-contents) | +| [top](#symbols) | :id: | `:id:` | :m: | `:m:` | [top](#table-of-contents) | +| [top](#symbols) | :new: | `:new:` | :ng: | `:ng:` | [top](#table-of-contents) | +| [top](#symbols) | :o2: | `:o2:` | :ok: | `:ok:` | [top](#table-of-contents) | +| [top](#symbols) | :parking: | `:parking:` | :sos: | `:sos:` | [top](#table-of-contents) | +| [top](#symbols) | :up: | `:up:` | :vs: | `:vs:` | [top](#table-of-contents) | +| [top](#symbols) | :koko: | `:koko:` | :sa: | `:sa:` | [top](#table-of-contents) | +| [top](#symbols) | :u6708: | `:u6708:` | :u6709: | `:u6709:` | [top](#table-of-contents) | +| [top](#symbols) | :u6307: | `:u6307:` | :ideograph_advantage: | `:ideograph_advantage:` | [top](#table-of-contents) | +| [top](#symbols) | :u5272: | `:u5272:` | :u7121: | `:u7121:` | [top](#table-of-contents) | +| [top](#symbols) | :u7981: | `:u7981:` | :accept: | `:accept:` | [top](#table-of-contents) | +| [top](#symbols) | :u7533: | `:u7533:` | :u5408: | `:u5408:` | [top](#table-of-contents) | +| [top](#symbols) | :u7a7a: | `:u7a7a:` | :congratulations: | `:congratulations:` | [top](#table-of-contents) | +| [top](#symbols) | :secret: | `:secret:` | :u55b6: | `:u55b6:` | [top](#table-of-contents) | +| [top](#symbols) | :u6e80: | `:u6e80:` | | | [top](#table-of-contents) | ### Geometric | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#symbols) | :red_circle: | `:red_circle:` | :orange_circle: | `:orange_circle:` | [top](#introduction) | -| [top](#symbols) | :yellow_circle: | `:yellow_circle:` | :green_circle: | `:green_circle:` | [top](#introduction) | -| [top](#symbols) | :large_blue_circle: | `:large_blue_circle:` | :purple_circle: | `:purple_circle:` | [top](#introduction) | -| [top](#symbols) | :brown_circle: | `:brown_circle:` | :black_circle: | `:black_circle:` | [top](#introduction) | -| [top](#symbols) | :white_circle: | `:white_circle:` | :red_square: | `:red_square:` | [top](#introduction) | -| [top](#symbols) | :orange_square: | `:orange_square:` | :yellow_square: | `:yellow_square:` | [top](#introduction) | -| [top](#symbols) | :green_square: | `:green_square:` | :blue_square: | `:blue_square:` | [top](#introduction) | -| [top](#symbols) | :purple_square: | `:purple_square:` | :brown_square: | `:brown_square:` | [top](#introduction) | -| [top](#symbols) | :black_large_square: | `:black_large_square:` | :white_large_square: | `:white_large_square:` | [top](#introduction) | -| [top](#symbols) | :black_medium_square: | `:black_medium_square:` | :white_medium_square: | `:white_medium_square:` | [top](#introduction) | -| [top](#symbols) | :black_medium_small_square: | `:black_medium_small_square:` | :white_medium_small_square: | `:white_medium_small_square:` | [top](#introduction) | -| [top](#symbols) | :black_small_square: | `:black_small_square:` | :white_small_square: | `:white_small_square:` | [top](#introduction) | -| [top](#symbols) | :large_orange_diamond: | `:large_orange_diamond:` | :large_blue_diamond: | `:large_blue_diamond:` | [top](#introduction) | -| [top](#symbols) | :small_orange_diamond: | `:small_orange_diamond:` | :small_blue_diamond: | `:small_blue_diamond:` | [top](#introduction) | -| [top](#symbols) | :small_red_triangle: | `:small_red_triangle:` | :small_red_triangle_down: | `:small_red_triangle_down:` | [top](#introduction) | -| [top](#symbols) | :diamond_shape_with_a_dot_inside: | `:diamond_shape_with_a_dot_inside:` | :radio_button: | `:radio_button:` | [top](#introduction) | -| [top](#symbols) | :white_square_button: | `:white_square_button:` | :black_square_button: | `:black_square_button:` | [top](#introduction) | +| [top](#symbols) | :red_circle: | `:red_circle:` | :orange_circle: | `:orange_circle:` | [top](#table-of-contents) | +| [top](#symbols) | :yellow_circle: | `:yellow_circle:` | :green_circle: | `:green_circle:` | [top](#table-of-contents) | +| [top](#symbols) | :large_blue_circle: | `:large_blue_circle:` | :purple_circle: | `:purple_circle:` | [top](#table-of-contents) | +| [top](#symbols) | :brown_circle: | `:brown_circle:` | :black_circle: | `:black_circle:` | [top](#table-of-contents) | +| [top](#symbols) | :white_circle: | `:white_circle:` | :red_square: | `:red_square:` | [top](#table-of-contents) | +| [top](#symbols) | :orange_square: | `:orange_square:` | :yellow_square: | `:yellow_square:` | [top](#table-of-contents) | +| [top](#symbols) | :green_square: | `:green_square:` | :blue_square: | `:blue_square:` | [top](#table-of-contents) | +| [top](#symbols) | :purple_square: | `:purple_square:` | :brown_square: | `:brown_square:` | [top](#table-of-contents) | +| [top](#symbols) | :black_large_square: | `:black_large_square:` | :white_large_square: | `:white_large_square:` | [top](#table-of-contents) | +| [top](#symbols) | :black_medium_square: | `:black_medium_square:` | :white_medium_square: | `:white_medium_square:` | [top](#table-of-contents) | +| [top](#symbols) | :black_medium_small_square: | `:black_medium_small_square:` | :white_medium_small_square: | `:white_medium_small_square:` | [top](#table-of-contents) | +| [top](#symbols) | :black_small_square: | `:black_small_square:` | :white_small_square: | `:white_small_square:` | [top](#table-of-contents) | +| [top](#symbols) | :large_orange_diamond: | `:large_orange_diamond:` | :large_blue_diamond: | `:large_blue_diamond:` | [top](#table-of-contents) | +| [top](#symbols) | :small_orange_diamond: | `:small_orange_diamond:` | :small_blue_diamond: | `:small_blue_diamond:` | [top](#table-of-contents) | +| [top](#symbols) | :small_red_triangle: | `:small_red_triangle:` | :small_red_triangle_down: | `:small_red_triangle_down:` | [top](#table-of-contents) | +| [top](#symbols) | :diamond_shape_with_a_dot_inside: | `:diamond_shape_with_a_dot_inside:` | :radio_button: | `:radio_button:` | [top](#table-of-contents) | +| [top](#symbols) | :white_square_button: | `:white_square_button:` | :black_square_button: | `:black_square_button:` | [top](#table-of-contents) | ## Flags @@ -1461,164 +1521,164 @@ GitHub [custom emoji] are not supported. | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#flags) | :checkered_flag: | `:checkered_flag:` | :triangular_flag_on_post: | `:triangular_flag_on_post:` | [top](#introduction) | -| [top](#flags) | :crossed_flags: | `:crossed_flags:` | :black_flag: | `:black_flag:` | [top](#introduction) | -| [top](#flags) | :white_flag: | `:white_flag:` | :rainbow_flag: | `:rainbow_flag:` | [top](#introduction) | -| [top](#flags) | :transgender_flag: | `:transgender_flag:` | :pirate_flag: | `:pirate_flag:` | [top](#introduction) | +| [top](#flags) | :checkered_flag: | `:checkered_flag:` | :triangular_flag_on_post: | `:triangular_flag_on_post:` | [top](#table-of-contents) | +| [top](#flags) | :crossed_flags: | `:crossed_flags:` | :black_flag: | `:black_flag:` | [top](#table-of-contents) | +| [top](#flags) | :white_flag: | `:white_flag:` | :rainbow_flag: | `:rainbow_flag:` | [top](#table-of-contents) | +| [top](#flags) | :transgender_flag: | `:transgender_flag:` | :pirate_flag: | `:pirate_flag:` | [top](#table-of-contents) | ### Country Flag | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#flags) | :ascension_island: | `:ascension_island:` | :andorra: | `:andorra:` | [top](#introduction) | -| [top](#flags) | :united_arab_emirates: | `:united_arab_emirates:` | :afghanistan: | `:afghanistan:` | [top](#introduction) | -| [top](#flags) | :antigua_barbuda: | `:antigua_barbuda:` | :anguilla: | `:anguilla:` | [top](#introduction) | -| [top](#flags) | :albania: | `:albania:` | :armenia: | `:armenia:` | [top](#introduction) | -| [top](#flags) | :angola: | `:angola:` | :antarctica: | `:antarctica:` | [top](#introduction) | -| [top](#flags) | :argentina: | `:argentina:` | :american_samoa: | `:american_samoa:` | [top](#introduction) | -| [top](#flags) | :austria: | `:austria:` | :australia: | `:australia:` | [top](#introduction) | -| [top](#flags) | :aruba: | `:aruba:` | :aland_islands: | `:aland_islands:` | [top](#introduction) | -| [top](#flags) | :azerbaijan: | `:azerbaijan:` | :bosnia_herzegovina: | `:bosnia_herzegovina:` | [top](#introduction) | -| [top](#flags) | :barbados: | `:barbados:` | :bangladesh: | `:bangladesh:` | [top](#introduction) | -| [top](#flags) | :belgium: | `:belgium:` | :burkina_faso: | `:burkina_faso:` | [top](#introduction) | -| [top](#flags) | :bulgaria: | `:bulgaria:` | :bahrain: | `:bahrain:` | [top](#introduction) | -| [top](#flags) | :burundi: | `:burundi:` | :benin: | `:benin:` | [top](#introduction) | -| [top](#flags) | :st_barthelemy: | `:st_barthelemy:` | :bermuda: | `:bermuda:` | [top](#introduction) | -| [top](#flags) | :brunei: | `:brunei:` | :bolivia: | `:bolivia:` | [top](#introduction) | -| [top](#flags) | :caribbean_netherlands: | `:caribbean_netherlands:` | :brazil: | `:brazil:` | [top](#introduction) | -| [top](#flags) | :bahamas: | `:bahamas:` | :bhutan: | `:bhutan:` | [top](#introduction) | -| [top](#flags) | :bouvet_island: | `:bouvet_island:` | :botswana: | `:botswana:` | [top](#introduction) | -| [top](#flags) | :belarus: | `:belarus:` | :belize: | `:belize:` | [top](#introduction) | -| [top](#flags) | :canada: | `:canada:` | :cocos_islands: | `:cocos_islands:` | [top](#introduction) | -| [top](#flags) | :congo_kinshasa: | `:congo_kinshasa:` | :central_african_republic: | `:central_african_republic:` | [top](#introduction) | -| [top](#flags) | :congo_brazzaville: | `:congo_brazzaville:` | :switzerland: | `:switzerland:` | [top](#introduction) | -| [top](#flags) | :cote_divoire: | `:cote_divoire:` | :cook_islands: | `:cook_islands:` | [top](#introduction) | -| [top](#flags) | :chile: | `:chile:` | :cameroon: | `:cameroon:` | [top](#introduction) | -| [top](#flags) | :cn: | `:cn:` | :colombia: | `:colombia:` | [top](#introduction) | -| [top](#flags) | :clipperton_island: | `:clipperton_island:` | :costa_rica: | `:costa_rica:` | [top](#introduction) | -| [top](#flags) | :cuba: | `:cuba:` | :cape_verde: | `:cape_verde:` | [top](#introduction) | -| [top](#flags) | :curacao: | `:curacao:` | :christmas_island: | `:christmas_island:` | [top](#introduction) | -| [top](#flags) | :cyprus: | `:cyprus:` | :czech_republic: | `:czech_republic:` | [top](#introduction) | -| [top](#flags) | :de: | `:de:` | :diego_garcia: | `:diego_garcia:` | [top](#introduction) | -| [top](#flags) | :djibouti: | `:djibouti:` | :denmark: | `:denmark:` | [top](#introduction) | -| [top](#flags) | :dominica: | `:dominica:` | :dominican_republic: | `:dominican_republic:` | [top](#introduction) | -| [top](#flags) | :algeria: | `:algeria:` | :ceuta_melilla: | `:ceuta_melilla:` | [top](#introduction) | -| [top](#flags) | :ecuador: | `:ecuador:` | :estonia: | `:estonia:` | [top](#introduction) | -| [top](#flags) | :egypt: | `:egypt:` | :western_sahara: | `:western_sahara:` | [top](#introduction) | -| [top](#flags) | :eritrea: | `:eritrea:` | :es: | `:es:` | [top](#introduction) | -| [top](#flags) | :ethiopia: | `:ethiopia:` | :eu: | `:eu:` `:european_union:` | [top](#introduction) | -| [top](#flags) | :finland: | `:finland:` | :fiji: | `:fiji:` | [top](#introduction) | -| [top](#flags) | :falkland_islands: | `:falkland_islands:` | :micronesia: | `:micronesia:` | [top](#introduction) | -| [top](#flags) | :faroe_islands: | `:faroe_islands:` | :fr: | `:fr:` | [top](#introduction) | -| [top](#flags) | :gabon: | `:gabon:` | :gb: | `:gb:` `:uk:` | [top](#introduction) | -| [top](#flags) | :grenada: | `:grenada:` | :georgia: | `:georgia:` | [top](#introduction) | -| [top](#flags) | :french_guiana: | `:french_guiana:` | :guernsey: | `:guernsey:` | [top](#introduction) | -| [top](#flags) | :ghana: | `:ghana:` | :gibraltar: | `:gibraltar:` | [top](#introduction) | -| [top](#flags) | :greenland: | `:greenland:` | :gambia: | `:gambia:` | [top](#introduction) | -| [top](#flags) | :guinea: | `:guinea:` | :guadeloupe: | `:guadeloupe:` | [top](#introduction) | -| [top](#flags) | :equatorial_guinea: | `:equatorial_guinea:` | :greece: | `:greece:` | [top](#introduction) | -| [top](#flags) | :south_georgia_south_sandwich_islands: | `:south_georgia_south_sandwich_islands:` | :guatemala: | `:guatemala:` | [top](#introduction) | -| [top](#flags) | :guam: | `:guam:` | :guinea_bissau: | `:guinea_bissau:` | [top](#introduction) | -| [top](#flags) | :guyana: | `:guyana:` | :hong_kong: | `:hong_kong:` | [top](#introduction) | -| [top](#flags) | :heard_mcdonald_islands: | `:heard_mcdonald_islands:` | :honduras: | `:honduras:` | [top](#introduction) | -| [top](#flags) | :croatia: | `:croatia:` | :haiti: | `:haiti:` | [top](#introduction) | -| [top](#flags) | :hungary: | `:hungary:` | :canary_islands: | `:canary_islands:` | [top](#introduction) | -| [top](#flags) | :indonesia: | `:indonesia:` | :ireland: | `:ireland:` | [top](#introduction) | -| [top](#flags) | :israel: | `:israel:` | :isle_of_man: | `:isle_of_man:` | [top](#introduction) | -| [top](#flags) | :india: | `:india:` | :british_indian_ocean_territory: | `:british_indian_ocean_territory:` | [top](#introduction) | -| [top](#flags) | :iraq: | `:iraq:` | :iran: | `:iran:` | [top](#introduction) | -| [top](#flags) | :iceland: | `:iceland:` | :it: | `:it:` | [top](#introduction) | -| [top](#flags) | :jersey: | `:jersey:` | :jamaica: | `:jamaica:` | [top](#introduction) | -| [top](#flags) | :jordan: | `:jordan:` | :jp: | `:jp:` | [top](#introduction) | -| [top](#flags) | :kenya: | `:kenya:` | :kyrgyzstan: | `:kyrgyzstan:` | [top](#introduction) | -| [top](#flags) | :cambodia: | `:cambodia:` | :kiribati: | `:kiribati:` | [top](#introduction) | -| [top](#flags) | :comoros: | `:comoros:` | :st_kitts_nevis: | `:st_kitts_nevis:` | [top](#introduction) | -| [top](#flags) | :north_korea: | `:north_korea:` | :kr: | `:kr:` | [top](#introduction) | -| [top](#flags) | :kuwait: | `:kuwait:` | :cayman_islands: | `:cayman_islands:` | [top](#introduction) | -| [top](#flags) | :kazakhstan: | `:kazakhstan:` | :laos: | `:laos:` | [top](#introduction) | -| [top](#flags) | :lebanon: | `:lebanon:` | :st_lucia: | `:st_lucia:` | [top](#introduction) | -| [top](#flags) | :liechtenstein: | `:liechtenstein:` | :sri_lanka: | `:sri_lanka:` | [top](#introduction) | -| [top](#flags) | :liberia: | `:liberia:` | :lesotho: | `:lesotho:` | [top](#introduction) | -| [top](#flags) | :lithuania: | `:lithuania:` | :luxembourg: | `:luxembourg:` | [top](#introduction) | -| [top](#flags) | :latvia: | `:latvia:` | :libya: | `:libya:` | [top](#introduction) | -| [top](#flags) | :morocco: | `:morocco:` | :monaco: | `:monaco:` | [top](#introduction) | -| [top](#flags) | :moldova: | `:moldova:` | :montenegro: | `:montenegro:` | [top](#introduction) | -| [top](#flags) | :st_martin: | `:st_martin:` | :madagascar: | `:madagascar:` | [top](#introduction) | -| [top](#flags) | :marshall_islands: | `:marshall_islands:` | :macedonia: | `:macedonia:` | [top](#introduction) | -| [top](#flags) | :mali: | `:mali:` | :myanmar: | `:myanmar:` | [top](#introduction) | -| [top](#flags) | :mongolia: | `:mongolia:` | :macau: | `:macau:` | [top](#introduction) | -| [top](#flags) | :northern_mariana_islands: | `:northern_mariana_islands:` | :martinique: | `:martinique:` | [top](#introduction) | -| [top](#flags) | :mauritania: | `:mauritania:` | :montserrat: | `:montserrat:` | [top](#introduction) | -| [top](#flags) | :malta: | `:malta:` | :mauritius: | `:mauritius:` | [top](#introduction) | -| [top](#flags) | :maldives: | `:maldives:` | :malawi: | `:malawi:` | [top](#introduction) | -| [top](#flags) | :mexico: | `:mexico:` | :malaysia: | `:malaysia:` | [top](#introduction) | -| [top](#flags) | :mozambique: | `:mozambique:` | :namibia: | `:namibia:` | [top](#introduction) | -| [top](#flags) | :new_caledonia: | `:new_caledonia:` | :niger: | `:niger:` | [top](#introduction) | -| [top](#flags) | :norfolk_island: | `:norfolk_island:` | :nigeria: | `:nigeria:` | [top](#introduction) | -| [top](#flags) | :nicaragua: | `:nicaragua:` | :netherlands: | `:netherlands:` | [top](#introduction) | -| [top](#flags) | :norway: | `:norway:` | :nepal: | `:nepal:` | [top](#introduction) | -| [top](#flags) | :nauru: | `:nauru:` | :niue: | `:niue:` | [top](#introduction) | -| [top](#flags) | :new_zealand: | `:new_zealand:` | :oman: | `:oman:` | [top](#introduction) | -| [top](#flags) | :panama: | `:panama:` | :peru: | `:peru:` | [top](#introduction) | -| [top](#flags) | :french_polynesia: | `:french_polynesia:` | :papua_new_guinea: | `:papua_new_guinea:` | [top](#introduction) | -| [top](#flags) | :philippines: | `:philippines:` | :pakistan: | `:pakistan:` | [top](#introduction) | -| [top](#flags) | :poland: | `:poland:` | :st_pierre_miquelon: | `:st_pierre_miquelon:` | [top](#introduction) | -| [top](#flags) | :pitcairn_islands: | `:pitcairn_islands:` | :puerto_rico: | `:puerto_rico:` | [top](#introduction) | -| [top](#flags) | :palestinian_territories: | `:palestinian_territories:` | :portugal: | `:portugal:` | [top](#introduction) | -| [top](#flags) | :palau: | `:palau:` | :paraguay: | `:paraguay:` | [top](#introduction) | -| [top](#flags) | :qatar: | `:qatar:` | :reunion: | `:reunion:` | [top](#introduction) | -| [top](#flags) | :romania: | `:romania:` | :serbia: | `:serbia:` | [top](#introduction) | -| [top](#flags) | :ru: | `:ru:` | :rwanda: | `:rwanda:` | [top](#introduction) | -| [top](#flags) | :saudi_arabia: | `:saudi_arabia:` | :solomon_islands: | `:solomon_islands:` | [top](#introduction) | -| [top](#flags) | :seychelles: | `:seychelles:` | :sudan: | `:sudan:` | [top](#introduction) | -| [top](#flags) | :sweden: | `:sweden:` | :singapore: | `:singapore:` | [top](#introduction) | -| [top](#flags) | :st_helena: | `:st_helena:` | :slovenia: | `:slovenia:` | [top](#introduction) | -| [top](#flags) | :svalbard_jan_mayen: | `:svalbard_jan_mayen:` | :slovakia: | `:slovakia:` | [top](#introduction) | -| [top](#flags) | :sierra_leone: | `:sierra_leone:` | :san_marino: | `:san_marino:` | [top](#introduction) | -| [top](#flags) | :senegal: | `:senegal:` | :somalia: | `:somalia:` | [top](#introduction) | -| [top](#flags) | :suriname: | `:suriname:` | :south_sudan: | `:south_sudan:` | [top](#introduction) | -| [top](#flags) | :sao_tome_principe: | `:sao_tome_principe:` | :el_salvador: | `:el_salvador:` | [top](#introduction) | -| [top](#flags) | :sint_maarten: | `:sint_maarten:` | :syria: | `:syria:` | [top](#introduction) | -| [top](#flags) | :swaziland: | `:swaziland:` | :tristan_da_cunha: | `:tristan_da_cunha:` | [top](#introduction) | -| [top](#flags) | :turks_caicos_islands: | `:turks_caicos_islands:` | :chad: | `:chad:` | [top](#introduction) | -| [top](#flags) | :french_southern_territories: | `:french_southern_territories:` | :togo: | `:togo:` | [top](#introduction) | -| [top](#flags) | :thailand: | `:thailand:` | :tajikistan: | `:tajikistan:` | [top](#introduction) | -| [top](#flags) | :tokelau: | `:tokelau:` | :timor_leste: | `:timor_leste:` | [top](#introduction) | -| [top](#flags) | :turkmenistan: | `:turkmenistan:` | :tunisia: | `:tunisia:` | [top](#introduction) | -| [top](#flags) | :tonga: | `:tonga:` | :tr: | `:tr:` | [top](#introduction) | -| [top](#flags) | :trinidad_tobago: | `:trinidad_tobago:` | :tuvalu: | `:tuvalu:` | [top](#introduction) | -| [top](#flags) | :taiwan: | `:taiwan:` | :tanzania: | `:tanzania:` | [top](#introduction) | -| [top](#flags) | :ukraine: | `:ukraine:` | :uganda: | `:uganda:` | [top](#introduction) | -| [top](#flags) | :us_outlying_islands: | `:us_outlying_islands:` | :united_nations: | `:united_nations:` | [top](#introduction) | -| [top](#flags) | :us: | `:us:` | :uruguay: | `:uruguay:` | [top](#introduction) | -| [top](#flags) | :uzbekistan: | `:uzbekistan:` | :vatican_city: | `:vatican_city:` | [top](#introduction) | -| [top](#flags) | :st_vincent_grenadines: | `:st_vincent_grenadines:` | :venezuela: | `:venezuela:` | [top](#introduction) | -| [top](#flags) | :british_virgin_islands: | `:british_virgin_islands:` | :us_virgin_islands: | `:us_virgin_islands:` | [top](#introduction) | -| [top](#flags) | :vietnam: | `:vietnam:` | :vanuatu: | `:vanuatu:` | [top](#introduction) | -| [top](#flags) | :wallis_futuna: | `:wallis_futuna:` | :samoa: | `:samoa:` | [top](#introduction) | -| [top](#flags) | :kosovo: | `:kosovo:` | :yemen: | `:yemen:` | [top](#introduction) | -| [top](#flags) | :mayotte: | `:mayotte:` | :south_africa: | `:south_africa:` | [top](#introduction) | -| [top](#flags) | :zambia: | `:zambia:` | :zimbabwe: | `:zimbabwe:` | [top](#introduction) | +| [top](#flags) | :ascension_island: | `:ascension_island:` | :andorra: | `:andorra:` | [top](#table-of-contents) | +| [top](#flags) | :united_arab_emirates: | `:united_arab_emirates:` | :afghanistan: | `:afghanistan:` | [top](#table-of-contents) | +| [top](#flags) | :antigua_barbuda: | `:antigua_barbuda:` | :anguilla: | `:anguilla:` | [top](#table-of-contents) | +| [top](#flags) | :albania: | `:albania:` | :armenia: | `:armenia:` | [top](#table-of-contents) | +| [top](#flags) | :angola: | `:angola:` | :antarctica: | `:antarctica:` | [top](#table-of-contents) | +| [top](#flags) | :argentina: | `:argentina:` | :american_samoa: | `:american_samoa:` | [top](#table-of-contents) | +| [top](#flags) | :austria: | `:austria:` | :australia: | `:australia:` | [top](#table-of-contents) | +| [top](#flags) | :aruba: | `:aruba:` | :aland_islands: | `:aland_islands:` | [top](#table-of-contents) | +| [top](#flags) | :azerbaijan: | `:azerbaijan:` | :bosnia_herzegovina: | `:bosnia_herzegovina:` | [top](#table-of-contents) | +| [top](#flags) | :barbados: | `:barbados:` | :bangladesh: | `:bangladesh:` | [top](#table-of-contents) | +| [top](#flags) | :belgium: | `:belgium:` | :burkina_faso: | `:burkina_faso:` | [top](#table-of-contents) | +| [top](#flags) | :bulgaria: | `:bulgaria:` | :bahrain: | `:bahrain:` | [top](#table-of-contents) | +| [top](#flags) | :burundi: | `:burundi:` | :benin: | `:benin:` | [top](#table-of-contents) | +| [top](#flags) | :st_barthelemy: | `:st_barthelemy:` | :bermuda: | `:bermuda:` | [top](#table-of-contents) | +| [top](#flags) | :brunei: | `:brunei:` | :bolivia: | `:bolivia:` | [top](#table-of-contents) | +| [top](#flags) | :caribbean_netherlands: | `:caribbean_netherlands:` | :brazil: | `:brazil:` | [top](#table-of-contents) | +| [top](#flags) | :bahamas: | `:bahamas:` | :bhutan: | `:bhutan:` | [top](#table-of-contents) | +| [top](#flags) | :bouvet_island: | `:bouvet_island:` | :botswana: | `:botswana:` | [top](#table-of-contents) | +| [top](#flags) | :belarus: | `:belarus:` | :belize: | `:belize:` | [top](#table-of-contents) | +| [top](#flags) | :canada: | `:canada:` | :cocos_islands: | `:cocos_islands:` | [top](#table-of-contents) | +| [top](#flags) | :congo_kinshasa: | `:congo_kinshasa:` | :central_african_republic: | `:central_african_republic:` | [top](#table-of-contents) | +| [top](#flags) | :congo_brazzaville: | `:congo_brazzaville:` | :switzerland: | `:switzerland:` | [top](#table-of-contents) | +| [top](#flags) | :cote_divoire: | `:cote_divoire:` | :cook_islands: | `:cook_islands:` | [top](#table-of-contents) | +| [top](#flags) | :chile: | `:chile:` | :cameroon: | `:cameroon:` | [top](#table-of-contents) | +| [top](#flags) | :cn: | `:cn:` | :colombia: | `:colombia:` | [top](#table-of-contents) | +| [top](#flags) | :clipperton_island: | `:clipperton_island:` | :costa_rica: | `:costa_rica:` | [top](#table-of-contents) | +| [top](#flags) | :cuba: | `:cuba:` | :cape_verde: | `:cape_verde:` | [top](#table-of-contents) | +| [top](#flags) | :curacao: | `:curacao:` | :christmas_island: | `:christmas_island:` | [top](#table-of-contents) | +| [top](#flags) | :cyprus: | `:cyprus:` | :czech_republic: | `:czech_republic:` | [top](#table-of-contents) | +| [top](#flags) | :de: | `:de:` | :diego_garcia: | `:diego_garcia:` | [top](#table-of-contents) | +| [top](#flags) | :djibouti: | `:djibouti:` | :denmark: | `:denmark:` | [top](#table-of-contents) | +| [top](#flags) | :dominica: | `:dominica:` | :dominican_republic: | `:dominican_republic:` | [top](#table-of-contents) | +| [top](#flags) | :algeria: | `:algeria:` | :ceuta_melilla: | `:ceuta_melilla:` | [top](#table-of-contents) | +| [top](#flags) | :ecuador: | `:ecuador:` | :estonia: | `:estonia:` | [top](#table-of-contents) | +| [top](#flags) | :egypt: | `:egypt:` | :western_sahara: | `:western_sahara:` | [top](#table-of-contents) | +| [top](#flags) | :eritrea: | `:eritrea:` | :es: | `:es:` | [top](#table-of-contents) | +| [top](#flags) | :ethiopia: | `:ethiopia:` | :eu: | `:eu:`
`:european_union:` | [top](#table-of-contents) | +| [top](#flags) | :finland: | `:finland:` | :fiji: | `:fiji:` | [top](#table-of-contents) | +| [top](#flags) | :falkland_islands: | `:falkland_islands:` | :micronesia: | `:micronesia:` | [top](#table-of-contents) | +| [top](#flags) | :faroe_islands: | `:faroe_islands:` | :fr: | `:fr:` | [top](#table-of-contents) | +| [top](#flags) | :gabon: | `:gabon:` | :gb: | `:gb:`
`:uk:` | [top](#table-of-contents) | +| [top](#flags) | :grenada: | `:grenada:` | :georgia: | `:georgia:` | [top](#table-of-contents) | +| [top](#flags) | :french_guiana: | `:french_guiana:` | :guernsey: | `:guernsey:` | [top](#table-of-contents) | +| [top](#flags) | :ghana: | `:ghana:` | :gibraltar: | `:gibraltar:` | [top](#table-of-contents) | +| [top](#flags) | :greenland: | `:greenland:` | :gambia: | `:gambia:` | [top](#table-of-contents) | +| [top](#flags) | :guinea: | `:guinea:` | :guadeloupe: | `:guadeloupe:` | [top](#table-of-contents) | +| [top](#flags) | :equatorial_guinea: | `:equatorial_guinea:` | :greece: | `:greece:` | [top](#table-of-contents) | +| [top](#flags) | :south_georgia_south_sandwich_islands: | `:south_georgia_south_sandwich_islands:` | :guatemala: | `:guatemala:` | [top](#table-of-contents) | +| [top](#flags) | :guam: | `:guam:` | :guinea_bissau: | `:guinea_bissau:` | [top](#table-of-contents) | +| [top](#flags) | :guyana: | `:guyana:` | :hong_kong: | `:hong_kong:` | [top](#table-of-contents) | +| [top](#flags) | :heard_mcdonald_islands: | `:heard_mcdonald_islands:` | :honduras: | `:honduras:` | [top](#table-of-contents) | +| [top](#flags) | :croatia: | `:croatia:` | :haiti: | `:haiti:` | [top](#table-of-contents) | +| [top](#flags) | :hungary: | `:hungary:` | :canary_islands: | `:canary_islands:` | [top](#table-of-contents) | +| [top](#flags) | :indonesia: | `:indonesia:` | :ireland: | `:ireland:` | [top](#table-of-contents) | +| [top](#flags) | :israel: | `:israel:` | :isle_of_man: | `:isle_of_man:` | [top](#table-of-contents) | +| [top](#flags) | :india: | `:india:` | :british_indian_ocean_territory: | `:british_indian_ocean_territory:` | [top](#table-of-contents) | +| [top](#flags) | :iraq: | `:iraq:` | :iran: | `:iran:` | [top](#table-of-contents) | +| [top](#flags) | :iceland: | `:iceland:` | :it: | `:it:` | [top](#table-of-contents) | +| [top](#flags) | :jersey: | `:jersey:` | :jamaica: | `:jamaica:` | [top](#table-of-contents) | +| [top](#flags) | :jordan: | `:jordan:` | :jp: | `:jp:` | [top](#table-of-contents) | +| [top](#flags) | :kenya: | `:kenya:` | :kyrgyzstan: | `:kyrgyzstan:` | [top](#table-of-contents) | +| [top](#flags) | :cambodia: | `:cambodia:` | :kiribati: | `:kiribati:` | [top](#table-of-contents) | +| [top](#flags) | :comoros: | `:comoros:` | :st_kitts_nevis: | `:st_kitts_nevis:` | [top](#table-of-contents) | +| [top](#flags) | :north_korea: | `:north_korea:` | :kr: | `:kr:` | [top](#table-of-contents) | +| [top](#flags) | :kuwait: | `:kuwait:` | :cayman_islands: | `:cayman_islands:` | [top](#table-of-contents) | +| [top](#flags) | :kazakhstan: | `:kazakhstan:` | :laos: | `:laos:` | [top](#table-of-contents) | +| [top](#flags) | :lebanon: | `:lebanon:` | :st_lucia: | `:st_lucia:` | [top](#table-of-contents) | +| [top](#flags) | :liechtenstein: | `:liechtenstein:` | :sri_lanka: | `:sri_lanka:` | [top](#table-of-contents) | +| [top](#flags) | :liberia: | `:liberia:` | :lesotho: | `:lesotho:` | [top](#table-of-contents) | +| [top](#flags) | :lithuania: | `:lithuania:` | :luxembourg: | `:luxembourg:` | [top](#table-of-contents) | +| [top](#flags) | :latvia: | `:latvia:` | :libya: | `:libya:` | [top](#table-of-contents) | +| [top](#flags) | :morocco: | `:morocco:` | :monaco: | `:monaco:` | [top](#table-of-contents) | +| [top](#flags) | :moldova: | `:moldova:` | :montenegro: | `:montenegro:` | [top](#table-of-contents) | +| [top](#flags) | :st_martin: | `:st_martin:` | :madagascar: | `:madagascar:` | [top](#table-of-contents) | +| [top](#flags) | :marshall_islands: | `:marshall_islands:` | :macedonia: | `:macedonia:` | [top](#table-of-contents) | +| [top](#flags) | :mali: | `:mali:` | :myanmar: | `:myanmar:` | [top](#table-of-contents) | +| [top](#flags) | :mongolia: | `:mongolia:` | :macau: | `:macau:` | [top](#table-of-contents) | +| [top](#flags) | :northern_mariana_islands: | `:northern_mariana_islands:` | :martinique: | `:martinique:` | [top](#table-of-contents) | +| [top](#flags) | :mauritania: | `:mauritania:` | :montserrat: | `:montserrat:` | [top](#table-of-contents) | +| [top](#flags) | :malta: | `:malta:` | :mauritius: | `:mauritius:` | [top](#table-of-contents) | +| [top](#flags) | :maldives: | `:maldives:` | :malawi: | `:malawi:` | [top](#table-of-contents) | +| [top](#flags) | :mexico: | `:mexico:` | :malaysia: | `:malaysia:` | [top](#table-of-contents) | +| [top](#flags) | :mozambique: | `:mozambique:` | :namibia: | `:namibia:` | [top](#table-of-contents) | +| [top](#flags) | :new_caledonia: | `:new_caledonia:` | :niger: | `:niger:` | [top](#table-of-contents) | +| [top](#flags) | :norfolk_island: | `:norfolk_island:` | :nigeria: | `:nigeria:` | [top](#table-of-contents) | +| [top](#flags) | :nicaragua: | `:nicaragua:` | :netherlands: | `:netherlands:` | [top](#table-of-contents) | +| [top](#flags) | :norway: | `:norway:` | :nepal: | `:nepal:` | [top](#table-of-contents) | +| [top](#flags) | :nauru: | `:nauru:` | :niue: | `:niue:` | [top](#table-of-contents) | +| [top](#flags) | :new_zealand: | `:new_zealand:` | :oman: | `:oman:` | [top](#table-of-contents) | +| [top](#flags) | :panama: | `:panama:` | :peru: | `:peru:` | [top](#table-of-contents) | +| [top](#flags) | :french_polynesia: | `:french_polynesia:` | :papua_new_guinea: | `:papua_new_guinea:` | [top](#table-of-contents) | +| [top](#flags) | :philippines: | `:philippines:` | :pakistan: | `:pakistan:` | [top](#table-of-contents) | +| [top](#flags) | :poland: | `:poland:` | :st_pierre_miquelon: | `:st_pierre_miquelon:` | [top](#table-of-contents) | +| [top](#flags) | :pitcairn_islands: | `:pitcairn_islands:` | :puerto_rico: | `:puerto_rico:` | [top](#table-of-contents) | +| [top](#flags) | :palestinian_territories: | `:palestinian_territories:` | :portugal: | `:portugal:` | [top](#table-of-contents) | +| [top](#flags) | :palau: | `:palau:` | :paraguay: | `:paraguay:` | [top](#table-of-contents) | +| [top](#flags) | :qatar: | `:qatar:` | :reunion: | `:reunion:` | [top](#table-of-contents) | +| [top](#flags) | :romania: | `:romania:` | :serbia: | `:serbia:` | [top](#table-of-contents) | +| [top](#flags) | :ru: | `:ru:` | :rwanda: | `:rwanda:` | [top](#table-of-contents) | +| [top](#flags) | :saudi_arabia: | `:saudi_arabia:` | :solomon_islands: | `:solomon_islands:` | [top](#table-of-contents) | +| [top](#flags) | :seychelles: | `:seychelles:` | :sudan: | `:sudan:` | [top](#table-of-contents) | +| [top](#flags) | :sweden: | `:sweden:` | :singapore: | `:singapore:` | [top](#table-of-contents) | +| [top](#flags) | :st_helena: | `:st_helena:` | :slovenia: | `:slovenia:` | [top](#table-of-contents) | +| [top](#flags) | :svalbard_jan_mayen: | `:svalbard_jan_mayen:` | :slovakia: | `:slovakia:` | [top](#table-of-contents) | +| [top](#flags) | :sierra_leone: | `:sierra_leone:` | :san_marino: | `:san_marino:` | [top](#table-of-contents) | +| [top](#flags) | :senegal: | `:senegal:` | :somalia: | `:somalia:` | [top](#table-of-contents) | +| [top](#flags) | :suriname: | `:suriname:` | :south_sudan: | `:south_sudan:` | [top](#table-of-contents) | +| [top](#flags) | :sao_tome_principe: | `:sao_tome_principe:` | :el_salvador: | `:el_salvador:` | [top](#table-of-contents) | +| [top](#flags) | :sint_maarten: | `:sint_maarten:` | :syria: | `:syria:` | [top](#table-of-contents) | +| [top](#flags) | :swaziland: | `:swaziland:` | :tristan_da_cunha: | `:tristan_da_cunha:` | [top](#table-of-contents) | +| [top](#flags) | :turks_caicos_islands: | `:turks_caicos_islands:` | :chad: | `:chad:` | [top](#table-of-contents) | +| [top](#flags) | :french_southern_territories: | `:french_southern_territories:` | :togo: | `:togo:` | [top](#table-of-contents) | +| [top](#flags) | :thailand: | `:thailand:` | :tajikistan: | `:tajikistan:` | [top](#table-of-contents) | +| [top](#flags) | :tokelau: | `:tokelau:` | :timor_leste: | `:timor_leste:` | [top](#table-of-contents) | +| [top](#flags) | :turkmenistan: | `:turkmenistan:` | :tunisia: | `:tunisia:` | [top](#table-of-contents) | +| [top](#flags) | :tonga: | `:tonga:` | :tr: | `:tr:` | [top](#table-of-contents) | +| [top](#flags) | :trinidad_tobago: | `:trinidad_tobago:` | :tuvalu: | `:tuvalu:` | [top](#table-of-contents) | +| [top](#flags) | :taiwan: | `:taiwan:` | :tanzania: | `:tanzania:` | [top](#table-of-contents) | +| [top](#flags) | :ukraine: | `:ukraine:` | :uganda: | `:uganda:` | [top](#table-of-contents) | +| [top](#flags) | :us_outlying_islands: | `:us_outlying_islands:` | :united_nations: | `:united_nations:` | [top](#table-of-contents) | +| [top](#flags) | :us: | `:us:` | :uruguay: | `:uruguay:` | [top](#table-of-contents) | +| [top](#flags) | :uzbekistan: | `:uzbekistan:` | :vatican_city: | `:vatican_city:` | [top](#table-of-contents) | +| [top](#flags) | :st_vincent_grenadines: | `:st_vincent_grenadines:` | :venezuela: | `:venezuela:` | [top](#table-of-contents) | +| [top](#flags) | :british_virgin_islands: | `:british_virgin_islands:` | :us_virgin_islands: | `:us_virgin_islands:` | [top](#table-of-contents) | +| [top](#flags) | :vietnam: | `:vietnam:` | :vanuatu: | `:vanuatu:` | [top](#table-of-contents) | +| [top](#flags) | :wallis_futuna: | `:wallis_futuna:` | :samoa: | `:samoa:` | [top](#table-of-contents) | +| [top](#flags) | :kosovo: | `:kosovo:` | :yemen: | `:yemen:` | [top](#table-of-contents) | +| [top](#flags) | :mayotte: | `:mayotte:` | :south_africa: | `:south_africa:` | [top](#table-of-contents) | +| [top](#flags) | :zambia: | `:zambia:` | :zimbabwe: | `:zimbabwe:` | [top](#table-of-contents) | ### Subdivision Flag | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#flags) | :england: | `:england:` | :scotland: | `:scotland:` | [top](#introduction) | -| [top](#flags) | :wales: | `:wales:` | | | [top](#introduction) | +| [top](#flags) | :england: | `:england:` | :scotland: | `:scotland:` | [top](#table-of-contents) | +| [top](#flags) | :wales: | `:wales:` | | | [top](#table-of-contents) | ## GitHub Custom Emoji | | ico | shortcode | ico | shortcode | | | - | :-: | - | :-: | - | - | -| [top](#github-custom-emoji) | :accessibility: | `:accessibility:` | :atom: | `:atom:` | [top](#introduction) | -| [top](#github-custom-emoji) | :basecamp: | `:basecamp:` | :basecampy: | `:basecampy:` | [top](#introduction) | -| [top](#github-custom-emoji) | :bowtie: | `:bowtie:` | :dependabot: | `:dependabot:` | [top](#introduction) | -| [top](#github-custom-emoji) | :electron: | `:electron:` | :feelsgood: | `:feelsgood:` | [top](#introduction) | -| [top](#github-custom-emoji) | :finnadie: | `:finnadie:` | :fishsticks: | `:fishsticks:` | [top](#introduction) | -| [top](#github-custom-emoji) | :goberserk: | `:goberserk:` | :godmode: | `:godmode:` | [top](#introduction) | -| [top](#github-custom-emoji) | :hurtrealbad: | `:hurtrealbad:` | :neckbeard: | `:neckbeard:` | [top](#introduction) | -| [top](#github-custom-emoji) | :octocat: | `:octocat:` | :rage1: | `:rage1:` | [top](#introduction) | -| [top](#github-custom-emoji) | :rage2: | `:rage2:` | :rage3: | `:rage3:` | [top](#introduction) | -| [top](#github-custom-emoji) | :rage4: | `:rage4:` | :shipit: | `:shipit:` | [top](#introduction) | -| [top](#github-custom-emoji) | :suspect: | `:suspect:` | :trollface: | `:trollface:` | [top](#introduction) | +| [top](#github-custom-emoji) | :accessibility: | `:accessibility:` | :atom: | `:atom:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :basecamp: | `:basecamp:` | :basecampy: | `:basecampy:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :bowtie: | `:bowtie:` | :dependabot: | `:dependabot:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :electron: | `:electron:` | :feelsgood: | `:feelsgood:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :finnadie: | `:finnadie:` | :fishsticks: | `:fishsticks:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :goberserk: | `:goberserk:` | :godmode: | `:godmode:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :hurtrealbad: | `:hurtrealbad:` | :neckbeard: | `:neckbeard:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :octocat: | `:octocat:` | :rage1: | `:rage1:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :rage2: | `:rage2:` | :rage3: | `:rage3:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :rage4: | `:rage4:` | :shipit: | `:shipit:` | [top](#table-of-contents) | +| [top](#github-custom-emoji) | :suspect: | `:suspect:` | :trollface: | `:trollface:` | [top](#table-of-contents) | diff --git a/content/en/quick-reference/page-collections.md b/content/en/quick-reference/page-collections.md index eca65a93e..8ad9407e3 100644 --- a/content/en/quick-reference/page-collections.md +++ b/content/en/quick-reference/page-collections.md @@ -35,6 +35,19 @@ Use the [`where`] function to filter page collections. ## Sort +By default, Hugo sorts page collections by: + +1. [Weight] +2. [Date] in descending order +3. [LinkTitle] falling back to [Title] +4. [Filename] if the page is backed by a file + +[Date]: /methods/page/date/ +[Weight]: /methods/page/weight/ +[LinkTitle]: /methods/page/linktitle/ +[Title]: /methods/page/title/ +[Filename]: /methods/page/file/#filename + Use these methods to sort page collections. {{< list-pages-in-section path=/methods/pages filter=methods_pages_sort filterType=include titlePrefix=. omitElementIDs=true titlePrefix=PAGES. >}} diff --git a/content/en/render-hooks/images.md b/content/en/render-hooks/images.md index e68cd1b95..2d9b5e2e5 100755 --- a/content/en/render-hooks/images.md +++ b/content/en/render-hooks/images.md @@ -103,7 +103,7 @@ To render standalone images within `figure` elements: {{ . }} -
{{ .Title }}
+ {{- with .Title }}
{{ . }}
{{ end -}} {{- else -}} diff --git a/content/en/templates/_common/filter-sort-group.md b/content/en/templates/_common/filter-sort-group.md new file mode 100644 index 000000000..89cc095f5 --- /dev/null +++ b/content/en/templates/_common/filter-sort-group.md @@ -0,0 +1,9 @@ +--- +# Do not remove front matter. +--- + +{{% note %}} +The [page collections quick reference guide] describes methods and functions to filter, sort, and group page collections. + +[page collections quick reference guide]: /quick-reference/page-collections/ +{{% /note %}} diff --git a/content/en/templates/base.md b/content/en/templates/base.md index 6262e74b8..45320e3cf 100644 --- a/content/en/templates/base.md +++ b/content/en/templates/base.md @@ -1,13 +1,13 @@ --- -title: Base templates and blocks -description: The base and block constructs allow you to define the outer shell of your master templates (i.e., the chrome of the page). +title: Base templates +description: The base and block construct allows you to define the outer shell of your master templates (i.e., the chrome of the page). categories: [templates,fundamentals] -keywords: [blocks,base] +keywords: [] menu: docs: parent: templates - weight: 40 -weight: 40 + weight: 50 +weight: 50 toc: true aliases: [/templates/blocks/,/templates/base-templates-and-blocks/] --- @@ -50,7 +50,7 @@ The following defines a simple base template at `_default/baseof.html`. As a def ## Override the base template -From the above base template, you can define a [default list template][hugolists]. The default list template will inherit all of the code defined above and can then implement its own `"main"` block from: +The default list template will inherit all of the code defined above and can then implement its own `"main"` block from: {{< code file=layouts/_default/list.html >}} {{ define "main" }} @@ -78,7 +78,7 @@ Code that you put outside the block definitions *can* break your layout. This ev [See this thread from the Hugo discussion forums.](https://discourse.gohugo.io/t/baseof-html-block-templates-and-list-types-results-in-empty-pages/5612/6) {{% /note %}} -The following shows how you can override both the `"main"` and `"title"` block areas from the base template with code unique to your [default single page template][singletemplate]: +The following shows how you can override both the `"main"` and `"title"` block areas from the base template with code unique to your default [single template]: {{< code file=layouts/_default/single.html >}} {{ define "title" }} @@ -91,7 +91,4 @@ The following shows how you can override both the `"main"` and `"title"` block a {{ end }} {{< /code >}} -[hugolists]: /templates/lists/ -[lookup]: /templates/lookup-order/ -[rendering the section]: /templates/section-templates/ -[singletemplate]: /templates/single-page-templates/ +[single template]: /templates/types/#single diff --git a/content/en/templates/views.md b/content/en/templates/content-view.md similarity index 58% rename from content/en/templates/views.md rename to content/en/templates/content-view.md index 4170196b6..be4d7116a 100644 --- a/content/en/templates/views.md +++ b/content/en/templates/content-view.md @@ -2,25 +2,24 @@ title: Content view templates description: Hugo can render alternative views of your content, useful in list and summary views. categories: [templates] -keywords: [views] +keywords: [] menu: docs: parent: templates - weight: 110 -weight: 110 + weight: 120 +weight: 120 toc: true +aliases: [/templates/views/] --- -These alternative **content views** are especially useful in [list templates][lists]. - The following are common use cases for content views: -* You want content of every type to be shown on the homepage but only with limited [summary views][summaries]. -* You only want a bulleted list of your content on a [taxonomy list page][taxonomylists]. Views make this very straightforward by delegating the rendering of each different type of content to the content itself. +* You want content of every type to be shown on the home page but only with limited [summary views][summaries]. +* You only want a bulleted list of your content in a [taxonomy template]. Views make this very straightforward by delegating the rendering of each different type of content to the content itself. ## Create a content view -To create a new view, create a template in each of your different content type directories with the view name. The following example contains an "li" view and a "summary" view for the `posts` and `project` content types. As you can see, these sit next to the [single content view][single] template, `single.html`. You can even provide a specific view for a given type and continue to use the `_default/single.html` for the primary view. +To create a new view, create a template in each of your different content type directories with the view name. The following example contains an "li" view and a "summary" view for the `posts` and `project` content types. As you can see, these sit next to the [single template], `single.html`. You can even provide a specific view for a given type and continue to use the `_default/single.html` for the primary view. ```txt ▾ layouts/ @@ -31,32 +30,22 @@ To create a new view, create a template in each of your different content type d ▾ project/ li.html single.html - summary.html -``` - -Hugo also has support for a default content view template to be used in the event that a specific content view template has not been provided for that type. Content views can also be defined in the `_default` directory and will work the same as list and single templates who eventually trickle down to the `_default` directory as a matter of the lookup order. - -```txt -▾ layouts/ - ▾ _default/ - li.html - single.html summary.html ``` ## Which template will be rendered? -The following is the [lookup order] for content views: +The following is the lookup order for content views ordered by specificity. 1. `/layouts//.html` -2. `/layouts/_default/.html` -3. `/themes//layouts//.html` -4. `/themes//layouts/_default/.html` +1. `/layouts/
/.html` +1. `/layouts/_default/.html` +1. `/themes//layouts//.html` +1. `/themes//layouts/
/.html` +1. `/themes//layouts/_default/.html` ## Example: content view inside a list -The following example demonstrates how to use content views inside your [list templates][lists]. - ### `list.html` In this example, `.Render` is passed into the template to call the [render function][render]. `.Render` is a special function that instructs content to render itself with the view template provided as the first argument. In this case, the template is going to render the `summary.html` view that follows: @@ -74,7 +63,7 @@ In this example, `.Render` is passed into the template to call the [render funct ### `summary.html` -Hugo passes the page object to the following `summary.html` view template. +Hugo passes the `Page` object to the following `summary.html` view template. {{< code file=layouts/_default/summary.html >}}
@@ -100,8 +89,7 @@ Continuing on the previous example, we can change our render function to use a s {{< /code >}} -[lists]: /templates/lists/ [render]: /methods/page/render/ -[single]: /templates/single-page-templates/ +[single template]: /templates/types/#single [summaries]: /content-management/summaries/ -[taxonomylists]: /templates/taxonomy-templates/ +[taxonomy template]: /templates/types/#taxonomy diff --git a/content/en/templates/embedded.md b/content/en/templates/embedded.md index 5b2043962..5fbbb8d96 100644 --- a/content/en/templates/embedded.md +++ b/content/en/templates/embedded.md @@ -2,12 +2,12 @@ title: Embedded templates description: Hugo provides embedded templates for common use cases. categories: [templates] -keywords: [internal, analytics,] +keywords: [] menu: docs: parent: templates - weight: 190 -weight: 190 + weight: 200 +weight: 200 toc: true aliases: [/templates/internal] --- diff --git a/content/en/templates/home.md b/content/en/templates/home.md new file mode 100644 index 000000000..3086791c5 --- /dev/null +++ b/content/en/templates/home.md @@ -0,0 +1,55 @@ +--- +title: Home templates +description: The home page of a website is often formatted differently than the other pages. For this reason, Hugo makes it easy for you to define your new site's home page as a unique template. +categories: [templates] +keywords: [] +menu: + docs: + parent: templates + weight: 60 +weight: 60 +toc: true +aliases: [/layout/homepage/,/templates/homepage-template/,/templates/homepage/] +--- + +The home template is the *only* required template for building a site and therefore useful when bootstrapping a new site and template. It is also the only required template if you are developing a single-page website. + + +{{< youtube ut1xtRZ1QOA >}} + +## Home template lookup order + +See [Template Lookup](/templates/lookup-order/). + +## Add content and front matter to the home page + +The home page accepts content and front matter from an `_index.md` file. This file should live at the root of your `content` folder (i.e., `content/_index.md`). You can then add body copy and metadata to your home page the way you would any other content file. + +See the home template below or [Content Organization][contentorg] for more information on the role of `_index.md` in adding content and front matter to list pages. + +## Example home template + +{{< code file=layouts/_default/home.html >}} +{{ define "main" }} +
+
+

{{ .Title }}

+ {{ with .Params.subtitle }} + {{ . }} + {{ end }} +
+
+ + {{ .Content }} +
+
+ {{ range first 10 .Site.RegularPages }} + {{ .Render "summary" }} + {{ end }} +
+
+{{ end }} +{{< /code >}} + +[contentorg]: /content-management/organization/ +[lookup]: /templates/lookup-order/ diff --git a/content/en/templates/homepage.md b/content/en/templates/homepage.md deleted file mode 100644 index cd5b32604..000000000 --- a/content/en/templates/homepage.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Homepage template -description: The homepage of a website is often formatted differently than the other pages. For this reason, Hugo makes it easy for you to define your new site's homepage as a unique template. -categories: [templates] -keywords: [homepage] -menu: - docs: - parent: templates - weight: 70 -weight: 70 -toc: true -aliases: [/layout/homepage/,/templates/homepage-template/] ---- - -The homepage template is the *only* required template for building a site and therefore useful when bootstrapping a new site and template. It is also the only required template if you are developing a single-page website. - - -{{< youtube ut1xtRZ1QOA >}} - -## Homepage template lookup order - -See [Template Lookup](/templates/lookup-order/). - -## Add content and front matter to the homepage - -The homepage, similar to other [list pages in Hugo][lists], accepts content and front matter from an `_index.md` file. This file should live at the root of your `content` folder (i.e., `content/_index.md`). You can then add body copy and metadata to your homepage the way you would any other content file. - -See the homepage template below or [Content Organization][contentorg] for more information on the role of `_index.md` in adding content and front matter to list pages. - -## Example homepage template - -{{< code file=layouts/index.html >}} -{{ define "main" }} -
-
-

{{ .Title }}

- {{ with .Params.subtitle }} - {{ . }} - {{ end }} -
-
- - {{ .Content }} -
-
- {{ range first 10 .Site.RegularPages }} - {{ .Render "summary" }} - {{ end }} -
-
-{{ end }} -{{< /code >}} - -[contentorg]: /content-management/organization/ -[lists]: /templates/lists/ -[lookup]: /templates/lookup-order/ diff --git a/content/en/templates/introduction.md b/content/en/templates/introduction.md index 994e81854..bb8702717 100644 --- a/content/en/templates/introduction.md +++ b/content/en/templates/introduction.md @@ -403,7 +403,7 @@ Use the [`template`] function to include one or more of Hugo's [embedded templat Use the [`partial`] or [`partialCached`] function to include one or more [partial templates]: -[partial templates]: /templates/partials +[partial templates]: /templates/partial ```go-html-template {{ partial "breadcrumbs.html" . }} diff --git a/content/en/templates/lists/index.md b/content/en/templates/lists/index.md deleted file mode 100644 index e9b1dc56b..000000000 --- a/content/en/templates/lists/index.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -title: Lists of content in Hugo -linkTitle: List templates -description: Lists have a specific meaning and usage in Hugo when it comes to rendering your site homepage, section page, taxonomy list, or taxonomy terms list. -categories: [templates] -keywords: [lists,sections,rss,taxonomies,terms] -menu: - docs: - parent: templates - weight: 60 -weight: 60 -toc: true -aliases: [/templates/list/,/layout/indexes/] ---- - -## What is a list page template? - -{{< youtube 8b2YTSMdMps >}} - -A list page template is a template used to render multiple pieces of content in a single HTML page. The exception to this rule is the homepage, which is still a list but has its own [dedicated template][homepage]. - -Hugo uses the term *list* in its truest sense; i.e. a sequential arrangement of material, especially in alphabetical or numerical order. Hugo uses list templates on any output HTML page where content is traditionally listed: - -* [Home page](/templates/homepage) -* [Section pages](/templates/section-templates) -* [Taxonomy pages](/templates/taxonomy-templates) -* [Taxonomy term pages](/templates/taxonomy-templates) -* [RSS feeds](/templates/rss) -* [Sitemaps](/templates/sitemap-template) - -For template lookup order, see [Template Lookup](/templates/lookup-order/). - -The idea of a list page comes from the [hierarchical mental model of the web][mentalmodel] and is best demonstrated visually: - -[![Image demonstrating a hierarchical website sitemap.](site-hierarchy.svg)](site-hierarchy.svg) - -## Add content and front matter to list pages - -Add content and front matter to list pages by creating an _index.md file for `home`, `section`, `taxonomy`, and `term` pages. - -The following is an example of a typical Hugo project directory's content: - -```txt -. -... -├── content -| ├── posts -| | ├── _index.md -| | ├── post-01.md -| | └── post-02.md -| └── quote -| | ├── quote-01.md -| | └── quote-02.md -... -``` - -Using the above example, let's assume you have the following in `content/posts/_index.md`: - -{{< code file=content/posts/_index.md >}} ---- -title: My Go Journey -date: 2017-03-23 -publishdate: 2017-03-24 ---- - -I decided to start learning Go in March 2017. - -Follow my journey through this new blog. -{{< /code >}} - -You can now access this `_index.md`'s' content in your list template: - -{{< code file=layouts/_default/list.html >}} -{{ define "main" }} -
-
-
-

{{ .Title }}

-
- - {{ .Content }} -
- -
-{{ end }} -{{< /code >}} - -This above will output the following HTML: - -{{< code file=example.com/posts/index.html >}} - -
-
-
-

My Go Journey

-
-

I decided to start learning Go in March 2017.

-

Follow my journey through this new blog.

-
- -
- -{{< /code >}} - -### List pages without `_index.md` - -You do *not* have to create an `_index.md` file for every list page (i.e. section, taxonomy, taxonomy terms, etc) or the homepage. If Hugo does not find an `_index.md` within the respective content section when rendering a list template, the page will be created but with no `{{ .Content }}` and only the default values for `.Title` etc. - -Using this same `layouts/_default/list.html` template and applying it to the `quotes` section above will render the following output. Note that `quotes` does not have an `_index.md` file to pull from: - -{{< code file=example.com/quote/index.html >}} - -
-
-
- -

Quotes

-
-
- -
- -{{< /code >}} - -{{% note %}} -By default, Hugo capitalizes and pluralizes automatic list titles including section, taxonomy, and term pages. You can disable these transformations by setting [`capitalizeListTitles`] and [`pluralizeListTitles`] in your site configuration. - -You can change the capitalization style in your site configuration to one of `ap`, `chicago`, `go`, `firstupper`, or `none`. See [details]. - -[`capitalizeListTitles`]: /getting-started/configuration/#capitalizelisttitles -[`pluralizeListTitles`]: /getting-started/configuration/#pluralizelisttitles -[details]: /getting-started/configuration/#configure-title-case -{{% /note %}} - -## Example list templates - -### Section template - -This list template has been modified slightly from a template originally used in [spf13.com](https://spf13.com/). It makes use of [partial templates][partials] for the chrome of the rendered page rather than using a [base template][base]. The examples that follow also use the [content view templates][views] `li.html` or `summary.html`. - -{{< code file=layouts/section/posts.html >}} -{{ partial "header.html" . }} -{{ partial "subheader.html" . }} -
-
-

{{ .Title }}

-
    - - {{ range .Pages }} - {{ .Render "li" }} - {{ end }} -
-
-
-{{ partial "footer.html" . }} -{{< /code >}} - -### Taxonomy template - -{{< code file=layouts/_default/taxonomy.html >}} -{{ define "main" }} -
-
-

{{ .Title }}

- - {{ range .Pages }} - {{ .Render "summary" }} - {{ end }} -
-
-{{ end }} -{{< /code >}} - -## Sort content - -By default, Hugo sorts page collections by: - -1. Page [weight] -2. Page [date] (descending) -3. Page [linkTitle], falling back to page [title] -4. Page file path if the page is backed by a file - -[date]: /methods/page/date/ -[weight]: /methods/page/weight/ -[linkTitle]: /methods/page/linktitle/ -[title]: /methods/page/title/ - -Change the sort order using any of the methods below. - -{{< list-pages-in-section path=/methods/pages filter=methods_pages_sort filterType=include titlePrefix=. omitElementIDs=true >}} - -## Group content - -Group your content by field, parameter, or date using any of the methods below. - -{{< list-pages-in-section path=/methods/pages filter=methods_pages_group filterType=include titlePrefix=. omitElementIDs=true >}} - -## Filtering and limiting lists - -Sometimes you only want to list a subset of the available content. A -common is to only display posts from [main sections] -on the blog's homepage. - -See the documentation on [`where`] and -[`first`] for further details. - -[base]: /templates/base/ -[bepsays]: https://bepsays.com/en/2016/12/19/hugo-018/ -[directorystructure]: /getting-started/directory-structure/ -[`Format` function]: /methods/time/format/ -[front matter]: /content-management/front-matter/ -[getpage]: /methods/page/getpage/ -[homepage]: /templates/homepage/ -[mentalmodel]: https://webstyleguide.com/wsg3/3-information-architecture/3-site-structure.html -[partials]: /templates/partials/ -[RSS 2.0]: https://cyber.harvard.edu/rss/rss.html -[rss]: /templates/rss/ -[sections]: /content-management/sections/ -[sectiontemps]: /templates/section-templates/ -[taxlists]: /templates/taxonomy-templates/#taxonomy-templates -[taxterms]: /templates/taxonomy-templates/#term-templates -[taxvars]: /methods/taxonomy/ -[views]: /templates/views/ -[`where`]: /functions/collections/where/ -[`first`]: /functions/collections/first/ -[main sections]: /methods/site/mainsections/ -[`time.Format`]: /functions/time/format/ diff --git a/content/en/templates/lookup-order.md b/content/en/templates/lookup-order.md index 406a17c38..3f9a9c527 100644 --- a/content/en/templates/lookup-order.md +++ b/content/en/templates/lookup-order.md @@ -1,13 +1,14 @@ --- title: Template lookup order +linkTitle: Lookup order description: Hugo uses the rules below to select a template for a given page, starting from the most specific. categories: [templates,fundamentals] -keywords: [templates] +keywords: [] menu: docs: parent: templates - weight: 30 -weight: 30 + weight: 40 +weight: 40 toc: true --- @@ -99,23 +100,29 @@ layouts/ └── single.html <-- renders about.md ``` -## Home page +## Home templates + +These template paths are sorted by specificity in descending order. The least specific path is at the bottom of each list. {{< datatable-filtered "output" "layouts" "Kind == home" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} -## Single pages +## Single templates + +These template paths are sorted by specificity in descending order. The least specific path is at the bottom of each list. {{< datatable-filtered "output" "layouts" "Kind == page" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} -## Section pages +## Section templates -A section page is a list of pages within a given section. +These template paths are sorted by specificity in descending order. The least specific path is at the bottom of each list. {{< datatable-filtered "output" "layouts" "Kind == section" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} -## Taxonomy pages +## Taxonomy templates -A taxonomy page is a list of terms within a given taxonomy. The examples below assume the following site configuration: +These template paths are sorted by specificity in descending order. The least specific path is at the bottom of each list. + +The examples below assume the following site configuration: {{< code-toggle file=hugo >}} [taxonomies] @@ -124,9 +131,11 @@ category = 'categories' {{< datatable-filtered "output" "layouts" "Kind == taxonomy" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} -## Term pages +## Term templates -A term page is a list of pages associated with a given term. The examples below assume the following site configuration: +These template paths are sorted by specificity in descending order. The least specific path is at the bottom of each list. + +The examples below assume the following site configuration: {{< code-toggle file=hugo >}} [taxonomies] @@ -134,3 +143,16 @@ category = 'categories' {{< /code-toggle >}} {{< datatable-filtered "output" "layouts" "Kind == term" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} + +## RSS templates + +These template paths are sorted by specificity in descending order. The least specific path is at the bottom of each list. + +The examples below assume the following site configuration: + +{{< code-toggle file=hugo >}} +[taxonomies] +category = 'categories' +{{< /code-toggle >}} + +{{< datatable-filtered "output" "layouts" "OutputFormat == rss" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} diff --git a/content/en/templates/menu-templates.md b/content/en/templates/menu.md similarity index 96% rename from content/en/templates/menu-templates.md rename to content/en/templates/menu.md index 403affe3c..de103803c 100644 --- a/content/en/templates/menu-templates.md +++ b/content/en/templates/menu.md @@ -1,15 +1,16 @@ --- -title: Menu templates +title: Menus description: Create templates to render one or more menus. categories: [templates] -keywords: [lists,sections,menus] +keywords: [] menu: docs: + identifier: templates-menu parent: templates - weight: 140 -weight: 140 + weight: 180 +weight: 180 toc: true -aliases: [/templates/menus/] +aliases: [/templates/menus/,/templates/menu-templates/] --- ## Overview diff --git a/content/en/templates/output-formats.md b/content/en/templates/output-formats.md index ee4dbf0b6..c81d58488 100644 --- a/content/en/templates/output-formats.md +++ b/content/en/templates/output-formats.md @@ -2,7 +2,7 @@ title: Custom output formats description: Hugo can output content in multiple formats, including calendar events, e-book formats, Google AMP, and JSON search indexes, or any custom text format. categories: [templates,fundamentals] -keywords: ["amp", "outputs", "rss"] +keywords: [] menu: docs: parent: templates @@ -79,7 +79,7 @@ isPlainText = true protocol = "bep://" {{}} -The above example is fictional, but if used for the homepage on a site with `baseURL` `https://example.org`, it will produce a plain text homepage with the URL `bep://example.org/myindex.enr`. +The above example is fictional, but if used for the home page on a site with `baseURL` `https://example.org`, it will produce a plain text home page with the URL `bep://example.org/myindex.enr`. ### Configure output formats @@ -163,7 +163,7 @@ Example from site configuration file: Note that in the above examples, the _output formats_ for `section`, `taxonomy` and `term` will stay at their default value `['html','rss']`. -* The `outputs` definition is per page [`Kind`][page_kinds]. +* The `outputs` definition is per page [`Kind`]. * The names (e.g. `html`, `amp`) must match the `name` of a defined output format, and can be overridden per page in front matter. The following is an example of front matter in a content file that defines output formats for the rendered `Page`: @@ -242,9 +242,7 @@ The partial below is a plain text template . The output format is `csv`, and sin {{ partial "mytextpartial.csv" . }} ``` -[base]: /templates/base/ [site configuration]: /getting-started/configuration/ [lookup order]: /templates/lookup-order/ [media type]: https://en.wikipedia.org/wiki/Media_type -[partials]: /templates/partials/ [`kind`]: /methods/page/kind/ diff --git a/content/en/templates/pagination.md b/content/en/templates/pagination.md index 36dea0c8e..2fb338278 100644 --- a/content/en/templates/pagination.md +++ b/content/en/templates/pagination.md @@ -1,161 +1,293 @@ --- title: Pagination -description: Hugo supports pagination for your homepage, section pages, and taxonomies. +description: Split a list page into two or more subsets. categories: [templates] -keywords: [lists,sections,pagination] +keywords: [] menu: docs: parent: templates - weight: 100 -weight: 100 + weight: 190 +weight: 190 toc: true aliases: [/extras/pagination,/doc/pagination/] --- -The real power of Hugo pagination shines when combined with the [`where`] function and its SQL-like operators: [`first`], [`last`], and [`after`]. You can even [order the content][lists] the way you've become used to with Hugo. +Displaying a large page collection on a list page is not user-friendly: -## Configure pagination +- A massive list can be intimidating and difficult to navigate. Users may get lost in the sheer volume of information. +- Large pages take longer to load, which can frustrate users and lead to them abandoning the site. +- Without any filtering or organization, finding a specific item becomes a tedious scrolling exercise. -Pagination can be configured in your [site configuration][configuration]: - -paginate -: default = `10`. This setting can be overridden within the template. - -paginatePath -: default = `page`. Allows you to set a different path for your pagination pages. - -Setting `paginate` to a positive value will split the list pages for the homepage, sections and taxonomies into chunks of that size. But note that the generation of the pagination pages for sections, taxonomies and homepage is *lazy* --- the pages will not be created if not referenced by a `.Paginator` (see below). - -`paginatePath` is used to adapt the `URL` to the pages in the paginator (the default setting will produce URLs on the form `/page/1/`. - -## List paginator pages +Improve usability by paginating `home`, `section`, `taxonomy`, and `term` pages. {{% note %}} -Paginate a page collection in list templates for these page kinds: `home`, `section`, `taxonomy`, or `term`. You cannot paginate a page collection in a template for the `page` page kind. +The most common templating mistake related to pagination is invoking pagination more than once for a given list page. See the [caching](#caching) section below. {{% /note %}} -There are two ways to configure and use a `.Paginator`: +## Terminology -1. The simplest way is just to call `.Paginator.Pages` from a template. It will contain the pages for *that page*. -2. Select another set of pages with the available template functions and ordering options, and pass the slice to `.Paginate`, e.g. - * `{{ range (.Paginate ( first 50 .Pages.ByTitle )).Pages }}` or - * `{{ range (.Paginate .RegularPagesRecursive).Pages }}`. +paginate +: To split a [list page] into two or more subsets. -For a given **Page**, it's one of the options above. The `.Paginator` is static and cannot change once created. +pagination +: The process of paginating a list page. -If you call `.Paginator` or `.Paginate` multiple times on the same page, you should ensure all the calls are identical. Once *either* `.Paginator` or `.Paginate` is called while generating a page, its result is cached, and any subsequent similar call will reuse the cached result. This means that any such calls which do not match the first one will not behave as written. +pager +: Created during pagination, a pager contains a subset of a list page and navigation links to other pagers. -(Remember that function arguments are eagerly evaluated, so a call like `$paginator := cond x .Paginator (.Paginate .RegularPagesRecursive)` is an example of what you should *not* do. Use `if`/`else` instead to ensure exactly one evaluation.) +paginator +: A collection of pagers. -The global page size setting (`Paginate`) can be overridden by providing a positive integer as the last argument. The examples below will give five items per page: +[list page]: /getting-started/glossary/#list-page -* `{{ range (.Paginator 5).Pages }}` -* `{{ $paginator := .Paginate (where .Pages "Type" "posts") 5 }}` +## Configuration -It is also possible to use the `GroupBy` functions in combination with pagination: +Control pagination behavior in your site configuration. These are the default settings: + +{{< code-toggle file=hugo config=pagination />}} + +disableAliases +: (`bool`) Whether to disable alias generation for the first pager. Default is `false`. + +pagerSize +: (`int`) The number of pages per pager. Default is `10`. + +path +: (`string`) The segment of each pager URL indicating that the target page is a pager. Default is `page`. + +With multilingual sites you can define the pagination behavior for each language: + +{{< code-toggle file=hugo >}} +[languages.en] +contentDir = 'content/en' +languageCode = 'en-US' +languageDirection = 'ltr' +languageName = 'English' +weight = 1 +[languages.en.pagination] +disableAliases = true +pagerSize = 10 +path = 'page' +[languages.de] +contentDir = 'content/de' +languageCode = 'de-DE' +languageDirection = 'ltr' +languageName = 'Deutsch' +weight = 2 +[languages.de.pagination] +disableAliases = true +pagerSize = 20 +path = 'blatt' +{{< /code-toggle >}} + +## Methods + +To paginate a `home`, `section`, `taxonomy`, or `term` page, invoke either of these methods on the `Page` object in the corresponding template: + +- [`Paginate`] +- [`Paginator`] + +The `Paginate` method is more flexible, allowing you to: + +- Paginate any page collection +- Filter, sort, and group the page collection +- Override the number of pages per pager as defined in your site configuration + +By comparison, the `Paginator` method paginates the page collection passed into the template, and you cannot override the number of pages per pager. + +[`Paginate`]: /methods/page/paginate/ +[`Paginator`]: /methods/page/paginator/ + +## Examples + +To paginate a list page using the `Paginate` method: ```go-html-template -{{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} +{{ $pages := where site.RegularPages "Type" "posts" }} +{{ $paginator := .Paginate $pages.ByTitle 7 }} + +{{ range $paginator.Pages }} +

{{ .LinkTitle }}

+{{ end }} + +{{ template "_internal/pagination.html" . }} ``` -## Build the navigation +In the example above, we: + +1. Build a page collection +2. Sort the page collection by title +3. Paginate the page collection, with 7 pages per pager +4. Range over the paginated page collection, rendering a link to each page +5. Call the embedded pagination template to create navigation links between pagers + + +To paginate a list page using the `Paginator` method: + +```go-html-template +{{ range .Paginator.Pages }} +

{{ .LinkTitle }}

+{{ end }} + +{{ template "_internal/pagination.html" . }} +``` + +In the example above, we: + +1. Paginate the page collection passed into the template, with the default number of pages per pager +2. Range over the paginated page collection, rendering a link to each page +3. Call the embedded pagination template to create navigation links between pagers + +## Caching + +{{% note %}} +The most common templating mistake related to pagination is invoking pagination more than once for a given list page. +{{% /note %}} + +Regardless of pagination method, the initial invocation is cached and cannot be changed. If you invoke pagination more than once for a given list page, subsequent invocations use the cached result. This means that subsequent invocations will not behave as written. + +When paginating conditionally, do not use the `compare.Conditional` function due to its eager evaluation of arguments. Use an `if-else` construct instead. + +[`compare.Conditional`]: /functions/compare/conditional/ + +## Grouping + +Use pagination with any of the [grouping methods]. For example: + +[grouping methods]: /quick-reference/page-collections/#group + +```go-html-template +{{ $pages := where site.RegularPages "Type" "posts" }} +{{ $paginator := .Paginate ($pages.GroupByDate "Jan 2006") }} + +{{ range $paginator.PageGroups }} +

{{ .Key }}

+ {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} + +{{ template "_internal/pagination.html" . }} +``` + +[grouping methods]: /quick-reference/page-collections/#group + +## Navigation + +As shown in the examples above, the easiest way to add navigation between pagers is with Hugo's embedded pagination template: + +```go-html-template +{{ template "_internal/pagination.html" . }} +``` + +The embedded pagination template has two formats: `default` and `terse`. The above is equivalent to: + +```go-html-template +{{ template "_internal/pagination.html" (dict "page" . "format" "default") }} +``` + +The `terse` format has fewer controls and page slots, consuming less space when styled as a horizontal list. To use the `terse` format: + +```go-html-template +{{ template "_internal/pagination.html" (dict "page" . "format" "terse") }} +``` {{% note %}} To override Hugo's embedded pagination template, copy the [source code] to a file with the same name in the layouts/partials directory, then call it from your templates using the [`partial`] function: -`{{ partial "pagination" . }}` +`{{ partial "pagination.html" . }}` [`partial`]: /functions/partials/include/ [source code]: {{% eturl pagination %}} {{% /note %}} -The easiest way to add this to your pages is to include the embedded template: +Create custom navigation components using any of the `Pager` methods: -```go-html-template -{{ template "_internal/pagination.html" . }} +{{< list-pages-in-section path=/methods/pager >}} + +## Structure + +The example below depicts the published site structure when paginating a list page. + +With this content: + +```text +content/ +├── posts/ +│ ├── _index.md +│ ├── post-1.md +│ ├── post-2.md +│ ├── post-3.md +│ └── post-4.md +└── _index.md ``` -{{% note %}} -If you use any filters or ordering functions to create your `.Paginator` *and* you want the navigation buttons to be shown before the page listing, you must create the `.Paginator` before it's used. -{{% /note %}} +And this site configuration: -The following example shows how to create `.Paginator` before its used: +{{< code-toggle file=hugo >}} +[pagination] + disableAliases = false + pagerSize = 2 + path = 'page' +{{< /code-toggle >}} + +And this section template: ```go-html-template -{{ $paginator := .Paginate (where .Pages "Type" "posts") }} -{{ template "_internal/pagination.html" . }} -{{ range $paginator.Pages }} - {{ .Title }} +{{ range (.Paginate .Pages).Pages }} +

{{ .LinkTitle }}

{{ end }} -``` -Without the `where` filter, the above example is even simpler: - -```go-html-template {{ template "_internal/pagination.html" . }} -{{ range .Paginator.Pages }} - {{ .Title }} -{{ end }} ``` -If you want to build custom navigation, you can do so using the `.Paginator` object, which includes the following properties: +The published site has this structure: -PageNumber -: The current page's number in the pager sequence - -URL -: The relative URL to the current pager - -Pages -: The pages in the current pager - -NumberOfElements -: The number of elements on this page - -HasPrev -: Whether there are page(s) before the current - -Prev -: The pager for the previous page - -HasNext -: Whether there are page(s) after the current - -Next -: The pager for the next page - -First -: The pager for the first page - -Last -: The pager for the last page - -Pagers -: A list of pagers that can be used to build a pagination menu - -PageSize -: Size of each pager - -TotalPages -: The number of pages in the paginator - -TotalNumberOfElements -: The number of elements on all pages in this paginator - -## Additional information - -The pages are built on the following form (`BLANK` means no value): - -```txt -[SECTION/TAXONOMY/BLANK]/index.html -[SECTION/TAXONOMY/BLANK]/page/1/index.html => redirect to [SECTION/TAXONOMY/BLANK]/index.html -[SECTION/TAXONOMY/BLANK]/page/2/index.html -.... +```text +public/ +├── posts/ +│ ├── page/ +│ │ ├── 1/ +│ │ │ └── index.html <-- alias to public/posts/index.html +│ │ └── 2/ +│ │ └── index.html +│ ├── post-1/ +│ │ └── index.html +│ ├── post-2/ +│ │ └── index.html +│ ├── post-3/ +│ │ └── index.html +│ ├── post-4/ +│ │ └── index.html +│ └── index.html +└── index.html ``` -[`first`]: /functions/collections/first/ -[`last`]: /functions/collections/last/ -[`after`]: /functions/collections/after/ -[configuration]: /getting-started/configuration/ -[lists]: /templates/lists/ -[`where`]: /functions/collections/where/ +To disable alias generation for the first pager, change your site configuration: + +{{< code-toggle file=hugo >}} +[pagination] + disableAliases = true + pagerSize = 2 + path = 'page' +{{< /code-toggle >}} + +Now the published site will have this structure: + +```text +public/ +├── posts/ +│ ├── page/ +│ │ └── 2/ +│ │ └── index.html +│ ├── post-1/ +│ │ └── index.html +│ ├── post-2/ +│ │ └── index.html +│ ├── post-3/ +│ │ └── index.html +│ ├── post-4/ +│ │ └── index.html +│ └── index.html +└── index.html +``` diff --git a/content/en/templates/partials.md b/content/en/templates/partial.md similarity index 87% rename from content/en/templates/partials.md rename to content/en/templates/partial.md index 34d0a9dda..30055e7e3 100644 --- a/content/en/templates/partials.md +++ b/content/en/templates/partial.md @@ -2,27 +2,18 @@ title: Partial templates description: Partials are smaller, context-aware components in your list and page templates that can be used economically to keep your templating DRY. categories: [templates] -keywords: [lists,sections,partials] +keywords: [] menu: docs: parent: templates - weight: 120 -weight: 120 + weight: 110 +weight: 110 toc: true -aliases: [/templates/partial/,/layout/chrome/,/extras/analytics/] +aliases: [/templates/partials/,/layout/chrome/] --- {{< youtube pjS4pOLyB7c >}} -## Partial template lookup order - -Partial templates---like [single page templates][singletemps] and [list page templates][listtemps]---have a specific [lookup order]. However, partials are simpler in that Hugo will only check in two places: - -1. `layouts/partials/.html` -2. `themes//layouts/partials/.html` - -This allows a theme's end user to copy a partial's contents into a file of the same name for [further customization][customize]. - ## Use partials in your templates All partials for your Hugo project are located in a single `layouts/partials` directory. For better organization, you can create multiple subdirectories within `partials` as well: @@ -50,7 +41,7 @@ All partials are called within your templates using the following pattern: ``` {{% note %}} -One of the most common mistakes with new Hugo users is failing to pass a context to the partial call. In the pattern above, note how "the dot" (`.`) is required as the second argument to give the partial context. You can read more about "the dot" in the [Hugo templating introduction](/templates/introduction/). +One of the most common mistakes with new Hugo users is failing to pass a context to the partial call. In the pattern above, note how "the dot" (`.`) is required as the second argument to give the partial context. You can read more about "the dot" in the [Hugo templating introduction](/templates/introduction/#context). {{% /note %}} {{% note %}} @@ -175,8 +166,6 @@ The following `footer.html` partial template is used for [spf13.com](https://spf [context]: /templates/introduction/ [customize]: /hugo-modules/theme-components/ -[listtemps]: /templates/lists/ [lookup order]: /templates/lookup-order/ [partialcached]: /functions/partials/includecached/ -[singletemps]: /templates/single-page-templates/ [themes]: /themes/ diff --git a/content/en/templates/robots.md b/content/en/templates/robots.md index 63edb1ca8..ee0755794 100644 --- a/content/en/templates/robots.md +++ b/content/en/templates/robots.md @@ -1,14 +1,14 @@ --- -title: Robots.txt file -linkTitle: Robots.txt +title: robots.txt template +linkTitle: robots.txt templates description: Hugo can generate a customized robots.txt in the same way as any other template. categories: [templates] -keywords: [robots,search engines] +keywords: [] menu: docs: parent: templates - weight: 230 -weight: 230 + weight: 170 +weight: 170 aliases: [/extras/robots-txt/] --- diff --git a/content/en/templates/rss.md b/content/en/templates/rss.md index 635a62499..0967bb338 100644 --- a/content/en/templates/rss.md +++ b/content/en/templates/rss.md @@ -2,12 +2,12 @@ title: RSS templates description: Use the embedded RSS template, or create your own. categories: [templates] -keywords: [rss,xml,templates] +keywords: [] menu: docs: parent: templates - weight: 160 -weight: 160 + weight: 150 +weight: 150 toc: true --- @@ -70,7 +70,7 @@ Hugo will render this to: Override Hugo's [embedded RSS template] by creating one or more of your own, following the naming conventions as shown in the [template lookup order]. [embedded RSS template]: {{% eturl rss %}} -[template lookup order]: #template-lookup-order +[template lookup order]: /templates/lookup-order/#rss-templates For example, to use different templates for home, section, taxonomy, and term pages: @@ -84,9 +84,3 @@ layouts/ ``` RSS templates receive the `.Page` and `.Site` objects in context. - -## Template lookup order - -The table below shows the RSS template lookup order for the different page kinds. The first listing shows the lookup order when running with a theme (`demoTheme`). - -{{< datatable-filtered "output" "layouts" "OutputFormat == rss" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}} diff --git a/content/en/templates/section-templates.md b/content/en/templates/section.md similarity index 72% rename from content/en/templates/section-templates.md rename to content/en/templates/section.md index 71f41f5e4..28d931534 100644 --- a/content/en/templates/section-templates.md +++ b/content/en/templates/section.md @@ -1,21 +1,20 @@ --- -title: Section page templates -linkTitle: Section templates +title: Section templates description: Use section templates to list members of a section. categories: [templates] -keywords: [lists,sections,templates] +keywords: [] menu: docs: parent: templates weight: 80 weight: 80 toc: true -aliases: [/templates/sections/] +aliases: [/templates/sections/,/templates/section-templates/] --- ## Add content and front matter to section templates -To effectively leverage section page templates, you should first understand Hugo's [content organization](/content-management/organization/) and, specifically, the purpose of `_index.md` for adding content and front matter to section and other list pages. +To effectively leverage section templates, you should first understand Hugo's [content organization](/content-management/organization/) and, specifically, the purpose of `_index.md` for adding content and front matter to section and other list pages. ## Section template lookup order @@ -27,16 +26,15 @@ See [Template Lookup](/templates/lookup-order/). {{ define "main" }}
{{ .Content }} -
    - {{ range .Paginator.Pages }} -
  • {{ .Title }} -
    - {{ partial "summary.html" . }} -
    -
  • - {{ end }} -
- {{ partial "pagination.html" . }} + + {{ $pages := where site.RegularPages "Type" "posts" }} + {{ $paginator := .Paginate $pages }} + + {{ range $paginator.Pages }} +

{{ .LinkTitle }}

+ {{ end }} + + {{ template "_internal/pagination.html" . }}
{{ end }} {{< /code >}} @@ -83,8 +81,6 @@ Which then returns the following: ``` [contentorg]: /content-management/organization/ -[getpage]: /methods/page/getpage/ -[lists]: /templates/lists/ [lookup]: /templates/lookup-order/ [`where`]: /functions/collections/where/ [sections]: /content-management/sections/ diff --git a/content/en/templates/shortcode-templates.md b/content/en/templates/shortcode.md similarity index 99% rename from content/en/templates/shortcode-templates.md rename to content/en/templates/shortcode.md index 3c8e1d213..6d9234f71 100644 --- a/content/en/templates/shortcode-templates.md +++ b/content/en/templates/shortcode.md @@ -3,13 +3,13 @@ title: Create your own shortcodes linkTitle: Shortcode templates description: You can extend Hugo's embedded shortcodes by creating your own using the same templating syntax as that for single and list pages. categories: [templates] -keywords: [shortcodes,templates] +keywords: [] menu: docs: parent: templates weight: 130 weight: 130 -aliases: [/functions/get] +aliases: [/templates/shortcode-templates/] toc: true --- @@ -104,7 +104,7 @@ The `.Inner` method returns the content between the opening and closing shortcod ``` {{% note %}} -Any shortcode that calls the `.Inner` method must be closed or self-closed. To call a shortcode using the self-closing sytax +Any shortcode that calls the `.Inner` method must be closed or self-closed. To call a shortcode using the self-closing syntax. ```go-html-template {{}} diff --git a/content/en/templates/single-page-templates.md b/content/en/templates/single-page-templates.md deleted file mode 100644 index 9546486f8..000000000 --- a/content/en/templates/single-page-templates.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Single page templates -description: The primary view of content in Hugo is the single view. Hugo will render every Markdown file provided with a corresponding single template. -categories: [templates] -keywords: [page, templates] -menu: - docs: - parent: templates - weight: 50 -weight: 50 -toc: true -aliases: [/layout/content/] ---- - -## Single page template lookup order - -See [Template Lookup](/templates/lookup-order/). - -## Example single page templates - -{{< code file=layouts/posts/single.html >}} -{{ define "main" }} -
-

{{ .Title }}

-
-
- {{ .Content }} -
-
-
- -{{ end }} -{{< /code >}} - -To easily generate new instances of a content type (e.g., new `.md` files in a section like `project/`) with preconfigured front matter, use [content archetypes][archetypes]. - -[archetypes]: /content-management/archetypes/ -[base templates]: /templates/base/ -[content type]: /content-management/types/ -[directory structure]: /getting-started/directory-structure/ -[dry]: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself -[`.format` function]: /methods/time/format/ -[front matter]: /content-management/front-matter/ -[pagetaxonomy]: /templates/taxonomy-templates/#list-terms-assigned-to-a-page -[partials]: /templates/partials/ -[section]: /content-management/sections/ -[spf13]: https://spf13.com/ -[`with`]: /functions/go-template/with/ diff --git a/content/en/templates/single.md b/content/en/templates/single.md new file mode 100644 index 000000000..f6292ca03 --- /dev/null +++ b/content/en/templates/single.md @@ -0,0 +1,56 @@ +--- +title: Single templates +description: Create a single template to render a single page. +categories: [templates] +keywords: [] +menu: + docs: + parent: templates + weight: 70 +weight: 70 +toc: true +aliases: [/layout/content/,/templates/single-page-templates/] +--- + +The single template below inherits the site's shell from the [base template]. + +[base template]: /templates/types/ + +{{< code file=layouts/_default/single.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} +{{ end }} +{{< /code >}} + +Review the [template lookup order] to select a template path that provides the desired level of specificity. + +[template lookup order]: /templates/lookup-order/#single-templates + +The single template below inherits the site's shell from the base template, and renders the page title, creation date, content, and a list of associated terms in the "tags" taxonomy. + +{{< code file=layouts/_default/single.html >}} +{{ define "main" }} +
+

{{ .Title }}

+ {{ with .Date }} + {{ $dateMachine := . | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := . | time.Format ":date_long" }} + + {{ end }} +
+ {{ .Content }} +
+ +
+{{ end }} +{{< /code >}} diff --git a/content/en/templates/sitemap-template.md b/content/en/templates/sitemap.md similarity index 96% rename from content/en/templates/sitemap-template.md rename to content/en/templates/sitemap.md index 64609f0b9..9fc152210 100644 --- a/content/en/templates/sitemap-template.md +++ b/content/en/templates/sitemap.md @@ -2,14 +2,14 @@ title: Sitemap templates description: Hugo provides built-in sitemap templates. categories: [templates] -keywords: [sitemap,xml,templates] +keywords: [] menu: docs: parent: templates - weight: 170 -weight: 170 + weight: 140 +weight: 140 toc: true -aliases: [/layout/sitemap/,/templates/sitemap/] +aliases: [/layout/sitemap/,/templates/sitemap-template/] --- ## Overview diff --git a/content/en/templates/taxonomy-templates.md b/content/en/templates/taxonomy-templates.md deleted file mode 100644 index e83231a5c..000000000 --- a/content/en/templates/taxonomy-templates.md +++ /dev/null @@ -1,285 +0,0 @@ ---- -title: Taxonomy templates -description: Taxonomy templating includes taxonomy list pages, taxonomy terms pages, and using taxonomies in your single page templates. -categories: [templates] -keywords: [taxonomies,metadata,front matter,terms,templates] -menu: - docs: - parent: templates - weight: 90 -weight: 90 -toc: true -aliases: [/taxonomies/displaying/,/templates/terms/,/indexes/displaying/,/taxonomies/templates/,/indexes/ordering/, /templates/taxonomies/, /templates/taxonomy/] ---- - -Hugo includes support for user-defined groupings of content called **taxonomies**. Taxonomies are classifications that demonstrate logical relationships between content. See [Taxonomies under Content Management](/content-management/taxonomies) if you are unfamiliar with how Hugo leverages this powerful feature. - -Hugo provides multiple ways to use taxonomies throughout your project templates: - -* Order the way content associated with a taxonomy term is displayed in a [taxonomy template](#taxonomy-templates) -* Order the way the terms for a taxonomy are displayed in a [term template](#term-templates) -* List a single content's taxonomy terms within a [single page template] - -## Taxonomy templates - -Taxonomy list page templates are lists and therefore have all the methods available to [list pages][lists]. - -### Taxonomy template lookup order - -See [Template Lookup](/templates/lookup-order/). - -## Term templates - -### Term template lookup order - -See [Template Lookup](/templates/lookup-order/). - -### Taxonomy methods - -{{< list-pages-in-section path=/methods/taxonomy/ >}} - - -### OrderedTaxonomy - -Since Maps are unordered, an OrderedTaxonomy is a special structure that has a defined order. - -```go -[]struct { - Name string - WeightedPages WeightedPages -} -``` - -Each element of the slice has: - -.Term -: The Term used. - -.WeightedPages -: A slice of Weighted Pages. - -.Count -: The number of pieces of content assigned to this term. - -.Page -: Returns a page reference for this term. - -.Pages -: All Pages assigned to this term. All [list methods][renderlists] are available to this. - -## WeightedPages - -WeightedPages is simply a slice of WeightedPage. - -```go -type WeightedPages []WeightedPage -``` - -.Count -: The number of pieces of content assigned to this term. - -.Page -: Returns a page reference for this term. - -.Pages -: Returns a slice of pages, which then can be ordered using any of the [list methods][renderlists]. - -## Displaying custom metadata in taxonomy terms templates - -If you need to display custom metadata for each taxonomy term, you will need to create a page for that term at `/content///_index.md` and add your metadata in its front matter, [as explained in the taxonomies documentation](/content-management/taxonomies/#add-custom-metadata-to-a-taxonomy-or-term). Based on the Actors taxonomy example shown there, within your taxonomy terms template, you may access your custom fields by ranging over the page collection returned by the [`Pages`] method: - -```go-html-template -
    - {{ range .Pages }} -
  • - {{ .LinkTitle }} - {{ .Params.wikipedia }} -
  • - {{ end }} -
-``` - -## Order taxonomies - -Taxonomies can be ordered by either alphabetical key or by the number of content pieces assigned to that key. - -### Order alphabetically example - -```go-html-template -
    - {{ range .Data.Terms.Alphabetical }} -
  • {{ .Page.Title }} {{ .Count }}
  • - {{ end }} -
-``` - -## Order content within taxonomies - -Hugo uses both `date` and `weight` to order content within taxonomies. - -Each piece of content in Hugo can optionally be assigned a date. It can also be assigned a weight for each taxonomy it is assigned to. - -When iterating over content within taxonomies, the default sort is the same as that used for section and list pages: first by weight, then by date. This means that if the weights for two pieces of content are the same, then the more recent content will be displayed first. - -The default weight for any piece of content is 0. Zero means "does not have a weight", not "has a weight of numerical value zero". - -Weights of zero are thus treated specially: if two pages have unequal weights, and one of them is zero, then the zero-weighted page will always appear after the other one, regardless of the other's weight. Zero weights should thus be used with care: for example, if both positive and negative weights are used to extend a sequence in both directions, a zero-weighted page will appear not in the middle of the list, but at the end. - -### Assign weight - -Content can be assigned weight for each taxonomy that it's assigned to. - -{{< code-toggle file=content/example.md fm=true >}} -tags = [ "a", "b", "c" ] -tags_weight = 22 -categories = ["d"] -title = "Example" -categories_weight = 44 -{{< /code-toggle >}} - -The convention is `taxonomyname_weight`. - -In the above example, this piece of content has a weight of 22 which applies to the sorting when rendering the pages assigned to the "a", "b" and "c" values of the 'tag' taxonomy. - -It has also been assigned the weight of 44 when rendering the 'd' category. - -With this the same piece of content can appear in different positions in different taxonomies. - -Currently taxonomies only support the default ordering of content which is weight -> date. - -There are two different templates that the use of taxonomies will require you to provide. - -Both templates are covered in detail in the templates section. - -A [list template](/templates/lists/) is any template that will be used to render multiple pieces of content in a single html page. This template will be used to generate all the automatically created taxonomy pages. - -A [taxonomy template](/templates/taxonomy-templates/) is a template used to -generate the list of terms for a given template. - -There are four common ways you can display the data in your -taxonomies in addition to the automatic taxonomy pages created by hugo -using the [list templates](/templates/lists/): - -1. For a given piece of content, you can list the terms attached -2. For a given piece of content, you can list other content with the same - term -3. You can list all terms for a taxonomy -4. You can list all taxonomies (with their terms) - -## List terms assigned to a page - -List the terms assigned to a page using the `.Page.GetTerms` method. - -To render an unordered list: - -```go-html-template -{{ $taxonomy := "tags" }} -{{ with .GetTerms $taxonomy }} -

{{ (site.GetPage $taxonomy).LinkTitle }}:

- -{{ end }} -``` - -To render a comma-delimited list: - -```go-html-template -{{ $taxonomy := "tags" }} -{{ with .GetTerms $taxonomy }} -

- {{ (site.GetPage $taxonomy).LinkTitle }}: - {{ range $k, $_ := . -}} - {{ if $k }}, {{ end }} - {{ .LinkTitle }} - {{- end }} -

-{{ end }} -``` - -## List content with the same taxonomy term - -If you are using a taxonomy for something like a series of posts, you can list individual pages associated with the same term. For example: - - - -```go-html-template - -``` - -## List all content in a given taxonomy - -This would be very useful in a sidebar as “featured content”. You could even have different sections of “featured content” by assigning different terms to the content. - -```go-html-template - -``` - -## Render a site's taxonomies - -The following example displays all terms in a site's tags taxonomy: - -```go-html-template - -``` -This example will list all taxonomies and their terms, as well as all the content assigned to each of the terms. - -{{< code file=layouts/partials/all-taxonomies.html >}} -{{ with .Site.Taxonomies }} - {{ $numberOfTerms := 0 }} - {{ range $taxonomy, $terms := . }} - {{ $numberOfTerms = len . | add $numberOfTerms }} - {{ end }} - - {{ if gt $numberOfTerms 0 }} - - {{ end }} -{{ end }} -{{< /code >}} - -[`Pages`]: /methods/page/pages/ -[getpage]: /methods/page/getpage/ -[lists]: /templates/lists/ -[renderlists]: /templates/lists/ -[single page template]: /templates/single-page-templates/ diff --git a/content/en/templates/taxonomy.md b/content/en/templates/taxonomy.md new file mode 100644 index 000000000..d0f24b1b2 --- /dev/null +++ b/content/en/templates/taxonomy.md @@ -0,0 +1,176 @@ +--- +title: Taxonomy templates +description: Create a taxonomy template to render a list of terms. +categories: [templates] +keywords: [] +menu: + docs: + parent: templates + weight: 90 +weight: 90 +toc: true +aliases: [/taxonomies/displaying/,/templates/terms/,/indexes/displaying/,/taxonomies/templates/,/indexes/ordering/, /templates/taxonomies/, /templates/taxonomy-templates/] +--- + +The [taxonomy] template below inherits the site's shell from the [base template], and renders a list of [terms] in the current taxonomy. + +[taxonomy]: /getting-started/glossary/#taxonomy +[terms]: /getting-started/glossary/#term +[base template]: /templates/types/ + +{{< code file=layouts/_default/taxonomy.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +Review the [template lookup order] to select a template path that provides the desired level of specificity. + +[template lookup order]: /templates/lookup-order/#taxonomy-templates + +In the example above, the taxonomy and term will be capitalized if their respective pages are not backed by files. You can disable this in your site configuration: + +{{< code-toggle file=hugo >}} +capitalizeListTitles = false +{{< /code-toggle >}} + +## Data object + +Use these methods on the `Data` object within a taxonomy template. + +Singular +: (`string`) Returns the singular name of the taxonomy. + +```go-html-template +{{ .Data.Singular }} → tag +``` + +Plural +: (`string`) Returns the plural name of the taxonomy. + +```go-html-template +{{ .Data.Plural }} → tags +``` + +Terms +: (`page.Taxonomy`) Returns the `Taxonomy` object, consisting of a map of terms and the [weighted pages] associated with each term. + +[weighted pages]: /getting-started/glossary/#weighted-page + +```go-html-template +{{ $taxonomyObject := .Data.Terms }} +``` + +Once we have the `Taxonomy` object, we can call any of its [methods], allowing us to sort alphabetically or by term count. + +[methods]: /methods/taxonomy/ + +## Sort alphabetically + +The taxonomy template below inherits the site's shell from the base template, and renders a list of terms in the current taxonomy. Hugo sorts the list alphabetically by term, and displays the number of pages associated with each term. + +{{< code file=layouts/_default/taxonomy.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Data.Terms.Alphabetical }} +

{{ .Page.LinkTitle }} ({{ .Count }})

+ {{ end }} +{{ end }} +{{< /code >}} + +## Sort by term count + +The taxonomy template below inherits the site's shell from the base template, and renders a list of terms in the current taxonomy. Hugo sorts the list by the number of pages associated with each term, and displays the number of pages associated with each term. + +{{< code file=layouts/_default/taxonomy.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Data.Terms.ByCount }} +

{{ .Page.LinkTitle }} ({{ .Count }})

+ {{ end }} +{{ end }} +{{< /code >}} + +## Include content links + +The [`Alphabetical`] and [`ByCount`] methods used in the previous examples return an [ordered taxonomy], so we can also list the content to which each term is assigned. + +[ordered taxonomy]: /getting-started/glossary/#ordered-taxonomy +[`Alphabetical`]: /methods/taxonomy/alphabetical/ +[`ByCount`]: /methods/taxonomy/bycount/ + +The taxonomy template below inherits the site's shell from the base template, and renders a list of terms in the current taxonomy. Hugo sorts the list by the number of pages associated with each term, displays the number of pages associated with each term, then lists the content to which each term is assigned. + +{{< code file=layouts/_default/taxonomy.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Data.Terms.ByCount }} +

{{ .Page.LinkTitle }} ({{ .Count }})

+ + {{ end }} +{{ end }} +{{< /code >}} + +## Display metadata + +Display metadata about each term by creating a corresponding branch bundle in the content directory. + +For example, create an "authors" taxonomy: + +{{< code-toggle file=hugo >}} +[taxonomies] +author = 'authors' +{{< /code-toggle >}} + +Then create content with one [branch bundle] for each term: + +[branch bundle]: /getting-started/glossary/#branch-bundle + +```text +content/ +└── authors/ + ├── jsmith/ + │ ├── _index.md + │ └── portrait.jpg + └── rjones/ + ├── _index.md + └── portrait.jpg +``` + +Then add front matter to each term page: + +{{< code-toggle file=content/authors/jsmith/_index.md fm=true >}} +title = "John Smith" +affiliation = "University of Chicago" +{{< /code-toggle >}} + +Then create a taxonomy template specific to the "authors" taxonomy: + +{{< code file=layouts/authors/taxonomy.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Data.Terms.Alphabetical }} +

{{ .Page.LinkTitle }}

+

Affiliation: {{ .Page.Params.Affiliation }}

+ {{ with .Page.Resources.Get "portrait.jpg" }} + {{ with .Fill "100x100" }} + portrait + {{ end }} + {{ end }} + {{ end }} +{{ end }} +{{< /code >}} + +In the example above we list each author including their affiliation and portrait. diff --git a/content/en/templates/term.md b/content/en/templates/term.md new file mode 100644 index 000000000..5becd0aa0 --- /dev/null +++ b/content/en/templates/term.md @@ -0,0 +1,115 @@ +--- +title: Term templates +description: Create a term template to render a list of pages associated with the current term. +categories: [templates] +keywords: [] +menu: + docs: + parent: templates + weight: 100 +weight: 100 +toc: true +--- + +The [term] template below inherits the site's shell from the [base template], and renders a list of pages associated with the current term. + +[term]: /getting-started/glossary/#term +[base template]: /templates/types/ + +{{< code file=layouts/_default/term.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +Review the [template lookup order] to select a template path that provides the desired level of specificity. + +[template lookup order]: /templates/lookup-order/#taxonomy-templates + +In the example above, the term will be capitalized if its respective page is not backed by a file. You can disable this in your site configuration: + +{{< code-toggle file=hugo >}} +capitalizeListTitles = false +{{< /code-toggle >}} + +## Data object + +Use these methods on the `Data` object within a term template. + +Singular +: (`string`) Returns the singular name of the taxonomy. + +```go-html-template +{{ .Data.Singular }} → tag +``` + +Plural +: (`string`) Returns the plural name of the taxonomy. + +```go-html-template +{{ .Data.Plural }} → tags +``` + +Term +: (`string`) Returns the name of the term. + +```go-html-template +{{ .Data.Term }} → fiction +``` + +## Display metadata + +Display metadata about each term by creating a corresponding branch bundle in the content directory. + +For example, create an "authors" taxonomy: + +{{< code-toggle file=hugo >}} +[taxonomies] +author = 'authors' +{{< /code-toggle >}} + +Then create content with one [branch bundle] for each term: + +[branch bundle]: /getting-started/glossary/#branch-bundle + +```text +content/ +└── authors/ + ├── jsmith/ + │ ├── _index.md + │ └── portrait.jpg + └── rjones/ + ├── _index.md + └── portrait.jpg +``` + +Then add front matter to each term page: + +{{< code-toggle file=content/authors/jsmith/_index.md fm=true >}} +title = "John Smith" +affiliation = "University of Chicago" +{{< /code-toggle >}} + +Then create a term template specific to the "authors" taxonomy: + +{{< code file=layouts/authors/term.html >}} +{{ define "main" }} +

{{ .Title }}

+

Affiliation: {{ .Params.affiliation }}

+ {{ with .Resources.Get "portrait.jpg" }} + {{ with .Fill "100x100" }} + portrait + {{ end }} + {{ end }} + {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +In the example above we display the author with their affiliation and portrait, then a list of associated content. diff --git a/content/en/templates/types/index.md b/content/en/templates/types/index.md new file mode 100644 index 000000000..934105d88 --- /dev/null +++ b/content/en/templates/types/index.md @@ -0,0 +1,284 @@ +--- +title: Template types +linkTitle: Template types +description: Create templates of different types to render your content, resources, and data. +categories: [templates] +keywords: [] +menu: + docs: + parent: templates + weight: 30 +weight: 30 +toc: true +aliases: ['/templates/lists/'] +--- + +[![structural diagram of a website](site-hierarchy.svg)](site-hierarchy.svg) + +## Structure + +Create templates in the layouts directory in the root of your project. + +Although your site may not require each of these templates, the example below is typical for a site of medium complexity. + +```text +layouts/ +├── _default/ +│ ├── _markup/ +│ │ ├── render-image.html <-- render hook +│ │ └── render-link.html <-- render hook +│ ├── baseof.html +│ ├── home.html +│ ├── section.html +│ ├── single.html +│ ├── taxonomy.html +│ └── term.html +├── articles/ +│ └── card.html <-- content view +├── partials/ +│ ├── footer.html +│ └── header.html +└── shortcodes/ + ├── audio.html + └── video.html +``` + +Hugo's [template lookup order] determines the template path, allowing you to create unique templates for any page. + +[template lookup order]: /templates/lookup-order/ + +{{% note %}} +You must have thorough understanding of the [template lookup order] when creating templates. Template selection is based on template type, page kind, content type, section, language, and output format. + +[template lookup order]: /templates/lookup-order/ +{{% /note %}} + +The purpose of each template type is described below. + +## Base + +Base templates reduce duplicate code by wrapping other templates within a shell. + +For example, the base template below calls the [partial] function to include partial templates for the `head`, `header`, and `footer` elements of each page, and it uses the [block] function to include `home`, `single`, `section`, `taxonomy`, and `term` templates within the `main` element of each page. + +[block]: /functions/go-template/block/ +[partial]: /functions/partials/include/ + +{{< code file=layouts/_default/baseof.html >}} + + + + {{ partial "head.html" . }} + + +
+ {{ partial "header.html" . }} +
+
+ {{ block "main" . }}{{ end }} +
+
+ {{ partial "footer.html" . }} +
+ + +{{< /code >}} + +Learn more about [base templates](/templates/base/). + +## Home + +A home template renders your site's home page. For a single page site this is the only required template. + +For example, the home template below inherits the site's shell from the base template, and renders the home page content with a list of pages. + +{{< code file=layouts/_default/home.html >}} +{{ define "main" }} + {{ .Content }} + {{ range site.RegularPages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +{{% include "templates/_common/filter-sort-group.md" %}} + +Learn more about [home templates](/templates/home/). + +## Single + +A single template renders a single page. + +For example, the single template below inherits the site's shell from the base template, and renders the title and content of each page. + +{{< code file=layouts/_default/single.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} +{{ end }} +{{< /code >}} + +Learn more about [single templates](/templates/single/). + +## Section + +A section template typically renders a list of pages within a section. + +For example, the section template below inherits the site's shell from the base template, and renders a list of pages in the current section. + +{{< code file=layouts/_default/section.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +{{% include "templates/_common/filter-sort-group.md" %}} + +Learn more about [section templates](/templates/section/). + +## Taxonomy + +A taxonomy template renders a list of terms in a [taxonomy]. + +[taxonomy]: /getting-started/glossary/#taxonomy + +For example, the taxonomy template below inherits the site's shell from the base template, and renders a list of terms in the current taxonomy. + +{{< code file=layouts/_default/taxonomy.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +{{% include "templates/_common/filter-sort-group.md" %}} + +Learn more about [taxonomy templates](/templates/taxonomy/). + +## Term + +A term template renders a list of pages associated with a [term]. + +[term]: /getting-started/glossary/#term + +For example, the term template below inherits the site's shell from the base template, and renders a list of pages associated with the current term. + +{{< code file=layouts/_default/term.html >}} +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ end }} +{{ end }} +{{< /code >}} + +{{% include "templates/_common/filter-sort-group.md" %}} + +Learn more about [term templates](/templates/term/). + +## Partial + +A partial template is typically used to render a component of your site, though you may also create partial templates that return values. + +{{% note %}} +Unlike other template types, you cannot create partial templates to target a particular page kind, content type, section, language, or output format. Partial templates do not follow Hugo's [template lookup order]. + +[template lookup order]: /templates/lookup-order/ +{{% /note %}} + +For example, the partial template below renders copyright information. + +{{< code file=layouts/partials/footer.html >}} +

Copyright {{ now.Year }}. All rights reserved.

+{{< /code >}} + +Learn more about [partial templates](/templates/partial/). + +## Content view + +A content view template is similar to a partial template, invoked by calling the [`Render`] method on a `Page` object. Unlike partial templates, content view templates: + +- Automatically inherit the context of the current page +- Follow a lookup order allowing you to target a given content type or section + +[`Render`]: /methods/page/render/ + +For example, the home template below inherits the site's shell from the base template, and renders a card component for each page within the "articles" section of your site. + +{{< code file=layouts/_default/home.html >}} +{{ define "main" }} + {{ .Content }} +
    + {{ range where site.RegularPages "Section" "articles" }} + {{ .Render "card" }} + {{ end }} +
+{{ end }} +{{< /code >}} + +{{< code file=layouts/articles/card.html >}} +
+

{{ .LinkTitle }}

+ {{ .Summary }} +
+{{< /code >}} + +Learn more about [content view templates](/templates/content-view/). + +## Render hook + +A render hook template overrides the conversion of Markdown to HTML. + +For example, the render hook template below adds a `rel` attribute to external links. + +{{< code file=layouts/_default/_markup/render-link.html >}} +{{- $u := urls.Parse .Destination -}} + + {{- with .Text | safeHTML }}{{ . }}{{ end -}} + +{{- /* chomp trailing newline */ -}} +{{< /code >}} + +Learn more about [render hook templates](/render-hooks/). + +## Shortcode + +A shortcode template is used to render a component of your site. Unlike partial templates, shortcode templates are called from content pages. + +For example, the shortcode template below renders an audio element from a [global resource]. + +[global resource]: /getting-started/glossary/#global-resource + +{{< code file=layouts/shortcodes/audio.html >}} +{{ with resources.Get (.Get "src") }} + +{{ end }} +{{< /code >}} + +Call the shortcode from your content page: + +{{< code file=content/example.md >}} +{{}} +{{< /code >}} + +Learn more about [shortcode templates](/templates/shortcode/). + +## Other + +Use other specialized templates to create: + +- [Sitemaps](/templates/sitemap) +- [RSS feeds](/templates/rss/) +- [404 error pages](/templates/404/) +- [robots.txt files](/templates/robots/) diff --git a/content/en/templates/lists/site-hierarchy.svg b/content/en/templates/types/site-hierarchy.svg similarity index 100% rename from content/en/templates/lists/site-hierarchy.svg rename to content/en/templates/types/site-hierarchy.svg diff --git a/content/en/troubleshooting/faq.md b/content/en/troubleshooting/faq.md index f8106a7db..0fd67264c 100644 --- a/content/en/troubleshooting/faq.md +++ b/content/en/troubleshooting/faq.md @@ -79,7 +79,7 @@ Use `:=` to initialize a variable, and use `=` to assign a value to a variable t ###### When I paginate a list page, why is the page collection not filtered as specified? -You are probably invoking the [`Paginate`] or [`Paginator`] method more than once on the same page. See [details](/templates/pagination/#list-paginator-pages). +You are probably invoking the [`Paginate`] or [`Paginator`] method more than once on the same page. See [details](/templates/pagination/). ###### Why are there two ways to call a shortcode? diff --git a/data/docs.yaml b/data/docs.yaml index 603519d76..eecf2041e 100644 --- a/data/docs.yaml +++ b/data/docs.yaml @@ -307,6 +307,9 @@ chroma: - gherkin - Gherkin Name: Gherkin + - Aliases: + - gleam> + Name: Gleam - Aliases: - glsl Name: GLSL @@ -1079,6 +1082,8 @@ config: escapedSpace: false definitionList: true extras: + delete: + enable: false insert: enable: false mark: @@ -1331,6 +1336,7 @@ config: minifyOutput: false tdewolff: css: + inline: false keepCSS2: true precision: 0 html: @@ -1353,6 +1359,7 @@ config: keepNumbers: false precision: 0 svg: + inline: false keepComments: false precision: 0 xml: @@ -1364,37 +1371,44 @@ config: min: "" imports: null mounts: - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: content target: content - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: data target: data - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: layouts target: layouts - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: i18n target: i18n - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: archetypes target: archetypes - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: assets target: assets - - excludeFiles: null + - disableWatch: false + excludeFiles: null includeFiles: null lang: "" source: static @@ -1583,8 +1597,12 @@ config: term: - html - rss - paginate: 10 - paginatePath: page + paginate: 0 + paginatePath: "" + pagination: + disableAliases: false + pagerSize: 10 + path: page panicOnWarning: false params: {} permalinks: @@ -1656,8 +1674,10 @@ config: allow: - ^(dart-)?sass(-embedded)?$ - ^go$ + - ^git$ - ^npx$ - ^postcss$ + - ^tailwindcss$ osEnv: - (?i)^((HTTPS?|NO)_PROXY|PATH(EXT)?|APPDATA|TE?MP|TERM|GO\w+|(XDG_CONFIG_)?HOME|USERPROFILE|SSH_AUTH_SOCK|DISPLAY|LANG|SYSTEMDRIVE)$ funcs: @@ -1761,6 +1781,8 @@ config_helpers: _merge: shallow outputs: _merge: none + pagination: + _merge: none params: _merge: deep permalinks: @@ -2738,14 +2760,9 @@ tpl: crypto: FNV32a: Aliases: null - Args: - - v - Description: |- - FNV32a hashes v using fnv32a algorithm. - {"newIn": "0.98.0" } - Examples: - - - '{{ crypto.FNV32a "Hugo Rocks!!" }}' - - "1515779328" + Args: null + Description: "" + Examples: null HMAC: Aliases: - hmac @@ -2788,11 +2805,30 @@ tpl: - - '{{ sha256 "Hello world, gophers!" }}' - 6ec43b78da9669f50e4e422575c54bf87536954ccd58280219c393f2ce352b46 css: + PostCSS: + Aliases: + - postCSS + Args: + - args + Description: PostCSS processes the given Resource with PostCSS. + Examples: [] Quoted: Aliases: null Args: null Description: "" Examples: null + Sass: + Aliases: + - toCSS + Args: + - args + Description: Sass processes the given Resource with SASS. + Examples: [] + TailwindCSS: + Aliases: null + Args: null + Description: "" + Examples: null Unquoted: Aliases: null Args: null @@ -3013,6 +3049,24 @@ tpl: Args: null Description: "" Examples: null + hash: + FNV32a: + Aliases: null + Args: + - v + Description: FNV32a hashes v using fnv32a algorithm. + Examples: + - - '{{ hash.FNV32a "Hugo Rocks!!" }}' + - "1515779328" + XxHash: + Aliases: + - xxhash + Args: + - v + Description: XxHash returns the xxHash of the input string. + Examples: + - - '{{ hash.XxHash "The quick brown fox jumps over the lazy dog" }}' + - 0b242d361fda71bc hugo: Deps: Aliases: null @@ -3228,6 +3282,13 @@ tpl: - - '{{ "cats" | singularize }}' - cat js: + Babel: + Aliases: + - babel + Args: + - args + Description: Babel processes the given Resource with Babel. + Examples: [] Build: Aliases: null Args: null @@ -3341,6 +3402,14 @@ tpl: Examples: - - '{{ math.Abs -2.1 }}' - "2.1" + Acos: + Aliases: null + Args: + - "n" + Description: Acos returns the arccosine, in radians, of n. + Examples: + - - '{{ math.Acos 1 }}' + - "0" Add: Aliases: - add @@ -3350,6 +3419,32 @@ tpl: Examples: - - '{{ add 1 2 }}' - "3" + Asin: + Aliases: null + Args: + - "n" + Description: Asin returns the arcsine, in radians, of n. + Examples: + - - '{{ math.Asin 1 }}' + - "1.5707963267948966" + Atan: + Aliases: null + Args: + - "n" + Description: Atan returns the arctangent, in radians, of n. + Examples: + - - '{{ math.Atan 1 }}' + - "0.7853981633974483" + Atan2: + Aliases: null + Args: + - "n" + - m + Description: Atan2 returns the arc tangent of n/m, using the signs of the + two to determine the quadrant of the return value. + Examples: + - - '{{ math.Atan2 1 2 }}' + - "0.4636476090008061" Ceil: Aliases: null Args: @@ -3359,6 +3454,14 @@ tpl: Examples: - - '{{ math.Ceil 2.1 }}' - "3" + Cos: + Aliases: null + Args: + - "n" + Description: Cos returns the cosine of the radian argument n. + Examples: + - - '{{ math.Cos 1 }}' + - "0.5403023058681398" Counter: Aliases: null Args: null @@ -3438,6 +3541,13 @@ tpl: Examples: - - '{{ mul 2 3 }}' - "6" + Pi: + Aliases: null + Args: null + Description: Pi returns the mathematical constant pi. + Examples: + - - '{{ math.Pi }}' + - "3.141592653589793" Pow: Aliases: - pow @@ -3470,6 +3580,14 @@ tpl: Examples: - - '{{ math.Round 1.5 }}' - "2" + Sin: + Aliases: null + Args: + - "n" + Description: Sin returns the sine of the radian argument n. + Examples: + - - '{{ math.Sin 1 }}' + - "0.8414709848078965" Sqrt: Aliases: null Args: @@ -3492,6 +3610,30 @@ tpl: Args: null Description: "" Examples: null + Tan: + Aliases: null + Args: + - "n" + Description: Tan returns the tangent of the radian argument n. + Examples: + - - '{{ math.Tan 1 }}' + - "1.557407724654902" + ToDegrees: + Aliases: null + Args: + - "n" + Description: ToDegrees converts radians into degrees. + Examples: + - - '{{ math.ToDegrees 1.5707963267948966 }}' + - "90" + ToRadians: + Aliases: null + Args: + - "n" + Description: ToRadians converts degrees into radians. + Examples: + - - '{{ math.ToRadians 90 }}' + - "1.5707963267948966" openapi3: Unmarshal: Aliases: null @@ -3657,12 +3799,10 @@ tpl: - Slice resources: Babel: - Aliases: - - babel - Args: - - args - Description: Babel processes the given Resource with Babel. - Examples: [] + Aliases: null + Args: null + Description: "" + Examples: null ByType: Aliases: null Args: null @@ -3738,27 +3878,20 @@ tpl: minifier. Examples: [] PostCSS: - Aliases: - - postCSS - Args: - - args - Description: PostCSS processes the given Resource with PostCSS - Examples: [] + Aliases: null + Args: null + Description: "" + Examples: null PostProcess: Aliases: null Args: null Description: "" Examples: null ToCSS: - Aliases: - - toCSS - Args: - - args - Description: |- - ToCSS converts the given Resource to CSS. You can optional provide an Options object - as second argument. As an option, you can e.g. specify e.g. the target path (string) - for the converted CSS resource. - Examples: [] + Aliases: null + Args: null + Description: "" + Examples: null safe: CSS: Aliases: @@ -3838,6 +3971,11 @@ tpl: Args: null Description: "" Examples: null + CheckReady: + Aliases: null + Args: null + Description: "" + Examples: null Config: Aliases: null Args: null @@ -4339,6 +4477,23 @@ tpl: - - '{{ "With [Markdown](/markdown) inside." | markdownify | truncate 14 }}' - With Markdown … templates: + Defer: + Aliases: null + Args: + - args + Description: Defer defers the execution of a template block. + Examples: [] + DoDefer: + Aliases: + - doDefer + Args: + - ctx + - id + - optsv + Description: |- + DoDefer defers the execution of a template block. + For internal use only. + Examples: [] Exists: Aliases: null Args: diff --git a/go.mod b/go.mod index ca0acd79f..51d5f3a43 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/gohugoio/hugoDocs go 1.16 -require github.com/gohugoio/gohugoioTheme v0.0.0-20240619093131-b595d5fb8c52 // indirect +require github.com/gohugoio/gohugoioTheme v0.0.0-20240728210410-d42c342ce472 // indirect diff --git a/go.sum b/go.sum index a1664d320..633446af0 100644 --- a/go.sum +++ b/go.sum @@ -4,3 +4,9 @@ github.com/gohugoio/gohugoioTheme v0.0.0-20240508091825-b23e8e2d2419 h1:cQ/44eDH github.com/gohugoio/gohugoioTheme v0.0.0-20240508091825-b23e8e2d2419/go.mod h1:GOYeAPQJ/ok8z7oz1cjfcSlsFpXrmx6VkzQ5RpnyhZM= github.com/gohugoio/gohugoioTheme v0.0.0-20240619093131-b595d5fb8c52 h1:dPJxUU4SevIZ7OS1DIVOrJ7p8I/QM00pXGRfAtKgQmU= github.com/gohugoio/gohugoioTheme v0.0.0-20240619093131-b595d5fb8c52/go.mod h1:GOYeAPQJ/ok8z7oz1cjfcSlsFpXrmx6VkzQ5RpnyhZM= +github.com/gohugoio/gohugoioTheme v0.0.0-20240622143740-53a4bdb8c0fb h1:gOIE1eFXILxCio/QOm3oLYcYmsis2CD099dXbXpjprA= +github.com/gohugoio/gohugoioTheme v0.0.0-20240622143740-53a4bdb8c0fb/go.mod h1:GOYeAPQJ/ok8z7oz1cjfcSlsFpXrmx6VkzQ5RpnyhZM= +github.com/gohugoio/gohugoioTheme v0.0.0-20240623150114-cc7096eab3fd h1:I8X7c0oBRWXy83BL2ODSk7v0xPXDnp2hcFWpCcN+Kyc= +github.com/gohugoio/gohugoioTheme v0.0.0-20240623150114-cc7096eab3fd/go.mod h1:GOYeAPQJ/ok8z7oz1cjfcSlsFpXrmx6VkzQ5RpnyhZM= +github.com/gohugoio/gohugoioTheme v0.0.0-20240728210410-d42c342ce472 h1:AYZUibKKFRBp2VCQpDHW+JmQKvCvyhX7z7/SOLUSCcw= +github.com/gohugoio/gohugoioTheme v0.0.0-20240728210410-d42c342ce472/go.mod h1:GOYeAPQJ/ok8z7oz1cjfcSlsFpXrmx6VkzQ5RpnyhZM= diff --git a/netlify.toml b/netlify.toml index 54f157413..f7f1a5f04 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,7 +3,7 @@ command = "hugo --gc --minify" [build.environment] - HUGO_VERSION = "0.127.0" + HUGO_VERSION = "0.131.0" [context.production.environment] HUGO_ENV = "production"