Серия «Мой OpenSource»

26

Переводчик Markdown документов

Переводчик Markdown документов

TLDR; https://github.com/ilyachch/md_docs-trans-app

Во время работы над переводом документации DRF, сделал простой скрипт. Со временем он разросся. Сейчас он в несколько потоков через Selenium и web версии переводчиков переводит документы. Редактура после этого нужна, но это куда легче, чем переводить все с нуля.

Поддерживает следующие сервисы (по моему рейтингу):

  1. Deepl (мой фаворит!)

  2. Microsoft Translate (неожиданно)

  3. Google Translate

  4. Yandex Translate (по сути проксированный в гугл запрос, но с очень злым антиспамом)

В случае антибота - тормозит работу и в открытом окне можно пройти капчу и продолжить.

В репозитории есть описание аргументов вызова. Так же поддерживает файлы конфигурации

  • Может писать в новый файл или в исходный, может писать только переведенное или вообще все, по-умолчанию игнорирует уже переведенные файлы (можно отключить)

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

Постарался сделать максимально простое API для поддержки новых сервисов - если чего-то не хватает, открывайте PR или Issue, посмотрим, интегрируем. Ну и вообще, если есть идеи, как можно улучшить - пишите сюда или в Issue.

Так же настроен автоматический релиз в PyPi - можете взять Workflow

С помощью этого приложения переведена документация DRF

Показать полностью
9

Мои стили и скрипты для разных сайтов

Бывает, что меня не устраивает функционал и/или оформление сайтов. Для борьбы с этим я начал писать свои стили и скрипты. Расширения использую Stylus и Tempermonkey.

Поскольку я иногда забываю их синхронизировать, решил создать с ними репозиторий: https://github.com/ilyachch/userscripts

Из интересных скриптов:

  • Better Habr

    • окрашивает заголовок статьи в зеленый или красный в зависимости от рейтинга

    • давет возможность рекурсивно отсортировать комментарии по рейтингу (при нажатии на заголовок "Комментарии"

  • Media Speed

    • позволяет указать скорость воспроизведения медиа. Настройки хранит в localstorage и перехватывает событие запуска воспроизведения. Тоесть каждый сайт "запоминает" скорость воспроизведения

  • Better Rezka

    • убирает паузу между сериями при просмотре сериалов

    • показывает "новое" целиком, без карусели, убирая при этом дубликаты

    • убирает всплывающее окно при отметке "просмотрено"

    • для авторизованных пользователей парсит список просмотренного и отмечает цветом "в процессе" и "просмотрено"

Интересные стили:

  • 4pda - по возможности убирает рекламные блоки. не все, но что уж есть

  • github - растягивает окно actions на всю высоту (по умолчанию, оно прокручиваемое и влезает туда 3 или 4)

  • rezka - убирает рекламные блоки, растягивает плеер, делает интерфейс адаптивным и во всю ширину экрана

  • seasonvar - делает адаптивным, растягивает плеер, делает полностью темным

  • youtube - оставляет только ссылки "главная", "подписки", библиотеку. убирает из подписок стимы, шорты, растягивает плейлист

Есть еще много вещей, которые можно доделать и сделать.

Так же открыт к предложениям - открывайте issue, pull request-ы

Показать полностью
265

Полная и свежая документация по Django Rest Framework

Полная и свежая документация по Django Rest Framework

Собственно, всем желающим: https://github.com/ilyachch/django-rest-framework-rusdoc

Еще в 2017 году я задумал сделать перевод документации по DRF. И начинал с перевода вручную. После перевода Quickstart понял, что так дело не пойдет. Начал переводить с помощью переводчиков с редактурой. Стало чуть быстрее.

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

Сейчас проект поддерживается в максимально актуальном состоянии:

  • каждую неделю по крону выкачивается документация оригинала и сравниваются хэши файлов у меня и в источнике (можно посмотреть код workflow гитхаб экшенов)

  • в случае наличия изменений, автоматом создается ветка и pull-request, которые я обрабатываю за пару дней (по мере наличия времени)

  • все изменения проходят мою ручную редактуру

Если кому-то будет полезно, буду рад.

Показать полностью
Отличная работа, все прочитано!