Categories
wordpress

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

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

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

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

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

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

Бъгове

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

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

Това е.

12 replies on “български кавички за WordPress”

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Български „кавички“ за WordPress

[img align=left]http://www.glam.ac.uk/i/quotes/quote70bottom1.gif[/img]Трябва по-често да обикалям родните блогове, ако все по-често се появяват [url=http://nikolay.bg/200…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.