- BrainTools - https://www.braintools.ru -
Привет, на связи Влада, веб-специалист ЮMoney. Год назад я рассказывала на Хабре [1], как контент-менеджеру пригодятся терминал, Git и несколько десятков строк кода.
С тех пор многое изменилось. В работе появился ИИ — инструмент, снизивший порог входа в автоматизацию. Не потому, что пишет код вместо нас, а потому, что ускорил создание небольших утилит под наши процессы.
Расскажу, как из одного bash-скрипта вырос набор внутренних инструментов для контент-команды. Идеи пригодятся техническим писателям, контент-менеджерам и всем, кто регулярно работает с Markdown, XML и CMS.
Процесс текстовых публикаций стандартен: редактор пишет текст, веб-специалист оформляет с помощью языка разметки, проверяет и публикует на сайт.
Мы долго использовали онлайн-конвертер из DOCX в Markdown. Но зачем зависеть от стороннего сервиса, если конвертация документов — давно решённая задача?
Ответом стал Pandoc — консольный конвертер документов, поддерживающий десятки форматов. Базовая команда:
pandoc article.docx -o article.md [2]
Но сама конвертация оказалась лишь малой частью процесса. После неё приходилось вручную:
удалять служебную разметку;
исправлять оформление ссылок;
прописывать пути к изображениям;
заменять двойные дефисы на длинное тире;
удалять лишние пустые строки;
считать время чтения статьи.
Каждая операция занимала пару минут, но при повторении [3] несколько раз в неделю съедала рабочее время. Стало понятно: автоматизировать нужно весь процесс целиком.
Вместо поиска очередного сервиса мы собрали собственный пайплайн. Скрипт проходит по всем DOCX-файлам в папке.
for file in *.docx; do
echo "📄 Обработка: $file"
pandoc "$file"
-o "${file%.docx}.md"
--wrap=none
--markdown-headings=atx
-t markdown-simple_tables+hard_line_breaks
done
Можно скачать пятьдесят документов, положить в одну папку и обработать одной командой. Pandoc справляется с преобразованием DOCX в Markdown, но после экспорта остаётся много служебной разметки. Например, конструкции .mark и .underline. Чтобы не удалять их вручную, добавили этап очистки.
perl -i -pe '
s/[[[([^]]+)]{.mark}-([^]]+)]{.underline}](([^)]+))/[$1-$2]($3)/g;
s/[[([^]]+)]{.(?:mark|underline)}]/[$1]/g;
s/[[([^]]+)]{.underline}](([^)]+))/[$1]($2)/g;
s/[([^]]+)]{.(?:underline|mark)}/$1/g;
s/{.mark}//g;
s/{.underline}//g;
' "$file"
Следующая задача — замена абсолютных ссылок на относительные. Вместо ручной правки помогло регулярное выражение:
perl -i -pe 's{([[^]]+])(https://yookassa.ru(/[^)]+))}{$1($2)}g' "$file"
Скрипт также исправляет пути к изображениям, удаляет лишние пустые строки, заменяет двойные дефисы на длинное тире и оставляет только нужный фрагмент документа. Заодно автоматизировали расчёт времени чтения:
words=$(wc -w < "$file" | tr -d ' ')
minutes=$(( (words + 119) / 120 ))
echo -e "nn---nВремя чтения: ~$minutes минут (≈ $words слов)" >> "$file"
После запуска одной команды веб-специалист получает Markdown, готовый к публикации. Остаётся проверить отображение текста на тестовых схемах, а не тратить время на рутину.
Самым ценным оказался не Pandoc, а идея собирать повторяющиеся операции в небольшие инструменты. Как только первый доказал пользу, стало ясно — подобных процессов вокруг гораздо больше.
Всё изменилось, когда первый скрипт начал жить своей жизнью. Его протестировали коллеги, он появился во внутренней Wiki, и постепенно стало нормой: нужно подготовить большую пачку материалов — запускаешь одну команду вместо двадцати повторений. Тогда мы поняли: похожих процессов гораздо больше.
Например, новости и исследования для портала публикуются в XML. Снова рутина: открыть документ, скопировать текст, привести структуру к нужному формату, сделать разметку, проверить. Логика [4] знакомая: если процесс повторяется, его можно описать последовательностью действий и автоматизировать.
Так коллеги из команды написали bash-скрипт для преобразования DOCX в XML. Он использует стандартные инструменты macOS и приводит структуру документа к формату CMS. Веб-специалисту остаётся только разместить код и проверить результат.
Следующий кандидат на автоматизацию — подготовка игровых SKU-витрин. Информацию от поставщиков редко удаётся загрузить без обработки: нужно структурировать описания, оформлять списки, исправлять системные требования, менять формат дат, проверять изображения. Для этого появился небольшой парсер, который автоматически:
разбивает описание на абзацы;
преобразует списки в маркированные и нумерованные;
приводит даты к нужному формату;
подставляет изображения и логотипы по наименованию;
заменяет сокращения и унифицирует текст;
учитывает особенности витрин разного типа.
Все эти инструменты работают по одному принципу: не принимают решений за человека и не публикуют материалы автоматически. Они выполняют только рутинные действия, где участие человека не требуется, а вероятность ошибки [5] высока.
Сами скрипты несложные: bash, Pandoc, Perl и регулярные выражения. Но ещё пару лет назад на их написание ушло бы гораздо больше времени. Теперь большинство задач решается в диалоге с ИИ: написать регулярное выражение, разобраться с параметрами Pandoc, доработать скрипт или проверить обработку на нестандартном документе.
Тот же подход помогает кастомизировать блоки Tilda: добавить функциональность на JavaScript или доработать CSS.
ИИ не заменяет разработку — код всё равно нужно придумать, протестировать и адаптировать. Но путь от идеи до рабочего инструмента стал заметно короче.
Ни один из наших инструментов нельзя назвать сложным: Pandoc, bash-скрипты, регулярные выражения, небольшие парсеры и ИИ-помощник — по отдельности простые решения. Но вместе они изменили работу команды сильнее, чем мы ожидали.
Мы значительно сократили время на рутинную вёрстку однотипных статей и витрин. Освободившиеся часы вернулись туда, где нужен человек: в управление процессами, коммуникации и запуск проектов.
Благодаря ИИ создавать инструменты под собственные задачи стало настолько просто, что автоматизация перестала быть прерогативой разработчиков. Даже если вы только начинаете автоматизировать процессы, ИИ-помощники, к примеру, GigaChat помогают быстрее разобраться с документацией, синтаксисом Bash и регулярными выражениями, снижая порог входа в такие задачи.
А вы автоматизировали рутинные задачи с помощью ИИ? Какие инструменты используете? Делитесь в комментариях!
Автор: zusmanzus
Источник [6]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/33234
URLs in this post:
[1] рассказывала на Хабре: https://habr.com/ru/companies/yoomoney/articles/881500/
[2] article.md: http://article.md
[3] повторении: http://www.braintools.ru/article/4012
[4] Логика: http://www.braintools.ru/article/7640
[5] ошибки: http://www.braintools.ru/article/4192
[6] Источник: https://habr.com/ru/companies/yoomoney/articles/1060614/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1060614
Нажмите здесь для печати.