mirror of
https://github.com/bambuscontrol/obsidian-unicode-search.git
synced 2026-07-22 07:20:27 +00:00
470 lines
18 KiB
JSON
470 lines
18 KiB
JSON
{
|
|
"$id": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json",
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"definitions": {
|
|
"BlockFilter": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CodepointInterval"
|
|
},
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/InclusionFlag"
|
|
}
|
|
],
|
|
"description": "Block of Unicode Codepoints"
|
|
},
|
|
"CategoryFilter": {
|
|
"description": "Filter for a single category.",
|
|
"properties": {
|
|
"abbreviation": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CharacterCategoryType",
|
|
"description": "Two-letter abbreviation of the category."
|
|
},
|
|
"included": {
|
|
"description": "Indicates whether a character is included in search or not",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"abbreviation",
|
|
"included"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CategoryGroupFilter": {
|
|
"description": "Filters for a group of categories.",
|
|
"properties": {
|
|
"abbreviation": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CharacterCategoryGroupType",
|
|
"description": "Single letter abbreviation of the category group."
|
|
},
|
|
"categories": {
|
|
"description": "Categories which belong to the group.",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CategoryFilter"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"abbreviation",
|
|
"categories"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CharacterCategoryGroupType": {
|
|
"enum": [
|
|
"C",
|
|
"L",
|
|
"M",
|
|
"N",
|
|
"P",
|
|
"S",
|
|
"Z"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"CharacterCategoryType": {
|
|
"enum": [
|
|
"Cc",
|
|
"Cf",
|
|
"Cn",
|
|
"Co",
|
|
"Cs",
|
|
"Ll",
|
|
"Lm",
|
|
"Lo",
|
|
"Lt",
|
|
"Lu",
|
|
"Mc",
|
|
"Me",
|
|
"Mn",
|
|
"Nd",
|
|
"Nl",
|
|
"No",
|
|
"Pc",
|
|
"Pd",
|
|
"Pe",
|
|
"Pf",
|
|
"Pi",
|
|
"Po",
|
|
"Ps",
|
|
"Sc",
|
|
"Sk",
|
|
"Sm",
|
|
"So",
|
|
"Zl",
|
|
"Zp",
|
|
"Zs"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"CharacterUseFragment": {
|
|
"description": "User generated usage data",
|
|
"properties": {
|
|
"codepoints": {
|
|
"description": "Statistics of the individual codepoint usage",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/RawCodepointUse"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"initialized": {
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/SaveDataVersion"
|
|
}
|
|
},
|
|
"required": [
|
|
"codepoints",
|
|
"initialized",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CodepointAttribute": {
|
|
"description": "General attributes of a Unicode codepoint",
|
|
"properties": {
|
|
"category": {
|
|
"description": "Unicode category of the character",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Unicode description of the character",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"category",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CodepointInterval": {
|
|
"description": "Represents a closed interval/range of Unicode Code Points",
|
|
"properties": {
|
|
"end": {
|
|
"type": "number"
|
|
},
|
|
"start": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"end",
|
|
"start"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CodepointKey": {
|
|
"description": "Universally used key for a Unicode codepoint",
|
|
"properties": {
|
|
"codepoint": {
|
|
"description": "Unicode code point character defined by its normalized NFC form",
|
|
"minLength": 1,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"codepoint"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FavoriteInfo": {
|
|
"description": "Raw favorite information, as stored in save data",
|
|
"properties": {
|
|
"added": {
|
|
"description": "Date when the codepoint was added to favorites",
|
|
"type": "string"
|
|
},
|
|
"hotkey": {
|
|
"description": "Whether the codepoint has a hotkey command",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"added",
|
|
"hotkey"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FavoritesFragment": {
|
|
"description": "Users favorite codepoints",
|
|
"properties": {
|
|
"codepoints": {
|
|
"description": "List of favorite codepoints",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/RawCodepointFavorite"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"initialized": {
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/SaveDataVersion"
|
|
}
|
|
},
|
|
"required": [
|
|
"codepoints",
|
|
"initialized",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FilterFragment": {
|
|
"description": "User saved character filters",
|
|
"properties": {
|
|
"initialized": {
|
|
"type": "boolean"
|
|
},
|
|
"unicode": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/UnicodeFilter",
|
|
"description": "Filter criteria for Unicode characters"
|
|
},
|
|
"version": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/SaveDataVersion"
|
|
}
|
|
},
|
|
"required": [
|
|
"initialized",
|
|
"unicode",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"InclusionFlag": {
|
|
"description": "A flag indicating whether a character is included in search or not",
|
|
"properties": {
|
|
"included": {
|
|
"description": "Indicates whether a character is included in search or not",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"included"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MetaFragment": {
|
|
"description": "Meta information for the datastore",
|
|
"properties": {
|
|
"events": {
|
|
"description": "A collection of unique data events.",
|
|
"items": {
|
|
"const": "download_characters",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"initialized": {
|
|
"type": "boolean"
|
|
},
|
|
"pluginVersion": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/PluginVersion",
|
|
"description": "Latest used version of the plugin which used this data"
|
|
},
|
|
"version": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/SaveDataVersion"
|
|
}
|
|
},
|
|
"required": [
|
|
"events",
|
|
"initialized",
|
|
"pluginVersion",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PlaneFilter": {
|
|
"description": "Unicode Plane of Unicode Blocks",
|
|
"properties": {
|
|
"blocks": {
|
|
"description": "Filter criteria for blocks of Unicode characters",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/BlockFilter"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
},
|
|
"start": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"blocks",
|
|
"end",
|
|
"start"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PluginVersion": {
|
|
"description": "Version of the plugin.\n\nMust comply with RegEx:\n```^[0-9]+\\\\.[0-9]+\\\\.[0-9]+(?:-[A-Z]+)?$```",
|
|
"enum": [
|
|
"0.2.0",
|
|
"0.2.1",
|
|
"0.2.2",
|
|
"0.2.3",
|
|
"0.3.0",
|
|
"0.4.0",
|
|
"0.4.1",
|
|
"0.5.0",
|
|
"0.6.0",
|
|
"0.6.1",
|
|
"0.7.0",
|
|
"0.7.1",
|
|
"0.7.2",
|
|
"0.7.3"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"RawCodepointFavorite": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CodepointKey"
|
|
},
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/FavoriteInfo"
|
|
}
|
|
],
|
|
"description": "Favorite infor of a specific codepoint as stored in save data"
|
|
},
|
|
"RawCodepointUse": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CodepointKey"
|
|
},
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/RawUsageInfo"
|
|
}
|
|
],
|
|
"description": "Usage information of a specific codepoint as stored in save data"
|
|
},
|
|
"RawUsageInfo": {
|
|
"description": "Raw usage information, as stored in save data",
|
|
"properties": {
|
|
"firstUsed": {
|
|
"description": "Alias to hint that a string is a date string",
|
|
"type": "string"
|
|
},
|
|
"lastUsed": {
|
|
"description": "Alias to hint that a string is a date string",
|
|
"type": "string"
|
|
},
|
|
"useCount": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"firstUsed",
|
|
"lastUsed",
|
|
"useCount"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SaveDataVersion": {
|
|
"description": "Version of the save data schema.\n\nMust comply with RegEx:\n```^[0-9]+\\\\.[0-9]+\\\\.[0-9]+(?:-[A-Z]+)?$```\n\nThe version of the save data schema is independent of the plugin version",
|
|
"enum": [
|
|
"0.4.0",
|
|
"0.5.0",
|
|
"0.6.0",
|
|
"0.7.0"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"UnicodeCodepoint": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CodepointKey"
|
|
},
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CodepointAttribute"
|
|
}
|
|
],
|
|
"description": "Unicode codepoint representation throughout the plugin"
|
|
},
|
|
"UnicodeFilter": {
|
|
"description": "User set filter data for Unicode characters.",
|
|
"properties": {
|
|
"categoryGroups": {
|
|
"description": "Filter criteria for category groups of Unicode characters",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CategoryGroupFilter"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"planes": {
|
|
"description": "Filter criteria for planes of Unicode characters",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/PlaneFilter"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"categoryGroups",
|
|
"planes"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UnicodeFragment": {
|
|
"description": "Downloaded Unicode Character Database",
|
|
"properties": {
|
|
"codepoints": {
|
|
"description": "Codepoints downloaded from the Unicode Character Database",
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/UnicodeCodepoint"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"initialized": {
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/SaveDataVersion"
|
|
}
|
|
},
|
|
"required": [
|
|
"codepoints",
|
|
"initialized",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"description": "Structure of `data.json`, where each fragment is a self-managed data fragment",
|
|
"properties": {
|
|
"characters": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/UnicodeFragment",
|
|
"description": "Local character database"
|
|
},
|
|
"favorites": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/FavoritesFragment",
|
|
"description": "Favorites saved manually by the user"
|
|
},
|
|
"filter": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/FilterFragment",
|
|
"description": "Filtering of downloaded/displayed codepoints"
|
|
},
|
|
"meta": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/MetaFragment",
|
|
"description": "Metadata information about the save data itself"
|
|
},
|
|
"usage": {
|
|
"$ref": "https://raw.githubusercontent.com/BambusControl/obsidian-unicode-search/0.7.3/resources/save-data-schema.json#/definitions/CharacterUseFragment",
|
|
"description": "Usage information generated by the user"
|
|
}
|
|
},
|
|
"required": [
|
|
"characters",
|
|
"favorites",
|
|
"filter",
|
|
"meta",
|
|
"usage"
|
|
],
|
|
"type": "object"
|
|
}
|
|
|