Могу ли я встроить исходные файлы с GitHub на свою веб-страницу, кроме Gists?

Контекст

Вы можете создать Gist на GitHub и встроить его на свою веб-страницу: встраивание Gist.

Это пример случайно выбранного Gist: tap.groovy.

Вопрос

Также возможно ли встраивание с другими файлами кода из GitHub, например, с этим случайно выбранным файлом C# ICommand.cs, который не является Gist?


person Lernkurve    schedule 13.05.2016    source источник


Ответы (4)


Вы можете использовать https://gist-it.appspot.com/:

<script src="http://gist-it.appspot.com/https://github.com/dotnet/corefx/blob/master/src/System.ObjectModel/src/System/Windows/Input/ICommand.cs"></script>

person m.s.    schedule 31.07.2016
comment
Это похоже на html. Не могли бы вы уточнить, как это приведет к добавлению Gist в код C#? То есть, как только я скопирую этот «скрипт», куда мне его вставить? - person philologon; 31.07.2017
comment
Вы должны вставить его в заголовок или тело iframe. - person Sentient; 01.04.2020

Вы можете попробовать https://emgithub.com, который делает именно то, что вам нужно.

Чтобы встроить пример файла ICommand.cs в свой вопрос, вы можете просто добавить em перед github.com в адресной строке, а затем нажать Enter.

Обновление (01.04.2020): я обнаружил, что файл ICommand.cs в вопросе больше недоступен, поэтому я использую файл https://github.com/pytorch/pytorch/blob/master/torch/nn/cpp.py.

Откройте ссылку https://github.com/pytorch/pytorch/blob/master/torch/nn/cpp.py, вы можете просто добавить em перед github.com в адресной строке, а затем нажать Enter.

Используя настройки по умолчанию, вы получаете следующий тег сценария:

<script src="https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fpytorch%2Fpytorch%2Fblob%2Fmaster%2Ftorch%2Fnn%2Fcpp.py&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on&showCopy=on"></script>

Вы также можете изменить его стиль выделения, и доступны некоторые параметры, такие как номера строк, метаданные файла.

В отличие от других веб-сайтов, которые выполняют аналогичную работу, EmGithub.com — это статический сайт, размещенный на страницах Github. Выбор целевых файлов и выделение выполняются в вашем браузере.

person yusanshi    schedule 16.01.2020

Существует стандарт для встраивания контента с одного веб-сайта в другой с помощью URL-адреса, который называется oEmbed. К сожалению, GitHub не является поставщиком oEmbed, т. е. не поддерживает oEmbed для своих URL-адресов.

Я нашел прокси-сервис Oembed Proxy для GitHub, который добавляет поддержку oEmbed для URL кода GitHub. Вы передаете URL-адрес GitHub в качестве параметра URL-адресу прокси-сервера, и полученный URL-адрес можно вставить на другой веб-сайт, при условии, что веб-сайт поддерживает встраивание ссылок oEmbed.

Еще одним препятствием является то, что не каждый веб-сайт поддерживает встраивание URL-адресов oEmbed. Согласно документации прокси-сервера, notion — это один веб-сайт, который их поддерживает. Я провел некоторое исследование и, похоже, можно добавить поддержку oEmbed, например. wordpress или Джекилл.

Этот ответ предоставляет очень ограниченное решение из-за небольшого внедрения oEmbed. Я подумал, что все же стоит распространить информацию.

person Jakub Kukul    schedule 07.04.2019

Другой возможный сервис — https://github.com/finom/github-embed. Похоже, что он не поддерживается уже около 2 лет, но gist-it, похоже, не поддерживается. даже на 6 лет. Я не пробовал ни того, ни другого.

person sschuberth    schedule 20.12.2018