{"id":15102756,"url":"https://github.com/dilla-io/schemas","last_synced_at":"2026-01-07T03:08:52.228Z","repository":{"id":227061081,"uuid":"761984026","full_name":"dilla-io/schemas","owner":"dilla-io","description":"JSON schemas for definitions, renderables and templates. With related validators.","archived":false,"fork":false,"pushed_at":"2024-05-30T09:50:36.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T16:50:44.453Z","etag":null,"topics":["json","json-schema","json-schema-validator"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dilla-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-22T21:23:20.000Z","updated_at":"2024-05-30T09:50:40.000Z","dependencies_parsed_at":"2024-09-20T08:00:36.831Z","dependency_job_id":null,"html_url":"https://github.com/dilla-io/schemas","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.5,"last_synced_commit":"54a70018fe9ca7db8ce0c61a0edbf7f5496096e6"},"previous_names":["dilla-io/schemas"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dilla-io/schemas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dilla-io%2Fschemas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dilla-io%2Fschemas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dilla-io%2Fschemas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dilla-io%2Fschemas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dilla-io","download_url":"https://codeload.github.com/dilla-io/schemas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dilla-io%2Fschemas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28231787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-07T02:00:05.975Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","json-schema","json-schema-validator"],"created_at":"2024-09-25T19:06:07.147Z","updated_at":"2026-01-07T03:08:52.200Z","avatar_url":"https://github.com/dilla-io.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dilla Schemas\n\nShare your design systems in a tiny universal package. [https://dilla.io](https://dilla.io)\n\n## definitions.schema.json\n\n### A Web design system description format\n\nEach design system is fully and statically described with structured data, easily writable in JSON or YAML. Each design system can contains UI components, but also styles utilities, themes, CSS variables and examples.\n\nThose descriptions are used by the rendering service, and exposed by the Definition API.\n\nExample:\n\n```yaml\nid: card\nlabel: Card\ngroup: Content\nslots:\n  body:\n    label: Card body\n```\n\n## renderable.schema.json\n\n### A renderable payload format\n\nAn universal render API for the Web, based on fully described design systems. Both serializable in JSON and usable using the host languages primitive data types.\n\nWe kept it compact (around 12 keywords) and high-level (the keywords are mostly UI concepts, related to the description format: components, styles, theme...).\n\nExample:\n\n```json\n{\n  \"@component\": \"card\",\n  \"@variant\": \"horizontal\",\n  \"header\": \"Card title\",\n  \"content\": {\n    \"@element\": \"p\",\n    \"@content\": \"Welcome!\"\n  }\n}\n```\n\n## template.schema.json\n\n### A templating language for components\n\nNothing fancy. We took Jinja, the industry standard, and did some light changes: removal of harmful filters and functions, identifications of slots filters and props filters, and a few additions.\n\nVery easy to learn. Such a limited and focused language was chosen because powerful languages inhibit information reuse.\n\n```jinja\n\u003cdiv {{ attributes|add_class(\"slider\") }}\u003e\n{% for slide in slides %}\n    \u003cdiv class=\"slider__slide\"\u003e\n    {{ slide }}\n    \u003c/div\u003e\n{% endfor %}\n\u003c/div\u003e\n```\n\n## validator.py\n\nJust a simple tool, used by the Dilla team, no warranties are given.\n\n### Setup\n\nBuild with docker:\n\n```shell\nmake build\n```\n\n### Usage\n\n```shell\ndocker login registry.gitlab.com\ndocker pull registry.gitlab.com/dilla-io/schemas:latest\n```\n\nValidate a payload (from STDIN):\n\n```shell\necho '{\"@element\":\"p\",\"@content\":\"foo\"}' | docker run -i registry.gitlab.com/dilla-io/schemas renderable\n```\n\nValidate definitions or templates in a design system:\n\n```shell\ndocker run -v $YOUR_PATH:/data -t registry.gitlab.com/dilla-io/schemas definitions\ndocker run -v $YOUR_PATH:/data -t registry.gitlab.com/dilla-io/schemas templates\n```\n\nValidate all definitions and templates in a design system:\n\n```shell\ndocker run -v $YOUR_PATH:/data -t registry.gitlab.com/dilla-io/schemas run\n```\n\nThe validator will look for every design systems inside the mounted volume.\n\n### Usage local\n\nExample with a DS from [https://gitlab.com/dilla-io/ds](https://gitlab.com/dilla-io/ds)\n\n```shell\nmake build\n```\n\n```shell\nexport DILLA_DS=bootstrap_4\ncurl -sL https://gitlab.com/dilla-io/ds/$DILLA_DS/-/archive/master/$DILLA_DS-master.tar.gz | tar -xz\ndocker run -t -v $(pwd)/$DILLA_DS-master:/data/ validator run\n```\n\n## Schemas packaging\n\nThe CI create a generic package of \\*.schema.json to be served.\n\nTo download the package:\n\n```shell\nhttps://gitlab.com/api/v4/projects/46710238/packages/generic/schemas/1.0/schemas.1.0.tar.gz?private_token=_GITLAB_TOKEN_\n```\n\n```shell\ncurl --header \"PRIVATE-TOKEN: _GITLAB_TOKEN_\" \\\n  \"https://gitlab.com/api/v4/projects/46710238/packages/generic/schemas/1.0/schemas.1.0.tar.gz\" \\\n  --output \"schemas.1.0.tar.gz\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdilla-io%2Fschemas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdilla-io%2Fschemas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdilla-io%2Fschemas/lists"}