Documentation sur l’extension de Discourse avec des plugins, des thèmes et des composants de thème, le travail avec le code principal et l’utilisation de l’API Discourse.
Introduction
- Introduction : Introduction au développement 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 & Intérieur
- Composants Ember : Ajouter des composants Ember à Discourse
- Kit UI : Le kit UI de composants, d’aides et de modificateurs partagés de 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 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 le « 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 hérités à 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 : Utilisation de l’API JS
- Connecteurs de sortie de plugin : Utilisation des connecteurs de sortie de plugin depuis un thème ou un plugin
- modifyClass : Utiliser modifyClass pour modifier le comportement principal
- 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 de gabarits : (non recommandé) Remplacer les gabarits Discourse depuis un thème ou un plugin
- Objets de service : Utilisation d’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 : Utilisation des transformeurs 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
- Indication de type et validation JS : Indication de type et validation JavaScript (typescript)
- Conception pour les appareils : Conception pour différents appareils (Tactile & Survolement)
- Conception pour les largeurs responsives : Conception pour les largeurs responsives (Points de rupture, Portée & Conteneurs)
- Primitives de gestes : Primitives de glisser, redimensionner et gestes
- Découpage des bundles : Découpage des bundles pour les plugins
Plugins
- Plugin de base : Développement de plugins Discourse - Partie 1 - Créer un plugin de base
- Sortie de plugin : Développement de plugins Discourse - Partie 2 - Se connecter à une sortie de plugin
- Paramètres du site : Développement de plugins Discourse - Partie 3 - Ajouter des paramètres de site personnalisés
- Configuration Git : Développement de plugins Discourse - Partie 4 - Configurer git
- Interface d’administration : Développement de plugins Discourse - Partie 5 - Ajouter une interface d’administration
- Tests d’acceptation : Développement de plugins Discourse - Partie 6 - Ajouter des tests d’acceptation
- Publier votre plugin : Développement de plugins Discourse - Partie 7 - Publier votre plugin
- Nouvelles localisations : Ajouter une nouvelle localisation depuis un plugin
- Intégration de chat : Ajouter un nouveau fournisseur à discourse-chat-integration
- Extension markdown-it : Réemballage d’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é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 des concepteurs : Guide du concepteur pour se lancer dans les thèmes de Discourse
- Créateur de thèmes : Se lancer avec Theme Creator et la CLI de thème
- CLI de thème : Installer l’application console Discourse Theme CLI 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 d’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 principales : Utiliser les variables principales 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
- Minimisation de 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 (par ex. 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 des 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 un contenu personnalisé qui n’apparaît que sur votre page d’accueil
- Format de message : Prise en charge de Message Format 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 des publications : Personnaliser le contenu des publications avec vos propres styles
- Captures d’écran des thèmes : 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 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
- Décharge de données publique : Décharge de données publique Discourse
- Évaluations IA : Exécuter des évaluations IA Discourse
- Bot IA via API : Utilisation du bot IA via l’API Discourse
Tutoriel de développement de thème
- 1 - Introduction : Tutoriel pour développeurs de thèmes : 1. Introduction
- 2 - Thème distant : Tutoriel pour développeurs de thèmes : 2. Création d’un thème distant
- 3 - CSS : Tutoriel pour développeurs de thèmes : 3. CSS dans les thèmes
- 4 - Sorties : Tutoriel pour développeurs de thèmes : 4. Utilisation des sorties pour insérer et remplacer du contenu
- 5 - Composants : Tutoriel pour développeurs de thèmes : 5. Construction et utilisation de composants
- 6 - API JS : Tutoriel pour développeurs de thèmes : 6. Utilisation de l’API JS
- 7 - Conclusion : Tutoriel pour développeurs de thèmes : 7. Pour conclure