Serve URL relative per le immagini caricate

Come posso fare in modo che Discourse generi URL relativi per le immagini caricate?

Ho un sito disponibile sia tramite HTTPS che su un indirizzo .onion di TOR e ho bisogno di un modo per far funzionare le immagini su entrambi.

Come posso configurare Discourse in modo che gli URL upload:// vengano convertiti in URL relativi nel tag <img>? Dove (in quale file sorgente) avviene questa generazione degli URL?

Non credo che gli URL relativi delle immagini siano una configurazione supportata, e potrebbe trattarsi di una modifica molto complessa cc @sam

Solo per chiarire:

Il caricamento funziona correttamente sia dal dominio HTTPS che dal servizio nascosto TOR .onion, ma l’HTML effettivo generato per un post utilizza un URL completo, il che è un problema.

Immagino che da qualche parte ci sia del codice che fa qualcosa del genere:

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

e io ho bisogno che generi:

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

Sarebbe troppo a basso livello e influenzerebbe troppe cose giocare con absolute_without_cdn?

L’URL deve essere relativo perché:

  • Un browser normale non può accedere all’URL .onion.
  • Non è possibile accedere al sito normale tramite TOR perché è protetto da DDoS. E anche se funzionasse, non voglio rivelare dettagli ai nodi di uscita di TOR.

Ciò richiederebbe alcune modifiche interne; comprendo la situazione, poiché semplifica la vita quando si cambiano i nomi di dominio per i siti che non utilizzano una CDN.

Dovrebbe essere qualcosa del tipo: SE non è configurata una CDN, allora genera un URL relativo.

Immagino che tu debba impostare questo solo quando la configurazione viene modificata?

Immagina di avere

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

Quando non è configurato alcun CDN, Discourse.cdn_url_no_prefix può semplicemente essere una stringa vuota.

Questo significa che c’è la possibilità che tu possa implementarlo nel (prossimo) futuro?

Aggiungo la mia voce e concordo con @sam: abbiamo già avuto alcuni cambi di rotta con i nostri domini e la gestione degli URL relativi è assolutamente necessaria.

Vorrei aggiungere la mia voce a favore dei collegamenti interni relativi. Attualmente uso URL completi per fare riferimento, ad esempio, a un altro argomento sullo stesso sito.

Infatti, il nostro sito ha recentemente cambiato dominio (segnalando che la reindirizzazione è attualmente attiva):

E il nostro nuovo host, Communiteq (precedentemente DiscourseHosting), ha gentilmente in qualche modo sedato il nostro database per riflettere questo cambiamento.

Forse ci sono motivi tecnici per lo stato attuale? Forse in futuro potremmo usare qualcosa come %{THIS}/t/000? Come sviluppatore, i percorsi assoluti mi rendono solitamente nervoso. C’è anche la questione del passaggio da http: a https:, che abbiamo anche intrapreso (o almeno applicato in modo più rigoroso) come parte della suddetta migrazione. Questo sembra molto simile al caso d’uso di @mreach

Come sempre, molti ringraziamenti al team di Discourse per un prodotto meraviglioso. R.

Di solito non è un grosso problema eseguire una ricerca e sostituzione mirata su tutti i post interessati quando cambia il dominio.