Ruslan Brest, rb.labtodo.com
Backend web-developer: CodeIgniter, PHP, MySQL, OpenCart, PrestaShop, MaxSite CMS

markdown

Прикрутил Markdown Extra к Opencart 2.0.1.1

Писать описания стало в разы легче: Summernote (в Opencart 2.x), как и любой другой WYSIWYG HTML редактор (CKEditor в Опенкарт 1.5.x), мне больше мешают, чем помогают. Единственное место, где при работе над контентом изредка возникает желание переключиться с режима исходников на "кнопочки" - вставка ссылки вокруг выделенного текста и может быть ещё списки.

Всё остальное время - это либо яростная борьба с лишними тегами (те же `br`, например), лишними переводами строк, лишними наборами спанов, стилей и шрифтов (иногда удлиняющими исходник втрое), ненужными указаниями размеров шрифта и с массой всего ещё. Н-е-у-д-о-б-н-о. Я очень многое после них исправлял, а иногда делать это приходилось после каждого исправления, потому что у этих WYSIWYG редакторов свой взгляд на форматирование и представление кода.

Тем же, кто работает над контентом не один, добавляется ещё одна головная боль - контролировать единообразие оформления совсем непросто, когда у контентщиков в руках вместо палки-копалки - огромнейшая машина, с которой они плохо управляются и пытаются нажать все кнопки, которые освоили.

Второй большой бонус для меня - сопровождение описаний модулей стало гораздо легче. Не надо хранить три разные версии одного и того же текста в разных форматах и мучиться с синхронизацией исправлений во всех копиях описаний.

Ну и сам по себе Markdown гораздо лаконичней HTML исходников. Работать с ним мне намного удобней.

При этом, что очень важно, ничто не мешает использовать HTML в описаниях, если есть необходимость! То есть переезд с HTML на Markdown в описаниях товаров и категорий оказывается безболезненным. Старые описания показываются как и показывались.

Shaarli: добавил поддержку Markdown

прикрутил поддержку Markdown в описаниях. Это оказалось чуть ли не пятиминутным делом. Готовые библиотеки скачиваются на счёт "раз-два", а несколько мест, где происходит обработка описаний при выводе на экран, позаимствовал из готового пулл-реквеста в Github-репозиторий Shaarli (PR#63). Их там всего 3-4, так что всё, что оставалось сделать - просто изменить подключаемые библиотеки и поменять вызовы на `Markdown()`.

Меня интересовало решение для PHP 5.2, а не 5.3 и выше - на сервере, где лежит мой сайт, версию PHP выбрать нельзя. Там 5.2.17.
Кого интересует PHP 5.3+, см. оригинальный пулл-реквест. Там и более свежая Markdown библиотека используется. Которая, кстати, в будущем останется одна (начиная с 2014 года).

Также задумался о том, что неплохо было бы мульти-юзер версию иметь на примете. У нас с парой человек как-то возникало несколько раз желание использовать делишес для сбора ссылок в отдельных проектах или компаниях. Букмарклетами ссылки добавлять в хранилище легко и просто, а тегами они прекрасно быстро сортируются. И не нужны никакие вики: туда сначала надо зайти, найти, куда вписать, открыть редактор, найти там место, скопировать и оформить ссылку. Понятное дело, что на это хватает только самых упёртых. Сравните с кликом по кнопке в тулбаре и вписыванием нескольких тегов для категоризации. Всё остальное происходит само.

Итак, недолгий гуглёж показал, что ближайшая альтернатива, на которую я буду смотреть -- Scuttle (multiuser Delicious-clone, PHP, MySQL). Остальные (не только на PHP) -- см. tags: delicious + alternative. Но мне они менее интересны в силу разных причин.