Могу ли я вставлять исходные файлы из GitHub на мою веб-страницу, кроме Gists?
контекст
Вы можете создать Gist на GitHub и разместить его на своей веб-странице: встраивание Gists.
Это пример случайно выбранного Gist: tap.groovy
,
Вопрос
Возможно ли встраивание с другими файлами кода из GitHub, например, с этим случайно выбранным файлом C# ICommand.cs
который не является Гистом?
6 ответов
Вы можете использовать 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>
Вы можете попробовать 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"></script>
Вы также можете изменить его стиль выделения, и некоторые параметры, такие как "номера строк", "метаданные файлов", доступны.
В отличие от других веб-сайтов, которые выполняют аналогичную работу, EmGithub.com - это статический сайт, размещенный на страницах Github. Получение целевых файлов и выделение выполняется в вашем браузере.
Существует стандарт для встраивания контента с одного веб-сайта в другой через URL-адрес, который называется oEmbed. К сожалению, GitHub не является провайдером oEmbed, то есть он не поддерживает oEmbed для своих URL.
Я нашел прокси-сервис Oembed Proxy для GitHub, который добавляет поддержку oEmbed для кодовых URL GitHub. Вы передаете URL-адрес GitHub в качестве параметра URL-адресу прокси-сервера, и полученный URL-адрес может быть вставлен на другой веб-сайт, при условии, что веб-сайт поддерживает встраивание ссылок oEmbed.
Еще одно препятствие заключается в том, что не каждый веб-сайт поддерживает встроенные URL-адреса. Согласно документации прокси, это один сайт, который их поддерживает. Я провел некоторые исследования и, похоже, можно добавить поддержку oEmbed, например, в wordpress или jekyll.
Этот ответ дает очень ограниченное решение из-за небольшого принятия oEmbed. Я думал, что стоит распространить слово, тем не менее.
Другой возможный сервис - https://github.com/finom/github-embed. Кажется, к настоящему моменту он не используется уже около 2 лет, но суть - кажется, что он не поддерживается даже в течение 6 лет. Я не пробовал ни того, ни другого.
Вы можете использовать гистярд
<iframe src="https://gistyard.piyushdev.xyz/emd.html?lang=&from=0&to=&code=https://raw.githubusercontent.com/dotnet/corefx/master/src/System.ObjectModel/src/System/Windows/Input/ICommand.cs&edit=true&dm=off" width="100%" height="330" frameborder="0"></iframe>
Он предоставляет такие функции, как изменение темы , вырезание кода непосредственно из необработанного, режим редактирования , пользовательский стиль и другие.