Привет, на связи Влада, веб-специалист ЮMoney. Год назад я рассказывала на Хабре, как контент-менеджеру пригодятся терминал, Git и несколько десятков строк кода.
С тех пор многое изменилось. В работе появился ИИ — инструмент, снизивший порог входа в автоматизацию. Не потому, что пишет код вместо нас, а потому, что ускорил создание небольших утилит под наши процессы.
Расскажу, как из одного bash-скрипта вырос набор внутренних инструментов для контент-команды. Идеи пригодятся техническим писателям, контент-менеджерам и всем, кто регулярно работает с Markdown, XML и CMS.
Когда готовое решение перестало работать
Процесс текстовых публикаций стандартен: редактор пишет текст, веб-специалист оформляет с помощью языка разметки, проверяет и публикует на сайт.
Мы долго использовали онлайн-конвертер из DOCX в Markdown. Но зачем зависеть от стороннего сервиса, если конвертация документов — давно решённая задача?
Ответом стал Pandoc — консольный конвертер документов, поддерживающий десятки форматов. Базовая команда:
pandoc article.docx -o article.md
Но сама конвертация оказалась лишь малой частью процесса. После неё приходилось вручную:
-
удалять служебную разметку;
-
исправлять оформление ссылок;
-
прописывать пути к изображениям;
-
заменять двойные дефисы на длинное тире;
-
удалять лишние пустые строки;
-
считать время чтения статьи.
Каждая операция занимала пару минут, но при повторении несколько раз в неделю съедала рабочее время. Стало понятно: автоматизировать нужно весь процесс целиком.
Bash как редакторский инструмент
Вместо поиска очередного сервиса мы собрали собственный пайплайн. Скрипт проходит по всем 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_breaksdone
Можно скачать пятьдесят документов, положить в одну папку и обработать одной командой. 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 "\n\n---\nВремя чтения: ~$minutes минут (≈ $words слов)" >> "$file"
После запуска одной команды веб-специалист получает Markdown, готовый к публикации. Остаётся проверить отображение текста на тестовых схемах, а не тратить время на рутину.
Самым ценным оказался не Pandoc, а идея собирать повторяющиеся операции в небольшие инструменты. Как только первый доказал пользу, стало ясно — подобных процессов вокруг гораздо больше.
Когда один скрипт перестаёт быть исключением
Всё изменилось, когда первый скрипт начал жить своей жизнью. Его протестировали коллеги, он появился во внутренней Wiki, и постепенно стало нормой: нужно подготовить большую пачку материалов — запускаешь одну команду вместо двадцати повторений. Тогда мы поняли: похожих процессов гораздо больше.
Например, новости и исследования для портала публикуются в XML. Снова рутина: открыть документ, скопировать текст, привести структуру к нужному формату, сделать разметку, проверить. Логика знакомая: если процесс повторяется, его можно описать последовательностью действий и автоматизировать.
Так коллеги из команды написали bash-скрипт для преобразования DOCX в XML. Он использует стандартные инструменты macOS и приводит структуру документа к формату CMS. Веб-специалисту остаётся только разместить код и проверить результат.
Один скрипт редко остаётся одним
Следующий кандидат на автоматизацию — подготовка игровых SKU-витрин. Информацию от поставщиков редко удаётся загрузить без обработки: нужно структурировать описания, оформлять списки, исправлять системные требования, менять формат дат, проверять изображения. Для этого появился небольшой парсер, который автоматически:
-
разбивает описание на абзацы;
-
преобразует списки в маркированные и нумерованные;
-
приводит даты к нужному формату;
-
подставляет изображения и логотипы по наименованию;
-
заменяет сокращения и унифицирует текст;
-
учитывает особенности витрин разного типа.
Все эти инструменты работают по одному принципу: не принимают решений за человека и не публикуют материалы автоматически. Они выполняют только рутинные действия, где участие человека не требуется, а вероятность ошибки высока.
Где здесь ИИ?
Сами скрипты несложные: bash, Pandoc, Perl и регулярные выражения. Но ещё пару лет назад на их написание ушло бы гораздо больше времени. Теперь большинство задач решается в диалоге с ИИ: написать регулярное выражение, разобраться с параметрами Pandoc, доработать скрипт или проверить обработку на нестандартном документе.
Тот же подход помогает кастомизировать блоки Tilda: добавить функциональность на JavaScript или доработать CSS.
ИИ не заменяет разработку — код всё равно нужно придумать, протестировать и адаптировать. Но путь от идеи до рабочего инструмента стал заметно короче.
Что в итоге
Ни один из наших инструментов нельзя назвать сложным: Pandoc, bash-скрипты, регулярные выражения, небольшие парсеры и ИИ-помощник — по отдельности простые решения. Но вместе они изменили работу команды сильнее, чем мы ожидали.
Мы значительно сократили время на рутинную вёрстку однотипных статей и витрин. Освободившиеся часы вернулись туда, где нужен человек: в управление процессами, коммуникации и запуск проектов.
Благодаря ИИ создавать инструменты под собственные задачи стало настолько просто, что автоматизация перестала быть прерогативой разработчиков. Даже если вы только начинаете автоматизировать процессы, ИИ-помощники, к примеру, GigaChat помогают быстрее разобраться с документацией, синтаксисом Bash и регулярными выражениями, снижая порог входа в такие задачи.
А вы автоматизировали рутинные задачи с помощью ИИ? Какие инструменты используете? Делитесь в комментариях!
ссылка на оригинал статьи https://habr.com/ru/articles/1060614/