Неявные шаблоны html
18.11.2009В новой версии блоголёта я постарался избавиться от всех неявных шаблонов в коде движка. Шаблоны вынес в файл index.tml - теперь он чуть пожирнел, став аж целых 10Кб, это весь размер темы, включая мелкие шаблоны ссылок. Например ссылки после контента поста - на рсс и пред/след пост, ссылка далее, списки файлов. Также в шаблон вынесены ссылки в виджетах. Текущий шаблон темы по умолчанию можете посмотреть здесь: http://litepublisher.googlecode.com/svn/trunk/themes/default/index.tml, правда в неотформатированом виде, то есть без красивых отступов - кстати может кто нибудь посоветовать простой инструмент для форматирования html?
Соответственно тема стала более гибкой - ссылки на рсс и пред/след пост можно удалить из шаблона, то есть они сейчас жестко не прописаны. Упразднил класс TTemplatePost - кое что перекинул в ttheme, а остальное в tpost, добавив новые свойства/теги.
Сделал радикальное переименование файлов - теперь имена файлов заканчиваются на .class.php, и некоторые классы сгруппировал, например для комментариев файлы начинаются с comments. таким образом форма комментирования находится в файле comments.form.class.php Вроде как бы и мелочь, но с другой стороны должно облегчить задачу понимания движка новичком.
Сейчас можно точно сказать - движок почти полностью переписан, так как были затронуты абсолютно все классы, и до сих пор процесс переделки не закончен. Собственно старая версия движка явилась основой, от которой можно построить отличную систему. Движок писался с нуля, но как пример функциональности был wordpress, куда я часто заглядывал за примерами. Думаю, что после выхода новой версии разработчикам следует заглядывать в мои исходники, чтобы удивится простоте.
Комментарии (38) на запись “Неявные шаблоны html”
Оставить комментарий
Ждем с нетерпением!
Есть html validator for firefox, построенный на tidy который кроме валидации умеет переформатировать источник.
https://addons.mozilla.org/ru/firefox/addon/249
Может еще есть варианты для программы в которой пишешь?
1) сделать скрипт для облегчённого конвертирования шаблонов из WordPress или любой другой популярной системы в Блоголёт
2) формировать дистрибутив в архив с уже расстановленными правами доступа, чтобы залил и тут же запустил (очень полезно для новичков и невнимательных людей)
Даже у лайт режима есть шаблон!
Я использую Notepad++, в нем тоже есть tidy. Попробовал отформатировать шаблон, но возникает много ошибок валидации и операция заканчивается в середине шаблона.
В Notepad++ нравится плагин QuickText, если написать букву "а" и нажать таб добавиться тег ссылки, параметры замены можно настроить для каждого типа файлов. При вводе текста в начале новой строки автоматичеси ставится отступ как у предыдущей, поэтому легко сразу писать красивый код. В стандартную версию Notepad++ включено много плагинов, так что не требуется отдельно их скачивать.
http://notepad-plus.sourceforge.net/ru/site.htm
>> чтобы залил и тут же запустил
Я так и делаю, проблем с правами пока не было
На крайний случай, если какие-то ньюансы есть и сложности, - описать в подробном мануале, как подправить это можно.
Я надеюсь на декабрь, а там как получится. Вчера начал первые запуски, то есть пока чтобы не было ошибок парсинга php. До сих пор не сделано: крон для бд, не пересмотрен код xmlrpc, foaf (в том числе и для бд), и вот текущий туду:
создание админских подменю - в них надо, чтобы секция была родительской
добавить кнопку перепарсить тему
в меню затираеттся глобальная переменная $post, когда обрабатываются записи, наверно в шаблоне menucontent заменит $post на $menuitem
не забыть про опциив toptions для меток и категорий и других виджетов
подправить режим вывода исключений в режиме отладке - не сразу в, а колекционировать и потом в самом конце показать все простынки логов
разрулить имя файла в кеше для разных подтем
добавить иконки/аватары в ссылки
класс управления иконками
разрулить кеш для разных подтем и виджетов
разлогинивание при дайджест авторизации - выдать 401
кроме 404 добавить403 запрещено или еще что то
сделать глобальный запрет для всех пользователей кроме админа
сделать одном пространстве id меню и постов из за wordpress
в тикет системе поставить галочку автоматически закрыть тикет после суток на ответ, то есть я ответил и из вежливости пока не закрываю тикет, в письме нотификации автору тикета поставить линк "если вас устроил ответ, то тикет можно закрыть"
в посте commentscount держать в data если комментирование закрыто, чтобы каждый раз не дергать все комменты
добавить в админке обзор иконок для постов/меток/рубрик то бишь в редакторе
вне меню, но порождены от меню: восстановление пароля, форма залогинивания. Непонятно, ка быть, может вполне хватить только urlmap
после залогинивания редирект на /admin/posts/editor/ или еще куда нибудь? Может быть добавить обзорную страницу быстрой помощи, которая прописывала бы что где по чем? Братьиз отдельного спецфайла в languages?
может быть в комменты отдельно добавить раздел пингбеки, и туда же добавить массовую проверку пингбеков на живучость - мертвые пингбеки удалить
редактор тегов/рубрик редактировать список постов - галочками существующие остальные на страницах аяксовых
разрешить редактировать комментарии комментаторам, и новый коммент по новой отправлять подписчикам
был баг, когда все комменты сваливалсь новому подписчику
может быть для меток/рубрик ввести статус черновик?
обзор иконок через аякс
может быть добавитьсобытие для каждого тега?
авторизация в аяксе возможно только по кукам, так ак дайджест заголовки не посылаются
сделать проверку на жавескрипте пингбеков - помечать чекбоксы
сделать допнастройку - редирект админки на https
для пингера может быть сделатьраз в месяц очистку линков
не забыть в насторойках стандартных виджетов аякс
что то надо делать с виджетом ссылок - невнятный класс
плагин админских ссылок сделать аяксовым
добавить аяксовый виджет администрирование
если в админском виджетене залогинился, то показать форму залогинивания и страницу не обновлять, а сделать залогинивание через аякс, такжев виджете администратора показывать ссылку разлогинится
рсс для авторов
рсс общий для мултимедия, и отдельные ддля картинок, видио, звука
не фильтровать тег pre
сделать парсер текста с помощью dom
задокументировать id контента коммента - исползуется для кнопочек плагина цитирования
разрулить posted в файлах как в постах
для файлов показывать иконку для medium, если не указна специконка, ровно как и для постов и всего остального
внести также шаблоны и для ссылок в посте на метки и категории
нет разграничения по ползователям в списке постов
в инсталяторе стустанавливать менеджер комментов
восстановление паролей для мультиползователей
на странице комюзеров добавить линк на страницу подписки
отредактировать абслютно все xmlrpc - немного поправил только блогера
public function getholditems();
еще раз посмотреть парсинг итемов в виджетах
Еще по ходу вопрос, будут ли меняться в новой версии языковые файлы и предусмотрена ли в инсталляторе или в программе возможность смены(добавления) языка сайта и админки.
Пусть ваши руки всегда будут здоровы!
Могу даже для этого стишок выучить! :)
темы отсюда http://blogolet.ru/temy-blogolyota-dostupnye-dlya-skachivaniya/
после применения темы вываливается следующее
Caught exception: The requested property rss not found in class TOptions
0 lib\kernel.php(31): TDataClass->Error('The requested p...')
1 lib\kernel.php(254): TDataClass->__get('rss')
2 lib\templateclass.php(451) : eval()'d code(8): TEventClass->__get('rss')
3 lib\templateclass.php(451): eval()
4 lib\templateclass.php(416): TTemplate->ParseFile('index.tml')
5 lib\kernel.php(881): TTemplate->request(Object(THomepage))
6 lib\kernel.php(869): TUrlmap->PrintClassContent('THomepage', Array)
7 lib\kernel.php(755): TUrlmap->PrintContent(Array)
8 lib\kernel.php(734): TUrlmap->DoRequest('/')
9 index.php(35): TUrlmap->Request('www.myblogolet....', '/')
10 {main} url/style.css\" type=\"text/css\" media=\"screen\" /> url/print.css\" type=\"text/css\" media=\"print\" /> name RSS Feed\" href=\"$Options->rss\" /> pingurl\" /> url/rsd.xml\" /> url/wlwmanifest.xml\" /> url/favicon.ico\" /> foaf\" /> version\" /> keywords\" /> description\" /> url/sitemap/\" /> url/openid/\" /> url/openid/\" /> url/openid/\" /> url/openid/\" /> $Template->archives $Template->head
url$Options->home\">$Options->name
$Options->description
$Template->content
rss\">url/images/rss-icon.png\" alt=\"$lang->subscriberss\" border=\"0\" />
$Template->sitebar2
$Template->footer
url$Options->home\">$Options->name
http://litepublisher.googlecode.com/files/themes.zip
Мой профиль?
Мой профиль?
Как удалить из блока Meta, не нужные ссылки FOAF и
Мой профиль?
как? только 2 ссылки?????????????????????
Ну я же не двусмысленно уже ответил:
Если удалить ссылки - то удали виджет мета, если удалить и страницы по этим ссылкам, то это делать в админке - сервис/классы, где пометить чекбоксы для фоаф, профиля и нажать кнопку деинсталировать. Ткаже после этого рекомендую добавить удаленные ссылкив robots.txt для запрещения индексации
мне виджет Мета нужен, но только чтобы в нем небыло вышеуказанных ссылок.
нужно вот так:
Мета - ссылки на RSS
Записи в RSS
Комментарии в RSS
Карта сайта