Es un cliente de solo lectura para 4chan (https://4chan.org) diseñado para mostrar hilos y respuestas en un formato basado en árbol.
La forma en que 4chan organiza las respuestas a los hilos me parece muy desorientadora e inútil a la hora de determinar el flujo de las conversaciones. En el cliente web 4chan, las respuestas se muestran en una lista plana, en el orden en que se publicaron originalmente.
A medida que un hilo recibe más respuestas, es natural que comiencen a formarse múltiples conversaciones en forma de cadenas de respuestas. A partir de aquí, cada incorporación posterior a la cadena se añade a la gran lista cronológica.
Esto significa que si se desplaza por dicha lista, encontrará publicaciones de varias cadenas de respuestas que tienen poco o nada que ver entre sí y que se entrelazan constantemente, lo que le obligará a cambiar de contexto constantemente y le exigirá que verifique meticulosamente en qué cadena está la respuesta. realmente responde para mantenerse al día con la conversación.
Considerándolo todo, es molesto.
Por eso existe este proyecto: ahora es muy fácil seguir la cadena de respuestas porque, bueno, ¡en realidad se muestra correctamente! Las respuestas a una publicación se convierten en elementos secundarios y se muestran en un nivel más profundo. Así es como Reddit también estructura sus comentarios, y creo que es un sistema bastante intuitivo que mejora diez veces la experiencia del usuario.
La aplicación está escrita en Svelte y se ejecuta casi en su totalidad en el lado del cliente, utilizando nginx como proxy CORS para los servidores API de 4chan. Puede ejecutar un contenedor nginx que aloja la aplicación y actúa como proxy CORS, lo que lo hace muy compacto y fácil de implementar.
La aplicación tiene un tamaño de alrededor de 38.43 KB
, incluidos todos los recursos HTML, JS y CSS. Con Gzip, se reduce a 14 KB
en total. La compilación funciona con el sistema de compilación Vite y los tipos se aplican en el código con TypeScript.
Las imágenes de los hilos se cargan cada vez que se desplazan hacia la vista del navegador, con el objetivo de eliminar las llamadas API no deseadas a la API de 4chan. El proxy nginx CORS también adjunta encabezados X-Forwarded-For
y X-Real-IP
a cada solicitud para indicar el verdadero origen de la solicitud.
Para ejecutar treechan, necesitarás Docker y Git. No es necesario instalar NodeJS en el host ya que el proceso de compilación está completamente en contenedores para su comodidad.
Para verificar que tiene Docker instalado:
$ docker -v
Docker version 20.10.21, build baeda1f82a
$ git -v
git version 2.38.1
La versión de Docker y git no tiene que coincidir, solo asegúrate de tener algo reciente.
Ahora necesitas clonar el repositorio con Git. Esto es importante para que se ejecute el script de compilación, ¡no descargue un archivo zip de GitHub!
$ git clone --depth=1 https://github.com/xxcodianxx/treechan.git
Ahora, simplemente puede usar el script run.sh
incluido e instalará y ejecutará treechan por usted.
$ ./run.sh
Excluyendo los tiempos de descarga de la red, la instalación es extremadamente rápida (aproximadamente 2 segundos).
De forma predeterminada, el servidor se ejecuta en el puerto 8080
, pero esto se puede cambiar en la parte superior del archivo ./run.sh
.
Felicitaciones, ahora tienes Treechan ejecutándose. Si hizo esto en su máquina local, ahora puede visitar http://localhost:8080 y disfrutar.
Si lo hizo en un servidor, simplemente reemplace localhost
con la IP de su servidor. Recuerde reenviar el puerto 8080
o el puerto elegido.