collapse_directive not working?
Humitos!
estoy intentando usar el plugin que armaste para mi página ;-)
Se ve que hay algo que no termino de hacer bien, tal vez puedas ayudarme o es un pequeño error que podamos resolver para publicar el plugin xD
Estoy trabajando con Nikola v7.6.4 y con Python 3.4.2, después de copiar los archivos del plugin a mi sitio, cuando tiro nikola auto se escupe el siguiente error:
[2015-10-18T14:19:01Z] WARNING: Nikola: Could not guess locale for language es, using locale C
[2015-10-18T14:19:01Z] ERROR: yapsy: Unable to import plugin: /home/leo/lecovi.github.io/mis/plugins/collapse_directive/collapse_directive
Traceback (most recent call last):
File "/home/leo/.virtualenvs/mis/lib/python3.4/site-packages/yapsy/PluginManager.py", line 488, in loadPlugins
candidate_module = imp.load_module(plugin_module_name,plugin_file,candidate_filepath+".py",("py","r",imp.PY_SOURCE))
File "/home/leo/.virtualenvs/mis/lib/python3.4/imp.py", line 235, in load_module
return load_source(name, filename, file)
File "/home/leo/.virtualenvs/mis/lib/python3.4/imp.py", line 171, in load_source
module = methods.load()
File "<frozen importlib._bootstrap>", line 1220, in load
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1467, in exec_module
File "<frozen importlib._bootstrap>", line 1571, in get_code
File "/home/leo/.virtualenvs/mis/lib/python3.4/imp.py", line 154, in get_data
return file.read()
File "/home/leo/.virtualenvs/mis/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 37: ordinal not in range(128)
[2015-10-18T14:19:01Z] WARNING: Nikola: Could not guess locale for language es, using locale C
[2015-10-18T14:19:02Z] ERROR: yapsy: Unable to import plugin: /home/leo/lecovi.github.io/mis/plugins/collapse_directive/collapse_directive
Traceback (most recent call last):
File "/home/leo/.virtualenvs/mis/lib/python3.4/site-packages/yapsy/PluginManager.py", line 488, in loadPlugins
candidate_module = imp.load_module(plugin_module_name,plugin_file,candidate_filepath+".py",("py","r",imp.PY_SOURCE))
File "/home/leo/.virtualenvs/mis/lib/python3.4/imp.py", line 235, in load_module
return load_source(name, filename, file)
File "/home/leo/.virtualenvs/mis/lib/python3.4/imp.py", line 171, in load_source
module = methods.load()
File "<frozen importlib._bootstrap>", line 1220, in load
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1467, in exec_module
File "<frozen importlib._bootstrap>", line 1571, in get_code
File "/home/leo/.virtualenvs/mis/lib/python3.4/imp.py", line 154, in get_data
return file.read()
File "/home/leo/.virtualenvs/mis/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 37: ordinal not in range(128)
Scanning posts....done!
[2015-10-18T14:19:03Z] INFO: auto: Watching files for changes...
[2015-10-18T14:19:03Z] INFO: ws4py: Using epoll
[2015-10-18T14:19:03Z] INFO: auto: Serving HTTP on 127.0.0.1 port 8000...
Se me está escapando la tortuga con esto... :-/ No me termina de cerrar dónde está el problema con el encoding...
Abrazo! Nos vemos en al PyConAr!
No estoy seguro porqué será el error. Se me hace que es por la versión de Python que estás usando. Yo estoy con 2.7.6. Te diría que pruebes con esa para sacarnos la duda.
Sin embargo, el plugin no está publicado en los repositorios de Nikola porque no está terminado ni testeado. Lo hice porque lo necesitaba para un evento y quedó ahí...
De cualquier modo, el plugin es una mierda. Hay que escribir varias directivas .. raw:: entre collapse y collapse; por eso tampoco me llama mucho la antención publicarlo así como está.
Efectivamente, confirmado!
Lo corrí con un entorno virtual de Python 2.7.6 y no me tiró el error. Así que efectivamente es por la versión de Python. El problema es que no tengo idea en dónde me está tirando el error... Preguntaba por si tenías alguna idea.
Si bien hay que escribir esas .. raw:: es mejor que andar escribiendo todo el HTML...
Gracias igual!!!
Voy a ver si puedo implementarlo para Python 3 y si se me ocurre cómo podríamos mejorarlo, me parece que estaría copado tenerlo funcionando.
Abrazo!
Ya encontré por qué pinchaba cuando lo corría con Python 3...
Era el símbolo de copyright antes de tu nombre en la licencia en la línea 3 (al menos eso parece)!!!!
Estoy pensando en agregarle una directiva a la que vos armaste, para que esa directiva sea la que haga el wrapper del acordeón y los ítems... qué te parece?
.. accordion::
:id: acordeon
.. collapse:: Titulo 1
contenido 1
.. collapse:: Título 2
contenido 2
Sigue el reST
Está buena la idea. Si mandás un PR con eso lo acepto de 1 ;)
Lo estoy desarrollando en mi sitio, en cuanto lo tenga te hago el PR así lo probamos y vemos cómo quedó xD