|
66 | 66 | ├── .github/ # Специальная папка для github |
67 | 67 | │ └── workflows/ # Автоматизация для github actions |
68 | 68 | │ ├── check.yml # Запускает линтеры на Гитхабе |
69 | | -│ └── gh-pages.yml # Публикует проект и создаёт ссылку на проект |
| 69 | +│ └── gh-pages.yml # Публикует проект и создаёт ссылку на проект |
70 | 70 | ├── source/ # Исходники проекта |
71 | 71 | │ ├── fonts/ # Папка для шрифтов |
72 | 72 | │ ├── images/ # Папка для хранения картинок |
73 | 73 | │ │ └── icons/ # Специальная папка для преобразования svg в спрайт(stack) |
74 | | -│ ├── js # Скрипты |
75 | | -│ │ └── script.js # Главный скрипт |
76 | | -│ ├── sass/ # Папка для препроцессорных файлов sass |
77 | | -│ │ └── blocks/ # Стили БЭМ-блоков |
78 | | -│ │ └── header.scss # Стили для конкретного БЭМ-блока |
79 | | -│ │ └── global # Файл для подключения стилей библиотек из папки |
80 | | -│ │ ├── fonts.scss # Подключение шрифтов к проекту |
81 | | -│ │ ├── global.scss # Глобальные стили, которые касаются всего проекта |
82 | | -│ │ └── variables.scss # Переменные для всего проекта |
| 74 | +│ ├── scripts/ # Скрипты |
| 75 | +│ │ └── index.js # Главный скрипт |
| 76 | +│ ├── styles/ # Папка для препроцессорных файлов sass |
| 77 | +│ │ ├── blocks/ # Стили БЭМ-блоков |
| 78 | +│ │ │ └── header.scss # Стили для конкретного БЭМ-блока |
| 79 | +│ │ ├── global # Файл для подключения стилей библиотек из папки |
| 80 | +│ │ │ ├── fonts.scss # Подключение шрифтов к проекту |
| 81 | +│ │ │ ├── global.scss # Глобальные стили, которые касаются всего проекта |
| 82 | +│ │ │ └── variables.scss # Переменные для всего проекта |
| 83 | +│ │ └── styles.scss # Основной стилевой файл с импортами всех остальных |
83 | 84 | │ ├── vendor # Папка для сторонних бибилотек |
84 | | -│ └── index.html # HTML-файл для главной страницы |
85 | | -└── .editorconfig # Настройки форматирования текстовых файлов |
86 | | -└── .gitignore # Настройки игнорирования файлов для git |
87 | | -└── .stylelintrc # Правила для stylelint |
88 | | -└── gulpfile.js # Автоматизация для Gulp |
89 | | -└── package.json # Зависимости проекта, скрипты, настройки проекта |
90 | | -└── package-lock.json # Зависимости проекта |
| 85 | +│ └── index.html # HTML-файл для главной страницы |
| 86 | +├── .editorconfig # Настройки форматирования текстовых файлов |
| 87 | +├── .eslintrc # Правила для eslint |
| 88 | +├── .gitignore # Настройки игнорирования файлов для git |
| 89 | +├── .stylelintrc # Правила для stylelint |
| 90 | +├── gulpfile.js # Автоматизация для Gulp |
| 91 | +├── package.json # Зависимости проекта, скрипты, настройки проекта |
| 92 | +├── package-lock.json # Зависимости проекта |
91 | 93 | └── README.md # Документация |
92 | 94 | ``` |
93 | 95 |
|
|
106 | 108 | - `npm run lint:styles` - проверяет проект на совместимость с stylelint |
107 | 109 | - `npm run lint:spaces` - проверяет отступы с помощью editorConfig |
108 | 110 | - `npm run lint:html` - проверяет разметку по правилам linthtml |
109 | | -- `npm run lint:js` - проверяет скрипты по правилам eslint |
| 111 | +- `npm run lint:scripts` - проверяет скрипты по правилам eslint |
110 | 112 |
|
111 | 113 | ## Работа с разметкой |
112 | 114 |
|
113 | 115 | Все HTML-файлы с разметкой складывайте в папку `source/`. |
114 | 116 |
|
115 | 117 | ```shell |
116 | | -├── source/ |
117 | | -│ ├── index.html |
118 | | -│ ├── catalog.html |
119 | | -│ └── form.html |
| 118 | +└── source/ |
| 119 | + ├── index.html |
| 120 | + ├── catalog.html |
| 121 | + └── form.html |
120 | 122 | ``` |
121 | 123 |
|
122 | 124 | Из папки `source/` сборка переносит файлы в папку `build/`. |
123 | 125 |
|
124 | 126 | ```shell |
125 | | -├── build/ |
126 | | -│ ├── index.html |
127 | | -│ ├── catalog.html |
128 | | -│ └── form.html |
| 127 | +└── build/ |
| 128 | + ├── index.html |
| 129 | + ├── catalog.html |
| 130 | + └── form.html |
129 | 131 | ``` |
130 | 132 |
|
131 | 133 | ## Работа со стилями |
132 | 134 |
|
133 | | -Все стили находятся в папке `source/sass/`. |
| 135 | +Все стили находятся в папке `source/styles/`. |
134 | 136 |
|
135 | 137 | ```shell |
136 | | -├── source/ |
137 | | -│ ├── sass |
138 | | -│ │ └── blocks/ |
139 | | -│ │ └── header.scss |
140 | | -│ │ └── global |
141 | | -│ │ ├── fonts.scss |
142 | | -│ │ ├── global.scss |
143 | | -│ │ └── variables.scss |
| 138 | +└── source/ |
| 139 | + └── styles/ |
| 140 | + ├── blocks/ |
| 141 | + │ └── header.scss |
| 142 | + ├── global |
| 143 | + │ ├── fonts.scss |
| 144 | + │ ├── global.scss |
| 145 | + │ └── variables.scss |
| 146 | + └── styles.scss |
144 | 147 | ``` |
145 | 148 |
|
146 | | -Все БЭМ-блоки и остальные препроцессорные файлы подключайте в `source/sass/styles.scss`. |
| 149 | +Все БЭМ-блоки и остальные препроцессорные файлы подключайте в `source/styles/styles.scss`. |
147 | 150 |
|
148 | 151 | ```scss |
149 | 152 | /* GLOBAL */ |
150 | | -@import "global/variables"; |
151 | | -@import "global/global"; |
152 | | -@import "global/fonts"; |
| 153 | +@import "./global/variables.scss"; |
| 154 | +@import "./global/global.scss"; |
| 155 | +@import "./global/fonts.scss"; |
153 | 156 |
|
154 | 157 | /* BLOCKS */ |
155 | | -@import "blocks/header"; |
| 158 | +@import "./blocks/header.scss"; |
156 | 159 | ``` |
157 | 160 |
|
158 | 161 | БЭМ-блоки импортируйте в секцию `/* BLOCKS */`. |
159 | 162 |
|
160 | 163 | Все препроцессорные файлы сборка обработает и превратит в `styles.css`. Файл `styles.css` сборка перенесёт в |
161 | 164 |
|
162 | 165 | ```shell |
163 | | -├── build/ |
164 | | -│ └── css/ |
165 | | -│ └── styles.css |
| 166 | +└── build/ |
| 167 | + └── styles/ |
| 168 | + └── styles.css |
166 | 169 | ``` |
167 | 170 |
|
168 | 171 | ## Работа с графикой |
|
176 | 179 | Векторную графику для спрайта складывайте в `source/images/icons/`. Автоматизация создаст из иконок файл `stack.svg`. |
177 | 180 |
|
178 | 181 | ```shell |
179 | | -├── source/ |
180 | | -│ ├── .raw/ |
181 | | -│ ├── images/ |
182 | | -│ │ └── icons/ |
| 182 | +└── source/ |
| 183 | + ├── .raw/ |
| 184 | + └── images/ |
| 185 | + └── icons/ |
183 | 186 | ``` |
184 | 187 |
|
185 | 188 | Всю графику автоматизация перенесёт в `build/images/`. |
186 | 189 |
|
187 | 190 | ```shell |
188 | | -├── build/ |
189 | | -│ └── images/ |
190 | | -│ └── icons # папка для спрайта |
191 | | -│ └── stack.svg # спрайт |
192 | | -│ ├── bg.jpg |
193 | | -│ ├── bg.webp |
194 | | -│ ├── hero.png |
195 | | -│ ├── hero.webp |
196 | | -│ └── burger.svg |
| 191 | +└── build/ |
| 192 | + └── images/ |
| 193 | + ├── icons # папка для спрайта |
| 194 | + │ └── stack.svg # спрайт |
| 195 | + ├── bg.jpg |
| 196 | + ├── bg.webp |
| 197 | + ├── hero.png |
| 198 | + ├── hero.webp |
| 199 | + └── burger.svg |
197 | 200 | ``` |
198 | 201 |
|
199 | 202 | ## Работа со шрифтами |
200 | 203 |
|
201 | 204 | Все шрифтовые файлы лежат в `source/fonts/`. Сборка переносит их в `build/fonts/`. |
202 | 205 |
|
203 | 206 | ```shell |
204 | | -├── build/ |
205 | | -│ └── fonts/ |
206 | | -│ ├── open-sans.woff2 |
207 | | -│ ├── open-sans.woff |
208 | | -│ ├── open-sans-bold.woff |
209 | | -│ └── open-sans-bold.woff |
| 207 | +└── build/ |
| 208 | + └── fonts/ |
| 209 | + ├── open-sans.woff2 |
| 210 | + ├── open-sans.woff |
| 211 | + ├── open-sans-bold.woff |
| 212 | + └── open-sans-bold.woff |
210 | 213 |
|
211 | 214 | ``` |
212 | 215 |
|
|
215 | 218 | Все скрипты лежат в `source/script/`. |
216 | 219 |
|
217 | 220 | ```shell |
218 | | -├── source/ |
219 | | -│ ├── js |
220 | | -│ │ ├── script.js |
221 | | -│ │ └── modal.js |
| 221 | +└── source/ |
| 222 | + └── scripts/ |
| 223 | + ├── index.js |
| 224 | + └── modal.js |
222 | 225 | ``` |
223 | 226 |
|
224 | 227 | Сборка переносит их в `build/script/`. |
225 | 228 |
|
226 | 229 | ```shell |
227 | | -├── build/ |
228 | | -│ ├── js |
229 | | -│ │ ├── script.js |
230 | | -│ │ └── modal.js |
| 230 | +└── build/ |
| 231 | + └── scripts/ |
| 232 | + ├── index.js |
| 233 | + └── modal.js |
231 | 234 | ``` |
232 | 235 |
|
233 | 236 | ## Работа со сторонними библиотеками |
|
239 | 242 | Положите файлы библиотеки в папку `source/vendor/`, как показано ниже: |
240 | 243 |
|
241 | 244 | ```shell |
242 | | -├── source/ |
243 | | -│ └── vendor/ |
244 | | -│ ├── library.css |
245 | | -│ └── library.js |
| 245 | +└── source/ |
| 246 | + └── vendor/ |
| 247 | + ├── library.css |
| 248 | + └── library.js |
246 | 249 | ``` |
247 | 250 |
|
248 | 251 | Если у вас есть несколько библиотек с разными файлами, вы можете группировать файлы одной библиотеки в ее собственную подпапку. Например: |
249 | 252 |
|
250 | 253 | ```shell |
251 | | -├── source/ |
252 | | -│ └── vendor/ |
253 | | -│ └── library/ |
254 | | -│ ├── library.css |
255 | | -│ └── library.js |
| 254 | +└── source/ |
| 255 | + └── vendor/ |
| 256 | + └── library/ |
| 257 | + ├── library.css |
| 258 | + └── library.js |
256 | 259 | ``` |
257 | 260 |
|
258 | 261 | При сборке вашего проекта, все файлы из папки `source/vendor/` будут включены в папку `build/vendor/`, сохраняя их структуру. Например: |
259 | 262 |
|
260 | 263 | ```shell |
261 | | -├── build/ |
262 | | -│ └── vendor/ |
263 | | -│ └── library/ |
264 | | -│ ├── library.css |
265 | | -│ └── library.js |
| 264 | +└── build/ |
| 265 | + └── vendor/ |
| 266 | + └── library/ |
| 267 | + ├── library.css |
| 268 | + └── library.js |
266 | 269 | ``` |
267 | 270 |
|
268 | 271 | Таким образом, вы можете удобно организовать и внедрить сторонние библиотеки в ваш проект, сохраняя их структуру в папке `source/vendor/`. |
0 commit comments