Как создать скриншот странички на стороне сервера
Встала задачка, сделать скриншет сайта на стороне сервера (Linux).
Обнаружил сразу несколько способов.
Первый способ это воспользоваться khtml2png - консольная утилита которая испольльзует khtml - движек на котором работают Safari и Crome. Утилита требует наличия иксов, чтобы запустить X сервер на сервере, можно воспользоваться Xvfb.
Еще один способ это установить на сервер firefox. При наличии Xvfb он отлично запускается.
Оба способа работают, однако khtml2png работает довольно грустно ибо не поддерживает флеш, firefox работает гораздо веселее, но пока никак не соображу как запустить его из командной строки на fullscreen.
Как сделать картинку без картинки
Обнаружил забавное, оказывается можно на стороне клиента показывать картинку не загружая с сервера бинарник из файла:
<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0 vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />
ul.checklist > li.complete { margin-left: 20px; background:
url('data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAA
ABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/5
8ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/A
FGGFyjOXZtQAAAAAElFTkSuQmCC') top left no-repeat; }
Скругленные углы в FF и Safari
Пока поддержка CSS3 находится в зачаточном состоянии браузеры потихоньку обзаводятся разными полезными штуками, например возможностью делать скругленные уголки.
Здесь описаны примеры как в мозиле и фаерфоксе добиться скруглённых уголков. Все предельно просто:
W3C has offered some new options for borders in CSS3, of which one is border-radius
. Both Mozila/Firefox and Safari 3 have implemented this function, which allows you to create round corners on box-items. This is an example:
Код который это делает выглядит следующим образом:
<div style=" background-color: #ccc; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; padding: 10px;" >
Жаль IE пока такое себе не позволяет.
Синтез Речи под Линукс
На платформе Windows есть замечательная штука называемая Speech API которую я использую чтобы начитывать книжки в mp3 и потом слушать с мобильника. Здравый смысл подсказывает что под Линукс должна быть своя система для синтеза голоса, и такая система действительно есть - это festival.
Под Ubuntu festival ставится при помощи стандартной системы установки пакетов. Однако русского языка в дистрибутиве Убунты я не нашел. Однако поискав в Интернете нашел что некие ребята разработали русский голос для festival.
Скачал дебиановский пакет, убунтовый почему то не скачался. Попробовал...
Тембр голоса оказался довольно приятным, но вот интонация чтения, и фразовые ударения оказались заметно хуже чем у микрософтского движка. Кроме того, программа отказывается воспроизводить файл если в нем есть латинские буквы.
В общем до практического использования festival оказался мне не пригоден.
Попробовал установить Speech API и Говорилку (ее я использую под Windows) под Wine и... о чудо. Программа запустилась. И говорит! Сейчас поставил синтезировать очередную вещь Юрия Никитина... Пока работает без сбоев, посмотрим доделает ли до конца... Под Виндовс она что греха таить глючит, поэтому приходится файл скармливать по кусочкам, будет смешно если под Wine она окажется стабильней...
P. S. Доделал, субъективно прграмма работала подольше чем под виндой, по какой-то причине в настройках Говорилки оказалась заблокированной настройка выбора размера части поэтому книжка оказалась порезена на куски по 16 мегов, не критично, хотя обычно я выбираю побольше. Качество синтеза я на слух отличить не смог, хотя при работе на динамики Wine режет частоты очень сильно. В случае c mp3 это не критично... Еще под вайном не работает буфер обмена - думаю из-за utf8, но думаю можно покапаться в настройках.