Branche de développement en direct disponible sur le sous-domaine dev .
Veuillez consulter notre wiki pour un guide d'installation. Pour tout le reste, nous avons répondu à une variété de FAQ sur notre serveur Discord, et nous sommes disponibles pour des questions directes!
Seules les données "officielles" (c'est-à-dire publiées par Paizo) doivent être incluses dans le site. Tout le reste doit être ajouté au référentiel Homebrew.
Prioriser RAW avant tout. Visez à fournir une copie 1: 1 des données d'origine. Les fautes de frappe évidentes (par exemple, les erreurs mathématiques dans les créatures Statblocks) peuvent être corrigées à la discrétion du (s) responsable (s).
Visez à utiliser la dernière version de tout matériel publié. Les versions plus anciennes qui sont suffisamment différentes (et pertinentes pour les intérêts de la communauté) peuvent être déplacées vers le référentiel homebrew.
Le ciblage de l'ES6 était l'intention d'origine, mais les fonctionnalités plus modernes se sont depuis longtemps glissées dans le code. Par conséquent, si quelque chose est disponible en standard à la fois dans Chrome et Firefox (de préférence dans les versions datant au moins quelques mois), et ne saigne pas, on peut raisonnable justifier de l'utiliser. Comme pour toutes choses, utilisez le bon sens.
Format JSON pour correspondre à la sortie par défaut de JSON.stringify de JavaScript (en utilisant des onglets pour l'indentation), c'est-à-dire une ligne par support et une ligne par valeur. Les fichiers JSON générés par programme à partir d'autres fichiers JSON (c'est-à-dire ceux stockés dans data/generated ) doivent cependant être minifiés.
Lorsque "Tagging" références dans les données (par exemple {@creature goblin} ), les règles suivantes s'appliquent:
You gain one cantrip of your choice from the wizard spell list doit être étiquetée, tandis que la classe des sorciers Together, a group of seven powerful wizards sought to contain the demon ne devrait pas être étiqueté. L'une est une référence à la classe mécanique, l'une n'est que l'usage occasionnel du mot «sorcier».quote . Même si la citation se réfère directement à une créature spécifique, nous pouvons supposer que la citation provient d'un univers / de la perspective dans laquelle (par exemple) les stats n'existent pas, et donc la balise doit être omise pour maintenir la saveur de la citation. Des parties des directives JSON Cleaning & Style sont également automatisées et peuvent être appliquées à l'aide de npm run clean-jsons . De plus, ce script de nettoyage est également exécuté automatiquement dans le cadre de npm run build .
Pour supprimer les virgules de fuite en JSON:
Trouver: (.*?)(,)(:?s*]|s*})
Remplacer: $1$3
' devrait être remplacé par '“ Et ” devrait être remplacé par "— (EM Dash) doit être remplacé par u2014 (Unicode pour EM Dash)– doit être remplacé par u2013 (Unicode pour en dash)− doit être remplacé par u2212 (Unicode pour le signe moins)• ne devrait pas être utilisé à moins que le JSON en question ne soit encore couvert par le SperyRenderer, c'est-à-dire encodé comme une listeu2014 , u2013 et u2212 ; Tous les autres caractères (sauf indication ci-dessus) doivent être stockés en tant que - (trait d'union) ne doit être utilisé que pour trait d'union, par exemple, 60-foot et 18th-levelu2014 doit être utilisé pour les paires de tirage entre parenthèses ou pour marquer des lignes de table vides.u2013 doit être utilisé pour rejoindre des plages numériques, par exemple 1-5 devrait devenir 1u20135 .u2212 doit être utilisé pour des signes moins unaires, en cas de pénalités. Par exemple, "You have a -5 penalty to..." devrait devenir "You have a u22125 penalty to..." .u2014 doit être supprimé 60-foot lineblindsight 60 ft. , darkvision 120 ft./ , sans espaces de chaque côté suivi de l'unité de temps capitalisée, par exemple 2/Turn , 3/Day Les dés doivent être écrits comme [X]dY[ <+|-|×> Z] , c'est-à-dire avec un espace entre les dés et l'opérateur, et un espace entre l'opérateur et le modificateur. Quelques exemples de formatage acceptable sont les suivants: d6 , 2d6 ou 2d6 + 1 .
Les noms des éléments doivent être le cas-titre, à l'exception des unités entre parenthèses, qui doivent être la cas de phrase. Les éléments dont le volume ou la quantité est spécifié par le conteneur (par exemple (vial) ) traitent le conteneur comme une unité.
Évitez de lier les événements modifiés par Alt, car ceux-ci ne sont pas disponibles sous macOS ou diverses saveurs Linux. Les événements modifiés par décalage / Ctrl de liaison sont préférés.
Assurez-vous d'avoir tout installé ( npm install ) et de construire ( npm run build ) pour avoir un site entièrement fonctionnel. Exécuter npm run serve:dev pour lancer un serveur de développement local qui sert les fichiers du projet sur http://localhost:8080/index.html .
Le référentiel contient un schéma JSON pour les fichiers de données dans test/schema-template/schema.json . Le schéma est actuellement un travail en cours.
Les détails sur la façon d'utiliser le schéma varient en fonction de la configuration que vous utilisez pour travailler avec le référentiel.
Pour utiliser le schéma JSON avec Visual Studio Code, dirigez-vous vers les paramètres et localisez le paramètre JSON: Schemas . Il est recommandé d'ajouter cette configuration uniquement pour l'espace de travail local.
"json.schemas" : [
{
"fileMatch" : [
" data/**/*.json "
],
"url" : " ./test/schema-template/schema.json "
}
] npm run version-bump -- [OPTION] , où [OPTION] est l'une des opérations suivantes:
major pour incrémenter la version principale ( 1.2.3 deviendra 2.0.0 )minor pour incrémenter la version mineure ( 1.2.3 deviendra 1.3.0 )patch pour incrémenter la version du correctif ( 1.2.3 deviendra 1.2.4 )1.2.3 ) Il exécutera d'abord les tests et ne parviendra pas à augmenter la version en cas d'échec des tests. Il remplacera ensuite automatiquement la version dans les fichiers où il doit être remplacé, créer un engagement par la chore(version): bump et créer une balise (sous le formulaire v1.2.3 ) à l'engagement. Cette fonctionnalité peut être facilement désactivée en faisant npm config set git-tag-version false .
Ce projet est concédé sous licence de la licence du MIT.