Подготовка к докладу в Киеве
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
blocks-fb
blocks-mr
blocks-vk
blocks
pages-fb
pages-mr
pages-vk
pages/index
rss
.gitignore
.htaccess
GNUmakefile
README.md

README.md

#Фото дня на Яндекс.Фотках

Приложение "Фото дня на Яндекс.Фотках".

Показывает последние 30 Фото дня на сервисе Яндекс.Фотки.

Слайды с доклада

##Мимикрия Приложение имеет 4 состояния:

  • pages/index/index.html - состояние ядра, доступна базовая функциональность просмотра фото ;
  • pages-fb/index/index.html - состояние мимикрии под Facebook, отличается от ядра внешним видом, содержит в себе дополнительную функциональность - возможность "шарить" понравившуюся фотографию друзьям ;
  • pages-vk/index/index.html - состояние мимикрии под Vkontakte, отличается от ядра внешним видом, основной фон приложения сделан серым цветом, содержит в себе дополнительную функциональность - возможность "лайкнуть" понравивщуюся фотографию друзьям, использует для этого JS API Vkontakte;
  • pages-mr/index/index.html - состояние мимикрии под Мой Мир, отличается от ядра внешним видом, содержит в себе дополнительную функциональность - возможность "показать" понравивщуюся фотографию друзьям, для кнопки-лайка используется CDN Mail.ru.

##Структура проекта

###Уровни переопределения

На проекте используется 5 уровней переопределения - их можно считать исходным кодом:

  • bem-bl - библиотека блоков от Яндекса;
  • blocks - базовый уровень переопределения, его достаточно для сборки ядра;
  • blocks-fb - уровень переопределения для Facebook, в нем переопределяется и доопределяется поведение приложения в Facebook;
  • blocks-vk - уровень переопределения для Vkontakte, в нем переопределяется и доопределяется поведение приложения во Vkontakte, инициализируется и используется API Vkontakte;
  • blocks-mr - уровень переопределения для Vkontakte, в нем переопределяется и доопределяется поведение приложения в Моём Мире, инициализируется и используется API Maii.ru;

###Сборка файлов

Сборка проекта происходит с помощью make файла. Что делает make файл?

  • подключает и обновляет на проекте bem-bl;
  • собирает HTML из *.bemjosn,js и *.bemhtml файлов -> index.html;
  • собирает CSS в один файл -> index.css;
  • собирает JS в один файл -> index.js;
  • оптимизирует и минимизирует CSS -> _index.css;
  • минимизирует JS -> _index.js.

Команды, доступные в make:

  • make -B - обновить bem-bl и собрать проект полностью со всеми состояниями;
  • make fb -B - собрать приложение для Facebook;
  • make vk -B - собрать приложение для Vkontakte;
  • make mr -B - собрать приложение для Мои Мир.

##Используемые технологии

  • bem-tools - инструменты для работы с файлами, написанными по БЭМ-методу;
  • bem-bl - библиотека блоков от Яндекса;
  • jQuery - в представлении не нуждается;
  • Fotorama - javascript галерея, на базе которой построено приложение;
  • CSSO - CSS оптимизатор и минимизатор;
  • borschik - сборщик CSS и JS файлов в один;
  • UglifyJS - минимизатор JS.

##Лицензия

Весь код проекта, за исключением Fotorama.js, распространяется по BSD лицензии.

Обратите внимание, что у скрипта Fotorama.js есть своя лицензия, разрешающая использовать Fotorama.js на личных сайтах. Иное использование, в том числе на любых других сайтах (корпоративных, коммерческих, политических, религиозных и др.) возможно только с согласия Артёма Поликарпова.