Gå till innehållet

Insticksmodulen HTML-förhandsgranskning

En löpande förhandsgranskning med full trohet av det aktiva HTML- (och PHP-)dokumentet, återgiven med en riktig webbläsarmotor (QtWebEngine) i en dockningsbar panel. Till skillnad från Markdown-förhandsgranskningen återger den här CSS, JavaScript, webbtypsnitt och allt annat precis som en webbläsare skulle göra.

Tillgänglighet — varje nedladdning innehåller den inte

HTML-förhandsgranskningen drivs av QtWebEngine, en komplett webbläsarmotor, och är följaktligen stor. Den är därför valfri, och vilken nedladdning du har avgör om du får den.

  • macOS — OctoEdit publiceras som två paket: ett med HTML-förhandsgranskningen och ett smalt utan den. Välj den nedladdning som säger att den innehåller HTML-förhandsgranskningen, så finns förhandsgranskningen där i samma stund du startar redigeraren. Det finns inget tillägg att installera efteråt: ett paket utan förhandsgranskningen kan inte få den senare, så ladda ned det andra i stället.
  • Windows — förhandsgranskningen kan också läggas till i en befintlig installation senare, som en separat nedladdning för HTML-förhandsgranskningen som du packar upp i mappen där OctoEdit är installerat, och sedan startar om redigeraren.

Saknas Visa ▸ HTML-förhandsgranskning i menyn innehåller ditt exemplar inte förhandsgranskningen. Markdown-förhandsgranskningen behöver ingen webbläsarmotor och är alltid tillgänglig.

Bygga från källkod: förhandsgranskningen ligger bakom CMake-alternativet MTE_ENABLE_HTML_PREVIEW — se BUILDING.md för anteckningar om paketering och licenser.

Var du hittar den

Visa ▸ HTML-förhandsgranskning öppnar (eller stänger) förhandsgranskningsdockan för den aktuella fliken.

Hur den beter sig

  • Löpande rendering. Förhandsgranskningen renderas om medan du skriver (med fördröjning; fördröjningen mjukas upp för mycket stora filer).
  • Full trohet. Formatmallar, skript, bilder och andra resurser läses in relativt dokumentets mapp, så att en sida förhandsgranskas som den skulle se ut i en webbläsare.
  • Länkar till mappar. Att klicka på en länk som pekar på en lokal mapp läser in den mappens indexdokument (index.html / index.htm / index.xhtml) i stället för en kataloglistning.
  • Öppna i webbläsare. Verktygsfältet öppnar filen på disken (eller, för PHP-serverlägena nedan, den levande URL:en) i din standardwebbläsare.
  • Panelens storlek. Förhandsgranskningen behåller en andel av fönstret i stället för en fast bredd, så den växer och krymper med fönstret — se Sparad layout.

En blinkning med fönsterrendering på CPU

Förhandsgranskningen tar in en webbläsarmotor i editorns fönster, och med Fönsterrendering satt till CPU måste fönstret skapas om för att ge plats åt den. Editorns fönster blinkar därför en gång — första gången du öppnar HTML-förhandsgranskningen under en session, och aldrig mer efter det. Standardvärdet, GPU, undviker det helt; se Inställningar ▸ Allmänt ▸ Fönsterrendering.

Förhandsgranskningens synlighet

Förhandsgranskningens synlighet kommer ihåg per fil, både under en session och mellan omstarter:

  • Webbfiler (.html, .htm, .xhtml, och .php / .phtml / .php3 / .php4) öppnar förhandsgranskningen automatiskt första gången du tittar på dem.
  • Andra filer gör det inte — men du kan öppna förhandsgranskningen för vilken fil som helst med Visa ▸ HTML-förhandsgranskning, och den återger den filen som HTML.
  • Inom en session återställs ditt val för en flik när du växlar tillbaka till den.
  • Mellan omstarter kommer ditt uttryckliga val för en fil ihåg: en manuell stängning förblir stängd nästa gång du öppnar den filen, och en förhandsgranskning du öppnat för en fil som inte skulle öppnas automatiskt öppnas igen. Filer du aldrig uttryckligen rört följer standarden för automatiskt öppnande varje gång.

