Estoy intentando buscar y reemplazar algunas imágenes rotas que quedaron tras nuestra migración del foro a Discourse y he tenido mucho éxito (¡me encanta el comando remap!), pero no está encontrando nada que reemplazar en estos ejemplos y no veo nada mal, ¿puedes tú?
Necesito hacer esto en dos pasos, ya que debo mantener el contenido de la etiqueta alt y reconstruir el elemento img alrededor de él. Está fallando en el primer remap:
es decir, BUSCAR: <img src="https://londonbikers.com/images/transparent.png" alt="
y REEMPLAZAR con: <img src="https://londonbikersarchive.blob.core.windows.net/forum-attachments/
He asumido que las comillas dobles deben escaparse con una barra invertida, ¿verdad? Así que he usado este comando:
¡Oh, espera! Algunas de estas imágenes sí funcionan. ¿Es esta la funcionalidad de adjuntos de Discourse? ¿Hay alguna lógica de renderizado personalizada en lugar de que sean cadenas HTML en la base de datos?
Pero esta otra no. Puedo tener el archivo en almacenamiento de blobs en la nube, así que me gustaría importararlo a Discourse o simplemente referenciarlo desde el almacenamiento de blobs:
raw es el campo donde está el texto que ves en el editor. Lo que estás reemplazando es lo que ves si editas la publicación en la interfaz de usuario, ¿verdad? (cooked es lo que ha sido procesado y es lo que se muestra.)
Haciendo cosas para reescribir las publicaciones. Esto podría ser suficiente para hacerte peligroso:
bps = Post.where("raw like '%//SOME-STRING%'")
bps.each do |post|
post.raw.gsub!(/OLD/,'NEW')
post.save
end
La ventaja sobre la tarea rake es que no tienes que navegar por múltiples niveles de escape.