30 января 2011 г.
27 января 2011 г.
как изменить скрипт удаления тегов
Есть скрипт для Blogger. Он берёт текст статьи, выкидывает все HTML теги и добавляет картинку изменённого размера из первой картинки сообщения.
Потом текст обрезается и получается анонс статьи.
Использую в блоге для вывода анонса статьи на главной странице http://ivsnow.blogspot.ru
Нужно переделать его так, чтобы остались теги со ссылками <a href...></a> и переноса строк <br>. А то какие то пустые анонсы статей получаются.
Похоже нужно модифицировать функцию
Как это сделать?
Вот текст скрипта:
В нашем случае это выглядит так:
Потом текст обрезается и получается анонс статьи.
Использую в блоге для вывода анонса статьи на главной странице http://ivsnow.blogspot.ru
Нужно переделать его так, чтобы остались теги со ссылками <a href...></a> и переноса строк <br>. А то какие то пустые анонсы статей получаются.
Похоже нужно модифицировать функцию
removeHtmlTagКак это сделать?
Вот текст скрипта:
Благодаря @Alex_Belov решение найдено. Найден сайт с аналогами PHP-шных функций на JScript - http://phpjs.org/functions/strip_tags:535. Используем функцию strip_tags(), которая удаляет все теги кроме указанных в качестве второго параметра.<script type='text/javascript'>var thumbnail_mode = "no-float" ; summary_noimg = 430; summary_img = 340; img_thumb_height = 100; img_thumb_width = 120; </script> <script type='text/javascript'> //<![CDATA[ function removeHtmlTag(strx,chop){ if(strx.indexOf("<")!=-1) { var s = strx.split("<"); for(var i=0;i<s.length;i++){ if(s[i].indexOf(">")!=-1){ s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length); } } strx = s.join(""); } chop = (chop < strx.length-1) ? chop : strx.length-2; while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++; strx = strx.substring(0,chop-1); return strx+'...'; } function createSummaryAndThumb(pID){ var div = document.getElementById(pID); var imgtag = ""; var img = div.getElementsByTagName("img"); var summ = summary_noimg; if(img.length>=1) { imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>'; summ = summary_img; } var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>'; div.innerHTML = summary; }Syhi-подсветка кода
В нашем случае это выглядит так:
<script type='text/javascript'>var thumbnail_mode = "no-float" ; summary_noimg = 430; summary_img = 340; img_thumb_height = 100; img_thumb_width = 120; </script> <script type='text/javascript'> //<![CDATA[ function createSummaryAndThumb(pID){ var div = document.getElementById(pID); var imgtag = ""; var img = div.getElementsByTagName("img"); var summ = summary_noimg; if(img.length>=1) { imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>'; summ = summary_img; } function strip_tags (input, allowed) { // http://kevin.vanzonneveld.net // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: Luke Godfrey // + input by: Pul // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Onno Marsman // + input by: Alex // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Marc Palau // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Eric Nagel // + input by: Bobby Drake // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Tomasz Wesolowski // + input by: Evertjan Garretsen // + revised by: Rafal Kukawski (http://blog.kukawski.pl/) // * example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>'); // * returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>' // * example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>'); // * returns 2: '<p>Kevin van Zonneveld</p>' // * example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>"); // * returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>' // * example 4: strip_tags('1 < 5 5 > 1'); // * returns 4: '1 < 5 5 > 1' // * example 5: strip_tags('1 <br/> 1'); // * returns 5: '1 1' // * example 6: strip_tags('1 <br/> 1', '<br>'); // * returns 6: '1 1' // * example 7: strip_tags('1 <br/> 1', '<br><br/>'); // * returns 7: '1 <br/> 1' allowed = (((allowed || "") + "") .toLowerCase() .match(/<[a-z][a-z0-9]*>/g) || []) .join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>) var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi, commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi; return input.replace(commentsAndPhpTags, '').replace(tags, function($0, $1){ return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''; }); } function removeHtmlTag2(strx,chop){ if(strx.indexOf("<")!=-1) { var strx = strip_tags (strx, '<br><a></a><br />'); } chop = (chop < strx.length-1) ? chop : strx.length-2; while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++; strx = strx.substring(0,chop-1); return strx+'...'; } var summary = imgtag + '<div>' + removeHtmlTag2(div.innerHTML,summ) + '</div>'; div.innerHTML = summary; }Syhi-подсветка кода
24 января 2011 г.
Информер на безе Yahoo Pipes
В связи с участием нашей твитерянки @pargina в конкурсе "Мисс Пресс-служба" http://miss.press-service.ru/members/top10/ потребовалось оперативно сделать для сайта http://twivanovo.ru информер, который брал бы со страницы с результатами текущее значение проголосовавших за Елену Паргину и её основную конкурентку Туяру Мамаеву.
Пришло в голову воспользоваться возможностями Yahoo Pipes по созданию из фрагмента сайта потока. Использовался инструмент Fetch Page
Быстренько был создан вот такой pipe - http://pipes.yahoo.com/pipes/pipe.info?_id=225a33ade66a86342d6d15c742180cd4
Собственно можно его посмотреть.
Для вывода на страницу сайта использовался такой скрипт:
<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">
{
"pipe_id" : "225a33ade66a86342d6d15c742180cd4",
"height" : "380px",
"width" : "600px",
"border" : "1px solid #999",
"containerPadding" : "10px"
}
</script>Syhi-подсветка кода
{
"pipe_id" : "225a33ade66a86342d6d15c742180cd4",
"height" : "380px",
"width" : "600px",
"border" : "1px solid #999",
"containerPadding" : "10px"
}
</script>Syhi-подсветка кода
Ярлыки:
Yahoo pipes
22 января 2011 г.
интернет журнал сделанный на картах Google
http://zkimmer.com/Space/LA/2007/December/
интересно реализованный через использование API Google Maps способ публикации журнала.
интересно реализованный через использование API Google Maps способ публикации журнала.
Ярлыки:
карты
21 января 2011 г.
Как выделить исходный код программы при вставке его в Blogger
http://mlawire.blogspot.com/2009/07/blogger-syntax-highlighting.html
http://alexgorbatchev.com/SyntaxHighlighter/
http://geektalkin.blogspot.com/2009/11/embed-code-syntax-highlighting-in-blog.html
http://cfrogprog.blogspot.com/2010/07/blog-post_30.html
Вот неплохой вариант:
http://dremlin.blogspot.com/2009/09/syntax-highlighter.html
Но самый простой вариант, с установкой виджета в шаблон Blogger:
http://dremlin.blogspot.com/2009/09/syntax-highlighter-widget-blogger.html
Щелкнуть по ссылке –> Добавить на страницу виджет –> Установить виджет –> Использовать.
Наука по использованию возможностей виджета - очень простая. Любой текст, помещенный в теги:
раскрасится виджетом без всяких там занудных правок шаблона блога, как в ранее рассмотренных вариантах подветки. Вот так то... Все гениальное - просто!
Подробности использования здесь, типы хайлайтеров здесь.
http://alexgorbatchev.com/SyntaxHighlighter/
http://geektalkin.blogspot.com/2009/11/embed-code-syntax-highlighting-in-blog.html
http://cfrogprog.blogspot.com/2010/07/blog-post_30.html
Вот неплохой вариант:
http://dremlin.blogspot.com/2009/09/syntax-highlighter.html
Но самый простой вариант, с установкой виджета в шаблон Blogger:
http://dremlin.blogspot.com/2009/09/syntax-highlighter-widget-blogger.html
Щелкнуть по ссылке –> Добавить на страницу виджет –> Установить виджет –> Использовать.
Наука по использованию возможностей виджета - очень простая. Любой текст, помещенный в теги:
<pre class="тип_хайлайтера" name="code">
... Какой-то код, соответствующий типу хайлайтера ...
</pre>
или
<textarea name="code" class="тип_хайлайтера" cols="60" rows="10">
... Какой-то код, соответствующий типу хайлайтера ...
</textarea>
раскрасится виджетом без всяких там занудных правок шаблона блога, как в ранее рассмотренных вариантах подветки. Вот так то... Все гениальное - просто!
Подробности использования здесь, типы хайлайтеров здесь.
Ярлыки:
блоги
Редактор блогов Windows Live 2011
Тестирую новый Ужасный редактор от Microsoft
по их словам:
Куча вариантов смайликов
Вот так работает дополнительный модуль вставки программного кода:
Вставка скриншота сайта:

