Blog sur les pages de destination ✈️

Fonctionnel, mais plus maintenu [juillet 2022]

Vous pouvez désormais utiliser le plugin Landing Pages pour faire fonctionner un blog avec Discourse :tada:. Définissez une catégorie comme étant votre blog, et le premier post de chaque sujet dans cette catégorie aura sa propre page de blog et apparaîtra sur une page de liste de posts de blog.

Screen Shot 2021-05-13 at 5.04.18 PM

Ce projet a été un effort conjoint entre @meghna et moi-même. Tout le travail de design est de son fait. Si vous aimez le design de ce blog, assurez-vous de consulter ses Thèmes Discourse. Tous les bugs que vous trouverez dans la fonctionnalité sont de ma responsabilité :slight_smile:

Obtenir le code

GitHub-Mark-64px Plugin Landing Pages
GitHub-Mark-64px Blog Landing Pages
GitHub-Mark-64px Thème Blog Landing

Voir en action

try.thepavilion.io/blog

Veuillez noter que tout le contenu du blog et affiché dans les captures d’écran de ce post provient de The Conversation, et est utilisé sous la licence Creative Commons utilisée par ce site. Tout le contenu appartient à ses auteurs originaux et est utilisé à des fins de démonstration uniquement.

Comment le configurer

Suivez ces étapes dans l’ordre

  1. Installez le plugin Landing Pages (comment installer un plugin dans Discourse).
  2. Installez le Thème Blog Landing, (comment installer un thème dans Discourse).
  3. Configurez les Blog Landing Pages comme votre dépôt de landing pages.
  4. Dans l’interface d’administration des Landing Pages, changez la catégorie de la page “Blog” pour la catégorie que vous souhaitez utiliser pour faire fonctionner votre blog.

C’est tout ! Le premier post de chaque sujet dans cette catégorie sera désormais un post sur votre blog :slight_smile:

Restreindre la publication aux contributeurs

Vous voudrez probablement restreindre la publication dans cette catégorie à un groupe de contributeurs du blog. Si vous ne savez pas comment faire, voici un guide rapide

  1. Créez un groupe d’utilisateurs, par exemple “Contributeurs”, en allant sur /groups et en cliquant sur “Nouveau groupe”
  2. Ajoutez des utilisateurs au groupe (“Ajouter des membres” en haut à droite)
  3. Dans les paramètres de “Sécurité” de la catégorie du blog, supprimez la permission “Créer” de “Tout le monde”, et ajoutez votre groupe Contributeurs

Maintenant, seuls vos contributeurs peuvent publier sur votre blog, mais tout le monde peut commenter les posts.

En quoi cela diffère-t-il des autres solutions de blog ?

Il existe d’excellentes solutions existantes pour faire fonctionner un blog à l’intérieur ou à côté de Discourse, notamment

C’est un peu différent car il s’agit d’un ensemble entièrement séparé de pages qui ne font pas partie de l’application cliente Discourse, mais cela utilise toujours le même serveur. Cela vous donne quelques avantages par rapport à l’exécution d’un blog séparé (par exemple sur Wordpress), ou à l’utilisation directe d’une catégorie Discourse (par exemple avec un composant de thème), notamment

  • Vous pouvez créer du contenu et laisser les utilisateurs répondre dans Discourse, tout en ayant un environnement de blog dédié pour la lecture et le partage. Les lecteurs de votre blog auront l’impression de lire un blog plutôt qu’un post de forum.
  • Vous avez un système de compte utilisateur unique (celui de Discourse)
  • Vous pouvez utiliser les groupes Discourse pour restreindre l’accès au blog
  • Vous pouvez faire apparaître les posts Discourse comme des commentaires sur votre blog sans configuration supplémentaire
  • Vous obtenez un beau thème de blog responsive dès la sortie de la boîte
  • Vous n’avez qu’à configurer et payer un seul serveur
  • Le blog n’a pas besoin de charger votre forum pour fonctionner, il peut donc se charger rapidement
  • Vous pouvez facilement garder vos pages de blog (et votre thème) sous contrôle de version
  • Vous recevez un email de notification de “Nouveau post de blog” bien formaté (voir ci-dessous)
  • Vous pouvez facilement le gérer avec toutes les autres landing pages dont vous avez besoin en utilisant le plugin Landing Pages.

Cependant, bien que les Blog Landing Pages aient certains avantages clairs, elles ne seront pas la meilleure solution de blog communautaire pour tout le monde. Vous devriez tester les différentes solutions et voir laquelle vous convient.

Que signifie “S’abonner” au blog ?

Si vous êtes connecté et cliquez sur le bouton “S’abonner”, vous verrez une fenêtre modale (si vous n’êtes pas connecté, vous serez redirigé vers la connexion Discourse)

