MarkitUp! - рд▓рд╛рдЗрдЯрд╡реЗрдЯ jQuery рд╕рдВрдкрд╛рджрдХ

рдкрд░рд┐рдЪрдп


рд╕рднреА рдХреЛ рдмрдзрд╛рдИ!

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдВрдкрд╛рджрдХ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рдХрд▓рд╛, рдореБрдЭреЗ рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓реЗрдВ рдЖрдИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдкрд╛рдардХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдХреИрд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рд╛ред

рдХреИрд╕рд╛ рдерд╛


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

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

рдФрд░ рдпрд╣рд╛рдБ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ:

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╢реЛрдзрди рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХреЛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рд╕рдВрдкрд╛рджрдХ рдХреА src рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдХрдореНрдкреНрд░реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП YUI рдХрдВрдкреНрд░реЗрд╕рд░ , JSMin рдпрд╛ Google рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ ред

рдореБрдЭреЗ рддреБрд░рдВрдд рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред рдпрджрд┐ рдЖрдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рд╕рдВрдкрд╛рджрдХ рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред

рдирд┐рд░реНрдгрдп



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

рдмрд╣реБрдд рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ markItUp рдирд╛рдордХ рдПрдХ рд╕рдВрдкрд╛рджрдХ рдорд┐рд▓рд╛ ! ред
рдирдпрд╛ рд╕рдВрдкрд╛рджрдХ рдЪреБрдирддреЗ рд╕рдордп рдкрд╣рд▓реА рдмрд╛рдд рдореИрдВрдиреЗ рджреЗрдЦреА:
  1. рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЖрд╕рд╛рдиреА рдФрд░ рд▓рдЪреАрд▓рд╛рдкрдиред
  2. рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде рдиреНрдпреВрдирддрдо рд╕рдорд╕реНрдпрд╛рдПрдВред

MarkItUp рдХреЗ рд╕рд╛рде рдХрд░реАрдм рд╕реЗ рдЬрд╛рдирдирд╛! , рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рд╕рдВрдкрд╛рджрдХ рдЕрдкрдиреЗ рд╣рд▓реНрдХреЗрдкрди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд╛рдлреА рд▓рдЪреАрд▓рд╛ рд╣реИред рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдЙрдкрд╣рд╛рд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд░реБрдЪрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
  1. рддреНрд╡рд░рд┐рдд рдФрд░ рдЖрд╕рд╛рди рдПрдХреАрдХрд░рдг;
  2. рд╣реЙрдЯрдХреА рд╕рдорд░реНрдерди;
  3. рдЕрдЬрд╛рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди;
  4. рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдЦрд╛рд▓ред

рдпрд╣ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рдВрдкрд╛рджрдХ рдЖрдкрдХреЛ рдЯреИрдЧ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
рдПрдЪрдЯреАрдПрдордПрд▓, рдмреАрдмреАрдХреЛрдб, рд╡рд┐рдХреА рд╕рд┐рдВрдЯреЗрдХреНрд╕ред

рд╕реНрдерд╛рдкрдирд╛


рд╕рдВрдкрд╛рджрдХ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЦреБрдж рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ jQueryред

<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="markitup/jquery.markitup.js"></script> 


рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

 <script type="text/javascript" src="markitup/sets/default/set.js"></script> 


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

 <script type="text/javascript" > mySettings = { ... } //   </script> 


рдФрд░ рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

 function mySettings() { return { previewParserPath: '', onShiftEnter: {keepDefault:false, replaceWith:'<br />\n'}, onTab: {keepDefault:false, replaceWith:' '}, markupSet: [ {name:'H4', className:'editor-h4', openWith:'<h4>', closeWith:'</h4>' }, {name:'H5', className:'editor-h5', openWith:'<h5>', closeWith:'</h5>' }, {name:'H6', className:'editor-h6', openWith:'<h6>', closeWith:'</h6>' }, {separator:'---------------' }, {name: '', className:'editor-bold', key:'B', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' }, {name: '', className:'editor-italic', key:'I', openWith:'(!(<em>|!|<i>)!)', closeWith:'(!(</em>|!|</i>)!)' }, {name: '', className:'editor-stroke', key:'S', openWith:'<s>', closeWith:'</s>' }, {name: '', className:'editor-underline', key:'U', openWith:'<u>', closeWith:'</u>' }, {name: '', className:'editor-quote', key:'Q', replaceWith: function(m) { if (m.selectionOuter) return '<blockquote>'+m.selectionOuter+'</blockquote>'; else if (m.selection) return '<blockquote>'+m.selection+'</blockquote>'; else return '<blockquote></blockquote>' } }, {name: '', className:'editor-code', openWith:'<code>', closeWith:'</code>' }, {separator:'---------------' }, {name: '', className:'editor-ul', openWith:' <li>', closeWith:'</li>', multiline: true, openBlockWith:'<ul>\n', closeBlockWith:'\n</ul>' }, {name: '', className:'editor-ol', openWith:' <li>', closeWith:'</li>', multiline: true, openBlockWith:'<ol>\n', closeBlockWith:'\n</ol>' }, {separator:'---------------' }, {name: ' ', className:'editor-image', replaceWith:'<img src="[!['+'  :'+':!:http://]!]" />' }, {name: ' ', className:'editor-video', replaceWith:'<video>[!['+'  :'+':!:http://]!]</video>' }, {name: ' ', className:'editor-link', key:'L', openWith:'<a href="[!['+' url :'+':!:http://]!]"(!( title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'  ...' }, {separator:'---------------' }, {name: '  ', className:'editor-clean', replaceWith: function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } } ] } } 


рдЖрдкрдХреЛ CSS рд╕реНрдЯрд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

 <link rel="stylesheet" type="text/css" href="markitup/skins/markitup/style.css" /> <link rel="stylesheet" type="text/css" href="markitup/sets/default/style.css" /> 


рдЦреИрд░, рдЖрдЦрд┐рд░рдХрд╛рд░ markItUp рдХреЛ textarea рд╕реЗ рдЬреЛрдбрд╝рдирд╛ ред

 <script type="text/javascript" > jQuery(document).ready(function() { jQuery("#markItUp").markItUp(mySettings()); }); </script> ... <textarea id="markItUp"></textarea> 


рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП:

рдЖрдЬ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдореИрдВ рдЖрдк рд╕рднреА рдХреА рд╕рдлрд▓рддрд╛ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ!

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


All Articles