Documentation sur l’extension de Discourse avec des plugins, des thèmes et des composants de thème, le travail avec le code de base et l’utilisation de l’API Discourse.
Introduction
- Introduction : Introduction au développement de Discourse
Environnements de développement
- Conteneur de développement : Développer Discourse à l’aide d’un conteneur de développement
- 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 et internes
- 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écuter des suites de tests : Comment exécuter les suites de tests QUnit de Discourse core, des plugins et des thèmes
- Compatibilité des versions : Épingler les versions des plugins et des thèmes pour les installations Discourse plus anciennes (.discourse-compatibility)
- Propriété des objets Ember : Propriété des objets Ember (getOwner, injections de service, 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 à l’aide de GitHub Actions
- Extensions Markdown : Guide du développeur sur les extensions Markdown
- Conversion des modales : Convertir les modales des contrôleurs hérités vers la nouvelle API de composant DModal
- API DModal : Utiliser l’API DModal pour afficher des fenêtres modales (ou popups/dialogues) dans Discourse
- API JS : Utiliser l’API JS
- Connecteurs d’outlet de plugin : Utiliser les connecteurs d’outlet de plugin depuis un thème ou un plugin
- modifyClass : Utiliser modifyClass pour modifier le comportement de base
- 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 : Empêcher la sérialisation accidentelle des modèles ActiveRecord
- Remplacement de modèles : (non recommandé) Remplacer les modèles 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 des 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
- 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
- Outlet de plugin : Développer des plugins Discourse - Partie 2 - Se connecter à un outlet 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
- Nouveaux paramètres régionaux : 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
- Autoloading Rails : Structurer un plugin pour l’autoloading de Rails
Thèmes et composants
- Développement de thèmes : Développement de thèmes et de composants de thème Discourse
- Référence rapide : Guide de référence rapide pour les développeurs de thèmes
- Guide du concepteur : Guide du concepteur pour commencer avec les thèmes dans Discourse
- Theme Creator : Commencer avec Theme Creator et le Theme CLI
- Theme CLI : Installer l’application console Discourse Theme CLI pour vous aider à créer des thèmes
- Structure des thèmes : Structure des thèmes et des composants de thème
- Plusieurs fichiers JS : Diviser le Javascript du thème en plusieurs fichiers
- Plusieurs fichiers SCSS : Diviser le SCSS du thème en plusieurs fichiers
- Paramètres de thème : Ajouter des paramètres à votre thème Discourse
- Objets pour les paramètres de thème : Type d’objet pour les paramètres de thème
- Migrer les paramètres : Migrer les paramètres de thème Discourse
- Métadonnées de thème : Ajouter des métadonnées et des captures d’écran à un thème
- Variables de base : Utiliser les variables de base de 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 les composants de thème
- Minimiser la maintenance : Minimiser la maintenance sur les personnalisations de thème
- Tailles de police : Changer les tailles de police dans vos thèmes
- Inclure des actifs : Inclure des actifs (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
- 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
- Langage Highlight.JS : Installer un nouveau langage 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 : 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 de prévisualisation aux thèmes Discourse
- Paramètres de site modifiables par le thème : Contrôler les paramètres du site avec des thèmes
Guides généraux
- Marque blanche des applications mobiles : Choses à considérer avant de décider de mettre la marque blanche des applications mobiles Discourse
- Automatismes personnalisés : Créer des automatisations personnalisées
- Vidage de données publiques : Vidage 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 pour les développeurs de thèmes : 1. Introduction
- 2 - Thème distant : Tutoriel pour les développeurs de thèmes : 2. Créer un thème distant
- 3 - CSS : Tutoriel pour les développeurs de thèmes : 3. CSS dans les thèmes
- 4 - Outlets : Tutoriel pour les développeurs de thèmes : 4. Utiliser des Outlets pour insérer et remplacer du contenu
- 5 - Composants : Tutoriel pour les développeurs de thèmes : 5. Construire et utiliser des composants
- 6 - API JS : Tutoriel pour les développeurs de thèmes : 6. Utiliser l’API JS
- 7 - Conclusion : Tutoriel pour les développeurs de thèmes : 7. Conclusion