El desarrollo web hoy en día se ha vuelto muy complicado gracias a los creadores de miles de nuevas formas de hacer lo mismo. En los primeros días del desarrollo web, tenía PHP y jQuery, que hacían prácticamente todo lo que necesitábamos. Pero bueno, las cosas han cambiado ahora.
Entonces, estaba buscando una manera de crear mi sitio web personal. Lo cual hubiera tenido algunos blogs y mi proyecto mostraría eso es todo, no es gran cosa, ¿verdad? Bueno, aunque también lo mismo. Entonces, mi pensamiento inicial fue usarlos como mi pila tecnológica
Bueno, este podría ser el final feliz pero... ?
Como ya dije, necesitaré una sección de blog e, irónicamente, blogs y reacciones no combinan bien. Dado que React es básicamente para crear aplicaciones web, no sitios web basados en contenido. Ahora los que no saben porque aquí les dejo un resumen de chatGPT
ChatGPT dijo,
React no es ideal para sitios basados en contenido principalmente porque depende de la representación del lado del cliente, lo que puede afectar negativamente al SEO y a los tiempos de carga inicial de la página. Los sitios basados en contenido se benefician de la representación del lado del servidor (SSR) o la generación de sitios estáticos (SSG), que React no maneja de forma inmediata. Herramientas como Next.js o Gatsby, que amplían React, se adaptan mejor a estas necesidades.
Bueno, es obvio que necesito SSR para el sitio de blogs, ya que quería una buena indexación por parte de los motores de búsqueda y vistas previas profesionales de enlaces de redes sociales. NextJs podría darme ambas cosas, pero todavía hay un problema, y es algo personal.
Mira, siempre me encantó usar las páginas de Cloudflare y quería seguir con eso, además quería que el enrutamiento de correo electrónico gratuito de Cloudflare tuviera una dirección de correo electrónico personalizada adjunta a mi dominio, reduciendo así el costo.
Intenté implementar el sitio nextJS en páginas de Cloudflare a través de su documentación oficial. Bueno, las cosas no salieron bien. No pude implementarlo allí. Intenté durante horas encontrar una solución y nada funcionó. Digamos que nextJS y Cloudflare no me fueron bien juntos. Entonces, si alguien de Vercel o Cloudflare lee esto, corríjame si me falta algo.
Bueno, en este punto no tenía esperanza y la última opción que tenía era SSG.
Ahora SSG es bueno y entiendo la importancia aquí. El problema es que nunca antes había trabajado con SSG y hay varias rutas para atravesarlo. Hay cosas como Hugo, Gatsby, Astro, bla, bla. Y probablemente más. Ahora no estaba familiarizado con ninguno de ellos y en ese momento estaba tan frustrado que no estaba dispuesto a invertir ni un poco en aprender una nueva herramienta para una aplicación de blog simple. Así que pensé: "A la mierda, haré lo mío".
Algunos puntos por los que decidí desarrollar mi propio generador de sitios estáticos
El plan era crear un sitio web a la antigua usanza. Los artículos separados tendrán sus propias páginas html.
Aquí está el resumen completo:
articles/ ├── art-1 │ ├── art.md │ └── config.json ├── art-2 │ ├── art.md │ └── config.json ├── art-3 │ ├── art.md │ └── config.json └── art-4 ├── art.md └── config.json
Por lo tanto, cada publicación tendrá su propia carpeta y la carpeta tendrá config.json y art.md. El script de Python tomará template.html e insertará contenidos dinámicos en esa plantilla HTML, por ejemplo, el título de la publicación. slug, miniaturas del archivo de configuración y artículo principal del archivo de rebajas analizado. Lo más importante es que generará metaetiquetas dinámicamente para SEO y redes sociales. Luego, escribirá los cambios en un archivo llamado art/
fit ya sabes como en F it. Tiene los siguientes comandos u opciones:
$ ./fit --help fit: also known has f**k it build system A build system for my personal site developed by Shazin USAGE fitMecanismo de implementaciónCOMMANDS init Creates a new post template at articles/art-[n] build art- Builds the specified article sync Syncs the global articles index to homepage uploader Launches the GTK GUI image uploader upload Uploads the specified file to firebase deploy Deploys local changes to remote repository help, -h, --help Displays this help menu
Entrega de imágenes
Interfaz de carga
Interfaz de carga de publicaciones
Interfaz CLIComentarios y discusión
¿Valió la pena?
Concluyendo
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3