Skip to content

Commit

Permalink
Merge pull request #273 from bryant1410/master
Browse files Browse the repository at this point in the history
Fix broken headings in Markdown files
  • Loading branch information
RrredHead committed Apr 18, 2017
2 parents f127405 + 4d2ff49 commit af031cf
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 41 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -46,7 +46,7 @@ JavaScript фреймворк, позволяющий быстро и прост
### Работает вместе с модулем MakeUp
В комплект входит специальный инструмент для изолированной разработки модулей <a href="http://2gis.github.io/makeup/">MakeUp</a>.

##Установка
## Установка

###### Установите глобально gulp и slot:
```bash
Expand Down
16 changes: 8 additions & 8 deletions contributing.md
@@ -1,12 +1,12 @@
#Правила оформления коммитов
# Правила оформления коммитов

##Стиль кодирования JavaScript
## Стиль кодирования JavaScript

###Основа
### Основа

За основу берем [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript). На русском [uprock/javascript](https://github.com/uprock/javascript)

###Отличия и дополнения
### Отличия и дополнения

1. **Пробелы и табуляция** Для отступов и табуляции мы используем 4 пробела, а не 2.

Expand Down Expand Up @@ -37,9 +37,9 @@
```
5. **Строгое равенство/не равенство (=== / !==)** Исходим из здравого смысла и пользуемся только там, где это действительно необходимо. Например в случаях с `null` или `undefined`.

##Как оформить пулл-реквест в slot?
## Как оформить пулл-реквест в slot?

###Именование ветки
### Именование ветки

Ветку надо называть так, чтобы было понятно, что в ней происходит, например:

Expand All @@ -50,7 +50,7 @@
"improve/my-feature"
```

###Именование коммитов
### Именование коммитов

1. Используем только маленькие буквы
2. Не используем прошедшее время
Expand All @@ -70,7 +70,7 @@ fix rapidly click control #1234
Attension! Abracadabra interface changed.
```
###Преобразование issue в pull request
### Преобразование issue в pull request

1. Устанавливаем утилиту hub

Expand Down
10 changes: 5 additions & 5 deletions docs/cli.md
@@ -1,7 +1,7 @@
#Slot CLI
# Slot CLI
Slot CLI — консольная утилита для создания и разработки приложений на фреймворке Slot.

##Как создать приложение
## Как создать приложение
Перейдите в пустую папку и выполните:
```bash
$ slot init [тип приложения]
Expand All @@ -14,7 +14,7 @@ $ slot init [тип приложения]
`basic` | Базовая заготовка для разработки на фреймворке Slot. Содержит минимальный набор файлов, сборку и структуру папок, необходимую для работы любого Slot-приложения. Выбирается по умолчанию.
`todo` | Демо-приложение: классический TodoMVC, написанный на Slot.

##Структура папок
## Структура папок
После выполнения `slot init` в текущей директории развернётся следующая структура папок:

Папка/файл | Назначение
Expand Down Expand Up @@ -49,7 +49,7 @@ $ slot init [тип приложения]
`layout.html` | Шаблон лэйаута
`layout.less` | Общие для всего приложения стили (правила для `html` и `body`, CSS-ресеты и т. д.)

##Сборка приложений
## Сборка приложений
Приложения поддерживают следующие команды сборки:

Команда&nbsp;сборки | Назначение
Expand All @@ -60,7 +60,7 @@ $ slot init [тип приложения]

Вы можете модифицировать и дополнять сборку для нужд своего приложения. Для сборки используются привычные всем [gulp](http://gulpjs.com/) и [browserify](http://browserify.org/). Задачи сборки описаны в папке `tasks/`.

##Добавление модуля в приложение
## Добавление модуля в приложение
Модуль в приложение добавляется командой:
```bash
$ slot addmodule <название модуля>
Expand Down
20 changes: 10 additions & 10 deletions docs/conception.md
@@ -1,10 +1,10 @@
**Slot - изоморфный js-фрейворк для масштабируемых web-приложений.**

#Концепция#
# Концепция #

Для того, чтобы начать работать с этим фреймворком, необходимо погрузиться в контекст, базис которого образуют следующие понятия:

##Изоморфность##
## Изоморфность ##

При создании web-приложений, особенно одностраничных, часто возникает проблема дублирования кода: клиентский js-код приходится дублировать серверным кодом. Изоморфные фреймворки, такие как Slot, решают эту проблему, стирая грани между front-end и back-end разработкой - один и тот же код работает как на сервере, так и на клиенте. Это позволяет, например, делать одностраничное веб-приложение, которое “из коробки” может быть полноценно проиндексировано поисковыми машинами.

Expand All @@ -30,7 +30,7 @@ example.com/news/168

Раньше эти два пути реализовывали два разных разработчика: front-end и back-end. Чаще это были даже разные языки программирования (например js и php). В изоморфных фреймворках одинаковый html-код генерируется клиентом или сервером одним и тем же js-кодом. Именно эта особенность позволяет назвать фреймворк, в частности Slot, изоморфным.

##Состояние##
## Состояние ##

**Состояние** - это максимально краткое описание представления приложения. В Slot состояние представлено js-объектом. Из этого объекта однозначным образом восстанавливается html-код. Изменять этот объект могут действия пользователя или, например, переходы по истории браузера. Важно, что состояние управляет приложением, а не наоборот.

Expand Down Expand Up @@ -79,11 +79,11 @@ example.com/news/168

Состояние можно связать с историей и url, полностью или частично, но способ и конкретная реализация этой связи не имеют существенного значения. Например, если у браузера нет поддержки History API, переход может быть связан с хэшбэнгом (url с якорем типа /#!news/168), либо вообще не использовать url . В последнем случае, правда, перестанут работать нативные браузерные кнопки “назад” и “вперёд”.

#Архитектура#
# Архитектура #

Веб-приложение, построенное на слоте, состоит из модулей. Модули всегда имеют строгую иерархическую структуру: у каждого модуля есть 1 родительский модуль, и неотрицательное число дочерних. Исключение из правил - главный модуль, у которого родителя нет.

##Модуль##
## Модуль ##

Кирпичик, из которых состоит веб-приложение на Slot. Минимально модуль состоит из 1 js-файла, который определяет его интерфейс и внутреннюю логику. Однако, с модулем могут быть ассоциированы html-шаблоны, css и картинки. С точки зрения пользователя, модуль это всегда некий виджет, прямоугольная область приложения. С точки зрения DOM-дерева, это нода, логически связанные с ней дочерние ноды и логика.

Expand All @@ -100,7 +100,7 @@ example.com/news/168
**interface**. Методы модуля.
**dispatcher**. Диспетчер модуля, который отлавливает события от дочерних модулей.

##slot##
## slot ##

Кроме строгой иерархичности, в модульной архитектуре приложения на слоте есть ещё одна особенность: модули ничего не знают о других модулях, кроме дочерних, как и об инстансе приложения. Внешним миром для них является объект slot, персональная копия которого “выдаётся” каждому инстансу модуля в момент его инициализации.

Expand All @@ -114,19 +114,19 @@ example.com/news/168

**broadcast**. Генерирует сообщение вертикально вниз модулям-потомкам (по-умолчанию - всем).

##БЭМ##
## БЭМ ##

Слот не привязан ни к какой методологии верстки: писать html и css код можно как угодно, без ограничений. Однако, в слоте есть целый ряд вспомогательных систем, объединяющих js- и css-код в контексте методологии БЭМ. Использование методологии БЭМ упрощает разработку приложения на Slot.

##Плагин##
## Плагин ##

В объект slot можно добавлять свои методы.

##Компонент##
## Компонент ##

Логическая единица кода, используемая одним или несколькими модулями, не имеющая представления в виде html / css кода. От обычных вспомогательных библиотек, компонент отличается тем, что он может зависеть от app и / или других компонентов.

##app##
## app ##

Главный объект, связывающий модули, компоненты и прочий код в единое приложение. Не доступен внутри модулей.

Expand Down
8 changes: 4 additions & 4 deletions docs/lcp.md
@@ -1,10 +1,10 @@
#LCP - библиотеки, компоненты, плагины
# LCP - библиотеки, компоненты, плагины

##Библиотеки
## Библиотеки

Суть js-функции, котороые что-то делают. Библиотека хранится в папке lib/ в отдельном файле, или в отдельной папке в нескольких файлах: во втором случае подключаемый файл должен иметь имя index.js. Библиотеки собираются через browserify просто по факту их подключения через require('slot/lib/libName');

##Компоненты
## Компоненты

Зависимые от app штуки, опционально подключаемые в модулях через dependency-injection или через slot.requireComponent. Для сборки компонентов их необходимо перечислить в config.components = ['comp1name', 'comp2name'] (по-умолчанию файлы компонентов в сборку не попадают). После этого в модуле их достаточно подключить так:

Expand All @@ -22,7 +22,7 @@ module.exports = function(slot) {

Если в приложении есть компонент, который называется так же, как один из существующих компонентов слота, будет подключен компонент из приложения.

##Плагины
## Плагины

Зависимые от app штуки, подключаемые как методы app.pluginName и slot.pluginName. Для сборки плагинов их необходимо перечислить в config.plugins = ['plugin1name', 'plugin2name'] (по-умолчанию файлы плагинов в сборку не попадают). После этого они доступны в app и в slot:

Expand Down
16 changes: 8 additions & 8 deletions docs/quickTour.md
@@ -1,8 +1,8 @@
#Общие принципы
# Общие принципы

Slot позволяет проинициализировать приложение на сервере, передать клиенту собранную верстку и, при завершении инициализации на клиенте, привязать события к DOM-нодам.

##Этапы жизни приложения
## Этапы жизни приложения

Приложение имеет свои этапы жизни.
Этапов два.
Expand All @@ -17,23 +17,23 @@ Slot позволяет проинициализировать приложен
Просьба не пользоваться логикой onClient/onServer для определения этих этапов.
Первый этап вначале выполняется на сервере, второй на клиенте.

##Принципы построения приложения
## Принципы построения приложения

###Модули
### Модули

- Имеют визуальное представление.
- Иерархически вкладываются друг в друга.
- Знают только о дочерних модулях.
- Могут сообщать наверх об изменении своего состояния.
- Могут давать команды вложенным модулям, чтобы те изменили свое состояние.

####Из чего состоит модуль
#### Из чего состоит модуль

- js код
- шаблоны
- стили

####Кратко про модуль
#### Кратко про модуль

Модуль - это сущность, которая содержит шаблон, отображение. Все отображение проекта состоит из модулей.
Полная операция подключения модуля состоит из 4 шагов:
Expand Down Expand Up @@ -92,7 +92,7 @@ Slot позволяет проинициализировать приложен
* `dispatcher` - перехватывает события, которые приходят от нижестоящих по иерархии модулей. Возникают с помощью метода `slot.notify` в нижних модулях.


###Компоненты
### Компоненты

- Работают по паттерну singleton. Один инстанс компонента для всего приложения.
- Решают общие задачи для всего приложения:
Expand All @@ -102,7 +102,7 @@ Slot позволяет проинициализировать приложен
- другое
- Могут скрывать в себе различную реализацию для серверной и клиентской части

###Хелперы
### Хелперы

- Работают по принципу статических функций.
- Используются для вынесения общей логики манипуляции над данными.
10 changes: 5 additions & 5 deletions i18n/tasks/readme.md
@@ -1,4 +1,4 @@
##Использование в приложении
## Использование в приложении

Для использования задач по локализации необходимо использование gulpy

Expand All @@ -17,7 +17,7 @@ gulp.task('i18n.po2json', slotI18n.extract(po2jsonParams));

Все пути в параметрах задач задаются относительно расположения gulpfile, из которого задача будет запущена.

##Инициализация новой локали
## Инициализация новой локали
```javascript
gulp i18n.init --locale=LOCALE_NAME

Expand All @@ -29,7 +29,7 @@ gulp i18n.init --locale=LOCALE_NAME
| src | String | './l10n/messages.pot' | Путь до файла-шаблона переводов |
| dest | String | './l10n' | Путь, где необходимо создать директорию с данными для новой локали |

##Экстрактор строк
## Экстрактор строк

В качестве экстрактора используется babel, он должен быть установлен
`pip install babel`
Expand All @@ -52,7 +52,7 @@ gulp i18n.init --locale=LOCALE_NAME
| copyright-holder | String | '' | Вписывается в соответствующее поле в файле переводов |


##Обновление файлов переводов
## Обновление файлов переводов

Параметры:

Expand All @@ -64,7 +64,7 @@ gulp i18n.init --locale=LOCALE_NAME
| no-fuzzy-matching | Boolean | true | |
| ignore-obsolete | Boolean | false | |

##Создание JSON-файла переводов
## Создание JSON-файла переводов

Без параметров

0 comments on commit af031cf

Please sign in to comment.