{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "/misc/poly_links.json",
  "description": "A polymorphic link",
  "type": "object",
  "patternProperties": {
    ".+": {
      "type": ["string", "object"],
      "description": "URL or path of the link, with/without the icon element class name",
      "properties": {
        "url": {
          "type": "string",
          "description": "URL or path of the link"
        },
        "icon": {
          "type": ["string", "array"],
          "description": "Icon element class name"
        }
      },
      "required": ["url", "icon"]
    }
  },
  "examples": [
    {
      "My GitHub Page": "https://github.com/ppoffice"
    },
    {
      "My GitHub Page": {
        "url": "https://github.com/ppoffice",
        "icon": "fab fa-github"
      }
    }
  ],
  "nullable": true
}
