Releases: makigas/makigas.es
makigas 6.1.2
Historial de cambios de la versiรณn 6.1.2.
Iconos sociales
Fundamentalmente en esta versiรณn se incorporan enlaces a otras redes en la navbar.
Mejoras de SEO
Despuรฉs de seguir analizando cosas en Google Search Console, en esta release se arreglan dos problemas que tienen que ver con el SEO y el cรณmo aparecen en Google las pรกginas. Realmente tiene mรกs que ver con pรกginas que no deberรญan ser indexadas en primer lugar pero que Google Search Console trata como un "error por mi parte" temporal.
Por ejemplo, aunque hemos pasado de 8000 a 1000 pรกginas que estรกn en modo "podrรญan ser indexadas pero tu robots.txt no nos deja", siguen siendo 1000 pรกginas, todas en el buscador de vรญdeos, que Google estรก tratando como un error temporal con mi robots.txt que hace que Google no pueda indexar tranquilamente esas pรกginas.
Sin embargo, no dejan de ser enlaces profundos con distintos tรฉrminos de bรบsqueda dentro de la pรกgina de listado de vรญdeos, filtrando por etiqueta y navegando a pรกginas realmente profundas en la jerarquรญa. Por mi parte preferirรญa que no se centrase en estas pรกginas ya que se trata de contenido blando que puede cambiar dinรกmicamente segรบn cรณmo se encuentre el buscador, y que por lo tanto puede provocar problemas mayores (el enlace sale en Google pero al hacer clic voy a otra pรกgina que no es la que querรญa)
Otro error que se corrige es la redirecciรณn hacia la pรกgina canรณnica de vรญdeo y lista previamente desplegada en la versiรณn 6.1.1 del sitio web. La redirecciรณn funciona, pero ahora hay que hacerla 301 en vez de 302 para que los motores de bรบsqueda confirmen que la pรกgina numรฉrica no se debe mirar.
makigas 6.1.1
Normalmente no subirรญa a producciรณn un martes dado que el sitio web ha empezado a recibir mรกs trรกfico que hace unos meses y suele haber usuarios concurrentes entre semana. Actualmente subo a producciรณn los sรกbados, que es cuando menos trรกfico recibo. Sin embargo, querรญa sincronizar los cambios que hay en la web desde hace unos dรญas con los de las notas de versiรณn.
Nuevo flujo de trabajo
Para no tener que hacer batch-push los sรกbados y matarme a hacer commits los sรกbados, a partir de esta versiรณn voy a optar por trabajar con un pull request separado que me permita ir encadenando los commits que quiero subir en el prรณximo despliegue. El texto de ese pull request me permitirรก tambiรฉn ir preparando las notas de versiรณn que luego van a la release. Quizรก en algรบn momento pueda automatizar esto (spoiler: lo dudo).
Disculpa si el vรญdeo no tiene notas de versiรณn
Sigo aportando notas de versiรณn al contenido de la web. Para sorpresa de nadie, cuando una pรกgina tiene mรกs texto en vez de รบnicamente ser un tรญtulo, una descripciรณn y un vรญdeo, los buscadores lo presentan mejor, y la pรกgina tiene mรกs oportunidades de llevarse una impresiรณn y un potencial clic porque ahora puede abarcar un mayor nรบmero de tรฉrminos de bรบsqueda. SEO 101.
A medida que vayan pasando las semanas tendrรฉ datos mรกs limpios, pero todo parece indicar que publicar notas de versiรณn en una lista aumenta bastante el trรกfico que llega a ella. Ejercicio para lectores รกvidos: en la siguiente imagen, que muestra el trรกfico de todas las pรกginas de vรญdeo de uno de mis cursos, ยฟquรฉ dรญa carguรฉ artรญculos de texto completos, bien formateados, con negrita, cursiva con ejemplos de cรณdigo?
Para el contenido que todavรญa no tiene notas de versiรณn, he metido en la web un banner que avisa que el contenido todavรญa no tiene notas de versiรณn. Tambiรฉn muestra un sondeo con botones, que estรกn conectados mediante eventos analรญticos a Plausible, con la idea de poder saber cuรกnta gente pulsa alguno de los botones y en quรฉ pรกgina lo hace. En el tiempo que lleva en producciรณn, ya ha empezado a ser utilizado, y es un input mรกs que me va a ayudar a determinar la prioridad del proceso de curaciรณn, junto al volumen de trรกfico en la web y en YouTube Analytics.
Mostrar la transcripciรณn si estรก disponible
Ahora que estoy empezando a aportar mรกs transcripciones para el contenido, y que estoy revisando el catรกlogo viejo, me interesa incluir tambiรฉn las transcripciones en todas las pรกginas, incluso las que tienen unas notas de episodio correctas. Como la transcripciรณn suele estar peor formateada (y a veces es un รบnico pรกrrafo), la estoy mostrando plegada por defecto.
Este bloque se estรก mostrando en todas las pรกginas que tienen transcripciรณn, incluso cuando no tienen notas de versiรณn, por lo que es otra forma de poder incorporar texto a la web incluso cuando no hay unas notas de versiรณn disponibles. Todavรญa queda por comprobar a largo plazo si afecta al SEO, aunque dado que estรก plegado por defecto, voy a asumir que no deberรญa influenciar demasiado; si me equivoco en mi predicciรณn, por lo menos estarรฉ mรกs feliz.
Correcciรณn en las listas que duran menos de una hora
Para sorpresa de nadie, habรญa un bug en el contador que dice cรณmo de larga es una lista de reproducciรณn cuando esta dura menos de 1 hora, ya que la palabra โhorasโ va grabada a fuego esperando que luego el reloj use el formato H:MM (por ejemplo, 0:45), cuando en realidad estรก usando el formato MM:SS (por ejemplo, 45:12).
Para listas de menos de 1 hora, ya se muestra correctamente la duraciรณn.
Correcciรณn en las pรกginas canรณnicas de vรญdeo y lista
Otra cosa que no debe ser buena para el SEO es tener mรกs de una pรกgina canรณnica. En la siguiente captura de pantalla, Google estรก indexando una pรกgina que utiliza identificadores numรฉricos en la URL.
Esto se ha corregido y ahora tratar de visitar una pรกgina de vรญdeo cuando en la URL va algรบn nรบmero en vez de algรบn slug harรก una redirecciรณn transparente hasta la pรกgina correcta a la pรกgina correcta.
Actualizaciones de runtime y dependencias
Novedades mรกs importantes:
- Las GitHub Actions y el container de Docker ahora usan Ruby 3.2.1.
- En las รบltimas versiones de Rubocop, el linter marca como incorrectos los archivos de test que sรณlo tienen un caso pending. He aprovechado para borrarlos en previsiรณn de que no los voy a implementar.
- He actualizado esbuild, lo que ha exigido cambiar el buildscript porque ha cambiado la API JavaScript.
makigas 6.1
Cambios hechos en los รบltimos meses a la pรกgina web. A ver si a partir de ahora se puede llevar mejor el changelog de cambios que se va haciendo a makigas.es.
Aspecto
Nueva pรกgina de vรญdeo. El vรญdeo ahora se muestra al 100% de tamaรฑo, para que sea mรกs fรกcil de visualizar, sobre todo ahora que estoy progresivamente cambiando las miniaturas de los cursos por otras nuevas y de color de fondo blanco. Tambiรฉn introduce un widget que lista todos los capรญtulos de una lista, y hace algunos ajustes al รกrea de texto de un vรญdeo.
Mejoras menores en la pรกgina de bรบsqueda. Cuando se aplican filtros, aparece una barra de filtros que permite quitar los filtros previamente aplicados. El campo de bรบsqueda de texto tambiรฉn retiene ahora el query que se haya introducido antes de buscar. Tambiรฉn se mejora la estรฉtica de la pรกgina de error si no encuentra resultados, tanto porque alguien busque cosas que no haya, como porque haya caรญdo Meilisearch.
Nuevo footer. Se hacen cambios menores, se pone mรกs texto en el รกrea de colofรณn, se reorganizan enlaces y se tocan las mรฉtricas del grid, con el fin de hacerlo mรกs limpio. El color de fondo ahora es mรกs oscuro para mejorar el contraste.
Correcciรณn de errores
Correcciรณn de accesibilidad. Algunos elementos no se presentaban bien, por ejemplo: faltaban labels en algunos inputs, y algunas imรกgenes carecรญan de atributo alt. Tambiรฉn se hacen ajustes para garantizar el contraste de color.
Correcciรณn del menรบ de navegaciรณn. Lo hace mรกs fรกcil de abrir y cerrar en escritorio permitiendo plegarlo al hacer clic fuera del elemento. En mรณvil ahora la navbar se muestra de un รบnico color uniforme cuando estรก abierto el menรบ de navegaciรณn.
Correcciรณn del footer para que sea fijo en la parte inferior de la pรกgina. Por ejemplo, en las pรกginas de legal donde no hay mucho texto, se asegura de que el footer quede fijo a la parte inferior del navegador en vez de mostrarlo en mitad de la pรกgina.
Correcciones en los feeds ATOM. Algunos estaban dando problemas y algunos no mostraban en este momento la informaciรณn correcta despuรฉs de los cambios en el modelo de datos.
Modelo de datos
Soporte para makigas EARLY. Permite marcar en el modelo de datos y en la API algunos vรญdeos como restringidos para miembros de makigas+. De este modo, el vรญdeo no sale en la parte pรบblica de la web aunque estรก expuesto a travรฉs de la API para poder usar makigas.es como fuente de verdad para alimentar https://early.makigas.es.
Soporte para Twitch. Permite indicar en el modelo de datos que un vรญdeo tambiรฉn estรก subido como Carga en Twitch, especialmente pensado para los miembros de makigas+ que vienen a travรฉs de Twitch.
Incorporaciรณn de microformatos de Schema.org y JSON-LD. Estรก permitiendo marcar en Google Search algunas de las pรกginas del sitio web como pรกgina de vรญdeo, mostrando una descripciรณn mรกs rica en el cuadro de bรบsqueda. Otros motores de usuario tambiรฉn podrรญan estar aplicando Schema.org.
Panel de control
Exportado de la informaciรณn en formato YouTube Analytics. Para poder registrar mejor grupos de vรญdeos en YouTube Analytics, el panel de control ahora puede exportar una cadena separada por comas con los IDs de los vรญdeos que forman un grupo.
Linter de metadatos y tablas dinรกmicas. Con el objetivo de hacer mรกs fรกcil de encontrar los vรญdeos que todavรญa no han sido dispuestos de metadatos, ahora hay unas tablas dinรกmicas para mostrar aquellos elementos que no estรกn bien dados de alta en el sistema todavรญa al 100%.
Refactorizaciรณn y mantenimiento
Eliminaciรณn de los assets de makigas 5. La vieja versiรณn de la web (2016-2022) seguรญa en el cรณdigo del repositorio aunque no fuese visible. Se han eliminado la mayor parte de las cosas del anterior diseรฑo para no tener componentes viejos ni cรณdigo muerto.
Actualizaciรณn de dependencias. Generalmente al menos una vez por trimestre, siendo lo importante que no se tarda mucho en actualizar a la รบltima versiรณn de Ruby y Rails. En este momento vamos por Ruby 3.2 y Rails 7.0.
Arquitectura
Retirada de Google Analytics y cambio por Plausible. Plausible es mรกs amigable con la privacidad de los usuarios finales y ademรกs quita la necesidad de mostrar banners de cookies antiestรฉticos. Este cambio incluye configurar algunos eventos para poder interceptar en el panel de control cuando alguien hace bรบsquedas, o cuando se consigue reproducir un vรญdeo en la pรกgina (goal de la pรกgina de vรญdeo).
Introducciรณn de Delayed Job como background task manager. La idea de este cambio es permitir que las tareas de reindexaciรณn y de actualizaciรณn automรกtica se ejecuten en segundo plano sin interrumpir el hilo principal. Antes no habรญa tantas, pero ahora que se hacen cosas como reindexaciones masivas de forma periรณdica por si el Meilisearch no estรก ahรญ, era mejor meter ya este refactor.
makigas 6
Esta release es un testamento a lo que se viene. Durante los รบltimos 10 aรฑos, makigas ha sido un juguete unas veces mรกs usado que otras, pero es hora de empezar a mirar hacia adelante. Este rediseรฑo permitirรก hacer cosas que hasta ahora nunca han sido posibles y permitirรกn tambiรฉn que este proyecto sea algo mรกs que simplemente algo en lo que echar el tiempo libre. Prometo no perder la esencia, pero empezar a hacer las cosas mejor que hasta ahora.
Todo el esfuerzo de rediseรฑar la web no podrรญa haber sido posible sin el apoyo de las y los habituales que me siguen apoyando sin yo saber muy bien por quรฉ. A quienes comentan en YouTube cuando aparezco por primera vez en meses. A quienes no se pierden un stream de Twitch. A los first, accionistas, makibros, los habituales del Discord, a los que siguen entrando al foro... sois el motor que hace posible que aun con todo en contra, esto siga funcionando. Es hora de llevar makigas al siguiente nivel, y no pienso defraudaros.
Dani โค๏ธ
November 2018 update
v5.0.7
This is a hotfix release to address an issue with the deployment of v5.0.6 in production environments. Some JS code added in v5.0.6 was using features from ES6, and sprockets couldn't deal with that by default.
It has been decided to fix this issue by moving public JS code from sprockets to webpacker. To prevent future errors like this, deployments to a staging environment will be performed from now on before releasing a new version.
June 2018 update
This is maintenance release focused on improving the deployment of the web application.
Changes:
๐ Added support for DNT headers (#93).
๐ Added ChromeDriver to perform acceptance tests (#89).
๐ Added ATOM feeds for videos, playlists and topics (#80).
๐ Added support for S3/Minio storage backend for multimedia (#77).
๐ Updated dependencies (#76, #78, #79, #82, #84, #91, #92).
October 2017 Update
Development and testing has never been so easy. Support for Docker has been added for non-production workflows. Keep your host clean, and use disposable containers for running the database engine and the web application during development stages.
Changes:
๐ Added support for Docker. (#52, #59)
๐ Updated dependencies. (#74)
September 2017 Update
This release changes the front page header and introduces a new static page talking about our Discord server so that newcomers can learn about the server and join with a click.
It also updates a few dependencies to fix some critical vulnerabilities found on them.
Changes:
August 2017 Update
This is a cumulative release with fixes and changes made in the last months. Server is at the moment running upstream code at all times. Therefore, the concept of a "release" is still not fully baked since changes here have been deployed for ages. I'm still trying to figure out a proper way to mark incremental but semantical versions for this codebase.
Changes as public user
- ๐ New error pages for HTTP 404, HTTP 500 and HTTP 502 pages โ #47
- ๐ Reorganizes the navbar, adds links to the Community and Discord server โ #65
- ๐ Replaced the hero image and some other front page images to save bandwidth โ #42
Changes as site admin
- ๐ Videos can now be marked as private, in which case they won't be served to users or spiders โ #38
- ๐ The dashboard is now served through a subdomain โ #56
Changes as developer
- ๐ Code will complain if a translation is missing โ #36
- ๐ Adds Yarn for managing JavaScript dependencies โ #50
- ๐ Adds Webpack for compiling JavaScript and front-end assets โ #63
- ๐ Added contributing guidelines and documents โ #55
- ๐ Feature tests now test client-side JavaScript code running on browser โ #64
- ๐ Ruby on Rails updated to version 5.1 โ #46
- ๐ Supported Ruby version is now 2.4.1 โ #46
- ๐ฎ Dropped Code of Merit โ #53