Compare commits
9 Commits
add-schema
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
318a1f6a93 | ||
|
9c82874638 | ||
|
468ea5229d | ||
|
17fe791c6d | ||
|
c39c97c15b | ||
|
48ca810d12 | ||
|
31f92a1bd1 | ||
|
68741582d0 | ||
|
a14b644665 |
@ -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.
|
||||
@ -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" ] # 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"
|
||||
```
|
||||
|
@ -502,6 +502,13 @@ 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
|
||||
|
BIN
logos/crabfit.png
Normal file
BIN
logos/crabfit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
Binary file not shown.
@ -8,19 +8,21 @@ 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-02-21 06:05+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: es <LL@li.org>\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"
|
||||
"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"
|
||||
"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
|
||||
msgid "App %(app_id) not found"
|
||||
msgstr ""
|
||||
msgstr "App %(app_id) no encontrada"
|
||||
|
||||
#: app.py:152
|
||||
msgid "You must be logged in to be able to star an app"
|
||||
|
Binary file not shown.
@ -8,15 +8,16 @@ 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-02-27 19:19+0000\n"
|
||||
"PO-Revision-Date: 2024-03-09 04:14+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
|
||||
@ -254,7 +255,7 @@ msgstr "Documentation officielle pour les admins"
|
||||
|
||||
#: templates/app.html:142
|
||||
msgid "Official user documentation"
|
||||
msgstr "Documentation officielle pour les utilisateur·ice·s"
|
||||
msgstr "Documentation officielle d'utilisation"
|
||||
|
||||
#: templates/app.html:143
|
||||
msgid "Official code repository"
|
||||
@ -394,8 +395,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 conseillons aux utilisateurs "
|
||||
"de se tourner vers des alternatives."
|
||||
"décourageons fortement leur installation et vous conseillons de vous tourner "
|
||||
"vers des alternatives."
|
||||
|
||||
#: templates/index.html:10
|
||||
msgid "Application Store"
|
||||
@ -460,8 +461,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 utilisateur·ice."
|
||||
"En raison d'abus, la proposition d'app est limitée à une tous les 15 jours "
|
||||
"par personne."
|
||||
|
||||
#: templates/wishlist_add.html:43
|
||||
msgid ""
|
||||
@ -527,4 +528,3 @@ 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"
|
||||
|
||||
|
@ -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():
|
||||
|
Loading…
Reference in New Issue
Block a user