0.00
Рейтинг
0.02
Сила

Новые функции редактора текста и короткий FAQ

Начиная с 617 ревизии SVN стандартный редактор текста Livestreet обзавелся новыми функциями. Теперь есть возможность превратить выделенный текст в заголовок h4, h5 или h6, а также в один клик оформить нумерованный или маркированный список.

Для полноценного использования этого функционала были исправлены старые баги парсера — добавление лишних отступов строк между пунктами списка и после заголовков (сделанные фиксы касаются external-библиотеки Jevix, а не только ядра).

Ввиду большого числа писем о некорректной работе этого редактора в версии 0.3.1 — под катом правила по корректному переносу.


Читать дальше →

Реализация отдачи предварительно сжатых .css и .js файлов

В HEAD ревизии livestreet есть такая фича как склеивание нескольких .css и .js файлов их последующая компрессия (удаление лишних символов). Благодаря этому уменьшается количество клиентских запросов к серверу и размер загружаемых файлов, а значит увеличивается скорость загрузки страницы на стороне клиента.

Вот замер который я сделал после перевода живого сайта на последнюю версию ls (используется дефолтная тема «new»):
HTML — 58 KB
CSS — 54 KB
JS — 180 KB
Итого — 292 KB


Теперь начитавшись статей и книжек по оптимизации скорости загрузки сайта на клиентской стороне (кстати советую "Разгони свой сайт"), а также посмотрев отчеты YSlow и webo.in я решил дополнительно сжимать html, css и js средствами веб-сервера (в моем случае это nginx).

Читать дальше →

похожие темы через sphinx

Дело, было как обычно вечером :) И лежало на мне уже давно задание — добавить «похожие темы» к проекту, но ввиду приоритетов откладывалось оно на потом постоянно. Полазил по LS, нашел уже готовый бесплатный модуль: livestreet.ru/blog/2053.html
Но незадача :( нужен fulltext для InnoDB… уже хотел похерить задание и отложить опять до лучших времен, но что-то дернуло меня все-таки покопаться чуток. А именно, вспомнил я про уже готовый fulltext поиск реализованный на sphinx'e в дефолтной сборке LS. Там как раз есть тайтл + текст, так что впринципе больше и не надо :)
В общем, пришлось чуток модифицировать имеющийся модуль + добавить ф-цию в Sphinx.class.php
К действиям:
1) берем имеющийся модуль
2) удаляем папку и ее содержимое /classes/modules/similartopics/mapper
3) заменяем полностью содержимое файла(/classes/modules/similartopics/SimilarTopics.class.php) на:
<?php
##### [hack] similar_topics_sphinx #####
class LsSimilarTopics extends Module {
	public function Init() {
	}
	public function GetSimilarTopics($oTopic){
	    $sTitleTags=$oTopic->getTags();
	    $aTopics=array();
	    $data=$this->Sphinx_FindSimilarTopics($sTitleTags,SIMILARTOPICS_COUNT+1);
	    if(is_array($data['matches']) && sizeof($data['matches'])>0){
		foreach($data['matches'] as $k=>$v) if($k!=$oTopic->getId()) $aTopics[]=$this->Topic_GetTopicById($k);
		return $aTopics;
	    }else return false;
	}
}
##### [hack] similar_topics_sphinx #####
?>

4) добавляем в класс(classes/modules/sphinx/Sphinx.class.php):
        ##### [hack] SimilarTopics #####
        public function FindSimilarTopics($sTerms,$iLimit){
                $cacheKey=SEARCH_ENTITY_PREFIX."similartopics_{$sTerms}_{$iLimit}";
                if(false===($data=$this->Cache_Get($cacheKey))){
                        $this->oSphinx->SetMatchMode(SPH_MATCH_ANY);
                        $this->oSphinx->SetLimits(0,$iLimit);

                        if(!is_array($data=$this->oSphinx->Query($sTerms,SEARCH_ENTITY_PREFIX.'topicsIndex'))) return FALSE;

                        # no results = no cache
                        if($data['total']>0) $this->Cache_Set($data,$cacheKey,array(),60*15);
                }
                return $data;
        }
        ##### [hack] SimilarTopics #####

лично я оставил поиск по тэгам, хотя — можете добавить и по тайтлу, как было первоначально в плагине
5) все, радуемся жизни :)

п.с. должен быть настроен уже sphinx и работать поиск через sphinx
п.п.с. делаем на свой страх и риск, так что не забываем о том что надо бэкапить файлы ;)

Эволюция Viewer: управление блоками, слияние и минимизация JS/CSS

На SVN работа над LS0.4 кипит, начну понемногу описывать нововведения. Итак, сегодня у нас на очереди модуль Viewer, который постепенно «обрастает» очень вкусными полезностями. В этот модуль добавлено:

1. Управление выводимыми на страницу js,css файлами.

2. Управление выводимыми на страницу блоками через конфигурацию.

Подробнее под катом.


Читать дальше →

Оптимизируем LiveStreet под поисковые машины. День 1й

Сегодня начал пользоваться CMS LiveStreet, тому есть очень много причин. Первые доработки, которые просто необходимо ввести в каждый дефалтный шаблон:

