12 Commits

Author SHA1 Message Date
OniriCorpe
1b9a98ba3d Merge branch 'add-schema-link-toml' of https://github.com/YunoHost/apps into add-schema-link-toml 2024-03-08 00:03:31 +01:00
OniriCorpe
589b4b5adf add the schema link in toml files
create & add a schema to graveyard.tom

tag kavita with "paid-content"

aaaaa the autoformater

tag kavita with "paid-content"

aaaaa the autoformater

add the schema link in toml files

create & add a schema to antifeatures.toml

add 'draft' property to the wishlist schema
2024-03-08 00:03:17 +01:00
OniriCorpe
674b3028f1 add 'draft' property to the wishlist schema 2024-03-07 23:39:49 +01:00
OniriCorpe
4f7452ff89 create & add a schema to antifeatures.toml 2024-03-07 23:39:49 +01:00
OniriCorpe
827f62a230 create & add a schema to graveyard.tom 2024-03-07 23:39:49 +01:00
OniriCorpe
8ee7e265d6 aaaaa the autoformater 2024-03-07 23:39:49 +01:00
OniriCorpe
71c4a44296 tag kavita with "paid-content" 2024-03-07 23:39:49 +01:00
OniriCorpe
003edc6966 add the schema link in toml files 2024-03-07 23:39:49 +01:00
OniriCorpe
41baf91965 aaaaa the autoformater 2024-03-07 23:39:49 +01:00
OniriCorpe
cfd19f5592 tag kavita with "paid-content" 2024-03-07 23:39:49 +01:00
OniriCorpe
cd93e552ee aaaaa the autoformater 2024-03-07 23:00:24 +01:00
OniriCorpe
676af5ec58 tag kavita with "paid-content" 2024-03-07 22:57:02 +01:00
9 changed files with 135 additions and 24 deletions

View File

@@ -1,3 +1,5 @@
#:schema https://github.com/YunoHost/apps/blob/master/schemas/antifeatures.toml.schema.json
[tracking]
icon = "user-secret"
title.en = "Tracking"
@@ -79,11 +81,11 @@ description.it = "Questo software non è più mantenuto. Ci si può aspettare ch
icon = "user-times"
title.en = "Package not maintained"
title.eu = "Mantendu gabeko paketea"
title.fr = "Package non maintenu"
title.fr = "Paquet non maintenu"
title.it = "Pacchetto non mantenuto"
description.en = "This YunoHost package is not actively maintained and needs adoption. This means that minimal maintenance is made by volunteers who don't use the app, so you should expect the app to lose reliability over time. You can [learn how to package](https://yunohost.org/packaging_apps_intro) if you'd like to adopt it."
description.en = "This YunoHost package is not maintained and needs adoption."
description.eu = "Pakete honek ez du mantenduko duenik, boluntario baten beharra dauka."
description.fr = "Ce package YunoHost n'est pas activement maintenu et a besoin d'être adopté. Cela veut dire que la maintenance minimale est réalisée par des bénévoles qui n'utilisent pas l'application, il faut donc s'attendre à ce que l'app perde en fiabilité avec le temps. Vous pouvez [apprendre comment packager](https://yunohost.org/packaging_apps_intro) si vous voulez l'adopter."
description.fr = "Ce package YunoHost n'est plus maintenu et doit être adopté."
description.it = "Questo pacchetto di YunoHost non è più mantenuto e necessita di essere adottato."
[paid-content]

View File

@@ -1,3 +1,5 @@
#:schema https://github.com/YunoHost/apps/raw/master/schemas/apps.toml.schema.json
[13ft]
category = "reading"
level = 7

View File

@@ -1,3 +1,5 @@
#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/categories.toml.schema.json
[synchronization]
icon = "cloud"
title.en = "Synchronization"

View File

@@ -1,3 +1,5 @@
#:schema https://github.com/YunoHost/apps/raw/master/schemas/graveyard.toml.schema.json
[anfora]
category = "social_media"
subtags = [ "pictures" ]

