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