Есть мысль. (шаблоны, javascript)

1
Те части яваскриптов, что в шаблонах повторяются гарантированно, вынести в /engine/lib/internal/template/ с названиями
  • main.core.js
  • comments.core.js
и т.д.

А в шаблонах переопределять лишь необходимые части. В том числе, возможно, и с помощью ls.hook.inject вносить всякие незначительные поправки.

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

Некоторые ньюансы совместимости будущей версии XText для ветки LiveStreet 0.5

1
  • будет работать только на jquery-шаблонах
  • jquery-шаблоны должны будут в полной мере поддерживать список js-хуков и маркеров, которые мне понадобятся (полный список еще не отработан)
  • поддержки tinymce традиционно не предвидится
  • «из коробки» редактор будет поддерживаться только markItUp

вышеперечисленные моменты — отправная точка, без которой ничего не выйдет.

upd 18.01.2012

Разослал покупателям мыло со ссылкой на дев-релиз.
  1. я наверное победил глюки с делегированием и наследованием ;)
  2. карты теперь подгружаются асинхронно
  3. всё переписано на jquery
  4. требуются правки текущих версий шаблонов (см. мои коммиты с 20 декабря)
  5. в блоке «мои файлы» появилась вкладка «загрузить», список разрешенных расширений в основном конфиге (строки 45,46)
  6. иконочки почти все из tango (претти кул, мля)
  7. все кнопочки на панели собраны в дропдаун-менюшку

upd 19.01.2012

  1. откатан шаблон street-spirit на 2397.ru
  2. пофиксил пару мелких багов в js и отправил пулл-реквесты в на гитхаб

upd 20.01.2012

  1. наконец-то добавлен слой яндекс-карты

upd 21.01.2012

  1. откатан шаблон new-jquery на 4newpeople.com
  2. пофиксен баг в шаблоне тега toc (оглавления)

upd 23.01.2012

  1. мини-фикс совместимости с sitemap
  2. мои правки наконец-то склеены с основной веткой livestreet'а ;) а это значит, что 0.5.2 будет гарантированно поддерживать xtext
  • +1
  • 03 января 2012, 03:01
  • 1d10t

Угадайте, что это ? %) топик-ссылка

1
сабжище сабжовое. верстальщики просто обязаны угадать :)

CSS-неймспейсы для Internet Explorer

7
Дабы не плодить кучи css-файлов для разных версий ишака, придумал такой скриптик:

/**
 * Adds css classes to body like ie, ie-6, ie-gte-5-5, ie-not-7, etc.
 * depends on msie browser version
 * 
 * @author Sergey S Yaglov
 * @link http://livestreet.ru/profile/1d10t/
 */
jQuery(function(){
	if(!jQuery.browser.msie){
		return;
	}
	var versions = ['5.5',6,7,8,9,10];
	var body = jQuery('body:eq(0)');
	var bv = jQuery.browser.version;
	var classes = ['ie'];
	var signs = {
		'==': '-',
		'>=': '-gte-',
		'>': '-gt-',
		'<=': '-lte-',
		'<': '-lt-',
		'!=': '-not-'
	};
	jQuery.each(versions, function(i,v){
		for(var sign in signs){
			var css_sign = signs[sign];
			eval('if(bv '+sign+' v){classes.push("ie"+css_sign+new String(v).replace(".","-"));};');
		}
	});
	body.addClass(classes.join(' '));
});


Применять в css-файлах можно, например, так:

.my-class { ... стиль для нормальных браузеров ... }
body.ie .my-class{ ... стиль для ненормальных браузеров :) ... }
body.ie-gte-7.ie-lte-8 .my-class{ ... стиль для ишаков от 7 до 8 версии включительно ... }
  • +5
  • 05 декабря 2011, 09:53
  • 1d10t

Генерим autocomplete для LiveStreet под Eclipse

4
1. ставим ls-yii из репозтария

2. делаем
chmod +x plugins/yii/include/framework/lsyiic
mkdir codedoc && chmod 0777 codedoc


3. запускаем генератор
plugins/yii/include/framework/lsyiic lsshell gencodedoc end


4. чекаем на ошибки получившиеся файлы

5. вписываем в проект external source


6. дико тащимся и говорим спасибо

