- Pages
- Sirve la app y la API
- D1
- Guarda tus notas, en SQLite
- R2
- Guarda tus archivos, hasta 25 MB
- MIT
- Código abierto, sin cuota mensual
Markflare: Un Notion que es tuyo, en tu cuenta de Cloudflare.
Editor por bloques con menú /, páginas anidadas, tareas, código, fórmulas, tablas y enlaces públicos. Sin servidor que mantener, sin Docker, sin suscripción.
git clone https://github.com/Chaska-dev/Markflare.git
Qué hay dentro
Todo lo que trae el ZIP, sin plugins ni planes de pago. Lo que no está en esta lista, no lo promete.
-
Editor de bloques
Escribe / y elige: títulos, listas, tareas, código, fórmulas, tablas, citas, callouts, imágenes, archivos y subpáginas.
/ -
Páginas anidadas
Una página guarda subpáginas. Borrar una se lleva a sus hijas a la papelera, y desde ahí se restauran.
árbol -
Arrastrar y soltar
Mueve y anida bloques. Suelta una imagen o un documento en la página y se sube solo.
≤ 25 MB -
Enlaces públicos
Un clic publica una página y sus subpáginas en solo lectura. Otro clic lo revoca.
128 bits -
Markdown
Importa un archivo .md como página y exporta cualquier página de vuelta a Markdown.
.md -
Servidor MCP
Conecta Claude Desktop, Cursor o Zed a tu espacio de trabajo para leer, buscar e importar notas.
pnpm run mcp -
Bilingüe
Interfaz en español e inglés, con tema claro y oscuro. Se cambia al vuelo.
ES · EN
Instrucciones
Método 1 de 3: el panel de Cloudflare. Unos 15 minutos.
Necesitas una cuenta de Cloudflare, node y pnpm.
-
1. Consigue el código
Clónalo y compílalo. Sale una carpeta dist/.
git clone https://github.com/Chaska-dev/Markflare.git cd Markflarepnpm installpnpm run build -
2. Crea D1 y R2
En el panel: una base D1 llamada markflare-db y un bucket R2 llamado markflare-files. Deja el bucket privado.
-
3. Crea las tablas
Abre markflare-db, pestaña Console, y pega los bloques SQL en orden. Todos usan IF NOT EXISTS.
Bloques SQL en el README -
4. Conecta y protege
Crea el proyecto Pages y sube dist/. Enlaza DB y BUCKET, y añade tres secretos cifrados.
DB → markflare-db BUCKET → markflare-files AUTH_USERNAME · AUTH_PASSWORD · AUTH_SECRETGenera AUTH_SECRET con openssl rand -hex 32
-
5. Enciéndelo
Tu espacio queda en markflare.pages.dev. Si el login responde 503, vuelve a desplegar: los secretos entran en el siguiente deploy.
Especificaciones
- Frontend
- React 18, Vite 5, TypeScript
- API
- Pages Functions con Hono. En local, Express 5 con las mismas rutas
- Notas
- Cloudflare D1. En local, un archivo SQLite
- Archivos
- Cloudflare R2, bucket privado, máx. 25 MB. En local, uploads/
- Acceso
- Un usuario. Tokens HMAC-SHA256 de 24 h
- Login
- Máx. 5 intentos por minuto por IP
- Compartir
- Tokens de 128 bits, limitados al subárbol compartido
- MCP
- @modelcontextprotocol/sdk, con tokens por cliente
- Paquetes
- pnpm
- Licencia
- MIT
Enciende el tuyo.
Clónalo, crea D1 y R2, pon tres secretos. Tus notas viven en tu cuenta desde el primer minuto.
git clone https://github.com/Chaska-dev/Markflare.git