diff --git a/docs/Pulsar-API-Documentation.md b/docs/Pulsar-API-Documentation.md
index 6e7dada39e..cedb848c30 100644
--- a/docs/Pulsar-API-Documentation.md
+++ b/docs/Pulsar-API-Documentation.md
@@ -98,6 +98,60 @@
"warnings": []
}
+chromiumElementsShim
+This file will manage the updating of autocomplete-html
completions.json
+ We will partially utilize @webref/elements
.listAll()
function that returns
+ a full list of HTML Elements along with a defined interface
.
+ To use this interface
in any meaningful way, we will utilize the dataset
+ of Attributes that apply to each interface
from Chromiums DevTools resource
+ https://github.com/ChromeDevTools/devtools-frontend
.
+ Finally from here we will utilize https://github.com/mdn/content
to parse
+ the Markdown docs of MDN's website to retreive descriptions for each element.
+ Now for a summary of our completions.json
file we aim to generate.
+ There are two top level elements, tags
and attributes
, both objects.
+ Within tags
we expect the following:
+ "tags": {
+ "a": {
+ "attributes": [ "href", "hreflang", "media", "rel", "target", "type" ],
+ "description": "....."
+ }
+ };
+ When an entry contains no attributes
there is no empty array, the element
+ simply doesn't exist.
+ The attributes
object contains keys of different elements that themselves
+ are objects that can contain several valid keys.
+
+- global: Seems to be used exclusively for Global Attributes. Is a boolean
+ which when false, the key does not appear.
+- type: A ?type? for the attribute. It's meaning is not immediately known.
+ Nor a way to reliabley programatically collect it. Some discovered values:
+
+cssStyle: Exclusively used for class
attribute
+boolean: Attributes that only accept true
or false
+flag: For attributes that don't require or accept values. eg autoplay
+cssId: Exclusively used for the id
attribute
+color: Exclusively used for the bgcolor
attribute
+style: Exclusively used for the style
attribute
+
+- description: A text description of the attribute
+- attribOption: A string array of valid values that can exist within the attribute.
+ Such as the case with
rel
where only so many valid options exist.
+
+ Although with our data sources mentioned above, we are able to collect nearly
+ all the data needed. Except the type
that is defined within our
+ completions.json
as well as the attribOption
within our completions.
+ Studying these closer reveals that all attributes listing with our completions.json
+ do not appear elsewhere, and are nearly all global attributes.
+ In this case since there is no sane way to collect this data, we will leave this
+ list as a manually maintained section of our completions.json
.
+ This does mean that curated-attributes.json
is a static document that
+ will require manual updating in the future. Or most ideally, will find a way
+ to automatically generate the needed data.
+
+update
+This file aims to run some short simple tests against update.js
. Focusing
+ mainly on the Regex used within sanitizeDescription()
+
fs
dalek
@@ -376,6 +430,68 @@ This file will manage the updating of `autocomplete-css` `completions.json`.
"warnings": []
}
+**Kind**: global constant
+
+
+## chromiumElementsShim
+This file will manage the updating of `autocomplete-html` `completions.json`
+ We will partially utilize `@webref/elements` `.listAll()` function that returns
+ a full list of HTML Elements along with a defined `interface`.
+ To use this `interface` in any meaningful way, we will utilize the dataset
+ of Attributes that apply to each `interface` from Chromiums DevTools resource
+ `https://github.com/ChromeDevTools/devtools-frontend`.
+ Finally from here we will utilize `https://github.com/mdn/content` to parse
+ the Markdown docs of MDN's website to retreive descriptions for each element.
+
+ Now for a summary of our `completions.json` file we aim to generate.
+ There are two top level elements, `tags` and `attributes`, both objects.
+ Within `tags` we expect the following:
+ "tags": {
+ "a": {
+ "attributes": [ "href", "hreflang", "media", "rel", "target", "type" ],
+ "description": "....."
+ }
+ };
+
+ When an entry contains no `attributes` there is no empty array, the element
+ simply doesn't exist.
+
+ The `attributes` object contains keys of different elements that themselves
+ are objects that can contain several valid keys.
+ - global: Seems to be used exclusively for Global Attributes. Is a boolean
+ which when false, the key does not appear.
+ - type: A ?type? for the attribute. It's meaning is not immediately known.
+ Nor a way to reliabley programatically collect it. Some discovered values:
+cssStyle: Exclusively used for `class` attribute
+boolean: Attributes that only accept `true` or `false`
+flag: For attributes that don't require or accept values. eg autoplay
+cssId: Exclusively used for the `id` attribute
+color: Exclusively used for the `bgcolor` attribute
+style: Exclusively used for the `style` attribute
+ - description: A text description of the attribute
+ - attribOption: A string array of valid values that can exist within the attribute.
+ Such as the case with `rel` where only so many valid options exist.
+
+ Although with our data sources mentioned above, we are able to collect nearly
+ all the data needed. Except the `type` that is defined within our
+ `completions.json` as well as the `attribOption` within our completions.
+
+ Studying these closer reveals that all attributes listing with our `completions.json`
+ do not appear elsewhere, and are nearly all global attributes.
+
+ In this case since there is no sane way to collect this data, we will leave this
+ list as a manually maintained section of our `completions.json`.
+ This does mean that `curated-attributes.json` is a static document that
+ will require manual updating in the future. Or most ideally, will find a way
+ to automatically generate the needed data.
+
+**Kind**: global constant
+
+
+## update
+This file aims to run some short simple tests against `update.js`. Focusing
+ mainly on the Regex used within `sanitizeDescription()`
+
**Kind**: global constant
diff --git a/docs/Source-Code-Documentation.md b/docs/Source-Code-Documentation.md
index d612619fea..112d830033 100644
--- a/docs/Source-Code-Documentation.md
+++ b/docs/Source-Code-Documentation.md
@@ -98,6 +98,60 @@
"warnings": []
}
+chromiumElementsShim
+This file will manage the updating of autocomplete-html
completions.json
+ We will partially utilize @webref/elements
.listAll()
function that returns
+ a full list of HTML Elements along with a defined interface
.
+ To use this interface
in any meaningful way, we will utilize the dataset
+ of Attributes that apply to each interface
from Chromiums DevTools resource
+ https://github.com/ChromeDevTools/devtools-frontend
.
+ Finally from here we will utilize https://github.com/mdn/content
to parse
+ the Markdown docs of MDN's website to retreive descriptions for each element.
+ Now for a summary of our completions.json
file we aim to generate.
+ There are two top level elements, tags
and attributes
, both objects.
+ Within tags
we expect the following:
+ "tags": {
+ "a": {
+ "attributes": [ "href", "hreflang", "media", "rel", "target", "type" ],
+ "description": "....."
+ }
+ };
+ When an entry contains no attributes
there is no empty array, the element
+ simply doesn't exist.
+ The attributes
object contains keys of different elements that themselves
+ are objects that can contain several valid keys.
+
+- global: Seems to be used exclusively for Global Attributes. Is a boolean
+ which when false, the key does not appear.
+- type: A ?type? for the attribute. It's meaning is not immediately known.
+ Nor a way to reliabley programatically collect it. Some discovered values:
+
+cssStyle: Exclusively used for class
attribute
+boolean: Attributes that only accept true
or false
+flag: For attributes that don't require or accept values. eg autoplay
+cssId: Exclusively used for the id
attribute
+color: Exclusively used for the bgcolor
attribute
+style: Exclusively used for the style
attribute
+
+- description: A text description of the attribute
+- attribOption: A string array of valid values that can exist within the attribute.
+ Such as the case with
rel
where only so many valid options exist.
+
+ Although with our data sources mentioned above, we are able to collect nearly
+ all the data needed. Except the type
that is defined within our
+ completions.json
as well as the attribOption
within our completions.
+ Studying these closer reveals that all attributes listing with our completions.json
+ do not appear elsewhere, and are nearly all global attributes.
+ In this case since there is no sane way to collect this data, we will leave this
+ list as a manually maintained section of our completions.json
.
+ This does mean that curated-attributes.json
is a static document that
+ will require manual updating in the future. Or most ideally, will find a way
+ to automatically generate the needed data.
+
+update
+This file aims to run some short simple tests against update.js
. Focusing
+ mainly on the Regex used within sanitizeDescription()
+
fs
dalek
@@ -384,6 +438,68 @@ This file will manage the updating of `autocomplete-css` `completions.json`.
"warnings": []
}
+**Kind**: global constant
+
+
+## chromiumElementsShim
+This file will manage the updating of `autocomplete-html` `completions.json`
+ We will partially utilize `@webref/elements` `.listAll()` function that returns
+ a full list of HTML Elements along with a defined `interface`.
+ To use this `interface` in any meaningful way, we will utilize the dataset
+ of Attributes that apply to each `interface` from Chromiums DevTools resource
+ `https://github.com/ChromeDevTools/devtools-frontend`.
+ Finally from here we will utilize `https://github.com/mdn/content` to parse
+ the Markdown docs of MDN's website to retreive descriptions for each element.
+
+ Now for a summary of our `completions.json` file we aim to generate.
+ There are two top level elements, `tags` and `attributes`, both objects.
+ Within `tags` we expect the following:
+ "tags": {
+ "a": {
+ "attributes": [ "href", "hreflang", "media", "rel", "target", "type" ],
+ "description": "....."
+ }
+ };
+
+ When an entry contains no `attributes` there is no empty array, the element
+ simply doesn't exist.
+
+ The `attributes` object contains keys of different elements that themselves
+ are objects that can contain several valid keys.
+ - global: Seems to be used exclusively for Global Attributes. Is a boolean
+ which when false, the key does not appear.
+ - type: A ?type? for the attribute. It's meaning is not immediately known.
+ Nor a way to reliabley programatically collect it. Some discovered values:
+cssStyle: Exclusively used for `class` attribute
+boolean: Attributes that only accept `true` or `false`
+flag: For attributes that don't require or accept values. eg autoplay
+cssId: Exclusively used for the `id` attribute
+color: Exclusively used for the `bgcolor` attribute
+style: Exclusively used for the `style` attribute
+ - description: A text description of the attribute
+ - attribOption: A string array of valid values that can exist within the attribute.
+ Such as the case with `rel` where only so many valid options exist.
+
+ Although with our data sources mentioned above, we are able to collect nearly
+ all the data needed. Except the `type` that is defined within our
+ `completions.json` as well as the `attribOption` within our completions.
+
+ Studying these closer reveals that all attributes listing with our `completions.json`
+ do not appear elsewhere, and are nearly all global attributes.
+
+ In this case since there is no sane way to collect this data, we will leave this
+ list as a manually maintained section of our `completions.json`.
+ This does mean that `curated-attributes.json` is a static document that
+ will require manual updating in the future. Or most ideally, will find a way
+ to automatically generate the needed data.
+
+**Kind**: global constant
+
+
+## update
+This file aims to run some short simple tests against `update.js`. Focusing
+ mainly on the Regex used within `sanitizeDescription()`
+
**Kind**: global constant