GitHub у поміч блогеру

Восьмикіт — талісман мережі GitHubЧастенько блогеру, пов’язаному з IT-сферою, доводиться писати коротенькі сценарії, або ж операції, необхідні для досягнення бажаного результату. Зазвичай для подібних речей блогер ставить плагін для підсвітки синтаксису і самотужки вставляє шматки коду між спеціальними тегами. Однак щойно наш робочий скрипт змінився, чи з’їхала нумерація, як тут же всі вставки коду в статті доводиться переробляти наново.

Проте хочеться, щоб це виглядало максимально зручно для кінцевого читача. Однак і робити щоразу дурну роботу ліньки. Або ж хочеться описати деякі важливі моменти, а в кінці статті дати посилання на повністю готовий код. Або, описуючи власні дії покроково, дати користувачеві можливість просто-таки повністю скопіювати всі рядки разом, а не кожен окремо. Мало чого може залізти в голову блогеру.

Проте всі ці (і на разі не лише мої) забаганки можуть здійснитися, якщо використовувати GitHub, і, зокрема, сервіс Gist

Всім відомі сервіси для обміну шматками коду, та іншою текстовою інформацією. Це так звані Pastebin-и. Свою назву вони отримали від одного з родоначальників подібного сервісу під назвою pastebin.com і були призначені для того, щоб не кидати у вікно чату великі шматки коду, результати виконання команд, та ще купу всіляких речей, однак, з яких можна судити про проблему і дати слушну пораду. Ці сервіси дозволяють обмінюватись, вносити зміни, переглядати старі версії файлу, мають підтримку синтаксису та дозволяють модифікувати кільком особам один і той же файл. Більшість спільнот по програмуванню обзавелися власними подібними сервісами, наприклад, hpaste.org — для спільноти програмістів на Хаскелі, snipt.org — для твітерян, існують навіть боти на Perl. Проте вони з самого початку орієнтувались на чат. Це означало, що нам все одно доведеться переходити на іншу сторінку, щоб подивитись на код, а значить, просто не підходить для блогера. І тут з’являється Gist.

Логотип сервісу GistСам сервіс Gist представляє собою класичну реалізацію pastebin-ів на базі git-репозиторіїв. Це значить, що з кожним таким шматком коду можна робити всілякі операції, властиві git-репозиторіям, зокрема, клонувати, зливати(мержити). На додачу це знімає обмеження на один файл, що ще покращує життя. При всьому цьому сервіс продовжує давати анонімний доступ, тобто зберігає всі можливості попередників.

І найзручніша плюшка для блогера — можливість вмонтувати код з підсвіткою синтаксису у власну публікацію та можливість скачування оригінального файлу прямо на місці. Підсвітка синтаксису реалізована за допомогою Pygments, а підключити файл в публікацію можна за допомогою тегу <script>, наприклад:

На додачу, є перманентні посилання на кожну ревізію та кожен файл, підтримка історії, скачування всього репозиторію одним архівом. І ще більші можливості очікують на свою реалізацію. Тепер, змінивши файл, Вам не доведеться бігом редагувати його у блозі — все вже давно там.

Свій тест-драйв цих можливостей я вже зробив у попередній статті, і дуже задоволений. Проте є ще кілька речей, які я з нетерпінням очікую, і за які прошу проголосувати всіх, хто має обліковий запис на support.github.com (на жаль, для цього та основного домену облікові записи різні):

  • Options for gist embedded. Ці пропозиції включають в себе додання можливостей посилатись на вказані шматки коду а також кнопку для копіювання всього коду в буфер обміну.
  • Make all files embeddable like gists. Реалізація функціональності вмонтування для всіх файлів в стандартних репозиторіях Git. Це дозволить одного дня зробити один репозиторій для коду на весь блог і посилатись на нього. На додачу, коментатори зможуть побродити по всьому репозиторію і поназадавати каверзних питань. Дуже зручно, як на мене.

На цьому й завершу цей коротенький огляд, а для тих, хто хоче власноруч вибрати собі інструмент, даю наступні посилання:

  • Непогано і виглядає симпатично, але підключення через js це настільки ж погано, наскільки і гарно. У RSS не відображається, пошуковиками не індексується, якщо увімкнено параноідальний режим бразузера – теж не відображається (хоча тут, звісно, інтернетчик сам балбєс, але ж і таке буває).

  • Та, про RSS я відразу не подумав. Проте у випадку, коли по ним ходять тізери(що теж загалом не дуже добре), то цієї проблеми нема.

  • Vika

    http://doubleint.ru/ Видео уроки по программированию и системному администрированию