-
Notifications
You must be signed in to change notification settings - Fork 188
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
## Changes - Ticket: [sc-73085-add-support-for-discussionforumurl-in-demo](https://app.shortcut.com/xanaduai/story/73085/add-support-for-discussionforumurl-in-demo-metadata-files) - Added support for `discussionForumUrl` field in `metadata.json` files for demos - This can be used to link a specific discussion forum thread to a demo - Bumped schema version to `0.1.2` ## Testing - `"discussionForumUrl": "https://discuss.pennylane.ai/c/pennylane-help/5"` - Passes ✅ - [Action Run](https://github.com/PennyLaneAI/qml/actions/runs/10943682894/job/30383786592) - `"discussionForumUrl": "https://pennylane.ai/c/pennylane-help/5"` - Fails ❌ - [Action Run](https://github.com/PennyLaneAI/qml/actions/runs/10943718222/job/30383899155) --------- Co-authored-by: Paul Finlay <[email protected]>
- Loading branch information
1 parent
c74fab7
commit 9b43399
Showing
2 changed files
with
136 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
{ | ||
"$schema": "https://json-schema.org/draft/2020-12/schema", | ||
"$id": "demo.metadata.schema.0.1.2.json", | ||
"title": "Demo Metadata", | ||
"description": "A QML demo's metadata", | ||
"type": "object", | ||
"properties": { | ||
"title": { | ||
"description": "The title of the demo.", | ||
"type": "string", | ||
"minLength": 2 | ||
}, | ||
"authors": { | ||
"description": "The author(s) of the demo. This array must contain at least one item.", | ||
"type": "array", | ||
"items": { | ||
"oneOf": [ | ||
{ | ||
"$ref": "file:./objects/author.schema.0.1.0.json" | ||
}, | ||
{ | ||
"$ref": "file:./objects/author.schema.0.2.0.json" | ||
} | ||
] | ||
}, | ||
"minItems": 1 | ||
}, | ||
"dateOfPublication": { | ||
"description": "The date on which the demo was first published, in the form YYYY-MM-DDTHH:MM:SS+00:00.", | ||
"type": "string", | ||
"format": "date-time", | ||
"minLength": 25, | ||
"maxLength": 25 | ||
}, | ||
"dateOfLastModification": { | ||
"description": "The date on which the demo was last modified, in the form YYYY-MM-DDTHH:MM:SS+00:00.", | ||
"type": "string", | ||
"format": "date-time", | ||
"minLength": 25, | ||
"maxLength": 25 | ||
}, | ||
"categories": { | ||
"description": "An array of the categories that this demo is in.", | ||
"type": "array", | ||
"items": { | ||
"enum": [ | ||
"Algorithms", | ||
"Getting Started", | ||
"Optimization", | ||
"Quantum Machine Learning", | ||
"Quantum Chemistry", | ||
"Devices and Performance", | ||
"Quantum Computing", | ||
"Quantum Hardware", | ||
"How-to" | ||
] | ||
}, | ||
"minItems": 0 | ||
}, | ||
"tags": { | ||
"description": "An array of the tags that the demo has. An empty array is allowed.", | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"previewImages": { | ||
"description": "An array of the different images that can be used as previews for this demo - e.g., thumbnails, social media cards (perhaps of different aspect ratios).", | ||
"type": "array", | ||
"items": { | ||
"$ref": "file:./objects/preview.image.schema.0.1.0.json" | ||
}, | ||
"minItems": 1 | ||
}, | ||
"seoDescription": { | ||
"description": "A description of the demo suitable for SEO purposes. Ideally this should be less than 150 characters, but this is not a strict limit. It should be a full, grammatically-correct sentence ending in a full stop.", | ||
"type": "string", | ||
"minLength": 2 | ||
}, | ||
"doi": { | ||
"description": "The DOI for the demo.", | ||
"type": "string", | ||
"pattern": "^$|^10[.]" | ||
}, | ||
"canonicalURL": { | ||
"description": "The canonical URL for the demo. Sometimes there might be more than one URL that points to a given page on a website. The canonical URL defines which of these should be thought of as the primary or main one.", | ||
"type": "string", | ||
"pattern": "(^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6})?\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" | ||
}, | ||
"references": { | ||
"description": "An array of the references used for the demo.", | ||
"type": "array", | ||
"items": { | ||
"$ref": "file:./objects/reference.schema.0.1.0.json" | ||
} | ||
}, | ||
"basedOnPapers": { | ||
"description": "An array of the DOIs for the papers the demo is based on. An empty array is allowed.", | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"referencedByPapers": { | ||
"description": "An array of the DOIs of any papers that reference the demo. An empty array is allowed.", | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"relatedContent": { | ||
"description": "An array of objects describing the content related to the demo. An empty array is allowed.", | ||
"type": "array", | ||
"items": { | ||
"$ref": "file:./objects/related.content.schema.0.1.0.json" | ||
} | ||
}, | ||
"hardware": { | ||
"description": "An array of objects representing third-party vendors who can run the demo on their hardware. An empty array is allowed.", | ||
"type": "array", | ||
"items": { | ||
"$ref": "file:./objects/hardware.schema.0.1.0.json" | ||
} | ||
}, | ||
"discussionForumUrl": { | ||
"description": "Link to dedicated discussion forum thread on https://discuss.pennylane.ai/ for this demo", | ||
"type": "string", | ||
"format": "uri", | ||
"pattern": "(^https?:\/\/(www.)?discuss.pennylane.ai(?:\/.*)?$)" | ||
} | ||
}, | ||
"required": [ | ||
"title", "authors", "dateOfPublication", "dateOfLastModification", "categories", "tags", "previewImages", "seoDescription", "doi", "canonicalURL", "references", "basedOnPapers", "referencedByPapers", "relatedContent" | ||
] | ||
} |