Сейчас мало кто задаётся вопросом: «А как вот эта штука будет работать без Интернета?». Ещё меньше есть тех, для кого автономная работа той или иной программы или инструмента является важной составной частью рабочего процесса. И совсем немногим хотелось бы заполучить в автономном режиме отладчик Opera Dragonfly под Opera 12 Presto. Но, если его отключат, по тенденции...:
В один из судьбоносных дней календаря, а именно 31 октября 2013 года компанией Opera Software ASA было объявлено о закрытии к 1 марта 2014 г. сервиса My Opera.
Всё, что на нынешний момент осталось от my.opera.com — это редирект на страничку
с красноречивым криком в URI нашей боли: «Где моя Опера?!!».
Opera Presto на самом деле до сих пор вполне годный браузер, особенно для скромных машин. Но вот это «ещё» в контексте «ещё работает» для Opera Dragonfly в свете эффективной политики компании делает очень высоким шанс, что однажды вдруг останешься без инструмента отладки. И тогда на этот светлый браузер с утроенной силой нахлынут закопатели. Хотя, имхо, и если по честному, современное содержание Интернета и мизинца IE8 не стоит. Не то, чтобы Оперы.
справедливо будет для любой винды, и по большей части и для иных осей.
Общее начало 1. Открываем в Опере урл opera:config
2. Ищем «dragon» в поле поиска
3. Видим опцию «Developer Tools URL». По умолчанию установлена в
4. Создаём папку, где хотим хранить заветный свой локальный Opera Dragonfly. Например C:\Opera\dragonfly.
Далее есть три рабочих пути.
Можно было, конечно, ограничиться первым попавшимся или оптимальным, но для полноты изложения и картины описываю все найденные возможности.
Первый видимый путь, в лоб. Открываем в той же Опере 12 ссылку dragonfly.opera.com/app
Видим сообщение вида «Ожидание подключения узла к порту 0»
Не обращаем на него внимания, жмём Ctrl+S, в диалоге выбираем «Имя файла» = «dragonfly», «Тип файла» = «XML-файл с изображениями». Сохраняем.
В папке, куда сохранили, видим файл «dragonfly.xml» и папку «dragonfly_files».
Перемещаем в C:\Opera\dragonfly\ файл dragonfly.xml и папку dragonfly_files.
Переименовываем dragonfly.xml в client-ru.xml
Прописываем в opera:config «Developer Tools URL» значение «file://localhost/C:/Opera/dragonfly/client-ru.xml»
Более короткий и красивый путь. Идём в ещё не убитое хранилище собраных зип версий Opera Dragonfly: dragonfly.opera.com/app/zips
Идём в default zips — latest и качаем себе желаемую локализацию dragonfly. Я скачивал client-ru.zip и client-en.zip
Распаковываем client-ru.zip в C:\Opera\dragonfly\. Получаем в корне этой папки файл client-ru.xml и две подпапки.
Можно распаковать прямо туда же и иные локализации, например client-en.zip, это совместимо. По скриптам и xml контент архивов не пересекается, а css у всех локалей одинаковый.
Прописываем в opera:config «Developer Tools URL» значение «file://localhost/C:/Opera/dragonfly/client-ru.xml»
Можно даже не распаковывать архив, а прямо ввиде архива и оставить, прописав в Developer Tools URL нечто вроде file://localhost/c:\opera\client-ru.zip/client-ru.xml. Опера умеет работать с zip архивами как с каталогами.Путь настоящего воина Идём в ещё не убитый репозиторий (есть форки!) github.com/operasoftware/dragonfly. Клонируем / качаем зип.
(зачёркнуто) Ридми нам заботливо подсказывает, что Стрекоза (Муха-Дракон) собирается чудо-сборщиком DragonKeeper (Хранителем Дракона) — github.com/operasoftware/dragonfly-build-tools. Клонируем / качаем зип.
Как оказалось, DragonKeeper собирать может, ну наверняка же, и крутая штука, и не только собирать… Но для цели «соберу ка я Стрекозу из сурсов» на самом деле необязателен. Т.к. в сурсах Стрекозы есть собственный питонский сборщик с хороводом поддержки в подпапке /tools
Но если кто решится продолжить своими силами развитие Dragonfly под Оперу Presto, местные мануалы и Стрекозы, и Кипера подскажут много полезного.
Качаем питонов.
www.python.org/downloads
Нам для сборки подойдёт 2.6.* — 2.7.*.
В оригинальном виде питонячий скрипт собирать Стрекозу не хочет.
Чтобы заработало, надо пофиксить в tools/dfbuild.py 458-ю строку с
temp.write(line.encode("ascii"))
на
temp.write(line.encode("ascii", "xmlcharrefreplace"))
Полезной информацией к размышлению снабдила дока docs.python.org/2/howto/unicode.html
Далее команда для сборки отработает нормально: python tools/dfbuild.py -dtsm src build
Собирается Dragonfly довольно долго. И большая часть работы приходится на минификацию js под каждую локаль.
Dragonfly собралась в только что созданной подпапочке /build. Берём оттуда файлы client-ru.xml, style/dragonfly.css, script/dragonfly-ru.js
Остальное воину объяснять уже излишне.
Работают все три метода.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««