Diploma II: выкладывание в Сеть
Дано: диплом в формате MS Word. Надо: привести его в нормальный HTML и выложить на сайте.Лирическое отступление. И снова о Microsoft. Дело в том, что я уважаю эту компанию. Абсолютно честно. Пусть это уважение и не связано с теми програмными продуктами, которая эта компания делает, но все-таки компания, победившая в «войне браузеров» и так здорово подмявшая под себя рынок операционных систем для PC, не может не вызывать уважения.
Поставил себе не так давно XP. Ну, «блокнот» начал, наконец-то, открывать файлы больше 64 килобайт, уже «давно», чуть ли не с Windows 2000 (На самом деле с NT4, но простому пользователю это все равно). Забавная ситуация — edit.com (это не адрес сайта) в DOS’е открывал файлы больше 64 килобайт черт знает с какого года, а вот с 1995 года блокнот в Виндах открывал файлы только меньше 64 килобайт.
Полез в мой любимый штатный sound recorder. Так и предполагалось — на машине с 256 мегами памяти и 30 гиговым диском этот sound recorder до сих пор не может записывать звуковой файл длинее одной минуты. Алло! 21 век на дворе.
При этом Microsoft можно полностью понять: они ориентируются на широкий рынок, поэтому полезные, но не востребованные фичи, похоже, зарезаются на корню, а все силы бросаются на разработку нового GUI’я.
Но за что я уважаю Microsoft — так это за то, что время от времени через их тормозную систему иногда удается прорваться действительно хорошим вещичкам, причем выглядит это примерно так: «Вот, чуваки, мы тут Power Toys для себя наваяли, чисто для внутреннего использования. Вы, конечно, можете их скачать, и они даже будут работать, но официально наша служба поддержки знать об этом не знает, поэтому не тревожьте ее по пустякам». («We’ve taken great care to ensure that PowerToys operate as they should, but they are not part of Windows and are not supported by Microsoft. For this reason, Microsoft Technical Support is unable to answer questions about PowerToys»). До сих пор считаю Power Toys одними из самых великолепных маленьких примочек для Виндов.
Итак, у меня был диплом в формате MS Word и мне надо было привести его в человеческий HTML. Самый простой способ — сохранить из Ворда as html file. Тут и начинается геморрой. При сохранении html’я, Ворд выполяет следующие требования: 1) сделать так, чтобы при желании этот html-файл снова можно было открыть в Ворде, ничего при этом не теряя — специально для тупых пользователей. (При этом добавляются лишние тэги), 2) сделать так, чтобы полученный файл смотрелся в браузере один-в-один, как в Ворде (при этом в текст снова добавляются лишние тэги) — опять же специально для тупых пользователей. WYSIWYG шагает по планете, ура, товарищи!. В результате имеем громадный HTML-файл с кучей мусора — не по тому, что «Ворд тупой», а потому что выполнение пунктов 1 и 2 строго обязательно. И, кстати, именно с этим Ворд неплохо стправляется.
А теперь в чем смысл лирического отступления. Идем на Microsoft.com и качаем никому не известную програмку Microsoft Office HTML Filter. Вы слышали об этой программе раньше? Я — нет. Но эта программа творит чудеса.

Она очищает html-документ, сохраненный из MS Word’а так, что им после этого даже можно пользоваться. Есть несколько способов зачистки документа: при этом если вы выберите самый строгий, то у вас останутся только тэги <p>,<a href>, <i>, <b>, <u>, <li> — вот, практически, все. Никаких стилей и прочего.
Поэтому с дипломом я поступил так:
1. Сохранил диплом из Ворда, как html.
2. Прогнал через HTML Filter не с самыми строгими параметрами, чтобы сохранить форматирование абзацев с цитатами.
3. Прогнал текст через замену в Edit+, заменяя форматирование абзацев с цитатами на то форматирование, которое я хотел.
4. Еще раз запустил HTML Filter и вычистил ВСЕ, что только можно. В результате у меня получился нормальный документ с работающим оглавлением и довольно чистым кодом.
5. Еще раз прогнал через Edit+, добавил простой заменой после каждой главы ссылку «к оглавлению», подчистил код.
6. Сделал так, чтобы все заметки выводились в popup-окне: написал коротенький PHP-скрипт (состоящий всего из двух строчек), в тексте все той же заменой проставил ссылки на этот скрипт.
7. Написал РУЧКАМИ CSS. Это единственное, что мне пришлось делать вручную (ну, разве что, подправил <img src> и расставил стили в оглавлении).
Результат: http://spectator.ru/diploma/