Kennen Sie ein Tool, um
automatisch externe CSS- und JavaScript-Ressourcen in eine HTML-Datei einfügen ?
Das Ziel ist es, eine einzige HTML-Datei zu haben, die offline richtig angezeigt werden kann.
Ähnlich wie bei einer alten Frage zu StackOverflow (aber die Antworten dort scheinen nur CSS zu unterstützen, nicht Javascript).
Jede der Plattformen: online (Webzugriff), Unix, Windows ist in Ordnung.
Ich dachte, das könnte erreicht werden, indem alle ersetzt werden:
<script type="text/javascript" src="x.js"></script>
mit
<script type="text/javascript">
And here goes the content of the x.js file
</script>
und ebenso alle <link rel="stylesheet" type="text/css" href="theme.css">
mit
<head>
<style>
Here goes the content of theme.css
</style
</head>
(oder was auch immer die tatsächliche Syntax ist)
Installation/Verwendung:
npm install -g web-combiner
aus der SDK-Befehlszeile anstelle der normalen cmd-Zeile zu verwendeninliner path.html out.html true
Diese Anweisungen gehen von Windows aus - wenn nicht Windows, wird das SDK offensichtlich nicht benötigt, aber ein alternativer Compiler könnte erforderlich sein.
Jeder <link href=
muss auf lokale Dateien verweisen oder es gefällt ihm nicht (dh schwerwiegender Fehler). Dies könnte wahrscheinlich ziemlich einfach behoben werden, aber es ist derzeit eine Schwäche. Das Schlimmste daran ist, dass nicht überprüft wird, ob es sich um einen CSS-Link handelt, sodass auch Atom-/Image-Referenzen <link
Probleme verursachen. Das bedeutet natürlich, dass die css/js lokal sein müssen, aber wenn Sie einfach als HTML-Seite von Firefox oder Chrome speichern, werden diese standardmäßig gespeichert, sodass dies kein ernsthaftes Problem sein sollte, wenn auch etwas ärgerlich.
Die Antwort von Nick Wilde führte zu einer weiteren Antwort:
ein weiteres nodejs-Projekt namens Inliner .
(Ich habe gerade erst versucht, das zu verwenden, und habe mein Ziel noch nicht erreicht - da einige Fehler auftauchen.)
nodejs ./inliner.js -i "http://softwarerecs.stackexchange.com/questions/9983/tool-to-automatically-inline-both-css-and-javascript-into-html"
zB eine große HTML-Datei mit JQuery und anderen Inline-Dateien.Ihre Frage ist nicht sehr klar, aber je näher ich Ihrem Ziel (einer einzelnen HTML-Datei) sehen kann, ist das MHTML-Format . Ok, es ist keine einzelne HTML-Datei, sondern eine einzelne MHTML-Datei, aber Sie können JS, CSS und vieles mehr wie Bilder einfügen!
Microsoft IE kann eine Seite in einer einzigen MHT-Datei speichern.
Das Firefox-Plugin UnMHT ermöglicht es Ihnen, diese Datei auf jedem Betriebssystem zu rendern.
Hier ist eine interessante Seite dazu:
Ich füge dies hinzu, weil ich kürzlich genau die Aufgabe erledigen musste, aber diese Lösung scheint einfacher einzurichten zu sein ....
Sie können Python installieren und dann ausführen , um HTMLArkpip install htmlark[http,parsers]
zu installieren .
usage: htmlark [-h] [-o OUTPUT] [-E] [-I] [-C] [-J]
[-p {html.parser,lxml,html5lib,auto}] [-v] [--version]
[webpage]
Converts a webpage including external resources into a single HTML file. Note
that resources loaded with JavaScript will not be handled by this program, it
will only work properly with static pages.
positional arguments:
webpage URL or path of webpage to convert. If not specified,
read from STDIN.
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
File to write output. Defaults to STDOUT.
-E, --ignore-errors Ignores unreadable resources
-I, --ignore-images Ignores images during conversion
-C, --ignore-css Ignores stylesheets during conversion
-J, --ignore-js Ignores external JavaScript during conversion
-p {html.parser,lxml,html5lib,auto}, --parser {html.parser,lxml,html5lib,auto}
Select HTML parser. If not specifed, htmlark tries to
use lxml, html5lib, and html.parser in that order (the
'auto' option). See documentation for more
information.
-v, --verbose Prints information during conversion
--version Displays version information
Das resultierende HTML wird in die Standardausgabe gedruckt, sodass Sie die Ausgabeumleitung verwenden müssen, um es in einer Datei wie dieser zu speichern:htmlark http://example.com/ > inlined.html
Dieses Open-Source-Tool von Wildbit (Hersteller von Poststempeln) wurde gerade veröffentlicht und sieht vielversprechend aus ...
StyleMerge
Einfaches CSS-Inlining, für E-Mail, für C# und andere .net-basierte Sprachen.
Izzy
Grzegorz Oledzki
Nick Dickinson-Wilde
Grzegorz Oledzki
wget
alle Ressourcen.Nick Dickinson-Wilde
Grzegorz Oledzki