Comment lier des fichiers directement depuis Github (raw.github.com)

Sommes-nous autorisés à associer des fichiers directement depuis Github?

  

Je sais que cela est autorisé sur Google Code. De cette façon, je n’ai pas à me soucier de la mise à jour d’un fichier local.

bien sûr pourquoi pas? C’est même une mise à jour sauf si quelqu’un change son historique en force et force une poussée.

Vous pouvez utiliser le serveur externe rawgithub.com . Il suffit de supprimer un point entre les mots ‘raw’ et ‘github’ https://raw.github.com/ .. => https://rawgithub.com/ et de l’utiliser. Plus d’infos que vous trouvez dans cette question.

Le grand service RawGit a déjà été mentionné, mais je vais en lancer un autre: GitCDN.link

Avantages:

  • Vous permet de créer des liens vers des commits spécifiques, ainsi que de récupérer automatiquement les dernières versions (aka master)
  • Ne subit aucun dommage dû à des volumes de trafic élevés; RawGit demande que ses liens dev.rawgit.com ne soient utilisés que pendant le développement, GitCDN vous donnant access à la dernière version sans risque d’explosion des serveurs
  • Vous avez la possibilité de réduire automatiquement votre code HTML, CSS et JavaScript, ou de le servir tel quel ( https://min.gitcdn.link ).
  • Ajoute la compression (GZip)
  • Ajoute tous les en-têtes corrects (Content-Type, cache-control, e-tag, etc.)

Divulgation complète, je suis responsable du projet chez GitCDN.link

Vous devez effectuer les étapes suivantes

  1. Récupère l’URL brute du fichier depuis github. Ce qui est quelque chose comme https://raw.githubusercontent.com/nomdutilisateur/dossier/exemple.css

  2. Visitez http://rawgit.com/ . Collez l’URL git ci-dessus dans la zone de saisie. Il générera deux URL, une pour le développement et une autre à des fins de production.

  3. Copiez l’un d’entre eux et vous avez terminé.

Le fichier agira comme un CDN. Vous pouvez également utiliser des URL de type gist.

Vous pouvez créer un lien direct avec les fichiers bruts, mais il est préférable de ne pas le faire car les fichiers bruts sont toujours envoyés avec un en-tête / texte et peuvent causer des problèmes de chargement.

Branche ton projet en utilisant le nom “gh-pages” et tu pourras (peu après le twigment) utiliser une URL directe telle que https://username.github.com/project/master/style.css (en utilisant ton URL, et en supposant que “style.css” est un fichier dans le dossier “master” à la racine de votre repository “project” … et que votre Github accoutn est “username”).

Après avoir recherché cette même fonctionnalité, j’ai fini par écrire mon propre script PHP pour agir en tant que proxy. Le problème auquel je me suis heurté est que même si vous obtenez la version / le lien RAW de Github et que vous y accédez via votre propre page, l’en-tête envoyé était «text / plain» et Chrome n’exécutait pas mon fichier JavaScript de Github . Je n’ai pas non plus aimé les autres liens publiés pour l’utilisation de services tiers en raison des problèmes de sécurité et de falsification évidents possibles.

Donc, en utilisant ce script, je peux passer sur le lien RAW de Github , faire en sorte que le script définisse les en-têtes corrects, puis afficher le fichier comme s’il provenait de mon propre serveur. Ce script peut également être utilisé avec une application sécurisée pour extraire des scripts non sécurisés sans lancer d’erreurs SSL , en avertissant “Liens non sécurisés utilisés”.

Mise en relation:

proxy.php

  

Si votre serveur Web dispose de la fonctionnalité allow_url_include active, GitHub servant les fichiers en tant que brut brut / texte n’est pas un problème puisque vous pouvez d’abord inclure le fichier dans un script PHP et modifier ses en-têtes au type MIME approprié.

Pages GitHub: https://yourusername.github.io/script.js
GitHub repo fichiers bruts: https://github.com/yourusername/yourusername.github.io/blob/master/script.js

Utilisez les pages GitHub, n’utilisez PAS de fichiers bruts.

Raison: Les pages GitHub sont basées sur CDN, les fichiers bruts ne le sont pas. L’access aux fichiers bruts sera directement appliqué aux serveurs GitHub et augmentera la charge du serveur.