суббота, 22 сентября 2007 г.

Несколько примочек для Blogger

1. Вставка кода
Наверное, все современные форумы поддерживают тег [code][/code], позволяющий размещать в своих сообщениях блоки кода. В Blogger такой возможности нет. Я реализовал ее следующим образом:
В шаблоне, где описываются все стили (между тегами <b:skin><![CDATA[ и ]]></b:skin>) вставляем
pre.my_code_box {
border: 1px solid #aaaaaa;
overflow: auto;
padding: 10px;
font-family: courier new;
}
Теперь, чтобы выделить какой-нибудь текст как код, окружите его тегами <pre class="my_code_box"></pre> (естественно, в режиме "Изменить Html").

Update 07.12.2008:
Относительно вопроса подсветки синтаксиса: могу порекомендовать статью Highlighting thoughts, в которой автор рассмотрел различные подходы к решению данной проблемы.



2. Читать полностью...
Если хотите использовать "свертывание" статьи в ссылку "Читать полностью...", пропишите за тегом ]]></b:skin>, но в пределах <head> строки
<b:if cond='data:blog.pageType == "item"'>
<style>span.fullpost {display:inline;}</style>
<b:else/>
<style>span.fullpost {display:none;}</style>
</b:if>
Теперь перейдите в "расширенный" режим редактирования шаблона и найдите в нем тег <data:post.body/>. Сразу после него ставим
<b:if cond='data:blog.pageType != "item"'>
<br/><a expr:href='data:post.url'>Читать полностью...</a>
</b:if>
Свертываемую часть сообщения надо заключить в тэг <span class=fullpost></span>.


3. Облако тегов
То, как его сделать, описано тут.


4. Вставка в текст сообщения специальных символов
Если в тексте вашего сообщения содержатся специальные символы (к примеру, при вставке кода), то для того, чтобы они отображались так, как вы хотите, их нужно экранировать. Для этого замените следующие символы указанными последовательностями:
& - &#38;
< - &#60;
> - &#62;
" - &#34;

Вставлять их нужно в режиме "Изменить Html" и после этого не переключать режимы, иначе Blogger "забудет" о том, что вы их экранировали.

12 комментариев:

f1ufx комментирует...

использовал пункт 2.
ты до этого сам дошёл, или где то нашёл?
странно, что блогспот не предоставил этой стольнужной функции в нормальной форме.
спасибо за эту информацию. наверное надо былобы добавить в справку блогспота... )

щас пробую вести свой блог на блогспот.
пока что очень многое не нравится... =\

Unknown комментирует...

Нет, дошел не сам. Где-то наткнулся.
В справке это есть - http://help.blogger.com/bin/answer.py?hl=en&answer=42215

Насчет блогспота полностью согласен - когда создавал свой блог, ожидал большего. То, что в нем нет таких базовых настроек просто удручает... Но в сторону других сервисов по созданию блогов даже не смотрел, т. к. уже привык, что у меня все на Google - почта, jabber, RSS, заметки... Т. к. Google пытается тесно интегрировать все свои сервисы, есть смысл пользоваться преимущественно его услугами.

drakulavich комментирует...

Дельная статья. Накомбинировал в свой блог с миру по нитке :)

oddmin комментирует...

А как быть с короткими заметками?

Получается, то "читать полностью" появляется после каждого поста, даже если он маленький и смысла его сворачивать нет.
И это раздражает читателей, они нажимают читать полностью, а там ничего нет :)
Как-то можно принудительно убрать это для нескольких постов?

Unknown комментирует...

oddmin, не знаю. Наверное, можно, если разобраться, как писать подобные "расширения" для блоггера. Мне, честно говоря, тратить время на его изучение жалко, поэтому пользуюсь тем, что нашел.

P.S.: кроме того, что "Читать далее" отображается в маленьких постах, она еще плюс ко всему только скрывает содержимое поста под катом, т. е. загружаемая страница блога хоть и показывает только часть сообщений, но "весит" столько, как будто сообщения отображаются полностью.

sensor комментирует...

Спасибо за заметку "Вставка кода", использовал ее до того момента пока не нашел Syntax Highligter Widget на базе SyntaxHighlighter 1.5.1 , за что огоромное спасибо Carl Mason'у aka FaziBear.
По ссылке можно установить: http://fazibear.googlepages.com/blogger.html.
Как пользоваться по ссылке: http://code.google.com/p/syntaxhighlighter/wiki/Usage
Попробуйте думаю понравиться.

Unknown комментирует...

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

v-kamkov комментирует...

Взгляните на вторую версию SyntaxHighlighter, теперь и Bash скрипты подсвечиваются. Вот список поддерживаемых форматов http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes

Unknown комментирует...

Камков Вячеслав, спасибо за наводку. Буду вставлять код в блог - обязательно присмотрюсь к этой штуке.

Unknown комментирует...

Sergei, а вот это вы сделали?
> Свертываемую часть сообщения надо заключить в тэг <span class=fullpost></span>.

Хотя, на самом деле, с недавнего времени оно уже не актуально - You Might As Well Jump!.

Unknown комментирует...

Ну что я могу сказать - значит вы что-то не так сделали (или просто не залогинились). Попробуйте по-внимательней.

Unknown комментирует...

А вообще лучше все-таки использовать вот этот метод. Т. к. это более правильное решение.