Förhandsgranska PHP

PHP körs på servern, så QtWebEngine kan inte köra det direkt. Välj under Inställningar ▸ Insticksmoduler ▸ HTML-förhandsgranskning hur .php-filer hanteras:

Läge Vad det gör Bäst för
Avstängd Visar en instruktionssida; kör och hämtar aldrig något. Att stänga av PHP-förhandsgranskningen.
Kör med PHP (kommandoraden) Skickar dokumentet genom den lokala php-binären och återger dess utdata. Körs under PHP:s CLI-SAPI. Mallfiler / fristående filer som skriver ut HTML.
Kör med PHP (inbyggd server) Serverar dokumentet genom PHP:s inbyggda webbserver (php -S) som redigeraren startar och stoppar åt dig. Körs under webb-SAPI:t. Fullständiga sidor — phpinfo(), $_SERVER, sessioner, routning.
Använd en egen server (URL) Kopplar den öppna filen till en URL på en server som du kör (Apache, nginx, Docker, php artisan serve, …). En befintlig lokal utvecklingsmiljö.

Sökvägen till PHP-programmet och Uppdatera automatiskt medan du skriver gäller både läget kommandorad och inbyggd server. Lämna sökvägen tom för att söka igenom din PATH och vanliga installationsplatser (på macOS ärver ett program som startats från Finder inte din skal-PATH, så ange den fullständiga sökvägen, till exempel /opt/homebrew/bin/php).

Kommandorad mot inbyggd server

De här två lägena kör båda den lokala php-binären, men i olika miljöer (SAPI:er), och det ändrar vad som fungerar:

  • Kommandorad (CLI-SAPI). Snabbt och enkelt — det visar helt enkelt vad skriptet skriver ut. Men phpinfo() återges som ren text, och webbfunktioner som $_SERVER, sessioner och routning är begränsade eller tomma. Utmärkt för filer som mest matar ut HTML.
  • Inbyggd server (webb-SAPI). Redigeraren startar en liten php -S 127.0.0.1:<port> med din fils mapp som rot och läser in sidan över HTTP, så att den återges precis som på en riktig server: phpinfo() är en formaterad HTML-sida, $_SERVER är fylld, och sessioner och begäranden om resurser och delresurser fungerar alla.

  • Servern startas först när du för första gången förhandsgranskar en .php-fil i det här läget, återanvänds mellan renderingar, startas om om du växlar till en fil i en annan mapp, och stoppas när du stänger redigeraren eller lämnar läget.

  • Den binder bara till 127.0.0.1, så den är aldrig nåbar från nätverket.
  • Osparade ändringar förhandsgranskas också: din levande buffert skrivs till en tillfällig fil i dokumentets mapp (så att __DIR__ och relativa include/require löses korrekt) och det är den som serveras. Den tillfälliga filen ersätts vid varje rendering och tas bort när du avslutar eller byter läge.

Tip

Om en PHP-sida visas som text i stället för en renderad sida, växla från kommandorad till inbyggd server — det är skillnaden mellan CLI- och webb-SAPI:t, inte ett fel.

Använd en server du kör (URL)

Kör du redan PHP bakom en webbserver, peka förhandsgranskningen mot den:

  • Bas-URL — din servers rot, till exempel http://127.0.0.1:8000.
  • Dokumentrot — den lokala mapp som serveras på den bas-URL:en. Den öppna filen kopplas till en URL under den. Lämna den tom för att servera filen efter namn från bas-URL:en. Ligger filen utanför dokumentroten rapporterar förhandsgranskningen det så att du kan rätta kopplingen.

När PHP inte hittas

I lägena kommandorad och inbyggd server visar förhandsgranskningen, om ingen php-binär kan hittas, ett kort fel som förklarar hur du anger sökvägen eller installerar PHP. Instruktionssidan i läget Avstängt länkar också till PHP-nedladdningar och visar hur du startar en server.

Se även