2020-01-26 20:06:42 +00:00
{
"$schema" : "http://json-schema.org/draft-07/schema#" ,
2021-05-19 22:24:50 +00:00
"definitions" : {
"structuredContent" : {
"oneOf" : [
{
"type" : "string" ,
"description" : "Represents a text node."
} ,
{
"type" : "array" ,
"items" : {
"$ref" : "#/definitions/structuredContent" ,
"description" : "An array of child content."
}
} ,
{
"type" : "object" ,
"oneOf" : [
2021-06-25 21:24:29 +00:00
{
"type" : "object" ,
"description" : "Empty tags." ,
"required" : [
"tag"
] ,
"additionalProperties" : false ,
"properties" : {
"tag" : {
"type" : "string" ,
2022-10-17 02:08:08 +00:00
"const" : "br"
2021-09-04 16:43:56 +00:00
} ,
"data" : {
"$ref" : "#/definitions/structuredContentData"
2021-06-25 21:24:29 +00:00
}
}
} ,
2021-05-19 22:24:50 +00:00
{
"type" : "object" ,
"description" : "Generic container tags." ,
"required" : [
"tag"
] ,
"additionalProperties" : false ,
"properties" : {
"tag" : {
"type" : "string" ,
2021-06-25 21:24:29 +00:00
"enum" : [ "ruby" , "rt" , "rp" , "table" , "thead" , "tbody" , "tfoot" , "tr" ]
} ,
"content" : {
"$ref" : "#/definitions/structuredContent"
2021-09-04 16:43:56 +00:00
} ,
"data" : {
"$ref" : "#/definitions/structuredContentData"
Add new structured content features: lists and the HTML `lang` attribute (#2129)
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 13:59:38 +00:00
} ,
"lang" : {
"type" : "string" ,
"description" : "Defines the language of an element in the format defined by RFC 5646."
2021-06-25 21:24:29 +00:00
}
}
} ,
{
"type" : "object" ,
"description" : "Table tags." ,
"required" : [
"tag"
] ,
"additionalProperties" : false ,
"properties" : {
"tag" : {
"type" : "string" ,
"enum" : [ "td" , "th" ]
} ,
"content" : {
"$ref" : "#/definitions/structuredContent"
} ,
2021-09-04 16:43:56 +00:00
"data" : {
"$ref" : "#/definitions/structuredContentData"
} ,
2021-06-25 21:24:29 +00:00
"colSpan" : {
"type" : "integer" ,
"minimum" : 1
} ,
"rowSpan" : {
"type" : "integer" ,
"minimum" : 1
} ,
"style" : {
"$ref" : "#/definitions/structuredContentStyle"
Add new structured content features: lists and the HTML `lang` attribute (#2129)
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 13:59:38 +00:00
} ,
"lang" : {
"type" : "string" ,
"description" : "Defines the language of an element in the format defined by RFC 5646."
2021-06-25 21:24:29 +00:00
}
}
} ,
{
"type" : "object" ,
"description" : "Container tags supporting configurable styles." ,
"required" : [
"tag"
] ,
"additionalProperties" : false ,
"properties" : {
"tag" : {
"type" : "string" ,
Add new structured content features: lists and the HTML `lang` attribute (#2129)
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 13:59:38 +00:00
"enum" : [ "span" , "div" , "ol" , "ul" , "li" ]
2021-05-19 22:24:50 +00:00
} ,
"content" : {
"$ref" : "#/definitions/structuredContent"
2021-06-25 21:24:29 +00:00
} ,
2021-09-04 16:43:56 +00:00
"data" : {
"$ref" : "#/definitions/structuredContentData"
} ,
2021-06-25 21:24:29 +00:00
"style" : {
"$ref" : "#/definitions/structuredContentStyle"
Add new structured content features: lists and the HTML `lang` attribute (#2129)
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 13:59:38 +00:00
} ,
"lang" : {
"type" : "string" ,
"description" : "Defines the language of an element in the format defined by RFC 5646."
2021-05-19 22:24:50 +00:00
}
}
} ,
{
"type" : "object" ,
"description" : "Image tag." ,
"required" : [
"tag" ,
"path"
] ,
"additionalProperties" : false ,
"properties" : {
"tag" : {
"type" : "string" ,
"const" : "img"
} ,
2021-09-04 16:43:56 +00:00
"data" : {
"$ref" : "#/definitions/structuredContentData"
} ,
2021-05-19 22:24:50 +00:00
"path" : {
"type" : "string" ,
"description" : "Path to the image file in the archive."
} ,
"width" : {
2021-05-20 23:33:08 +00:00
"type" : "number" ,
2021-05-19 22:24:50 +00:00
"description" : "Preferred width of the image." ,
2021-05-20 23:33:08 +00:00
"minimum" : 0
2021-05-19 22:24:50 +00:00
} ,
"height" : {
2021-05-20 23:33:08 +00:00
"type" : "number" ,
2021-05-19 22:24:50 +00:00
"description" : "Preferred width of the image." ,
2021-05-20 23:33:08 +00:00
"minimum" : 0
2021-05-19 22:24:50 +00:00
} ,
"title" : {
"type" : "string" ,
"description" : "Hover text for the image."
} ,
"pixelated" : {
"type" : "boolean" ,
"description" : "Whether or not the image should appear pixelated at sizes larger than the image's native resolution." ,
"default" : false
} ,
2021-06-06 18:47:48 +00:00
"imageRendering" : {
"type" : "string" ,
"description" : "Controls how the image is rendered. The value of this field supersedes the pixelated field." ,
"enum" : [ "auto" , "pixelated" , "crisp-edges" ] ,
"default" : "auto"
} ,
"appearance" : {
"type" : "string" ,
"description" : "Controls the appearance of the image. The \"monochrome\" value will mask the opaque parts of the image using the current text color." ,
"enum" : [ "auto" , "monochrome" ] ,
"default" : "auto"
} ,
"background" : {
"type" : "boolean" ,
"description" : "Whether or not a background color is displayed behind the image." ,
"default" : true
} ,
2021-05-19 22:24:50 +00:00
"collapsed" : {
"type" : "boolean" ,
"description" : "Whether or not the image is collapsed by default." ,
"default" : false
} ,
"collapsible" : {
"type" : "boolean" ,
"description" : "Whether or not the image can be collapsed." ,
"default" : false
} ,
"verticalAlign" : {
"type" : "string" ,
"description" : "The vertical alignment of the image." ,
"enum" : [ "baseline" , "sub" , "super" , "text-top" , "text-bottom" , "middle" , "top" , "bottom" ]
2021-05-20 23:33:08 +00:00
} ,
"sizeUnits" : {
"type" : "string" ,
"description" : "The units for the width and height." ,
"enum" : [ "px" , "em" ]
2021-05-19 22:24:50 +00:00
}
}
2022-03-17 23:01:59 +00:00
} ,
{
"type" : "object" ,
"description" : "Link tag." ,
"required" : [
"tag" ,
"href"
] ,
"additionalProperties" : false ,
"properties" : {
"tag" : {
"type" : "string" ,
"const" : "a"
} ,
"content" : {
"$ref" : "#/definitions/structuredContent"
} ,
"href" : {
"type" : "string" ,
"description" : "The URL for the link. URLs starting with a ? are treated as internal links to other dictionary content." ,
"pattern" : "^(?:https?:|\\?)[\\w\\W]*"
Add new structured content features: lists and the HTML `lang` attribute (#2129)
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 13:59:38 +00:00
} ,
"lang" : {
"type" : "string" ,
"description" : "Defines the language of an element in the format defined by RFC 5646."
2022-03-17 23:01:59 +00:00
}
}
2021-05-19 22:24:50 +00:00
}
]
}
]
2021-06-25 21:24:29 +00:00
} ,
2021-09-04 16:43:56 +00:00
"structuredContentData" : {
"type" : "object" ,
"description" : "Generic data attributes that should be added to the element." ,
"additionalProperties" : {
"type" : "string"
}
} ,
2021-06-25 21:24:29 +00:00
"structuredContentStyle" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"fontStyle" : {
"type" : "string" ,
"enum" : [ "normal" , "italic" ] ,
"default" : "normal"
} ,
"fontWeight" : {
"type" : "string" ,
"enum" : [ "normal" , "bold" ] ,
"default" : "normal"
} ,
"fontSize" : {
"type" : "string" ,
"default" : "medium"
} ,
"textDecorationLine" : {
"oneOf" : [
{
"type" : "string" ,
"enum" : [ "none" , "underline" , "overline" , "line-through" ] ,
"default" : "none"
} ,
{
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [ "underline" , "overline" , "line-through" ] ,
"default" : "none"
}
}
]
} ,
"verticalAlign" : {
"type" : "string" ,
"enum" : [ "baseline" , "sub" , "super" , "text-top" , "text-bottom" , "middle" , "top" , "bottom" ] ,
"default" : "baseline"
2021-09-01 01:08:30 +00:00
} ,
2022-08-14 17:30:25 +00:00
"textAlign" : {
"type" : "string" ,
"enum" : [ "start" , "end" , "left" , "right" , "center" , "justify" , "justify-all" , "match-parent" ] ,
"default" : "start"
} ,
2021-09-01 01:08:30 +00:00
"marginTop" : {
"type" : "number" ,
"default" : 0
} ,
"marginLeft" : {
"type" : "number" ,
"default" : 0
} ,
"marginRight" : {
"type" : "number" ,
"default" : 0
} ,
"marginBottom" : {
"type" : "number" ,
"default" : 0
Add new structured content features: lists and the HTML `lang` attribute (#2129)
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 13:59:38 +00:00
} ,
"listStyleType" : {
"type" : "string" ,
"default" : "disc"
2021-06-25 21:24:29 +00:00
}
}
2021-05-19 22:24:50 +00:00
}
} ,
2020-01-26 20:06:42 +00:00
"type" : "array" ,
2021-05-30 20:22:25 +00:00
"description" : "Data file containing term information." ,
2022-05-16 23:56:02 +00:00
"items" : {
2020-01-26 20:06:42 +00:00
"type" : "array" ,
2021-05-30 20:22:25 +00:00
"description" : "Information about a single term." ,
2020-01-26 20:06:42 +00:00
"minItems" : 8 ,
2022-05-16 23:56:02 +00:00
"additionalItems" : false ,
2020-01-26 20:06:42 +00:00
"items" : [
{
"type" : "string" ,
2021-05-30 20:22:25 +00:00
"description" : "The text for the term."
2020-01-26 20:06:42 +00:00
} ,
{
"type" : "string" ,
2021-05-30 20:22:25 +00:00
"description" : "Reading of the term, or an empty string if the reading is the same as the term."
2020-01-26 20:06:42 +00:00
} ,
{
"type" : [ "string" , "null" ] ,
"description" : "String of space-separated tags for the definition. An empty string is treated as no tags."
} ,
{
"type" : "string" ,
"description" : "String of space-separated rule identifiers for the definition which is used to validate delinflection. Valid rule identifiers are: v1: ichidan verb; v5: godan verb; vs: suru verb; vk: kuru verb; adj-i: i-adjective. An empty string corresponds to words which aren't inflected, such as nouns."
} ,
{
"type" : "number" ,
"description" : "Score used to determine popularity. Negative values are more rare and positive values are more frequent. This score is also used to sort search results."
} ,
{
"type" : "array" ,
2021-05-30 20:22:25 +00:00
"description" : "Array of definitions for the term." ,
2020-01-26 20:06:42 +00:00
"items" : {
2020-03-02 03:36:42 +00:00
"oneOf" : [
{
"type" : "string" ,
2021-05-30 20:22:25 +00:00
"description" : "Single definition for the term."
2020-03-02 03:36:42 +00:00
} ,
{
"type" : "object" ,
2021-05-30 20:22:25 +00:00
"description" : "Single detailed definition for the term." ,
2020-03-02 03:36:42 +00:00
"required" : [
"type"
] ,
"properties" : {
"type" : {
"type" : "string" ,
"description" : "The type of the data for this definition." ,
2021-05-19 22:24:50 +00:00
"enum" : [ "text" , "image" , "structured-content" ]
2020-03-02 03:36:42 +00:00
}
} ,
"oneOf" : [
{
"required" : [
"type" ,
"text"
] ,
"additionalProperties" : false ,
"properties" : {
"type" : {
"type" : "string" ,
2022-10-17 02:08:08 +00:00
"const" : "text"
2020-03-02 03:36:42 +00:00
} ,
"text" : {
"type" : "string" ,
2021-05-30 20:22:25 +00:00
"description" : "Single definition for the term."
2020-03-02 03:36:42 +00:00
}
}
} ,
2021-05-19 22:24:50 +00:00
{
"required" : [
"type" ,
"content"
] ,
"additionalProperties" : false ,
"properties" : {
"type" : {
"type" : "string" ,
2022-10-17 02:08:08 +00:00
"const" : "structured-content"
2021-05-19 22:24:50 +00:00
} ,
"content" : {
"$ref" : "#/definitions/structuredContent" ,
2021-05-30 20:22:25 +00:00
"description" : "Single definition for the term using a structured content object."
2021-05-19 22:24:50 +00:00
}
}
} ,
2020-03-02 03:36:42 +00:00
{
"required" : [
"type" ,
"path"
] ,
"additionalProperties" : false ,
"properties" : {
"type" : {
"type" : "string" ,
2022-10-17 02:08:08 +00:00
"const" : "image"
2020-03-02 03:36:42 +00:00
} ,
"path" : {
"type" : "string" ,
"description" : "Path to the image file in the archive."
} ,
"width" : {
"type" : "integer" ,
"description" : "Preferred width of the image." ,
"minimum" : 1
} ,
"height" : {
"type" : "integer" ,
"description" : "Preferred width of the image." ,
"minimum" : 1
} ,
"title" : {
"type" : "string" ,
"description" : "Hover text for the image."
} ,
"description" : {
"type" : "string" ,
"description" : "Description of the image."
} ,
"pixelated" : {
"type" : "boolean" ,
"description" : "Whether or not the image should appear pixelated at sizes larger than the image's native resolution." ,
"default" : false
2021-05-18 21:41:27 +00:00
} ,
2021-06-06 18:47:48 +00:00
"imageRendering" : {
"type" : "string" ,
"description" : "Controls how the image is rendered. The value of this field supersedes the pixelated field." ,
"enum" : [ "auto" , "pixelated" , "crisp-edges" ] ,
"default" : "auto"
} ,
"appearance" : {
"type" : "string" ,
"description" : "Controls the appearance of the image. The \"monochrome\" value will mask the opaque parts of the image using the current text color." ,
"enum" : [ "auto" , "monochrome" ] ,
"default" : "auto"
} ,
"background" : {
"type" : "boolean" ,
"description" : "Whether or not a background color is displayed behind the image." ,
"default" : true
} ,
2021-05-18 21:41:27 +00:00
"collapsed" : {
"type" : "boolean" ,
"description" : "Whether or not the image is collapsed by default." ,
"default" : false
} ,
"collapsible" : {
"type" : "boolean" ,
"description" : "Whether or not the image can be collapsed." ,
"default" : true
2020-03-02 03:36:42 +00:00
}
}
}
]
}
]
2020-01-26 20:06:42 +00:00
}
} ,
{
"type" : "integer" ,
2021-05-30 20:22:25 +00:00
"description" : "Sequence number for the term. Terms with the same sequence number can be shown together when the \"resultOutputMode\" option is set to \"merge\"."
2020-01-26 20:06:42 +00:00
} ,
{
"type" : "string" ,
2021-05-30 20:22:25 +00:00
"description" : "String of space-separated tags for the term. An empty string is treated as no tags."
2020-01-26 20:06:42 +00:00
}
]
}
}