TLDR: Правда, було б зручно, якби просто створивши теку в ~/public_html/
, ми могли відразу і автоматично бачити її за адресою http://назва-теки.self/
як повноцінний віртуальний сервер апача? Ось один зі способів це зробити (я користуюся Fedora, але, можливо, на инших дистрибутивах процедура буде подібною).
Продовжити читання «Веб-сайти на localhost — автоматичне налаштування virtual hosts і dns (fedora)»
git та українські назви файлів
Якщо git status
показує українські назви файлів як «"\320\277\321..."»
, спробуйте запустити комадну git config --global core.quotepath off
. (Запозичено з http://stackoverflow.com/a/5855213/1142039).
WordPress: грати всі долучення
Нещодавно мені закортіло написати короткий код (shortcode) для вставляння програвача з переліком всіх долучених до публікації аудіофрагментів.
Тобто, я хочу до даної публікації доліпити кілька mp3 файлів, підписати їх і у публікації використати якийсь короткий код… Словом, нижче.
У файлі functions.php
дописуємо таке:
function get_player( $post ) { $urls = array(); $titles = array(); $artists = array(); $attachments = get_children( array('post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'audio/mpeg', 'order_by' => 'menu_order', 'order' => 'ASC')); if( $attachments ) { foreach ( $attachments as $att_id => $att ) { // allow non-latin chars in file names: $url = wp_get_attachment_url($att_id); $url = preg_replace('#(.*/)([^/]*)$#e', "'\\1'.rawurlencode('\\2')", $url); $url = rawurlencode( $url ); $urls[] = $url; $title = rawurlencode( str_replace(",", ":", $att->post_title) ); $titles[] = $title; } $player_id = 'audioplayer-' . $post->ID; $player = '<p class="audioplayer_container"><div class="np-audioplayer" id="'. $player_id .'">(No Adobe Flash Player?..)</div></p>' . "\n" . '<script type="text/javascript">' . "\n" . ' AudioPlayer.embed("' . $player_id . "\", {\n" . ' soundFile: "' . implode(",", $urls) . "\" // ,\n" . ' titles: "' . implode(",", $titles) . "\"\n" . " });\n" . "</script>\n"; return $player; } return false; } function playall( $atts ) { global $post; return get_player($post); } add_shortcode( "playall", "playall" ); |
Після цього ми можемо у тілі повідомлення написати [playall]
. Ось тут — невеличка демонстрація.
Чому двічі rawurlencode
? Не знаю 🙂
До речі, у налаштуваннях вордпресівського Audio Player’а треба вимкнути «криптування» посилань.
bc як конвертор основи
Утиліту bc (an arbitrary precision calculator language) можна досить зручно використовувати для конвертування чисел між основами, в тому числі у скриптах:
$ echo "ibase=16; obase=2; 5F" | bc 1011111 $ echo "ibase=16; obase=8; 32" | bc 62 $ echo "ibase=10; obase=4; 12" | bc 30 |
Може, комусь і згодиться.