#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, чтобы сократить код, но в этом и заключается идея.