View File

@@ -0,0 +1,63 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://github.com/YunoHost/apps/blob/master/schemas/antifeatures.toml.schema.json",
"title": "Yunohost's antifeatures.toml schema",
"version": "0",
"$defs": {
"translated_string": {
"type": "object",
"required": [
"en"
],
"additionalProperties": false,
"patternProperties": {
"^[a-z]{2}$": {
"type": "string"
}
}
}
},
"type": "object",
"required": [],
"additionalProperties": false,
"patternProperties": {
"^[a-z0-9_-]*$": {
"type": "object",
"required": [
"icon",
"title",
"description"
],
"additionalProperties": false,
"properties": {
"icon": {
"type": "string"
},
"title": {
"$ref": "#/$defs/translated_string"
},
"description": {
"$ref": "#/$defs/translated_string"
},
"subtags": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-z_]*$": {
"type": "object",
"required": [
"title"
],
"additionalProperties": false,
"properties": {
"title": {
"$ref": "#/$defs/translated_string"
}
}
}
}
}
}
}
}
}

View File

@@ -0,0 +1,48 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://github.com/YunoHost/apps/blob/master/schemas/graveyard.toml.schema.json",
"title": "Yunohost's graveyard.toml schema",
"version": "0",
"type": "object",
"required": [],
"additionalProperties": false,
"patternProperties": {
"^[a-z0-9_-]*$": {
"type": "object",
"required": [
"url"
],
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"subtags": {
"type": "array",
"items": {
"type": "string"
},
"additionalItems": false
},
"url": {
"type": "string",
"format": "url"
},
"antifeatures": {
"type": "array",
"items": {
"type": "string"
},
"additionalItems": false
},
"potential_alternative_to": {
"type": "array",
"items": {
"type": "string"
},
"additionalItems": false
}
}
}
}
}

View File

@@ -3,14 +3,16 @@
"$id": "https://github.com/YunoHost/apps/blob/master/schemas/wishlist.toml.schema.json",
"title": "Yunohost's wishlist.toml schema",
"version": "0",
"type": "object",
"required": [],
"additionalProperties": false,
"patternProperties": {
"^[a-z0-9_-]*$": {
"type": "object",
"required": ["name", "upstream"],
"required": [
"name",
"upstream"
],
"additionalProperties": false,
"properties": {
"name": {
@@ -26,9 +28,12 @@
"website": {
"type": "string",
"format": "url"
},
"draft": {
"type": "string",
"format": "url"
}
}
}
}
}
}

View File

@@ -6,7 +6,7 @@ import os
from pathlib import Path
from copy import deepcopy
from typing import Dict, Optional, List, Tuple
from typing import Dict, Optional, List
import toml
from jinja2 import Environment, FileSystemLoader
@@ -51,22 +51,7 @@ def generate_READMEs(app_path: Path):
env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates"))
# parse available README template and generate a list in the form of:
# > [("en", ""), ("fr", "_fr"), ...]
available_langs: List[Tuple[str, str]] = [("en", "")]
for README_template in (Path(__file__).parent / "templates").iterdir():
# we only want README_{lang}.md.j2 files
if README_template.name == "README.md.j2":
continue
if not README_template.name.endswith(".j2") or not README_template.name.startswith("README_"):
continue
language_code = README_template.name.split("_")[1].split(".")[0]
available_langs.append((language_code, "_" + language_code))
for lang, lang_suffix in available_langs:
for lang, lang_suffix in [("en", ""), ("fr", "_fr")]:
template = env.get_template(f"README{lang_suffix}.md.j2")
if (app_path / "doc" / f"DESCRIPTION{lang_suffix}.md").exists():

View File

@@ -1,3 +1,5 @@
#:schema https://github.com/YunoHost/apps/raw/master/schemas/wishlist.toml.schema.json
[access-to-memory-atom]
name = "Access to Memory (AtoM)"
description = "Standards-based archival description and access in a multilingual, multi-repository environment."