2014-11-12 14 views
17

In uno del mio progetto che sto utilizzando un collegamento immagine esterna per visualizzare una schermata tramite la pagina GitHub, che analizza automaticamente il README.rstCome forzare immagine (cache) di aggiornamento in README.rst su GitHub

GitHub page of ROyWeb

ho aggiornato questo screenshot sul mio server web più volte nelle ultime settimane e ho appena capito che non viene aggiornato nella pagina di GitHub dal ... beh penso che mai aggiornato ;-) GitHub in qualche modo scaricato il immagine e lo carica dai suoi server di cache.

All'interno del README.rst, c'è chiaramente il link corretto:

Actual link to the ROyWeb screenshot

Quale è possibile confermare, quando si carica il file raw:

raw README.txt on GitHub

Ma quando ho controlla l'URL dell'immagine visualizzata sulla pagina GitHub, ricevo:

GitHub cached screenshot of ROyWeb

Qualcuno sa come forzare un "recache"?

+0

Vorrei anche essere interessati a conoscere la risposta a questa. – b85411

+0

Quindi vota la domanda @ b85411;) – tamasgal

risposta

35
curl -X PURGE {url of cached badge image} 
+6

Questo ha funzionato perfettamente – mauron85

+1

Questo non funziona per me. C'è un altro approccio? Il mio readme è un casino di immagini mancanti (soprattutto scudetti shields.io). Si tratta di un bug noto con qualsiasi prospettiva di una correzione? – orome

+0

Funziona anche per me buona risposta –

2

Credo di aver capito come farlo ora. Invece di servire un file png grezzo, per esempio, serve l'immagine attraverso un file php (molti esempi su SO).

Una volta entrato in visualizzazione dell'immagine con PHP, aggiungere le seguenti intestazioni:

header('Cache-Control: no-cache'); 
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() - 36000)); 

impostando il no-cache e avere la cache scadono in passato, ho trovato che CDN di GitHub aggiorna le immagini automaticamente su ogni aggiornamento.

2

Ho dato un'occhiata a cosa fa shields.io.

Si imposta questa intestazione (Source):

Cache-Control: max-age=2592000 
+1

Avevo visto quell'idea [qui] (https://github.com/github/markup/issues/224) ma non avevo idea di quale sintassi utilizzare con un URL non elaborato. Seguendo il tuo secondo link mi ha mostrato come farlo. Grazie. – Mars

Problemi correlati