рд╣рдо css рдХреЛрдб рдХреЗ рдХреНрд░рдо рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╛рдВрдбреЗрдХреНрд╕ рдЕрдиреБрднрд╡

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!



рдореИрдВ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ - рдпреИрдВрдбреЗрдХреНрд╕ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕реАрдорд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рд╣рдо, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдмрдбрд╝реА рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣, рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдФрд░ рдПрдХ рдмрдбрд╝реА рдЯреАрдо рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреА рд╣реИред



рдЬрдм рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реАрдПрд╕рдПрд╕ рд▓рд┐рдЦреЗрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╕рдордп рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реАрдПрд╕рдПрд╕ рдмрд╣реБрдд рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд╕рдВрдЧрдд рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЦрд░рд╛рдм рд▓рдЧрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЗ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЛ рдПрдХ рдХреНрд░рдо рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдореЗрдВ, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ url рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЙрджреНрдзрд░рдг рд░рдЦрддрд╛ рд╣реИ, рдХреЛрдИ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд░реВрд░реА рдмрдЧ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдЦрдирд╛ position: relative



рд╕рдВрдкрддреНрддрд┐ рдмреНрд▓реЙрдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ position: relative



, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ color



рдФрд░ box-shadow



рдмреАрдЪ рдХрд╣реАрдВ рдиреАрдЪреЗ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА position: absolute



, рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред







рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рд░ рдХреЛрдИ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рд╣реА рдХреНрд░рдо рд╣реИ: рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд╕рдВрдЧрдд рд╣реИ рдФрд░ рд╢рд╛рдирджрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИред рдкреВрд░реЗред



рд╣рдордиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕реЗ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдкрд╣рд▓рд╛ рдХрджрдо



рдЕрдЧрд░ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреВрд░реА рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдХреЛрдб рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдП, рддреЛ рдкрд╣рд▓рд╛ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рдХреБрдЫ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреЙрд╕ рдХреЗ рд▓рд┐рдП рд╣реИ: "рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛", рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдХреЗрд╡рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ:

  1. рд╣рдо рд╕рднреА рдорд╛рдирд╡ рд╣реИрдВ - рдФрд░ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдкреВрд░реЗ рдвреЗрд░ рдХреЗ рд╕рдЯреАрдХ-рдЕрдиреБрд╢рдВрд╕рд┐рдд-рдЖрджреЗрд╢ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдХрднреА рдЧрд▓рддреА рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
  2. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдореАрдХреНрд╖рд╛ рдХреЛрдб рдХреЛрдб рд╢реИрд▓реА рдкрд░ рд╕рдВрдкрд╛рджрди рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рддрд░реНрдХ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗред
  3. рдЗрд╕ рдЬрдЧрд╣ рдХреА рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╣рд╛рде рд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рднреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рдХреБрдЫ рдЧреЛрджреА рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдФрд░, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЦреБрд╢ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХреБрдЫ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рдереА, рдФрд░ рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ред



рд░реЛрдмреЛрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛



рдПрдХ рдкреБрд░рд╛рдирд╛ рд░реЛрдмреЛрдЯ рдерд╛ - CSScomb , рдЬрд┐рд╕рдиреЗ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣рд▓ рдХрд┐рдпрд╛:

рд╡рд╣ рдЬрд╛рдирддрд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХреНрд░рдо рдореЗрдВ рдЧреБрдгреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЫрд╛рдБрдЯрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдирдХреА рдХрдИ рдХрдорд┐рдпрд╛рдВ рдереАрдВ:

  1. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдерд╛, рдФрд░ рд╕реАрдврд╝реА рдХреЗ рд╕рд╛рде рд╡рд┐рдХреНрд░реЗрддрд╛ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ ...
  2. рдпрд╣ PHP рдФрд░ regexp рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдФрд░ рдпрджреНрдпрдкрд┐, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, js-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ PHP c ++ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред



рд╣рдорд╛рд░реА рдЯреАрдо рд╕реЗ рдорд┐рд╣рдВрдЧрд╛ рдиреЗ рдкреВрд░реА рдмрд╛рдд рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдПрдХ рдРрд╕рд╛ рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЗрди рдХрдорд┐рдпреЛрдВ рд╕реЗ рд░рд╣рд┐рдд рд╣реЛрдЧрд╛: рд╡рд╣ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЗрдПрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрджреНрдпрдкрд┐ Yandex рдХрд░реНрдордЪрд╛рд░реА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, CSScomb.js рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗ рдкрд░реЗ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред



рдорд┐рд▓рд┐рдП CSScomb.js - рдпрд╣ рдкреБрд░рд╛рдиреЗ CSScomb рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдмрд╣реБрдд рд╕рд╛рд░реА рд╢рд╛рдВрдд рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?



рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП, рдХреЗрд╡рд▓ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╣ рдХреЛрдб рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:



 .block { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); z-index: 2; position: absolute; height: 2px; width: 2px; color: #FFFFFF; }
      
      





рдпрд╣ рдмрд╣реБрдд рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдб рд╢реИрд▓реА рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рд╣рдо рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ:



 % git commit block.css -m"Add My awesome css" Code style errors found. ! block.css
      
      





рдЗрд╕ рддрд░рд╣ рдХреА css рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреАрдЖрдИрдЯреА рдореЗрдВ рд╣рдорд╛рд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрди рд╕рднреА рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдкреВрд░реНрд╡-рдЬрд╛рдВрдЪ рд╣реБрдХ рд╣реЛрддреА рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдХрдорд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд▓рд┐рдВрдЯрд░ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣реБрдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╛рдлреА рд╕реНрдорд╛рд░реНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдирд╣реАрдВред



рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CSScomb.js рд╕реЗ рдкреВрдЫреЗрдВ:



 % csscomb block.css
      
      





рдЕрдм, рдЕрдм рдПрдХ рдФрд░ рдмрд╛рдд:



 .block { position: absolute; z-index: 2; width: 2px; height: 2px; color: #fff; -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); }
      
      





рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдирд┐рдпрдорд┐рдд рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХрд┐рдП: рдмреНрд░реИрдХреЗрдЯ рдХреЛ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рд░рдВрдЧ рдХреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛, рдПрдХ рд╕реАрдврд╝реА рдХреЗ рд╕рд╛рде рд╡рд┐рдХреНрд░реЗрддрд╛ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдФрд░ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЧреБрдгред рдЕрдм, рдРрд╕рд╛ рдХреЛрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪреЗрдХ рдкрд╛рд╕ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрд╢реАрд▓ рдЧреБрдгреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдм рдХреЛрдб рд╢реИрд▓реА рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдареАрдХ рд╡реИрд╕реЗ рд╣реА рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╡рд╣ рдлрд┐рдЯ рджреЗрдЦрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред



рдФрд░ рдЙрд╕рдХреЗ рдирд┐рдУрдиреНрдХрд╛ рдХреЗ рдЕрдВрджрд░



рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ - CSScomb рд╕реНрд╡рдпрдВ рдФрд░ рдПрдХ рдкреВрд░реНрд╡-рдкреНрд░рддрд┐рдмрджреНрдз рд╣реБрдХ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣реБрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдореИрдВ CSSComb.js рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдХрд░реВрдБрдЧрд╛



CSScomb.js рджреЛ рдЪреАрдЬреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: рдкреНрд▓рдЧрдЗрди рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЧреЛрдирдЬрд╝реЗрд▓реНрд╕-рдкреЗ рд╕реАрдПрд╕рдПрд╕ рдкрд╛рд░реНрд╕рд░ рдПрдХ рдмрд╣реБрдд рд╣реА рд╢рд╛рдВрдд рдЪреАрдЬ рд╣реИ рдЬреЛ рди рдХреЗрд╡рд▓ рд╢реБрджреНрдз рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рд╛рд╕ рдпрд╛ рд▓реЗрд╕ рдЬреИрд╕реЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред



рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдкрд╛рд░реНрд╕рд░ рд╕реЗред рдпрд╣ css рдХреЛрдб рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реЗрдЯ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ AST рдмрдирд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП:



 .block { position: absolute }
      
      





рдПрдПрд╕рдЯреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:



 [ "stylesheet", [ "ruleset", [ "selector", [ "simpleselector", [ "class", [ "ident", "block" ] ], [ "s", "\n" ] ] ], [ "block", [ "s", "\n " ], [ "declaration", [ "property", [ "ident", "position" ] ], [ "propertyDelim" ], [ "value", [ "s", " " ], [ "ident", "absolute" ] ] ], [ "s", "\n" ] ] ], [ "s", "\n" ] ]
      
      





рдпрд╣ рдкреНрд░рд╛рд░реВрдк рдорд╛рдирд╡ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднрд╛рд░реА рдФрд░ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬреЛ рдкреНрд▓рдЧ-рдЗрди рдХрд░рддреЗ рд╣реИрдВ ред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рд╕рднреА рдЖрдЧреЗ рд╕реАрдПрд╕рдПрд╕ рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реАрдзреЗ рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдПрд╕рдЯреА рдХреЗ рд╕рд╛рде, рдЬреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдХреМрди рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдирдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХреА рдЧрдИ рд╣реИрдВред



рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ absolute



рдмрд╛рдж рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ред рдкреНрд▓рдЧрдЗрди, рдЬреЛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдиреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдФрд░ рдПрдПрд╕рдЯреА рд╕рдВрд╢реЛрдзрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ (рдореИрдВрдиреЗ рдкреЗрдбрд╝ рдХреЛ рдереЛрдбрд╝рд╛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рддрд╛рдХрд┐ рдХреЛрдб рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдХреА рдирдХрд▓ рди рд╣реЛ):



 ... [ "block", [ "s", "\n " ], [ "declaration", [ "property", [ "ident", "position" ] ], [ "propertyDelim" ], [ "value", [ "s", " " ], [ "ident", "absolute" ] ] ], >>>[ "declDelim" ],<<< [ "s", "\n" ] ...
      
      





рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рд╣реА рдЧреЛрдВрдЬрд╛рд▓реЗрд╕-рдкреЗ рдПрдПрд╕рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ,

рдФрд░ рднреВрд▓рд╛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдЬрдЧрд╣ рдореЗрдВ рд╣реИ:



 .block { position: absolute; }
      
      





рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?



рдкрд╣рд▓рд╛ рдХрджрдо


рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп, рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ CSScomb.js рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред json



 { ... "devDependencies": { ... "csscomb": "2.0.4", ... } ... }
      
      





рджреВрд╕рд░рд╛ рдХрджрдо


рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдХреЛрдб рдХреЛ рдЙрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ, рд╣рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ рдкреНрд▓рдЧ рдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ ред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЗрд╕ рдкрд░ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред



CSScomb.js рдХреБрдЫ рд╣рдж рддрдХ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рд╕реАрдПрд╕рдПрд╕-рдХреВ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред



 csscomb -d example.css > .csscomb.json
      
      





рдЗрд╕ рддрд░рд╣, рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рдЧреБрдгреЛрдВ рдХреА рдЫрдВрдЯрд╛рдИ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдпрд╛ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХрд╣реАрдВ рд╕реЗ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реИред



рдЕрдВрддрд┐рдо рдЪрд░рдг


рдЖрдкрдХреЛ CSScomb.js рдХреЛ рдХрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ linter рдореЛрдб рдореЗрдВ рд░рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА jscs / jshint-groups рдпрд╛ рдЕрдиреНрдп рдЯреВрд▓ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдХрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рддреЗ рд╣реИрдВред рдЕрдЧрд░ git рдФрд░ linux / BSD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:



 #!/usr/bin/env bash PATCH_FILE="working-tree.patch" NPM_BIN="./node_modules/.bin" function cleanup { exit_code=$? if [ -f "$PATCH_FILE" ]; then patch -p0 < "$PATCH_FILE" rm "$PATCH_FILE" fi exit $exit_code } #     trap cleanup EXIT SIGINT SIGHUP #   git diff > "$PATCH_FILE" --no-prefix #     git checkout -- . #       ,     git_cached_files=$(git diff --cached --name-only --diff-filter=ACMR | xargs echo) if [ "$git_cached_files" ]; then #  CSScomb.js $NPM_BIN/csscomb -v -l $git_cached_files || exit 1 fi
      
      





рдЗрд╕ рд╣реБрдХ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВ CSSComb.js рдХреЛ рддреБрд░рдВрдд рдорд░рдореНрдордд рдореЛрдб рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪреБрдкрдЪрд╛рдк рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддрд╛ рд╣реИ? рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ рдЬрдм рд╣рдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ ( git add -p



)ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрджрд┐ рд╣рдореЗрдВ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ, рддреЛ рдЕрдкреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ:

  1. рд╣рдо рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ CSScomb.js рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкреИрдЪ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдЯрдХрд░рд╛рд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдпрд╛ рд╡рд░реНрддрдорд╛рди рдлрд╝рд╛рдЗрд▓ рдкрд░ CSScomb.js рдХреЛ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдПрдВ, рд▓реЗрдХрд┐рди рдЬрд┐рди рд╕рдВрдкрд╛рджрдиреЛрдВ рдореЗрдВ рд╣рдо рдЕрднреА рддрдХ рдХрдорд┐рдЯрдореЗрдВрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рдЧрд▓рдд рдХреЛрдб рд╕рд╣рд┐рдд рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рдлрд╝рд╛рдЗрд▓ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ CSScomb.js рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рд╣реЛ рдЧрдпрд╛!



рд╡рд╣ рд╕рдм рд╣реИред рдЕрдм CSScomb.js рдХреЛрдб рд╢реИрд▓реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЛ рдХрдорд┐рдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрдЧрд╛ рдФрд░ рдХреЛрдб рдХреЛ рдПрдХ рдХрдорд╛рдВрдб рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдлреЙрд░реНрдо рдореЗрдВ рд▓рд╛рдирд╛ рд╕рдВрднрд╡ рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдФрд░ рдПрдХ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рдХреЛрдб рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рдордп рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛рдУрдВ рдХреЛ рднреА рдмрдЪрд╛рддрд╛ рд╣реИред



рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдпрд╛ рдкреНрд▓рдЧ-рдЗрди рдХреА рдХрдореА рд╣реИ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдореБрджреНрджрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



All Articles