5 Commits

Author SHA1 Message Date
bf29c870b4 Flag a lot of apps as deprecated. Add an alternative in the wishlist. 2024-03-09 15:46:05 +01:00
48ca810d12 Merge pull request #2109 from YunoHost/OniriCorpe-patch-1
Readme: add alt text and edit 'antifeatures' and 'category' comments
2024-03-09 12:53:26 +01:00
31f92a1bd1 Readme: add alt text and edit 'antifeatures' and 'category' comments 2024-03-09 06:11:43 +01:00
68741582d0 Merge pull request #2105 from YunoHost/readme_generator_generic_lang_list
feat(readme_generator): don't hardcode the list of languages, extract it from the README templates
2024-03-08 21:08:48 +01:00
a14b644665 feat(readme_generator): don't hardcode the list of languages, extract it from the README templates 2024-03-08 04:16:36 +01:00
10 changed files with 74 additions and 142 deletions

View File

@ -1,6 +1,6 @@
# YunoHost application catalog
<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>
<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>
This repository contains the default YunoHost app catalog, as well as related
tools that can be run manually or automatically.
@ -46,9 +46,9 @@ App example addition:
```toml
[your_app]
antifeatures = [ "deprecated-software" ] # Remove if no relevant antifeature applies
antifeatures = [ "deprecated-software" ] # Replace with the appropriate category id found in antifeatures.toml, 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
category = "foobar" # Replace with the appropriate category id found in categories.toml, don't invent a category
state = "working"
url = "https://github.com/YunoHost-Apps/your_app_ynh"
```

View File

@ -1,5 +1,3 @@
#:schema https://github.com/YunoHost/apps/blob/master/schemas/antifeatures.toml.schema.json
[tracking]
icon = "user-secret"
title.en = "Tracking"

View File

