Sphido es un increíble cohete de código abierto: generador de sitios estáticos rápido, liviano y flexible. Ofrece una multitud de beneficios tanto para desarrolladores como para usuarios. Con su enfoque minimalista, Sphido se centra en la simplicidad y la eficiencia. Al utilizar solo dos funciones, proporciona una experiencia perfecta para los creadores de sitios web.
La primera función, getPages()
, le permite recuperar sin esfuerzo una lista completa de páginas dentro de su sitio web. Esto permite una fácil navegación y gestión de su contenido. La segunda función, allPages()
va un paso más allá al permitirle recorrer cada página individualmente, facilitando experiencias dinámicas y personalizadas para sus usuarios.
Uno de los aspectos destacables de Sphido es su independencia. No depende de dependencias externas, lo que lo hace extremadamente confiable y fácil de usar desde el primer momento. Ya sea que sea un desarrollador experimentado o un principiante, Sphido está diseñado para mejorar su flujo de trabajo y permitirle crear sitios web impresionantes.
Características
- código limpio
- Fácil de configurar, usar e instalar
- Soporte de rebajas
- Soporte frontal
- Soporte de hashtags
- Compatibilidad con mapas del sitio con extensiones oficiales predeterminadas
Instalar
usando hilo.
yarn add @sphido/core
o con el MNP.
npm i @sphido/core
Inicio rápido
#!/usr/bin/env node
import {dirname, relative, join} from 'node:path';
import {getPages, allPages, readFile, writeFile} from '@sphido/core';
import slugify from '@sindresorhus/slugify';
import {marked} from 'marked';
const pages = await getPages({path: 'content'}, // ... extenders
(page) => {
page.slug = slugify(page.name) + '.html';
page.dir = dirname(page.path);
});
for (const page of allPages(pages)) {
page.output = join('public', relative('content', page.dir), page.slug);
page.content = marked(await readFile(page.path));
await writeFile(page.output, `<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<script src="https://cdn.tailwindcss.com?plugins=typography"></script>
<title>${page.name} | Sphido Example</title>
</head>
<body class="prose mx-auto my-6">${page.content}</body>
<!-- Generated by Sphido from ${page.path} -->
</html>
`);
}
Sphido requiere nodo 16.x
y más nuevo. Para cargar un módulo ES, configure "type": "module"
en el package.json
o utilizar el .mjs
extensión.
Ejecute y genere su sitio
Simplemente ejecuta: node index.js
.
Licencia
- Licencia MIT
Recursos
Etiquetas
Generador estático Código abierto Autohospedado Desarrolladores web basados en web desarrollo web Biblioteca