Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
tormozz48 committed Jan 17, 2016
1 parent 87a2753 commit 3a4138f
Showing 1 changed file with 72 additions and 5 deletions.
77 changes: 72 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,84 @@ $ npm install --save gorshochek

//TODO написать документацию

## Конфигурация
## Описание задач

//TODO написать документацию
### mergeModels

## Описание задач
1. Считывает новую модель по пути указанному в опции `modelPath`.
2. Сравнивает ее со старой моделью, загруженной из кэша.
3. Находит и сохраняет отличия между старой и новой моделью данных в модель изменений.
4. Произвоит слияние (merge) моделей.
5. Сохраняет новую модель в кэш и заменяет файл старой модели.

//TODO написать документацию
[Модуль](./src/tasks-core/merge-model)

Параметры:

* {String} modelPath - путь к модели данных. Обязательный параметр.

Зависимости: нет.

### normalizeModel

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

[Модуль](./src/tasks-core/normalize-model)

Пример вызова:
```
var gulp = require('gulp');
var gorshochek = require('gorshochek');
var model = gorshochek.createModel();
gulp.task('normalize-model', gorshochek.tasks.core.normalizeModel(model));
```

Параметры: отсутствуют.

Зависимости: требует выполнения задачи `mergeModels`

### saveModel

### rsync

### loadFromGithub

### loadFromFile

### transformMdToHtml

### createHeaderTitle

### createHeaderMeta

### createBreadcrumbs

### createSearchMeta

### createSitemapXML

## Создание собственной задачи сборки

//TODO написать документацию
Задача сборки представляет собой функцию высшего порядка, т.е. возвращающую другую анонимную функцию
без аргументов реализующую логику задачи.

Любая задача сборки, работающая с моделью должна принимать ее экземпляр в качестве первого аргумента.
Кроме того, задача может включать в себя дополнительные опции которые удобно передать в виде объекта вторым параметром.
Для организации задач в виде цепочки промисов возвращаемая анонимная функция должна сама возвращать промис объект.

Таким образом требования описанные выше позволяют записать код простейшей задачи которая
выводит в консоль параметр `name` переданный ей в качестве опции:

```
export default function(model, options = {}) {
return function() {
console.log('Hello ' + options.name);
return Promise.resolve(model);
}
}
```

## Тестирование

Expand Down

0 comments on commit 3a4138f

Please sign in to comment.