Trifler Blog
Никогда не приходилось этим заниматься, но все когда-нибудь бывает в первый раз… Возможно предлагаемое всем известно и лишь местный автор как всегда снова открывает свою «Америку».
Речь идет о конвертации файлов с раcширением .fb2 в привычный вордовский документ с возможностью его дальнейшего редактирования не посредственно в Microsoft Office.
Задача на первый взгляд имеет достаточно простое решение, но не любовь к установке нового софта, время, потраченное на его изучение показалось мастеру Горди слишком обременительным.
Конвертируем .fb2 в .doc
Только то, что изначально входит в состав Windows XP
Открываем файл с раcширением .fb2 в блокноте и сохраняем его с расширением .htm (.html)
Открываем полученный файл в выше упомянутом браузере, все выделяем и копируем.
Открываем Microsoft Word, производим вставку из буфера обмена скопированного ранее и сохраняем полученное.
Без установки дополнительного софта обошлись подручными средствами и имеем возможность редактировать содержимое.
*****
Более элегантным и менее затратным решением может быть постое переименование файлов с расширением .fb2 в .htm, тем самым исключая из процесса "Первый шаг".
Далее по уже стандартной схеме - открываем полученные файлы в браузере, выделяем, копируем, потом вставка скопированного в Microsoft Word и, как завершающий этап сохранение документа с разрешением .doc.
*****
Структура документа с расширением .fb2 такова, что IE6+ могут вывести только то, что расположено внутри тега <body>...</body>
Браузеры - FireFox, OPERA, Google Chrome отображают на экране монитора все содержимое документа.
Многие пользователи скриптов Мастера Lasto, очень часто не подозревают о возможностях оных, не смотря на то, что практически все скрипты имеют собственные страницы онлайн-мануалов и великолепно документированы в соответствующих файлах отдаваемого дистрибутива.
В большинстве случаев это происходит по нескольким причинам:
Предлагаемый цикл статей поможет устранить данный пробел.
Вадим Ласто - талантливый программист, автор многочисленных скриптов - "nano CMS", "Lasto Blog", "Gold Shop" и т.д. и т.п. которые по многим своим параметрам не имеют аналогов не только в России, но и за бугром.
Часть скриптов отдается совершенно бесплатно, часть стоит чисто символическую сумму. Отзывчивая, всегда доступная и корректная помощь, позволяет начинающему, делающему свои первые шаги в Паутине, легко понять и освоить функционал и принципы работы скриптов.
Вадим Николаевич, как блогер на страницах своего блога, много пишет об актуальных проблемах русско-язычного сегмента Интернет и часто его размышления идут в разрез с общепринятым мнением.
Ярко выраженная индивидуальность изложения материала, перекрасное владение языком, чему можно только позавидовать, делает его публикации по тем или иным вопросам не забываемыми...
По дефолту в нем расположен html-код выводящий рекламные блоки типа небоскреб в колонки навигации. Мы же начнем с чистого листа. Удаляем все содержимое указанного файла - должно стать так:
<?php /* Выше этой строки в файле ничего не должно быть */ $counters=<<<counters counters; /* Ниже этой строки в файле ничего не должно быть. */ ?>
Для получения картинки, что приведена на скриншоте ниже, в блоках, которой можно расположить, как текстовую информацию, так и графику, а также рекламные баннеры на основе флеш:
необходимо в файл counters.php добавить следущее:
<?php /* Выше этой строки в файле ничего не должно быть */
$counters=<<<counters
<style type="text/css">
.counters {
border:#ccc 1px solid;margin:15px auto;
overflow:hidden;width:494px;
}
.bannercounters {
border:#ccc 1px solid;float:left;
margin:2px 0 2px 2px;width:160px;height:160px;
}
</style>
<div class="counters">
<div class="bannercounters">
banner counters.php
leftcounters
</div>
<div class="bannercounters">
banner counters.php
centercounters
</div>
<div class="bannercounters">
banner counters.php
rightcounters
</div>
</div>
<div class="counters">
Горизонтальный banner counters.php - width:494px;
</div>
counters;
/* Ниже этой строки в файле ничего не должно быть. */ ?>
С учетом того, что размеры контейнеров имеют фиксированную ширину, а блоки верхней части скриншота и фиксированную высоту это накладывает определенные ограничения на размещаемую в них информацию.
Оформление блоков может быть любым, все определяется только двумя классами стилей, которые можно вынести в общий файл XXX.css.
Интересной возможностью является разбиение содержимого файла counters.php на две или более частей, которые индивидуальными переменными могут быть интегрированы в нужное место файла design.php.
Прежде всего, снова обратимся к файлу counters.php для получения нужного функционала и произведем все необходимые нам действия:
<?php /* Выше этой строки в файле ничего не должно быть */
$counters=<<<counters
<style type="text/css">
.counters {
border:#ccc 1px solid;margin:10px auto;
overflow:hidden;width:494px;
}
.bannercounters {
border:#ccc 1px solid;overflow:hidden;
margin:10px auto;width:190px;
}
</style>
<!-- topcounters -->
<div class="counters">
Горизонтальный banner counters.php - width:494px;
</div>
<!-- topcounters -->
<!-- leftcounters -->
<div class="bannercounters">
banner counters.php
leftcounters
</div>
<!-- leftcounters -->
<!-- rightcounters -->
<div class="bannercounters">
banner counters.php
rightcounters
</div>
<!-- rightcounters -->
<!-- bottomcounters -->
<div class="counters">
Горизонтальный banner counters.php - width:494px;
</div>
<!-- bottomcounters -->
counters;
/* Ниже этой строки в файле ничего не должно быть. */ ?>
Секрет заключается в комментариях:
<!-- XXXcounters --> ... <!-- XXXcounters -->
В данном случае содержимое файла разбито на четыре части. Заключенный между ними html-код, может быть любым, также, как и его оформление, которое определяется двумя классами стилей.
Следующий шаг - редактирование файла design.php:
# Расфасовка содержимого по колонкам из файла counters.php
$leftcounters=$rightcounters=$topcounters=$bottomcounters='';
if (preg_match_all("~<\!-- leftcounters -->(.*)<\!-- leftcounters -->~Usi",$counters,$n)) $leftcounters=$n[1][0];
if (preg_match_all("~<\!-- rightcounters -->(.*)<\!-- rightcounters -->~Usi",$counters,$n)) $rightcounters=$n[1][0];
if (preg_match_all("~<\!-- topcounters -->(.*)<\!-- topcounters -->~Usi",$counters,$n)) $topcounters=$n[1][0];
if (preg_match_all("~<\!-- bottomcounters -->(.*)<\!-- bottomcounters -->~Usi",$counters,$n)) $bottomcounters=$n[1][0];
Эти строки размещаем перед строкой:
switch ($_s['settings']['designtype']) {
Полученные таким образом переменные:
$leftcounters $rightcounters $topcounters $bottomcounters
расставляем в нужные места шаблона страницы в том же файле design.php
По названию переменных должно быть понятно, какие куда.
Две верхних предназначены в основном для колонок навигации, последовательность их расположения по отношению к другим переменным - $menu, $add, $calendula, определяется самостоятельно.
Две нижних предназначены для области контента, оптимально перед и после переменной $echo, что не исключает их использования в header или footer, при соответствующем изменении html и css.
Будьте внимательны, соблюдайте синтаксис php, html и css, простой копипаст убережет от ошибок.
Все работоспособно и не однократно проверенно на практике.
Автор, благодарит Мастера Lasto за неоценимую помощь, приведшую к написанию данного поста, который, надеюсь, позволит поклонникам его творчества лучше разобраться в тонкостях и нюансах скрипта Lasto Blog.
Два года назад местный автор методом "научного тыка" совершенно случайно наткнулся на грязный css hack для IE8, который до сих пор в исключительных случаях приносит неоценимую пользу.
Напомню:
.XXX {color:#a00\0/;}
Указанный цвет увидит только IE8.
А вот с hack'ом для IE7 забавная история приключилась. Хак известный:
*+html.XXX {color:#a00;}
Был по запарке записан так:
*+*.XXX {color:#a00;}
Понятно, разбор полетов ошибку выявил, но стало интересно...
Тупой перебор доступных с клавиатуры знаков привел к такому:
*+*.XXX {color:#a00;}
*~*.XXX {color:#a00;}
IE6, как и полагается сказал "привет" и все поигнорировал :)
Все остальные браузеры последних версий, включая IE7(8,9), скушали предлагаемое на ура.
Введение дополнительного пробела после второй звездочки приводит их в чувство.
Но важно совершенно другое.
Имеем два абсолютно идентичных блока:
html
<div class="hackcss">
...
</div>
<div class="hackcss">
...
</div>
css к ним
.hackcss {
border:#00a 1px solid;color:#00a;
margin:10px auto;padding:7px;width:400px;
}
*+*.hackcss {border:#a00 1px solid;color:#a00;}
Наблюдаем странную вещь, которой объяснений разумных нет.
Как говориться не верь глазам своим...
Горизонтальный banner counters.php - width:494px;
| февраль, 2012 | ||||||
| пн | вт | ср | чт | пт | сб | вс |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||