Часть 6: упаковываем тулбар
Для того, чтобы установить расширение в Firefox, мы должны сначала упаковать все файлы расширения. Всего нам понадобится создать 2 архива: JAR-файл и XPI-файл (кроссплатформенный инсталлятор). Не позволяйте расширениям .jar и .xpi себя одурачить: оба файла — это простые zip-архивы. Соответственно, нам понадобится какой-нибудь zip-архиватор, подойдет любой, желательно чтоб у него была поддержка командной строки.
Создаем JAR файл
Первый архив, который мы создадим — это JAR-файл расширения. Он будет содержать все наши XUL-файлы, файлы JavaScript, таблицы стилей CSS и картинки. Помните, что нужно назвать этот файл тем именем, которое вы использовали в декларации установки в разделе 2. В нашем примере это "gbltutorial.jar" (в нижнем регистре, без пробелов). Этот файл создается в директории chrome:
+- GBLTutorial/
+- install.rdf
+- chrome/
+- gbltutorial.jar
+- content/
+- contents.rdf
+- gbltutorial.xul
+- gbltutorial.js
+- skin/
+- contents.rdf
+- tut_main.gif
+- tut_combined.gif
+- tut_web.gif
+- tut_image.gif
+- tut_overlay.css
Создайте новый zip архив и добавьте в него все содержимое папки chrome. Важно, чтоб относительные пути сохранились, то есть, содержимое архива должно выглядеть вот так:
+- content/ +- contents.rdf +- gbltutorial.xul +- gbltutorial.js +- skin/ +- contents.rdf +- tut_main.gif +- tut_combined.gif +- tut_web.gif +- tut_image.gif +- tut_overlay.css
А теперь просто поменяйте расширение с .zip на .jar.
Вас уже достала реклама? Потерпите, чуть-чуть осталось...
Школа 1с - компьютерные курсы 1с, 1с программирование. Курсы программирования 1с.
кабель силовой любой
Труба - продажа. Производство металлопластиковых труб. Ищете трубы?
Создаем XPI файл
Второй архив, который мы создадим — это кроссплатформенный инсталлятор. Как и JAR файл, это не более, чем zip-архив. Этот файл будет содержать созданный нами JAR-файл и декларацию установки (install.rdf). Он должен располагаться в верхней папке нашего расширения:
+- GBLTutorial/
+- gbltutorial.xpi
+- install.rdf
+- chrome/
+- gbltutorial.jar
+- content/
+- contents.rdf
+- gbltutorial.xul
+- gbltutorial.js
+- skin/
+- contents.rdf
+- tut_main.gif
+- tut_combined.gif
+- tut_web.gif
+- tut_image.gif
+- tut_overlay.css
Создаем новый zip, помещаем туда jar-файл и install.rdf, меняем расширение на .xpi. Вот структура XPI-файла:
+- install.rdf +- chrome/ +- gbltutorial.jar
Устанавливаем наш тулбар
Теперь все готово для установки расширения. Запускам FireFox, выбираем Файл -> Открыть файл... (или просто жмем Ctrl+O). Находим нах XPI-файл и выбираем его. Если вы сделали все верно, появится установщик расширения. Устанавливаем, закрываем браузер, запускаем снова, любуемся нашим творением. Поздравляю, вы создали свое первое расширение для FireFox!
Ускоряем процесс упаковки
Вы быстро устаните упаковывать расширение вручную. Почему бы не написать скрипт, который будет этим заниматься? Если у вас есть zip-архиватор с поддержкой интерфейса командной строки, весь процесс легко автоматизировать. Следующий пример покажет способ собирать наше расширение, используя досовский batch (.bat) и WinZip.
Сначала создаем два текстовых файла: первый — в главной папке (назовем его xpizip.txt), а второй — в папке chrome (jarzip.txt). В каждом из них перечислены пути к файлам, которые надо будет включить в архив. Посмотрите, ничего сложного.
xpizip.txt:
install.rdf chrome\gbltutorial.jar
jarzip.txt
content\*.* skin\*.*
Теперь создаем досовский batch-файл в главной папке нашего расширения. Его можно запускать из командной строки. Вот его код:
cls cd chrome wzzip -Pu gbltutorial.jar @jarzip.txt cd .. wzzip -Pu gbltutorial.xpi @xpizip.txt
Сначала он создает JAR файл, потом XPI файл. Это очень простой скрипт, не забывайте, что можно делать и гораздо сложнее. Например, мой скрипт для сборки Googlebar Lite делает еще кучу всего, например обновляет номер версии в файла install.rdf и about.xul. Написан на PERL. Кстати, вот его код.