Pybonacci / pybo-wp-theme

Theme used on pybonacci.org
0 stars 1 forks source link

Code y Sourcecode #3

Closed pfsq closed 10 years ago

pfsq commented 10 years ago

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

astrojuanlu commented 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.

pfsq commented 10 years ago

Alguna vez, pero no siempre como aquí.

astrojuanlu commented 10 years ago

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:

¿Opiniones?

pfsq commented 10 years ago

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.

astrojuanlu commented 10 years ago

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:

astrojuanlu commented 10 years ago

Acabo de corregir el shortcode [code] para que acepte especificar el lenguaje. En tu artículo donde pones html pondría php mejor.

kikocorreoso commented 10 years ago

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

astrojuanlu commented 10 years ago

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 .

pfsq commented 10 years ago

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.

kikocorreoso commented 10 years ago

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.

pfsq commented 10 years ago

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.

astrojuanlu commented 10 years ago

@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 .

kikocorreoso commented 10 years ago

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.

kikocorreoso commented 10 years ago

@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.

pfsq commented 10 years ago

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.

astrojuanlu commented 10 years ago

Voy a echar un ojo a lo de los iframes.

astrojuanlu commented 10 years ago

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?).

pfsq commented 10 years ago

Me parece la mejor solución, siempre que haya confianza en los editores :)

astrojuanlu commented 10 years ago

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:

  1. Activamos unfiltered_html para autores.
  2. Nos subimos el rango a los que estamos aquí :)

¡Yo voto 2!

kikocorreoso commented 10 years ago

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.

astrojuanlu commented 10 years ago

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».

pfsq commented 10 years ago

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.

kikocorreoso commented 10 years ago

@pfsq Luego te doy privilegios, subo los cambios testeados y vemos que tal va.

pfsq commented 10 years ago

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.

astrojuanlu commented 10 years ago

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:

kikocorreoso commented 10 years ago

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.

astrojuanlu commented 10 years ago

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 &#91; y &#93; se evita que se procesen. ¡Por fin!

pfsq commented 10 years ago

Perfecto, muchas gracias. En breves me pondré a trabajar en la siguente entrada.

astrojuanlu commented 10 years ago

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 .

pfsq commented 10 years ago

Por lo pronto se me ocurren dos sugerencias:

kikocorreoso commented 10 years ago

Actualizado.

Si veis alguna cosa rara me avisáis.