Ckeditor greek characters і чому програміст має бути лінивим :-)
- 24 Лютого 2014
- Volodymyr Hodiak
- Розробка
- 3551
Під час обслуговування сайтів, завдання бувають різні. Ну раз клієнт платить значить треба. Сьогодні ми розглянемо один приклад буденного завдання програміста.
Отже, завдання розширити стандартний набір спецсимволів ckeditora грецькими сиволами. Ресурси взято з http://unicode-table.com/ru/sets/greek-symbols/. Нижче на фото, те що получилось.
Від завдання до практики. Спершу потрібно поправити конфіг редактора , а саме налаштування плагіну specialchar. Я вирішив прибрати зайві символи, які можна набрати з клавіатури і залишиити лише необхідні.
Відкриваєм конфіг ckeditor "ckeditor/config.js" і правим:
config.specialChars = [ '"', '&','<', '=', '>','`', '~', "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈" ];
Далі потрібно дописати в масив нові символи. Вручну вносити ліньки. Проаналізувавши сторінку фаєрбагом, бачу що всі портібні мені теги обрамлені тегом з класом html-code.
Це добре. Значить можна написати парсер. Відкриваєм консоль і ваяєм:
$(document).ready(function(){ alert(1); });
Отримали 1. Гут, значить магії jQuery достатньо. Тоді пару рядочків коду:
$(document).ready(function(){ var a = []; $('.html-code').each(function(){ var s = $(this).html().replace('&','&'); a.push(s); }); console.log(a); });
І на виході отримуєм:
Залишається лише скопіювати і додати в конфіг нові символи.
config.specialChars = ['"', '&','<', '=', '>','`', '~', "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈", "Α", "Β", "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ", "Λ", "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ", "Φ", "Χ", "Ψ", "Ω", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "ς", "σ", "τ", "υ", "φ", "χ", "ψ", "ω"];
Як казав Стів Джобс, — «Працювати треба не 12 годин, а головою». Сподіваюсь вам знадобиться.