Compare commits

..

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
15 changed files with 151 additions and 49 deletions

View File

@ -1,6 +1,6 @@
# YunoHost application catalog
<img alt="YunoHost logo" src="https://avatars.githubusercontent.com/u/1519495?s=200&v=4" width=80><img alt="Package logo" src="https://yunohost.org/user/images/yunohost_package.png" width=80>
<img src="https://avatars.githubusercontent.com/u/1519495?s=200&v=4" width=80><img src="https://yunohost.org/user/images/yunohost_package.png" width=80>
This repository contains the default YunoHost app catalog, as well as related
tools that can be run manually or automatically.
@ -16,7 +16,7 @@ them such as their category or maintenance state. This file is regularly read by
- You can browse [the contributor documentation](https://yunohost.org/contributordoc)
- If you are not familiar with Git/GitHub, you can have a look at our [homemade guide](https://yunohost.org/packaging_apps_git)
- Don't hesitate to reach for help on the dedicated [application packaging chatroom](https://yunohost.org/chat_rooms)... we can even schedule an audio meeting to help you get started!
- Don't hesitate to reach for help on the dedicated [application packaging chatroom](https://yunohost.org/chat_rooms) ... we can even schedule an audio meeting to help you get started!
## How to add your app to the application catalog
@ -46,9 +46,9 @@ App example addition:
```toml
[your_app]
antifeatures = [ "deprecated-software" ] # Replace with the appropriate category id found in antifeatures.toml, remove if no relevant antifeature applies
antifeatures = [ "deprecated-software" ] # Remove if no relevant antifeature applies
potential_alternative_to = [ "YouTube" ] # Indicate if your app can be thought of as an alternative to popular proprietary services (or remove if none applies)
category = "foobar" # Replace with the appropriate category id found in categories.toml, don't invent a category
category = "foobar" # Replace with the appropriate category id found in categories.toml
state = "working"
url = "https://github.com/YunoHost-Apps/your_app_ynh"
```

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"

View File

@ -1,3 +1,5 @@
#:schema https://github.com/YunoHost/apps/raw/master/schemas/apps.toml.schema.json
[13ft]
category = "reading"
level = 7
@ -502,13 +504,6 @@ state = "working"
subtags = [ "wiki" ]
url = "https://github.com/YunoHost-Apps/cowyo_ynh"
[crabfit]
category = "productivity_and_management"
potential_alternative_to = [ "Doodle", "OpenSondage" ]
state = "working"
subtags = [ "poll" ]
url = "https://github.com/YunoHost-Apps/crabfit_ynh"
[cryptpad]
category = "office"
level = 8

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" ]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

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

@ -8,21 +8,19 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-03-09 17:32+0000\n"
"Last-Translator: cri <cri@cri.cl>\n"
"Language-Team: Spanish <https://translate.yunohost.org/projects/yunohost/"
"apps/es/>\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: es <LL@li.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.14.0\n"
#: app.py:150
msgid "App %(app_id) not found"
msgstr "App %(app_id) no encontrada"
msgstr ""
#: app.py:152
msgid "You must be logged in to be able to star an app"

View File

@ -8,16 +8,15 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-03-09 04:14+0000\n"
"PO-Revision-Date: 2024-02-27 19:19+0000\n"
"Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n"
"Language-Team: French <https://translate.yunohost.org/projects/yunohost/apps/"
"fr/>\n"
"Language: fr\n"
"Language-Team: French "
"<https://translate.yunohost.org/projects/yunohost/apps/fr/>\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.3.1\n"
"Generated-By: Babel 2.14.0\n"
#: app.py:150
@ -255,7 +254,7 @@ msgstr "Documentation officielle pour les admins"
#: templates/app.html:142
msgid "Official user documentation"
msgstr "Documentation officielle d'utilisation"
msgstr "Documentation officielle pour les utilisateur·ice·s"
#: templates/app.html:143
msgid "Official code repository"
@ -395,8 +394,8 @@ msgid ""
"advise against their installation and advise users to find alternatives."
msgstr ""
"Cela signifie que le développeur ne les mettra plus à jour. Nous "
"décourageons fortement leur installation et vous conseillons de vous tourner "
"vers des alternatives."
"décourageons fortement leur installation et conseillons aux utilisateurs "
"de se tourner vers des alternatives."
#: templates/index.html:10
msgid "Application Store"
@ -461,8 +460,8 @@ msgstr "Vous devez être connecté·e pour proposer une app pour la liste de sou
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"En raison d'abus, la proposition d'app est limitée à une tous les 15 jours "
"par personne."
"En raison d'abus, la proposition d'app est limitée à une tous les 15 "
"jours par utilisateur·ice."
#: templates/wishlist_add.html:43
msgid ""
@ -528,3 +527,4 @@ msgstr "Envoyer"
#~ msgid "Please check the license of the app your are proposing"
#~ msgstr "Merci de vérifier la licence de l'app que vous proposez"

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."