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