gladilov.org.ru gladilov.org.ua

Напильник для Эгеи, часть 2

      Устроил для блога ревизию — все длинные статьи спрятал под спойлер, ведь ката в Эгее нет в принципе, разработчик объяснил причину этого в своей статье.

Реализацию спойлера подсмотрел у других, у себя реализовал следующим образом:

Показать

В файле /user/extras/header-pre.tmpl.php прописал следующие строки:

<script type="text/javascript" src="/blog/user/extras/spoiler-hider.js"></script>
<link rel="stylesheet" href="/blog/user/extras/spoiler-hider.css">


spoiler-hider.js:

// Спойлеры для Эгеи
$(function(){
    $('.spoiler-controller').click(function(){
        var aClasses = this.className.split(/\s+/);
        for (var i in aClasses) {
            if (aClasses[i] == 'spoiler-controller' || aClasses[i] == 'spoiler-shown') {
                aClasses.splice(i, 1);
            }
        }
        if ($(this).hasClass('spoiler-shown')) {
            this.innerHTML = this.innerHTML.replace('Скрыть', 'Показать');
            $(this).removeClass('spoiler-shown');
        } else {
            this.innerHTML = this.innerHTML.replace('Показать', 'Скрыть');
            $(this).addClass('spoiler-shown');
        }
        for (i in aClasses) {
            if (!aClasses[i]) continue;
            var jContainer = $('.'+aClasses[i]).not('.spoiler-controller');
            jContainer.slideToggle();
        }
    });
});

spoiler-hider.css

.spoiler-controller { border-bottom: 1px dashed black; cursor: pointer; }
.spoiler-controller:hover { color: #b30; border-color: #b30; }
.spoiler { display: none; }

Теперь в нужном месте страницы пишу код

<p><b class="spoiler-controller pop-up_camper_<уникальный идентификатор>">Показать</b></p>
<section class="spoiler pop-up_camper_<уникальный идентификатор>"><p></p>

а в конце текста (и спойлера)

</section>


Также изменил размер заголовка блога, указав в /themes/plain/styles/main.css

.title h1 {...; font-size: 24px ;...}


Изменил подсвечивание кода (по этой статье) с помощью highlight.js:

<link rel="stylesheet" href="//yandex.st/highlightjs/7.3/styles/github.min.css">
<script src="//yandex.st/highlightjs/7.3/styles/github.min.css"></script>
<script>
	hljs.tabReplace = '    ';
	hljs.initHighlightingOnLoad();
</script>

hljs.tabReplace нужен для того, чтобы табуляции в коде заменялись на пробелы. highlight.js сам определяет на каком языке написан код, но можно явно указывать язык, добавляя class к тегу pre.


2 комментария
Алексанр

как вы считаете, можно ли реализовать на эгея коммерческие проекты? к примеру блоги? изменить сильно тему, в будущем вставить баннеры?

искал cms с этими целями, самая популярная wp, но больно тяжелая)

Павел Гладилов

Здравствуйте, Александр!
Эгея прелестный движок, она очень хороша именно как пресональный блог, идеально подходит для неспешного жизнеописания или технического блога, но, ИМХО, не для высоконагруженного коммерческого сервиса. Хотя автор, наверное, лучше и точнее ответит на ваш вопрос.

Алексанр

если 100-500 посетителей в сутки на сайте, то это можно назвать высоко нагруженный сервис или проект?))
просто направление, тематика сайтов именно с такой посещаемостью, выйти по трафику там на большее очень тяжко

Павел Гладилов

Зависит от железа, на котором крутится, например у меня одно время сайт (и блог) крутился на таком устройстве — на нём и одна сессия с трудом шла, на нетбуке Asus 701 SD 2Гб ОЗУ — уже полегче было, но больше 5-10 сессий уже напрягали систему... А если использовать «числодробилку» i9 с 32Гб — то пойдет ;-)

По органолептическим ощущениям — должно хватить под ваши запросы, но точнее не скажу, к сожалению...

Популярное
Наверх