diff --git a/DataWarehouseAutomation/Sample_Templates/TemplateSampleCustomFunctions.Handlebars b/DataWarehouseAutomation/Sample_Templates/TemplateSampleCustomFunctions.Handlebars index c4606a2..7c9c536 100644 --- a/DataWarehouseAutomation/Sample_Templates/TemplateSampleCustomFunctions.Handlebars +++ b/DataWarehouseAutomation/Sample_Templates/TemplateSampleCustomFunctions.Handlebars @@ -19,6 +19,8 @@ This is {{space "Roelant"}} ...spaced out. This replaces the a's in Roelant with an !: {{StringReplace "Roelant" "a" "!"}} +This adds brackets around the string vlue: {{stringwrap "Example" "[" "]"}} + {{!-- Demonstrating the array lookup --}} {{#each dataObjectMappings}} Working on mapping {{name}} diff --git a/docs/_site/handlebars/extension_now.html b/docs/_site/handlebars/extension_now.html index f3ca714..e421cd4 100644 --- a/docs/_site/handlebars/extension_now.html +++ b/docs/_site/handlebars/extension_now.html @@ -78,8 +78,14 @@
Table of Contents

{{now}}

-

Usage: {{now}}. -Example: The time is {{now}}.

+

Get the date and time at the moment of execution.

+

Usage

+
{{now}}
+
+

Example

+
The time is {{now}}.
+
+

This gives you the date/time at present.

diff --git a/docs/_site/handlebars/extension_randomdate copy.html b/docs/_site/handlebars/extension_randomdate copy.html new file mode 100644 index 0000000..e15a35f --- /dev/null +++ b/docs/_site/handlebars/extension_randomdate copy.html @@ -0,0 +1,111 @@ + + + + + {{now}} | Schema for Data Warehouse Automation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+

{{now}}

+ +

Usage

+

Generated a random string no longer than the provided characters as integer input.

+
{{randomstring 10}}.
+
+

Example

+
And here is a random string: {{randomstring 10}}.
+
+

This will result in

+
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/_site/handlebars/extension_randomdate.html b/docs/_site/handlebars/extension_randomdate.html new file mode 100644 index 0000000..86c903e --- /dev/null +++ b/docs/_site/handlebars/extension_randomdate.html @@ -0,0 +1,112 @@ + + + + + {{randomdate}} | Schema for Data Warehouse Automation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+

{{randomdate}}

+ +

Generate a random date somewhere higher than the provided characters as four-digit integer (year) input.

+

This was originally added to generate test data, and is used for referential-integrity testing purposes.

+

Usage

+
{{randomdate 2020}}
+
+

Example

+
Here is a random date: {{randomdate 2020}}.
+
+

This may result in 2022-08-03T00:00:00.000000.

+
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/_site/handlebars/extension_randomnumber.html b/docs/_site/handlebars/extension_randomnumber.html new file mode 100644 index 0000000..1ce3284 --- /dev/null +++ b/docs/_site/handlebars/extension_randomnumber.html @@ -0,0 +1,112 @@ + + + + + {{randomnumber}} | Schema for Data Warehouse Automation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+

{{randomnumber}}

+ +

Generate a random number with the numeric positions provided as input integer.

+

This was originally added to generate test data, and is used for referential-integrity testing purposes.

+

Usage

+
{{randomnumber 5}}
+
+

Example

+
And here is a random string: {{randomnumber 5}}.
+
+

This may result in 1346.

+
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/_site/handlebars/extension_randomstring.html b/docs/_site/handlebars/extension_randomstring.html new file mode 100644 index 0000000..0fe0147 --- /dev/null +++ b/docs/_site/handlebars/extension_randomstring.html @@ -0,0 +1,111 @@ + + + + + {{randomstring}} | Schema for Data Warehouse Automation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+

{{randomstring}}

+ +

Generate a random string no longer than the provided characters as integer input.

+

Usage

+
{{randomstring 10}}
+
+

Example

