5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-21 23:06:22 +00:00
Panel de Sutty para correr con la CI
Find a file
2020-02-11 14:45:00 -03:00
_deploy generar los sitios! 2018-02-20 14:47:11 -03:00
_sites directorios que tienen que existir 2019-09-07 14:58:24 -03:00
app margen entre botones #80 2020-02-11 14:45:00 -03:00
bin fixup 2019-09-24 16:34:34 -03:00
config dar menos opciones al crear el sitio #80 2020-02-11 14:42:55 -03:00
db hacer inteligencia con sutty 2020-02-06 14:06:47 -03:00
doc articulos relacionados, sin filtro 2020-01-28 18:05:59 -03:00
lib cargar warden automaticamente 2019-04-08 15:30:25 -03:00
log init 2018-01-02 14:19:25 -03:00
public favicon 2019-10-02 14:37:15 -03:00
test Content Security Policy 2020-02-06 13:17:04 -03:00
tmp init 2018-01-02 14:19:25 -03:00
.browserslistrc agregar webpacker y actiontext 2019-08-30 17:47:31 -03:00
.dockerignore Contenedor 2019-09-06 21:53:53 -03:00
.env.example hacer inteligencia con sutty 2020-02-06 14:06:47 -03:00
.gitignore desarrollar con https, ver https://0xacab.org/sutty/sutty.local 2020-02-06 13:18:10 -03:00
.rubocop.yml actualización a alpine 3.11 y ruby 2.6.5 2019-12-20 15:51:20 -03:00
.rubocop_todo.yml no fallar con el titulo 2019-04-29 19:49:24 -03:00
.ruby-version actualización a alpine 3.11 y ruby 2.6.5 2019-12-20 15:51:20 -03:00
babel.config.js agregar webpacker y actiontext 2019-08-30 17:47:31 -03:00
Capfile poder compilar el sitio con sidekiq 2019-07-25 22:13:46 -03:00
config.ru rubocop 2019-03-26 12:32:20 -03:00
Dockerfile agregar optimizadores de imágenes 2020-02-06 13:30:21 -03:00
entrypoint.sh docker 2019-04-08 19:40:51 -03:00
Gemfile hacer inteligencia con sutty 2020-02-06 14:06:47 -03:00
Gemfile.lock hacer inteligencia con sutty 2020-02-06 14:06:47 -03:00
LICENSE licencia 2018-01-02 14:19:51 -03:00
Makefile solo detectar gemas cuando las estamos compilando 2020-02-06 14:18:14 -03:00
monit.conf contenedor 2019-11-18 14:10:05 -03:00
package.json articulos relacionados, sin filtro 2020-01-28 18:05:59 -03:00
postcss.config.js agregar webpacker y actiontext 2019-08-30 17:47:31 -03:00
Procfile migrar a postgresql 2019-09-24 14:56:04 -03:00
Rakefile rubocop 2019-03-26 12:32:20 -03:00
README.md Update README.md 2018-11-13 15:00:26 -08:00
rubygems-platform-musl.patch soportar gemas binarias 2019-09-18 15:47:43 -03:00
sync_assets.sh contenedor 2019-11-16 20:59:07 -03:00
yarn.lock articulos relacionados, sin filtro 2020-01-28 18:05:59 -03: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

  • ...

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/