Paseando por un día

Bitácora personal del capitán @fotosycaptura ✨

Mi blog, la historia


Un poco de historia...

Erase una vez, en el año 2000, cuando estudiaba en la universidad, en la que se me dio por crear un sitio web personal. Mi primer sitio web... ¡Qué recuerdos! ¡Que nostalgia!... ^^, bueno, ha pasado bastante tiempo desde ese entonces. Pero... En ese entonces había creado mi sitio web, que aún se puede ver algo de ello en web.archive.org concretamente en el año 2002.

Mi blog en esa época
Mi blog en esa época

Estaba contento con ello, era mi creación, bien colorida, con hartas páginas, y bastante texto donde tenía algunas cosas...

Después, en el año 2003 aproximadamente, cuando cursaba una de las asignaturas de programación... A estas alturas no recuerdo cual sería, pero sí recuerdo que conocí uno de los lenguajes java en ella.

En ese entonces, se me abrió un mundo de posibilidades... Páginas web dinámicas... Bases de datos... Por alguna razón nunca me gustó php, pero java... Java era mi paraíso... Así que comencé a aprender desarrollo en jsp, servlet, etc...

En ese entonces, quité todo, y me puse manos a la obra, y logré desarrollar mi sitio web personal, en el que podía escribir algunas cosas en base de datos y se mostraban como páginas web... Eran tan feliz... - Que ingenuo era -

Mi segundo blog
Mi segundo blog

Después ya con el trabajo no hubo tiempo que pudiera dedicarle, el sitio de myjavaserver que era el lugar que usaba de hosting murió, y ya no hice nada más...

Pero entonces...

Visitando algunos sitios de blogs me puse a pensar sobre si valía la pena realmente un sitio web con base de datos y todo lo del contenido dinámico...

Verán, se trata que de algo personal, no soy una empresa, o un periodista o algo por el estilo, mucho menos un escritor, como para pensar en que haya algún tipo de contenido a cada rato... Lo dinámico sería la interacción del usuario si es que la hay eventualmente, pero todo lo demás, es estático... Entonces... ¿Qué sentido tiene tener un sitio web usando tantos recursos para finalmente, servir páginas webs estáticas y algunas imágenes?

Fue entonces en el que buscando por internet me encontré con generadores de páginas webs estáticas utilizando lenguajes de marcados como el Mark Down u otro en especial, y esto - pensé - me iba a ahorrar bastante tiempo...

En primer lugar, el uso de recursos, ya no tengo que instalar editores tan sofisticados en el ámbito de edición, - menos es más ;) -... En segundo lugar, al ser estático, la carga por el lado del servidor es mucho menor, y por ende la rapidez de carga del sitio web también mejora bastante.

Y entre las búsquedas me encontré con algunos interesantes... Entre ellos Pelican, que usando Python, genera contenido HTML estático...

Consulté algunos sitios, blogs, y si bien, encontré opiniones similares a lo que pienso varios de ellos usan GNU/Linux para la descripción de pasos de configurar Python, Pelican y todo lo relacionado, no vi nada relacionado sobre cómo realizar estos pasos en un ambiente Windows... Así que eso es lo que haré...

Aunque personalmente, no es mucha la diferencia, al menos según yo...

A la fecha de redacción de este post, la versión de Python a usar es la 3.9.2, y con ello todo ha funcionado sin problemas.

¿Ventajas?

Las ventajas son varias, pero siempre está el tema de qué es lo que uno quiere hacer. Así que puede haber diferentes opiniones con respecto a un sitio web estático y uno dinámico, pero no hay que olvidar, que siempre, por muy dinámico que uno piense un sitio, finalmente lo que retorna un servidor es una página web que pueda ser interpretada por el navegador. Lo que realmente estaríamos ahorrando - por decirlo así -, es recursos del propio servidor, y rapidez en la carga de la página.

Lo primero que hice

Lo primero por supuesto fue instalar Python, tan sencillo como ir a la web de Python y descargarlo desde allí.

Una vez lo instalé, abrí una consola en modo administrador y escribí:

pip install pelican  
pip install fabric  
pip install beautifulsoup4  
pip install Markdown  
pip install typogrify  
pip install ghp-import  
pip install virtualenv

Ya con todas las dependencias instaladas solo me puse a jugar desarrollar. 😅

En algunos sitios, blogs, hablan de usar un entorno virtual para no causar problemas con otras versiones de Pyhton, instaladas en el sistema... Tengo que recordar que esto es válido para los usuarios que principalmente usan sistemas basados en GNU/Linux. En OSX de Mac también es válido, aunque si eres un usuario de Windows, lo normal sería que tuvieras una sola versión instalada de Python, por lo que ese paso mencionado no es necesario.

Ehm, una vez mencionado eso, ya solo tuve que crear una carpeta e iniciar una consola desde allí con el explorer...

Ah, si no sabes esto, no te culpo, yo lo descubrí un día por casualidad XD, desde el explorador de Windows en una carpeta en concreto, uno se dirige a la barra de direcciones, borra el texto de la dirección y allí uno escribe cmd, y con ello ya se abre una consola de texto en esa ruta, en vez de la típica y tradicional inicio->ejecutar->cmd, y después mediante las ordenes de comando, navegar hasta la carpeta que uno busca posicionarse.

Bien, entonces invoqué a pelican y su asistente en la creación de lo que sería mi futuro sitio web.

Para ello:

pelican-quickstart

Luego de una breve carga, comenzó con realizar algunas preguntas que uno deberá de responder. A estas alturas tienes que tener cierto nivel de inglés, aunque sea mínimo para saber lo que dice y responder si o no - en inglés -. Aunque a casi todo le respondía que no... XDDD

Y ya después de ello, fue cosa de elegir un tema, algún plugin de los tantos que hay, y con ello, ya solo quedaba comenzar a escribir los futuros artículos dentro de la carpeta content. Ah cierto, no lo mencioné, pero la estructura de carpeta es bastante fácil e intuitiva, según yo, claro está... 😅

Ya para finalizar, solo queda llevar las páginas y todo lo demás generado en la carpeta output después de haber ejecutado Pelican en la consola para generar el contenido estático, y llevarlo a algún sitio web que tengan.

#eso

Referencias

Si desean profundizar sobre la implementación, detalles de ello más técnicos, creación de plantillas, o alguna otra cosa, les dejaré estos enlaces de referencias para sus consultas, documentación, etc...