diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..0c4982b
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,23 @@
+# This file is for unifying the coding style for different editors and IDEs
+# editorconfig.org
+
+# WordPress Coding Standards
+# https://make.wordpress.org/core/handbook/coding-standards/
+
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+indent_style = space
+indent_size = 2
+
+[*.json]
+indent_style = tab
+indent_size = 4
+
+[*.md]
+trim_trailing_whitespace = false
+
diff --git a/.gitignore b/.gitignore
index 4475b22..c26b566 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,3 @@ deploy.sh
deploy-*.sh
# Custom
-assets/css/**/*.min.css*
-assets/css-old/**/*.min.css*
-components/**/*.min.css*
-config.js
\ No newline at end of file
diff --git a/README.md b/README.md
index 87728ec..627f2fc 100644
--- a/README.md
+++ b/README.md
@@ -2,16 +2,22 @@
Install required modules:
-```
+```sh
npm install
```
Run development environment:
-```
+```sh
npm start
```
+## How it works
+
+The project runs `gulp` and `browsersync` beyond the scenes.
+Each change in template, styling or script files will reload the page. The idea is to have a comfortable development
+environment.
+
# Block Structure
You will find all the block files in `/src` folder.
@@ -35,26 +41,31 @@ We have a “blocks system”, means you will have to follow strict rules and us
## Template Layout & Data
-### Handlebars
-
-In this project, [Handlebars](https://handlebarsjs.com/guide/ "What is Handlebars") used as a template engine.
-
-All the template layout must be in a single `*.hbs` file that located in `/src` folder.
-
### Data
You will find multiple `*.json` files in `/data` folder after the first run of `npm start`.
These files are used as data sources in layout. By reviewing these files you can understand what parameters you have and
-how the data is stored. Don't change or edit these files - use the data as it is.
+how the data is stored.
There are multiple data sources since the block can be reused in different situations with different data. We have to
make sure that the block is always rendered properly.
+> Don't change or edit these files - use the data as it is!
+
+### Handlebars
+
+[Handlebars](https://handlebarsjs.com/guide/ "What is Handlebars") used as a template engine in the project.
+
+All the template layout must be in a single `*.hbs` file that located in `/src` folder.
+
+> Use the data that is available in `/data` folder.
+> Avoid using any kind of "freestyle" input/content. Your template file must contain only HTML tags and Handlebars parameters.
+
### Static Media Files
-Use the `/src/images` folder in case you need to upload images or video files to the template. These files will be
-available by the next URL: http://localhost:3000/images/${filename}
+Use the `/src/images` folder in case you need to upload images or video files to the template.
+These files will be available by the next URL: http://localhost:3000/images/${filename}
### Class Naming Convention
@@ -69,10 +80,10 @@ min-width: ...px).
### CSS Units
-Use `rem` units instead of pixels. `1rem = 16pixels`.
-
-No need to use rem in situations of `1px` or `2px`. (usually used for borders width).
+Use `rem` units instead of pixels.
+For example, `1rem = 16pixels` depends on project.
+No need to use rem in situations of `1px`, `2px` or `3px`. (usually used for borders width).
It's important to mention that the block is "elastic". By using `rem` units we are able to scale the layout and keep the
aspect ratio.
@@ -81,7 +92,7 @@ aspect ratio.
The development environment includes CSS rules of the original project. This is including fonts, CSS variables,
container logic etc...
-The CSS file is embedded in served HTML.
+The CSS file is already embedded in served HTML.
# JavaScript
@@ -97,6 +108,11 @@ The lib is included in the project and ready for use. Test with `window.Swiper`
Use development toolbar to switch between data sources.
+## Hover/Focus States
+
+Make sure all "clickable" elements have `&:hover` & `&:focus` states in CSS rules.
+This might be related to links, buttons or any other interactive elements.
+
## Responsiveness
Make sure the layout is rendered correctly on all standard breakpoint size:
@@ -122,7 +138,6 @@ Compare the final result with provided screenshots.
You can use
available [Browser Extensions](https://chrome.google.com/webstore/detail/perfectpixel-by-welldonec/dkaagdgjmgdmbnecmcefdhjekcoceebi?hl=en)
-or any other tool/approach that you're familiar with.
-
+or any other tool/approach that you're familiar with.
The idea is to have "pretty close" result to requested design.
diff --git a/config/default.cjs b/config/default.cjs
index c20c4ad..dbc6151 100644
--- a/config/default.cjs
+++ b/config/default.cjs
@@ -1,4 +1,4 @@
module.exports = {
- cssUrl: "https://",
- blockName: "template",
+ cssUrl: "https://",
+ blockName: "template",
}
diff --git a/config/development.cjs b/config/development.cjs
index 8c9e1cb..e654a48 100644
--- a/config/development.cjs
+++ b/config/development.cjs
@@ -1,5 +1,5 @@
module.exports = {
- mode: "development",
- cssUrl: "https://",
- blockName: "template",
+ mode: "development",
+ cssUrl: "https://",
+ blockName: "template",
}
diff --git a/data/default.json b/data/default.json
index 5a67d77..e332c08 100644
--- a/data/default.json
+++ b/data/default.json
@@ -1,6 +1,6 @@
{
- "title": "As a Global Salesforce Partner,\n we deliver Service Cloud solutions\n and complex Field Service Management\n in diverse industries worldwide",
- "phrases": "
Delivering top results to industry leaders:
",
- "cta_text": "Our Success Stories",
- "url": "https://google.com"
-}
\ No newline at end of file
+ "title": "As a Global Salesforce Partner,\n we deliver Service Cloud solutions\n and complex Field Service Management\n in diverse industries worldwide",
+ "phrases": "