траблашутинг:
— вырубите авадимовскую админку, у нее дикий автолоадер
— в GencodedocCommand закомментируйте 2 ob_start()'а
— смотрите на трейсы

чтобы поцоны совсем расслабились, методы для чистого движка
yaglov.ru/uploader/upload/0lvmlcc-01k50hc-0d1730z/files/codedoc.zip
  • +7
  • 03 декабря 2011, 07:57
  • 1d10t

Новогодняя раздача доменов 3го уровня!

 
Максимум 2 домена в одни руки!

Домены имеют статус оплаченного до 2012 года (от 1 января, до какого-то марта).

Имеет смысл брать сейчас и продлевать потом через меня, ибо регистрация такого нового домена стоит 450 рублей, а продление 360 рублей :) да еще и плюс бонусное время до экспайра.

Список доменов с датой экспайра
Список доменов без дат

В довесок, там наверняка есть что-то вкусное, что можно поиметь со скидкой в 90 рублей (разница промеж регистрацией и продлением + сколько-то там дней до экспайра в декабре):
Список доменов, кончающихся в этом декабре с датами
Список доменов, кончающихся в этом декабре без дат

ЗЫЖ. Домены в географических зонах возможно будет потом передать полностью с правами.

Формат запроса в личку:
заголовок: хочу домен ИМЯ-ДОМЕНА
* ИМЯ-ДОМЕНА
* e@mail
* номер телефона (необязательно, для whois)
* днс сервера, на которых разместите записи о домене: ns1 ns2… nsN

HNY, мои хорошие!!!
  • +2
  • 01 декабря 2011, 22:58
  • 1d10t

Livestreet-Yii релиз 0.0.5 последний под 0.4.2

1
* привязка ar к стандартным entity
* Yii::app->cache работает через стандартный кеш лайвстрита
* налажен механизм консольных комманд
* добавлен виджет пагинатора

изменения
скачать
  • +1
  • 01 декабря 2011, 21:37
  • 1d10t

Собираю статистику по изспользованию редакторов под livestreet 0.5.1

 

Проголосовало: 83 | Воздержалось: 15

Перед выпуском обновлений плагинов XText и QipSmiles, решил собрать статистику по изспользованию редакторов под livestreet 0.5.1. От ваших ответов зависит многое :)
  • +1
  • 25 октября 2011, 22:40
  • 1d10t

Правильная функция подмены автолоадера в хелпере aceadminpanel

2
зафиксил, чтоб работало с yii :)

файл aceadminpanel/include/adm_helper.php
класс HelperPluginLoader
метод Init

public function Init() {
        if ($this->bInialized) return;
		
        $cbAceLoader = array(self::$oInstance, 'Autoloader');
        
        $aFunc = spl_autoload_functions();
        
        // первый вызов spl_autoload_register
        if($aFunc === array('__autoload')){
        	spl_autoload_register('__autoload');
        	$aFunc = spl_autoload_functions();
        }
        
        if(!in_array($cbAceLoader, $aFunc)){
        	// удаляем все лоадеры кроме __autoload
        	foreach($aFunc as $cbLoader){
        		if($cbLoader !== '__autoload'){
        			spl_autoload_unregister($cbLoader);
        		}
        	}
        	// сразу за __autoload добавляем лоадер ace
        	spl_autoload_register($cbAceLoader);
        	// восстанавливаем лоадеры
        	foreach($aFunc as $cbLoader){
        		if($cbLoader !== '__autoload'){
        			spl_autoload_register($cbLoader);
        		}
        	}
        }
        $this->bInialized = true;
    }

XText и шаблон social

2
Шаблон social во многом повторяет developer, поэтому всё очень просто :)

1. Копируем содержимое папки xtext/templates/skin/developer в xtext/templates/skin/social

2. Копируем иконку-потеряшку для тега toc (забыл в developer докинуть)
xtext/templates/skin/default/tag/toc/toc-panel-icon.gif
в
xtext/templates/skin/social/tag/toc/

3. Конфигуриреуем селектор панели
xtext/config/config.php
// css-селектор панели
// '.panel_form' - шаблон new
// '.panel-form' - шаблон developer, social
$c['panel_selector'] = '.panel-form,.panel_form';

Обратите внимание в этой строке, должно присутствовать ".panel-form" (с минусом). Здесь у меня универсальный селектор, если стоит он, то ничего менять не надо.

Всё должно работать :)