(R->C->P här, tack, jag har sett för många trådar om detta där de inte fattar frågan.) Hm, jag har ingenting sådär rakt av, men jag har en idé: Kul projekt, men hade hoppats att det fanns färdiga lösningar. =) Jepp, bara att sparka in en delegat eller hur den nu var den fungerade :) Sedan får delegaten i sin tur anropa föregående delegat, dvs. man bygger _själv_ en kedja. Jepp, exakt. Och alltså: Det borde finnas någon redan. =) Om det bara är för debugging behöver du inte alls blanda in asp.net. Jorå, jag känner till både firebug, webdeveloper toolbar och några till. Men ibland vill man se den rena, råa html-källkoden som ren text i en texteditor man gillar (i mitt fall emacs(1)), där man kan flytta runt och ändra fritt, och faktiskt spara som flera olika versioner. Indentera HTML-output i ASP.NET
1. Jag har en ASP.NET-sida, i något läge genererar den dynamisk XHTML-kod.
2. Sidans svar blir till XHTML-kod som skickas till klienten.
3. Denna XHTML-kod vill jag få snyggt indenterad.
Alltså: Inte ASP.NET-koden. Inte XHTML-koden i source i filerna, utan denna _slutgiltliga_, genererade kod.
Finns det någon slags beautifier som man kan lägga "sist" före koden de facto skickas till klienten?Sv: Indentera HTML-output i ASP.NET
På response-klassen finns det en egenskap som heter Filter, där kan du kroka på ett eget filter som får all data som skickas från servern till klienten. I filtret kan du packa upp texten, snygga till den, packa ner den och skicka vidare den.
Hur själva "uppsnyggningen" skulle gå till har jag dock ingen aning om, men det är kanske en annan femma.. Nu har du access till all html i alla fall :)
(Sedan hoppas jag att prestanda inte är a och o här.. :) )Sv:Indentera HTML-output i ASP.NET
<b>>På response-klassen finns det en egenskap som heter Filter, där kan du kroka på ett eget filter som får all data som skickas från servern till klienten. I filtret kan du packa upp texten, snygga till den, packa ner den och skicka vidare den.</b>
Man typ lägger på en delegat som filtrerar bara?
Uppsnyggningen behöver ju inte vara så jävla fancy, låt säga att man ser till att det är en radbrytning före och efter varje <...>, håller reda på djupet, och indenterar därefter.
<b>>(Sedan hoppas jag att prestanda inte är a och o här.. :) )</b>
Nej, det är ju frågan om att ha en aptitligare miljö att se html-koden i, som man slår på för att debugga.
I vissa specialfall skulle man ju också kunna strippa ner whitespace för optimering i samband med det (om servern är lätt belastad, men linan är dålig).Sv: Indentera HTML-output i ASP.NET
Nackdelen är väl att grejjerna kommer om byte-arrays eller vad det nu var om jag inte minns fel.. :/
Att bygga en egen borde ju inte vara så svårt med de krav du har? Är ju typ script-taggar och style-taggar man måste hålla koll på? Annars är det väl bara att blåsa på. Radera alla tomrum (space, tabb) efter nyrad tills första riktiga tecknet, sedan applicera rätt antal mellanslag/tabbar beroende på nivåSv:Indentera HTML-output i ASP.NET
Eller finns det ingen annan som åtminstone då och då kollar av så att HTML-koden ser hyfsad ut?
Det är ju betydligt lättare att debugga visuella problem med en snygg html?Sv: Indentera HTML-output i ASP.NET
Det finns några väldigt fina verktyg man kan använda. Det mest använda är antagligen firebug (ett firefox plugin). Den snyggar automatiskt upp koden åt dig, och inte bara det. Några andra fina funktioner är:
Du kan klicka på ett element på sidan så markerar den automatiskt den biten i koden.
Den visar javascriptfel på ett snyggt sätt, inte som IEs hemska debugger t.ex.
Du ser den GENERERADE htmlkoden, alltså om ett javascript ändrar sidans kod så ser du koden som den ser ut efter ändringen.
Du kan klicka på ett element och få upp dess CSS, du får en fullständig lista på vilka som används, var dom är definierade och om dom skrivs över någonstans.
Finns nog flera features som jag inte upptäckt ännu. :)
Ett liknande verktyg är Opera Dragonfly som kommer färdigt med webbläsaren Opera. Det är inte fullt så smidigt som firebug men det har samma funktioner och till skillnad från firebug så slutar det inte fungera varje gång du uppdaterar din webbläsare.Sv:Indentera HTML-output i ASP.NET
Även om firebug även fixar många av de grejerna jävligt smidigt så ger ren html mer frihet. Men om man kollar på t.ex. pellesofts källkod (beware of html 3.2, btw) så ligger indenteringen väldigt rörigt, och det är svårt att få till på ett bra sätt.
(1) Och ja, i emacs går det förstås hyfsat lätt att få den indenterad.