Вложение файла.
Куда он его запузырил я сразу и не понял. Оказывается куда то на http://lh3.ggpht.com. Сколько он там пролежит мне неизвестно.
Редактор блогов Windows Live 2011
http://explore.live.com/windows-live-writer?os=otherпо их словам:
Редактор блогов стал эффективнее
Редактор блогов Windows Live предоставляет каждому пользователю возможность составлять рассказы, как профессиональный блогер. Можно создавать прекрасные записи блога и смотреть, как они выглядят, прежде чем публиковать их. Кроме того, блог можно опубликовать в избранной службе ведения блогов, такой как WordPress, Blogger, LiveJournal и многие другие.
Посмотрим…
Вставка карты
По умолчанию умеет вставлять карты ТОЛЬКО от их Bing .
Это и понятно. Это продукт «Microsoft».
Куча вариантов смайликов
Вот так работает дополнительный модуль вставки программного кода:
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<!-- add brushes here -->
<script type='text/javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
</script>
<div style="float:left;padding:4px;">
<a href='http://twitter.com/share' rel='nofollow' class='twitter-share-button' expr:data-url='data:post.url' expr:data-text='data:post.title' data-related='ebloggertricks:Tips and Tricks for Blogger' data-count='vertical' data-via='' data-lang='en'>Tweet</a>
<b:if cond='data:post.isFirstPost'>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js">
</script>
</b:if>
</div>
Вставка скриншота сайта:

Вложение файла.
Куда он его запузырил я сразу и не понял. Оказывается куда то на http://lh3.ggpht.com. Сколько он там пролежит мне неизвестно.
Ярлыки:
инструменты
Как вставить кнопку Twetter Share в блог на Blogger
Захотел в свой блог на Blogger добавить в начало каждого поста официальную кнопку от Твиттера, чтобы можно было оперативно отправить в Твиттер ссылку на статью.
Для этого:
1. Входим в Панель инструментов Blogger идём в меню Дизайн -> Изменить HTML
2. Включаем чекбокс с надписью „Расширить шаблоны виджета”
3. Ищем в коде шаблона (Ctrl + F) строку
Жмём кнопку Сохранить шаблон
Не забудьте в параметре data-via="имя в Твиттере'' вписать свой аккаунт в твиттере
Дополнительные параметры:
1. Выравнивание кнопки. Если в строке
Для этого:
1. Входим в Панель инструментов Blogger идём в меню Дизайн -> Изменить HTML
2. Включаем чекбокс с надписью „Расширить шаблоны виджета”
3. Ищем в коде шаблона (Ctrl + F) строку
<data:post.body/>
и сразу после неё вставляем следующий код
<div style="float: left; padding: 4px;">
<a class="twitter-share-button" data-count="vertical" data-lang="en"
data-related="related text" data-via="имя_в_Твиттере" expr:data-text="data:post.title"
expr:data-url="data:post.url" href="http://twitter.com/share" rel="nofollow">Tweet</a>
<br /> <b:if cond="data:post.isFirstPost"><br />
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"> </script>
<br /> </b:if><br />
</div>
Жмём кнопку Сохранить шаблон
Не забудьте в параметре data-via="имя в Твиттере'' вписать свой аккаунт в твиттере
Дополнительные параметры:
1. Выравнивание кнопки. Если в строке
<div style="float:left;padding:4px;">
float:right заменить на float:left то кнопка будет выравниваться не по правому краю сообшения, а по левому. В некоторых шаблонах это бывает удобнее.
2. Тип кнопки: data-count='vertical' - можно заменить на data-count='horizontal' или data-count='none'
Ссылки по теме:
Ссылки по теме:
Ярлыки:
блоги


