É um cliente somente leitura para 4chan (https://4chan.org) projetado para mostrar tópicos e respostas em formato baseado em árvore.
Acho a maneira como o 4chan organiza as respostas aos tópicos muito desorientadora e inútil para determinar o fluxo das conversas. No cliente web 4chan, as respostas são mostradas em uma lista simples, na ordem em que foram postadas originalmente.
À medida que um tópico recebe mais respostas, é natural que várias conversas na forma de cadeias de respostas comecem a se formar. A partir daqui, cada adição subsequente à cadeia é apenas adicionada à grande lista cronológica.
Isso significa que se você estiver percorrendo a lista, encontrará postagens de várias cadeias de resposta que têm pouco ou nada a ver umas com as outras, constantemente entrelaçadas, forçando você a mudar constantemente de contexto e exigindo que você verifique meticulosamente qual cadeia é a resposta. na verdade responde para acompanhar a conversa.
Em suma, é irritante.
É por isso que este projeto existe - agora é muito fácil acompanhar a cadeia de respostas porque, bem, ela é mostrada corretamente! As respostas a uma postagem tornam-se suas filhas e são mostradas em um nível mais profundo. É assim que o Reddit também estrutura seus comentários, e acredito que seja um sistema bastante intuitivo que melhora dez vezes a experiência do usuário.
O aplicativo é escrito em Svelte e roda quase inteiramente no lado do cliente, usando nginx como proxy CORS para os servidores API do 4chan. Você pode executar um contêiner nginx que hospeda o aplicativo e atua como proxy CORS, tornando-o muito compacto e fácil de implantar.
O aplicativo tem cerca de 38.43 KB
, incluindo todos os ativos HTML, JS e CSS. Com o Gzip, ele diminui para 14 KB
no total. A construção é desenvolvida pelo sistema de construção Vite e os tipos são aplicados no código com TypeScript.
Imagens de threads são carregadas sempre que são roladas na visualização do navegador, com o objetivo de eliminar chamadas de API de spam para a API do 4chan. O proxy nginx CORS também anexa cabeçalhos X-Forwarded-For
e X-Real-IP
a cada solicitação para indicar a verdadeira origem da solicitação.
Para executar o treechan, você precisará do Docker e do Git. Não é necessário instalar o NodeJS no host, pois o processo de construção é totalmente conteinerizado para sua conveniência.
Para verificar se você tem o Docker instalado:
$ docker -v
Docker version 20.10.21, build baeda1f82a
$ git -v
git version 2.38.1
A versão Docker e git não precisam ser iguais, apenas certifique-se de ter algo recente.
Agora você precisa clonar o repositório com Git. Isso é importante para que o script de construção seja executado, não baixe um arquivo zip do GitHub!
$ git clone --depth=1 https://github.com/xxcodianxx/treechan.git
Agora, você pode simplesmente usar o script run.sh
incluído e ele instalará e executará o treechan para você.
$ ./run.sh
Excluindo os tempos de download da rede, a instalação é extremamente rápida (cerca de 2 segundos).
Por padrão, o servidor é executado na porta 8080
, mas isso pode ser alterado na parte superior do arquivo ./run.sh
.
Parabéns, agora você tem o treechan em execução. Se você fez isso em sua máquina local, agora você pode visitar http://localhost:8080 e aproveitar.
Se você fez isso em um servidor, basta substituir localhost
pelo IP do seu servidor. Lembre-se de encaminhar a porta 8080
ou a porta escolhida.