Ckeditor greek characters і чому програміст має бути лінивим :-)

Люба х...ня

Під час обслуговування сайтів, завдання бувають різні. Ну раз клієнт платить значить треба. Сьогодні ми розглянемо один приклад буденного завдання програміста.

Отже, завдання розширити стандартний набір спецсимволів ckeditora грецькими сиволами. Ресурси взято з http://unicode-table.com/ru/sets/greek-symbols/. Нижче на фото, те що получилось.


ckeditor таблиця спец символів

 

Від завдання до практики. Спершу потрібно поправити конфіг редактора , а саме налаштування плагіну specialchar. Я вирішив прибрати зайві символи, які можна набрати з клавіатури і залишиити лише необхідні.

Відкриваєм конфіг ckeditor "ckeditor/config.js" і правим:

config.specialChars = [
        '"', '&','<', '=', '>','`', '~',
        "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈"
     ];

Далі потрібно дописати в масив нові символи. Вручну вносити ліньки. Проаналізувавши сторінку фаєрбагом, бачу що всі портібні мені теги обрамлені тегом з класом html-code.

ckeditor таблиця спец символів

Це добре. Значить можна написати парсер. Відкриваєм консоль і ваяєм:

$(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);
});

І на виході отримуєм:

ckeditor вихідна таблиця спец символів

Залишається лише скопіювати і додати в конфіг нові символи.

 config.specialChars = ['"', '&','<', '=', '>','`', '~',
        "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈",
"Α", "Β", "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ", "Λ", "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ", "Φ", "Χ", "Ψ", "Ω", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "ς", "σ", "τ", "υ", "φ", "χ", "ψ", "ω"];

Як казав Стів Джобс,  «Працювати треба не 12 годин, а головою». Сподіваюсь вам знадобиться.

Розкажіть нам про свій проект!