рдЙрддреНрддрд░рджрд╛рдпреА рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП TDDред рдпрд╛ рдЧреИрд▓реЗрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреИрд╕реЗ рдХрд░реЗрдВ

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



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


рдЧреИрд▓рди рдлреНрд░реЗрдорд╡рд░реНрдХ (рдпрд╛ рдмрд╕ рдЧреИрд▓реЗрди) рд╡рд╛рдВрдЫрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреЗрдЬ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рддрддреНрд╡реЛрдВ (рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдФрд░ рдЖрдХрд╛рд░) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

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

рдЪрд░рдг 1. рдЪрд▓реЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрдХ рд╕рд╛рдЗрдЯ рдЦрд╛рд▓реА рдХрд░реЗрдВ


рдЖрдЗрдП рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреЗрдЪ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:



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

рдЪрд░рдг 2. рдЧреИрд▓рди рдЪрд╢реНрдорд╛ рд▓реЗрдЦрди


рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рднреА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд░реЗрдВрдЧреЗ: рд╣реЛрдордкреЗрдЬ.рд╕реНрдкреЗрдХ
рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдЧреИрд▓реЗрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрд╛рдж рдореЗрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛, рдФрд░ рдЕрдм рдореИрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреЛрд╕реНрдЯ рдореЗрдВ, рдпрджрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдЯреВрд▓ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ galenframework.com рдкрд░ рд╕рднреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдЙрджрд╛рд╣рд░рдг рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ

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

=========================================== header id header header-logo css #header .logo header-caption css #header h1 menu id menu menu-item-* css #menu li a content id content side-panel id side-panel side-panel-caption css #side-panel h2 side-panel-links-* css #side-panel li a article id article article-caption css #article h1 article-text id article-text comments id comments footer id footer ========================================== 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдирд╛рдо рдореЗрдВ * рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрдм рдкреГрд╖реНрда рдкрд░ рдХрдИ рд╕рдорд╛рди рддрддреНрд╡ рд╣реЛрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЧреИрд▓реЗрди рдкрд╣рд▓реЗ рджрд┐рдП рдЧрдП рд▓реЛрдХреЗрдЯрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдЦреЛрдЬреЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдЧрд╛, рдХреЗрд╡рд▓ * рдХреЗ рдмрдЬрд╛рдп рдпрд╣ 1. рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдиреВ-рдЖрдЗрдЯрдо- *ред рдпрджрд┐ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ 4 рдореЗрдиреВ рдЖрдЗрдЯрдо рд╣реИрдВ, рддреЛ рдЧреИрд▓рди рдХреНрд░рдорд╢рдГ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВрдЧреЗ: рдореЗрдиреВ-рдЖрдЗрдЯрдо -1, рдореЗрдиреВ-рдЖрдЗрдЯрдо -2, рдореЗрдиреВ-рдЖрдЗрдЯрдо -3, рдореЗрдиреВ-рдЖрдЗрдЯрдо -4ред

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

рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдб рдХрд╛ рдЕрдЧрд▓рд╛ рдЯреБрдХрдбрд╝рд╛ рд╣рдорд╛рд░реЗ рд╣реЛрдордкреЗрдЬ.рд╕реНрдкреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо рд╕реНрд╡рдпрдВ рдЪреЗрдХ рдХрд╣рд╛рдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

 @ all ------------------------------------ header width: 100% of screen/width height: 100px above: menu 0px menu width: 100% of screen/width below: header 0px above: content 0px footer width: 100% of screen/width height: > 100px content inside: screen 0px left below: menu 0px @ desktop, tablet ----------------------------------- side-panel width: 300px below: menu 0px inside: screen 0px right near: content 0px right menu height: 50px footer below: content 0px @ mobile ----------------------------------- side-panel width: 100% of screen/width below: content 5px content width: 100% of screen/width above: side-panel 5px footer below: side-panel 0px 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдЯреИрдмрд▓реЗрдЯ рдЯреИрдЧ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдордЧреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ рдЬрд┐рд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЧреИрд▓реЗрди рдореЗрдВ рдЕрднреА рддрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдСрдкрд░реЗрд╢рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 100% рд╕реНрдХреНрд░реАрди / рдЪреМрдбрд╝рд╛рдИ - 300px) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди, рджреВрд╕рд░реА рддрд░рдл, рдпрд╣ рдмрд╣реБрдд рд╣реА рд╢рд╛рдирджрд╛рд░ рд╣реЛрдЧрд╛ред рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдПрдХ рдкрдХреНрд╖-рдкреИрдирд▓ рдЬрд╛рдВрдЪ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рдИрдВ рдУрд░ рд╕рд╛рдордЧреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдпрд╣ рднреА рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░реАрди рдХреЗ рдмрд╛рдИрдВ рдУрд░, рдФрд░ рджрд╛рдИрдВ рдУрд░ рд╕рд╛рдЗрдб-рдкреИрдирд▓ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╕рд╛рдордЧреНрд░реА рдХреА рдЪреМрдбрд╝рд╛рдИ рдмрд╣реБрдд рдЫреЛрдЯреА рдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рддреЛ рдпрд╣ "рдкрд╛рд╕: рд╕рд╛рдордЧреНрд░реА 0px рд╕рд╣реА" рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп рдЙрд▓реНрд▓рдВрдШрди рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдЗрд╕ рджреЛрд╖ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдЕрдм рддрдХ, рдпрд╣ рд╣рдорд╛рд░реЗ рдлреНрд░реЗрдо рдХреЗ рд▓реЗрдЖрдЙрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рджрд┐рдЦрд╛рдПрдВ
