'.localize($title)); - echo('
'); - echo('error.unset !
"; break; + + case ComposerElementTypes::RAW: + $htmlCode .= $this->get_inner_html($contentRoot); + break; case ComposerElementTypes::H1: case ComposerElementTypes::H2: @@ -517,14 +590,18 @@ class ComposerElement { // Composing the paragraph $htmlCode .= '' . $this->get_inner_html($contentRoot) . '
'; break; case ComposerElementTypes::BUTTON: + // Composing the button. + $htmlCode .= ''; + break; case ComposerElementTypes::CODE: @@ -532,8 +609,9 @@ class ComposerElement { $_paragraph_ident_level = is_null($this->indent) ? 0 : $this->indent; // Opening the code element. + // Note: The "mt-10" may have to be removed if it clashes with 'no-margin-top' ! $htmlCode .= '';
+ ' mt-10 ml-md-' . ($_paragraph_ident_level * 5) . '">';
// Adding code lines.
if(!is_null($this->code)) {
@@ -564,19 +642,75 @@ class ComposerElement {
// Defining the padding's size.
$_container_padding = is_null($this->padding) ? 10 : $this->padding;
- // Getting the modifiers' classes
- $_container_classes = $this->get_modifiers_classes();
-
// Composing the container.
- $htmlCode .= '' .
+ // FIXME: Can be re-standardized if a check for the default mt-10 is added at the end after adding the mods.
+ $htmlCode .= 'modifiers
+ ) ? "" : " mt-10") .
+ (ComposerElementModifiers::is_modifier_in_modifiers(
+ ComposerElementModifiers::GENERIC_PADDING_NO_X, $this->modifiers
+ ) ? " " . ComposerElementModifiers::get_modifier_classes(
+ ComposerElementModifiers::GENERIC_PADDING_NO_X ) : "") .
+ (ComposerElementModifiers::is_modifier_in_modifiers(
+ ComposerElementModifiers::GENERIC_PADDING_NO_BOTTOM, $this->modifiers
+ ) ? " " . ComposerElementModifiers::get_modifier_classes(
+ ComposerElementModifiers::GENERIC_PADDING_NO_BOTTOM ) : "") .
+ (ComposerElementModifiers::is_modifier_in_modifiers(
+ ComposerElementModifiers::GENERIC_PADDING_NO_TOP, $this->modifiers
+ ) ? " " . ComposerElementModifiers::get_modifier_classes(
+ ComposerElementModifiers::GENERIC_PADDING_NO_TOP ) : "") .
+ (ComposerElementModifiers::is_modifier_in_modifiers(
+ ComposerElementModifiers::CONTAINER_SCROLL_HORIZONTAL, $this->modifiers
+ ) ? " " . ComposerElementModifiers::get_modifier_classes(
+ ComposerElementModifiers::CONTAINER_SCROLL_HORIZONTAL ) : "") . '">' .
$this->get_inner_html($contentRoot) . '';
-
break;
case ComposerElementTypes::COLLAPSE:
- break;
+ // Composing collapse.
+ $htmlCode .= 'modifiers
+ ) ? "closed" : "open") . '>';
+ $htmlCode .= '';
+
+ $_title = "title";
+ $_subtitle = "subtitle";
+
+ $htmlCode .= '' .
+ '' .
+ '' .
+ ' '.$_title.
+ ''.$_subtitle.'
';
+
+ $htmlCode .= 'modifiers
+ ) ? " p-0 py-01" : "") .
+ (ComposerElementModifiers::is_modifier_in_modifiers(
+ ComposerElementModifiers::DETAILS_NO_ROUNDING, $this->modifiers
+ ) ? " rounded-0" : "") . ' border-0 border-bottom">' .
+ $this->get_inner_html($contentRoot) . '';
+ break;
+
case ComposerElementTypes::SPACER:
// Defining the spacer's size.
$_spacer_size = is_null($this->size) ? 1 : $this->size;
@@ -588,10 +722,13 @@ class ComposerElement {
case ComposerElementTypes::IMAGE:
break;
+
case ComposerElementTypes::TABLE:
break;
+
case ComposerElementTypes::GRID:
break;
+
case ComposerElementTypes::GLIDER:
break;
@@ -600,6 +737,10 @@ class ComposerElement {
break;
}
+ if(!is_null($this->link)) {
+ $htmlCode .= '';
+ }
+
return $htmlCode;
}
}
diff --git a/commons/content.php b/commons/content.php
index 58bf658..b734fd3 100644
--- a/commons/content.php
+++ b/commons/content.php
@@ -186,9 +186,9 @@ function processStandardContentSubNode(mixed $elementNode, string $prepend="", s
echo($prepend.getContentItemText($elementNode["content"], false, true).$append);
}
}
-}
+}*/
-function createElementNode(mixed $elementNode, string $prepend="", string $append="") : void {
+/*function createElementNode(mixed $elementNode, string $prepend="", string $append="") : void {
// Checking if we actually have a JSON object.
if(!is_array($elementNode)) {
echo('Not array node !
');
@@ -615,7 +615,6 @@ function createElementNode(mixed $elementNode, string $prepend="", string $appen
default:
printErrorTextElement(sprintf(localize("error.content.data.part.unknown"), $elementNode["type"]));
break;
- }
-}*/
+}/**/
?>
diff --git a/commons/strings.json b/commons/strings.json
index 2781f44..410f614 100644
--- a/commons/strings.json
+++ b/commons/strings.json
@@ -144,6 +144,11 @@
"content.commons.download.multiple": "Downloads",
"content.commons.version": "Version",
+ "content.default.head.title" : "No title found !",
+ "content.default.head.description" : "No description found !",
+ "content.default.opengraph.title" : "No title found !",
+ "content.default.opengraph.description" : "No description found !",
+
"about.biography.title": "Who am I ?",
"about.philosophy.title": "Projects philosophy",
"about.skills.title": "Skills",
@@ -295,6 +300,11 @@
"content.commons.download.multiple": "Téléchargements",
"content.commons.version": "Version",
+ "content.default.head.title" : "Aucun titre trouvé !",
+ "content.default.head.description" : "Aucune description trouvée !",
+ "content.default.opengraph.title" : "Aucun titre trouvé !",
+ "content.default.opengraph.description" : "Aucune description trouvée !",
+
"about.biography.title": "Qui suis-je ?",
"about.philosophy.title": "Philosophie des projets",
"about.skills.title": "Compétences",
diff --git a/content/index.php b/content/index.php
index 37a5e22..c1dc3b1 100644
--- a/content/index.php
+++ b/content/index.php
@@ -26,39 +26,34 @@ if($content_has_error) {
' . localize("error.content.title.generic") . ' - Nibble Poker');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
} else {
- $_metaTitle = localize("error.content.data.no.title");
- $_metaDescription = localize("error.content.data.no.description");
- /*if($requested_content_display_type == ContentDisplayType::CONTENT) {
- if(array_key_exists("meta", $requested_item_data)) {
- if(array_key_exists("title", $requested_item_data["meta"])) {
- $_metaTitle = getContentItemText($requested_item_data["meta"]["title"]);
- }
- if(array_key_exists("description", $requested_item_data["meta"])) {
- $_metaDescription = getContentItemText($requested_item_data["meta"]["description"]);
- }
- }
+ if($requested_content_display_type == ContentDisplayType::CONTENT) {
+ echo(''.$content->get_head_title().' - Nibble Poker ');
+ echo('');
+ echo($content->get_opengraph_tags("Nibble Poker - ", "website", $host_uri,
+ null, $host_uri . "/resources/Azias/logos/opengraph.png"));
} else {
- $_metaTitle = localize("content.title.search.card");
- $_metaDescription = "";
- }/**/
+ echo('' . localize("content.title.search.card") . ' - Nibble Poker ');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ echo('');
+ }
}
- //$content->metadata->title
-
- // Printing the title, meta and opengraph tags.
- echo(''.$_metaTitle.' - Nibble Poker ');
- echo('');
- echo('');
- echo('');
?>
-
-
-
-
diff --git a/content/items/lscom-cli.bak.json b/content/items/lscom-cli.bak.json
new file mode 100644
index 0000000..1450bae
--- /dev/null
+++ b/content/items/lscom-cli.bak.json
@@ -0,0 +1,370 @@
+{
+ "title": {
+ "icon": "fad fa-terminal",
+ "page": {"en": "PB-ListComPort", "fr": "PB-ListComPort"},
+ "card": {
+ "main": {"en": "PB-ListComPort", "fr": "PB-ListComPort"},
+ "sub": {"en": ""}
+ }
+ },
+ "meta": {
+ "title": {"en": "PB-ListComPort", "fr": "PB-ListComPort"},
+ "description": {
+ "en": "A simple CLI tool that can list COM ports with their name, friendly name and device name easily and cleanly.",
+ "fr": "Un petit utilitaire pour invité de commande qui permet de facilement lister les noms, noms formatés et chemin des ports COM."
+ }
+ },
+ "parts": [
+ {
+ "type": "container", "padding": 20,
+ "modifiers": ["no-bottom-padding", "no-top-margin"],
+ "content": {
+ "parts": [
+ {
+ "type": "h1",
+ "content": {"en": "Introduction"}
+ },{
+ "type": "paragraph", "indent": 2,
+ "content": {"en": "A simple cli tool that can list COM ports with their full name easily and cleanly."}
+ },{
+ "type": "paragraph", "indent": 2,
+ "content": {
+ "en": "This tool is intended to replace the tedious task of having to use the mode
command, and the Device Manager to find a newly plugged-in device that provides a COM port."
+ }
+ },{
+ "type": "paragraph", "indent": 2,
+ "content": {
+ "en": "The earliest version of Windows that can be used is Windows XP x64 or Windows Vista due to the fact that RegGetValueW is not available on older versions of Windows."
+ }
+ }
+ ]
+ }
+ },
+
+ {
+ "type": "container", "padding": 20,
+ "modifiers": ["no-top-padding", "no-bottom-padding"],
+ "content": {
+ "parts": [
+ {
+ "type": "h1",
+ "content": {"en": "Usage", "fr": "Utilisation"}
+ },{
+ "type": "code", "indent": 2,
+ "modifiers": ["full-width", "horizontal-scroll"],
+ "code": [
+ "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]",
+ " [-h|--help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort] [-S|--sort-reverse]",
+ " [-t|--tab-padding] [-v|--version] [-V|--version-only]",
+ "",
+ "Launch arguments:",
+ " -a, --show-all Display the complete port's name (Equal to '-dfn')",
+ " -d, --show-device Displays the port's device name",
+ " -D , --divider Uses the given string or char as a separator (Can be empty string !)",
+ " -f, --show-friendly Displays the port's friendly name",
+ " -h, --help Display this help text",
+ " -n, --show-name-raw Displays the port's raw name (See remarks section)",
+ " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")",
+ " -s, --sort Sorts the port based on their raw names in an ascending order",
+ " -S, --sort-reverse Sorts the port based on their raw names in a descending order",
+ " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')",
+ " -v, --version Shows the utility's version number and other info",
+ " -V, --version-only Shows the utility's version number only (Overrides '-v')"
+ ]
+ }
+ ]
+ }
+ },
+
+ {
+ "type": "container", "padding": 20,
+ "modifiers": ["no-top-padding", "no-bottom-padding"],
+ "content": {
+ "parts": [
+ {
+ "type": "h1",
+ "content": {"en": "Output formatting", "fr": "Formatage de sortie"}
+ },{
+ "type": "code", "indent": 2,
+ "modifiers": ["full-width", "horizontal-scroll"],
+ "code": [
+ " *┬> No launch arguments:",
+ " └──> ${Raw name} => COM1",
+ " *┬> '-d' or '-f'",
+ " ├──> ${Device name} => \\Device\\Serial1",
+ " └──> ${Friendly name} => Communications Port",
+ " *┬> '-d' and '-f'",
+ " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]",
+ " *┬> '-n' and '-d'",
+ " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]",
+ " *┬> '-n' and '-f'",
+ " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port",
+ " *┬> '-ndf' or '-a'",
+ " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]",
+ " *┬> '-ndfp' or '-ap'",
+ " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1",
+ " *┬> '-ndfD \";\"' or '-aD \";\"'",
+ " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1"
+ ]
+ }
+ ]
+ }
+ },
+
+ {
+ "type": "container", "padding": 10,
+ "modifiers": ["no-top-margin"],
+ "content": {
+ "parts": [
+ {
+ "type": "h1", "modifiers": ["no-top-margin"],
+ "content": {"key": "content.commons.version.current"}
+ },{
+ "type": "spacer", "size": 1
+ },{
+ "type": "container", "padding": 0,
+ "modifiers": ["no-bottom-padding", "no-top-margin", "card", "horizontal-scroll"],
+ "content": {
+ "parts": [{
+ "type": "table",
+ "modifiers": ["striped", "inner-bordered"],
+ "head": [
+ {"key": "content.commons.cpu.responsive"},
+ {"key": "content.commons.lang"},
+ {"key": "content.commons.download.single"}
+ ],
+ "body": [
+ [
+ {"key": "content.commons.cpu.x64", "rowspan": 2},
+ {"key": "lang.english"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_eng_x64.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_eng_x64.exe"}
+ }]
+ }
+ ],[
+ {"key": "lang.french"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_fra_x64.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_fra_x64.exe"}
+ }]
+ }
+ ],[
+ {"key": "content.commons.cpu.x86", "rowspan": 2},
+ {"key": "lang.english"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_eng_x86.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_eng_x86.exe"}
+ }]
+ }
+ ],[
+ {"key": "lang.french"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_fra_x86.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_fra_x86.exe"}
+ }]
+ }
+ ]
+ ]
+ }]
+ }
+ }
+ ]
+ }
+ },
+
+ {
+ "type": "container", "padding": 10,
+ "modifiers": ["no-top-margin"],
+ "content": {
+ "parts": [
+ {
+ "type": "h1", "modifiers": ["no-top-margin"],
+ "content": {"key": "content.commons.version.previous.multiple"}
+ },{
+ "type": "spacer", "size": 1
+ },{
+ "type": "container", "padding": 0,
+ "modifiers": ["no-bottom-padding", "no-top-margin", "card", "horizontal-scroll"],
+ "content": {
+ "parts": [{
+ "type": "table",
+ "modifiers": ["striped", "inner-bordered"],
+ "head": [
+ {"key": "content.commons.version"},
+ {"key": "content.commons.cpu.responsive"},
+ {"key": "content.commons.lang"},
+ {"key": "content.commons.download.single"}
+ ],
+ "body": [
+ [
+ {"en": "v2.0.0", "rowspan": 4},
+ {"key": "content.commons.cpu.x64", "rowspan": 2},
+ {"key": "lang.english"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_eng_x64.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_eng_x64.exe"}
+ }]
+ }
+ ],[
+ {"key": "lang.french"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_fra_x64.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_fra_x64.exe"}
+ }]
+ }
+ ],[
+ {"key": "content.commons.cpu.x86", "rowspan": 2},
+ {"key": "lang.english"},
+ {
+ "parts": [
+ {
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_eng_x86.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_eng_x86.exe"}
+ }
+ ]
+ }
+ ],[
+ {"key": "lang.french"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_fra_x86.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom_fra_x86.exe"}
+ }]
+ }
+ ],[
+ {"en": "v1.1.0", "rowspan": 2},
+ {"key": "content.commons.cpu.x64"},
+ {"key": "lang.english", "rowspan": 2},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/lscom-x64.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom-x64.exe"}
+ }]
+ }
+ ],[
+ {"key": "content.commons.cpu.x86"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/lscom-x86.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom-x86.exe"}
+ }]
+ }
+ ],[
+ {"en": "v1.0.0", "rowspan": 2},
+ {"key": "content.commons.cpu.x64"},
+ {"key": "lang.english", "rowspan": 2},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/lscom-x64.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom-x64.exe"}
+ }]
+ }
+ ],[
+ {"key": "content.commons.cpu.x86"},
+ {
+ "parts": [{
+ "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/lscom-x86.exe",
+ "modifiers": ["thin"],
+ "content": {"en": "lscom-x86.exe"}
+ }]
+ }
+ ]
+ ]
+ }]
+ }
+ }
+ ]
+ }
+ },
+
+ {
+ "type": "container", "padding": 10,
+ "modifiers": ["no-top-margin"],
+ "content": {
+ "parts": [
+ {
+ "type": "h1", "modifiers": ["no-top-margin"],
+ "content": {"key": "content.commons.version.source"}
+ },{
+ "type": "spacer", "size": 1
+ },{
+ "type": "container", "padding": 0,
+ "modifiers": ["no-bottom-padding", "no-top-margin", "card", "horizontal-scroll"],
+ "content": {
+ "parts": [{
+ "type": "table", "modifiers": ["striped", "inner-bordered"],
+ "head": [{"key": "content.commons.version"}, {"key": "content.commons.download.multiple"}],
+ "body": [[
+ {"en": "v2.1.0"},
+ {"parts": [{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/2.1.0.zip",
+ "content": {"en": "2.1.0.zip"}
+ },{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/2.1.0.tar.gz",
+ "content": {"en": "2.1.0.tar.gz"}
+ }]}
+ ],[
+ {"en": "v2.0.0"},
+ {"parts": [{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/2.0.0.zip",
+ "content": {"en": "2.0.0.zip"}
+ },{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/2.0.0.tar.gz",
+ "content": {"en": "2.0.0.tar.gz"}
+ }]}
+ ],[
+ {"en": "v1.1.0"},
+ {"parts": [{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/1.1.0.zip",
+ "content": {"en": "1.1.0.zip"}
+ },{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/1.1.0.tar.gz",
+ "content": {"en": "1.1.0.tar.gz"}
+ }]}
+ ],[
+ {"en": "v1.0.0"},
+ {"parts": [{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/1.0.0.zip",
+ "content": {"en": "1.0.0.zip"}
+ },{
+ "type": "button", "modifiers": ["thin"],
+ "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/1.0.0.tar.gz",
+ "content": {"en": "1.0.0.tar.gz"}
+ }]}
+ ]]
+ }]
+ }
+ }
+ ]
+ }
+ },
+
+ {"type": "spacer", "size": 1}
+ ],
+ "tags": ["application", "lscom", "purebasic", "windows"]
+}
diff --git a/content/items/lscom-cli.json b/content/items/lscom-cli.json
index 1450bae..816eaee 100644
--- a/content/items/lscom-cli.json
+++ b/content/items/lscom-cli.json
@@ -1,370 +1,123 @@
{
- "title": {
- "icon": "fad fa-terminal",
- "page": {"en": "PB-ListComPort", "fr": "PB-ListComPort"},
- "card": {
- "main": {"en": "PB-ListComPort", "fr": "PB-ListComPort"},
- "sub": {"en": ""}
+ "strings": {
+ "en": {
+ "meta.title": "PB-ListComPort",
+ "meta.description": "A simple CLI tool that can list COM ports with their name, friendly name and device name easily and cleanly.",
+ "article.subtitle": "subtitle here",
+ "intro.title": "Introduction",
+ "intro.p1": "A simple cli tool that can list COM ports with their full name easily and cleanly.",
+ "intro.p2": "This tool is intended to replace the tedious task of having to use the mode
command, and the Device Manager to find a newly plugged-in device that provides a COM port.",
+ "intro.p3": "The earliest version of Windows that can be used is Windows XP x64 or Windows Vista due to the fact that RegGetValueW is not available on older versions of Windows.",
+ "usage.title": "Usage",
+ "formatting.title": "Output formatting"
+ },
+ "fr": {
+ "meta.title": "PB-ListComPort",
+ "meta.description": "Un petit utilitaire pour invité de commande qui permet de facilement lister les noms, noms formatés et chemin des ports COM.",
+ "article.subtitle": "subtitle here",
+ "intro.title": "Introduction",
+ "_intro.p1": "",
+ "_intro.p2": "",
+ "_intro.p3": "",
+ "usage.title": "Utilisation",
+ "formatting.title": "Formatage de sortie"
}
},
- "meta": {
- "title": {"en": "PB-ListComPort", "fr": "PB-ListComPort"},
- "description": {
- "en": "A simple CLI tool that can list COM ports with their name, friendly name and device name easily and cleanly.",
- "fr": "Un petit utilitaire pour invité de commande qui permet de facilement lister les noms, noms formatés et chemin des ports COM."
+ "metadata": {
+ "template": "article",
+ "head": {
+ "title": "meta.title",
+ "description": "meta.description"
+ },
+ "opengraph": {
+ "title": "meta.title",
+ "description": "meta.description",
+ "type": null,
+ "url": null,
+ "image": null,
+ "image_type": null
+ },
+ "article": {
+ "icon": "fad fa-terminal",
+ "title": "meta.title",
+ "_subtitle": "article.subtitle",
+ "tags": ["application", "lscom", "purebasic", "windows"]
}
},
- "parts": [
+ "elements": [
{
"type": "container", "padding": 20,
"modifiers": ["no-bottom-padding", "no-top-margin"],
- "content": {
- "parts": [
- {
- "type": "h1",
- "content": {"en": "Introduction"}
- },{
- "type": "paragraph", "indent": 2,
- "content": {"en": "A simple cli tool that can list COM ports with their full name easily and cleanly."}
- },{
- "type": "paragraph", "indent": 2,
- "content": {
- "en": "This tool is intended to replace the tedious task of having to use the mode
command, and the Device Manager to find a newly plugged-in device that provides a COM port."
- }
- },{
- "type": "paragraph", "indent": 2,
- "content": {
- "en": "The earliest version of Windows that can be used is Windows XP x64 or Windows Vista due to the fact that RegGetValueW is not available on older versions of Windows."
- }
- }
- ]
- }
+ "parts": [
+ {"type": "h1", "content": "intro.title"},
+ {"type": "paragraph", "indent": 2, "content": "intro.p1"},
+ {"type": "paragraph", "indent": 2, "content": "intro.p2"},
+ {"type": "paragraph", "indent": 2, "content": "intro.p3"}
+ ]
},
{
"type": "container", "padding": 20,
"modifiers": ["no-top-padding", "no-bottom-padding"],
- "content": {
- "parts": [
- {
- "type": "h1",
- "content": {"en": "Usage", "fr": "Utilisation"}
- },{
- "type": "code", "indent": 2,
- "modifiers": ["full-width", "horizontal-scroll"],
- "code": [
- "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]",
- " [-h|--help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort] [-S|--sort-reverse]",
- " [-t|--tab-padding] [-v|--version] [-V|--version-only]",
- "",
- "Launch arguments:",
- " -a, --show-all Display the complete port's name (Equal to '-dfn')",
- " -d, --show-device Displays the port's device name",
- " -D , --divider Uses the given string or char as a separator (Can be empty string !)",
- " -f, --show-friendly Displays the port's friendly name",
- " -h, --help Display this help text",
- " -n, --show-name-raw Displays the port's raw name (See remarks section)",
- " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")",
- " -s, --sort Sorts the port based on their raw names in an ascending order",
- " -S, --sort-reverse Sorts the port based on their raw names in a descending order",
- " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')",
- " -v, --version Shows the utility's version number and other info",
- " -V, --version-only Shows the utility's version number only (Overrides '-v')"
- ]
- }
- ]
- }
+ "parts": [
+ {"type": "h1", "content": "usage.title"},
+ {
+ "type": "code", "indent": 2,
+ "modifiers": ["horizontal-scroll", "code-block"],
+ "code": [
+ "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]",
+ " [-h|--help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort] [-S|--sort-reverse]",
+ " [-t|--tab-padding] [-v|--version] [-V|--version-only]",
+ "",
+ "Launch arguments:",
+ " -a, --show-all Display the complete port's name (Equal to '-dfn')",
+ " -d, --show-device Displays the port's device name",
+ " -D , --divider Uses the given string or char as a separator (Can be empty string !)",
+ " -f, --show-friendly Displays the port's friendly name",
+ " -h, --help Display this help text",
+ " -n, --show-name-raw Displays the port's raw name (See remarks section)",
+ " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")",
+ " -s, --sort Sorts the port based on their raw names in an ascending order",
+ " -S, --sort-reverse Sorts the port based on their raw names in a descending order",
+ " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')",
+ " -v, --version Shows the utility's version number and other info",
+ " -V, --version-only Shows the utility's version number only (Overrides '-v')"
+ ]
+ }
+ ]
},
{
"type": "container", "padding": 20,
"modifiers": ["no-top-padding", "no-bottom-padding"],
- "content": {
- "parts": [
- {
- "type": "h1",
- "content": {"en": "Output formatting", "fr": "Formatage de sortie"}
- },{
- "type": "code", "indent": 2,
- "modifiers": ["full-width", "horizontal-scroll"],
- "code": [
- " *┬> No launch arguments:",
- " └──> ${Raw name} => COM1",
- " *┬> '-d' or '-f'",
- " ├──> ${Device name} => \\Device\\Serial1",
- " └──> ${Friendly name} => Communications Port",
- " *┬> '-d' and '-f'",
- " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]",
- " *┬> '-n' and '-d'",
- " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]",
- " *┬> '-n' and '-f'",
- " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port",
- " *┬> '-ndf' or '-a'",
- " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]",
- " *┬> '-ndfp' or '-ap'",
- " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1",
- " *┬> '-ndfD \";\"' or '-aD \";\"'",
- " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1"
- ]
- }
- ]
- }
- },
-
- {
- "type": "container", "padding": 10,
- "modifiers": ["no-top-margin"],
- "content": {
- "parts": [
- {
- "type": "h1", "modifiers": ["no-top-margin"],
- "content": {"key": "content.commons.version.current"}
- },{
- "type": "spacer", "size": 1
- },{
- "type": "container", "padding": 0,
- "modifiers": ["no-bottom-padding", "no-top-margin", "card", "horizontal-scroll"],
- "content": {
- "parts": [{
- "type": "table",
- "modifiers": ["striped", "inner-bordered"],
- "head": [
- {"key": "content.commons.cpu.responsive"},
- {"key": "content.commons.lang"},
- {"key": "content.commons.download.single"}
- ],
- "body": [
- [
- {"key": "content.commons.cpu.x64", "rowspan": 2},
- {"key": "lang.english"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_eng_x64.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_eng_x64.exe"}
- }]
- }
- ],[
- {"key": "lang.french"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_fra_x64.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_fra_x64.exe"}
- }]
- }
- ],[
- {"key": "content.commons.cpu.x86", "rowspan": 2},
- {"key": "lang.english"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_eng_x86.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_eng_x86.exe"}
- }]
- }
- ],[
- {"key": "lang.french"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/lscom_fra_x86.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_fra_x86.exe"}
- }]
- }
- ]
- ]
- }]
- }
- }
- ]
- }
- },
-
- {
- "type": "container", "padding": 10,
- "modifiers": ["no-top-margin"],
- "content": {
- "parts": [
- {
- "type": "h1", "modifiers": ["no-top-margin"],
- "content": {"key": "content.commons.version.previous.multiple"}
- },{
- "type": "spacer", "size": 1
- },{
- "type": "container", "padding": 0,
- "modifiers": ["no-bottom-padding", "no-top-margin", "card", "horizontal-scroll"],
- "content": {
- "parts": [{
- "type": "table",
- "modifiers": ["striped", "inner-bordered"],
- "head": [
- {"key": "content.commons.version"},
- {"key": "content.commons.cpu.responsive"},
- {"key": "content.commons.lang"},
- {"key": "content.commons.download.single"}
- ],
- "body": [
- [
- {"en": "v2.0.0", "rowspan": 4},
- {"key": "content.commons.cpu.x64", "rowspan": 2},
- {"key": "lang.english"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_eng_x64.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_eng_x64.exe"}
- }]
- }
- ],[
- {"key": "lang.french"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_fra_x64.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_fra_x64.exe"}
- }]
- }
- ],[
- {"key": "content.commons.cpu.x86", "rowspan": 2},
- {"key": "lang.english"},
- {
- "parts": [
- {
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_eng_x86.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_eng_x86.exe"}
- }
- ]
- }
- ],[
- {"key": "lang.french"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/lscom_fra_x86.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom_fra_x86.exe"}
- }]
- }
- ],[
- {"en": "v1.1.0", "rowspan": 2},
- {"key": "content.commons.cpu.x64"},
- {"key": "lang.english", "rowspan": 2},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/lscom-x64.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom-x64.exe"}
- }]
- }
- ],[
- {"key": "content.commons.cpu.x86"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/lscom-x86.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom-x86.exe"}
- }]
- }
- ],[
- {"en": "v1.0.0", "rowspan": 2},
- {"key": "content.commons.cpu.x64"},
- {"key": "lang.english", "rowspan": 2},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/lscom-x64.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom-x64.exe"}
- }]
- }
- ],[
- {"key": "content.commons.cpu.x86"},
- {
- "parts": [{
- "type": "button", "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/lscom-x86.exe",
- "modifiers": ["thin"],
- "content": {"en": "lscom-x86.exe"}
- }]
- }
- ]
- ]
- }]
- }
- }
- ]
- }
- },
-
- {
- "type": "container", "padding": 10,
- "modifiers": ["no-top-margin"],
- "content": {
- "parts": [
- {
- "type": "h1", "modifiers": ["no-top-margin"],
- "content": {"key": "content.commons.version.source"}
- },{
- "type": "spacer", "size": 1
- },{
- "type": "container", "padding": 0,
- "modifiers": ["no-bottom-padding", "no-top-margin", "card", "horizontal-scroll"],
- "content": {
- "parts": [{
- "type": "table", "modifiers": ["striped", "inner-bordered"],
- "head": [{"key": "content.commons.version"}, {"key": "content.commons.download.multiple"}],
- "body": [[
- {"en": "v2.1.0"},
- {"parts": [{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/2.1.0.zip",
- "content": {"en": "2.1.0.zip"}
- },{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.1.0/2.1.0.tar.gz",
- "content": {"en": "2.1.0.tar.gz"}
- }]}
- ],[
- {"en": "v2.0.0"},
- {"parts": [{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/2.0.0.zip",
- "content": {"en": "2.0.0.zip"}
- },{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/2.0.0/2.0.0.tar.gz",
- "content": {"en": "2.0.0.tar.gz"}
- }]}
- ],[
- {"en": "v1.1.0"},
- {"parts": [{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/1.1.0.zip",
- "content": {"en": "1.1.0.zip"}
- },{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.1.0/1.1.0.tar.gz",
- "content": {"en": "1.1.0.tar.gz"}
- }]}
- ],[
- {"en": "v1.0.0"},
- {"parts": [{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/1.0.0.zip",
- "content": {"en": "1.0.0.zip"}
- },{
- "type": "button", "modifiers": ["thin"],
- "link": "https://files.nibblepoker.lu/downloads/PB-ListComPort/1.0.0/1.0.0.tar.gz",
- "content": {"en": "1.0.0.tar.gz"}
- }]}
- ]]
- }]
- }
- }
- ]
- }
+ "parts": [
+ {"type": "h1", "content": "formatting.title"},
+ {
+ "type": "code", "indent": 2,
+ "modifiers": ["horizontal-scroll", "code-block"],
+ "code": [
+ " *┬> No launch arguments:",
+ " └──> ${Raw name} => COM1",
+ " *┬> '-d' or '-f'",
+ " ├──> ${Device name} => \\Device\\Serial1",
+ " └──> ${Friendly name} => Communications Port",
+ " *┬> '-d' and '-f'",
+ " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]",
+ " *┬> '-n' and '-d'",
+ " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]",
+ " *┬> '-n' and '-f'",
+ " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port",
+ " *┬> '-ndf' or '-a'",
+ " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]",
+ " *┬> '-ndfp' or '-ap'",
+ " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1",
+ " *┬> '-ndfD \";\"' or '-aD \";\"'",
+ " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1"
+ ]
+ }
+ ]
},
{"type": "spacer", "size": 1}
- ],
- "tags": ["application", "lscom", "purebasic", "windows"]
+ ]
}
diff --git a/content/items/test2.json b/content/items/test2.json
index ed9a990..7ba14b5 100644
--- a/content/items/test2.json
+++ b/content/items/test2.json
@@ -31,7 +31,7 @@
"article": {
"icon": "fad fa-terminal",
"title": "title.article",
- "tags": ["fuck", "you"]
+ "tags": ["joe", "mama"]
}
},
"elements": [