+
And here is a random string: {{randomstring 10}}.
+
+

This may result in Cg8uKuBFS5.

+
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/_site/handlebars/extension_stringcompare.html b/docs/_site/handlebars/extension_stringcompare.html new file mode 100644 index 0000000..5dfefe1 --- /dev/null +++ b/docs/_site/handlebars/extension_stringcompare.html @@ -0,0 +1,113 @@ + + + + + {{stringcompare}} | Schema for Data Warehouse Automation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+

{{stringcompare}}

+ +

Block helper to evaluate if the input matches a specified string. Also optionally supports an {{else}} block.

+

Usage

+
{{#stringcompare string1 string2}} do something {{else}} do something else {{/stringcompare}}
+
+

Example

+
A and B {{#stringcompare "A" "B"}}are the same. {{else}}are not the same. {{/stringcompare}}
+
+

This results in:

+
A and B are not the same.
+
+
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/_site/handlebars/extension_stringwrap.html b/docs/_site/handlebars/extension_stringwrap.html new file mode 100644 index 0000000..e74a005 --- /dev/null +++ b/docs/_site/handlebars/extension_stringwrap.html @@ -0,0 +1,113 @@ + + + + + {{stringwrap}} | Schema for Data Warehouse Automation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+

{{stringwrap}}

+ +

Wraps an input character string with two specified characters.

+

Usage

+
{{stringwrap "<start character>" "<end character>"}}
+
+

Example

+
This adds brackets around the string value: {{stringwrap "Example" "[" "]"}}
+
+

This results in:

+
[EXAMPLE]
+
+
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/_site/handlebars/index.html b/docs/_site/handlebars/index.html index bc8e329..495b8eb 100644 --- a/docs/_site/handlebars/index.html +++ b/docs/_site/handlebars/index.html @@ -78,7 +78,15 @@
Table of Contents

Overview

-

TBD

+

As part of the schema definitions, a number of extensions in the templating language have been developed:

+
diff --git a/docs/_site/manifest.json b/docs/_site/manifest.json index d6ea6df..407b888 100644 --- a/docs/_site/manifest.json +++ b/docs/_site/manifest.json @@ -203,6 +203,56 @@ }, "version": "" }, + { + "type": "Conceptual", + "source_relative_path": "handlebars/extension_randomdate.md", + "output": { + ".html": { + "relative_path": "handlebars/extension_randomdate.html" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "handlebars/extension_randomnumber.md", + "output": { + ".html": { + "relative_path": "handlebars/extension_randomnumber.html" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "handlebars/extension_randomstring.md", + "output": { + ".html": { + "relative_path": "handlebars/extension_randomstring.html" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "handlebars/extension_stringcompare.md", + "output": { + ".html": { + "relative_path": "handlebars/extension_stringcompare.html" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "handlebars/extension_stringwrap.md", + "output": { + ".html": { + "relative_path": "handlebars/extension_stringwrap.html" + } + }, + "version": "" + }, { "type": "Conceptual", "source_relative_path": "handlebars/index.md", diff --git a/docs/_site/toc.html b/docs/_site/toc.html index d6ea62f..8cf5c91 100644 --- a/docs/_site/toc.html +++ b/docs/_site/toc.html @@ -117,6 +117,18 @@
  • Now
  • +
  • + Random date +
  • +
  • + Random string +
  • +
  • + String wrap +
  • +
  • + String compare +
  • diff --git a/docs/_site/toc.json b/docs/_site/toc.json index a0f20fb..0f4586e 100644 --- a/docs/_site/toc.json +++ b/docs/_site/toc.json @@ -1,2 +1,2 @@ -{"items":[{"name":"Home","href":"index.html","topicHref":"index.html"},{"name":"Overview","includedFrom":"~/overview/toc.yml","items":[{"name":"Introduction","href":"overview/Index.html","topicHref":"overview/Index.html"},{"name":"JSON Schema Definition","href":"overview/jsonschema.html","topicHref":"overview/jsonschema.html"},{"name":"Getting Started","href":"overview/getting-started.html","topicHref":"overview/getting-started.html"}]},{"name":"Frequently Asked Questions","includedFrom":"~/faq/toc.yml","items":[{"name":"Overview","href":"faq/index.html","topicHref":"faq/index.html"}]},{"name":"Schema Documentation","includedFrom":"~/api/toc.yml","items":[{"name":"DataWarehouseAutomation","href":"api/DataWarehouseAutomation.html","topicHref":"api/DataWarehouseAutomation.html","topicUid":"DataWarehouseAutomation","items":[{"name":"BusinessKeyDefinition","href":"api/DataWarehouseAutomation.BusinessKeyDefinition.html","topicHref":"api/DataWarehouseAutomation.BusinessKeyDefinition.html","topicUid":"DataWarehouseAutomation.BusinessKeyDefinition"},{"name":"DataClassification","href":"api/DataWarehouseAutomation.DataClassification.html","topicHref":"api/DataWarehouseAutomation.DataClassification.html","topicUid":"DataWarehouseAutomation.DataClassification"},{"name":"DataConnection","href":"api/DataWarehouseAutomation.DataConnection.html","topicHref":"api/DataWarehouseAutomation.DataConnection.html","topicUid":"DataWarehouseAutomation.DataConnection"},{"name":"DataItem","href":"api/DataWarehouseAutomation.DataItem.html","topicHref":"api/DataWarehouseAutomation.DataItem.html","topicUid":"DataWarehouseAutomation.DataItem"},{"name":"DataItemMapping","href":"api/DataWarehouseAutomation.DataItemMapping.html","topicHref":"api/DataWarehouseAutomation.DataItemMapping.html","topicUid":"DataWarehouseAutomation.DataItemMapping"},{"name":"DataItemQuery","href":"api/DataWarehouseAutomation.DataItemQuery.html","topicHref":"api/DataWarehouseAutomation.DataItemQuery.html","topicUid":"DataWarehouseAutomation.DataItemQuery"},{"name":"DataObject","href":"api/DataWarehouseAutomation.DataObject.html","topicHref":"api/DataWarehouseAutomation.DataObject.html","topicUid":"DataWarehouseAutomation.DataObject"},{"name":"DataObjectMapping","href":"api/DataWarehouseAutomation.DataObjectMapping.html","topicHref":"api/DataWarehouseAutomation.DataObjectMapping.html","topicUid":"DataWarehouseAutomation.DataObjectMapping"},{"name":"DataObjectMappingList","href":"api/DataWarehouseAutomation.DataObjectMappingList.html","topicHref":"api/DataWarehouseAutomation.DataObjectMappingList.html","topicUid":"DataWarehouseAutomation.DataObjectMappingList"},{"name":"DataObjectQuery","href":"api/DataWarehouseAutomation.DataObjectQuery.html","topicHref":"api/DataWarehouseAutomation.DataObjectQuery.html","topicUid":"DataWarehouseAutomation.DataObjectQuery"},{"name":"Extension","href":"api/DataWarehouseAutomation.Extension.html","topicHref":"api/DataWarehouseAutomation.Extension.html","topicUid":"DataWarehouseAutomation.Extension"},{"name":"HandleBarsHelpers","href":"api/DataWarehouseAutomation.HandleBarsHelpers.html","topicHref":"api/DataWarehouseAutomation.HandleBarsHelpers.html","topicUid":"DataWarehouseAutomation.HandleBarsHelpers"},{"name":"IDataItem","href":"api/DataWarehouseAutomation.IDataItem.html","topicHref":"api/DataWarehouseAutomation.IDataItem.html","topicUid":"DataWarehouseAutomation.IDataItem"},{"name":"IDataObject","href":"api/DataWarehouseAutomation.IDataObject.html","topicHref":"api/DataWarehouseAutomation.IDataObject.html","topicUid":"DataWarehouseAutomation.IDataObject"},{"name":"IMetadata","href":"api/DataWarehouseAutomation.IMetadata.html","topicHref":"api/DataWarehouseAutomation.IMetadata.html","topicUid":"DataWarehouseAutomation.IMetadata"},{"name":"JsonValidation","href":"api/DataWarehouseAutomation.JsonValidation.html","topicHref":"api/DataWarehouseAutomation.JsonValidation.html","topicUid":"DataWarehouseAutomation.JsonValidation"},{"name":"JsonValidation.ValidationResult","href":"api/DataWarehouseAutomation.JsonValidation.ValidationResult.html","topicHref":"api/DataWarehouseAutomation.JsonValidation.ValidationResult.html","topicUid":"DataWarehouseAutomation.JsonValidation.ValidationResult"}]}]},{"name":"Handlebars Custom Extensions","includedFrom":"~/handlebars/toc.yml","items":[{"name":"Overview","href":"handlebars/index.html","topicHref":"handlebars/index.html"},{"name":"Now","href":"handlebars/extension_now.html","topicHref":"handlebars/extension_now.html"}]}]} \ No newline at end of file +{"items":[{"name":"Home","href":"index.html","topicHref":"index.html"},{"name":"Overview","includedFrom":"~/overview/toc.yml","items":[{"name":"Introduction","href":"overview/Index.html","topicHref":"overview/Index.html"},{"name":"JSON Schema Definition","href":"overview/jsonschema.html","topicHref":"overview/jsonschema.html"},{"name":"Getting Started","href":"overview/getting-started.html","topicHref":"overview/getting-started.html"}]},{"name":"Frequently Asked Questions","includedFrom":"~/faq/toc.yml","items":[{"name":"Overview","href":"faq/index.html","topicHref":"faq/index.html"}]},{"name":"Schema Documentation","includedFrom":"~/api/toc.yml","items":[{"name":"DataWarehouseAutomation","href":"api/DataWarehouseAutomation.html","topicHref":"api/DataWarehouseAutomation.html","topicUid":"DataWarehouseAutomation","items":[{"name":"BusinessKeyDefinition","href":"api/DataWarehouseAutomation.BusinessKeyDefinition.html","topicHref":"api/DataWarehouseAutomation.BusinessKeyDefinition.html","topicUid":"DataWarehouseAutomation.BusinessKeyDefinition"},{"name":"DataClassification","href":"api/DataWarehouseAutomation.DataClassification.html","topicHref":"api/DataWarehouseAutomation.DataClassification.html","topicUid":"DataWarehouseAutomation.DataClassification"},{"name":"DataConnection","href":"api/DataWarehouseAutomation.DataConnection.html","topicHref":"api/DataWarehouseAutomation.DataConnection.html","topicUid":"DataWarehouseAutomation.DataConnection"},{"name":"DataItem","href":"api/DataWarehouseAutomation.DataItem.html","topicHref":"api/DataWarehouseAutomation.DataItem.html","topicUid":"DataWarehouseAutomation.DataItem"},{"name":"DataItemMapping","href":"api/DataWarehouseAutomation.DataItemMapping.html","topicHref":"api/DataWarehouseAutomation.DataItemMapping.html","topicUid":"DataWarehouseAutomation.DataItemMapping"},{"name":"DataItemQuery","href":"api/DataWarehouseAutomation.DataItemQuery.html","topicHref":"api/DataWarehouseAutomation.DataItemQuery.html","topicUid":"DataWarehouseAutomation.DataItemQuery"},{"name":"DataObject","href":"api/DataWarehouseAutomation.DataObject.html","topicHref":"api/DataWarehouseAutomation.DataObject.html","topicUid":"DataWarehouseAutomation.DataObject"},{"name":"DataObjectMapping","href":"api/DataWarehouseAutomation.DataObjectMapping.html","topicHref":"api/DataWarehouseAutomation.DataObjectMapping.html","topicUid":"DataWarehouseAutomation.DataObjectMapping"},{"name":"DataObjectMappingList","href":"api/DataWarehouseAutomation.DataObjectMappingList.html","topicHref":"api/DataWarehouseAutomation.DataObjectMappingList.html","topicUid":"DataWarehouseAutomation.DataObjectMappingList"},{"name":"DataObjectQuery","href":"api/DataWarehouseAutomation.DataObjectQuery.html","topicHref":"api/DataWarehouseAutomation.DataObjectQuery.html","topicUid":"DataWarehouseAutomation.DataObjectQuery"},{"name":"Extension","href":"api/DataWarehouseAutomation.Extension.html","topicHref":"api/DataWarehouseAutomation.Extension.html","topicUid":"DataWarehouseAutomation.Extension"},{"name":"HandleBarsHelpers","href":"api/DataWarehouseAutomation.HandleBarsHelpers.html","topicHref":"api/DataWarehouseAutomation.HandleBarsHelpers.html","topicUid":"DataWarehouseAutomation.HandleBarsHelpers"},{"name":"IDataItem","href":"api/DataWarehouseAutomation.IDataItem.html","topicHref":"api/DataWarehouseAutomation.IDataItem.html","topicUid":"DataWarehouseAutomation.IDataItem"},{"name":"IDataObject","href":"api/DataWarehouseAutomation.IDataObject.html","topicHref":"api/DataWarehouseAutomation.IDataObject.html","topicUid":"DataWarehouseAutomation.IDataObject"},{"name":"IMetadata","href":"api/DataWarehouseAutomation.IMetadata.html","topicHref":"api/DataWarehouseAutomation.IMetadata.html","topicUid":"DataWarehouseAutomation.IMetadata"},{"name":"JsonValidation","href":"api/DataWarehouseAutomation.JsonValidation.html","topicHref":"api/DataWarehouseAutomation.JsonValidation.html","topicUid":"DataWarehouseAutomation.JsonValidation"},{"name":"JsonValidation.ValidationResult","href":"api/DataWarehouseAutomation.JsonValidation.ValidationResult.html","topicHref":"api/DataWarehouseAutomation.JsonValidation.ValidationResult.html","topicUid":"DataWarehouseAutomation.JsonValidation.ValidationResult"}]}]},{"name":"Handlebars Custom Extensions","includedFrom":"~/handlebars/toc.yml","items":[{"name":"Overview","href":"handlebars/index.html","topicHref":"handlebars/index.html"},{"name":"Now","href":"handlebars/extension_now.html","topicHref":"handlebars/extension_now.html"},{"name":"Random date","href":"handlebars/extension_randomstring.html","topicHref":"handlebars/extension_randomstring.html"},{"name":"Random string","href":"handlebars/extension_randomdate.html","topicHref":"handlebars/extension_randomdate.html"},{"name":"String wrap","href":"handlebars/extension_stringwrap.html","topicHref":"handlebars/extension_stringwrap.html"},{"name":"String compare","href":"handlebars/extension_stringcompare.html","topicHref":"handlebars/extension_stringcompare.html"}]}]} \ No newline at end of file diff --git a/docs/handlebars/extension_now.md b/docs/handlebars/extension_now.md index 37f9393..8b0a85a 100644 --- a/docs/handlebars/extension_now.md +++ b/docs/handlebars/extension_now.md @@ -1,4 +1,17 @@ # {{now}} -Usage: {{now}}. -Example: The time is {{now}}. +Get the date and time at the moment of execution. + +## Usage + +```json +{{now}} +``` + +## Example + +```json +The time is {{now}}. +``` + +This gives you the date/time at present. diff --git a/docs/handlebars/extension_randomdate.md b/docs/handlebars/extension_randomdate.md new file mode 100644 index 0000000..433998e --- /dev/null +++ b/docs/handlebars/extension_randomdate.md @@ -0,0 +1,19 @@ +# {{randomdate}} + +Generate a random date somewhere higher than the provided characters as four-digit integer (year) input. + +This was originally added to generate test data, and is used for referential-integrity testing purposes. + +## Usage + +```json +{{randomdate 2020}} +``` + +## Example + +```json +Here is a random date: {{randomdate 2020}}. +``` + +This may result in *2022-08-03T00:00:00.000000*. diff --git a/docs/handlebars/extension_randomnumber.md b/docs/handlebars/extension_randomnumber.md new file mode 100644 index 0000000..ca56df8 --- /dev/null +++ b/docs/handlebars/extension_randomnumber.md @@ -0,0 +1,19 @@ +# {{randomnumber}} + +Generate a random number with the numeric positions provided as input integer. + +This was originally added to generate test data, and is used for referential-integrity testing purposes. + +## Usage + +```json +{{randomnumber 5}} +``` + +## Example + +```json +And here is a random string: {{randomnumber 5}}. +``` + +This may result in *1346*. diff --git a/docs/handlebars/extension_randomstring.md b/docs/handlebars/extension_randomstring.md new file mode 100644 index 0000000..fef3254 --- /dev/null +++ b/docs/handlebars/extension_randomstring.md @@ -0,0 +1,17 @@ +# {{randomstring}} + +Generate a random string no longer than the provided characters as integer input. + +## Usage + +```json +{{randomstring 10}} +``` + +## Example + +```json +And here is a random string: {{randomstring 10}}. +``` + +This may result in *Cg8uKuBFS5*. diff --git a/docs/handlebars/extension_stringcompare.md b/docs/handlebars/extension_stringcompare.md new file mode 100644 index 0000000..921a448 --- /dev/null +++ b/docs/handlebars/extension_stringcompare.md @@ -0,0 +1,21 @@ +# {{stringcompare}} + +Block helper to evaluate if the input matches a specified string. Also optionally supports an {{else}} block. + +## Usage + +```json +{{#stringcompare string1 string2}} do something {{else}} do something else {{/stringcompare}} +``` + +## Example + +```json +A and B {{#stringcompare "A" "B"}}are the same. {{else}}are not the same. {{/stringcompare}} +``` + +This results in: + +```dotnetcli +A and B are not the same. +``` diff --git a/docs/handlebars/extension_stringwrap.md b/docs/handlebars/extension_stringwrap.md new file mode 100644 index 0000000..b751b4d --- /dev/null +++ b/docs/handlebars/extension_stringwrap.md @@ -0,0 +1,21 @@ +# {{stringwrap}} + +Wraps an input character string with two specified characters. + +## Usage + +```json +{{stringwrap "" ""}} +``` + +## Example + +```json +This adds brackets around the string value: {{stringwrap "Example" "[" "]"}} +``` + +This results in: + +```dotnetcli +[EXAMPLE] +``` diff --git a/docs/handlebars/index.md b/docs/handlebars/index.md index 29dcdaa..6695637 100644 --- a/docs/handlebars/index.md +++ b/docs/handlebars/index.md @@ -1,3 +1,10 @@ # Overview -TBD \ No newline at end of file +As part of the schema definitions, a number of extensions in the templating language have been developed: + +* [{{now}}](extension_now.md) +* [{{randomdate}}](extension_randomdate.md) +* [{{randomnumber}}](extension_randomnumber.md) +* [{{randomstring}}](extension_randomstring.md) +* [{{stringwrap}}](extension_stringwrap.md) +* [{{stringcompare}}](extension_stringcompare.md) diff --git a/docs/handlebars/toc.yml b/docs/handlebars/toc.yml index 32ed241..c45aeb4 100644 --- a/docs/handlebars/toc.yml +++ b/docs/handlebars/toc.yml @@ -2,4 +2,12 @@ items: - name: Overview href: index.md - name: Now - href: extension_now.md \ No newline at end of file + href: extension_now.md +- name: Random date + href: extension_randomstring.md +- name: Random string + href: extension_randomdate.md +- name: String wrap + href: extension_stringwrap.md +- name: String compare + href: extension_stringcompare.md \ No newline at end of file