@mostajs/publication-ui
v0.1.3
Published
Vues HTML (string) zéro-dépendance pour @mostajs/publication (site AMIA) : carte, article, gabarit FICHE CONDUITE À TENIR (médical), carte projet à badge de cycle de vie, page vidéo, page de rubrique. Couleurs 100 % tokens @mostajs/palette, tout échappé,
Maintainers
Readme
@mostajs/publication-ui
Auteur : Dr Hamid MADANI [email protected] Licence : AGPL-3.0-or-later · Niveau : N2 · Zéro dépendance, sans build
Vues HTML (string) pour @mostajs/publication — le site AMIA / amia.fr.
Rendu server-side sans framework ; tout est échappé ; les couleurs viennent des tokens
@mostajs/palette (thème « amia »), aucune couleur en dur ; RTL géré.
Vues
publicationCard(doc)— carte de liste (lien/p/<slug>).articleView(doc, { bodyHtml, pdfUrl })— article complet + bouton PDF + références. (bodyHtml= corps Markdown déjà rendu par@mostajs/markdown-html.)ficheCat(doc)— gabarit conduite à tenir (le format de vos infographies) : en-tête · étapes numérotées · encart rouge « À ne pas faire » · bandeau d'urgence.projetCard(doc)— carte projet : badge de cycle de vie (idée/en cours/publié/vendu) + liens.videoView(doc, { embedHtml })— lecteur vidéo + description.sectionPage({ title, subtitle, items, projet })— grille de cartes d'une rubrique.PUBLICATION_CSS— la feuille de style (tokens palette).
Usage
import { articleView, ficheCat, sectionPage, PUBLICATION_CSS } from '@mostajs/publication-ui'
import { mdToHtml } from '@mostajs/markdown-html'
// article : le corps Markdown est rendu en amont
const html = articleView(doc, { bodyHtml: mdToHtml(doc.body).html, pdfUrl: `/p/${doc.slug}.pdf` })
// fiche conduite à tenir
const fiche = ficheCat({ title: 'CAT devant un syndrome hémorragique', cat: {
sousTitre: 'Évaluer la gravité, stabiliser, chercher la cause',
etapes: [{ n: 1, titre: 'Reconnaître le saignement', items: ['Hématémèse', 'Méléna'] }, /* … */],
aNePasFaire: ['Sous-estimer un saignement occulte'],
urgence: 'Instabilité hémodynamique → prise en charge urgente hospitalière.',
} })Injecter PUBLICATION_CSS dans la page, avec le thème amia (palette.amia.fr → :root{--brand…}).
Tests
npm test