-
Notifications
You must be signed in to change notification settings - Fork 34
Структура репозитория
Alex Fedosov edited this page Jun 16, 2015
·
26 revisions
-
/app
— приложение для раздачи API: серверная часть, загрузчик карты, демо-страница -
/assets
– статические ассеты. Содержимое папки копируется вdist
без изменений -
/functional-tests
— функциональные тесты -
/gulp
— конфигурация и код сборщика -
/src
– исходный код API -
/test
– конфигурационные файлы karma -
/vendors
– сторонние библиотеки -
config.main.json
– конфигурационный файл приложения -
gulpfile.js
– сборщик приложения -
LICENSE.md
– лицензия
В /src/DGPluginName/skin
находится папка с темами:
-
/skin
-
/basic
— общие стили для всех тем -
/dark
— папка с темой -
/light
— ещё одна папка с темой
-
Структура каталога темы выглядит следующим образом (пример):
-
/less
— содержит файлы стилей в формате *.less -
/img
— содержит картинки (растровые и векторные) которые не нужно конвертировать -
skin.config.js
— конфиг темы (json) с параметрами темы (картинки, размер и положение для маркеров, флаг и позиция для контролов)
Чтобы подключить скин, нужно передать его имя параметром при подключении loader.js, например:
<script src="http://maps.api.2gis.ru/2.0/loader.js?skin=dark"></script>
Важно помнить о соглашениях в именовании картинок скинов, в название изображения добавляется имя скина, например:
DGGeoclicker_building-dark.svg
Структура папки модуля (пример) может быть такой:
-
DGGeoclicker/
-
src/
— исходный код -
test/
— юнит-тесты -
demo/
— демонстрация базовой функциональности плагина -
lang/
— (oпциональная) если плагин поддерживает мультиязычность, в это папке будут лежать файлы словарей (lang/it.js
,lang/ru.js
) -
skin/
— (oпциональная) если плагин привносит новые элементы ui, исходники добавляются сюда, структура папки /skin аналогична такой же папке ядра -
templates/
— (oпциональная) здесь хранятся шаблоны (в формате *.tmpl) для отображения данных.
-
Включить плагин в сборку и описать его зависимости можно в файле build/deps.js. Например так:
DGFullScreen: {
desc: 'Full screen module',
src: [
'DGFullScreen/src/DGFullScreen.js',
'DGFullScreen/lang/ru.js',
'DGFullScreen/lang/it.js',
'DGFullScreen/lang/cs.js',
'DGFullScreen/lang/en.js'
],
styl: {
all: ['DGFullScreen/skin/{skin}/styl/DGFullScreen.less'],
ie: ['DGFullScreen/skin/{skin}/styl/DGFullScreen.ie.less']
},
deps: ['DGCore', 'DGLocale', 'DGRoundControl']
},
Важно использовать переменную {skin}
при подключении ресурсов, зависимых от тем, чтобы не потерять возможность подключать темы параметром из loader.js url.