Si vous avez coché la case à côté de “S’abonner aux posts de [nom du site]” et soumis le formulaire, vous serez automatiquement défini sur “Suivre le premier post” pour la catégorie du blog. Cela signifie que vous recevrez une notification par email à chaque fois qu’un nouveau post paraît dans cette catégorie, comme si vous étiez abonné à un blog !

Vous pouvez également définir vos notifications pour la catégorie du blog sur “Suivre le premier post” de la manière habituelle (dans Discourse) et cela aura le même effet. “Suivre” la catégorie (où vous recevez un email pour chaque post, y compris les réponses), compte également comme étant abonné.

Les notifications par email pour une catégorie de blog sont un peu spéciales. Premièrement, sauf si vous avez fait le post vous-même, vous recevrez toujours une notification par email si vous êtes abonné, même si vous avez visité le site récemment. Deuxièmement, elles sont conçues pour ressembler à un email de post de blog

Nous prévoyons de permettre à un administrateur de site de modifier le HTML de l’email de post de blog dans l’interface d’administration des Landing Pages dans un proche avenir. Notez que si vous “Suivez” la catégorie du blog, seule la notification par email pour le premier post de chaque sujet sera différente. Les notifications pour les réponses ressembleront aux notifications Discourse normales.

Au-delà du blogging

Vous pouvez utiliser la fonctionnalité décrite ci-dessus pour créer un ensemble de landing pages pour n’importe quel contenu, comme WordPress est un moteur de blogging que vous pouvez utiliser pour afficher d’autres types de contenu (non blog). Vous pourriez utiliser une catégorie pour gérer un ensemble de produits, de lieux ou de personnes, et obtenir automatiquement à la fois une landing page et un sujet de discussion pour le contenu, simplement en faisant un seul post dans Discourse.

Tout développeur qui connaît un peu Ruby on Rails pourrait réaliser n’importe lequel de ces cas d’utilisation supplémentaires en utilisant ce système. Vous n’avez pas besoin de savoir comment fonctionne Discourse. Comme ces pages de blog font partie du plugin landing pages, vous avez également accès à tous les modèles existants dans ce plugin, y compris les formulaires de contact, l’en-tête, le pied de page, les listes de sujets et les profils d’utilisateurs. Vous pouvez en savoir plus sur ces modèles, et d’autres, dans la documentation du plugin.

41 « J'aime »

Cela a l’air super, bon travail ! Le thème d’atterrissage du blog est-il obligatoire ? Dans ce cas, serait-il possible de le proposer en tant que composant (puisque ceux qui ont déjà un autre thème ou un thème personnalisé voudront peut-être s’y tenir) ?

2 « J'aime »

Les pages d’atterrissage du blog, ainsi que les fonctionnalités du plugin Landing Pages sur lesquelles elles reposent, sont toutes deux conçues pour fonctionner avec n’importe quel thème :slight_smile: Vous pouvez les personnaliser comme vous le souhaitez.

Il n’est pas nécessaire qu’il soit actif sur votre site Discourse pour fonctionner ; il suffit qu’il soit installé, puis sélectionné dans la page concernée de l’interface d’administration du plugin Landing Pages. Voici à quoi ressemblent les paramètres du thème sur try.thepavilion.io (vous pouvez voir les paramètres de la page dans le message d’origine)

3 « J'aime »

Incroyable ! J’ai hâte de l’essayer. Merci pour cela :slight_smile:

2 « J'aime »

:exploding_head:

C’est vraiment génial. Ça me fait repenser à toute mon approche. Merci ! :laughing:

2 « J'aime »

C’est super !

Pour la personnalisation, dois-je faire un fork du dépôt pour saisir les informations de mon site ? Ou existe-t-il une meilleure méthode pour le faire ?

2 « J'aime »

Merci @sethm, oui, le Thème de page d’accueil de blog et les Pages d’accueil de blog sont conçus comme des modèles, vous pouvez donc :

  • les importer directement dans votre instance comme décrit ci-dessus ;
  • les forker ; ou
  • les télécharger et les modifier comme vous le feriez avec un modèle pour WordPress, Ghost, etc.
3 « J'aime »

Y a-t-il un moyen de rendre un sous-ensemble du contenu de Discourse visible publiquement (comme le contenu de ce blog) plutôt que de nécessiter une inscription / connexion ? Merci.

–Peter

1 « J'aime »

Salut Peter, oui, par défaut le contenu dans Discourse est visible publiquement. Si ce n’est pas le cas, cela signifie que vous avez activé le paramètre du site « connexion requise ». Vous pouvez ensuite contrôler la visibilité de catégories spécifiques à l’aide des autorisations spécifiques aux catégories (dans les paramètres de la catégorie). Vous pouvez voir une capture d’écran des paramètres d’accès spécifiques aux catégories ci-dessus.

