Ace: рдПрд╕реАрдИ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдпрд╛ рдпреВрдирд┐рдХреНрд╕ рдиреНрдпреВрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЬреБрд▓ре░ 2013  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ajaxorg/ace

рдирдорд╕реНрддреЗ!

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

рдпрд╣ рдЧрд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд▓рдЧрднрдЧ рдмреЗрдХрд╛рд░ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ \r рдЪрд░рд┐рддреНрд░ (рдЬреИрд╕реЗ рдСрдЧрд┐рдпрд╕) рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд▓рд┐рдП gitlabhq/gitlabhq#3982 рджреЗрдЦреЗрдВред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрд╕реАрдИ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ (рдХреНрд░реЛрдо рдореЗрдВ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЬреИрд╕реЗ рдЪреАрдЬреЗрдВ:

  • editor.session.setNewlineMode('unix')
  • editor.session.getDocument().setNewlineMode('unix')

... рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА \r\n рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╡рд╛рдкрд╕ GitLab рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдПрд╕реАрдИ рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдпрд╛ рдЧрд┐рдЯрд▓реИрдм рдПрд╕реАрдИ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рд╕рд┐рдпрд╛рдУ!

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдареАрдХ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рди рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╡рдХреВрдлреА рдорд╣рд╕реВрд╕ рд╣реЛ рд░рд╣реА рд╣реИ:

рдЬрдм рдЖрдк рдПрдХ рдлреЙрд░реНрдо POST рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ MIME рдкреНрд░рдХрд╛рд░ application/x-www-form-urlencoded рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред W3 рдкреНрд░рдкрддреНрд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдирдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ \r\n рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ рдпрд╣реАрдВ рд╕реЗ \r\n рдЖ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред

рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рдкрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде "рд░рд╛рдЗрдЯ рдерд┐рдВрдЧ" рдХрд░реЗ, рдЬреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
\r\n рдХреЛ \n рд╕реЗ рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдорджрджрдЧрд╛рд░ рд▓рдЧреЗрдЧреАред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдирдорд╕реНрддреЗ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрдХреНрдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

var session = editor.session
session.setNewLineMode("unix"); // same as session.setOption("newLineMode", "unix");
JSON.stringify(ace.session.doc.getNewLineCharacter()); // == '"\n"'
session.doc.getValue().indexOf("\r") == -1

рдпрд╣ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдкреГрд╖реНрда рдкрд░ рдПрдХ рдпреВрдЖрд░рдПрд▓ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдХрд╛рд╢, рд╣рдорд╛рд░рд╛ рдЧрд┐рдЯрд▓реИрдм рдирд┐рдЬреА рд╣реЛрддрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдФрд░ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд┐рдирд╛ \r рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИ рддреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИред

рдЬрдм рдореИрдВ рдШрд░ рдкрд╣реБрдВрдЪреВрдВрдЧрд╛ рддреЛ рдореИрдВ рдЖрдкрдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЗрдЦреВрдВрдЧрд╛ред

рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рдкрд░рд┐рдгрд╛рдо:

session = editor.session
// => undefined
session.setNewLineMode("unix")
// => undefined
JSON.stringify(session.doc.getNewLineCharacter())
// => ""\n""
session.doc.getValue().indexOf("\r") == -1
// => true

рдФрд░ рдЬрдм рдореИрдВ рдЗрд╕реЗ рд╕рд╣реЗрдЬрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рд░реЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдИрдУрдПрд▓ рдХреЗ рд▓рд┐рдП \r\n рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдкреНрд░рд╣рд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЙрд╕ рдХреЛрдб рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ
рдпрд╛ рддреЛ рдпрд╣ \n рдХреЛ \r\n рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рдлрд╝реАрд▓реНрдб рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ:

https://github.com/gitlabhq/gitlabhq/blob/5-4-stable/app/views/edit_tree/show.html.haml#L42 -L45

рдпрд╣ рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреНрдпреЛрдВ рдХрд░реЗрдЧрд╛?

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдПрдХ PHP рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЧрд┐рд╕реНрдЯ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

https://gist.github.com/docwhat/5992954#file -ace-windows-newlines-php

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд╕рд┐рдпрд╛рдУ!

рдирд┐рдпрдорд┐рдд рдЯреЗрдХреНрд╕реНрдЯрд░реЗрд░рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрдХреНрдХрд╛ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдРрд╕реЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ '\r\n' рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП git рдореЗрдВ autocrlf рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдпрд╣рд╛рдВ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдВрдЪрдирд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬрд╝ рд▓рд╛рдЗрди рдПрдВрдбрд┐рдВрдЧреНрд╕ рд╣реИрдВ, рдЕрдЧрд░ рдЗрд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдРрд╕реЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ '\r\n' рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП git рдореЗрдВ autocrlf рд╡рд┐рдХрд▓реНрдк рд╣реИред

рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ -- рд╕рд░реНрд╡рд░ CentOS6 рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ OS X рдкрд░ Chrome рд╣реИред

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

рдирд╣реАрдВред рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ рдХреНрд░реЛрдо рдХреЗ рд╕рд╛рде рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ рдореЗрд░рд╛ рдкрд░реАрдХреНрд╖рдг рдкреГрд╖реНрда рдЪрд▓рд╛рдирд╛ рдЕрднреА рднреА рд╕рдмрдорд┐рдЯ рдкрд░ \r рд╡рд░реНрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рдРрд╕ рдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕реЗ textarea рдмрд┐рдирд╛ \r рдЬреЛрдбрд╝реЗ рдмрдирд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдХреБрдЫ рдЕрдЬреАрдм рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рд╣рдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ Ace рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ FAQ рдЖрдЗрдЯрдо рдмрдирд╛ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рди рд╣реЛред

рдареАрдХ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рди рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╡рдХреВрдлреА рдорд╣рд╕реВрд╕ рд╣реЛ рд░рд╣реА рд╣реИ:

рдЬрдм рдЖрдк рдПрдХ рдлреЙрд░реНрдо POST рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ MIME рдкреНрд░рдХрд╛рд░ application/x-www-form-urlencoded рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред W3 рдкреНрд░рдкрддреНрд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдирдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ \r\n рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ рдпрд╣реАрдВ рд╕реЗ \r\n рдЖ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред

рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рдкрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде "рд░рд╛рдЗрдЯ рдерд┐рдВрдЧ" рдХрд░реЗ, рдЬреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
\r\n рдХреЛ \n рд╕реЗ рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдорджрджрдЧрд╛рд░ рд▓рдЧреЗрдЧреАред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

gsf picture gsf  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BoasE picture BoasE  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dimroc picture dimroc  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bostondevin picture bostondevin  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

featurecat picture featurecat  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