Documentation sur l’extension de Discourse avec des plugins, des thèmes et des composants de thème, le travail avec le code cœur et l’utilisation de l’API Discourse.
Introduction
- Introduction : Introduction au développement Discourse
Environnements de développement
- Conteneur de développement : Développer Discourse avec un conteneur de développement
- GitHub Codespaces : Développer Discourse sur GitHub Codespaces
- Configuration Docker : Installer Discourse pour le développement avec 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 et interne
- Composants Ember : Ajouter des composants Ember à Discourse
- Lint et formatage : Lint 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 cœur, des plugins et des thèmes de Discourse
- Compatibilité des versions : Verrouiller les versions des plugins et des thèmes pour les anciennes installations de Discourse (branches d-compat)
- Propriété des objets Ember : Propriété des objets Ember (getOwner, injections de services, etc.)
- Performance JS : Utiliser « tachometer » de Google pour mesurer les changements de performance JS dans Discourse
- CI avec GitHub Actions : Configurer l’intégration continue avec GitHub Actions
- Extensions Markdown : Guide du développeur pour les extensions Markdown
- Conversion des modales : Convertir les modales des contrôleurs legacy vers la nouvelle API du composant DModal
- API DModal : Utiliser l’API DModal pour afficher des fenêtres modales (alias popups/dialogues) dans Discourse
- API JS : Utiliser l’API JS
- Connecteurs de sorties de plugin : Utiliser les connecteurs de sorties de plugin depuis un thème ou un plugin
- modifyClass : Utiliser modifyClass pour modifier le comportement du cœur
- Création de routes : Créer des routes dans Discourse et afficher des données
- Méthode d’authentification : Ajouter une nouvelle méthode d’authentification « gérée » à Discourse
- Sérialisation accidentelle de modèles ActiveRecord : Empêcher la sérialisation accidentelle de modèles ActiveRecord
- Surcharge des templates : (non recommandé) Surcharger les templates de Discourse depuis un thème ou un plugin
- Objets de service : Utiliser des objets de service dans Discourse
- Spécifications système : Écrire des spécifications système de bout en bout pour l’interface utilisateur de Discourse
- FormKit : Boîte à outils Discourse pour afficher des formulaires
- Déclencheurs AppEvents : Référence des déclencheurs AppEvents
- Transformateurs : Utiliser les transformateurs pour personnaliser les valeurs et le comportement côté client
- Personnalisation de la liste des sujets : Personnaliser la liste des sujets
- Directives CSS : Directives pour les classes CSS utilisant BEM
- Indication de type JS et validation : Indication de type JavaScript et validation (typescript)
- Conception pour les appareils : Concevoir pour différents appareils (taille de la vue tactile/survol, etc.)
Plugins
- Plugin de base : Développer des plugins Discourse - Partie 1 - Créer un plugin de base
- Sortie de plugin : Développer des plugins Discourse - Partie 2 - Se connecter à une sortie de plugin
- Paramètres du site : Développer des plugins Discourse - Partie 3 - Ajouter des paramètres personnalisés du site
- 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 depuis 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 Rails : Structurer un plugin pour le chargement automatique Rails
Thèmes et composants
- Développement de thèmes : Développer des thèmes Discourse et des composants de thème
- Référence rapide : Guide de référence rapide pour les développeurs de thèmes
- Guide des concepteurs : Guide du concepteur pour commencer avec les thèmes dans Discourse
- Créateur de thème : Commencer avec le Créateur de thème et l’outil en ligne de commande (CLI) des thèmes
- CLI des thèmes : Installer l’application console CLI des thèmes Discourse pour vous aider à créer des thèmes
- Structure des thèmes : Structure des thèmes et des composants de thème
- Fichiers JS multiples : Diviser le JavaScript du thème en plusieurs fichiers
- Fichiers SCSS multiples : Diviser le SCSS du thème en plusieurs fichiers
- Paramètres du thème : Ajouter des paramètres à votre thème Discourse
- Objets pour les paramètres du thème : Type d’objet pour les paramètres du thème
- Migration des paramètres : Migrer les paramètres des thèmes Discourse
- Métadonnées du thème : Ajouter des métadonnées et des captures d’écran à un thème
- Variables du cœur : Utiliser les variables du cœur de Discourse dans votre thème
- Chaînes localisables : Ajouter des chaînes localisables aux thèmes et aux composants de thème
- Tests E2E : Tests système de bout en bout pour les thèmes et les composants de thème
- Minimiser la maintenance : Minimiser la maintenance des personnalisations de thème
- Tailles de police : Modifier les tailles de police dans vos thèmes
- Inclure des ressources : Inclure des ressources (par exemple, images, polices) dans les thèmes et les composants
- Icônes personnalisées : Remplacer les icônes SVG par défaut de Discourse par des icônes personnalisées dans un thème
- Mode sombre : Mettre à jour les thèmes et les plugins pour prendre en charge le mode sombre automatique
- Modificateurs de thème : Modificateurs de thème : une brève introduction
- Éléments pseudo : Insérer du texte ou des images n’importe où sur votre site en utilisant des éléments pseudo CSS
- Composant de police : Créer et partager un composant de thème de police
- Langue Highlight.JS : Installer une nouvelle langue pour Highlight.JS via un composant de thème
- Contenu de la page d’accueil : Ajouter du contenu personnalisé qui n’apparaît que sur votre page d’accueil
- Format de message : Prise en charge du format de message pour la localisation
- Changements d’icônes globaux : Modifier les icônes globalement
- Icônes alternatives : Icônes alternatives
- Style de post wiki : Modifier le style d’un post wiki
- Schéma de couleurs : Créer et partager un schéma de couleurs
- Menu de navigation : Utiliser le paramètre de requête
navigation_menupour prévisualiser la barre latérale ou d’autres options - Styles de contenu des posts : Personnaliser le contenu des posts avec vos propres styles
- Captures d’écran des thèmes : Ajouter des captures d’écran de prévisualisation aux thèmes Discourse
- Paramètres du site personnalisables : Contrôler les paramètres du site avec des thèmes
Guides généraux
- Marquage blanc des applications mobiles : Points à considérer avant de décider de marquer en blanc les applications mobiles Discourse
- Automatisations personnalisées : Créer des automatisations personnalisées
- Dump de données publiques : Dump de données publiques de Discourse
- Évaluations IA : Exécuter des évaluations IA de Discourse
Tutoriel de développement de thème
- 1 - Introduction : Tutoriel du développeur de thème : 1. Introduction
- 2 - Thème distant : Tutoriel du développeur de thème : 2. Créer un thème distant
- 3 - CSS : Tutoriel du développeur de thème : 3. CSS dans les thèmes
- 4 - Sorties : Tutoriel du développeur de thème : 4. Utiliser les sorties pour insérer et remplacer du contenu
- 5 - Composants : Tutoriel du développeur de thème : 5. Construire et utiliser des composants
- 6 - API JS : Tutoriel du développeur de thème : 6. Utiliser l’API JS
- 7 - Conclusion : Tutoriel du développeur de thème : 7. Conclusion