Вскрываем конверт
Вскрываем конверт. Чем круты рассылки Т—Ж
Блочный редактор писем, готовые шаблоны email, формы подписки и автоматизация. Запускайте email-рассылки, чтобы быть на связи со своими клиентами.
Т—Ж — медиа про деньги и все, что с ними связано. В журнале пишут про дешевые путешествия, выгодные инвестиции, рассказывают истории бизнесменов и составляют дневники трат.
Меркурий
Главное бэкэнд-приложение Т—Ж — его движок. Собственный движок нам понадобился, когда журнал в 2017 году переезжал с Вордпресса. Движок назвали Меркурием в честь древнеримского бога богатства и торговли, потому что мы же журнал про деньги. Написан на Python + Django.
Меркурий собирает страницы, которые видит читатель журнала. Часть компонентов страницы он переводит в разметку и стили из собственных джанго-шаблонов: контент статьи, страницу о журнале и поисковую выдачу. За компонентами поновее — шапкой, подвалом, профилем и прочим — он ходит в сервис-прослойку, который уже отдает разметку и стили с нашего фронта.
Меркурий сам хранит и обрабатывает авторский контент — изображения, статьи, редакционную структуру материалов и статистику опубликованного контента. Редакторам и верстальщикам он предоставляет интерфейс для управления всем этим добром — админку.
Верстальщики набирают статьи журнала в синтаксисе html. Для удобства админка еще поддерживает шорткоды — это как теги, только они разворачиваются в более сложные синтаксические конструкции с особыми стилями. Cписок сервисов из начала статьи в админке записан шорткодом [ol type=milchin][/ol].
Интерфейс, с которым работает верстальщик и иногда — редактор.
Главный экран админки. Та самая кнопка раньше отрубала поиск и рекомендации. Потом мы их оптимизировали, а кнопку оставили из ностальгических соображений.
Руководство по верстке материалов из шорткодов и прочего. У верстальщиков есть еще своя методичка в гугл-документах.
Когда в админке сохраняют статью, по ней проходит типограф. Это скрипт, который меняет часть конструкций в тексте так, чтобы они соответствовали правилам типографики и редполитики журнала. Например, проставляет знак рубля и неразрывные пробелы. Мы воспользовались готовым решением, только переписали пару правил, чтобы результат нам подходил.
Меркурий кэширует большинство данных: контент, главную, статьи и другие редко меняющиеся страницы. Так мы экономим на дорогих расчетах и отрисовке, чтобы держать больше пользователей онлайн одновременно.
В журнале встречаются страницы, которые объединяют другие статьи, например:
- разводящие по тематикам — путешествия, бизнес, интерактивы;
- подборки — дневники трат, выплаты в пандемию;
- выдачи по тегу, автору или формату;
- результаты поиска.
Правила, по которым собираются эти страницы, также обрабатывает Меркурий: это могут быть формулы, выставленные вручную редакторские настройки или их комбинации. Для таких настроек у нас тоже предусмотрены отдельные конфиги.
Разводящая раздела про путешествия. Сюда автоматически тянутся свежие статьи с этой темой, а блок подборок настраивает редактор.
Витрина подборки. Статьи для нее собрал редактор.
Результаты поиска, которые собираются автоматически. Сам поиск тоже реализован в Меркурии.
В апреле 2020 года мы начали тестировать новую версию нашего движка, который мы назвали Ретроградным Меркурием. Мы полностью перебрали код, разбили его на несколько сервисов и затащили новые фичи: веб-сокеты в админке, улучшенный поиск и другие. Пишем тоже на Python, но уже с FastAPI — как и другие крупные бэкенды журнала.
Что в этом нового
Наверняка кто-то делал так же в те годы, но я был уверен, что мы совершили революцию.
У всех изданий, которые я в то время знал, был постоянный штат авторов: каждый работал над своей темой, а при необходимости ходил к экспертам. Эксперты давали комментарии бесплатно, авторы получали зарплату, и как-то все жили. Могли привлекать звездных колумнистов. Могли увольнять и нанимать новых авторов. Но в целом коллектив был постоянным и попасть в медиа было чем-то экстраординарным.
У нас принципиально иначе: зеленый коридор для всех авторов, кто готов работать и кому есть что сказать. Мы платили им сдельно, они приносили нам классный материал, получались статьи. Фактически в Т—Ж сложилась школа редактуры, за учебу в которой еще платили гонорар. Любой человек, который хотел много редактировать, мог принести заявку и стать частью редакции.
Наши статьи получались дорогими. Но мы старались делать их вневременными, чтобы можно было опубликовать тот же материал через месяц, полгода, год и далее. Мы много платили за статьи и старались зарабатывать еще больше.