5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-21 22:36:22 +00:00
Panel de Sutty para correr con la CI
Find a file
2019-07-10 19:45:20 -03:00
_deploy generar los sitios! 2018-02-20 14:47:11 -03:00
app enviar el nombre del sitio en la invitación 2019-07-10 19:32:08 -03:00
bin rubocop 2019-07-03 16:35:13 -03:00
config no permitir quitar a le ultime usuarie 2019-07-10 17:58:05 -03:00
db WIP migrar a roles 2019-07-08 13:43:39 -03:00
doc cierre 2019-07-10 19:45:20 -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 wip de invitadxs 2018-09-28 11:35:48 -03:00
test implementar Post.destroy 2019-05-30 13:06:12 -03:00
tmp init 2018-01-02 14:19:25 -03:00
vendor init 2018-01-02 14:19:25 -03:00
.dockerignore docker 2019-04-08 19:40:51 -03:00
.env.example devise 2019-07-03 16:57:16 -03:00
.gitignore sitios a base de datos 2019-07-03 20:25:23 -03:00
.rubocop.yml enviar el nombre del sitio en la invitación 2019-07-10 19:32:08 -03:00
.rubocop_todo.yml implementar Post.destroy 2019-05-30 13:06:12 -03:00
Capfile rubocop 2019-03-26 12:32:20 -03:00
config.ru rubocop 2019-03-26 12:32:20 -03:00
entrypoint.sh docker 2019-04-08 19:40:51 -03:00
Gemfile Merge branch 'rails' into autenticacion 2019-07-10 17:05:41 -03:00
Gemfile.lock Merge branch 'rails' into autenticacion 2019-07-10 17:05:41 -03:00
LICENSE licencia 2018-01-02 14:19:51 -03:00
monit.conf docker 2019-04-08 19:40:51 -03:00
package.json select2+bootstrap4+validacion 2018-06-19 14:33:13 -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
yarn.lock select2+bootstrap4+validacion 2018-06-19 14:33:13 -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/