Как се пише <em>великденски празници</em> – с малки или с главни букви?

от Павлина Върбанова
лиценз CC BY-NC-ND
Правописът на това съчетание не е изрично нормиран. Съветваме ви да го пишете с малки букви – великденски празници, тъй…

Как се пише: <em>поларена, поларено, поларени</em> или <em>поларна, поларно, поларни</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Правилно е да се пише поларена, поларено, поларени, полареният, поларения. Вятърът пронизва всичко – брезентовото яке отгоре, пухената жилетка под…

Как се пише: <em>не зависи</em> или <em>независи</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Правилно е да се пише разделно – не зависи. Частицата не се пише отделно от личните форми на глаголите (за…

Как се пише: <em>пръти</em> или <em>прътове</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Двете форми за мн.ч. на думата прът са дублетни и могат да се употребяват в книжовната реч. В посочения по-долу…

Как се пише: <em>проформа, про-форма</em> или<em> про форма</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Правилно е да се пише слято – проформа. Думата е заета от латински – pro forma. Изписването ѝ на български…

Как се пише: <em>андалусец</em> или <em>андалусиец</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Двете форми са дублетни и могат да се употребяват в книжовната реч: андалусец/андалусиец, мн.ч. андалусци/андалусийци. Препоръчителна е употребата на андалусец.…

Как се пише: <em>подобект</em> или <em>под-обект</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Правилно е да се пише слято – подобект, мн.ч. подобекти, тъй като под- е представка в думата. Подобектът включва изграждане…

Как се пише: <em>криволича</em> или <em>кривулича</em>?

от Павлина Върбанова
лиценз CC BY-NC-ND
Правилно е да се пише криволича. Между къщите криволичат тесни пътечки, къде отъпкани, къде обрасли с трева. Само подивели псета…

Как да използваме Autoptimize с HTTP/2

от Гонзо
лиценз CC BY-NC-SA

В по-новите версии на Autoptimize има възможност чрез филтър да съставите списък с разрешени за обединяване скриптове. Това позволява да обедините скриптовете, които са задължителни за всички страници в сайта и да оставите скриптовете, които се зареждат само на определени страници извън пакета. Това решава и един друг проблем с Autoptimize – когато различни скриптове се зареждат на различни страници, пакетите, които се генерират са различни. Това води до безконтролно увеличаване на кеша на Autoptimize и до забавяне на зареждането за потребителите, защото вместо да заредят кеширан файл, всеки път теглят различен.

И така, да започнем с обединяването на задължителните скриптове:

/**
 * Whitelist scripts to autoptimize
 *
 * @return: whitelist
 */
function gonzo_js_whitelist() {
  $whitelist = array(
    'jquery.js',
    'jquery-migrate.min.js',
    'wp-embed.min.js'
  );
  return join( ',', $whitelist );
}
add_filter( 'autoptimize_filter_js_whitelist', 'gonzo_js_whitelist' );

След като вече имаме пакет с най-важните скриптове, нужни за сайта, трябва да се погрижим за две неща:

  • Да зареждаме обединените скриптове преди останалите, защото пакетът съдържа jQuery, а някои от останалите скриптове най-вероятно разчитат на него.
  • Да зареждаме скриптовете асинхронно, за да не блокират изобразяването на страницата.

Генерираният от Autoptimize скрипт елемент може да поставим веднага след елемента title така:

/**
 * Where in the HTML optimized JS is injected.
 *
 * @param array $replacetag, containing the html-tag and the method (inject "before", "after" or "replace")
 * @return array with updated values
 */
function gonzo_override_js_replacetag( $replacetag ) {
    return array( '</title>', "after" );
}
add_filter( 'autoptimize_filter_js_replacetag', 'gonzo_override_js_replacetag', 10, 1 );

За да зареждаме всички скриптове асинхронно, и в същото време последователно, ще добавим атрибут defer към тях. Така скриптовете не само се зареждат асинхронно, но и не блокират изобразяването на страницата когато се изтеглят. Освен това атрибута defer кара скриптовете да се изпълнят по реда в документа.

/*
 * Defer all javascripts
 */
function gonzo_defer_js($tag, $handle) {
  if( ! is_admin() ){
    $tag = str_replace( ' src', ' defer="defer" src', $tag );
  }
  return $tag;
}
add_filter( 'script_loader_tag', 'gonzo_defer_js', 10, 2 );

/**
 * Change flag added to Javascript.
 *
 * @param $defer: default value, "" when forced in head, "defer " when not forced in head
 * @return: new value
 */
function gonzo_override_defer( $defer ) {
  return "defer ";
}
add_filter( 'autoptimize_filter_js_defer', 'gonzo_override_defer', 10, 1 );

И на края, за да гарантираме, че скриптовете ще се кешират правилно от браузърите и прокситата, ще премахнем GET променливата с версията, която WordPress добавя към адресите на всички ресурси:

/*
 * Remove query string from static assets
 */
function gonzo_remove_script_version( $src ){
  return remove_query_arg( 'ver', $src );
}
add_filter( 'script_loader_src', 'gonzo_remove_script_version' );

Естествено, подобен подход можем да приложим и към CSS файловете, които сайта зарежда. На края ще имаме бърз сайт за удоволствие на потребителите и печалба на клиента.

2017-та

от Ясен Праматаров
лиценз CC BY

Една стара година, за която не ми се пише дълго. Като цяло гадна година, с няколко много готини проблясъка, но тях ние сами си ги направихме, на мускули и с лишения, даже някак напук на всичко. Имаше готини неща, като пренасяне и рождени дни, за тях писах. Но иначе гадна година.

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

Освен къщата и всички страхотни часове тук с децата ни, успяхме да обиколим остров Тасос. Приятно ми е, шкипер Ясен. Е, не посмях да съм сам и бяхме с баш шкипер, той се оказа на нашите години и на нашия акъл, та добре стана. Даже сме следвали по едно и също време, даже сме били заедно на спецкурса на Цочо, а и съм сигурен, че имаме общи компании от едно време. Е, не е от философския, но какво да се прави, никой не е съвършен. :)

В началото на годината баща ми влезе в болница за тежка сърдечна операция, от която на практика още не се е възстановил, а и прогнозите са неясни. Годината всъщност беше най-тежка не за мен, а за майка ми. Сигурно е била по-лека за брат ми. Не ми се пише повече.

Честита нова година, добре си ни дошла, добре си ни заварила! Да си опичаш акъла, надежди ти възлагаме!