auto-reload html-Datei mit einem browser über den terminal-Befehl
Ich versuche zu tun, einige kleine html-web-Zeug, und es wäre unglaublich nützlich, um in der Lage sein zu sehen, live-updates der html-Datei, die man durch einen browser, wenn ich Speichere meine Datei. Ich weiß, wahrscheinlich gibt es IDEs gibt, die dies für Sie tun, und wenn Sie empfehlen, tun Sie bitte, aber ich bin auf der Suche, um ein Skript, dass nur die Datei öffnen im browser beim schließen der version der Datei, die bereits geöffnet war, so dass ich weiterhin alles tun, mein Programmieren im vim.
Ich weiß, dass ich das folgende in Mac OSX, öffnen Sie die Datei in einem neuen tab von meinem aktuellen browser:
open foo.html
aber, wenn ich diese Vorgänge auf eine zeitgesteuerte Schleife, oder jedes mal, wenn ich Schreibe (:w) in vim, mein browser füllt sich mit neuen tabs. Gibt es eine Möglichkeit, schließen Sie die alt-tab beim öffnen der neuen Registerkarte? Oder gibt es einen noch besseren Ansatz zu dieser, die ich noch nicht bedacht haben? Es wäre sehr bevorzugt, wenn ich weiterhin verwenden vim im terminal.
Vielen Dank im Voraus.
- Ich fand einige alternative Lösungen/kluges hier: /r/commandline
- Diese Lösung ist nicht die Befehlszeile verwenden, aber man könnte hinzufügen, ein wenig JavaScript, das lädt die Seite mit
location.reload();
jeder so oft und schalten Sie es nur bei der Entwicklung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ob es schon eine Registerkarte für
foo.html
,open foo.html
sollte der Schwerpunkt der Registerkarte in Safari. Für Chrome, Sie könnte so etwas wie dieses:Ich habe gerade zugewiesen ⌘R
open "$TM_FILEPATH" -a Safari
imtext.html
Umfang in TextMate. Ich habe auch aktiviert das speichern von Dokumenten beim Umschalten zu einer anderen Anwendung, so dass es im Grunde genommen die letzten drei Schritte des Bearbeiten-speichern-Anwendung wechseln-refresh-Zyklus.Andere Optionen:
Können Sie AppleScript, um neu zu laden der tab. Siehe Benjie Antwort für diese Frage
Verwenden
osascript
zu nennen, das AppleScript aus dem shell-Skript. Du wirst etwas wie dieses:Alternativ können Sie etwas verwenden wie neben schließen Sie alle vorherigen Registerkarten:
osascript -e 'tell application "Google Chrome" to tell the first tab of its first window to reload'
Es kann overkill für deine Anwendung, aber ich benutze make-Dateien für alle meine HTML-Projekte. Ich nur statische Seiten für mich, aber ich benutze Weniger und Jade (manchmal php kompiliert statische Seiten lokal, es ist dumm, dass Sie nicht dynamisch mit jade) und machen ist wirklich gut integriert mit vim. Sie können Regeln für die Erstellung, nachladen, drücken-zu-server, was auch immer. Der Weg, den ich erhalten live-updates an den browser starten, um ein Knoten-oder python-server zu dienen, das html mit einer extra javascript 'watcher' es gibt viele Sorten, je nach dem, was andere Technologien, die Sie verwenden.
Können Sie sich ein browser den Empfang von Befehlen von einer Steckdose, wie uzbl, luakit oder dwb.
Können Sie diese Funktionalität hinzufügen können (hören einer Steckdose, oder auch eine Datei) mit einer Erweiterung (addon, plugin, was auch immer Ihre Lieblings-browser nennt).
Können Sie einige javascript, um die Seite, die Sie Bearbeiten, wird es erneut auf einige signal Sie können die Kontrolle über die Befehlszeilenschnittstelle.
Können Sie ein Skript schreiben, dass tötet den browser, und öffnen Sie es. Manche Browser versuchen, zu laden, eine zwischengespeicherte version der Seite. Für diese, verwenden Sie besser den query-string, und erstellen Sie einen eindeutigen URI-jedes mal (z.B.
open "foo.html?$(date +%s)"
).Die Möglichkeiten sind endlos!