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 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écution des suites de tests : Comment exécuter les suites de tests QUnit de Discourse core, plugins et thèmes
- Compatibilité des versions : Fixer les versions de plugins et de thèmes pour les anciennes installations 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 à l’aide de GitHub Actions
- Extensions Markdown : Guide du développeur pour les extensions Markdown
- Conversion des modales : Conversion des modales depuis les 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 sortie de plugin : Utiliser les connecteurs de sortie de plugin depuis un thème ou un plugin
- modifyClass : Utiliser modifyClass pour modifier le comportement du noyau
- 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 templates : (non recommandé) Remplacer les templates Discourse depuis un thème ou un plugin
- Objets de service : Utiliser des objets de service dans Discourse\n- Specs système : Écrire des specs système de bout en bout pour l’interface utilisateur 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
- Indices de type JS & validation : Indices de type JavaScript & validation (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, Viewport & Conteneurs)
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 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 depuis un plugin
- Intégration Chat : Ajouter un nouveau fournisseur à discourse-chat-integration
- Extension markdown-it : Repaqueter 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 composants de thème
- Référence rapide : Guide de référence rapide pour les développeurs de thèmes
- Guide des designers : Guide du designer pour commencer avec les thèmes dans Discourse
- Créateur de thèmes : Commencer avec le Créateur de thèmes et le CLI Thème
- CLI Thème : Installer l’application console Discourse Theme CLI pour vous aider à créer des thèmes
- Structure des thèmes : Structure des thèmes et 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 objet pour les paramètres de thème
- Migrer les 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 noyau : Utiliser les variables du noyau 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 : Modifier les tailles de police dans vos thèmes
- Inclure des assets : Inclure des assets (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 police de thème
- 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 : Changer les icônes globalement
- Icônes alternatives : Icônes alternatives
- Style de message wiki : Changer le style d’un message 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 messages : Personnaliser le contenu des messages 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 personnalisables : Contrôler les paramètres du site avec des thèmes
Guides généraux
- White-labelling des applications mobiles : Points à considérer avant de décider de white-label les applications mobiles Discourse
- Automatisations personnalisées : Créer des automatisations personnalisées
- Dump de données publiques : Dump de données publiques Discourse
- Évaluations IA : Exécuter les évaluations Discourse AI
Tutoriel de développement de thème
- 1 - Introduction : Tutoriel développeur de thème : 1. Introduction
- 2 - Thème distant : Tutoriel développeur de thème : 2. Création d’un thème distant
- 3 - CSS : Tutoriel développeur de thème : 3. CSS dans les thèmes
- 4 - Sorties : Tutoriel développeur de thème : 4. Utilisation des sorties pour insérer et remplacer du contenu
- 5 - Composants : Tutoriel développeur de thème : 5. Construction et utilisation de composants
- 6 - API JS : Tutoriel développeur de thème : 6. Utilisation de l’API JS
- 7 - Conclusion : Tutoriel développeur de thème : 7. Conclusion