Как реализовать github-подобный код для встраивания и функции raw? - PullRequest
1 голос
/ 24 мая 2011

Мне очень нравится функция в блоке кода github, особенно функция 'embed' и 'raw'. Мне интересно, как реализовать такой блок кода (не выделение кода, а просто "embed" и'raw' function)

пример

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

Спасибо.

1 Ответ

3 голосов
/ 24 мая 2011

Вот как они это делают: у них есть необработанный файл на их сервере, поэтому, когда вы нажимаете «сырой», он просто выполняет следующий скриптесли у них снова есть код, и на сервере они конвертируют код в html с добавлением классов для подсветки синтаксиса.В сценарии, который они вам дают, просто document.write из ссылки на таблицу стилей, а затем document.write из 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        \n\n        <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\">&#39;../config/application&#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\">&#39;rake&#39;<\/span><\/div><div     class=\'line\' id=\'LC3\'>  and more HTML')

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

...