Ho installato Gitlab su un server locale per la valutazione, e una caratteristica fondamentale per me sarà far visualizzare i file svg come immagini nel wiki. Ce l'ho a lavorare se trascino un file in l'editor wiki, che produce un URL in questo modo:Gitlab (rails) Il tipo di file MIME "raw" per i file .svg è 'text/plain'. Può essere configurato per l'output come 'image/svg + xml'?
nel wiki mark-down:
![my svg diagram](http://server/my-group/my-project/uploads/90cdd5d76a05957ab7cf8854c55a38b8/my-diagram.svg)
risultati in pagina html:
<img src="http://server/my-group/my-project/uploads/90cdd5d76a05957ab7cf8854c55a38b8/my-diagram.svg" alt="my svg diagram">
e in per ottenere che al lavoro, ho dovuto modificare /opt/gitlab/embedded/service/gitlab-rails/config/initializers/mime_types.rb
aggiungere la riga:
Mime::Type.register_alias "image/svg+xml", :svg
e questo è g riattaccare se voglio trascinare un file svg nel wiki e averlo memorizzato in questa sezione 'uploads' del progetto, MA, quello che voglio veramente è mostrare un'immagine svg dal repository git. (così, per esempio a quando un diagramma svg cambia, non devo cercarlo nel wiki, lo prenderò solo dal ramo principale)
ho trovato che, per esempio, questo è un link a un file repo:
http://server/my-group/my-project/raw/master/docsfolder/my-drawing.svg
tuttavia, il tipo MIME apears essere text/plain
per i file SVG riferimento in questo modo, e le immagini con che come loro src
non verrà visualizzato. C'è un modo per renderli image/svg+xml
? sembra che il file di configurazione mime_types.rb non influenzi questo output "raw". o c'è un altro modo in cui posso collegarmi al file repo e ottenere il tipo mime specificato?
ho anche provato <object type="image/svg+xml" data="...
e <embed type="image/svg+xml" src="
e anche iframe, ma nessuno di questi funziona neanche.
Nota: funziona benissimo per le immagini jpg dal repository, solo immagini non in formato.
Ciao Chris, penso che il ragionamento per cui questo non è abilitata è la sicurezza: in SVG è possibile utilizzare Javascript, che ora viene consegnato a nome del suo esempio gitlab, quindi un cattivo ragazzo o una ragazza potrebbe catturare la vostra sessione. –
Questo è interessante, non sapevo che potessi inserire javascript in un file svg! L'ho provato sul sistema che ho usato, modificato come sopra, iniettando l'avviso ' 'prima del tag svg di chiusura nel file, e controllato. Il wiki ha ancora visualizzato l'immagine, e non ha eseguito il javascript. (IE e FF) Forse un tag img non esegue lo script? Ha eseguito lo script se visualizzo il file raw nella sua stessa pagina. – 101chris
finché la notazione immagine markup include il tag '', considera svg come "statico" svg ... se apri il file in modalità raw, probabilmente lo script verrà eseguito (non lo testò) .. ma siccome utilizzo gitlab in un ambiente controllato (pochi utenti noti) accetteremo il problema di sicurezza qui. ottima soluzione. Grazie! – Filipiz