1) Сделать 1(один) заголовок на каждой странице H1 без ссылки куда либо;
2) Заголовки постов в «топик лист» сделать H2 либо H3 тоже без ссылки куда либо;

По этим вопросам можно долго спорить, а как лучше? Но это мое ИМХО. Повторять H1 на странице больше 2 раз нельзя, а ссылки ставить с тегами h1 и h2 и того хуже!

Читать дальше →

LiveStreet Extended Edition

Представляем — LiveStreet Extended Edition она же LiveStreet-EE

Сборка LiveStreet Extended Edition на базе версии 0.3.1 включает в себя:
-------------------------------Изменения в коде--------------------------------
1. Изменены значения: page_title 255, page_url 255, page_text 65535, topic_title 255, topic_text 65535, topic_tags 1024, длинна меток 2,64 — изменены значения в коде, переводе, базе;
2. изменены некоторые значения в конфиге, добавлен конфиг для хаков config.EE.php;
3. изменен .htaccess (если не нужно сжатие страниц — можно пользоваться старым);
4. добавлен robots.txt (внутри включается sitemap);
5. отключен вывод ошибок — ini_set('display_errors', 0);
6. изменена версия LS — define('LS_VERSION','0.3.1-EE');
7. в шаблонах добавлены отсутствующие картинки: spinner.gif, star.gif, star-off.gif;
8. пути сохранения картинок при публикации сделаны относительными;
9. добавлен alt при добавлении картинок;
10. во всех файлах удалены лишние пробельные символы в конце строк, формат всех файлов unix, кодировка utf-8.

------------------------------------Модули-------------------------------------
1. Модуль «Loader» — менеджер JS и CSS»;
2. модуль «Менеджер блоков»;
3. модуль «Import Rss»;
4. модуль «SiteMap генератор»;
5. модуль «Админпанель»;
6. модуль «Блок «Дни рождения»»,
7. модуль LiveStreet Mod Installer.

-------------------------------------Хаки--------------------------------------
1. Хак «Русские URL»;
2. хак «Redirect»;
3. хак «Сжатие страниц»;
4. хак «Автоматическое присоединение к блогу»;
хак удален по требованию автора eXtravert.
5. хак «Апгрейд капчи аля Яндекс»;
6. хак «Speller»;
7. хак «Кнопка «вставить пользователя» в стандартном редакторе»;
8. хак «Валидация форм при регистрации»;
9. хак «Лента друзей как в ЖЖ»;
10. Хак «Дополнение «LiveTwitter»»;
11. доработанный хак «Человеко Понятные Урлы»;
13. хак «Автофокус в поле ввода комментариев»
14. хак «Доработанный блок прямого эфира»;
15. Хак «Приватные топики»;
16. Хак «Выполнение PHP кода на статических страницах»;
17. Хак «Google AdSense для пользователей».

Все хаки сделаны отключаемыми через конфиг, и если требуют изменения шаблонов — исправления сделаны во всех 5 шаблонах, большинство хаков и модулей немного доработаны (например, хак ЧПУ — опционально через настройку отключение транслита, определение разделителя, удалено .html в конце url)

------------------------------------Шаблоны------------------------------------
1. Шаблон «to3»;
2. пожалуй лучший шаблон «g6h»;
3. шаблон «ChosenThemes Skin»;
4. шаблон «Live Portal»;
5. шаблон «Dark»;
6. доработка административной статистики в index.php — шаблон «Статистика производительности».

Все шаблоны соответствуют стандартам w3c

Все использованные модули и хаки для LiveStreet являются бесплатными и находятся в свободном доступе

Приятного использования!

Автоматическое подключение блога. Хак.

upd 15/05/10: для тех у кого были проблемы со счетчиком количества подписчиков — архив хака обновлен с инструкциями и функцией для устранения недочета.
Для версии 0.4 выпущен плагин. (тема)


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

В данном хаке в списке доступных для публикации блогов юзеру выводятся все блоги, в которые он может писать по рейтингу(а также те блоги, создателем которых он является).

Для тех, у кого нету изменений в движке хак выложен архивом в разделе бесплатных модулей =>Здесь. Для тех у кого есть изменения, или кому невтерпежь ждать модерации,(пройдена) вся информация под катом.


Читать дальше →

SAPE установка кода и блока

Поставить код sape, было не сложно, куда сложнее было поставить эти ссылки в блок, чтоб хоть симпатично выглядело. Пытался сделать свой блок и толком ничего путного не нашел, поэтому тупо дописал нужные теги блока в templates/skin/new/sidebar.tpl:

Читать дальше →

Настройка веб-сервера VPS/VDS для Debian/Ubuntu

Решил написать данную статью для того, чтобы собрать всю информацию по данному поводу в одном месте.
У многих возникает вопросы по оптимизации сервера. Расскажу как я добился скорости загрузки страницы за 0.013 секунд.
Итак. У нас есть чистый Debian либо Ubuntu.

Нам предстоит установить и настроить:
— Apache 2
— PHP 5
— MySQL 5
— nginx
— memcached
— eAcellerator
— Sphinx

Буду писать для Ubuntu Server 9.04, впринципе для дебиана почти всё так же.
Расчитываем на то, что сеть у нас уже настроена.
Читать дальше →