Skip to content

Commit d0da7b8

Browse files
author
eugeny.horoshilov
committed
English version becomes primary
1 parent 6c4dd5a commit d0da7b8

File tree

12 files changed

+674
-676
lines changed

12 files changed

+674
-676
lines changed

README.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
11
# CSS-o-Gram (CSSG)
2-
> аккуратно, наглядно, быстро - как [SSG](http://en.wikipedia.org/wiki/Steyr_SSG_69), только мирно
2+
> rapid, intuitive, neat - like [SSG](http://en.wikipedia.org/wiki/Steyr_SSG_69), but peaceful
33
4-
## Общие сведения
4+
## Overview
55

6-
CSSG - это "диаграмма CSS", по своей сути - комментарий в CSS файле, описывающий структуру сущности, к которой применяются стили. Сущность может быть элементом, блоком или проектом, в зависимости от используемой (или _не_ используемой) методологии.
6+
CSSG stands for "CSS Diagram", in fact - a comment block in CSS file, which describes substance structure with CSS classes. Substance can be element, block or project, depending on methodology that you do (or _do not_) use.
77

8-
Это ваш верный спутник в большом проекте и помощник для ваших коллег, если вы работаете в команде.
8+
This is your trusted companion in large project and assistant for your colleages, if you work in team.
99

10-
Порог вхождения минимален - используется привычный синтаксис и несколько логичных правил.
11-
Однако подразумевается, что вы знакомы с [БЭМ](http://ru.bem.info/method/), [SMACSS](http://smacss.com/), [MCSS](https://github.com/operatino/MCSS) и т.д. и возможно используете одну из этих методологий.
12-
Если нет, вы наверняка слышали о [Bootstrap](http://twitter.github.io/bootstrap/) и прочих фрэймворках.
13-
В любом случае рекомендуется ознакомиться с терминологией [OOCSS](http://oocss.org/) _до_ прочтения документации.
10+
Low entry barriers - use regular syntax and some logical rules.
11+
However, it's implied that you familiar with [BEM](http://ru.bem.info/method/), [SMACSS](http://smacss.com/), [MCSS](https://github.com/operatino/MCSS) etc. and perhaps already use any of theese methodologies.
12+
If not, you could possibly hear about [Bootstrap](http://twitter.github.io/bootstrap/) and other frameworks.
13+
Either way it is recommended to get yourself acquainted with [OOCSS](http://oocss.org/) terminology _before_ further reading.
1414

15-
## Для кого и для чего
15+
## For whom and for what
1616

17-
* Лучшее структурирование кода и понимание чужих спецификаций
18-
* Инструмент общения с коллегами или разработчиками, далекими от фронтенда
19-
* Выявление потенциальных "узких мест" в верстке (уровень вложенности, количество классов и т.д.)
20-
* Упрощение дебаггинга и рефакторинга
21-
* Это просто красиво!
17+
* Better code structure and getting into new code
18+
* Conversation tool for colleages and developers, distant from front-end
19+
* Detecting potential "bottlenecks" in layout (excessive DOM nesting, classes amount etc.)
20+
* Easier debugging and refactoring
21+
* It's just pretty!
2222

23-
## Как начать
23+
## Quick start
2424

25-
Ознакомиться с первой частью спецификации CSSG - [basic.md](basic.md)
26-
Если все просто - пробуйте и изучайте вторую часть - [advanced.md](advanced.md)
27-
Памятка по синтаксису - [legend.md](legend.md)
25+
Get to know first part of CSSG documentation - [basic.md](basic.md)
26+
Easy enough - try it and continue reading - [advanced.md](advanced.md)
27+
Syntax legend - [legend.md](legend.md)
2828

2929
-----
3030

31-
## Планы на ближайшее будущее
31+
## CSSG generator
3232

33-
* Создание генератора CSSG
33+
Of course it's far more handy to get into into CSSG using automatic generator.
34+
Check out [CSSG multipurpose converter](https://github.com/XOP/css-o-gram_tool)
3435

3536
-----
3637

37-
Вопросы можно задавать по [электронной почте](mailto:[email protected]).
38-
Все материалы доступны для свободного распространения.
39-
При копировании [ссылка на источник](https://github.com/XOP/css-o-gram) обязательна.
38+
Feel free to ask questions via [email](mailto:[email protected]).
39+
All content is available for free distribution.
40+
[Link to source](https://github.com/XOP/css-o-gram) is mandatory when copying materials.

advanced.md

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
# Копаем глубже
1+
# Let's dig in
22

3-
## Множества
3+
## Multiplicity
44

5-
Для некоторых сущностей, например элементов списка или просто последовательности одинаковых блоков характерно множественное появление.
5+
Multiplicity happens to be typical for some substances, e.g. list elements or some blocks sequence.
66

7-
В CSSG это будет выглядеть так:
7+
In CSSG it will look like this:
88

9-
10-
/*
9+
/*
1110

1211
post_cnt
1312
post_cnt_ul
1413
post_cnt_li +
1514

1615
*/
1716

18-
или так
17+
or like that:
1918

2019
/*
2120

@@ -24,35 +23,35 @@
2423

2524
*/
2625

27-
Ключевое отличие '+' и '*' - в специфике множества.
28-
'+' указывает, что элемент появится хотя бы один раз (характерно для элементов списка - \<li\>)
29-
'*' указывает, что элемент появится 0 и более раз (относится как правило ко всем остальным элементам)
26+
The main difference between '+' and '*' is in multiplicity specifics.
27+
'+' says that element will appear at least 1 time (which is typical for list items - \<li\>)
28+
'*' however says that element may appear more than 0 times (any other elements - you name it)
3029

31-
> важно понимать разницу между опциональным появлением ([element]) и появлением 0 и более раз (element *)
32-
> на первый взгляд отличие незначительное, но в контексте все встает на свои места
30+
> it's important to feel the distinction between optional elements ([element]) and appearing 0 and more times (element *)
31+
> insignificant on the first sight, it appears to have contextual meaning
3332
34-
## Модификаторы - больше и удобнее
33+
## Modificators - more and meaningful
3534

36-
Как было указано в [basic.md](basic.md), модификаторы дополняют сущность и теоретически возможно их одновременное появление.
37-
Необходимая логика описывается дополнительным синтаксисом.
35+
As it was mentioned in [basic.md](basic.md), modificators complement substance and theoretically their simultaneous presence is possible.
36+
Crucial logic described with the help of special syntax.
3837

39-
Взаимоисключение выглядит следующим образом:
38+
For example, alternative is illustrated this way:
4039

4140
/*
4241
4342
post ( __current | __regular ) __deleted
4443

4544
*/
4645

47-
и даже так:
46+
and even like this:
4847

4948
/*
5049

5150
post ( ( __current | __regular ) | __compact ) __deleted
5251

5352
*/
5453

55-
Когда класс жестко связан с модификатором (бесполезен или не используется без него), это указывается через точку:
54+
Dot (.) illustrates robust connection between class and another class or modificator
5655

5756
/*
5857

@@ -65,12 +64,12 @@
6564

6665
*/
6766

68-
> отбивка по правому краю для привязанного класса не нужна
67+
> alignment on the right for connected class is not necessary
6968
70-
## Наследование
69+
## Inheritance
7170

72-
Сущность может быть прямым наследником другой сущности.
73-
Чтобы обозначить это, указывает "родителя" через @.
71+
Substance can be direct descendant of other substance.
72+
To point this out, define ancestor via "@" symbol.
7473

7574
/*
7675

@@ -80,11 +79,11 @@
8079

8180
*/
8281

83-
> не обязательно перечислять модификаторы, поскольку они наследуются по умолчанию
84-
> однако если есть отличия, необходимо перечислить все возможные классы
85-
> по умолчанию принятно, что указанные модификаторы будут являться единственно возможными
82+
> it's not necessary to list all modificators, because they inherited by default
83+
> however, if there is any difference, we must list all possible classes
84+
> it's accepted that these defined modificators will only be possible
8685
87-
Например, в этом примере **post-advanced** будет иметь один возможный модификатор **__new**, несмотря на наличие модификаторов у **post**
86+
For instance, it is illustrated in the following code, that **post-advanced** will have one possible modificator **__new**, regardless the fact, that **post** has some modificators as well
8887

8988
/*
9089

@@ -94,13 +93,13 @@
9493

9594
*/
9695

97-
## Условная шаблонизация
96+
## Nominal templates
9897

99-
Наследование напрямую связано с условной шаблонизацией.
100-
Указывая в родительской сущности изменяемые части, мы упрощаем описание потомственной сущности и избегаем дублирования кода.
101-
Это не обязательная, но удобная практика, если таких сущностей как минимум две.
98+
Inheritance is directly connected with nominal templates.
99+
We simplify illustration of descendant substance and avoid code duplication by setting changeable parts in ancestor substance.
100+
This is not mandatory, but turns out to be helpful if you have at least two such substances.
102101

103-
Например, родительская сущность выглядит так:
102+
As an example, let's say ancestor substance looks like this:
104103

105104
/*
106105

@@ -109,8 +108,8 @@
109108
% content %
110109

111110
*/
112-
113-
или так, если существует содержимое по умолчанию
111+
112+
or like this, if there is any default content
114113

115114
/*
116115

@@ -121,7 +120,7 @@
121120

122121
*/
123122

124-
потомственная сущность
123+
descendant substance
125124

126125
/*
127126

@@ -133,10 +132,10 @@
133132

134133
*/
135134

136-
> когда шаблон "раскрывается", второй символ % не пишем
135+
> when "filling" the template second % symbol is unnecessary
137136
138-
В этом случае **post-advanced\_cnt** будет находится внутри **post\_cnt** и перепишет контент по умолчанию из второго примера.
139-
Если не использовать шаблонизацию, то же самое можно записать так:
137+
In this case **post-advanced\_cnt** will be inside **post\_cnt** and will override default content from second code piece.
138+
Without nominal templates, CSSG may look like this:
140139

141140
/*
142141

@@ -148,14 +147,14 @@
148147

149148
*/
150149

151-
В данном случае разницы почти нет.
152-
Но достаточно рассмотреть пример в контексте громоздкой структуры, чтобы ощутить все преимущества записи.
150+
There's almost no difference in this case.
151+
However all notation potential can be seen in context of describing more complex structure
153152

154-
> элемент **% content %** в разметке не имеет DOM-воплощения, это просто название шаблона
153+
> the **% content %** element has no DOM implementation, it is just a template name
155154
156-
## Динамика
155+
## Dynamics
157156

158-
Под динамикой понимается появление того или иного класса или элемента в процессе отработки скриптов и/или в результате действий пользователя.
157+
By dynamics it's meant that some class or element may appear in layout due to scripts and user activity.
159158

160159
/*
161160
@@ -166,7 +165,7 @@
166165

167166
*/
168167

169-
Для обозначения динамических блоков используется дополненный существующий синтаксис опциональных частей:
168+
To define dynamic blocks complemented syntax for optional parts is used:
170169

171170
/*
172171
@@ -183,9 +182,9 @@
183182

184183
## It's <<omplicated
185184

186-
Сложные решения в CSS тоже можно иллюстрировать с помощью CSSG.
185+
Complex CSS approach can be described with CSSG.
187186

188-
Ситуация с взаимоисключающими блоками:
187+
Alternative (mutual exclusive) blocks example:
189188

190189
/*
191190

@@ -202,7 +201,7 @@
202201
203202
*/
204203

205-
Нужно указать наличие какого-либо ключевого класса где-то высоко в DOM:
204+
When it's necessary to illustrate some valueable class somewhere high in DOM tree:
206205

207206
/*
208207
@@ -216,7 +215,7 @@
216215
217216
*/
218217

219-
CSSG _как правило_ само-демонстративен, но в особо сложных ситуациях не обойтись без комментариев:
218+
CSSG is self-explanatory _as a rule_, but some tough situations may require comments:
220219

221220
/*
222221

0 commit comments

Comments
 (0)