htmlpurifier icon indicating copy to clipboard operation
htmlpurifier copied to clipboard

Update Core.ColorKeywords default list

Open ryan-ashbrook opened this issue 8 years ago • 3 comments

I realize this can be configured to anyones liking, however it would be great if the default list of Color Keywords could be updated.

As of right now, all major browsers support 140 different color keywords.

ryan-ashbrook avatar Apr 20 '16 23:04 ryan-ashbrook

Yeah, someone just needs to schlep the mapping into a machine readable form, and then I'll put it in.

ezyang avatar Jul 01 '16 19:07 ezyang

I have add it in /library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt and rebuild schema.ser with "php maintenance/generate-schema-cache.php" Result: "Saving schema... done!"

I don't use lower case keywords, because its better readable, so I add after https://github.com/ezyang/htmlpurifier/blob/master/library/HTMLPurifier/AttrDef/CSS/Color.php#L19 this line $colors = array_change_key_case($colors, CASE_LOWER); source: http://php.net/manual/en/function.array-change-key-case.php

Core.ColorKeywords TYPE: hash VERSION: 2.0.0 --DEFAULT-- array ( 'maroon' => '#800000', 'red' => '#FF0000', 'orange' => '#FFA500', 'yellow' => '#FFFF00', 'olive' => '#808000', 'purple' => '#800080', 'fuchsia' => '#FF00FF', 'white' => '#FFFFFF', 'lime' => '#00FF00', 'green' => '#008000', 'navy' => '#000080', 'blue' => '#0000FF', 'aqua' => '#00FFFF', 'teal' => '#008080', 'black' => '#000000', 'silver' => '#C0C0C0', 'gray' => '#808080',

// http://www.w3schools.com/colors/colors_names.asp 'AliceBlue' => '#F0F8FF', 'AntiqueWhite' => '#FAEBD7', 'Aqua' => '#00FFFF', 'Aquamarine' => '#7FFFD4', 'Azure' => '#F0FFFF', 'Beige' => '#F5F5DC', 'Bisque' => '#FFE4C4', 'Black' => '#000000', 'BlanchedAlmond' => '#FFEBCD', 'Blue' => '#0000FF', 'BlueViolet' => '#8A2BE2', 'Brown' => '#A52A2A', 'BurlyWood' => '#DEB887', 'CadetBlue' => '#5F9EA0', 'Chartreuse' => '#7FFF00', 'Chocolate' => '#D2691E', 'Coral' => '#FF7F50', 'CornflowerBlue' => '#6495ED', 'Cornsilk' => '#FFF8DC', 'Crimson' => '#DC143C', 'Cyan' => '#00FFFF', 'DarkBlue' => '#00008B', 'DarkCyan' => '#008B8B', 'DarkGoldenRod' => '#B8860B', 'DarkGray' => '#A9A9A9', 'DarkGrey' => '#A9A9A9', 'DarkGreen' => '#006400', 'DarkKhaki' => '#BDB76B', 'DarkMagenta' => '#8B008B', 'DarkOliveGreen' => '#556B2F', 'DarkOrange' => '#FF8C00', 'DarkOrchid' => '#9932CC', 'DarkRed' => '#8B0000', 'DarkSalmon' => '#E9967A', 'DarkSeaGreen' => '#8FBC8F', 'DarkSlateBlue' => '#483D8B', 'DarkSlateGray' => '#2F4F4F', 'DarkSlateGrey' => '#2F4F4F', 'DarkTurquoise' => '#00CED1', 'DarkViolet' => '#9400D3', 'DeepPink' => '#FF1493', 'DeepSkyBlue' => '#00BFFF', 'DimGray' => '#696969', 'DimGrey' => '#696969', 'DodgerBlue' => '#1E90FF', 'FireBrick' => '#B22222', 'FloralWhite' => '#FFFAF0', 'ForestGreen' => '#228B22', 'Fuchsia' => '#FF00FF', 'Gainsboro' => '#DCDCDC', 'GhostWhite' => '#F8F8FF', 'Gold' => '#FFD700', 'GoldenRod' => '#DAA520', 'Gray' => '#808080', 'Grey' => '#808080', 'Green' => '#008000', 'GreenYellow' => '#ADFF2F', 'HoneyDew' => '#F0FFF0', 'HotPink' => '#FF69B4', 'IndianRed' => '#CD5C5C', 'Indigo' => '#4B0082', 'Ivory' => '#FFFFF0', 'Khaki' => '#F0E68C', 'Lavender' => '#E6E6FA', 'LavenderBlush' => '#FFF0F5', 'LawnGreen' => '#7CFC00', 'LemonChiffon' => '#FFFACD', 'LightBlue' => '#ADD8E6', 'LightCoral' => '#F08080', 'LightCyan' => '#E0FFFF', 'LightGoldenRodYellow' => '#FAFAD2', 'LightGray' => '#D3D3D3', 'LightGrey' => '#D3D3D3', 'LightGreen' => '#90EE90', 'LightPink' => '#FFB6C1', 'LightSalmon' => '#FFA07A', 'LightSeaGreen' => '#20B2AA', 'LightSkyBlue' => '#87CEFA', 'LightSlateGray' => '#778899', 'LightSlateGrey' => '#778899', 'LightSteelBlue' => '#B0C4DE', 'LightYellow' => '#FFFFE0', 'Lime' => '#00FF00', 'LimeGreen' => '#32CD32', 'Linen' => '#FAF0E6', 'Magenta' => '#FF00FF', 'Maroon' => '#800000', 'MediumAquaMarine' => '#66CDAA', 'MediumBlue' => '#0000CD', 'MediumOrchid' => '#BA55D3', 'MediumPurple' => '#9370DB', 'MediumSeaGreen' => '#3CB371', 'MediumSlateBlue' => '#7B68EE', 'MediumSpringGreen' => '#00FA9A', 'MediumTurquoise' => '#48D1CC', 'MediumVioletRed' => '#C71585', 'MidnightBlue' => '#191970', 'MintCream' => '#F5FFFA', 'MistyRose' => '#FFE4E1', 'Moccasin' => '#FFE4B5', 'NavajoWhite' => '#FFDEAD', 'Navy' => '#000080', 'OldLace' => '#FDF5E6', 'Olive' => '#808000', 'OliveDrab' => '#6B8E23', 'Orange' => '#FFA500', 'OrangeRed' => '#FF4500', 'Orchid' => '#DA70D6', 'PaleGoldenRod' => '#EEE8AA', 'PaleGreen' => '#98FB98', 'PaleTurquoise' => '#AFEEEE', 'PaleVioletRed' => '#DB7093', 'PapayaWhip' => '#FFEFD5', 'PeachPuff' => '#FFDAB9', 'Peru' => '#CD853F', 'Pink' => '#FFC0CB', 'Plum' => '#DDA0DD', 'PowderBlue' => '#B0E0E6', 'Purple' => '#800080', 'RebeccaPurple' => '#663399', 'Red' => '#FF0000', 'RosyBrown' => '#BC8F8F', 'RoyalBlue' => '#4169E1', 'SaddleBrown' => '#8B4513', 'Salmon' => '#FA8072', 'SandyBrown' => '#F4A460', 'SeaGreen' => '#2E8B57', 'SeaShell' => '#FFF5EE', 'Sienna' => '#A0522D', 'Silver' => '#C0C0C0', 'SkyBlue' => '#87CEEB', 'SlateBlue' => '#6A5ACD', 'SlateGray' => '#708090', 'SlateGrey' => '#708090', 'Snow' => '#FFFAFA', 'SpringGreen' => '#00FF7F', 'SteelBlue' => '#4682B4', 'Tan' => '#D2B48C', 'Teal' => '#008080', 'Thistle' => '#D8BFD8', 'Tomato' => '#FF6347', 'Turquoise' => '#40E0D0', 'Violet' => '#EE82EE', 'Wheat' => '#F5DEB3', 'White' => '#FFFFFF', 'WhiteSmoke' => '#F5F5F5', 'Yellow' => '#FFFF00', 'YellowGreen' => '#9ACD32', ) --DESCRIPTION--

Lookup array of color names to six digit hexadecimal number corresponding to color, with preceding hash mark. Used when parsing colors. The lookup is done in a case-insensitive manner. --# vim: et sw=4 sts=4

Daijobou avatar Aug 26 '16 11:08 Daijobou

@ezyang Would you this add to master?

Oh, looks like it's already merged but not release yet. #176

looks like only lower case keywords works~

bys1123 avatar Dec 15 '18 18:12 bys1123