sutty/README.md

82 lines
5.2 KiB
Markdown
Raw Normal View History

2018-11-13 23:00:26 +00:00
2018-01-02 17:19:25 +00:00
# README
This README would normally document whatever steps are necessary to get the
application up and running.
Things you may want to cover:
* Ruby version
* System dependencies
* Configuration
* Database creation
* Database initialization
* How to run the test suite
* Services (job queues, cache servers, search engines, etc.)
* Deployment instructions
* ...
2018-11-13 23:00:26 +00:00
# Introducción
Un sitio web se traduce en calor, consumo eléctrico, desgaste de máquinas y componentes, impacto medioambiental... Cuanto mayor
éxito de una plataforma o sitio (es decir, cuantas más visitas), más consumo de recursos.
Tomar conciencia de todo esto y optimizar al máximo posible ayuda a que Internet sea más sostenible y sustentable.
Al existir una aplicación, es decir un programa de computadoras, que ejecuta código cada vez que se genera una página web, también existen
vulnerabilidades, donde una entidad malevolente (un equipo de hackers con financiamiento gubernamental, por ejemplo) puede engañar a la
aplicación a ejecutar códigos distintos a los originales. Esto hace que las administradoras de los sistemas tengan que estar al pendiente de
actualizaciones y ocuparse de montar infraestructura de protección y prevención, que a su vez consume más recursos digitales.
Un sitio estático puede estar conformado por los mismos elementos que un sitio web dinámico, pero en lugar de generar sus páginas web por cada visita, la aplicación solo las genera una sola vez en forma de archivos. Una vez generado el sitio, esas páginas web pueden ser visitadas miles de veces solo consumiendo los recursos necesarios para enviarlas a través de Internet. Los recursos necesarios para generar cada una fueron utilizados una sola vez.
Como la aplicación sólo se ejecuta una única vez, se reducen al mínimo las posibilidades de ataque. No hay software para actualizar, ni asegurarse que siga funcionando, un sitio estático es el mismo para siempre. Esto no quiere decir que un sitio estático no se pueda actualizar ni aceptar cambios, sino que hay una separación entre el momento de generación y el momento de envío a Internet. Podemos hacer los cambios que queramos y luego los podemos publicar.
Sin embargo, los sitios estáticos no se pueden editar desde un navegador web tan fácilmente como un sistema de manejo de contenidos como
Wordpress.
Por eso, en Kéfir hemos desarrollado una plataforma de edición de sitios web estáticos que hemos llamado Sutty [1].
Así que, el desarrollo de la plataforma DocRed estará dividido en dos elementos:
* Una plataforma de edición y carga de fichas, llamada Sutty.
* Un sitio web estático, basado en un generador de sitios estáticos muy utilizado llamado Jekyll.
Sutty se basa en Jekyll [2], un generador de sitios estaticos desarrollado en el lenguaje de programación Ruby.
[1] Sutty es un personaje creado por la escritora feminista de ciencia ficción Ursula Le Guin. https://en.wikipedia.org/wiki/The_Telling
[2] https://jekyllrb.com/
# Algunas de las funcionalidades
Desarrollamos funcionalidades en la medida que nos salen proyectos de desarrollo en la cooperativa. Al tratarse de un proyecto de software libre, cada vez que desarrollamos una funcionalidad nueva, la implementamos en toda la plataforma Sutty, no sólo para el grupo que nos está pagando por desarrollarla. De esta manera, se va nutriendo este proyecto como un bien común para todes les habitantes de Kéfir.
* Acceso por panel web desde navegador
* Crear, editar y eliminar entradas a través de un editor markdown (formato de texto plano) que tiene un previsualizador html
* Asignar categorías y etiquetas a las entradas: aparecen como paramétros del formulario de edición de entrada. Se pueden autocompletar los valores.
* Exportar entradas, páginas de categorías y etiquetas y el sitio completo en PDF, texto plano y epub
* Optimización de buscadores (SEO)
* Buscador integrado
* Relacionar entradas por similitud semántica, categoría/etiqueta afines
* Subir y eliminar archivos: imágenes (.jpg, .png, .gif), videos (.mp4, .ogg, .webm), audios (.mp3, .ogg) y pdfs
* Agregar archivos a entradas
* Gestionar el orden de las entradas en las páginas de categorías
* Integración con Matomo, software libre de estadísticas web que se puede configurar para respetar la privacidad de les navegantes. Kéfir mantiene su propia instalación de Matomo, por lo que esta información no se pasa a terceros.
* Glosario para definir etiquetas y categorías. Cada vez que aparece una categoría o etiqueta en el sitio, sale hipervinculada a la definición de glosario creada
* Formulario de contacto
Actualmente les habitantes no pueden directamente editar las plantillas y las hojas de estilo (css) directamente desde el navegador. Pueden desarrollar localmente, es decir, en sus propias computadoras el sitio a partir de plantillas Jekyll disponibles en internet [3] o hechas desde 0 con la ayuda de documentación [4]. Una vez que tengan una versión del sitio que quieran visualizar públicamente en internet, pueden pasarnos los archivos y lo subimos a lxs servidorxs. Algún día nos gustaría desarrollar Sutty para que esto se pueda hacer directamente desde el panel de administración :)
[3] https://jekyllthemes.io/
[4] https://jekyllrb.com/docs/