Показаны сообщения с ярлыком blogger. Показать все сообщения
Показаны сообщения с ярлыком blogger. Показать все сообщения

20100114

Кнопки твиттера, жуйки, я.ру и ЖЖ для Blogger

Приятно, когда на тебя ссылаются, поэтому любой заядлый блоггер любит всякие кнопки вроде «retweet» и «в делишез». «Retweet» особенно: в микроблогах ссылаются охотнее. Однако кроме твиттера, у нас есть ещё и ЖЖ, и Я.ру, и juick. А вот каким-нибудь stumbleupon никто не пользуется.

Никакие готовые кнопки мне не понравились: 1) большинство из них неправильно работает, если заметка находится на главной странице, 2) они почти все требуют установки чужих скриптов, часто тормозных 3) многие кнопки игнорируют популярные в России (и среди моих читателей) ЖЖ, Я.ру и juick. Вот и пришлось сделать самому.

Решил встроить кнопки в шаблон blogger, потому что именно на этапе применения шаблона известны и заголовок, и постоянный адрес заметки, и при этом не требуется никаких скриптов, кроме движка самого blogger.

Что получилось

Первая версия выглядит примерно так (это просто картинка, не кликать! — настоящие кнопки внизу заметки):

Кнопки подписал по-русски. Для надёжности расшифровал. Проверил, точно работают «пожужжать |жж», «двумЯ.РУками |я.ру» и «расчирикать |twi». Кнопка для жуйки по идее должна работать, только я её проверить не смог, потому что у меня обработчик XMPP URI не настроен. Пожалуйста, проверьте, кто пользуется, отпишитесь и скажите, как надо поправить, если что.

Как установить себе

В шаблоне блога «раскрыть виджеты», найти подходящее место (например, я выбрал post-footer-line-2) и добавить туда такой код:

<div class="sharemebuttons">
<a class="shareme" expr:href='"http://www.livejournal.com/update.bml?subject=Ссылка: "
+ data:post.title + "&amp;event=" + data:post.title + ": "
+ data:post.url'>пожужжать |жж</a>

<a class="shareme" expr:href='"http://my.ya.ru/posts_add_link.xml?title="
+ data:post.title + "&amp;URL=" + data:post.url'>двумЯ.РУками |я.ру</a>

<a class="shareme" expr:href='"xmpp:juick@juick.com?message;body="
+ data:post.title + " " + data:post.url'>перетереть |juick</a>

<a class="shareme" expr:href='"http://www.google.com/reader/link?url="
+ data:post.url + "&amp;title=" + data:post.title + "&amp;srcURL="
+ data:blog.homePageUrl + "&amp;srcTitle=" + data:title'>побузить |buzz</a>

<a class="shareme" expr:href='"http://twitter.com/home?status="
+ data:post.url + " " + data:post.title'>расчирикать |twi</a>
</div>

Для ЖЖ бы хорошо в event помещать уже HTML-код, но у меня пока не получилось.

Надо, наверное, добавить красивые графические иконки (не знаю, дойдут ли руки, но собственноручно нарисованный чижик для твиттера у меня уже есть; нет ничего для жуйки и жж). Пока довольствуюсь вот таким фрагментом CSS (тоже черновой вариант, вставлять в таблицу стилей в верху шаблона):
div.sharemebuttons {
margin-top: 1em;
margin-bottom: 1em;
}
a.shareme, a.shareme:visited {
text-decoration: none;
padding: 3px 8px;
margin: 0em 8px 0em 0px;
background-color: #94cc32;
color: white;
}
a.shareme:hover {
background-color: #aced3a;
color: white;
}

Всякие улучшения приветствуются. Ну и ссылки, конечно :-)

Доп. 1: добавил кнопку для «Я.ру».

Доп. 2: исправление для кнопки «Я.ру» — чтобы при нажатии на кнопку незалогинненному пользователю вначале предлагалось войти в «Я.ру», добавить в шаблон блога такой Javascript-код (например, перед </head>):
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("a.shareme[href^='http://my.ya.ru']").attr("href", function() {
return "http://passport.yandex.ru/passport?mode=auth&amp;retpath=" + escape(this.href);
});
});
</script>
Без этого скрипта кнопка тоже работает, но только для залогинненых пользователей «Я.ру».

