български кавички за WordPress

В България почти никой не е свикнал да използва български кавички. Даже аз често като пиша на хартия не се сещам, че отварящите са долу и са завъртени наляво. И че затварящите са горе и са завъртени надясно. В интернет май съвсем никой не ги слага и е мъничко събитие ако някой се е сетил.

Скоро мярнах из скорошните връзки на Пейо едно TODO: български кавички, по повод разширение за WordPress, което се справя с финландските такива. Порових се доста в HTML Character Entities страницата, а после намерих всичко синтезирано на едно място. Така се роди едно друго разширение: Български кавички. Вече го ползвам както се вижда от „ей този текст заграден от кавички“.

Какво е и какво прави „Български кавички“?
Разширение за WordPress, което преобразува стандартните кавички в българските им еквиваленти: “ и „.

Изисквания
Трябва ви само WordPress , версия 1.5 или по-висока.

Инсталация
Сваляте си bgquotes.php и го поставяте във вашата wp-content/plugins директория. След това от страница „Разширения“ в администрацията само трябва да активирате разширението.

Бъгове

  1. В доста популярният шрифт verdana българските кавички, ако изобщо има такива не се намират там където трябва и следователно не се показват коректно.
  2. Липсва възможност даден текст все пак да си бъде ограден в нормални кавички. Например такъв на английски език.

Благодаря на Пейо (за идеята), на Кимо Суоминен (за идеята и за немалка част от реализацията й) и на Боби Димитров (бг кавички + html).
Значи това било свободната култура: аз да си седя вкъщи, а другите да вършат работата вместо мен ;)
(бележка за хората без чувство за хумор – горното изречение е шега)

Това е.

12 коментара по “български кавички за WordPress”:

  1. Пейо

    То аз го направих от много време, но не съм доволен от резултатите. Може да видите как работи на cilaw.org. А иначе според мен този код трябва да работи по-добре:


    $curl = str_replace('“', '„', $curl);
    $curl = str_replace('“', '„', $curl);
    $curl = str_replace('”', '“', $curl);
    $curl = str_replace('”', '“', $curl);
    $curl = str_replace('–', ' — ', $curl);

  2. Пейо

    Чудно защо браузъра визуализира правилно уеб символите :)))
    Ето какво ползвам аз:
    http://cilaw.org/wp-content/plugins/bgquotes.php.txt

  3. Пейо

    Едни простотии съм писал аз в тоя плъгин. Можеш ли да адаптираш правилата за тия кавички и за уникод:
    http://peio.org/typograf.txt

  4. Лина

    Има само един проблем… Когато ограждам текст на английски, българските кавички не седят добре.

  5. николай

    @Пейо: това да сложиш и нашите си кавички, които са в ASCII, а не само unicode-ските е добра идея. Особено ако често paste-ваш код например от някой редактор там – може да се случи да не е в utf-8 или друг unicode. Все пак е по-добра идея да се ползват unicode-ските еквиваленти. Повече шрифтове ще ги имат :)
    Номерът с тирето може да го постигнеш като напишеш тиренцетиренце в текста. Изобщо WP си прави разни подобни преобразувания, които могат да се видят във функцията wptexturize.

    За типографа: в wptexturize ги има някои от символите (&#132 → „ &#147 &#8594 “ &#133 &#8594 … &#151 &#8594 —). Лошото е, че не всички символи ги има във всички шрифтове… Просто човек трябва да си избере няколко хубави шрифта и да си кара с тях, докато не започнат всички да спазват стандартите.

    @Лина: хм, адски си права. Знаех си, че нещо голямо му липсва на това мърлявото парче код :)

    Май като гледам изписаните по-горе неща ще си трябва цял (wp)bgtexturize в един скорошен момент…

    Айде толкова от мен, че ще си изпусна влака :)

  6. николай

    А и още нещо, което няма как да пропусна. Мразя работата с регулярни изрази в php. Искам си perl…

  7. Петър Пенчев

    Ааааа един малко тъпичък въпрос може ли? :)
    Ако го правите това за HTML – а дори и да го правите за други формати, все пак точно в този вид го правите в HTML, пък след това разни други неща може и да го конвертират – защо използвате директно Unicode символи? Няма ли да е по-добра идея да ползвате HTML entities – нещо като „това”? (ако случайно WordPress вземе, че ги интерпретира, долната лява кавичка е амперсанд-bdquo, а дясната (тя винаги си е горна) – амперсанд-rdquo) По този начин бит рябвало да избегнете проблема със шрифтовете – всеки браузър и графична среда би трябвало заедно да си изберат правилните символи от всеки шрифт… или не е точно така?

  8. николай

    Скоро, докато из един текст с произход MS Word слагах на поразия „ и ” и аз се замислих по този въпрос. Според мен лично (така и не проверих дали съм прав… &*%$$^&) браузърите в сегашния им вид гледат на нашите творения малко или много като на XML документи. Което означава, че всяко такова entity трябва да се е появило отнякъде и просто да бъде заменено с нещо друго. „ и ” са дефинирани ето в една тази приятна част на DTD-то на XHTML, която пък се включва директно от главното DTD. Е в такъв случай зад entity-то „ би трябвало да стои само и единствено unicode знакът с номер десетичен 8222 и нищо друго. Не ми се вярва браузърите да си позволяват да не зачитат DTD-то и изобщо цялата тая, май дошла от SGML, система с entity-тата…

    Поначало е по-удобно в HTML да се пишат entity-та вместо кодове. Специално за (X)HTML би трябвало да бъде също така доста безопасно, тъй като не вярвам DTD-то да бъде пропуснато някъде по трасето – тези неща ги има от HTML4, а не ме съмнява да има все още браузъри работещи с dtd на 3.x по подразбиране.

    И все пак някои хора помнят по-лесно числа отколкото низове като bdquo :)

  9. Петър Пенчев

    Някои хора – да, но други хора, които след това четат това, което тези някои хора са написали, може и да се зачудят :) То това е част от идеята на entities – да можеш да си пишеш читаеми от човек докименти :) Това по принцип е едно от мнооооого дребните неща, които ми се иска да бяха другояче в WordPress – при писане на коментари то конвертира многоточията в „…” (#8320), което, ако четеш raw RSS-а, не е съвсем очевидно – макар че много бързо се свиква :P

  10. николай

    Срещал съм разни RSS агрегатори (и изобщо XML обработвачи), които не следват съвсем DTD-то на (X)HTML и си правят свои собствени магии. Като следствие от това понякога има проблеми с entity-тата. С числените стойности рядко има проблем.

    Не вярвам това да е причината, поради която да се ползват числени стойности де. Нито сляпо защитавам разработчиците на wp. Просто си размишлявам…

    И все пак си прав! Трябва да се ползват entity-та, където може.

  11. Отговор с публикация:  RaynerApe.Com

  12. Отговор с публикация:  По български — Аз, света и сметачите

Твоят коментар