Narzędzie lub skrypt do dzielenia dużych plików HTML


2

Mam przepływ pracy, który generuje pliki HTML przekraczające 10 MB. Chciałbym podzielić te 10 MB plików na mniejsze pliki .. więcej w zakresie 1 MB.

Plik HTML zawiera wewnętrzne linki i kotwice. Więc jakiekolwiek narzędzie, którego użyję, musiałoby odpowiednio zmienić <a href="../foo>foo</a> i <a id="fooID"></a>odpowiednio użyć nazw mniejszych plików.

Wyobrażam sobie, że jakieś narzędzie zepsuje plik we wcześniej określonej lokalizacji, prawdopodobnie w każdym punkcie.

Czy ktoś wie o narzędziu wiersza polecenia lub skrypcie do automatyzacji?

AKTUALIZACJA: Skończyłem tworzenie własnego skryptu bash, aby to zrobić. Żałuję, że nie mogę udostępnić kodu, ale sparafrazuję go:

  • utwórz podkatalog, aby umieścić wynikowe podzielone pliki HTML
  • podziel plik (użyłem xslt 2.0)
    • Umieszczam oryginał <head>we wszystkich plikach
    • Użyłem ścieżki x, która podzieliła plik na określony znacznik na poziomie bloku
  • Powtarzaj (xslt 2.0) przez katalog nowych plików, aby utworzyć tymczasowy plik XML z dwoma polami:
    • nazwa pliku
    • @ id znaleziono
  • Ponownie uruchom (xslt 2.0) przez katalog nowych plików HTML. Każdy @ href został porównany z plikiem XML par @ id / nazwa_pliku, a href został w razie potrzeby poprawiony do nowej nazwy pliku

Jak dotąd działa. Chociaż nie jest to odpowiedź na to pytanie, ponieważ nie jest to specjalnie zbudowane narzędzie dostępne dla wszystkich.


„Mam przepływ pracy, który generuje HTML”. Co to jest przepływ pracy? Może aplikacja?
siebz0r

HTML ma tagi, które zaczynają się na początku dokumentu i kończą na końcu - takie jak htmli body. Jak więc proponujesz, aby uzyskać zdrową część dokumentu, gdy pokroisz go na środku?
Paul

siebz0r: „Przepływ pracy” tworzący HTML to aplikacja bazy danych. Naprawdę nie jestem w stanie tego zmienić, więc będę musiał żyć z otrzymaniem dużego pliku i siebie.
Paulb

Paul: W tej chwili nie mam dobrej odpowiedzi na twoje pytanie. W tekście są wzory. Na przykład, może wrzuć wszystko z góry pliku „<html> do <body>” w pamięci .. podziel plik z „<body>” na „</body>”, rozpoczynając i kończąc nowy plik na w każdym punkcie, w którym znajduje się „<h3>”, ręcznie wklej „</body> i </html>” na końcu każdego nowego mniejszego pliku. Wydaje się to podstawowe, co sprawiło, że pomyślałem, że coś już to zrobiło.
Paulb
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.