Puis-je inciter GitHub à afficher le PDF dans le navigateur au lieu de le télécharger?

22

Lors de la visualisation d'un fichier PDF sur GitHub, il ne semble pas possible que le navigateur affiche simplement le fichier au lieu de le télécharger.

Aucun de ces liens ne fonctionne, et ce sont les seuls auxquels je peux accéder (ou dériver du comportement de travail avec le code source):

Sean Allred
la source

Réponses:

20

Github utilise content-disposition: attachmentpour les PDF, qui téléchargent le fichier automatiquement sur github.com. Vous pouvez héberger le fichier sur une page statique fournie par GitHub qui peut créer un lien vers ce fichier et mettre à jour lorsque vous mettez à jour le PDF. Pour cela, vous pouvez voir les pages github .

Sommaire

  • Créez un référentiel nommé USERNAME.github.io.
  • Dans ce référentiel, cliquez sur Paramètres puis sur Générateur de pages automatique, puis terminez l'assistant pour publier une page utilisateur .
  • Revenez à votre référentiel de contenu et cliquez sur Paramètres, puis sur Générateur de pages automatique, puis terminez l'assistant pour publier une page de projet . (Logiquement, les fichiers de la page de projet iraient dans un répertoire spécial mais GitHub les place dans une branche gh-pages . Ne ​​fusionnez pas cette branche vers / depuis le maître.)
  • Synchronisez la branche gh-pages avec votre ordinateur puis copiez-la dans vos PDF:

    git checkout gh-pages
    git checkout master -- 'docs/*.pdf'

  • Validez les modifications et envoyez-les à GitHub.
  • Revenez maintenant au dépôt sur GitHub et utilisez le générateur de page automatique pour modifier la page du projet, en ajoutant des liens vers ces PDF du formulaire:

    [Intro.pdf](http://USERNAME.github.io/REPONAME/docs/Intro.pdf).

  • Republiez la page du projet.
Muhammad Usman
la source
L'utilisation de Pages est en fait une solution de contournement assez intelligente! S'il n'y a pas d'autre moyen de contourner cela d'ici midi demain, ce sera suffisant. :)
Sean Allred
Avez-vous déjà trouvé un moyen de le faire sans utiliser les pages Github? Le problème auquel nous sommes confrontés est le fait que les pages Github sont nécessairement publiques, alors que les PDF que nous souhaitons inclure sont privés.
Joost
@Joost non, je n'ai pas essayé de rendre les PDF privés. Votre meilleur pari avec github serait de créer un référentiel privé qui est un référentiel de pages github, puis de rendre l'URL difficile à découvrir (qui n'est pas vraiment privée, juste plus difficile à trouver).
Muhammad Usman
3
GitHub a récemment introduit la visualisation PDF .
Ionică Bizău
1
Une alternative consiste à utiliser Google Docs comme dans docs.google.com/viewer?url=https://raw.githubusercontent.com/…
Steven Shaw
13

Utilisez la visionneuse Google Documents avec une URL comme:

https://docs.google.com/viewer?url=${link_to_raw_pdf}

par exemple

https://docs.google.com/viewer?url=https://raw.githubusercontent.com/degoes-consulting/lambdaconf-2015/master/speakers/jdegoes/intro-purescript/presentation.pdf

https://docs.google.com/viewer?url=https://raw.githubusercontent.com/degoes-consulting/lambdaconf-2015/master/speakers/jdegoes/intro-purescript/presentation.pdf

Steven Shaw
la source
Astuce très utile. +1. Je voudrais quelques détails sur la répartition correcte de l'adresse GitHub (à savoir comment extraire l'adresse d'un certain PDF). Merci.
Royi
1
Copiez le lien depuis le bouton "Télécharger". c'est-à-dire un clic droit, copier l'adresse du lien.
Steven Shaw
7

Le nbviewer de Jupyter gère la tâche. Collez simplement l'URL de votre PDF hébergé sur GitHub dans http://nbviewer.jupyter.org/ .

Par exemple, voici un PDF que j'héberge sur GitHub rendu dans le navigateur.

Daniel Himmelstein
la source
1
Cela semble prometteur mais
j'obtiens toujours des
3

Depuis le 17 mars 2015, GitHub rend désormais les documents PDF en ligne dans l'interface Web.

Référence: Visualisation PDF

Kos
la source
2
C'est le cas, mais ce n'est pas aussi bon que l'expérience dans Chrome
Steven Shaw
@StevenShaw peut-être, mais je n'utilise pas de chrome :) le même principe s'applique pour safari je suppose, mais étant donné mon Q d'origine, cela répond toujours à la question :)
Sean Allred