Объединение Html-страничек

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Soms
Сообщения: 187

Объединение Html-страничек

Сообщение Soms »

Такой вот ужасно ламерский вопрос: хочу объединить кучу html-страничек в одну. Чем это делается - не знаю. В принципе, можно было бы и в chm переконвертить. xchm, kchmviewer мне помогут? Какой-нибудь аналог HTM2CHM существует?
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Объединение Html-страничек

Сообщение alv »

cat file1 file2 ... file# > all_files
например
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Объединение Html-страничек

Сообщение uptime »

alv писал(а):
01.05.2007 17:06
cat file1 file2 ... file# > all_files
например

да, это работает. Но если это просто один многостраничный документ, а у каждой страницы хедер/футер, то результат глаз радовать не будет :(. Я обычно sed приспосабливаю для отрубания неинформативных частей.
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Soms
Сообщения: 187

Re: Объединение Html-страничек

Сообщение Soms »

Для sed ведь нужен скрипт?
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Объединение Html-страничек

Сообщение Uncle_Theodore »

Soms писал(а):
02.05.2007 16:24
Для sed ведь нужен скрипт?

В каком смысле нужен скрипт?

Код: Выделить всё

teddy@laptop /home/teddy$ echo "tabulabu" | sed -e s/abu/shmak/g
tshmaklshmak
Спасибо сказали:
Аватара пользователя
wi:
Сообщения: 535
Статус: wi love linux
ОС: Open SuSE 11.0

Re: Объединение Html-страничек

Сообщение wi: »

Думаю, cat'ом неправильно получится. Я так понимаю, что нужно объединить все, но внутри каждого <body></body>. Однако, решения не знаю :(

CHM делают Opera и Firefox (нужен plug-in).
%s
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Объединение Html-страничек

Сообщение alv »

wi: писал(а):
02.05.2007 22:33
Думаю, cat'ом неправильно получится.

В общем случае просто катом, конечно, получится плохо.
Но, как уже говорили выше, результат можно почистить sed'ом
А можно наоборот - сначала sed'ом удалить все, что выше и ниже body.
Можно покумекать с комбинацией tail/head и перенапправлением вывода в файл
Наверное, даже с less можно чего-нибудь придумать
Ну или в любом редакторе, начиная с уровня joe и выше, можно соответствующий макрос сочинить
Спасибо сказали:
Аватара пользователя
wi:
Сообщения: 535
Статус: wi love linux
ОС: Open SuSE 11.0

Re: Объединение Html-страничек

Сообщение wi: »

alv писал(а):
02.05.2007 23:11
Ну или в любом редакторе, начиная с уровня joe и выше, можно соответствующий макрос сочинить

Люблю я макросы сочинять :) Делал, помнится, как-то шпоры по физике. Давно это было. В Ворде, в редакторе фрмул, наштопал их, и вышла у меня огромная книга :) Такой реферат себе в карман не положешь -- вот и пришлось макрос писать, который всю это бредятину автоматически уменьшал на 130% :)
На днях, вот, тоже книжку верстал -- опять макрос спас :)
%s
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Объединение Html-страничек

Сообщение ddc »

Soms писал(а):
01.05.2007 16:55
Такой вот ужасно ламерский вопрос: хочу объединить кучу html-страничек в одну. Чем это делается - не знаю. В принципе, можно было бы и в chm переконвертить. xchm, kchmviewer мне помогут? Какой-нибудь аналог HTM2CHM существует?
Я так понимаю, речь идёт о связанных HTML-страницах? Если так, и если предполагается использовать результат под KDE, стоит задуматься о .war - переименовываете стартовый файл в index.html, сжимаете всё вместе в .tar.gz, после чего переименовываете в .war...
Спасибо сказали:
mypocta
Сообщения: 75
ОС: WIN_XP

Re: Объединение Html-страничек

Сообщение mypocta »

ddc писал(а):
03.05.2007 01:04
Я так понимаю, речь идёт о связанных HTML-страницах? Если так, и если предполагается использовать результат под KDE, стоит задуматься о .war - переименовываете стартовый файл в index.html, сжимаете всё вместе в .tar.gz, после чего переименовываете в .war...


Как вариант можно использовать OpenOffice Writer - скопировать ctrl+c , ctrl+v в Writer, а потом сохранить как -> html
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Объединение Html-страничек

Сообщение ddc »

beguster писал(а):
04.05.2007 07:02
Как вариант можно использовать OpenOffice Writer - скопировать ctrl+c , ctrl+v в Writer, а потом сохранить как -> html
Прямо скажем, не лучший вариант. OOo делает очень большие и громоздкие html. KOffice тут больше подходит, но всё равно этот вариант - крайний.
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Объединение Html-страничек

Сообщение alv »

ddc писал(а):
04.05.2007 11:06
Прямо скажем, не лучший вариант. OOo делает очень большие и громоздкие html. KOffice тут больше подходит, но всё равно этот вариант - крайний.

Ага, +1
И по поводу Koffice, и по поводу крайняка.
Хотя... щас вот подумал - а ведь в KWord тоже можно написать точно такой же макрос, как в joe каком (не говоря уже о vim) :)
В OOo кстати, тоже можно - но уж больно сложен он выйдет...
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Объединение Html-страничек

Сообщение ddc »

alv писал(а):
04.05.2007 11:12
Хотя... щас вот подумал - а ведь в KWord тоже можно написать точно такой же макрос, как в joe каком (не говоря уже о vim) :)
В KOffice это не нужно, он делает очень хорошие HTML'и, причём позволяет контролировать объём и характер разметки. В его случае основной минус - это замена кода исходных страниц на собственный (отвалятся скрипты, сквозные CSS и всё остальное, из-за чего имеет смысл выбирать HTML, а не офиные форматы).

wi: писал(а):
02.05.2007 22:33
CHM делают Opera и Firefox (нужен plug-in).
Разве Firefox под Linux делает CHM? Когда я проверял, плагин был Windows-специфичный...
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Объединение Html-страничек

Сообщение alv »

ddc писал(а):
04.05.2007 11:39
В KOffice это не нужно, он делает очень хорошие HTML'и,

Ну один-то метатэг удалять и там нужно :)

ddc писал(а):
04.05.2007 11:39
В его случае основной минус - это замена кода исходных страниц на собственный (отвалятся скрипты, сквозные CSS и всё остальное

Скрипты - да, а CSS можно сохранить, в т.ч. и как внешний, есть там при экспорте в HTML такая галочка (именно export, а не save as)
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Объединение Html-страничек

Сообщение ddc »

alv писал(а):
04.05.2007 11:41
Скрипты - да, а CSS можно сохранить, в т.ч. и как внешний, есть там при экспорте в HTML такая галочка (именно export, а не save as)
AFAIR, можно KOffice'ный CSS сохранить, а не свой. Т.е. он импортирует (декодирует в свой формат) и экспортирует (свой формат в XHTML + CSS), т.е. на выходе получается список стилей CSS (внутренний или внешний), сделанный самим KOffice.
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Объединение Html-страничек

Сообщение alv »

ddc писал(а):
04.05.2007 11:48
AFAIR, можно KOffice'ный CSS сохранить, а не свой.

Да, это верно, не подумал.
Так что лучше все-таки cat+sed :)
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Объединение Html-страничек

Сообщение ddc »

alv писал(а):
04.05.2007 11:51
Так что лучше все-таки cat+sed :)
С простыми страницами так, со сложными придётся повозиться:
  • разделить во всех файлах "head" и "body";
  • вычленить из всех "head" содержимое <style></style>, объединить, отсортировать, сравнить по наполнению и скоратить;
  • объединить все "body", решить внутренние конфликты ссылок, создать TOC;
  • применить новую таблицу стилей;
  • склеить.
Соответственно, если стили непротиворечивые (в идеале - одинаковые или внешние) или если CSS не используется - работа сводится к разрешению конфликтов ссылок.

P.S.: написать что ли скриптик на досуге... :)
Спасибо сказали: