Closed pfsq closed 10 years ago
A mí eso me pasaba intermitentemente en wordpress.com y nunca supe evitarlo... voy a ver si tiene que ver con nuestro código pero no lo creo. Y buscaré a ver si hay más información en Internet. En tu blog no te pasa? On Jul 29, 2014 9:41 AM, "Pablo Fernandez" notifications@github.com wrote:
Cuando introduzco código en el editor Texto de WordPress puedo indentados en forma de espacios y éstos se verán correctamente en el post.
Sin embargo, cuando vuelvo al editor Visual esos espacios en blanco al principio se pierden y si se actualiza el post ya no se verán las sangrías en la publicación.
No se si tendrá algo que ver el código que habéis incorporado en 90e9115 https://github.com/Pybonacci/pybo-wp-theme/commit/90e9115ccfff92d1790a2bc910ec6fdc276d0d5e a functions.php
Reply to this email directly or view it on GitHub https://github.com/Pybonacci/pybo-wp-theme/issues/3.
Alguna vez, pero no siempre como aquí.
Reproducido. Creo que ya he encontrado qué es lo que pasa.
El editor visual solo preserva los espacios en blanco entre etiquetas <pre>
o <script>
.
https://core.trac.wordpress.org/browser/tags/3.9.1/src/wp-admin/js/editor.js#L216
Así que hay tres opciones:
editor.js
para que meta también [code
y [shortcode
. Mal asunto, porque cada vez que actualicemos hay que hacer el cambio otra vez y encima es JS...functions.php
para que <pre class="language-python">
sea igual a [code language="python"]
y así podamos usar etiquetas <pre>
para meter código en el blog y además que quede protegido en el editor visual.¿Opiniones?
Habéis creado un Child Theme? No se puede incluir el editor.js
en el Child Theme, pero de poder hacerlo, que preservado frente a actualizaciones.
Y otra cosa, lo de [code language="python"]
podría ser sólo el modo por defecto si no se define lenguaje? Imagina que por cualquier motivo quieres meter algo de C.
No se puede incluir, efectivamente. Lo de poner "python" por defecto fue pereza mía por no extraer los atributos pero lo voy a solucionar en seguida :smile:
Acabo de corregir el shortcode [code]
para que acepte especificar el lenguaje. En tu artículo donde pones html
pondría php
mejor.
Por defecto, wp se come muchas cosas y se 'inventa' otras. A veces, al pasar del editor 'Text' al 'Visual' han desaparecido cosas: http://codex.wordpress.org/How_WordPress_Processes_Post_Content
Se podría intentar evitar esto escribiendo solo en html usando plugins como 'raw html' o editando el funcionamiento de TinyMCE: http://codex.wordpress.org/Plugin_API/Filter_Reference/tiny_mce_before_init
Yo creo @pfsq que lo mejor va a ser meter directamente
<code class="language-x">. De esta forma se respeta el espacio el blanco y prism.js resalta el código directamente. On Jul 31, 2014 8:15 AM, "kikocorreoso" notifications@github.com wrote:Por defecto, wp se come muchas cosas y se 'inventa' otras. A veces, al pasar del editor 'Text' al 'Visual' han desaparecido cosas: http://codex.wordpress.org/How_WordPress_Processes_Post_Content
Se podría intentar evitar esto escribiendo solo en html usando plugins como 'raw html' o editando el funcionamiento de TinyMCE: http://codex.wordpress.org/Plugin_API/Filter_Reference/tiny_mce_before_init
Reply to this email directly or view it on GitHub https://github.com/Pybonacci/pybo-wp-theme/issues/3#issuecomment-50717006 .
Vale. Otra cosa, lo de plotly
está ya implementado? Posiblemente necesitéis darme algún permiso adicional para poder incluir iframe
en mis post, no se si con algo como ésto:
// get the "author" role object
$role = get_role( 'author' );
// add "organize_gallery" to this role object
$role->add_cap( 'unfiltered_html' );
o mediante algún plugin como User Role Editor.
Has probado a meter un iframe a mano en el editor 'Text'? Pruébalo y me dices.
A mi no me da problemas pero luego, si cambio al editor 'Visual', se lo come y desaparece :-(
Esta tarde intento trastear a ver la mejor forma de que wp no se 'coma' nada.
Si meto el iframe
a mano no me lo reconoce tampoco. Por lo que leo por Internet, al no ser admin, WP filtra código que podría llegar a ser utilizado para hacer el mal. Aquí dan otra pista de como sortearlo.
@kikocorreoso has desplegado los últimos cambios que hemos hhecho? Lo de plotly está implementado ya en los últimos commits, no creo que hagan falta permisos extra para meter iframes... On Jul 31, 2014 10:03 AM, "kikocorreoso" notifications@github.com wrote:
Has probado a meter un iframe a mano en el editor 'Text'? Pruébalo y me dices.
A mi no me da problemas pero luego, si cambio al editor 'Visual', se lo come y desaparece :-(
Esta tarde intento trastear a ver la mejor forma de que wp no se 'coma' nada.
Reply to this email directly or view it on GitHub https://github.com/Pybonacci/pybo-wp-theme/issues/3#issuecomment-50728734 .
Acabo de publicar una nueva entrada y como mi usuario tampoco me deja meter IFrames pero como admin sí.
Podemos hacer una cosa, si os parece bien, para no trastocar tanto el theme.
Se hace un commit al repo de notebooks de Pybonacci con el nuevo notebook. Lo publica Juanlu o yo como admin usando ipy2wp, trastocamos lo que se vea mal y se pone al autor original.
¿Os parece bien?
Lo de trastocar un theme, sobrecargar el function.php o usar 20 plugins para chorradas al final lleva al desastre (IMHO). Pero acepto cualquier otra opción si resulta más cómoda para todos.
@Juanlu001 ¿está todo testeado y re-testeado? Antes contestad al comentario inmediatamente anterior a este y buscamos consenso sobre qué es la mejor opción. Una vez consensuado hago los cambios que se requieran en el theme.
El notebook que hay es la última versión que tengo, pero en el post he modificado alguna cosa. Como no me deja publicar directamente, miro de mandar el post a revisión y veis si podéis tocar algo para que se vean los iframe; o copiar el contenido del post a uno nuevo.
Voy a echar un ojo a lo de los iframes.
Reproducido: para autores con rol «Autor» o inferior, wordpress «sanea» la entrada y borra los iframes. Aún tengo que ver dónde está el código que hace eso pero la primera idea que se me ocurre es subirnos el rango a editores.
Yo evitaría procesos complicados como los que describe Kiko la verdad, a ver si podemos hacer que publicar sea lo menos quebradero de cabeza posible (que es el objetivo de todo, ¿no?).
Me parece la mejor solución, siempre que haya confianza en los editores :)
Es por la capability unfiltered_html
, que no está activada para todos los roles:
http://codex.wordpress.org/Roles_and_Capabilities#unfiltered_html
O sea que hay exactamente dos opciones:
unfiltered_html
para autores.¡Yo voto 2!
El tema de que haya más usuarios con privilegios avanzados implica más posibles agujeros de seguridad. Ya no es una única contraseña la que se puede comprometer.
Tampoco creo que tenga mucho interés para algunos atacar a 'pybonacci' :-)
Ya me decís como proceder.
P.D.: Para colaboradores no es nada complicado el proceso, crean un nb y hacen un PR. Listo.
Y sí, todo lo que he ido haciendo hasta ahora (los commits y las pruebas) lo he reproducido en mi copia local. Mismo tema, misma base de datos y misma versión de WordPress. Es mejor que ir haciendo experimentos «en producción».
Vuestro blog, vuestras normas. Y si es cierto que cuanta más gente con privilegios mayor vulnerabilidad, por lo que subir de rango podría ser algo que se conceda a partir de cierta antiguedad o número de aportaciones y calidad de las mismas. De todos modos, quitando Plotly, yo no he necesitado utilizar iframes para ninguna otra cosa, así que no será algo que la mayoría de los autores vayan a necesitar.
@pfsq Luego te doy privilegios, subo los cambios testeados y vemos que tal va.
Alguna novedad? He mandado el post a revisión, creo que lo tenéis que aprobar. No se muy bien cómo va el tema ese.
He revisado el post y solo he cambiado una tilde, pero hasta que no esté actualizado functions.php
no podemos publicar porque faltan las etiquetas [plotly]
. Lo voy a añadir yo manualmente pero @kikocorreoso haz un push de los últimos commits cuando puedas.
Cierro por aquí, ¡muchas gracias @pfsq! :smile:
Esta tarde lo hago (hace 4 días dije lo mismo). Muchas cosas en la lista de tareas.
@Juanlu001, si son cambios pequeños y testeados, puedes ir al editor dentro de wordpress y copiar/pegar directamente el fichero modificado sin necesidad a que yo encuentre tiempo para hacerlo.
Al final he tenido que hacer otro pequeño cambio en la entrada porque se estaban procesando las etiquetas [plotly]
dentro de <code>
, y no se quiere eso. Al final sustituyendo los corchetes por [ y ] se evita que se procesen. ¡Por fin!
Perfecto, muchas gracias. En breves me pondré a trabajar en la siguente entrada.
Por cierto, me pregunta Matt Sundquist de plot.ly si tenemos alguna sugerencia o feedback que mandarles y si necesitamos ayuda para nuestra próxima entrada. Ahí lo dejo :) On Aug 5, 2014 9:47 AM, "Pablo Fernandez" notifications@github.com wrote:
Perfecto, muchas gracias. En breves me pondré a trabajar en la siguente entrada.
Reply to this email directly or view it on GitHub https://github.com/Pybonacci/pybo-wp-theme/issues/3#issuecomment-51161531 .
Por lo pronto se me ocurren dos sugerencias:
sharex
y sharey
como la de matplotlib para cuando se haga zoom en los multiplot se ajusten también los otros subplot.Actualizado.
Si veis alguna cosa rara me avisáis.
Cuando introduzco código en el editor Texto de WordPress puedo indentados en forma de espacios y éstos se verán correctamente en el post.
Sin embargo, cuando vuelvo al editor Visual esos espacios en blanco al principio se pierden y si se actualiza el post ya no se verán las sangrías en la publicación.
No se si tendrá algo que ver el código que habéis incorporado en 90e9115 a functions.php