@ -1,5 +1,3 @@
#:schema https://github.com/YunoHost/apps/raw/master/schemas/apps.toml.schema.json
[13ft]
category = "reading"
level = 7
@ -39,6 +37,7 @@ level = 6
state = "working"
subtags = [ "microblogging", "pictures" ]
url = "https://github.com/YunoHost-Apps/acropolis_ynh"
antifeatures = ["deprecated-software"]
[actual]
category = "productivity_and_management"
@ -61,6 +60,7 @@ level = 8
state = "working"
subtags = [ "db" ]
url = "https://github.com/YunoHost-Apps/adminer_ynh"
antifeatures = ["deprecated-software"]
[aeneria]
category = "iot"
@ -75,6 +75,7 @@ potential_alternative_to = [ "Google Agenda", "Microsoft Outlook" ]
state = "working"
subtags = [ "calendar" ]
url = "https://github.com/YunoHost-Apps/agendav_ynh"
antifeatures = ["deprecated-software"]
[agora]
category = "wat"
@ -187,6 +188,7 @@ category = "iot"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/beehive_ynh"
antifeatures = ["deprecated-software"]
[biboumi]
category = "communication"
@ -201,6 +203,7 @@ level = 7
state = "working"
subtags = [ "books" ]
url = "https://github.com/YunoHost-Apps/bicbucstriim_ynh"
antifeatures = ["deprecated-software"]
[blogotext]
category = "publishing"
@ -209,6 +212,7 @@ potential_alternative_to = [ "Blogger", "Coldfusion", "Wix" ]
state = "working"
subtags = [ "blog" ]
url = "https://github.com/YunoHost-Apps/blogotext_ynh"
antifeatures = ["deprecated-software"]
[bludit]
category = "publishing"
@ -333,6 +337,7 @@ category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/cheky_ynh"
antifeatures = ["deprecated-software"]
[chitchatter]
category = "communication"
@ -436,6 +441,7 @@ potential_alternative_to = [ "Disqus" ]
state = "working"
subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/commento_ynh"
antifeatures = ["deprecated-software"]
[compteur_du_gase]
category = "office"
@ -489,7 +495,7 @@ subtags = [ "db" ]
url = "https://github.com/YunoHost-Apps/couchdb_ynh"
[couchpotato]
antifeatures = [ "package-not-maintained" ]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
category = "multimedia"
level = 0
potential_alternative_to = [ "Netflix" ]
@ -659,6 +665,7 @@ level = 6
state = "working"
subtags = [ "pastebin" ]
url = "https://github.com/YunoHost-Apps/distbin_ynh"
antifeatures = ["deprecated-software"]
[django-fmd]
category = "iot"
@ -838,6 +845,7 @@ category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/encryptor-decryptor_ynh"
antifeatures = ["deprecated-software"]
[endi]
category = "productivity_and_management"
@ -867,6 +875,7 @@ potential_alternative_to = [ "Google Sheets", "G Suite", "Microsoft Excel", "Off
state = "working"
subtags = [ "spreadsheet" ]
url = "https://github.com/YunoHost-Apps/ethercalc_ynh"
antifeatures = ["deprecated-software"]
[etherpad]
category = "office"
@ -904,6 +913,7 @@ level = 8
state = "working"
subtags = [ "monitoring" ]
url = "https://github.com/YunoHost-Apps/facette_ynh"
antifeatures = ["deprecated-software"]
[facilmap]
category = "productivity_and_management"
@ -945,6 +955,7 @@ potential_alternative_to = [ "WeTransfer" ]
state = "working"
subtags = [ "files" ]
url = "https://github.com/YunoHost-Apps/filepizza_ynh"
antifeatures = ["deprecated-software"]
[firefish]
category = "social_media"
@ -1004,6 +1015,7 @@ potential_alternative_to = [ "Invision Community", "Vanilla", "vBulletin", "XenF
state = "working"
subtags = [ "forum" ]
url = "https://github.com/YunoHost-Apps/fluxbb_ynh"
antifeatures = ["deprecated-software"]
[focalboard]
category = "productivity_and_management"
@ -1125,6 +1137,7 @@ level = 8
state = "working"
subtags = [ "website", "blog" ]
url = "https://github.com/YunoHost-Apps/getsimple_ynh"
antifeatures = ["deprecated-software"]
[ghost]
antifeatures = [ "arbitrary-limitations" ]
@ -1356,6 +1369,7 @@ category = "system_tools"
level = 7
state = "working"
url = "https://github.com/Yunohost-Apps/httpsh_ynh"
antifeatures = ["deprecated-software"]
[hubzilla]
category = "social_media"
@ -1444,7 +1458,6 @@ subtags = [ "videos" ]
url = "https://github.com/YunoHost-Apps/invidious_ynh"
[invoiceninja]
antifeatures = [ "deprecated-software" ]
category = "productivity_and_management"
level = 7
state = "working"
@ -1477,7 +1490,7 @@ state = "working"
url = "https://github.com/YunoHost-Apps/jackett_ynh"
[jappix]
antifeatures = [ "package-not-maintained" ]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
category = "communication"
level = 7
state = "working"
@ -1648,7 +1661,7 @@ subtags = [ "text" ]
url = "https://github.com/YunoHost-Apps/languagetool_ynh"
[laverna]
antifeatures = [ "package-not-maintained" ]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
category = "office"
level = 7
state = "working"
@ -1729,6 +1742,7 @@ level = 7
state = "working"
subtags = [ "wiki" ]
url = "https://github.com/YunoHost-Apps/libreto_ynh"
antifeatures = ["deprecated-software"]
[libretranslate]
category = "small_utilities"
@ -1776,6 +1790,7 @@ level = 6
state = "working"
subtags = [ "monitoring" ]
url = "https://github.com/YunoHost-Apps/linuxdash_ynh"
antifeatures = ["deprecated-software"]
[lionwiki-t2t]
category = "publishing"
@ -1814,6 +1829,7 @@ potential_alternative_to = [ "Google Docs", "Microsoft Excel" ]
state = "working"
subtags = [ "spreadsheet" ]
url = "https://github.com/YunoHost-Apps/luckysheet_ynh"
antifeatures = ["deprecated-software"]
[lufi]
category = "synchronization"
@ -1988,6 +2004,7 @@ level = 8
state = "working"
subtags = [ "chat" ]
url = "https://github.com/YunoHost-Apps/minchat_ynh"
antifeatures = ["deprecated-software"]
[mindmaps]
category = "office"
@ -1995,6 +2012,7 @@ level = 8
state = "working"
subtags = [ "mindmap" ]
url = "https://github.com/YunoHost-Apps/mindmaps_ynh"
antifeatures = ["deprecated-software"]
[minetest]
category = "games"
@ -2008,6 +2026,7 @@ category = "publishing"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/mineweb_ynh"
antifeatures = ["deprecated-software"]
[minidlna]
category = "multimedia"
@ -2120,6 +2139,7 @@ level = 8
state = "working"
subtags = [ "meeting" ]
url = "https://github.com/YunoHost-Apps/mumble-web_ynh"
antifeatures = ["deprecated-software"]
[mumbleserver]
category = "communication"
@ -2355,6 +2375,7 @@ category = "wat"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/osjs_ynh"
antifeatures = ["deprecated-software"]
[osticket]
category = "productivity_and_management"
@ -2592,6 +2613,7 @@ level = 8
state = "working"
subtags = [ "website", "blog" ]
url = "https://github.com/YunoHost-Apps/pico_ynh"
antifeatures = ["deprecated-software"]
[pihole]
category = "system_tools"
@ -2691,6 +2713,7 @@ potential_alternative_to = [ "Wix" ]
state = "working"
subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/prettynoemiecms_ynh"
antifeatures = ["deprecated-software"]
[privatebin]
category = "small_utilities"
@ -2972,6 +2995,7 @@ category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/scrumblr_ynh"
antifeatures = ["deprecated-software"]
[scrutiny]
category = "system_tools"
@ -3037,6 +3061,7 @@ category = "system_tools"
level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/shellinabox_ynh"
antifeatures = ["deprecated-software"]
[shiori]
category = "small_utilities"
@ -3059,6 +3084,7 @@ potential_alternative_to = [ "bitly" ]
state = "working"
subtags = [ "url_shortener" ]
url = "https://github.com/YunoHost-Apps/shuri_ynh"
antifeatures = ["deprecated-software"]
[signaturepdf]
category = "small_utilities"
@ -3071,12 +3097,14 @@ category = "small_utilities"
level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/simple-file-manager_ynh"
antifeatures = ["deprecated-software"]
[simple-hash-generator]
category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/simple-hash-generator_ynh"
antifeatures = ["deprecated-software"]
[simple-torrent]
antifeatures = [ "deprecated-software" ]
@ -3094,7 +3122,7 @@ subtags = [ "chat" ]
url = "https://github.com/YunoHost-Apps/simplex_ynh"
[simplytranslate]
antifeatures = [ "non-free-network" ]
antifeatures = [ "non-free-network", "deprecated-software" ]
category = "small_utilities"
level = 7
state = "working"
@ -3106,6 +3134,7 @@ level = 8
state = "working"
subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/sitemagiccms_ynh"
antifeatures = ["deprecated-software"]
[slingcode]
category = "dev"
@ -3113,6 +3142,7 @@ level = 8
state = "working"
subtags = [ "programming" ]
url = "https://github.com/YunoHost-Apps/slingcode_ynh"
antifeatures = ["deprecated-software"]
[snappymail]
category = "communication"
@ -3201,6 +3231,7 @@ category = "system_tools"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/ssh_chroot_dir_ynh"
antifeatures = ["deprecated-software"]
[statpingng]
category = "system_tools"
@ -3230,6 +3261,7 @@ potential_alternative_to = [ "Google Slides", "Office 365", "Prezi", "SoZi" ]
state = "working"
subtags = [ "impress" ]
url = "https://github.com/YunoHost-Apps/strut_ynh"
antifeatures = ["deprecated-software"]
[superset]
category = "wat"
@ -3286,7 +3318,7 @@ state = "working"
url = "https://github.com/YunoHost-Apps/tandoor_ynh"
[taskboard]
antifeatures = [ "package-not-maintained" ]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
category = "productivity_and_management"
level = 7
potential_alternative_to = [ "Trello" ]
@ -3472,6 +3504,7 @@ level = 8
state = "working"
subtags = [ "task" ]
url = "https://github.com/YunoHost-Apps/tyto_ynh"
antifeatures = ["deprecated-software"]
[ulogger]
category = "small_utilities"
@ -3589,6 +3622,7 @@ category = "wat"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/wemawema_ynh"
antifeatures = ["deprecated-software"]
[wetty]
category = "system_tools"
@ -3757,6 +3791,7 @@ level = 6
potential_alternative_to = [ "Mullvad" ]
state = "working"
url = "https://github.com/YunoHost-Apps/zeronet_ynh"
antifeatures = ["deprecated-software"]
[zerotier]
antifeatures = [ "not-totally-free-upstream", "non-free-network" ]

View File

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

View File

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

View File

@ -1,63 +0,0 @@
{
"$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

@ -1,48 +0,0 @@
{
"$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,16 +3,14 @@
"$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": {
@ -28,12 +26,9 @@
"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
from typing import Dict, Optional, List, Tuple
import toml
from jinja2 import Environment, FileSystemLoader
@ -51,7 +51,22 @@ def generate_READMEs(app_path: Path):
env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates"))
for lang, lang_suffix in [("en", ""), ("fr", "_fr")]:
# 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:
template = env.get_template(f"README{lang_suffix}.md.j2")
if (app_path / "doc" / f"DESCRIPTION{lang_suffix}.md").exists():

View File

@ -1,5 +1,3 @@
#: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."
@ -1713,6 +1711,12 @@ upstream = ""
website = "https://umap.openstreetmap.fr/"
draft = "https://github.com/YunoHost-Apps/umap_ynh"
[univer]
name = "Univer"
description = "Replacement of Luckysheet (deprecated, in yunohost packages)"
upstream = "https://github.com/dream-num/univer"
website = "https://univer.ai/"
[upmpdcli]
name = "upmpdcli"
description = ""