1 « J'aime »

Merci, mais je ne vois pas la capture d’écran pour les paramètres d’accès spécifiques à la catégorie ?

1 « J'aime »

Une aide ?
Peut-être que les paramètres spécifiques à la catégorie n’apparaissent pas à moins que je ne supprime la connexion requise ?
Mais je ne veux pas supprimer cela tant que je n’ai pas défini les catégories sur public ou connexion requise…
Merci.

–Peter

1 « J'aime »

Vous devriez pouvoir afficher les autorisations de catégorie dans l’onglet Sécurité de la clé à molette d’administration sur la page de catégorie :

J’espère que cela vous aide. :slightly_smiling_face:

2 « J'aime »

Ah ! Merci.
Donc, définir toutes les catégories et les utilisateurs actuels sur le niveau de confiance 2, et la nouvelle catégorie que je veux rendre publique sur le niveau de confiance 0, et changer la connexion requise, devrait faire l’affaire ? Ou cette logique est-elle erronée ?

–Peter

1 « J'aime »

Si vous souhaitez que la catégorie du blog soit visible par les personnes anonymes ainsi que par les détenteurs de compte, vous voudrez que le groupe Tout le monde ait au moins la permission « Voir ».

Ensuite, définissez les autres catégories sur au moins trust_level_0 afin que les personnes aient besoin d’un compte pour afficher et interagir avec les sujets qu’elles contiennent.

1 « J'aime »

Merci, ça a fonctionné. J’apprécie l’aide.

2 « J'aime »

J’ai besoin d’un peu d’aide pour comprendre ce plugin. D’une part, vous dites que vous pouvez

Définir une catégorie comme votre blog, et le premier article de chaque sujet de cette catégorie aura sa propre page de blog et apparaîtra sur une page de liste d’articles de blog.

et d’autre part

  1. Configurez les pages d’atterrissage du blog comme votre référentiel de pages d’atterrissage.

Je suis confus. Puis-je gérer un blog à partir de mes publications Discourse sans référentiel git et sans fichiers *html.erb ?

1 « J'aime »

Le contenu du blog est extrait des publications de discourse. La mise en page du blog est gérée par les fichiers html, qui pourraient se trouver dans le dépôt Blog Landing Pages.

Ce plugin n’est pas comme Hugo où vous créez des articles de blog en balisage. Bien que l’intégration de cela avec Hugo serait intéressante, nous pourrions tenter cela à un moment donné (cc @jumagura)

3 « J'aime »

J’utilise un forum avec Discourse depuis quelques mois, donc je suis encore assez nouveau. J’ai déjà installé un plugin, mais quand j’ai essayé d’installer le Landing Pages Plugin ce soir, j’ai eu une erreur lors de la reconstruction de l’application et elle n’a pas démarré. Il y a peut-être un problème de compatibilité ou de version avec quelque chose, mais je ne sais pas par où commencer. Quelqu’un peut-il me donner une piste ? J’ai regardé le journal, mais je ne peux pas déterminer quel est le problème.

Voici la dernière partie des résultats de la reconstruction :

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 364 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
fb680c9c3b46dcd068abe877ed4187c730351c10139cc3eda2a8b7202822bf07
saul@discourseonubuntu2004-s-1vcpu-2gb-intel-lon1-01:/var/discourse$ 
saul@discourseonubuntu2004-s-1vcpu-2gb-intel-lon1-01:/var/discourse$ 

Merci pour toute aide.

1 « J'aime »

Quelqu’un peut-il vérifier ce plugin. J’ai le même problème que le gars au-dessus de moi. J’obtiens des erreurs en essayant de le compiler, apparemment il est cassé depuis la version 2.9.0 beta 4 et supérieures.

Je pourrais fournir des logs, mais il serait préférable que le créateur vérifie une installation Discourse fraîche, puis essaie de le compiler, car j’ai testé cela sur une installation Discourse existante ainsi que sur une nouvelle, cela échoue toujours à la compilation.

J’ai suivi exactement les étapes fournies dans le post initial.

  1. Installer le Plugin Landing Pages (comment installer un plugin dans Discourse) .
  2. Installer le Thème Blog Landing , (comment installer un thème dans Discourse) .
  3. Configurer les Pages d’atterrissage du blog comme votre dépôt de pages d’atterrissage .
  4. Dans l’interface d’administration des pages d’atterrissage, changez la catégorie de la page “Blog” pour la catégorie que vous souhaitez utiliser pour gérer votre blog.
1 « J'aime »

Je mettrai à jour ce plugin pour qu’il soit compatible avec la dernière version de Discourse dans la semaine à venir.

4 « J'aime »