Никакие готовые кнопки мне не понравились: 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 + "&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 + "&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 + "&title=" + data:post.title + "&srcURL="
+ data:blog.homePageUrl + "&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&retpath=" + escape(this.href);
});
});
</script>
Доп. 3: добавил кнопку для Google Buzz (через Reader).



криво работает с Я.ру:
ОтветитьУдалитьЕсли незалогинен, то все с виду проходит нормально (форма для написания поста, авторизация), а пост на выходе не появляется.
Если залогинен, то все ОК.
Действительно. Подтверждаю. Спасибо.
ОтветитьУдалитьЕсть идея, как можно исправить (отправлять на http://passport.yandex.ru/passport?mode=auth&retpath=...), но потребуется включить в страницу фрагмент на Javascript, чтобы кодировать аргумент repath (шаблон blogger этого не умеет). Попробую в свободное время.
Добавил скрипт исправляющий кнопку «Я.ру». Теперь работает и так, и так.
ОтветитьУдалитьскажи лучше что делать когда берут тексты, правят и вставляют туда нехорошие ссылки?
ОтветитьУдалитьffsdmad,
ОтветитьУдалитьНе знаю, может быть так и так? Ссылаться на это правило. Ещё можно слать DMCA-заявки американским провайдерам и судиться с нашими юр. и прочими лицами (см. 247 ГПК РФ как). Я однажды просто вывесил (и подсунул гуглу) поимённый список плагиаторов (порылся и нашёл кое-что на некоторых). Некоторые «копии» после того исчезли. Стыдно, наверное, стало. А вообще, это тема отдельного разговора.
Проблема с такими кнопками, что сервисов много, у вас я насчитал уже пять штук. На всех не напасёшся. Гораздо выгоднее, чтобы блог экспортировал идентификатор записи, а посетитель выбирал, в какой сервис добавлять блоговый пост, путём настройки блогосферы или веб-броузера. В Atom предусмотрен идентификатор поста, но сквозного удобного решения я пока не видел.
ОтветитьУдалитьshareme это что?
ОтветитьУдалитьменя вот какая кнопка интересует, как сделать кнопку в пост ЖЖ, чтобы на нее нажимал читающий в моем посте и он таким образом отсылал ссылку моего поста от своего имени в твиттер
.shareme — просто название стиля; как кнопку в пост ЖЖ сделать — я не знаю, эти — только для шаблонов blogspot.com.
ОтветитьУдалитьСпасибо!
ОтветитьУдалитьПрикрутил несколько кнопочек у себя в блоге. Понравилось, что не используется грузный js (за исключением Я.ру, но я костыль не ставил).
ugnich написал, что для кнопок расшаривания в juick лучше использовать форму на сайте. Следует заменить url на http://juick.com/post?body=some%20text
ОтветитьУдалитьСделал у себя замену. Не знаю, только как кракозябры вместо кириллицы победить.
Спасибо. Не знал, что там теперь форма есть. Я попробовал сделать
ОтветитьУдалить<a class='shareme' expr:href='"http://juick.com/post?body=" + data:post.title + " " + data:post.url'>перетереть |juick</a>
Текст в форму вроде подставляется правильный (без кракозяб), но, когда нажимаю «Post» — не отправляется (Forbidden), хотя в Juick залогинен. В общем, пока не буду основным вариантом предлагать.
Это просто класс! Спасиюо! Давно искал для рунета.
ОтветитьУдалитьСпасибо!!!
ОтветитьУдалитья использую код (не знаю как его запостить в коммент) в конце каждого поста - сделал это в шаблоне сообщения - для перепоста в ЖЖ
ОтветитьУдалитьЗдравствуйте!
ОтветитьУдалитьСпасибо огромное за такое полезное дело!
Очень хорошо было бы сделать кнопку для "вконтакта", так как куча народа отчего-то проводит там основное время пребывания в интернете.
Как это реализовано в постах на этом, к примеру, сайте :
http://www.lookatme.ru/flows/kosmos/posts/94955-vzryv-sverhnovoy-v-etom-godu
Реально ли так (или примерно так) сделать и в blogger?
Да, реально. Код кнопки, думаю, примерно такой (не проверял):
ОтветитьУдалить<a class="shareme" expr:href='"http://my.ya.ru/posts_add_link.xml?URL="
+ data:post.url'>вконтакт |вк</a>
Только в href ссылка другая:
ОтветитьУдалить"http://vkontakte.ru/share.php?url="