Commit 2cf6a0eb authored by Nikolay Gromov's avatar Nikolay Gromov

Добавил проверку орфографии

parent 91441883
{
"excludeFiles": [
".git",
".public",
"build",
"yaspeller",
"node_modules"
],
"lang": "en,ru",
"fileExtensions": [
".md",
".html"
],
"dictionary": [
"микрошаблонизац.*\\B",
"постпроцессинг.*\\B",
"контент.*\\B",
"вьюпорт.*\\B",
"радиокнопк.*\\B",
"скролл.*\\B",
"селект.*\\B",
"чекбокс.*\\B",
"псевдоселектор.*\\B",
"псевдоэлемент.*\\B",
"пиксел.*\\B",
"пикс",
"лид",
"ктулху",
"autoprefixer",
"isMobile",
"spritesmith",
"postcss",
"mqpacker",
"stylelint",
"yaspeller",
"github",
"js",
"scss",
"com",
"ru",
"svg",
"tbody",
"tfoot",
"thead",
"cleancss"
]
}
...@@ -26,12 +26,16 @@ ...@@ -26,12 +26,16 @@
</tr> </tr>
<tr> <tr>
<td><code>npm run deploy</code></td> <td><code>npm run deploy</code></td>
<td>Сборка проекта без карт кода и отправка содержимого папки сборки на GH-pages (для корректного сообщения адреса просмотра введите его в <code>./package.json</code>)</td> <td>Сборка проекта без карт кода и отправка содержимого папки сборки на github-pages (для корректного сообщения адреса просмотра введите его в <code>./package.json</code>)</td>
</tr> </tr>
<tr> <tr>
<td><code>npm run test:style</code></td> <td><code>npm run test:style</code></td>
<td>Проверка стилевой составляющей проекта <a href="https://stylelint.io/">stylelint</a></td> <td>Проверка стилевой составляющей проекта <a href="https://stylelint.io/">stylelint</a></td>
</tr> </tr>
<tr>
<td><code>npm run yaspeller</code></td>
<td>Проверка разметки и <code>./README.md</code> проекта <a href="https://github.com/hcodes/yaspeller">yaspeller</a></td>
</tr>
</tbody> </tbody>
</table> </table>
......
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
}, },
"scripts": { "scripts": {
"test:style": "stylelint \"src/**/*.scss\" --syntax=scss", "test:style": "stylelint \"src/**/*.scss\" --syntax=scss",
"yaspeller": "yaspeller ./src/*.html ./README.md",
"start": "gulp", "start": "gulp",
"deploy": "cross-env NODE_ENV=production ./node_modules/.bin/gulp build && cross-env ./node_modules/.bin/gulp deploy", "deploy": "cross-env NODE_ENV=production ./node_modules/.bin/gulp build && cross-env ./node_modules/.bin/gulp deploy",
"build": "cross-env NODE_ENV=production npm start build", "build": "cross-env NODE_ENV=production npm start build",
...@@ -82,7 +83,8 @@ ...@@ -82,7 +83,8 @@
"precommit": "lint-staged" "precommit": "lint-staged"
}, },
"lint-staged": { "lint-staged": {
"*.scss": "stylelint --syntax=scss" "*.scss": "stylelint --syntax=scss",
"*.{html,md}": "yaspeller"
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "^6.7.7", "autoprefixer": "^6.7.7",
...@@ -126,6 +128,7 @@ ...@@ -126,6 +128,7 @@
"postcss-inline-svg": "^2.3.0", "postcss-inline-svg": "^2.3.0",
"stylelint": "^7.9.0", "stylelint": "^7.9.0",
"svg4everybody": "^2.1.7", "svg4everybody": "^2.1.7",
"vinyl-buffer": "^1.0.0" "vinyl-buffer": "^1.0.0",
"yaspeller": "^3.1.0"
} }
} }
...@@ -77,9 +77,9 @@ ...@@ -77,9 +77,9 @@
<h2 class="blocks-library__item-title">Определение мобильного устройства</h2> <h2 class="blocks-library__item-title">Определение мобильного устройства</h2>
<p class="alert alert--warning">Зависмость от <a href="https://github.com/kaimallea/isMobile">isMobile</a>. Последний должен быть включен в сборку (есть по умолчанию) или подключен к странице иным образом.</p> <p class="alert alert--warning">Зависимость от <a href="https://github.com/kaimallea/isMobile">isMobile</a>. Последний должен быть включен в сборку (есть по умолчанию) или подключен к странице иным образом.</p>
<p>Javascript, добавляющий на <code>&lt;html></code> класс <code>is-mobile</code>, если страница открыта с мобильного устройства. Так же, добавляются модификаторы блока с указанием типа устройства и производителя.</p> <p>JavaScript, добавляющий на <code>&lt;html></code> класс <code>is-mobile</code>, если страница открыта с мобильного устройства. Так же, добавляются модификаторы блока с указанием типа устройства и производителя.</p>
<div class="blocks-library__code-wrapper"> <div class="blocks-library__code-wrapper">
<span class="blocks-library__code-show-trigger" title="Показать код"><i class="blocks-library__code-icon"></i></span> <span class="blocks-library__code-show-trigger" title="Показать код"><i class="blocks-library__code-icon"></i></span>
...@@ -210,7 +210,7 @@ ...@@ -210,7 +210,7 @@
<strong>Имя Фамилия</strong> <strong>Имя Фамилия</strong>
<br> <br>
г. Лондон, ул. Виндзорский сад, д. 32 (спросить мистера Имя) <br> г. Лондон, ул. Виндзорский сад, д. 32 (спросить мистера Имя) <br>
<a href="mailto:imya@mail.com">imya@mail.com</a> <a href="mailto:user@mail.com">user@mail.com</a>
</address> </address>
<div class="blocks-library__code-wrapper"> <div class="blocks-library__code-wrapper">
<span class="blocks-library__code-show-trigger" title="Показать код"><i class="blocks-library__code-icon"></i></span> <span class="blocks-library__code-show-trigger" title="Показать код"><i class="blocks-library__code-icon"></i></span>
...@@ -220,7 +220,7 @@ ...@@ -220,7 +220,7 @@
<code> &lt;strong>Имя Фамилия&lt;/strong></code> <code> &lt;strong>Имя Фамилия&lt;/strong></code>
<code> &lt;br></code> <code> &lt;br></code>
<code> г. Лондон, ул. Виндзорский сад, д. 32 (спросить мистера Имя) &lt;br></code> <code> г. Лондон, ул. Виндзорский сад, д. 32 (спросить мистера Имя) &lt;br></code>
<code> &lt;a href="mailto:imya@mail.com">imya@mail.com&lt;/a></code> <code> &lt;a href="mailto:user@mail.com">user@mail.com&lt;/a></code>
<code>&lt;/address></code> <code>&lt;/address></code>
</pre> </pre>
</div> </div>
...@@ -274,7 +274,7 @@ ...@@ -274,7 +274,7 @@
<section class="blocks-library__item" id="sprite-svg" data-name=".sprite-svg"> <section class="blocks-library__item" id="sprite-svg" data-name=".sprite-svg">
<h2 class="blocks-library__item-title">SVG-спрайт c <a href="https://github.com/w0rm/gulp-svgstore">gulp-svgstore</a></h2> <h2 class="blocks-library__item-title">svg-спрайт c <a href="https://github.com/w0rm/gulp-svgstore">gulp-svgstore</a></h2>
<p>Из файлов папки <code>sprite-svg/svg/</code> в папку <code>sprite-svg/img/</code> будет сгенерирован файл спрайта <code>sprite-svg.svg</code>, который далее будет скопирован в папку сборки. Стилевой файл блока не используется. Сам спрайт имеет вид:</p> <p>Из файлов папки <code>sprite-svg/svg/</code> в папку <code>sprite-svg/img/</code> будет сгенерирован файл спрайта <code>sprite-svg.svg</code>, который далее будет скопирован в папку сборки. Стилевой файл блока не используется. Сам спрайт имеет вид:</p>
...@@ -514,10 +514,10 @@ ...@@ -514,10 +514,10 @@
<h2 class="blocks-library__item-title">Кнопки</h2> <h2 class="blocks-library__item-title">Кнопки</h2>
<p> <p>
<a class="btn" href="">Cсылка</a> <a class="btn" href="">Ссылка</a>
<input class="btn" type="submit" value="Input"> <input class="btn" type="submit" value="Input">
<button class="btn">Button</button> <button class="btn">Button</button>
<a class="btn btn--disabled" href="">Cсылка</a> <a class="btn btn--disabled" href="">Ссылка</a>
<input class="btn" type="submit" value="Input" disabled> <input class="btn" type="submit" value="Input" disabled>
<button class="btn" disabled>Button</button> <button class="btn" disabled>Button</button>
</p> </p>
...@@ -526,11 +526,11 @@ ...@@ -526,11 +526,11 @@
<span class="blocks-library__code-show-trigger" title="Показать код"><i class="blocks-library__code-icon"></i></span> <span class="blocks-library__code-show-trigger" title="Показать код"><i class="blocks-library__code-icon"></i></span>
<div class="blocks-library__code"> <div class="blocks-library__code">
<pre class="code"> <pre class="code">
<code>&lt;a class="btn" href="">Cсылка&lt;/a></code> <code>&lt;a class="btn" href="">Ссылка&lt;/a></code>
<code>&lt;input class="btn" type="submit" value="Input"></code> <code>&lt;input class="btn" type="submit" value="Input"></code>
<code>&lt;button class="btn">Button&lt;/button></code> <code>&lt;button class="btn">Button&lt;/button></code>
<code> </code> <code> </code>
<code>&lt;a class="btn btn--disabled" href="">Cсылка&lt;/a></code> <code>&lt;a class="btn btn--disabled" href="">Ссылка&lt;/a></code>
<code>&lt;input class="btn" type="submit" value="Input" disabled></code> <code>&lt;input class="btn" type="submit" value="Input" disabled></code>
<code>&lt;button class="btn" disabled>Button&lt;/button></code> <code>&lt;button class="btn" disabled>Button&lt;/button></code>
</pre> </pre>
...@@ -814,7 +814,7 @@ ...@@ -814,7 +814,7 @@
<div class="field-checkbox"> <div class="field-checkbox">
<label class="field-checkbox__name"> <label class="field-checkbox__name">
<input class="field-checkbox__input" type="checkbox" checked> <input class="field-checkbox__input" type="checkbox" checked>
<span class="field-checkbox__name-text">Одинокий чекбокс такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила оксмокс переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.</span> <span class="field-checkbox__name-text">Одинокий чекбокс такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила космос переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.</span>
</label> </label>
</div> </div>
...@@ -850,7 +850,7 @@ ...@@ -850,7 +850,7 @@
<code>&lt;div class="field-checkbox"></code> <code>&lt;div class="field-checkbox"></code>
<code> &lt;label class="field-checkbox__name"></code> <code> &lt;label class="field-checkbox__name"></code>
<code> &lt;input class="field-checkbox__input" type="checkbox" checked></code> <code> &lt;input class="field-checkbox__input" type="checkbox" checked></code>
<code> &lt;span class="field-checkbox__name-text">Одинокий чекбокс такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила оксмокс переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.&lt;/span></code> <code> &lt;span class="field-checkbox__name-text">Одинокий чекбокс такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила космос переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.&lt;/span></code>
<code> &lt;/label></code> <code> &lt;/label></code>
<code>&lt;/div></code> <code>&lt;/div></code>
<code> </code> <code> </code>
...@@ -893,7 +893,7 @@ ...@@ -893,7 +893,7 @@
<div class="field-radio"> <div class="field-radio">
<label class="field-radio__name"> <label class="field-radio__name">
<input class="field-radio__input" type="radio" checked> <input class="field-radio__input" type="radio" checked>
<span class="field-radio__name-text">Одинокая радиокнопка такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила оксмокс переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.</span> <span class="field-radio__name-text">Одинокая радиокнопка такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила космос переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.</span>
</label> </label>
</div> </div>
...@@ -929,7 +929,7 @@ ...@@ -929,7 +929,7 @@
<code>&lt;div class="field-radio"></code> <code>&lt;div class="field-radio"></code>
<code> &lt;label class="field-radio__name"></code> <code> &lt;label class="field-radio__name"></code>
<code> &lt;input class="field-radio__input" type="radio" checked></code> <code> &lt;input class="field-radio__input" type="radio" checked></code>
<code> &lt;span class="field-radio__name-text">Одинокая радиокнопка такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила оксмокс переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.&lt;/span></code> <code> &lt;span class="field-radio__name-text">Одинокая радиокнопка такой одинокий, но с длинным... текстом внутри label-а. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни, свое рыбного решила. Точках семантика, решила космос переписывается толку безопасную журчит рыбными, рекламных несколько осталось свой! Знаках, дороге грамматики.&lt;/span></code>
<code> &lt;/label></code> <code> &lt;/label></code>
<code>&lt;/div></code> <code>&lt;/div></code>
<code> </code> <code> </code>
...@@ -1007,7 +1007,7 @@ ...@@ -1007,7 +1007,7 @@
<label class="field-file__input-wrap"> <label class="field-file__input-wrap">
<input class="field-file__input" type="file" data-multiple-caption="файлов выбрано: {count}" multiple> <input class="field-file__input" type="file" data-multiple-caption="файлов выбрано: {count}" multiple>
<div class="field-file__name-text" data-button-text="Выбрать файл(ы)">Ничего не выбрано</div> <div class="field-file__name-text" data-button-text="Выбрать файл(ы)">Ничего не выбрано</div>
<div class="field-file__help-text">Отображение выбранного файла(ов) требует Javascript-а. Стилизация — не требует.</div> <div class="field-file__help-text">Отображение выбранного файла/файлов требует js. Стилизация — не требует.</div>
</label> </label>
</div> </div>
...@@ -1033,7 +1033,7 @@ ...@@ -1033,7 +1033,7 @@
<div class="field-range__name">Range</div> <div class="field-range__name">Range</div>
<div class="field-range__input-wrap"> <div class="field-range__input-wrap">
<input class="field-range__input" type="range" min="1" max="100" step="1" value="70"> <input class="field-range__input" type="range" min="1" max="100" step="1" value="70">
<div class="field-range__help-text"><code>min="1" max="100" step="1" value="70"</code>, стилизован без JS.</div> <div class="field-range__help-text"><code>min="1" max="100" step="1" value="70"</code>, стилизован без js.</div>
</div> </div>
</div> </div>
...@@ -1228,16 +1228,16 @@ ...@@ -1228,16 +1228,16 @@
</tr> </tr>
<tr> <tr>
<td>Иннокентий</td> <td>Иннокентий</td>
<td>Барлаухенштицкен-Ламанческий</td> <td>Иванов</td>
<td>Хозяйственное</td> <td>Хозяйственное</td>
<td>Администратор</td> <td>Администратор</td>
<td>«ВСЕГДА!»</td> <td>«ВСЕГДА!»</td>
</tr> </tr>
<tr> <tr>
<td>Васисуалий</td> <td>Васисуалий</td>
<td>Пылепневмомешковыколачивателев</td> <td>Римский-Корсаков</td>
<td>Душистое</td> <td>Душистое</td>
<td>Юзверь</td> <td>Пользователь</td>
<td>Нижняя</td> <td>Нижняя</td>
</tr> </tr>
</tbody> </tbody>
...@@ -1259,24 +1259,24 @@ ...@@ -1259,24 +1259,24 @@
<tbody class="table__body"> <tbody class="table__body">
<tr> <tr>
<td>Иннокентий</td> <td>Иннокентий</td>
<td>Барлаухенштицкен-Ламанческий</td> <td>Иванов</td>
<td>Хозяйственное</td> <td>Хозяйственное</td>
<td>Администратор</td> <td>Администратор</td>
<td>«ВСЕГДА!»</td> <td>«ВСЕГДА!»</td>
</tr> </tr>
<tr> <tr>
<td>Васисуалий</td> <td>Васисуалий</td>
<td>Пылепневмомешковыколачивателев</td> <td>Римский-Корсаков</td>
<td>Душистое</td> <td>Душистое</td>
<td>Юзверь</td> <td>Пользователь</td>
<td>Нижняя</td> <td>Нижняя</td>
</tr> </tr>
<tr> <tr>
<td>Ктулху</td> <td>Ктулху</td>
<td>Втанк</td> <td>Ктулху</td>
<td>ktulkhu@ad.ru</td> <td>user-name@ad.ru</td>
<td>Патриарх</td> <td>Патриарх</td>
<td>Яизм</td> <td>Неизвестно</td>
</tr> </tr>
</tbody> </tbody>
<tfoot class="table__footer"> <tfoot class="table__footer">
...@@ -1302,15 +1302,15 @@ ...@@ -1302,15 +1302,15 @@
<code> &lt;tbody class="table__body"></code> <code> &lt;tbody class="table__body"></code>
<code> &lt;tr></code> <code> &lt;tr></code>
<code> &lt;td>Иннокентий&lt;/td></code> <code> &lt;td>Иннокентий&lt;/td></code>
<code> &lt;td>Барлаухенштицкен-Ламанческий&lt;/td></code> <code> &lt;td>Иванов&lt;/td></code>
<code> &lt;/tr></code> <code> &lt;/tr></code>
<code> &lt;tr></code> <code> &lt;tr></code>
<code> &lt;td>Васисуалий&lt;/td></code> <code> &lt;td>Васисуалий&lt;/td></code>
<code> &lt;td>Пылепневмомешковыколачивателев&lt;/td></code> <code> &lt;td>Римский-Корсаков&lt;/td></code>
<code> &lt;/tr></code> <code> &lt;/tr></code>
<code> &lt;tr></code> <code> &lt;tr></code>
<code> &lt;td>Ктулху&lt;/td></code> <code> &lt;td>Ктулху&lt;/td></code>
<code> &lt;td>Втанк&lt;/td></code> <code> &lt;td>Ктулху&lt;/td></code>
<code> &lt;/tr></code> <code> &lt;/tr></code>
<code> &lt;/tbody></code> <code> &lt;/tbody></code>
<code> &lt;tfoot class="table__footer"></code> <code> &lt;tfoot class="table__footer"></code>
...@@ -1343,16 +1343,16 @@ ...@@ -1343,16 +1343,16 @@
</tr> </tr>
<tr> <tr>
<td>Иннокентий</td> <td>Иннокентий</td>
<td>Барлаухенштицкен-Ламанческий</td> <td>Иванов</td>
<td>Хозяйственное</td> <td>Хозяйственное</td>
<td>Администратор</td> <td>Администратор</td>
<td>«ВСЕГДА!»</td> <td>«ВСЕГДА!»</td>
</tr> </tr>
<tr> <tr>
<td>Васисуалий</td> <td>Васисуалий</td>
<td>Пылепневмомешковыколачивателев</td> <td>Римский-Корсаков</td>
<td>Душистое</td> <td>Душистое</td>
<td>Юзверь</td> <td>Пользователь</td>
<td>Нижняя</td> <td>Нижняя</td>
</tr> </tr>
</tbody> </tbody>
......
Папка, в кторую генерируется спрайт. Папка, в которую генерируется спрайт.
# SVG-спрайт с использованием символов # svg-спрайт с использованием символов
**ВНИМАНИЕ!** Чтобы использовать ссылки на внешние svg-файлы со спрайтами, используйте [svg4everybody](https://www.npmjs.com/package/svg4everybody) (включен в сборку по умолчанию). **ВНИМАНИЕ!** Чтобы использовать ссылки на внешние svg-файлы со спрайтами, используйте [svg4everybody](https://www.npmjs.com/package/svg4everybody) (включен в сборку по умолчанию).
......
Папка для исходников спрайта. Минимизация SVG происходит в процессе сборки спрайта, иметь в этой папке минимизированные изображения не обязательно. Папка для исходников спрайта. Минимизация svg происходит в процессе сборки спрайта, иметь в этой папке минимизированные изображения не обязательно.
Дополнительные JS-файлы, которые отчего-то, «не тянут» на полноценные БЭМ-блоки. Дополнительные js-файлы, которые отчего-то, «не тянут» на полноценные БЭМ-блоки.
Укажите эти файлы в `package.json` для попадания их в обработку (см. `./README.md`). Укажите эти файлы в `package.json` для попадания их в обработку (см. `./README.md`).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment