Powered by CodeIgniter

Запросы, предложения и планы

(35)
19
19 голосов
В этом сообществе предлагается публиковать запросы на дополнительный функционал шестеренок и выкладывать технические задания.
Довольно давно с интересом наблюдаю за проектом. На волне интереса сообщества к разработке внешнего оформления, дизайна, появилось желание поделиться некоторыми соображениями на эту тему. Не уверен что все это возможно в текущей версии движка, но все же.
Может что-либо будет взято на заметку и воплотиться в версии 2.

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

Поэтому есть предложение упростить этот процесс, к тому же первый шаг в сторону более дружелюбного способа и соответствующего интерфейса уже сделан.
Концепция
Путем объединения всех файлов оформления одного типа в единый файл получить на выходе связку html + css (+js) с структурной разбивкой ( кодом для парсинга а заодно и человеко-понятным описанием принадлежности к элементу движка). То есть получить максимально приближенный к простому виду и автоматически откомментированный единый шаблон, содержащий элементы оформления всех подключенных элементов (шестеренки, модули и т.п. ). И чтобы уже в этом шаблоне править взаиморасположение элементов и их оформление.
В таком виде оформленный, готовый шаблон затем в обратном порядке, на основе кода парсинга, разбирается на составляющие файлы оформления компонентов движка, которые соответственно прописываются в нужные места.

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

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

Несколько технических моментов
Должна быть возможность выборочного вывода в общий шаблон оформления конкретных элементов, чтобы сформировать шаблон только из необходимых. Причем не только из подключенных компонентов, но также и из неактивных. Это позволит предварительно оценить интегрируемость новых в общий дизайн и при необходимости откорректировать взаимодействие.
Будет удобно логическое объединение компонентов в группы для вывода, на основе структуры интерфейса. Например: при подключении расширяющего функционал элемента (допустим он сложный и имеет собственное оформление) для уже используемого блока «инфо», не приходилось бы добавлять в выборку этот элемент отдельно, а достаточно было указать вывести все элементы входящие в блок «инфо».

Потребуется специальный синтаксис парсинга для определения связи элемента оформления и программного элемента движка. Думаю удобно будет разместить этот синтаксис внутри тэгов комментариев, стандартных для используемого типа файла. Это упростит обработку в стандартных редакторах и интерпретацию сторонними средствами вообще.

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

Сложный вопрос, для отдельного обсуждения:
Должна быть проработана система взаимной интерпретации — из шаблона во внутренний файл оформления и наоборот. Основные нюансы, на мой взгляд, следующие:
— Код в шаблоне не должен включать логику, а только соответствующий месту структурный элемент: html каркас вывода — для отладки оформления, и, при необходимости, спец «заглушки» — для замещения сложного вывода или использования некоторых возможностей движка.
— Код внутреннего файла оформления может быть значительно сложнее, за счет включения логики и собственного программного взаимодействия с движком. Здесь может применяться уже существующий внутренний шаблонизатор, и дополнительно особая разметка элементов для взаимодействия с шаблоном оформления ( вывод в шаблон /замещение импортом из шаблона ).

Из нюансов пока все, это навскидку.
Вообще же тема сложная, нужна серьезная проработка.

Что было бы полезно сейчас, уже в этой версии.
Может, стоило это оформить отдельной темой.

Предложение довольно топорное и примитивное.

(Можно было бы объединить все ниже перечисленное в некий design-debug режим, добавить в админке опцию его включения.)

С tpl сложно, предложу вот что.
Добавить внутрь каждого tpl префикс и постфикс примерно так ( это в основном, в некоторых расположение придется немного уточнить ):
<!-- start filename.tpl --> содержимое файла .tpl <!-- end filename.tpl --> Уже поможет быстро сориентироваться по коду готовой страницы, где править.

С css проще. Нужно собрать все файлы в один, отделив каждый префиксом с путем и именем файла ( а, может, + постфиксом), для обратного парсера, и вывести в таком виде эту сборку, прямо в качестве рабочего активного css(это пока design-debug режим включен), или, если по другому пока никак, хотя-бы, в отдельный файл( для отладки оформления его всегда можно подключить). Главное чтобы была возможность распарсить обратно в файлы.

/* cogear:css:path:"gears/gear1.css" */ h1{ font-size: 1.4em; } /* cogear:css:end */ - это если нужен постфикс /* cogear:css:path:"gears/gear2.css" */ h2{ font-size: 1.2em; } /* cogear:css:end */ как-то так, логика такая.

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

В итоге будет попроще с оформлением, порог вхождения будет ниже.



Пока собственно все, что хотелось предложить по теме оформления.
Надеюсь эта заметка пригодится.
05:48 ← 01 июля 2010 Отправить в Твиттер starkStark  RSS comments 32

Комментарии (32) ↓

admin admin time 12:47 ← 01 июля 2010 #
Приветствую. Достойные мысли, однако не стоит забывать, что на разных страницах бывает разный контент.
Обдумаем реализацию подобного во второй версии движка.
Автор
Stark Stark time 16:49 ← 01 июля 2010 #
Доброго времени суток.
Согласен, что с контентом на разных страницах не все так однозначно.
Но именно поэтому я и упомянул объединение вывода в логические группы. Таким образом, кроме произвольно задаваемых пользователем элементов, могут изначально присутствовать исходные дефолтные, зависящие от типа стандартой страницы, которые тоже можно будет переопределить при желании.
Я к тому, чтобы рассматривать вывод как набор раздельных управляемых элементов, и ими манипулировать прямо из админки(но, сразу можно предположить особенности при выводе связанных — например таких как пост+комменты).
Кстати, в текущей версии уже существует в админке приблизительно такая, настраиваемая логическая группа вывода — боковая панель.
GrinGoO GrinGoO time 12:57 ← 01 июля 2010 #
хотелось бы сделать парсинг картинок из папки шаблона.

А мысли хорошие, очень интересная задумка
IceDragon IceDragon time 14:40 ← 01 июля 2010 #
думаю если ввести файл менеджер — проблемы с картинками не будет )))
думаю в будущем воспользоваться elfinder
agoodis agoodis time 19:43 ← 01 июля 2010 #
Зметил влияние маков на выбор решения)
agoodis agoodis time 19:46 ← 01 июля 2010 #
А так это проблема всех MVC решений. Самое верное — сделать подробную документацию для дизайнеров и верстальщиков по созданию шаблонов.
Автор
Stark Stark time 21:05 ← 01 июля 2010 #
Документация — это всегда самое верное =)
Согласен, проблема очень распространенная, но дело скорее не в MVC, а в реализации. MVC это ведь только концепция.
JiLiZART JiLiZART time 20:15 ← 01 июля 2010 #
Ещё добавить переменные в css файлы темы, чтобы css тоже парсился. Будет удобно для тем с цветовыми схемами. ( хотя это можно реализовать просто создав файлы red\green\blue\etc )
medar medar time 16:55 ← 06 июля 2010 #
Оставлю своё замечание здесь, чтобы не открывать новый топик.

Я сейчас выбираю движок для реализации хабрастайл-сайта и смотрю сейчас на livestreet и cogear. Да, livestreet была раньше, но все же. Они начали с того, что заказали офигительнейший дефолтный дизайн. Cogear начал с того, что сделал модульность. На ls модульность появилась в 0.4.1 в мае, у cogear нормального дефолтного скина нет до сих пор. В итоге на livestreet.ru счетчик за сутки переваливает за 1000, а здесь еле-еле за 200.

Если стоит задача популяризировать движок, то нужны гайды по шаблонам. Народ же как, поставил ls — офигенно, поставил cogear — мнээ… Мне кажется, что заморачиваться со второй версией не нужно. С движком все прекрасно. Да, CI, да, синглтон, да гибкость только в определенных рамках. Ничего страшного! Если будет много народа, модулей наделают каких угодно, несмотря на возможные неудобства. Могу сказать, кстати, что сейчас писать модули для ls сложнее чем для cogear — у ls нету большого девелоперского хэлпа и там более «правильно» — предлагается морочиться делать мапперы для каждого запроса в БД и т.п.

Поэтому, имхо, сейчас срочно нужен такой диз, который бы был вау! и стимулировал юзать именно cogear. Плюс гайды по верстке.
Автор
Stark Stark time 19:30 ← 06 июля 2010 #
Поддержу во многом.
Очевидно, что эффектный дизайн значительно поспособствует популяризации.
А чтобы он появился возможно два подхода:
  1. Заказать отличный дизайн у професионалов.
  2. Предоставить легкость модифицирования для всех желающих, энтузиазм с такой поддержкой может конкурировать с профессионализмом.
Как предложение-описание именно второго варианта, я и создал эту тему.

Немного не в тему, но раз уж упомянули, мое наблюдение, не больше (просьба не воспринимать как критику или недовольство).
По поводу разработки версии 2 — двигаться нужно, бесспорно, но есть и следующий важный аспект:
Сейчас уже появились люди сделавшие ставку именно на этот движок.
У них есть реальные потребности уже сейчас, в запросах было несколько коллективных пожеланий на разработку сложных шестеренок, даже с готовностью скинуться материально разработчику.
Доработка текущей версии под реально возникающие нужды положительно отразится на популярности и вовлечении новых пользователей уже сейчас, а версии 2 надо еще дождаться.
Поэтому на первый план было бы логично вывести пожелания активно использующих движок людей.
А это реализовать коллективно запрашиваемое, плюс сделать опрос по дополнительным пожеланиям реализации возможностей, выбрать наиболее существенное и реализуемое. Затем выпустить некий кумулятивный сервис пак, подводящий итоги и добавляющий в ( может уже в базовый) функционал новые возможности.
Кроме того, учет этого только положительно отразится на разработке версии 2.

Удачи!
medar medar time 02:11 ← 07 июля 2010 #
Заказать отличный дизайн у професионалов.

Кстати, профессионалов можно замотивировать тем, что по условиям распространения ссылка на них будет стоять в футере шаблона. Xeoart, который делал шаблон лайвстриту, сейчас имеет 80к бэков, PR5 и ТИЦ 350, исключительно за счет сквозняков из футера людей, поставивших лайвстрит с дефолтным шаблоном. Мне кажется, это гораздо выгоднее разовой суммы за шаблон, так как если посчитать бюджет в Сапе на 80к ссылок, это будет очень приличная сумма, которую к тому же надо выплачивать ежемесячно. :)
Автор
Stark Stark time 19:13 ← 07 июля 2010 #
Согласен, это аргумент.
И он становится тем сильнее, чем больше популяризация движка, а это пусть и неспешно, но происходит.
Создание дизайна, шаблона на таких условиях — это будет хорошая заявка для начинающих, но хорошо подготовленных дизайнеров или студий. Маститых этим не зацепишь, на данном этапе такие, кроме денег, только из личных побуждений помогут.

Как выход — пожелание уважаемому Дмитрию (ака admin) обратиться с призывом для таких амбициозных начинающих профи на один из теметических сайтов, например на deforum или на rudtp. С описанием всех преимуществ сотрудничества.
А это как минимум размещение в каталоге с условием распространения — требованием присутствия копирайта. Вплоть до (после выбора, внутреннего конкурса) применения на этом сайте и включения в сборку как дефолтного. (Может + какая-то символическая сумма, это в крайнем случае, если реакции совсем не будет).

Возможно стоит запрашивать сразу и с версткой под движок, иначе это только половинчатое решение, с версткой возможны такие же пробуксовки. К тому же, как мотивация, исполнитель наверняка не останется без индивидуальных заказов от членов сообщества.
admin admin time 19:38 ← 06 июля 2010 #
На ls 1000 хитов по-большей части из-за SEO, коим мы пока не занимаемся в глобальном плане.
Согласен со многим из вышесказанного, но на то оно и сообщество, чтобы кооперироваться — предложите дизайнера, выход, мы с радостью поддержим.
erGo erGo time 20:18 ← 06 июля 2010 #
Хорошие дизайнеры стоят денег. Хорошее SEO стоит денег. Со своей стороны могу предложить вариант создания бизнес-модели для движка.
admin admin time 20:35 ← 06 июля 2010 #
Тоже за деньги?
erGo erGo time 23:18 ← 06 июля 2010 #
За деньги, но за будущие и не за твои ;). Мне интересно построить бизнес-модель, которая сможет приносить деньги на развитие движка, и уже от этого дохода я захочу свою часть.
erGo erGo time 20:09 ← 06 июля 2010 #
Я бы предложил двигаться в сторону xml+xslt. Сложнее — да. Заморочливее — да. Но намного гибче. Современные браузеры нормально отрабатывают xsl-трансформацию, так что лишних серверных ресурсов не нужно (что вписывается в концепцию движка).
admin admin time 20:35 ← 06 июля 2010 #
Надо двигаться в сторону упрощения :-) Количество XSLT-верстальщиков в сотни раз меньше, чем простых.
erGo erGo time 23:13 ← 06 июля 2010 #
Согласен. Но это единственный, который мне известен, случай полностью отделить содержание от представления.
satagik satagik time 21:06 ← 06 июля 2010 #
Я для explay так и не могу верстальщика найти. XSLT — это торможение в развитии бесплатного продукта. Имхо.
erGo erGo time 23:15 ← 06 июля 2010 #
Если подойдёт удалённый верстальщик не на полный рабочий день, который последний раз работал с xslt 4 года назад — я открыт для предложений.
satagik satagik time 00:07 ← 07 июля 2010 #
Мне нужен человек в команду знающий XSLT — мой mail: satagik@gmail.com
Bonefacei Bonefacei time 02:52 ← 07 июля 2010 #
Как и уважаемому dezmax нужен верстальщик, который сможет сверстать дизайн для когера
adsfox adsfox time 01:53 ← 22 августа 2010 #
Такую статью хотел наваять в качестве первого моего коммента. Ну да ладно — краткость сестра таланта выражу свою идею.
Я тут в качестве зерегеного пользователя минут 10 20 25 торчу. потратил пару часов на то что бы изучить контент — пока, по описанию я восхищен работой вашей. альтернатива livestreet по моему хорошая, нужно только прощупать сам движок. но я не об этом сейчас.

Как Вы смотрите на идею — создать пошаговый урок по созданию шаблона?
Если вкратце выразить свой интерес к данной теме — я ленив. Имею некоторые знания по верстке шаблонов сайта. Но мне жутко лень сидеть и ковырять — что куда прилепить, что бы получить некий результат. Мне понравились представленные уважаемым админом видео — о той же, к примеру, интеграции в двиг форума.

Так вот суть моего предложения сводится к тому, что бы так просто на пальцах показать где какие элементы находятся для формирования структуры и непосредственно интерфейса. У автора это может занять пару часов на объяснение, зато у других пользователей, включая меня, появится больше желания клепать шаблоны для этого движка. А это еще больше подстегнет проект к развитию.
admin admin time 06:02 ← 22 августа 2010 #
Хорошая идея — скринкаст по шаблонам. Подумаю над этим.
adsfox adsfox time 13:30 ← 22 августа 2010 #
Товарищ админ, только пожалуйста не затягивайте с размышлениями ) я бы с радостью подключился к подгонке готовых шаблонов под cogear :) можно часть перетащить уже сверстаных, заранее готовившихся на ДЛЕ. там похожая схема создания шаблонов. А с возможностью разнообразить двиг появится больше поклонников-любителей сего движка :)
admin admin time 14:04 ← 22 августа 2010 #
Обещаю снять ролик завтра же.
admin admin time 14:42 ← 23 августа 2010 #
Отснял вчера часть материала, постараюсь сегодня сделать ролик. На повестке дня еще конвертер с WordPress.
adsfox adsfox time 23:27 ← 24 августа 2010 #
Дима, а когда можно будет увидеть видеоурок по созданию шаблона?
admin admin time 01:41 ← 25 августа 2010 #
Постараюсь завтра. Надо смонтировать и перекодировать материал, а это приличное время.
admin admin time 03:05 ← 26 августа 2010 #
За половину дня сделал ролик, но он кодируется из проекта в файл и еще планируется кодироваться долго.
Придется подождать.
Vezun4ik Vezun4ik time 10:45 ← 23 августа 2010 #
Всецело согласен. С радостью приму участие в увеличении разнообразия шаблонов.