From 9f6961dbc67d2ce504e7bed520422643625403f2 Mon Sep 17 00:00:00 2001 From: Torsten Sommer Date: Mon, 21 Jul 2025 10:03:53 +0200 Subject: [PATCH] Add "Layered Standards" filter to tools list --- CONTRIBUTING.md | 36 +++++++++++++++------------ content/tools.html | 54 +++++++++++++++++++++++++++------------- static/assets/tools.json | 51 ++++++++++++++++++++++++++++++++----- 3 files changed, 102 insertions(+), 39 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1f934999..6c84af3d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -76,22 +76,23 @@ Please respect the rules below when editing the file. ### Format -| Column | Description | Example / valid values -|----------------|-------------------------------------------------------------------------|----------------------- -| name | The tool name that appears in the tools list | `"Example Sim"` -| license | License (commercial or [OSI approved](https://opensource.org/licenses)) | `"commercial"`, `"osi"` -| url | Link to the tool's homepage | `"https://example.com/example-sim/"` -| logo | filename of the tool's logo (or company's logo) | `"example-sim.svg"` -| vendor | Name of the tool vendor | `"Example Company"` -| vendorURL | Link to the vendor's homepage | `"https://example.com/"` -| examplesURL | Link to the tool's example FMUs and compatibility information | `"https://github.com/example/example-sim/"` -| description | A [description](#tool-description) of the tool | `"Run simulations in the cloud in real time"` -| features | Reserved for future use | `[]` -| platforms | Supported platforms | `["macOS", "Linux", "Windows"]` -| interfaces | Supported interfaces | `["GUI", "CLI", "library"]` -| fmiVersions | Supported FMI versions | `["1.0", "2.0", "3.0"]` -| fmuExport | Supported interface types for FMU export | `["CS", "ME", "SE"]` -| fmuImport | Supported interface types for FMU import | `["CS", "ME", "SE"]` +| Column | Description | Example / valid values +|------------------|-------------------------------------------------------------------------|----------------------- +| name | The tool name that appears in the tools list | `"Example Sim"` +| license | License (commercial or [OSI approved](https://opensource.org/licenses)) | `"commercial"`, `"osi"` +| url | Link to the tool's homepage | `"https://example.com/example-sim/"` +| logo | filename of the tool's logo (or company's logo) | `"example-sim.svg"` +| vendor | Name of the tool vendor | `"Example Company"` +| vendorURL | Link to the vendor's homepage | `"https://example.com/"` +| examplesURL | Link to the tool's example FMUs and compatibility information | `"https://github.com/example/example-sim/"` +| description | A [description](#tool-description) of the tool | `"Run simulations in the cloud in real time"` +| features | Reserved for future use | `[]` +| platforms | Supported platforms | `["macOS", "Linux", "Windows"]` +| interfaces | Supported interfaces | `["GUI", "CLI", "library"]` +| fmiVersions | Supported FMI versions | `["1.0", "2.0", "3.0"]` +| fmuExport | Supported interface types for FMU export | `["CS", "ME", "SE"]` +| fmuImport | Supported interface types for FMU import | `["CS", "ME", "SE"]` +| layeredStandards | Supported layered standards | `["BUS", "XCP"]` Example: @@ -123,6 +124,9 @@ Example: ], "fmuImport": [ "CS" + ], + "layeredStandards": [ + "BUS" ] } ``` diff --git a/content/tools.html b/content/tools.html index 12300cf1..a2898408 100644 --- a/content/tools.html +++ b/content/tools.html @@ -4,15 +4,15 @@
-
+
- - - + + +
@@ -20,9 +20,9 @@
- - - + + +
@@ -30,9 +30,9 @@
- - - + + +
@@ -40,10 +40,10 @@
- - - - + + + +
@@ -60,9 +60,20 @@
- - - + + + +
+ +
+
+ +
+
+ + + +
@@ -157,6 +168,10 @@ showGUI: false, showCLI: false, showLibrary: false, + showBUS: false, + showREF: false, + showStruct: false, + showXCP: false, search: "", tools: [] } @@ -227,6 +242,11 @@ if (self.showCLI && !listContains(tool.interfaces, 'CLI')) return false; if (self.showLibrary && !listContains(tool.interfaces, 'library')) return false; + if (self.showBUS && !listContains(tool.layeredStandards, 'BUS')) return false; + if (self.showREF && !listContains(tool.layeredStandards, 'REF')) return false; + if (self.showStruct && !listContains(tool.layeredStandards, 'Struct')) return false; + if (self.showXCP && !listContains(tool.layeredStandards, 'XCP')) return false; + return containsLowerCase(tool.name, this.search) || containsLowerCase(tool.vendor, this.search) || containsLowerCase(tool.description, this.search); }) } diff --git a/static/assets/tools.json b/static/assets/tools.json index 141c77fb..d8e346f9 100644 --- a/static/assets/tools.json +++ b/static/assets/tools.json @@ -384,6 +384,9 @@ "fmuImport": [ "CS", "ME" + ], + "layeredStandards": [ + "BUS" ] }, { @@ -754,6 +757,9 @@ "interfaces": [ "GUI", "CLI" + ], + "layeredStandards": [ + "BUS" ] }, { @@ -779,6 +785,9 @@ "interfaces": [ "GUI", "CLI" + ], + "layeredStandards": [ + "XCP" ] }, { @@ -1314,6 +1323,9 @@ "fmuExport": [], "fmuImport": [ "CS" + ], + "layeredStandards": [ + "XCP" ] }, { @@ -1429,7 +1441,11 @@ "fmuExport": [ "CS" ], - "fmuImport": [] + "fmuImport": [], + "layeredStandards": [ + "BUS", + "XCP" + ] }, { "name": "TargetLink", @@ -1479,6 +1495,10 @@ "fmuExport": [], "fmuImport": [ "CS" + ], + "layeredStandards": [ + "BUS", + "XCP" ] }, { @@ -2004,6 +2024,9 @@ "CS", "ME", "SE" + ], + "layeredStandards": [ + "XCP" ] }, { @@ -2735,7 +2758,7 @@ }, { "name": "mcp-fmi", - "license": "MIT", + "license": "osi", "url": "https://github.com/Novia-RDI-Seafaring/mcp-fmi", "logo": "mcp_fmi_logo.png", "vendor": "Novia University of Applied Sciences", @@ -3205,6 +3228,9 @@ "fmuExport": [], "fmuImport": [ "CS" + ], + "layeredStandards": [ + "XCP" ] }, { @@ -3227,6 +3253,9 @@ "fmuExport": [], "fmuImport": [ "CS" + ], + "layeredStandards": [ + "XCP" ] }, { @@ -3524,6 +3553,10 @@ "fmuImport": [ "CS", "ME" + ], + "layeredStandards": [ + "BUS", + "XCP" ] }, { @@ -5040,6 +5073,9 @@ ], "fmuImport": [ "CS" + ], + "layeredStandards": [ + "BUS" ] }, { @@ -5630,7 +5666,7 @@ }, { "name": "MLFMU", - "license": "BSD-3", + "license": "osi", "url": "https://pypi.org/project/mlfmu/", "logo": "mlfmu_logo_v1.svg", "vendor": "DNV", @@ -5905,7 +5941,10 @@ "fmuExport": [ "CS" ], - "fmuImport": [] + "fmuImport": [], + "layeredStandards": [ + "BUS" + ] }, { "name": "iSuite 25", @@ -5934,7 +5973,7 @@ }, { "name": "fmu-forge", - "license": "BSD-3-Clause", + "license": "osi", "url": "https://github.com/projectchrono/fmu-forge", "logo": "fmu-forge.png", "vendor": "Project Chrono", @@ -5950,7 +5989,7 @@ }, { "name": "chrono", - "license": "BSD-3-Clause", + "license": "osi", "url": "https://github.com/projectchrono/chrono", "logo": "Chrono.png", "vendor": "Project Chrono",