Доп. 3: добавил кнопку для Google Buzz (через Reader).

20080207

OpenID в Blogger, без делегации

Я уже рассказывал, как можно использовать блоги на blogspot в качестве OpenID. Описанный ранее способ полагался на делегацию OpenID запроса стороннему провайдеру OpenID (например, ЖЖ). Сегодня я дополнил эту заметку описанием другого способа, без делегации запроса. С недавних пор blogger.com стал сам OpenID-провайдером. И хотя возможность эта пока экспериментальная, вроде бы работает.

Итак, кому интересно, читайте про использование «родного» OpenID в Blogger.

20070919

OpenID в Blogger

2008-11-26: Данная заметка частично устарела. Поддержка OpenID доступна теперь всем пользователям Blogger и не требует специальной настройки. Просто используйте стандартный шаблон и адрес своего блога в качестве OpenID. И всё.

2010-09-15: Теперь проще всего в качестве OpenID использовать страницу гугло-профиля. Достаточно создать профиль и выбрать ему URL.

Нашёл заметку, как можно использовать OpenID в blogger (ну и, в общем, на любом другом сайте). А с OpenID можно постить и в ЖЖ, и во многих независимых блогах, а также пользоваться другими сервисами, не регистрируясь на каждом из них отдельно (например, RUmarkz и Zooomr поддерживают OpenID).

Инструкция такая:

  1. Получить OpenID, например на одном из бесплатных OpenID-сервисов. Можно, например, воспользоваться pip.versignlabs.com или www.myopenid.com. Или ЖЖ, или moikrug.ru.
  2. Добавить в шаблон блога (или в шаблон сайта), в head
    <link rel="openid.server" href="http://pip.verisignlabs.com/server" />
    <link rel="openid.delegate" href="http://логин.pip.verisignlabs.com/" />
    где логин — логин на pip.versignlabs.com в данном случае. Если у вас уже есть учетная запись пользователь в LiveJournal, то можно вставить вместо этого
    <link rel="openid.server" href="http://www.livejournal.com/openid/server.bml" />
    <link rel="openid.delegate" href="http://пользователь.livejournal.com/" />


  3. Всё, можно пользоваться. И указывать адрес своего блога в качестве OpenID. Запрос будет перенапрявляться выбранному OpenID-сервису (в который, предварительно, конечно нужно залогиниться).


 

Другой способ: использование OpenID самого Blogger
(добавлено 07.02.2008)



В январе Blogger разрешил подписывать комментарии с помощью OpenID, а затем и сам стал полноценным OpenID-провайдером. Это значит, что теперь можно не делегировать аутентификацию стороннему провайдеру (например, ЖЖ), а пользоваться сервисом Google. Вероятно это будет работать лучше, чем делегация, которую не всегда корректно обрабатывают, например, некоторые основанные на Wordpress блоги…

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

Порядок такой:

  1. Идём по вот этой ссылке и редактируем свой профиль, используя экспериментальный интерфейс (в общедоступном интерфейсе этой функции ещё нет). В разделе Privacy включаем «Enable OpenID for blogs»*.
  2. В шаблон блога, в раздел <head> вставляем:
    <link rel="openid.server" href="http://draft.blogger.com/openid-server.g" />

Сделал, попробовал, вроде работает (не везде, не срабатывает во многих wordpress-блогах, буду разбираться; есть подозрение, что это связано с тем, что blogger заменяет двойные кавычки в шаблоне на одиночные, а может быть это просто баг плагина для wordpress).

Дополнение: возможно, кому-то будет интересно узнать, откуда все эти «rel="openid.server"» берутся; вот ссылки на спецификации: Transforming an HTML document Into an Identifier (OpenID 1.1) и HTML-based discovery (OpenID 2.0).

*) Дополнение 2008-10-25: Прошёл год. Похоже, OpenID в Blogger вышел из экспериментальной стадии. Теперь его не надо включать в экспериментальном профиле пользователя, но есть вкладка «OpenID» в найстройках блога, а в шаблонах новосозданных блогов уже есть строчка <link rel="openid.server" href="http://www.blogger.com/openid-server.g" />. Так что если вы начали пользоваться Blogger недавно, то скорее всего всё уже и так работает. Пропробовать работу OpenID можно здесь.