@fedired-dev/fedi-js
v1.0.0
Published
Una implementación del analizador FEDI con correcciones basadas en FEDI
Downloads
151
Readme
fedi-js
fedi-js es una librería JavaScript creada para procesar y renderizar contenido en formato SFM (Sharkey Fork Misskey), una adaptación del MFM (Markdown for Misskey). Está diseñada para integrarse fácilmente en aplicaciones federadas, como Fedired, facilitando la manipulación y visualización de contenido en redes sociales descentralizadas.
Características
- Basado en SFM: Aprovecha la flexibilidad del Sharkey Fork de Misskey, que a su vez está basado en MFM.
- Optimizado para Fedired: Especialmente adaptado para el entorno federado de Fedired, con características específicas para redes sociales federadas.
- Compatibilidad Federada: Compatible con plataformas como Mastodon, Misskey y otros servidores que utilicen formatos basados en MFM/SFM.
- Fácil de usar y modular: Proporciona una API simple y modular, que permite integrar solo las funcionalidades que necesites.
- Renderización rápida y eficiente: Convierte contenido SFM en HTML de manera eficiente para su uso en aplicaciones web.
Instalación
Instala fedi-js usando npm o yarn:
npm
npm install @feidred-dev/fedi-js
yarn
yarn add fedi-js
Uso Básico
import { parseSFM, renderSFMToHTML } from 'fedi-js';
// Contenido SFM
const sfmContent = ":wave: ¡Hola desde **Fedired**!";
// Parsear el contenido SFM
const parsedContent = parseSFM(sfmContent);
// Renderizar a HTML
const htmlOutput = renderSFMToHTML(parsedContent);
console.log(htmlOutput);
// <img src="wave.png" alt="wave" /> ¡Hola desde <strong>Fedired</strong>!
API
parseSFM(content: string): ParsedSFM
Analiza una cadena de texto en formato SFM y la convierte en una estructura de datos que representa su contenido.
- content: Cadena de texto en formato SFM.
- Devuelve: Un objeto
ParsedSFM
que contiene la representación estructurada del contenido.
renderSFMToHTML(parsedSFM: ParsedSFM): string
Convierte un objeto ParsedSFM
en una cadena HTML, lista para ser integrada en una aplicación web.
- parsedSFM: El objeto
ParsedSFM
obtenido deparseSFM
. - Devuelve: Una cadena de texto en formato HTML.
Ejemplo Avanzado: Uso con React
import React from 'react';
import { parseSFM, renderSFMToHTML } from 'fedi-js';
const SFMRenderer = ({ content }) => {
const parsedContent = parseSFM(content);
const htmlOutput = renderSFMToHTML(parsedContent);
return <div dangerouslySetInnerHTML={{ __html: htmlOutput }} />;
};
export default SFMRenderer;
Integración en Proyectos de Redes Federadas
fedi-js es ideal para proyectos que utilizan o extienden plataformas federadas como Fedired o Misskey. Al ser compatible con SFM, permite trabajar fácilmente con contenido federado, manteniendo la integridad del formato de marcado mientras se renderiza eficientemente en distintos entornos.
Contribuciones
Nos encantaría que contribuyeras al proyecto. Si tienes ideas, mejoras o encuentras errores, sigue estos pasos para colaborar:
- Haz un fork del repositorio.
- Crea una nueva rama con tu funcionalidad:
git checkout -b nueva-funcionalidad
. - Realiza los cambios y haz commit:
git commit -m 'Añadir nueva funcionalidad'
. - Envía tus cambios a tu repositorio fork:
git push origin nueva-funcionalidad
. - Abre un pull request hacia el repositorio principal.