рд╣рдо рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреЗрдХ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдореЗрдиреНрдпреВ 10 рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рджреВрд░реА рдкрд░ рдореБрдЦреНрдп рд╕реЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрдиреНрдпреВ рд╕рдорд╛рди рджреВрд░реА рдкрд░ рдореЗрдиреВ рдХреЗ рдиреАрдЪреЗ рд╕реНрдерд┐рдд рд╣реИред рд╣рдо рдЙрди рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдХреНрд░реАрди рдХреА рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рдПрдХ рдЪреЗрдХ рдореЗрдВ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
 @ all ------------------------------------ header, menu, footer width: 100% of screen/width header height: 100px above: menu 0px menu height: 50px above: content 0px footer height: > 100px content inside: screen 0px left @ desktop, tablet ----------------------------------- side-panel width: 300px below: menu 0px inside: screen 0px right near: content 10px right @ mobile ----------------------------------- side-panel, content width: 100% of screen/width side-panel below: content 5px 



рдЪрд░рдг 3. рдПрдЪрдЯреАрдПрдордПрд▓ / рд╕реАрдПрд╕рдПрд╕ рд▓рд┐рдЦрдирд╛


рдЕрдм рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдлрд┐рд░ рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреЗрдЪ рдХрд┐рдпрд╛, рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реЗ рдЪреЗрдХ рдирдореВрдиреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред colenframework.com/tutorial1/tutorial1.html

рдЪрд░рдг 4. рдЧреИрд▓реЗрди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ


рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд▓реЗрди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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


рдбреЗрд╕реНрдХрдЯреЙрдк, рдЯреИрдмрд▓реЗрдЯ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рддреАрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВред

 galen check homepage.spec --url "http://samples.galenframework.com/tutorial1/tutorial1.html" --size 1024x768 --include "all,desktop" --htmlreport desktop-reports galen check homepage.spec --url "http://samples.galenframework.com/tutorial1/tutorial1.html" --size 600x800 --include "all,tablet" --htmlreport tablet-reports galen check homepage.spec --url "http://samples.galenframework.com/tutorial1/tutorial1.html" --size 400x600 --include "all,mobile" --htmlreport mobile-reports 


рдирддреАрдЬрддрди, рдЧреИрд▓реЗрди рдПрдХ HTML рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╕рднреА рд╕рдВрдкреВрд░реНрдг рдЬрд╛рдВрдЪ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред



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



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

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

 @@ Parameterized | device | size | tags | | desktop | 1024x768 | all,desktop | | tablet | 600x800 | all,tablet | | mobile | 400x600 | all,mobile | Tutorial 1 Home page in ${device} device http://samples.galenframework.com/tutorial1/tutorial1.html ${size} check homepage.spec --include "${tags}" 


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

 galen test galen-tutorial.test --htmlreport reports 


рдЖрдк рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдирдореВрдиреЗ.galenframework.com/tutorial1/reports/report.html

рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдВрдЪ



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

 @ all ----------------------------------- header-logo inside: header 10px left centered vertically inside: header height: 60px header-caption inside: header 10 to 20px top left near: header-logo ~ 10 px text is: My Awesome Website! 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдирдП рдЪреЗрдХ рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ: "рдЕрдВрджрд░ рдХреА рдУрд░ рд▓рдВрдмрд╡рдд" рдФрд░ "рдкрд╛рда" рд╣реИред рдкрд╣рд▓рд╛ рд╡рд╛рд▓рд╛ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд▓реЛрдЧреЛ рдмреАрдЪ рдореЗрдВ рдФрд░ рд╣реЗрдбрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рд▓рдВрдмрд╡рдд рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╕рд┐рд░реНрдл рдЯреЗрдХреНрд╕реНрдЯ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдиреЗ рд╕рдВрднрд╡рддрдГ рдПрдХ рдирдпрд╛ рдкреНрд░рддреАрдХ "~" рднреА рджреЗрдЦрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рддреНрд░реБрдЯрд┐ рдХреЗ 2 рдкрд┐рдХреНрд╕рд▓ рдХреЗ рднреАрддрд░ рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЧреИрд▓реЗрди рдореЗрдВ рдЖрдк рд▓рдЧрднрдЧ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдЕрдм рдПрдХ рдФрд░ рднреА рдЬрдЯрд┐рд▓ рдкрд░реАрдХреНрд╖рдгред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдЯреИрдмрд▓реЗрдЯ рдкрд░ рдореЗрдиреВ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЛ рдХреЙрд▓рдо рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕реНрдХреЗрдЪ рдореЗрдВ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рд╣реИред рдореИрдВ рдХреЛрдб рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪреЗрдХ рдХреЗ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рддреЛ рд╢реАрд░реНрд╖ рдкрд░ рд╣рдордиреЗ рдореЗрдиреВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ "рдореЗрдиреВ-рдЖрдЗрдЯрдо- * css #menu li a" рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╛рдиреА рдЧреИрд▓реЗрди рдХреЛ рд╕рднреА рдореЗрдиреВ рдЖрдЗрдЯрдо рдорд┐рд▓реЗрдВрдЧреЗ; рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 4 рд╣реИрдВ, рдлрд┐рд░ рд╣рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдиреВ-рдЖрдЗрдЯрдо -1, рдореЗрдиреВ-рдЖрдЗрдЯрдо -2, рдореЗрдиреВ-рдЖрдЗрдЯрдо -3, рдореЗрдиреВ-рдЖрдЗрдЯрдо -4 рдорд┐рд▓рддреЗ рд╣реИрдВред

 @ all -------------------------------------- # ,              menu contains: menu-item-* #       50  menu-item-* height: 50px @ desktop, tablet -------------------------------------- # ,            (0px) [ 1 - 3 ] menu-item-@ near: menu-item-@{+1} 0px left aligned horizontally: menu-item-@{+1} @ mobile -------------------------------------- #            menu-item-* width: 45 to 50 % of menu/width # ,     ( ) #      -  #   ,           [ 1, 3 ] menu-item-@ near: menu-item-@{+1} 0px left aligned horizontally: menu-item-@{+1} # ,     ( ) #      -  [1, 2] menu-item-@ above: menu-item-@{+2} 0px aligned vertically: menu-item-@{+2} 


рдирд┐рд░реНрдорд╛рдг [1 - 9] рдЧреИрд▓реЗрди рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд▓реА рд╡рд╕реНрддреБ рдХреЛ рдЕрдкрдиреЗ рд╕рднреА рдЪреЗрдХ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЬрд╣рд╛рдВ рднреА @ рдЪрд┐рд╣реНрди рд╣реЛ, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЖрдк рдПрдХ рд╕реАрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо [1, 3, 6, 10] рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдордиреЗ @ {+ 1} рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдСрдкрд░реЗрд╢рди рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рд╕реВрдЪреА рдореЗрдВ рдЕрдЧрд▓реА рд╡рд╕реНрддреБ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдб рдЗрдирдлрд┐рдирд┐рдЯрдо рдкрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдкреГрд╖реНрда рдкрд░ рддрддреНрд╡реЛрдВ рдХреА рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЪреЗрдХ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдЪреБрдирдирд╛ рд╣реИ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЖрдк рдкрд░реАрдХреНрд╖рдг рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рди рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЧреИрд▓рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХреМрди рд╕реА рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рддреЛ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ galenframework.com рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рдореИрдВ рдХреБрдЫ рдФрд░ рд▓реЗрдЦ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓реЗрдирд┐рдпрдо рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдШрдЯрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ)ред

рдореИрдВ рдЧреИрд▓реЗрди рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди (рдХрдорд┐рдпреЛрдВ) рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ред

рдЧреИрд▓рди рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рдЧреИрд▓реЗрди рдЕрднреА рддрдХ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛:


рдкрд░рд┐рдпреЛрдЬрдирд╛ GitHub github.com/ishubin/galen рдкрд░ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдЗрд╕реЗ Apache рд▓рд╛рдЗрд╕реЗрдВрд╕, рд╕рдВрд╕реНрдХрд░рдг 2.0 рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред

рдЧреИрд▓рди рдХреЗрд╡рд▓ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ рдФрд░ рдЕрднреА рддрдХ рдХрд╣реАрдВ рднреА рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреА рдХрдВрдкрдиреА рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдХрд┐рд╕реА рднреА рд╕рдлрд▓рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЬрд▓реНрджрдмрд╛рдЬреА рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмреАрдЯрд╛ рдореЗрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреЛрд╖ рдпрд╣рд╛рдВ github.com/ishubin/galen/issues рдкрд░ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рд▓рд┐рдВрдХ galenframework.com/download рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

Source: https://habr.com/ru/post/In203506/


All Articles