Могу ли я вставлять исходные файлы из 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 лет. Я не пробовал ни того, ни другого.

Можно было бы простоfetchфайл для вставки на свой сайт.

Вы можете использовать гистярд

      <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>

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

Другие вопросы по тегам