Kann ich GitHub dazu verleiten, das PDF im Browser anzuzeigen, anstatt es herunterzuladen?

21

Beim Anzeigen einer PDF-Datei auf GitHub scheint es keine Möglichkeit zu geben, den Browser einfach die Datei anzeigen zu lassen, anstatt sie herunterzuladen.

Keiner dieser Links funktioniert, und dies sind die einzigen, die ich erreichen kann (oder die sich aus dem Verhalten beim Arbeiten mit Quellcode ergeben):

Sean Allred
quelle

Antworten:

20

Github verwendet content-disposition: attachmentfür PDFs, die die Datei automatisch auf github.com herunterladen. Sie können die Datei auf einer von GitHub bereitgestellten statischen Seite hosten, die mit dieser Datei verknüpft und aktualisiert werden kann, wenn Sie die PDF aktualisieren. Dafür können Sie Github-Seiten sehen .

Zusammenfassung

  • Erstellen Sie ein Repo mit dem Namen USERNAME.github.io.
  • Klicken Sie in diesem Repo auf Einstellungen und dann auf Automatischer Seitengenerator. Schließen Sie dann den Assistenten zum Veröffentlichen einer Benutzerseite ab .
  • Kehren Sie zu Ihrem Content Repo zurück und klicken Sie auf Einstellungen, dann auf Automatischer Seitengenerator und schließen Sie den Assistenten zum Veröffentlichen einer Projektseite ab . (Logischerweise werden die Dateien der Projektseite in ein spezielles Verzeichnis verschoben, aber GitHub legt sie in einem gh-pages- Zweig ab. Führen Sie diesen Zweig nicht zum / vom Master zusammen.)
  • Synchronisieren Sie den gh-pages- Zweig mit Ihrem Computer und kopieren Sie ihn in Ihre PDF-Dateien:

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

  • Übernehmen Sie die Änderungen und übertragen Sie sie an GitHub.
  • Gehen Sie nun zurück zum Repo auf GitHub und bearbeiten Sie die Projektseite mit dem automatischen Seitengenerator, indem Sie Links zu diesen PDFs des Formulars hinzufügen:

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

  • Veröffentlichen Sie die Projektseite erneut.
Muhammad Usman
quelle
Das Verwenden von Pages ist eine ziemlich clevere Umgehungsmöglichkeit! Wenn es bis morgen Mittag keinen anderen Weg gibt, wird dies gut genug sein. :)
Sean Allred
Haben Sie jemals einen Weg gefunden, dies ohne Github Pages zu tun? Das Problem, mit dem wir konfrontiert sind, ist die Tatsache, dass Github-Seiten notwendigerweise öffentlich sind, während die PDFs, die wir einschließen möchten, privat sind.
Joost
@ Joost nein, ich habe nicht versucht, PDFs privat zu machen. Ihre beste Wahl mit Github wäre, ein privates Repo zu erstellen, das ein Github-Seiten-Repo ist, und dann die URL schwer zu entdecken (was nicht wirklich privat ist, nur schwieriger zu finden).
Muhammad Usman
3
Kürzlich hat GitHub PDF Viewing eingeführt .
Ionică Bizău
1
Eine Alternative ist die Verwendung von Google Text
Steven Shaw,
12

Verwenden Sie den Google Text & Tabellen-Viewer mit einer URL wie:

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

z.B

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
quelle
Sehr nützlicher Trick. +1. Ich würde einige Details zur korrekten Aufschlüsselung der GitHub-Adresse (nämlich wie man die Adresse eines bestimmten PDF extrahiert). Danke dir.
Royi
1
Kopieren Sie den Link von der Schaltfläche "Download". dh Rechtsklick, Linkadresse kopieren.
Steven Shaw
7

Jupyters nbviewer erledigt die Aufgabe. Fügen Sie einfach die URL zu Ihrem von GitHub gehosteten PDF in http://nbviewer.jupyter.org/ ein .

Hier ist zum Beispiel eine PDF-Datei , die ich auf GitHub hoste und die im Browser gerendert wurde.

Daniel Himmelstein
quelle
1
Das sieht vielversprechend aus, aber ich
bekomme
3

Ab dem 17. März 2015 rendert GitHub PDF-Dokumente jetzt inline in der Weboberfläche.

Referenz: PDF-Anzeige

Kos
quelle
2
Es funktioniert, aber es ist nicht so gut wie die Erfahrung in Chrome
Steven Shaw
@StevenShaw vielleicht, aber ich benutze kein Chrom :) das gleiche Prinzip gilt für Safari, nehme ich an, aber angesichts meiner ursprünglichen Frage beantwortet dies immer noch die Frage :)
Sean Allred