15 февраля 2011 г.

конвертация ANSI в UTF-8 на VBS

option Explicit
Dim fso,files,file
Const adTypeBinary = 1
Const adTypeText = 2
Const bOverwrite = True
Const bAsASCII = False
Dim oFr : Set oFr = CreateObject("ADODB.Stream")
Dim sFr : sFr = "Windows-1251"
Dim oTo : Set oTo = CreateObject("ADODB.Stream")
Dim sTo : sTo = "utf-8"
set fso = CreateObject("Scripting.FileSystemObject")
set files = fso.GetFolder("C:\ConvertFolder\IN").Files


For Each file In files
oFr.Type = adTypeText
oFr.Charset = sFr
oFr.Open
oFr.LoadFromFile file

oTo.Type = adTypeText
oTo.Charset = sTo
oTo.Open
oTo.WriteText oFr.ReadText
oTo.SaveToFile ("C:\ConvertFolder\OUT" & file.Name)
oFr.Close
oTo.Close
Next

Сохраните с раширением .vbs и создайте\переименуйте каталоги.

5 февраля 2011 г.

Пост с телефона

Тестовый пост с телефона через офф.клиент Blogger от Google


30 января 2011 г.

27 января 2011 г.

как изменить скрипт удаления тегов

Есть скрипт для Blogger. Он берёт текст статьи, выкидывает все HTML теги и добавляет картинку изменённого размера из первой картинки сообщения.
Потом текст обрезается и получается анонс статьи.
Использую в блоге для вывода анонса статьи на главной странице http://ivsnow.blogspot.ru
Нужно переделать его так, чтобы остались теги со ссылками <a href...></a> и переноса строк <br>. А то какие то пустые анонсы статей получаются.
Похоже нужно модифицировать функцию  removeHtmlTag
Как это сделать?

Вот текст скрипта:
<script type='text/javascript'>var thumbnail_mode = &quot;no-float&quot; ; 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-подсветка кода
Благодаря @Alex_Belov решение найдено. Найден сайт с аналогами PHP-шных функций на JScript - http://phpjs.org/functions/strip_tags:535. Используем функцию strip_tags(), которая удаляет все теги кроме указанных в качестве второго параметра.
В нашем случае это выглядит так:

<script type='text/javascript'>var thumbnail_mode = &quot;no-float&quot; ; 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-подсветка кода

22 января 2011 г.

интернет журнал сделанный на картах Google

http://zkimmer.com/Space/LA/2007/December/

интересно реализованный через использование 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

Щелкнуть по ссылке –> Добавить на страницу виджет –> Установить виджет –> Использовать.
Наука по использованию возможностей виджета - очень простая. Любой текст, помещенный в теги:

<pre class="тип_хайлайтера" name="code">
... Какой-то код, соответствующий типу хайлайтера ...
</pre>
или
<textarea name="code" class="тип_хайлайтера" cols="60" rows="10">
... Какой-то код, соответствующий типу хайлайтера ...
</textarea>



раскрасится виджетом без всяких там занудных правок шаблона блога, как в ранее рассмотренных вариантах подветки. Вот так то... Все гениальное - просто!


Подробности использования здесь, типы хайлайтеров здесь.