rails
February 25, 2021

Код в блогах

Во время написания статей и заметок постоянно приходится вставлять блоки кода. На текущей площадке, впрочем как и на medium, код вставляется весьма просто:

Lusnoc::Mutex.new('/some/key').synchronize do |mx|
  # do some work
  mx.renew if mx.need_renew?  # manualy renew session if needed
  # do other work
  mx.renew if mx.need_renew?  # manualy renew session if needed
  # ...
rescue Lusnoc::ExpiredError => e
  # Session was invalidated and mutex was lost!
end

Но мне всегда хочется подсветки и вот как она делается.

Github gist

Хороший сервис, никогда не подводил: https://gist.github.com/. Не забудьте сделать вашgist публичным.

Решение по вставке вiframe я подсмотрел тут, и выглядит оно так:

Заменять надо только путь к js-скрипту

Исходный код:

<iframe 
    width="100%"
    height="350"    
    src="data:text/html;charset=utf-8,
    <head><base target='_blank' /></head>
    <body><script src='https://gist.github.com/kinnalru/95cafbcf89db97b0df5e1979bdda8b12.js'></script>
    </body>">

Результат:

Gitlab snippets

УGitlab есть свой аналог https://gitlab.com/snippets и там все точно также. Когда копируете ссылку не забывайте добавлять.js в конец.

Исходный код:

<iframe 
    width="100%"
    height="350"    
    src="data:text/html;charset=utf-8,
    <head><base target='_blank' /></head>
    <body><script src='https://gitlab.com/-/snippets/2082240.js'></script>
    </body>">

Результат:

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

Бонусом идет то, что в гисты/снипеты можно вставлять не только код, но иMarkdown разметку, и точно также вставлять черезiframe.