Module ArticlesFraza Libre

@fraza/module-posts/v0.3.2

Déclarez vos contenus. L’admin se construit seul.

Un blogue, des nouvelles, une équipe, des expertises : chaque type de contenu se déclare en quelques lignes de configuration. Le module en tire la section d’admin, le formulaire d’édition, les routes et les pages publiques, sans une ligne de code.

votre-projet.ca/admin/articles
La liste des articles d’un type de contenu dans l’admin, avec les colonnes choisies pour ce typeLa liste des articles d’un type de contenu dans l’admin, avec les colonnes choisies pour ce type
Déclaration
Variables d’environnement
Champs
17 types, du titre à la galerie
Rendu public
Une URL /<type>/<slug> par post
Licence
MIT, Fraza Libre

Fonctionnalités

Ce que Articles apporte à votre admin.

Un type, quelques lignes

Chaque type déclaré obtient sa section d’admin, son formulaire et ses colonnes de liste. Ajouter un type ne demande ni migration ni code.

Taxonomies libres

Catégories, étiquettes ou tout autre classement, autant que nécessaire par type. Chaque taxonomie a ses termes et son écran dans l’admin.

Relations entre types

Reliez un projet aux membres de l’équipe, ou un article à ses expertises. L’ordre de sélection est conservé.

Contenus imbriqués

Un post peut avoir un parent du même type. L’URL publique suit la chaîne des slugs, et un fil d’Ariane est fourni au gabarit.

Ordre manuel

Une poignée de glisser-déposer dans la liste fixe l’ordre d’affichage, dans l’admin comme sur le site.

Champs privés

Des notes internes ou des coûts restent éditables dans l’admin, mais ne sortent jamais dans les réponses publiques ni sur le site.

Rendu public

Chaque post a sa page, sans fichier de route.

Le module branche ses pages sur le catch-all du start template : un post est servi à /<type>/<slug> dès l’installation. La mise en page passe par des templates propres à chaque type, choisis dans l’éditeur. Le module cohabite avec Pages : /blogue peut rester une page, et /blogue/mon-article rendre le post.

  • Templates de post portés par type, avec un template par défaut pour démarrer
  • Zone SEO dans l’éditeur et repli automatique sur le contenu quand FRAZA_SEO est actif
  • Un post privé, ou placé sous un parent privé, n’est jamais servi
  • Un type sans champ slug reste purement interne

Écrire un template de post →

Pour les développeurs

Ajouter Articles à un projet.

Le module ajoute quatre tables, une section d’admin par type déclaré, une tuile au tableau de bord, les permissions posts.view et posts.manage, des routes d’admin et publiques, et un résolveur dans le registre de contenu public. La structure des contenus vit dans les variables d’environnement, le contenu vit en base. Des fonctions serveur importables lisent les posts sans aller-retour HTTP.

Terminal
$ npm i @fraza/module-posts
$ npx fraza-modules sync
$ npx fraza-db init
.env
FRAZA_MODULE_POSTS=true
FRAZA_MODULE_POSTS_TYPES=blogue:Blogue:MoonIcon
FRAZA_MODULE_POSTS_TYPE_BLOGUE=title:title|slug:slug|date:date:now:sidebar|content:editor:Contenu
FRAZA_MODULE_POSTS_TYPE_BLOGUE_LIST=title|date|seo
Fraza Libre

Gratuit, sous licence MIT.

Articles fait partie de Fraza Libre : usage commercial permis, sans compte ni licence à acheter. Il s’installe depuis npm comme le core.

Questions

Questions fréquentes.

Le module est-il vraiment gratuit, même pour un site commercial ?
Oui. Il est publié sous licence MIT, dans Fraza Libre, sur npmjs, sans compte ni clé. Vous pouvez l’utiliser pour vos sites comme pour ceux de vos clients.
Ajouter un nouveau type de contenu demande-t-il une migration ?
Non. Une variable d’environnement suffit, puis un redémarrage du serveur. Seule exception : la première taxonomie ou la première relation déclarée demande de relancer npx fraza-db init.
Puis-je réserver un type de contenu à un rôle ?
Non. Les permissions posts.view et posts.manage valent pour tous les types déclarés : un rôle qui gère les posts les gère tous.
Faut-il le module Médias pour les images ?
Pour les choisir, oui. Sans @fraza/module-medias, les champs image, miniature et galerie restent déclarables, mais leur sélecteur ne s’ouvre pas.

Autres modules gratuits