Browse Source

Remove NodeJS support

Jesús 4 weeks ago
parent
commit
cb496623a4
Signed by: Jesús <heckyel@hyperbola.info> GPG Key ID: F6EE7BC59A315766
4 changed files with 22 additions and 31 deletions
  1. 0
    9
      README.md
  2. 0
    5
      cl-theme/templates/authors.html
  3. 4
    4
      plugins/compressor/README.md
  4. 18
    13
      plugins/compressor/compressor.py

+ 0
- 9
README.md View File

@@ -19,15 +19,6 @@ los siguientes programas instalados:
19 19
   de la página.
20 20
 * [BeautifulSoup4](https://pypi.python.org/pypi/beautifulsoup4/).
21 21
   Requerido por el complemento tipue-search.
22
-* [uglifycss](https://github.com/fmarcia/UglifyCSS). Compresor de código
23
-  <abbr title="Cascading Style Sheets">CSS</abbr>.
24
-* [uglifyjs](http://lisperator.net/uglifyjs/). Compresor de código
25
-  JavaScript.
26
-* [nodejs](https://nodejs.org/). Node.js® es un entorno de ejecución
27
-  para JavaScript construido con el motor de JavaScript V8 de Chrome. Se
28
-  utiliza para ejecutar uglifycss y uglifyjs.
29
-* [npm](https://www.npmjs.com/). Gestor de paquetes de nodejs. Utilizado
30
-  para instalar uglifycss y uglifyjs.
31 22
 
32 23
 Instalar `virtualenv` con:
33 24
 

+ 0
- 5
cl-theme/templates/authors.html View File

@@ -53,14 +53,9 @@
53 53
                                     {% set software = (('https://nginx.org/', 'Nginx'),
54 54
                                         ('http://babel.pocoo.org/', 'Babel'),
55 55
                                         ('https://pypi.org/project/beautifulsoup4/', 'BeautifulSoup4'),
56
-                                        ('https://nodejs.org/', 'nodejs'),
57 56
                                         ('https://www.python.org/', 'Python'),
58 57
                                         ('https://blog.getpelican.com/', 'Pelican'),
59 58
                                         ('https://pypi.org/project/Markdown/', 'Markdown'),
60
-                                        ('https://nodejs.org/', 'nodejs'),
61
-                                        ('https://www.npmjs.com/', 'npm'),
62
-                                        ('https://github.com/fmarcia/UglifyCSS', 'uglifycss'),
63
-                                        ('https://github.com/mishoo/UglifyJS', 'uglifyjs'),
64 59
                                         ('https://conocimientoslibres.tuxfamily.org/pages/librejs.html', _('Algunos programas de JavaScript'),)) %}
65 60
                                     <ul>
66 61
                                         {% for program in software %}

+ 4
- 4
plugins/compressor/README.md View File

@@ -1,16 +1,16 @@
1 1
 ## Descripción
2 2
 
3 3
 Es un complemento para Pelican que minifica los archivos CSS y
4
-JavaScript usando uglifycss y uglifyjs. Preserva los archivos JavaScript
4
+JavaScript usando css-html-js-minify. Preserva los archivos JavaScript
5 5
 originales y añade a los archivos JavaScript minificados la cadena
6 6
 `.min` antes de la extensión `.js`.
7 7
 
8 8
 ## Instalación
9 9
 
10
-Para que funcione es necesario instalar nodejs y npm. Después instala
11
-uglifycss y uglifyjs con la siguiente instrucción:
10
+Para que funcione es necesario instalar python y pip. Después instala
11
+css-html-js-minify con la siguiente instrucción:
12 12
 ```
13
-npm install uglifycss uglify-js -g
13
+pip install css-html-js-minify
14 14
 ```
15 15
 
16 16
 Finalmente, añade `compressor` a `pelicanconf.py`: `PLUGINS =

+ 18
- 13
plugins/compressor/compressor.py View File

@@ -9,31 +9,36 @@ logger = logging.getLogger(__name__)
9 9
 
10 10
 # Display command output on DEBUG and TRACE
11 11
 SHOW_OUTPUT = logger.getEffectiveLevel() <= logging.DEBUG
12
+PATH_CSS = 'output/theme/css/'
13
+PATH_JS = 'output/theme/js/'
12 14
 
13 15
 """
14 16
 Minify CSS and JS files in output path
15
-with uglifycss and uglifyjs.
17
+with css-html-js-minify.
16 18
 """
19
+
20
+
17 21
 def minify(pelican):
18 22
     """
19 23
       Minify CSS and JavaScript
20 24
       :param pelican: The Pelican instance
21 25
     """
22
-    for dirpath, _, filenames in os.walk(pelican.settings['OUTPUT_PATH']):
26
+    for dirpathcss, _, filenames in os.walk(PATH_CSS):
23 27
         for name in filenames:
24
-            if os.path.splitext(name)[1] in ('.css'):
25
-                filepath = os.path.join(dirpath, name)
26
-                logger.info('minifiy %s with uglifycss', filepath)
27
-                debug = '--debug' if SHOW_OUTPUT else ''
28
-                call('uglifycss {} --output {} {}'.format(debug, filepath, filepath),
28
+            if os.path.splitext(name)[1] in '.css':
29
+                filepath = os.path.join(dirpathcss, name)
30
+                logger.info('minifiy %s with css-html-js-minify', filepath)
31
+                call('css-html-js-minify {}'.format(filepath),
29 32
                      shell=True)
30
-            elif os.path.splitext(name)[1] in ('.js'):
31
-                filepath = os.path.join(dirpath, name)
32
-                logger.info('minifiy %s with uglifyjs', filepath)
33
-                verbose = '-v' if SHOW_OUTPUT else ''
34
-                min_filepath = filepath[:-3] + '.min' + filepath[-3:]
35
-                call("uglifyjs {} {} -o {} --mangle".format(filepath, verbose, min_filepath),
33
+
34
+    for dirpathjs, _, filenames in os.walk(PATH_JS):
35
+        for name in filenames:
36
+            if os.path.splitext(name)[1] in '.js':
37
+                filepath = os.path.join(dirpathjs, name)
38
+                logger.info('minifiy %s with css-html-js-minify', filepath)
39
+                call("css-html-js-minify {}".format(filepath),
36 40
                      shell=True)
37 41
 
42
+
38 43
 def register():
39 44
     signals.finalized.connect(minify)