Привет, хабражители!
Я уже писал тут о своём открытом сервисе для скриншотов кода (и простого текста), который позволяет красиво отобразить фрагмент вашего кода в статьях, презентациях, примерах до-после и т.п., насколько хватит вашей фантазии.
Периодически я сам использую его для иллюстраций к своим статьям. И шаг за шагом приходят в голову новые идеи, как получить ещё более красивый результат.
Наконец, я могу сделать почти то, что хотел когда-то:

Также эту картинку можно получить по следующему запросу
curl -X POST "http://localhost:3000/?lang=csharp&font=Fira\_Code&size=23&line\_height=1.2&theme=dracula&bg=solid&outer\_pad=0&inner\_pad=100&chrome=none&tilt=-12&depth=-12&depth\_y=-36&trap\_right=84&offset\_x=19&offset\_y=1&filter=amber&filter\_intensity=90&texture=noise&texture\_intensity=100&zoom=145&grad\_blur=true&grad\_blur\_dir=right&grad\_blur\_amount=10&grad\_blur\_start=45&watermark=true&glare=true&glare\_x=14&glare\_y=3&glare\_distance=500&glare\_angle\_h=65&glare\_angle\_v=61&glare\_blur=18&glare\_color=ff7300&lens=7" \ -H "Content-Type: text/plain" \ --data-binary "@code.cs" \ -o "screenshot.png"
Только создайте файл code.cs с кодом внутри в каталоге, из которого будете выполнять команду, и запустите сервер.
Сервис доступен по ссылке: https://mansiper.github.io/CodeShot/
Помимо большой пачки фич, которые уже были в изначальной версии, появилось много новых:
сохранение/удаление/выбор пресетов;
режим Markdown — вы пишите текст в формате markdown и получаете отрендеренный результат (возможно, что-то ещё не работает — принимаю запросы на исправление);
параметров стало так много, что теперь они по умолчанию свёрнуты;
больше шрифтов и тем, в 2 раза больше текстур и фильтров;
возможность настройки своей цветовой схемы и изменения существующих (возможны некоторые недоделки);
можно задать номер первой строки и цвет номеров строк;
эффект блика (с 8 параметрами настройки источника света);
эффект линзы;
сохранить можно не только в PNG, но и JPG, WebP, GIF, TIFF, Base64 (PNG). Для JPG можно выбрать сжатие (как насчёт самого шакального?);
возможность запуска на node.js, позволяющая получить картинку по POST-запросу (можно локально). Внутри используется Chrome для рендеринга, так что может не сразу завестись;
копирование настроек в формате cURL-запроса, который понятен серверу (зачем писать руками, если можно не писать?);
добавлены мелочи вроде размера табуляции (теперь поддерживается клавиша Tab в редакторе), переключение лигатур, расстояние между символами;
настройки соотношения сторон (фиксированные размеры и мультипликатор);
кнопка случайного выбора параметров (иногда прикольные результаты получаются).
Кажется, у других сервисов (особенно платных), шансов почти нет. Есть парочка таких с уникальными и красивыми фичами, которые мне самому очень нравятся, но остальные уже далеко позади.
Своим Телеграм-каналом опять не поделюсь, но от звёздочек на GitHub или чашечки кофе (ссылка недалеко от кнопки Copy PNG) не откажусь.
Код тут: https://github.com/Mansiper/CodeShot
Пользуйтесь, предлагайте новые фичи.
Aggle
Спасибо! Сервис реально классный!