Skip to content

Commit

Permalink
go
Browse files Browse the repository at this point in the history
  • Loading branch information
akella committed Dec 16, 2018
0 parents commit 68b5c98
Show file tree
Hide file tree
Showing 56 changed files with 11,112 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"presets": [
["env", {
"targets": {
"browsers": ["last 2 versions"]
}
}]
],
"parserOpts": {
"plugins": ["transform-object-rest-spread", "transform-es2015-spread", "transform-es2015-destructuring"]
}
}
33 changes: 33 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# http://EditorConfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8

[*.js]
indent_style = space
indent_size = 2

[*.scss]
indent_size = 4

[*.sass]
indent_size = tab
indent_style = tab

[*.sss]
indent_size = tab
indent_style = tab

[*.pug]
indent_size = tab
indent_style = tab

[{bower.json,package.json,.travis.yml}]
indent_style = space
indent_size = 2
33 changes: 33 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true,
"jquery": true
},
"rules": {
"no-undef": 1,
"no-unused-vars": 1,
"eqeqeq": [2, "smart"],
"no-floating-decimal": 2,
"no-multi-spaces": [2, {
"exceptions": {
"ImportDeclaration": true,
"VariableDeclarator": true
}
}],
"no-multi-str": 2,
"camelcase": 1,
"eol-last": 1,
"indent": [2, 2, {
"SwitchCase": 1,
"VariableDeclarator": 1
}],
"quotes": [2, "single", "avoid-escape"],
"semi": [2, "always"],
"space-before-blocks": 2,
"space-before-function-paren": [2, "never"],
"constructor-super": 2,
"arrow-spacing": 2
}
}
32 changes: 32 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.zip
*.vi
*~

# OS or Editor folders
.DS_Store
._*
Thumbs.db
.cache
.project
.settings
.tmproj
*.esproj
nbproject
*.sublime-project
*.sublime-workspace
.idea

# Folders to ignore
.sass-cache
.tmp
_tmp
node_modules
bower_components
10 changes: 10 additions & 0 deletions .htmlhintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"attr-lowercase": ["viewBox", "stdDeviation"],
"tagname-lowercase": false,
"attr-value-double-quotes": false,
"attr-no-duplication": true,
"tag-pair": true,
"tag-self-close": true,
"id-unique": true,
"doctype-first": false
}
27 changes: 27 additions & 0 deletions .sass-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
options:
merge-default-rules: false
max-warnings: 0
# File Options
files:
include: 'sass/**/*.s+(a|c)ss'
ignore:
- 'src/sass/lib/**/*.*'
- 'src/sass/helpers/**/*.*'
- 'src/sass/generated/**/*.*'
# Rule Configuration
rules:
force-pseudo-nesting: 2
no-important: 2
no-duplicate-properties: 2
no-url-protocols: 2
#no-extends: 2
no-empty-rulesets: 2
no-misspelled-properties: 2
no-url-domains: 2
no-transition-all: 2
nesting-depth:
- 2
- max-depth: 4
indentation:
- 1
- size: tab
27 changes: 27 additions & 0 deletions .stylelintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"plugins": [
"stylelint-selector-bem-pattern"
],
"rules": {
"property-case": "lower",
"selector-type-case": "lower",
"no-unknown-animations":true,
"indentation": "tab",
"selector-max-compound-selectors": 3,
"no-duplicate-selectors": true,
"shorthand-property-no-redundant-values": true,
"max-nesting-depth": 2,
"no-descending-specificity": true,
"declaration-block-no-shorthand-property-overrides": true,
"declaration-block-no-duplicate-properties": [
true,
{
"ignore": ["consecutive-duplicates"]
}
],
"plugin/selector-bem-pattern": {
"componentName": "[a-zA-Z0-9]+$",
"componentSelectors": "^(?:\\.(?:{componentName}|is[-](?:[a-zA-Z0-9-_]*))[ ]?(?:__[a-zA-Z0-9-_]+)?(?:_[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*){0,2}[ ]?)+$"
}
}
}
60 changes: 60 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#How to use

Clone this repo and then in command line type:

* `npm install` or `yarn` - install all dependencies
* `gulp` - run dev-server and let magic happen, or
* `gulp build` - build project from sources

--

## List of Gulp tasks

To run separate task type in command line `gulp [task_name]`.
Almost all tasks also have watch mode - `gulp [task_name]:watch`, but you don't need to use it directly.

### Main tasks
Task name | Description
:------------------|:----------------------------------
`default` | will start all tasks required by project in dev mode: initial build, watch files, run server with livereload
`build:dev` | build dev version of project (without code optimizations)
`build` | build production-ready project (with code optimizations)

### Other tasks
Task name | Description
:------------------|:----------------------------------
`sass` | compile .sass/.scss to .css. We also use [postcss](https://github.com/postcss/postcss) for [autoprefixer](https://github.com/postcss/autoprefixer) and [Lost](https://github.com/peterramsing/lost), so feel free to include other awesome postcss [plugins](https://github.com/postcss/postcss#plugins) when needed
`webpack` | compile .js sources into bundle file
`copy` | copy common files from `./src` path to `./build` path
`swig` | compile [swig](http://paularmstrong.github.io/swig/) templates
`nunjucks` | compile Mozilla's awesome [nunjucks](https://mozilla.github.io/nunjucks/) templates
`jade` | compile [jade](http://jade-lang.com/) templates
`svgo` | optimize svg files with [svgo](https://github.com/svg/svgo)
`iconfont` | compile iconfonts from svg sources
`sprite:svg` | create svg symbol sprites ([css-tricks](https://css-tricks.com/svg-sprites-use-better-icon-fonts/))
`sprite:png` | create png sprites
`server` | run dev-server powered by [BrowserSync](https://www.browsersync.io/)
`clean` | remove `./build` folder
`list-pages` | create index file with links to all project pages

_This is a full list of tasks, that we use in our projects, but not all of them should be available in current project. For example, we only use one template engine out of these three [`jade`, `nunjucks`, `swig`]. All available tasks are placed in a folder `./gulp/tasks` as separate *.js files. Usually, file name = task name._


## Flags

We have several useful flags.

* `gulp --open` or `gulp server --open` - run dev server and then open preview in browser
* `gulp --tunnel=[name]` or `gulp server --tunnel [name]` - runs dev server and allows you to easily share a web service on your local development machine (powered by [localtunnel.me](https://localtunnel.me/)). Your local site will be available at `[name].localtunnel.me`.
* `gulp [task_name] --prod` or `gulp [task_name] --production` - run task in production mode. Some of the tasks (like, sass or js compilation) have additional settings for production mode (such as code minification), so with this flag you can force production mode. `gulp build` uses this mode by default.

##Other
You can also use [npm scripts](https://docs.npmjs.com/misc/scripts):

* `npm run start` - same as `gulp default`.
* `npm run build` - same as `gulp build`.
* `npm run ghpages` to push only `./build` folder to **gh-pages** branch on github (very useful for previews).
* `npm run lint` - linting javascript with **eslint**.
* `npm run lint-fix` - fix as many issues as possible relatives to **eslint** settings.


2 changes: 2 additions & 0 deletions build/css/app.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 68b5c98

Please sign in to comment.