Как реализовать на github подобный код ’embed’ и функцию ‘raw’?

#embed

#Внедрить

Вопрос:

Мне действительно нравится функция в окне кода github, особенно функции ’embed’ и ‘raw’.Мне любопытно, как реализовать подобный блок кода.(Не выделение кода, а только функции ’embed’ и ‘raw’)

пример

Вы когда-нибудь видели какие-либо плагины или что-то другое, что может это сделать?

Спасибо.

Ответ №1:

Вот как они это делают: у них есть файл raw на их сервере, поэтому, когда вы нажимаете raw, он просто выполняет следующий скрипт

 window.open('whateverrawcode.rb');
  

Что касается функциональности ’embed’, то они снова получают код и на сервере преобразуют код в html с добавлением классов для подсветки синтаксиса. В скрипте, который они вам дают, просто document.выпишите ссылку на таблицу стилей, а затем document.выпишите HTML. Я взглянул на скрипт для кода ruby, вот он:

 document.write('<link rel="stylesheet" href="https://gist.github.com/stylesheets/gist/embed.css"/>')

document.write('<div id="gist-984320" class="gist">n  n  n    n      n        nn        <div class="gist-file">n          <div class="gist-data gist-syntax">n            n            n            n              <div class="gist-highlight"><pre><div class='line' id='LC1'><span class="nb">require</span> <span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="s1">amp;#39;../config/applicationamp;#39;</span><span class="p">,</span> <span class="bp">__FILE__</span><span class="p">)</span></div><div class='line' id='LC2'><span class="nb">require</span> <span class="s1">amp;#39;rakeamp;#39;</span></div><div     class='line' id='LC3'>  and more HTML')
  

Я удалил большую часть HTML, чтобы сократить код, но в этом и заключается идея.