Widgets

Table of Contents

Engimo supports Widgets that you can place on specific Widget Areas.

Available Widgets

Engimo has the following built-in Widgets:

Name Slug
1. About about
2. Breadcrumbs breadcrumbs
3. Recent Posts recent_posts
4. Search search
5. Sidebar Menu sidebar_menu
6. Social Menu social_menu
7. Taxonomy Cloud taxonomy_cloud

Widget Configuration Options

Here are the configuration options available for the Widgets:

Widget: About

  • about [Map]:
    • title [String]: Title
      default: .Site.Title
    • description [String]: Description
      default: .Site.Params.info.description
    • logo [String]: path/url of Logo
      default: "/images/logo.png"

Widget: Breadcrumbs

  • breadcrumbs [Map]:
    • separator [String]: Breadcrumb separator
      default: "/"
    • excludeParents [Array of Strings]: Types of parents to exclude
      default: ["page"]

Widget: Recent Posts

  • recent_posts [Map]:
    • title [String]: Title
      default: "Recent Posts"
    • length [Integer]: Number of posts to show
      default: 5
    • excludeTypes [Array of Strings]: Types of posts to exclude
      default: ["page"]
  • search [Map]:
    • title [String]: Title
      default: "Search"

Widget: Sidebar Menu

  • sidebar_menu [Map]:
    • title [String]: Title
      default: ""
    • mirror [String]: Name of menu to mirror (e.g. "main")
      default: ""

Widget: Social Menu

  • social_menu [Map]:
    • title [String]: Title
      default: ""
    • platforms [Array of Strings]: Social platform to show

Widget: Taxonomy Cloud

  • taxonomy_cloud [Map]:
    • title [String]: Title
      default: Plural Name for taxonomyCloud.taxonomy
    • taxonomy [String]: Taxonomy to show
      default: .Site.Params.info.description
    • shuffle [Boolean]: Shuffle Taxonomy Terms
      default: true

Available Widget Areas

Name Slug
Header header
Homepage homepage
Sidebar sidebar
Footer footer

You can add Widgets to Widget Areas from your config.toml file:

[params.widgets]
header = ["breadcrumbs"]
homepage = ["recent_posts"]
sidebar = ["about","taxonomy_cloud"]
footer = ["social_menu"]

The syntax for adding Widgets to Widget Areas is:

widget_area_slug = [ widget_slug_1, widget_slug_2, ...]

Widgets Configuration File

Engimo picks up Widgets’ configuration from the /data/config/widgets.toml file.

Here’s the Widgets Config file for this site:

/data/config/widgets.toml

# About Widget config
[about]
title = ""                            # default: .Site.Title
description = ""                      # default: .Site.Params.info.description
logo = "/images/logo.svg"             # default: "/images/logo.png"

# Breadcrumbs Widget config
[breadcrumbs]
separator = "/"                      # default: "/"
excludeParents = ["page"]            # default: ["page"]

# Recent Posts Widget config
[recent_posts]
title = ""                            # default: "Recent Posts"
length = 4                            # default: 5
excludeTypes = ["page"]               # default: ["page"]

# Search Widget config
[search]
title = "Search"                      # default: "Search"

# Sidebar Menu Widget config
[sidebar_menu]
title = ""                            # default: ""
mirror = ""                           # default: ""

# Social Menu Widget config
[social_menu]
title = ""                            # default: ""
platforms = ["github","facebook","twitter","instagram","email","codepen","gitlab","linkedin","telegram","google_scholar","youtube"]

# Taxonomy Cloud Widget config
[taxonomy_cloud]
title = ""                            # default: Plural Name for `taxonomyCloud.taxonomy`
taxonomy = "tags"                     # default: "tags"
shuffle = false                        # default: true

If configuration for any Widgets are missing in this file, Engimo will fallback to the default configuration for those Widgets.

Go wild!