aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: c1dbcf8907bb68f0aef23e550f4ced296cbcdca7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
## Descripción

Este repositorio contiene el blog Conocimientos Libres, ubicado en
<https://conocimientoslibres.tuxfamily.org/>

## 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
<abbr title="HyperText Markup Language">HTML</abbr>
es válido ejecutando `make validate` en la carpeta del proyecto (debes
tener
<a href="https://www.gnu.org/software/make/"><abbr title="GNU's Not Unix">GNU</abbr> Make</a>
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 <a
href="https://www.gnu.org/licenses/agpl-3.0.html" rel="license"><abbr
title="Affero General Public License version 3">AGPLv3</abbr></a>, 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 <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
- Los siguientes complementos para Pelican (se encuentran en el
  directorio `plugins`):

    - **compressor**. Bajo la licencia <a href="https://www.gnu.org/licenses/agpl-3.0.html" rel="license"><abbr title="GNU Affero General Public License">AGPLv3</abbr></a>.
    - **extract_toc**. Bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
    - **get_app_version**. Bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
    - **i18n_subsites**. Bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
    - **Neighbor Articles Plugin for Pelican**. Bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
    - **pelican-css**. Bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
    - **pelican-js**. Bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="license"><abbr title="General Public License version 3">GPLv3</abbr></a>.
    - **pelican_comments**. Bajo la licencia <a href="https://www.gnu.org/licenses/agpl-3.0.html" rel="license"><abbr title="GNU Affero General Public License">AGPLv3</abbr></a>.
    - **sitemap**. Bajo la licencia <a href="https://www.gnu.org/licenses/agpl-3.0.html" rel="license"><abbr title="GNU Affero General Public License">AGPLv3</abbr></a>.
    - **tag-cloud**. Bajo la licencia <a href="https://www.gnu.org/licenses/agpl-3.0.html" rel="license"><abbr title="GNU Affero General Public License">AGPLv3</abbr></a>.
    - **tipue-search**. Bajo la licencia <a href="https://www.gnu.org/licenses/agpl-3.0.html" rel="license"><abbr title="GNU Affero General Public License">AGPLv3</abbr></a>.

## Preguntas frecuentes

### ¿Existe servicio onion para usuarios Tor?

Sí, está alojado en <http://gyaakg65qlzz45sc2qbphb2v6oppgw4ayv3l2k6ukrgqb5lydh7ddmqd.onion>

### ¿Dónde esta alojado el repositorio con el código fuente?

Está alojado en <https://git.conocimientoslibres.ga/services/cl.git>, 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:

<table>
    <tr>
        <th>Título</th>
        <th>Fuente</th>
    </tr>
    <tr>
        <td>Citizenfour</td>
        <td><a href="https://archive.org/download/libreweb/citizenfour-spanish.webm">https://archive.org/download/libreweb/citizenfour-spanish.webm</a></td>
    </tr>
    <tr>
        <td>¿Cómo generar Freak Spot?</td>
        <td><a href="https://archive.org/download/libreweb/freakspot.webm">https://archive.org/download/libreweb/freakspot.webm</a></td>
    </tr>
    <tr>
        <td>Curso de Hyperbola</td>
        <td>
            <ul>
                <li><strong>[Base + Usuario]</strong>. <a href="https://archive.org/download/hyperbola-video-1/Hyperbola%20Base%20%2B%20Usuario%201%E2%81%846.webm">https://archive.org/download/hyperbola-video-1/Hyperbola%20Base%20%2B%20Usuario%201%E2%81%846.webm</a></li>
                <li><strong>[Xorg]</strong>. <a href="https://archive.org/download/hyperbola-video-2/Hyperbola%20Xorg%202%E2%81%846.webm">https://archive.org/download/hyperbola-video-2/Hyperbola%20Xorg%202%E2%81%846.webm</a></li>
                <li><strong>[XFCE]</strong>. <a href="https://archive.org/download/hyperbola_20180527/Hyperbola%20XFCE%203%E2%81%846.webm">https://archive.org/download/hyperbola_20180527/Hyperbola%20XFCE%203%E2%81%846.webm</a></li>
                <li><strong>[Fixed Idioma]</strong>. <a href="https://archive.org/download/hyperbola_20180527_2333/Hyperbola%20Fixed%20Idioma%204%E2%81%84%E2%81%846.webm">https://archive.org/download/hyperbola_20180527_2333/Hyperbola%20Fixed%20Idioma%204%E2%81%84%E2%81%846.webm</a></li>
                <li><strong>[Gestor de Inicio de Sesión SLIM]</strong>. <a href="https://archive.org/download/hyperbola-video-5/Hyperbola%20Gestor%20de%20Inicio%20de%20Sesi%C3%B3n%20SLIM%205%E2%81%846.webm">https://archive.org/download/hyperbola-video-5/Hyperbola%20Gestor%20de%20Inicio%20de%20Sesi%C3%B3n%20SLIM%205%E2%81%846.webm</a></li>
                <li><strong>[Utilidades]</strong>. <a href="https://archive.org/download/hyperbola-video-6/Hyperbola%20-%20Utilidades%206%E2%81%846.webm">https://archive.org/download/hyperbola-video-6/Hyperbola%20-%20Utilidades%206%E2%81%846.webm</a></li>
            </ul>
        </td>
    </tr>
    <tr>
        <td>Locutus de GNU</td>
        <td><a href="https://archive.org/download/libreweb/locutus.webm">https://archive.org/download/libreweb/locutus.webm</a></td>
    </tr>
    <tr>
        <td>Montar Android en Hyperbola</td>
        <td>
            <ul>
                <li><strong>1080p</strong>.<a href="https://archive.org/download/libreweb/android-uucp.webm">https://archive.org/download/libreweb/android-uucp.webm</a></li>
                <li><strong>480p</strong>.<a href="https://archive.org/download/libreweb/android-uucp-480.webm">https://archive.org/download/libreweb/android-uucp-480.webm</a></li>
            </ul>
        </td>
    </tr>
    <tr>
        <td>Prompt avanzado</td>
        <td><a href="https://archive.org/download/libreweb/0001-15599.webm">https://archive.org/download/libreweb/0001-15599.webm</a></td>
    </tr>
    <tr>
        <td>RMS en dominio digital</td>
        <td><a href="https://archive.org/download/libreweb/StallmanenDominioDigital.webm">https://archive.org/download/libreweb/StallmanenDominioDigital.webm</a></td>
    </tr>
    <tr>
        <td>Sin parar</td>
        <td><a href="https://archive.org/download/libreweb/sin_parar.webm">https://archive.org/download/libreweb/sin_parar.webm</a></td>
    </tr>
</table>