Skip to content

wuilmerbolivar/initnulltv

Repository files navigation

🚀 InitNullTV

Plataforma educativa en español que documenta, con transparencia radical, la construcción de un negocio digital desde cero.


🧭 Descripción

InitNullTV es una base editorial moderna enfocada en compartir aprendizaje real, decisiones estratégicas y construcción pública de una marca digital.

Combina contenido local en MDX con un backend editorial en Sanity, permitiendo escalar contenido sin perder control técnico.


👀 Vista previa

Vista previa de InitNullTV


🧱 Stack tecnológico

  • Vite 6
  • ⚛️ React 19
  • 🟦 TypeScript
  • 🔀 React Router 7
  • 🧠 Sanity (CMS headless)
  • 📝 react-markdown + remark-gfm + rehype-raw
  • 🎨 CSS personalizado

✨ Features principales

  • 🏠 Landing con narrativa del proyecto
  • 📝 Blog basado en MDX (local-first)
  • 🎥 Biblioteca de videos
  • 🧩 Integración con CMS (Sanity)
  • 🔎 SEO completo (Open Graph, JSON-LD, sitemap, feeds)
  • 📊 Tracking dinámico (GTM, GA4, Meta Pixel, Metricool)
  • 🌐 Rutas públicas optimizadas para indexación

📦 Arquitectura

📝 Contenido local (MDX)

Los artículos viven en:

/posts/*.mdx

Procesados mediante:

lib/localPosts.ts

Incluye:

  • Parsing de frontmatter
  • Generación de slug
  • Ordenamiento por fecha
  • Render con soporte Markdown + HTML

Frontmatter requerido:

---
title: "Título del post"
excerpt: "Resumen corto"
date: 2025-10-27 00:00:00 -0500
tags: [emprendimiento, youtube, ia]
image: /assets/img/mi-portada.webp
---

🧠 Contenido remoto (Sanity)

Configurado en:

lib/sanityClient.ts

Datos consumidos:

  • Configuración global (siteSettings)
  • Perfil del creador
  • Recursos y recomendaciones
  • Testimonios
  • Contenido legal

⚠️ Nota: Aunque existe un schema post en Sanity, actualmente los artículos públicos se sirven desde MDX local.


⚙️ Configuración dinámica

Desde siteSettings, el frontend resuelve:

  • Identidad del sitio (título, descripción)
  • SEO global
  • Assets (logo, favicon, OG image)
  • Redes sociales
  • Tracking IDs

🧭 Rutas del sistema

Ruta Descripción
/ Home
/proyecto Historia del proyecto
/comunidad Presencia social
/multimedia Videos
/notas Blog
/notas/:slug Post individual
/recursos Recursos
/contacto Contacto
/aviso-legal Legal
/politica-privacidad Privacidad
/politica-cookies Cookies
/terminos-condiciones Términos
/sitemap.xml Sitemap
/feed.xml RSS
/videos.xml Video sitemap

📁 Estructura del proyecto

.
├── App.tsx
├── components/
├── data/
├── hooks/
├── lib/
├── pages/
├── posts/
├── schemaTypes/
├── assets/
├── constants.ts
├── sanity.config.ts
└── vite.config.ts

🧪 Desarrollo local

Requisitos

  • Node.js (LTS)
  • npm

Instalación

npm install

Ejecutar entorno local

npm run dev

📍 Disponible en:

http://localhost:3000

Build de producción

npm run build

Preview del build

npm run preview

⚙️ Scripts

{
  "dev": "vite",
  "build": "vite build",
  "preview": "vite preview"
}

Actualmente no hay scripts de linting ni testing.


✍️ Cómo publicar contenido

  1. Crear archivo en /posts

  2. Agregar frontmatter obligatorio

  3. Escribir contenido en Markdown/HTML

  4. Publicación automática en:

    • /notas
    • Home
    • /notas/:slug

🔍 SEO & Distribución

Incluye:

  • ✅ Meta tags dinámicos
  • ✅ Open Graph + Twitter Cards
  • ✅ JSON-LD estructurado
  • robots.txt
  • sitemap.xml
  • feed.xml
  • videos.xml

🧠 Decisiones técnicas clave

  • Alias @ configurado en vite.config.ts
  • Sin variables de entorno requeridas (config hardcodeada en Sanity client)
  • Generación de sitemap/feed desde React (no estático)
  • Sanity Studio incluido pero sin script expuesto

🎯 Objetivo del proyecto

InitNullTV no es una landing tradicional.

Es una infraestructura de contenido diseñada para documentar:

  • 📘 Aprendizaje real
  • 💼 Decisiones de negocio
  • 🎥 Estrategia de contenido en video
  • 🧠 Pensamiento estratégico
  • 🧩 Curaduría de recursos
  • 📈 Crecimiento de marca personal

🧩 Filosofía

Construir en público. Documentar sin filtros. Aprender haciendo.


🚧 Próximos pasos (recomendado)

  • Sistema de tags dinámicos
  • Búsqueda interna
  • Migración opcional a contenido híbrido (MDX + Sanity posts)
  • Testing (Vitest / Playwright)
  • Linting (ESLint + Prettier)
  • CI/CD pipeline

📝 Política de Uso y Licencia

Este proyecto se comparte bajo la licencia Creative Commons Atribución (CC BY).

Esto significa que puedes compartir, reutilizar y adaptar el contenido y el código fuente, incluso con fines comerciales, siempre que otorgues el crédito correspondiente al autor original.

Al reutilizar o derivar este trabajo, debes incluir una atribución visible a Wuilmer Bolívar dentro del código, la documentación o la plataforma final donde se publique la adaptación.


🤝 Contribución

Este proyecto está enfocado principalmente en uso personal/documentación pública, pero puede evolucionar a open source en el futuro.


📬 Contacto

Disponible desde /contacto dentro del sitio.


⭐ Si este proyecto te aporta valor, considera usarlo como referencia o base para tu propio sistema de contenido.

About

Plataforma educativa en español enfocada en documentar, con transparencia radical, la construcción de un negocio digital desde cero

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors