## Descripción
Este repositorio contiene el blog Conocimientos Libres, ubicado en
## Generar el blog
### Instalación de dependencias
Puedes generar este blog en tu ordenador. Para ello necesitas tener
los siguientes programas instalados:
+ [Pelican](https://github.com/getpelican/pelican). Es el generador de páginas
+ [Python](http://python.org/). Es el lenguaje de programación en el que
está escrito Pelican.
+ [PHP](https://www.php.net/). Lenguaje de programación usado para el buscador
y formulario de comentarios.
+ [Markdown](https://pypi.python.org/pypi/Markdown/). Markdown
es el lenguaje de marcado ligero en el que están escritos los
artículos y páginas.
+ [Jinja2](https://palletsprojects.com/p/jinja/). Un motor de plantillas muy rápido y expresivo.
+ [Babel](https://pypi.org/project/Babel/). Para la traducción del tema
de la página.
+ [BeautifulSoup4](https://pypi.python.org/pypi/beautifulsoup4/).
Requerido por el complemento tipue-search.
Instalar `virtualenv` con:
Distros basadas en Debian:
```console
$ sudo apt install virtualenv
```
Distros basadas en Arch:
```console
$ sudo pacman -S python-virtualenv
```
No es realmente necesario, pero es muy recomendable instalar [GNU
Make](https://gnu.org/software/make). En la siguiente sección se asume
que tienes Make instalado.
+ En sistemas operativos basados en Arch se
puede instalar con la instrucción:
$ sudo pacman -S make
+ En sistemas operativos basados en Debian se
puede instalar con la instrucción:
$ sudo apt install make
### Generar el contenido
Tras instalar las dependencias, puedes generar el blog ejecutando las
siguientes órdenes:
1. `git clone https://notabug.org/heckyel/cl`
2. `cd cl`
3. `virtualenv -p python3 venv`
4. `source venv/bin/activate`
5. `pip install -U -r requirements.txt`
6. `(cd cl-theme && make compile)`
7. `cp -v Makefile.example Makefile`
8. `make html`
Tras completar estos pasos, el blog estará disponible en la carpeta
`output`. Abre el archivo `output/index.html` con tu navegador favorito
para ver el blog.
## Colaboración
### Escribir un artículo
Si quieres publicar un artículo en Conocimientos Libres, puedes realizar un *pull
request* o [mandarme el artículo por correo
electrónico](mailto:heckyel@riseup.net). Si el artículo es
interesante, puede que lo acepte.
Si no sabes cómo funciona Pelican, puedes mandarme el artículo por correo
sin preocuparte por el formato. Si quieres hacer un *pull request*,
debes utilizar los metadatos de Pelican y escribir el artículo en
[Markdown](https://es.wikipedia.org/wiki/Markdown). A continuación
se muestra un ejemplo.
```
Author: Nombre de la autora
Category: Python
Date: 2017-12-03 10:20
Slug: titulo-del-artículo
Tags: pelican, publishing
Title: Título del artículo
Este es el contenido del artículo. Puedo usar la sintaxis de
[Markdown](https://es.wikipedia.org/wiki/Markdown)
```
El contenido de Conocimientos Libres se encuentra bajo dominio público
([CC0 1.0 Universal](https://creativecommons.org/publicdomain/mark/1.0/)).
Si quieres publicar tu artículo usando otra licencia, indícalo.
Cuando escribas un artículo intenta utilizar
[etiquetas](https://conocimientoslibres.tuxfamily.org/tags/) y
[categorías](https://conocimientoslibres.tuxfamily.org/categories/) que ya existan, no
utilices el nombre de la categoría del artículo también como etiqueta.
Si necesitas alguna funcionalidad especial (como un vídeo, una imagen de
cabecera...) intenta utilizar complementos o funcionalidades que ya
estén presentes en el blog. Consulta ejemplos de artículos que hacen uso
de estos.
### Hacer una traducción
Copia el archivo que quieres traducir y añade el código del idioma (por
ejemplo `.de` para el alemán) antes de la extensión `.md`. Traduce el
contenido del artículo o la página. Cuando termines, cambia los
metadatos que hagan falta (título, autor, etc.) y añade el metadato
`Lang` con el valor del código del idioma de la traducción. A
continuación se muestra un ejemplo.
```
Author: nameauthor
Date: 2017-02-28 01:11
Lang: de
Slug: reflexión-sobre-los-medios-de-comunicación
Tags: Bücher, Fernsehen, freie Software, Internet, Kommentar, Medien
Title: Kommentar zu der Medien
Heutzutage gibt es viele Medien, die vorher nicht existierten. Das [...]
```
### Mejora de la página
También puedes mejorar la apariencia y funcionalidad de la página.
Simplemente crea un *pull request*. Antes de hacerlo, te recomendamos
conocer [cómo se organiza la estructura de
directorios](https://conocimientoslibres.tuxfamily.org/pages/estructura-de-directorios.html).
También es
recomendable comprobar si el código
HTML
es válido ejecutando `make validate` en la carpeta del proyecto (debes
tener
GNU Make
y [html5validator](https://pypi.python.org/pypi/html5validator)
instalados).
También es necesario tener instalado Java para que funcione `html5validator`:
$ sudo pacman -S jdk8-openjdk jre8-openjdk-headless
Comprobar versión de Java:
```console
$ java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (IcedTea 3.3.0) (Hyperbola GNU/Linux-libre build 8.u121_3.3.0-1.hyperbola4-x86_64)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)
```
## Información de licencias
El contenido de este sitio web se encuentra bajo dominio público,
excepto donde se especifique lo contrario.
Todo el código es software libre; se encuentra bajo la licencia AGPLv3, salvo
las siguientes excepciones:
- Licencias de JavaScript. La información sobre las licencias de
JavaScript se encuentra en el archivo `content/pages/libreJS.md` en
forma de [tabla preparada para ser leída por LibreJS](https://www.gnu.org/software/librejs/manual/librejs.html#JavaScript-Web-Labels).
- Todo lo que hay en el directorio `cl-theme` se encuentra bajo la licencia GPLv3.
- Los siguientes complementos para Pelican (se encuentran en el
directorio `plugins`):
- **compressor**. Bajo la licencia AGPLv3.
- **extract_toc**. Bajo la licencia GPLv3.
- **get_app_version**. Bajo la licencia GPLv3.
- **i18n_subsites**. Bajo la licencia GPLv3.
- **Neighbor Articles Plugin for Pelican**. Bajo la licencia GPLv3.
- **pelican-css**. Bajo la licencia GPLv3.
- **pelican-js**. Bajo la licencia GPLv3.
- **pelican_comments**. Bajo la licencia AGPLv3.
- **sitemap**. Bajo la licencia AGPLv3.
- **tag-cloud**. Bajo la licencia AGPLv3.
- **tipue-search**. Bajo la licencia AGPLv3.
## Preguntas frecuentes
### ¿Existe servicio onion para usuarios Tor?
Sí, está alojado en
### ¿Dónde esta alojado el repositorio con el código fuente?
Está alojado en , y hay
copias en otros lugares:
- https://notabug.org/heckyel/cl
### ¿Y el sistema de comentarios?
Puedes [mandarme el comentario por correo
electrónico](mailto:heckyel@riseup.net) con el
siguiente formato:
```
post_id: my-blog-slug
Author: Name
Date: 2019-11-15 18:44
Email: snowden@example.xu
Slug: snowden-20191115-15:39:51
Este es un mensaje de prueba.
```
o rellenar directamente desde el formulario de
comentarios de CL.
Por motivos de privacidad y nuestra
[política de uso](https://conocimientoslibres.tuxfamily.org/pages/politica-de-uso.html)
tus comentarios NUNCA serán publicados en los repositorios
GIT.
### ¿Y los vídeos?
Los vídeos que contiene Conocimientos Libres no se encuentran
en este repositorio por varias razones:
- No es nada útil añadir los vídeos al repositorio, pues Git no está
hecho para controlar los cambios en los vídeos. Además, normalmente no
se suelen modificar los vídeos ya creados.
- Solo harían que este repositorio fuera más pesado aún.
- Algunos vídeos no se encuentran alojados en el servidor de Conocimientos Libres.
La siguiente tabla contiene todos los vídeos que se encuentran en Conocimientos Libres: