{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Заметочки Когута: заметки с тегом совы",
    "_rss_description": "Всё, что связано с совами",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "http:\/\/kkos.ru\/blog\/tags\/owls\/",
    "feed_url": "http:\/\/kkos.ru\/blog\/tags\/owls\/json\/",
    "icon": "http:\/\/kkos.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1773501260",
    "authors": [
        {
            "name": "Константин Когут",
            "url": "http:\/\/kkos.ru\/blog\/",
            "avatar": "http:\/\/kkos.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1773501260"
        }
    ],
    "items": [
        {
            "id": "72",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-1000\/",
            "title": "1000 сов в «Совотеке»",
            "content_html": "<div id=\"vk_post_8013102_2472\"><\/div><script type=\"text\/javascript\">  (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = \"\/\/vk.com\/js\/api\/openapi.js?116\"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'vk_openapi_js'));  (function() {    if (!window.VK || !VK.Widgets || !VK.Widgets.Post || !VK.Widgets.Post(\"vk_post_8013102_2472\", 8013102, 2472, 'RWEym6f25ubL-cvV0SgHitEQjg', {width: 600})) setTimeout(arguments.callee, 50);  }());<\/script>\n<p>На момент написания этой заметки в «<a href=\"http:\/\/sovoteka.ru\">Совотеке<\/a>» уже 1010 сов.<\/p>\n<p>Любой желающий по-прежнему может выбрать сову из всех, указать нужную или взять случайную. А еще можно поиграть с совами не отходя от кассы.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/sovoteka-ipad.png\" width=\"1600\" height=\"1067\" alt=\"\" \/>\n<\/div>\n<p>Пишите в комментариях свои предложения по совершенствованию «Совотеки». Будем развиваться и расти.<\/p>\n<p><i>Все заметки о совах в блоге ищите по <a href=\"http:\/\/kkos.ru\/blog\/tags\/owls\/\">тегу<\/a>.<\/i><\/p>\n",
            "summary": "На момент написания этой заметки в «Совотеке» уже 1010 сов",
            "date_published": "2015-01-27T01:57:00+05:00",
            "date_modified": "2015-02-09T21:10:13+05:00",
            "tags": [
                "сайты",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-ipad.png",
            "_date_published_rfc2822": "Tue, 27 Jan 2015 01:57:00 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "72",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-ipad.png"
                ]
            }
        },
        {
            "id": "71",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-line\/",
            "title": "Новый вопрос по поводу Совотеки",
            "content_html": "<p>Не так давно я <a href=\"http:\/\/kkos.ru\/blog\/all\/sovoteka-counter\/\">спрашивал совета<\/a> по поводу кода для генерации 100 случайных сов из базы картинок <a href=\"http:\/\/sovoteka.ru\">Совотеки<\/a>. Мне здорово помогли, всё заработало так, как надо. Теперь у меня возник еще один вопрос. На этот раз я не знаю, можно ли его решить при помощи одного лишь только CSS-кода или нужен PHP \/ JavaScript. Интересно любое возможное решение.<\/p>\n<p>Сейчас на сайте выводится 100 случайных сов. Но при этом не учитывается размер окна браузера пользователя, и строка некрасиво заканчивается так, как показано на картинке:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/sovoteka-wrong.png\" width=\"990\" height=\"332\" alt=\"\" \/>\n<\/div>\n<p>Помогите, пожалуйста, сделать так, чтобы при загрузке страницы последняя незавершенная строчка с картинками скрывалась и не портила внешний вид. Если же такой строчки нет, то не делать ничего. Знаю, что такой же механизм работает, например, на главной странице сайта студии Артемия Лебедева. Как это можно сделать?<\/p>\n<h2>Обновление<\/h2>\n<p>Дмитрий Шишкин помог решить описанную проблему. Точнее, не помог, а решил ее за меня целиком и полностью. Спасибо!<\/p>\n",
            "summary": "Не так давно я спрашивал совета по поводу кода для генерации 100 случайных сов из базы картинок Совотеки",
            "date_published": "2014-11-26T19:03:11+05:00",
            "date_modified": "2015-01-12T06:30:40+05:00",
            "tags": [
                "вопрос",
                "сайты",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-wrong.png",
            "_date_published_rfc2822": "Wed, 26 Nov 2014 19:03:11 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "71",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-wrong.png"
                ]
            }
        },
        {
            "id": "65",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-counter\/",
            "title": "Счетчик просмотров в Совотеке",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/sovoteka-chislo.png\" width=\"670\" height=\"241\" alt=\"\" \/>\n<\/div>\n<p>В <a href=\"http:\/\/sovoteka.ru\">Совотеке<\/a> используется такой вот скрипт для склонения счетчика сов вверху страницы. Можно ли его как-то упростить? Напишите, пожалуйста.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?php\nfunction pluralForm($chislo, $form1, $form2, $form5)\n{\n    $chislo = abs($chislo) % 100;\n    $chislo1 = $chislo % 10;\n    if ($chislo &gt; 10 &amp;&amp; $chislo &lt; 20) return $form5;\n    if ($chislo1 &gt; 1 &amp;&amp; $chislo1 &lt; 5) return $form2;\n    if ($chislo1 == 1) return $form1;\n    return $form5;\n}\necho &#039;У&amp;nbsp;нас уже &#039;.$chislo.&#039; &lt;a href=&quot;\/about&quot;&gt;&#039;.pluralForm($chislo, &#039;сова&#039;, &#039;совы&#039;, &#039;сов&#039;).&#039;&lt;\/a&gt;.\nМожно выбрать &lt;a href=&quot;\/&quot; title=&quot;Все совы&quot;&gt;из&amp;nbsp;всех&lt;\/a&gt;, указать нужную\nили&amp;nbsp;взять &lt;a href=&quot;\/random&quot; title=&quot;Случайная сова&quot;&gt;случайную&lt;\/a&gt;.&lt;br \/&gt;\nА еще можно &lt;a href=&quot;\/memory&quot;&gt;поиграть&lt;\/a&gt; с совами или посмотреть &lt;a href=&quot;\/video&quot;&gt;видео&lt;\/a&gt; с их участием.&#039;;\n?&gt;<\/code><\/pre><h2>Обновление<\/h2>\n<p>Z6a в комментариях подсказал правильную функцию. Спасибо. Теперь всё работает, кажется, даже быстрее. Привожу новый код здесь.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?php\necho plural_form(42, array(&#039;арбуз&#039;, &#039;арбуза&#039;, &#039;арбузов&#039;));\nfunction plural_form($n, $forms) {\nreturn $n%10==1&amp;&amp;$n%100!=11?$forms[0]:($n%10&gt;=2&amp;&amp;$n%10&lt;=4&amp;&amp;($n%100&lt;10||$n%100&gt;=20)?$forms[1]:$forms[2]);\n}\n?&gt;<\/code><\/pre>",
            "summary": "В Совотеке используется такой вот скрипт для склонения счетчика сов вверху страницы. Можно ли его как-то упростить?",
            "date_published": "2014-09-18T12:57:43+05:00",
            "date_modified": "2014-09-19T19:40:07+05:00",
            "tags": [
                "вопрос",
                "программирование",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-chislo.png",
            "_date_published_rfc2822": "Thu, 18 Sep 2014 12:57:43 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "65",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-chislo.png"
                ]
            }
        },
        {
            "id": "44",
            "url": "http:\/\/kkos.ru\/blog\/all\/cat-and-owl\/",
            "title": "Кот и Сова",
            "content_html": "<p>Первая Книга Бессмыслиц (1846) художника Э. Лира включала в себя стихотворение «Кот и Сова».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-1.jpg\" width=\"620\" height=\"387\" alt=\"\" \/>\n<\/div>\n<blockquote>\n<p>Кот и Сова,<br \/>\nМолодая вдова,<br \/>\nОтправились по морю в шлюпке,<br \/>\nВзяв меду в дорогу<br \/>\nИ денег немного<br \/>\n(Чтоб за морем делать покупки).<br \/>\nСова, поглядев на луну,<br \/>\nНа волну,<br \/>\nЗапела под звон гитары:<br \/>\n«Ах, милый мой Кот, ты хорош<br \/>\nИ пригож.<br \/>\nДавай обручимся — нигде не найдешь<br \/>\nТакой восхитительной пары,<br \/>\nТакой, такой,<br \/>\nТакой, такой,<br \/>\nТакой восхитительной пары».<br \/>\n«Голубушка! — Кот<br \/>\nВ ответ ей поет. —<br \/>\nКак ваше прекрасно лицо!<br \/>\nНа вас, моя птица,<br \/>\nХочу я жениться,<br \/>\nНо где бы найти нам кольцо?»<br \/>\nИ ночи и дни<br \/>\nСкитались они,<br \/>\nПокуда в прибрежном лесу,<br \/>\nУ края земли,<br \/>\nСвинью не нашли<br \/>\nС кольцом обручальным в носу,<br \/>\nВ носу, в носу,<br \/>\nВ носу, в носу,<br \/>\nС кольцом обручальным в носу.<br \/>\n— Продашь ли колечко иль дашь нам без денег?<br \/>\nСвинья отвечала: Продам!<br \/>\n— И этим кольцом обручил их священник —<br \/>\nИндюк, оказавшийся там.<br \/>\nВ тот день они ели<br \/>\nБисквит, карамели,<br \/>\nА вечером, счастья полны,<br \/>\nРука в руке,<br \/>\nНа прибрежном песке<br \/>\nПлясали при свете луны,<br \/>\nЛуны, луны,<br \/>\nЛуны, луны,<br \/>\nПлясали при свете<br \/>\nЛуны...<\/p>\n<\/blockquote>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"488\" data-ratio=\"1.3863636363636\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/leat-owl-cat-2.jpg\" width=\"488\" height=\"352\" alt=\"\" \/>\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-3.jpg\" width=\"428\" height=\"212\" alt=\"\" \/>\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-4.gif\" width=\"367\" height=\"224\" alt=\"\" \/>\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-5.jpg\" width=\"391\" height=\"165\" alt=\"\" \/>\n<\/div>\n<\/div>\n",
            "summary": "Первая Книга Бессмыслиц (1846) художника Э. Лира включала в себя стихотворение «Кот и Сова»",
            "date_published": "2014-06-19T11:45:23+05:00",
            "date_modified": "2017-06-10T13:36:17+05:00",
            "tags": [
                "литература",
                "совы",
                "стихотворения"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-1.jpg",
            "_date_published_rfc2822": "Thu, 19 Jun 2014 11:45:23 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "44",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-1.jpg",
                    "http:\/\/kkos.ru\/blog\/pictures\/leat-owl-cat-2.jpg",
                    "http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-3.jpg",
                    "http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-4.gif",
                    "http:\/\/kkos.ru\/blog\/pictures\/lear-owl-cat-5.jpg"
                ]
            }
        },
        {
            "id": "36",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-admin\/",
            "title": "Как устроена Совотека",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/fonsov.jpg\" width=\"1472\" height=\"1352\" alt=\"\" \/>\n<div class=\"e2-text-caption\">О том, что у «Совотеки» под <s>капотом<\/s> перьями.<\/div>\n<\/div>\n<p>У <a href=\"http:\/\/sovoteka.ru\">Совотеки<\/a> все картинки-миниатюры генерируются и хранятся в отдельной папке по адресу:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sovoteka.ru\/i\/s\/<\/code><\/pre><p>Большие версии тех же картинок хранятся отдельно по адресу:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sovoteka.ru\/i\/<\/code><\/pre><p>Всего в «Совотеке» сейчас 903 совы и для удобства каждая картинка подписывается автоматически.<\/p>\n<p>Например, 100-я сова в миниатюрке имеет адрес: <a href=\"http:\/\/sovoteka.ru\/i\/s\/sovoteka_100_s.jpg\">sovoteka.ru\/i\/s\/sovoteka_100_s.jpg<\/a>. У нее всегда размер 95×95 пикселей. Ее увеличенная копия имеет адрес: <a href=\"http:\/\/sovoteka.ru\/i\/sovoteka_100.jpg\">sovoteka.ru\/i\/sovoteka_100.jpg<\/a>. Размер у нее непредсказуем.<\/p>\n<p>Нужно написать такой скрипт на PHP, чтобы он смог проделать следующее:<\/p>\n<ul>\n<li>автоматом подсчитать, сколько сов уже есть на сайте (я это делал через переменную, которая считает количество файлов, например, в папке \/i\/s\/. Сколько уменьшенных копий — столько сов на сайте);<\/li>\n<li>из множества сов выбрать 50 случайных и вывести их на экран (это можно через генерацию случайных чисел сделать, я их подставлял в имена файлов, ведь в них меняется только число — sovoteka_$chislo_s.jpg, к примеру). Важно, чтобы эти 50 сов не были повторяющимися — с этим проблемы. Случайные совы генерируются каждый раз при обновлении страницы — каждый раз разные картинки.<\/li>\n<\/ul>\n<p>Результат выполнения PHP-скрипта — HTML-код вида:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;a href=&quot;\/i\/sovoteka_518.jpg&quot;&gt;&lt;img src=&quot;\/i\/s\/sovoteka_518_s.jpg&quot; width=&quot;95&quot; height=&quot;95&quot;&gt;&lt;\/a&gt;\n&lt;a href=&quot;\/i\/sovoteka_431.jpg&quot;&gt;&lt;img src=&quot;\/i\/s\/sovoteka_431_s.jpg&quot; width=&quot;95&quot; height=&quot;95&quot;&gt;&lt;\/a&gt;<\/code><\/pre><p>Сейчас у меня такой код вышел:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$chislo = sizeof(glob(&#039;i\/*.*&#039;));\n\/\/ Подсчитываю, сколько картинок в папке, следовательно столько сов на сайте\n\n$arr = range(1, $chislo);\n\/\/ Делаю случайное число от 1 до числа сов на сайте\n\nshuffle($arr);\n\/\/ Мешаю числа\n\nfor ($i=0; $i &lt; count($arr); $i+=11) { \n\/\/ Зацикливаю вывод\n\necho &#039;&lt;a class=&quot;imgs_group&quot; rel=&quot;gal&quot; href=&quot;\/i\/sovoteka_&#039;.$arr[$i].&#039;.jpg&quot;&gt;\n&lt;img src=&quot;\/i\/s\/sovoteka_&#039;.$arr[$i].&#039;_s.jpg&quot; width=&quot;95&quot; height=&quot;95&quot; class=&quot;ingal&quot;&gt;&lt;\/a&gt;&#039;;\n\/\/ Подставляю созданные номера в HTML — костыль, в общем.\n}<\/code><\/pre><p>С наибольшей степенью вероятности могу утверждать, что этот код — костыль. Если у вас есть предложения по решению данной задачи, отпишитесь в комментариях.<\/p>\n<h2>Обновление<\/h2>\n<p>Спасибо Антону Сюваеву за помощь в коде. Теперь совы генерируются как надо — с выборкой из массива и проверкой на повторы.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$files = glob(&#039;i\/s\/*.jpg&#039;);\n$rand_keys = array_rand($files, 50); \/\/ 50 случайных ключей из массива\n\nforeach ($rand_keys as $pos) {\n$thumb_name = $files[$pos];\n$full_name = str_replace(array(&#039;\/s&#039;,&#039;_s&#039;),&#039;&#039;,$thumb_name);\n\necho &#039;{$thumb_name}\\n&#039;; \/\/ url мелкого файла\necho &#039;{$full_name}\\n\\n&#039;; \/\/ url крупного файла\n}<\/code><\/pre>",
            "summary": "У Совотеки все картинки-миниатюры генерируются и хранятся в отдельной папке по адресу",
            "date_published": "2014-05-20T22:34:26+05:00",
            "date_modified": "2018-05-14T00:22:11+05:00",
            "tags": [
                "вопрос",
                "интернет",
                "программирование",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/fonsov.jpg",
            "_date_published_rfc2822": "Tue, 20 May 2014 22:34:26 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "36",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/fonsov.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}