Tavotto
AI drew your research figure. Tavotto makes it publication-ready: edit matplotlib figures on a canvas, lay out in mm, check journal rules. Free, open source.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗🇫🇷 Français | 🇬🇧 English
Une application web interactive et rapide permettant de rechercher, filtrer et télécharger des poses Bitmoji (Solo et Duo) en haute définition.
.zip depuis l'interface web (limité par le navigateur).Cette fonctionnalité permet de télécharger automatiquement l'intégralité des poses et les fichiers de métadonnées directement dans votre stockage Home Assistant sans intervention manuelle.
Exécutez cette commande dans votre terminal Home Assistant (Add-on "Terminal & SSH") :
curl -sL "https://avatar-explorer.pages.dev/api/export?id1=VOTRE_ID&name1=Kenny&mode=solo&dir=bitmojis" | bash
[!NOTE] Le script généré ne contient que des URLs validées côté serveur. Chaque image doit provenir de
https://sdk.bitmoji.com/avec un jeu de caractères restreint : ni guillemet, ni$, ni backtick, ni\, ni espace. Chaque destination doit rester sous/config/www/. Une pose dont l'URL ne respecte pas ces règles est ignorée, et signalée en tête du script ainsi que dans l'en-tête HTTPX-Skipped-Items. Comme pour toutcurl | bash, vous pouvez d'abord inspecter le script en remplaçant| bashpar> script.sh.
| Paramètre | Description | Valeurs possibles |
|---|---|---|
id1 | (Requis) ID Bitmoji principal | Ex: 103719... |
id2 | ID Bitmoji ami (requis pour duo) | Ex: 284610... |
name1 | Dossier/Préfixe utilisateur 1 | Défaut: Utilisateur1 |
name2 | Dossier/Préfixe utilisateur 2 | Défaut: Utilisateur2 |
mode | Type de poses à récupérer | solo ou duo |
scale | Qualité de l'image (1x, 2x, 4x) | 1, 2, 4 |
dir | Dossier dans /config/www/ (sous-dossiers possibles avec /) | Défaut: bitmojis, ex: media/bitmojis |
lang | Langue du catalogue de poses | Défaut: fr. Voir langues disponibles |
| Code | Langue |
|---|---|
fr | Français (défaut) |
en | Anglais |
es | Espagnol |
fr-ca | Français (Canada) |
de | Allemand |
ja | Japonais |
ko | Coréen |
it | Italien |
pt | Portugais |
zh | Chinois |
tr | Turc |
pl | Polonais |
ro | Roumain |
el | Grec |
[!NOTE] Cette liste peut s'étendre avec le temps (cf.
SUPPORTED_LANGSdans functions/api/export.js). Chaque langue suppose l'existence d'un fichierpublic/templates_<lang>.json, généré par public/get_templates.js. Pour les langues à alphabet non-latin (ja,ko,zh,el), un champslugFallback(tag anglais correspondant) garantit que les noms de fichiers générés restent lisibles même quand le tag natif ne contient aucun caractère latin.
[!IMPORTANT] Pré-requis : Avant de lancer la commande, assurez-vous de créer manuellement vos dossiers de destination dans
/config/www/(ex:/config/www/bitmojis/Kenny/). Le script nécessite que les dossiers existent pour y déposer les fichiers.pnget.json.
aide.json)Le fichier aide.json est servi statiquement à la racine du site et expose entre autres la date du dernier import du catalogue. Utile pour qu'une application tierce (ex: Avatar Explorer HA) sache si elle doit relancer un import.
GET https://avatar-explorer.pages.dev/aide.json
{
"date_maj": "19 juillet 2026",
"last_updated_iso": "2026-07-19T10:10:28.730Z",
"stats": {
"fr": { "solo": 1261, "duo": 614 },
"en": { "solo": 1975, "duo": 1050 },
"es": { "solo": 1278, "duo": 607 },
"...": { "solo": "...", "duo": "..." }
},
"guide": {
"fr": "Bienvenue dans la Forge Bitmoji ! ...",
"en": "Welcome to the Bitmoji Forge! ...",
"es": "¡Bienvenido a la Forja Bitmoji! ...",
"...": "..."
}
}
| Champ | Type | Description |
|---|---|---|
date_maj | string | Date du dernier import, formatée en français (affichage uniquement, ne pas parser). |
last_updated_iso | string (ISO 8601) | Date du dernier import, à utiliser pour toute comparaison programmatique. |
stats.<lang> | { solo: number, duo: number } | Nombre de poses disponibles pour la langue <lang> (un des 14 codes ci-dessus), par mode. |
guide.<lang> | string (Markdown) | Texte affiché dans le centre d'aide de l'application, traduit pour la langue <lang>. |
const { last_updated_iso } = await fetch('https://avatar-explorer.pages.dev/aide.json').then(r => r.json());
const remoteDate = new Date(last_updated_iso);
if (remoteDate > localLastImportDate) {
// déclencher un nouvel import
}
[!NOTE] Le catalogue est recollecté chaque lundi (cron GitHub Actions), à chaque déclenchement manuel du workflow
update_data.ymlet à chaque push qui modifie le script de collecte.last_updated_isoetdate_majn'avancent que si le contenu d'au moins untemplates_<lang>.jsona réellement changé (empreinte SHA-256 comparée avant et après). Une collecte qui ne ramène rien de nouveau ne déclenche donc aucune resynchronisation chez les consommateurs. Un simple réordonnancement des poses par Bitmoji compte comme un changement, car il peut décaler les suffixes_2,_3des noms de fichiers.
git clone https://github.com/Kenny3231/Avatar_Explorer.git
cd Avatar_Explorer
index.html dans votre navigateur.npm run collect recollecte les templates_*.json, npm run collect:dry fait la même chose sans rien écrire, et npm run check valide hors ligne les fichiers déjà présents.