Documentation sur l’extension de Discourse avec des plugins, des thèmes et des composants de thème, le travail avec le code source et l’utilisation de l’API Discourse.
Introduction
- Introduction : Introduction au développement de Discourse
Environnements de développement
- Dev Container : Développer Discourse à l’aide d’un Dev Container
- 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 & Fonctionnement interne
- Composants Ember : Ajouter des composants Ember à Discourse
- Lint 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écution 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 : Épingler les versions de plugins et de 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 : Mettre en place l’intégration continue à l’aide de 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 de 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 plugin outlet : Utiliser les connecteurs de plugin outlet depuis un thème ou un plugin
- modifyClass : Utiliser modifyClass pour changer 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 des modèles ActiveRecord : Prévenir la sérialisation accidentelle des modèles ActiveRecord
- Remplacement des gabarits : (non recommandé) Remplacer les gabarits 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
- Transformeurs : Utiliser des transformeurs 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 et validation de types JS : Indication et validation de types JavaScript (typescript)
- Conception pour les appareils : Conception pour différents appareils (Tactile & Survol)
- Conception pour les largeurs responsives : Conception pour les largeurs responsives (Points de rupture, Portée & Conteneurs)
- Primitives de gestes : Primitives de glisser-déposer, de redimensionnement et de gestes
Plugins
- Plugin de base : Développer des plugins Discourse - Partie 1 - Créer un plugin de base
- Plugin outlet : Développer des plugins Discourse - Partie 2 - Se connecter à un plugin outlet
- 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 localisations : Ajouter une nouvelle localisation depuis un plugin
- Intégration du chat : Ajouter un nouveau fournisseur à discourse-chat-integration
- Extension markdown-it : Réempaqueter une extension markdown-it en tant que plugin Discourse
- Chargement automatique Rails : Structurer un plugin pour le chargement automatique Rails
Thèmes & Composants
- Développement de thèmes : Développer des thèmes Discourse & 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èmes : Commencer avec le Créateur de thèmes et le CLI de thème
- CLI de thème : Installer l’application console CLI de thème Discourse pour vous aider à construire 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 de thème : Type Objet pour le paramètre de thème
- Migration des paramètres : Migrer les paramètres de thème 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 Discourse dans votre thème
- Chaînes localisables : Ajouter des chaînes localisables aux thèmes et composants de thème
- Tests E2E : Tests système de bout en bout pour les thèmes et composants de thème
- Minimiser la maintenance : Minimiser la maintenance des personnalisations de thème
- Tailles de police : Changer les tailles de police dans vos thèmes
- Inclusion d’actifs : Inclure des actifs (ex. images, polices) dans les thèmes et 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 plugins pour prendre en charge le mode sombre automatique
- Modificateurs de thème : Modificateurs de thème : Une brève introduction
- Pseudo-éléments : Insérer du texte ou des images n’importe où sur votre site à l’aide de pseudo-éléments 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 un 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 : Changer les icônes globalement
- Icônes alternatives : Icônes alternatives
- Style de publication wiki : Changer le style d’une publication 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 de publication : Personnaliser le contenu des publications avec vos propres styles
- Captures d’écran de thème : Ajouter des captures d’écran d’aperçu aux thèmes Discourse
- Paramètres de site modifiables par thème : Contrôler les paramètres de site avec des thèmes
Guides généraux
- Blablabilisation des applications mobiles : Points à considérer avant de décider de blablabiliser les applications mobiles Discourse
- Automatisations personnalisées : Créer des automatisations personnalisées
- Décharge de données publique : Décharge de données publique Discourse
- Évaluations IA : Exécuter les é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éation d’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. Utilisation des sorties pour insérer et remplacer du contenu
- 5 - Composants : Tutoriel du développeur de thème : 5. Construction et utilisation de composants
- 6 - API JS : Tutoriel du développeur de thème : 6. Utilisation de l’API JS
- 7 - Conclusion : Tutoriel du développeur de thème : 7. Conclusion