Necesito URLs relativas para imágenes cargadas

¿Cómo puedo hacer que Discourse genere URLs relativas para las imágenes cargadas?

Tengo un sitio disponible tanto a través de HTTPS como de un .onion de TOR y necesito una forma de que las imágenes funcionen en ambos casos.

¿Cómo puedo configurar Discourse para que las URLs upload:// se conviertan en URLs relativas en la etiqueta <img>? ¿Dónde (en qué archivo de origen) se realiza esta generación de URLs?

No creo que las URL de imágenes relativas sean una configuración compatible, y eso podría ser un cambio muy difícil cc @sam

Solo para aclarar:

La carga funciona correctamente tanto desde el dominio HTTPS como desde el servicio oculto .onion de TOR, pero el HTML real generado para una publicación utiliza una URL completa, lo cual es un problema.

Supongo que en algún lugar hay un código que hace algo como

 '<img src="' + Discourse.base_url_no_prefix + '/uploads/....jpg' + '"'

y necesito que genere

 '<img src="' + '/uploads/....jpg' + '"'

¿Sería jugar con absolute_without_cdn demasiado de bajo nivel y afectar demasiadas cosas?

La URL debe ser relativa porque:

  • Un navegador normal no puede acceder a la URL .onion.
  • No se puede acceder al sitio normal a través de TOR porque está detrás de protección contra DDoS. Y aunque funcionara, no quiero filtrar detalles a los nodos de salida de TOR.

Esto requeriría algunos cambios internos. En cierto modo, lo entiendo, ya que facilita un poco la vida al cambiar los nombres de dominio en sitios que no utilizan una CDN.

Tendría que ser algo así como: SI no hay una CDN configurada, entonces generar una URL relativa.

Asumo que solo necesitas configurar esto cuando se cambia la configuración, ¿verdad?

Imagina tener

'<img src="' + Discourse.cdn_url_no_prefix + '/uploads/....jpg' + '">'

Cuando no hay CDN configurada, Discourse.cdn_url_no_prefix puede simplemente ser una cadena vacía.

¿Eso significa que existe la posibilidad de implementar esto en el (próximo) futuro?

Solo para sumarme y estar de acuerdo con @sam, ya hemos tenido algunos cambios con nuestros dominios y definitivamente es necesario manejar las URLs relativas.

Me gustaría sumarme en favor de los enlaces internos relativos. Actualmente utilizo URLs completas para referenciar, por ejemplo, otro tema en el mismo sitio.

De hecho, nuestro sitio cambió recientemente de dominio (teniendo en cuenta que la redirección está activa actualmente):

Y nuestro nuevo proveedor, Communiteq (anteriormente DiscourseHosting), amablemente logró sed nuestra base de datos para reflejar este cambio.

¿Quizás haya razones técnicas para el estado actual? ¿Podríamos usar algo como %{THIS}/t/000 en el futuro? Como desarrollador, los caminos absolutos suelen ponerme nervioso. También está la cuestión del cambio de http: a https:, que también realizamos (o al menos aplicamos con más estricto rigor) como parte de la migración mencionada anteriormente. Esto parece ser un caso de uso muy similar al de @mreach.

Como siempre, muchas gracias al equipo de Discourse por un producto maravilloso. R.

Por lo general, no es un gran problema ejecutar una búsqueda y reemplazo dirigido en todas las publicaciones afectadas cuando cambia el dominio.