diff --git a/.eleventy.js b/.eleventy.js
index f7c15d28..bec702f4 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,3 +1,5 @@
+import yaml from 'js-yaml';
+
// development host for playground proxy
const PLAYGROUND_PROXY_HOST = 'http://localhost:8788';
@@ -13,6 +15,8 @@ const drafts = [
];
export default async function(eleventyConfig) {
+ eleventyConfig.addDataExtension('yaml', (contents) => yaml.load(contents));
+
eleventyConfig.addPassthroughCopy('.htaccess');
eleventyConfig.addPassthroughCopy('LICENSE.md');
eleventyConfig.addPassthroughCopy('_headers');
diff --git a/_includes/implementation-item.liquid b/_includes/implementation-item.liquid
new file mode 100644
index 00000000..576aaf65
--- /dev/null
+++ b/_includes/implementation-item.liquid
@@ -0,0 +1,12 @@
+
+
+ {{ implementation.name }}
+
+ {%- if implementation.jsonldVersion == 1.0 -%}
+ 1.0
+ {%- else -%}
+ {{ implementation.jsonldVersion }}{% if implementation.state == 'InProgress' %} (WIP){% endif %}
+ {%- endif -%}
+
+
+
diff --git a/index.html b/index.html
index 8a449803..7a3c2cc3 100644
--- a/index.html
+++ b/index.html
@@ -86,30 +86,12 @@ D
@@ -118,27 +100,12 @@ D
- -
-
- PyLD
- 1.1
-
-
-
- -
-
- RDFLib
- 1.0
-
-
-
- -
-
- TRLD
- 1.1 (WIP)
-
-
-
+ {% assign imps = implementations | where: 'language', 'Python' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -147,13 +114,12 @@ D
- -
-
- JSON-LD for RDF.rb
- 1.1
-
-
-
+ {% assign imps = implementations | where: 'language', 'Ruby' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -162,13 +128,12 @@ D
- -
-
- JSON-goLD
- 1.1
-
-
-
+ {% assign imps = implementations | where: 'language', 'Go' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -179,20 +144,12 @@ D
- -
-
- Titanium
- 1.1
-
-
-
- -
-
- JSONLD-JAVA
- 1.0
-
-
-
+ {% assign imps = implementations | where: 'language', 'Java' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -201,20 +158,12 @@ D
- -
-
- dotNetRDF
- 1.1
-
-
-
- -
-
- json-ld.net
- 1.0
-
-
-
+ {% assign imps = implementations | where: 'language', 'C#' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -223,20 +172,10 @@ D
@@ -245,14 +184,12 @@ D
- -
-
- JSON-LD.ex
- 1.1
-
-
-
-
+ {% assign imps = implementations | where_exp: 'imp', "imp.language contains 'Erlang' or imp.language contains 'Elixir'" %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -263,20 +200,12 @@ D
- -
-
- php-json-ld
- 1.0
-
-
-
- -
-
- JsonLD
- 1.0
-
-
-
+ {% assign imps = implementations | where: 'language', 'PHP' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -286,20 +215,12 @@ D
- -
-
- json-ld
- 1.1 (WIP)
-
-
-
- -
-
- sophia
- 1.1
-
-
-
+ {% assign imps = implementations | where: 'language', 'Rust' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
@@ -308,13 +229,12 @@ D
- -
-
- jsonld-lint
- 1.1 (WIP)
-
-
-
+ {% assign imps = implementations | where: 'language', 'Typescript' %}
+ {% for implementation in imps %}
+ {% unless implementation.applicationCategory == 'CLI' %}
+ {% include 'implementation-item' %}
+ {% endunless %}
+ {% endfor %}
diff --git a/index.yaml b/index.yaml
new file mode 100644
index 00000000..78bf1044
--- /dev/null
+++ b/index.yaml
@@ -0,0 +1,110 @@
+"@context":
+ implementations: "@graph"
+ applicationCategory: https://schema.org/applicationCategory
+ language: https://schema.org/programmingLanguage
+ jsonldVersion: https://json-ld.org/#jsonldVersion
+ name: https://schema.org/name
+ repo: https://schema.org/codeRepository
+ state: https://schema.org/creativeWorkStatus
+implementations:
+ # JavaScript
+ - repo: https://github.com/digitalbazaar/jsonld.js
+ name: json-ld.js
+ jsonldVersion: 1.1
+ language: JavaScript
+ - repo: https://github.com/rubensworks/jsonld-streaming-parser.js
+ name: jsonld-streaming-parser.js
+ jsonldVersion: 1.1
+ language: JavaScript
+ - repo: https://github.com/rubensworks/jsonld-streaming-serializer.js
+ name: jsonld-streaming-serializer.js
+ jsonldVersion: 1.1
+ language: JavaScript
+ - repo: https://github.com/rubensworks/rdf-parse.js
+ name: rdf-parse.js
+ jsonldVersion: 1.1
+ language: JavaScript
+ # Pyton
+ - repo: https://github.com/digitalbazaar/pyld
+ name: PyLD
+ jsonldVersion: 1.1
+ language: Python
+ - repo: https://github.com/RDFLib/rdflib
+ name: RDFLib
+ jsonldVersion: 1.0
+ language: Python
+ - repo: https://github.com/niklasl/trld
+ name: TRLD
+ jsonldVersion: 1.1
+ language: Python
+ # Ruby
+ - repo: https://github.com/ruby-rdf/json-ld/
+ name: JSON-LD for RDF.rb
+ jsonldVersion: 1.1
+ language: Ruby
+ # Go
+ - repo: https://github.com/piprate/json-gold
+ name: JSON-goLD
+ jsonldVersion: 1.1
+ language: Go
+ # Java
+ - repo: https://github.com/filip26/titanium-json-ld
+ name: Titanium
+ jsonldVersion: 1.1
+ language: Java
+ - repo: https://github.com/jsonld-java/jsonld-java
+ name: JSONLD-JAVA
+ jsonldVersion: 1.0
+ language: Java
+ # C#
+ - repo: https://github.com/dotnetrdf/dotnetrdf
+ name: dotNetRDF
+ jsonldVersion: 1.1
+ language: C#
+ - repo: https://github.com/linked-data-dotnet/json-ld.net
+ name: json-ld.net
+ jsonldVersion: 1.0
+ language: C#
+ # Command Line
+ - repo: https://github.com/digitalbazaar/jsonld-cli
+ name: jsonld-cli
+ jsonldVersion: 1.1
+ language: JavaScript
+ applicationCategory: CLI
+ - repo: https://github.com/filip26/ld-cli
+ name: ld-cli (Ubuntu, MacOS, Windows)
+ jsonldVersion: 1.1
+ language: Java
+ applicationCategory: CLI
+ # Erlang / Elixir
+ - repo: https://github.com/rdf-elixir/jsonld-ex
+ name: JSON-LD.ex
+ jsonldVersion: 1.1
+ language:
+ - Erlang
+ - Elixir
+ # PHP
+ - repo: https://github.com/digitalbazaar/php-json-ld
+ name: php-json-ld
+ jsonldVersion: 1.0
+ language: PHP
+ - repo: http://m.lanthi.com/json-ld
+ name: JsonLD
+ jsonldVersion: 1.0
+ language: PHP
+ # Rust
+ - repo: https://github.com/timothee-haudebourg/json-ld
+ name: json-ld
+ jsonldVersion: 1.1
+ state: InProgress
+ language: Rust
+ - repo: https://crates.io/crates/sophia
+ name: sophia
+ jsonldVersion: 1.1
+ language: Rust
+ # Typescript
+ - repo: https://github.com/mattrglobal/jsonld-lint
+ name: jsonld-lint
+ jsonldVersion: 1.1
+ state: InProgress
+ language: Typescript
diff --git a/package.json b/package.json
index a1e31927..48f8ef66 100644
--- a/package.json
+++ b/package.json
@@ -13,5 +13,8 @@
"devDependencies": {
"@11ty/eleventy": "^3.0.0",
"wrangler": "^4.6.0"
+ },
+ "dependencies": {
+ "js-yaml": "^4.1.0"
}
}