Documentation sur l’extension de Discourse avec des plugins, des thèmes et des composants de thème, l’utilisation du code source et l’utilisation de l’API Discourse.
Introduction
- Introduction : Introduction au développement de Discourse
Environnements de développement
- Conteneur Dev : Développer Discourse à l’aide d’un conteneur Dev
- GitHub Codespaces : Développer Discourse sur GitHub Codespaces
- Configuration Docker : Installer Discourse pour le développement à l’aide de Docker
- Configuration macOS : Installer Discourse sur macOS pour le développement
- Configuration Ubuntu/Debian : Installer Discourse sur Ubuntu ou Debian pour le développement
- Configuration Windows : Installer Discourse sur Windows pour le développement
- Plugins non-Docker : Installer des plugins dans votre environnement de développement non-Docker
- Configuration locale : Configurer un environnement de développement Discourse local ?
- Configuration multisite : Configurer un environnement de développement multisite
- Configuration Fedora : Configurer Discourse pour le développement sur Fedora Linux
Code
Internals
- Composants Ember : Ajouter des composants Ember à Discourse
- Linter et formatage : Linter et formater automatiquement le code avant les commits
- Tests d’acceptation : Écrire des tests d’acceptation et des tests de composants pour le code Ember dans Discourse
- Exécuter des suites de tests : Comment exécuter les suites de tests QUnit du noyau, des plugins et du thème Discourse
- Compatibilité des versions : Épingler les versions des plugins et des thèmes pour les anciennes installations Discourse (.discourse-compatibility)
- Propriété des objets Ember : Propriété des objets Ember (getOwner, injections de service, etc.)
- Performances JS : Utilisation du « tachymètre » de Google pour mesurer les changements de performances JS dans Discourse
- CI avec GitHub Actions : Configurer l’intégration continue à l’aide de GitHub Actions
- Extensions Markdown : Guide du développeur pour les extensions Markdown
- Conversion des modales : Conversion des modales des anciens contrôleurs vers la nouvelle API de composant DModal
- API DModal : Utilisation de l’API DModal pour rendre les fenêtres modales (alias popups/boîtes de dialogue) dans Discourse
- API JS : Utilisation de l’API JS
- Connecteurs de points de vente de plugin : Utilisation des connecteurs de points de vente de plugin à partir d’un thème ou d’un plugin
- modifyClass : Utilisation de modifyClass pour modifier le comportement du noyau
- Création de routes : Création de routes dans Discourse et affichage des données
- Méthode d’authentification : Ajout d’une nouvelle méthode d’authentification « gérée » à Discourse
- Sérialisation accidentelle des modèles ActiveRecord : Prévention de la sérialisation accidentelle des modèles ActiveRecord
- Remplacement des modèles : (non recommandé) Remplacement des modèles Discourse à partir d’un thème ou d’un plugin
- Objets de service : Utilisation d’objets de service dans Discourse
- Spécifications du système : Écrire des spécifications de système de bout en bout pour l’interface utilisateur de Discourse
- FormKit : Boîte à outils Discourse pour rendre les formulaires.
- Déclencheurs AppEvents : Référence des déclencheurs AppEvents
- Transformateurs : Utilisation des transformateurs pour personnaliser les valeurs et le comportement côté client
- Personnalisation de la liste des sujets : Personnalisation de la liste des sujets
- Directives CSS : Directives pour les classes CSS utilisant BEM
- Conception pour les appareils : Conception pour différents appareils (taille de la fenêtre d’affichage, tactile/survol, etc.)
Plugins
- Plugin de base : Développer des plugins Discourse - Partie 1 - Créer un plugin de base
- Point de sortie de plugin : Développer des plugins Discourse - Partie 2 - Se connecter à un point de sortie de plugin
- Paramètres du site : Développer des plugins Discourse - Partie 3 - Ajouter des paramètres de site personnalisés
- Configuration Git : Développer des plugins Discourse - Partie 4 - Configurer git
- Interface d’administration : Développer des plugins Discourse - Partie 5 - Ajouter une interface d’administration
- Tests d’acceptation : Développer des plugins Discourse - Partie 6 - Ajouter des tests d’acceptation
- Publier votre plugin : Développer des plugins Discourse - Partie 7 - Publier votre plugin
- Nouvelles locales : Ajouter une nouvelle locale à partir d’un plugin
- Intégration de chat : Ajouter un nouveau fournisseur à discourse-chat-integration
- extension markdown-it : Reconditionner une extension markdown-it en tant que plugin Discourse
- Chargement automatique de Rails : Structurer un plugin pour le chargement automatique de Rails
Thèmes et composants
- …