OctoberCMS и украшения кода

В поставку OctoberCMS уже входят скрипты Prettify, но по умолчанию они применяются только в бэкенде. Впрочем, подключить их к постам фронт-энда не очень трудно.

Сначала нужно добавить в разметку соответствующие скрипты и стили, например, вкорячив их в scripts и styles в нужном лейауте:

{% put scripts %}
  <script type="text/javascript" src="/modules/system/assets/vendor/prettify/run_prettify.js"></script>
{% endput %}
{% put styles %}
  <link href="/modules/system/assets/vendor/prettify/theme-desert.css" rel="stylesheet" />
{% endput %}

И после этого можно просто добавить в контент, генерируемый маркдауном, нужные классы в html, в котором есть форматируемые коды. Например через стандартные фильтры вывода:

<div class="content">
  {{ post.content_html|replace({'<pre>': '<pre class = "prettyprint">','‹code›':'','‹/code›':''})|raw }}
</div>

А если html генерится не стандартным маркдауном, а как-то еще, то можно сразу в pre добавить нужный класс, и фильтр не понадобится.

Про шерлоков

Каждый раз, как смотрю какую-нибудь «современную» экранизацию, типа Sherlock или Elementary, возникает стойкое ощущение, что следующий персонаж на экране обязательно должен сказать что-то вроде:

 — Вас зовут Холмс и Ватсон? Офигеть, прямо как в книжке!

Даже не знаю, как избавиться.

Adobe Assets

Когда нет под рукой фотошопа, Gimp-а не хватает (тени плохо отображаются), а верстать надо — есть неплохой инструмент, Adobe Assets. Он и картинки из слоев нарезает, и CSS для текста, цвета, теней и скругленных уголков генерирует. Сам пользуюсь давно и с точки зрения «посмотреть как верстать» этот браузерный инструмент легко заменяет фотошоп.

Но блин, как же раздражает, когда в двух соседних вкладках открыты assets и верстаемый сайт, и ты нажимаешь «Обновить» не в той вкладке.

Про Ельцин-центр

Свободы, каковых оформители зала насчитали ровно пять, представляют собой столбы с экранами, на которых разные деятели непрерывно говорят о той свободе, под которой висит экран. Господин Ельцин принёс закабалённому россиянину следующие свободы: предпринимательства (крайне необходимая для большинства населения), передвижения (уже не очень актуальная после недавних турецко-египетских скандалов), собраний и объединений (про которую стараются не упоминать после событий на Болотной), мысли и слова (про которую стыдливо умалчивают вот уже лет десять; мыслить, в принципе, не запрещают, но только нечасто и молча) и совести (сплагиаченная у коммунистических тиранов). Недоумение вызвало малое количество представленных свобод, гарантированных конституцией: то ли именно перечисленные свободы являются самыми важными, то ли зал маловат, то ли просто денег не хватило на остальные.
Экскурсия по Ельцин-центру

Hamster

Для работы и всяких коварных целей регулярно пользуюсь таймтрекером. Раньше использовал стандартный ktimetracker и хватало. Однако внезапно выяснилось, что в последнем KDE из последней kubuntu его почему-то нет.

Поискал там и сям, оказывается прогрессивное человечество рекомендует на замену Hamster. Попробовал, очень даже ничего. Записи вручную править может чуть менее удобно, но отчеты гораздо красивее, а вместо дурацкой вложенности — нормальная система тегов. Неплохая замена, в общем.

Про скринкасты

Все-таки, не люблю я их, особенно по программированию. Вот например Laracasts, кладезь полезной информации. Но как же, блин, неудобно. Берешь урок по каким-нибудь Middleware или по Eloquent — полезную информацию, будь она в текстовой форме со вставками кода, можно было бы извлечь за 2 минуты. Пробежал глазами ненужное, нашел нужное, прочитал, уяснил. Если ленивый — еще и код скопировал.

А видео? Сидишь перематываешь вперед-назад по минутке, как дурак, чтобы не пропустить, что ищешь. Находишь — смотришь код, слушаешь, что сказал автор. Код не скопировать и в гугл не воткнуть. Поиском не воспользоваться. Если надо второй раз послушать, перематываешь видео, вместо того чтобы проскроллить просто страничку. И думаешь в конце — а сколько всего за это время сделать-то можно было.

Cotranslate.Net закрыт

Сегодня планово закрыл сайт Cotranslate.Net, о чем писал месяц назад. Сайт просуществовал с 2011-го года, а скрипт перевода в виде модуля для Drupal 6 — и того дольше. За время работы сайта на нем было:

  • зарегистрировано 40 000 пользователей (включая спаммеров);
  • создано 8 000 переводов разных типов;
  • организовано 500 пользовательских групп.

Большая часть всего этого, понятное дело, появилась за последние полтора года.

Как и обещал в объявлении о закрытии, исходники сайта переданы всем заинтересованным лицам. Домен cotranslate.net в ближайшее время будет перенаправлен на одну из поднятых копий. Если кто-то хочет этот домен купить — присылайте предложения в форму обратной связи.

А пока DNS-ы обновляются, можете заходить на эту копию по ссылке cotranslate.ru. Там нет старых пользователей и контента, но можно заново зарегистрироваться и пользоваться сайтом дальше. Как и раньше, только на новом сервере и с новой администрацией, у которой есть желание и возможности поддерживать ресурс, а может быть даже и развивать.

Скачать исходники сайта с небольшой инструкцией по подъему копии можно по ссылке. Обращаю внимание — ответственности за использование предоставленного кода я не несу, консультаций по использованию — не даю. Устанавливайте, изучайте, модифицируйте на свой страх и риск.

Спасибо за внимание и удачи всем на новой инкарнации сайта!

С днем космонавтики!


Все на Яндекс, нажимать на Гагарина!

Quick Telecom SMS

Смастерил тут небольшой модуль, интегрирующий в Drupal 7 отправку SMS через шлюз Quick Telecom. Из коробки есть вывод баланса, форма с настройками (логин-пароль), передача на выбор по HTTP/HTTPS (все разруливается через drupal_http_request), ввод имени отправителя и периода отправки, тестовая форма для проверки.

С SMS Framework пока не интегрировал, может потом. Пользоваться просто: включаем модуль, в админке вводим логин-пароль и шлем смски функцией quicktel_sms_send($phones, $message).

На случай если кому пригодится, делюсь. Брать можно прямо с гитхаба.