Baserat på Nokogiri HTML parser för Ruby, är SNYGGA en vitlista baserat system för att ta bort HTML från ett textblock.
Den "vitlista" teknik gör det möjligt för utvecklare att sätta upp en lista över HTML-taggar som SNYGGA kommer att använda som referens för vad det anser "acceptabel" HTML.
Varannan HTML-tagg inte finns i listan kommer att tas bort från den tolkas texten.
SNYGGA kan arbeta med standardiserad eller med missbildad HTML.
Biblioteket kan upptäcka och filtrera bort HTML-taggar, attribut och protokoll.
Den renade texten kommer alltid att matas ut som giltig HTML eller XHTML.
För att hjälpa utvecklare att komma igång med sina projekt, kommer SNYGGA med några färdiga konfigurationer ingår. Kontrollera README-filen för mer information
Vad är nytt i den här versionen.
- lagt till två nya CSS config inställningar: at_rules_with_properties och:. at_rules_with_styles
- Inkom fullt stöd för CSS @ Sidan regler i den avslappnade config, inklusive stöd för alla sida-marginal box regler.
- Lade till följande CSS at-reglerna till den avslappnade config.
- Lade till en hel massa CSS-egenskaper till den avslappnade config. Se hela listan här.
- förbättringar Små prestanda.
- Uppgraderad Crass till 1.0.2 för att plocka upp en fix som påverkade tolkning av CSS @ Sidan regler.
Vad är nytt i version 3.1.2:
- Fast: #document och #fragment misslyckades på frusen strängar, och kan oavsiktligt ändra ofrysta strängar om de använde en annan än UTF-8-kodning, eller om de innehöll tecken inte tillåtna i HTML.
Vad är nytt i version 3.0.2:
- Uppdaterad Nokogumbo till 1.1.12, eftersom 1.1. 11 åter tyst förändringen vi försökte plocka upp i den senaste utgåvan.
Vad är nytt i version 3.0.0:
- Inkom avancerat CSS sanering stöd med hjälp av Crass, som är fullt kompatibel med CSS Syntax Modul Nivå 3 tolkning spec. Innehållet i vitlistas & # x3c, stil & # x3e; element och formatattribut i HTML kommer att saneras som CSS, eller så kan du använda SNYGGA :: CSS-klass för att manuellt sanera CSS stilmallar eller egenskaper.
- Lade till ett: allow_doctype inställning. När sanna, välformade DOCTYPE definitioner kommer att tillåtas i dokument. När falskt (standard), kommer DOCTYPE definitioner tas bort från dokument. DOCTYPE definitioner aldrig tillåts i fragment, oavsett denna inställning.
- Inkom följande element till den avslappnade config, förutom olika attribut. Artikeln, åt sidan, kropp, data, div, sidfot, huvud, huvud, html, huvud, nav, avsnitt, span, stil, rubriken
- : whitespace_elements config är nu en hash, och du kan ange den text som ska sättas in före och efter dessa faktorer när de är borttagna. Den gammaldags Array-baserade config värdet fortfarande stöds för bakåtkompatibilitet.
- Olämpliga Unicode-tecken är nu borttagna från HTML innan det analyseras.
- Fast:
- Non-tag parentes i ingången som & quot; 1 & # x3e; 2 och 2 & # x3c; 1 & quot; nu analyseras och flydde korrekt i enlighet med HTML5 spec, blir & quot; 1 & gt; 2 och 2 & lt; 1 & quot;.
- Syskon till efter den aktuella noden under traversal nu också korsas. I tidigare versioner var de helt enkelt över.
- Nokogiri har smackade och instrueras att sluta lägga radbrytningar efter vissa delar, för om folk ville radbrytningar där de skulle ha lagt dem där, helvete.
Vad är nytt i version 2.0.6:
- Version 2.0.5 ingår oavsiktligt en del arbete-in Progress förändringar som inte borde ha gjort sin väg in i huvudgren.
Vad är nytt i version 1.2.1:
- Lade till en: remove_contents config inställning. Om värdet är true, kommer SNYGGA bort innehållet i alla icke-vitlistade delar utöver elementen själva. Om satt till en array med elementnamn, kommer SNYGGA bort innehållet i endast de element (när filtreras), och lämna innehållet i andra filtrerade element. [Tack vare Rafael Souza för Array alternativ]
- Lade till ett: output_encoding config inställning för att göra det möjligt för teckenkodning för HTML-utdata ska anges. Standardvärdet är "utf-8".
- Miljön hash passerat in transformatorer innehåller nu en: node_name post som innehåller gemener namnet på den aktuella HTML-nod (t.ex. & quot; div & quot;) .
- Åter något annat än en Hash eller noll från en transformator kommer nu upp en meningsfull undantag SNYGGA :: fel snarare än en oavsiktlig NameError.
Krav :
- Ruby 1.9.2 eller högre
- Nokogiri 1.4.4 eller högre
Kommentarer hittades inte