Comments (3)
IMHO named colors should be parsed into rgb colors with an additional flag. On output, these could be rendered to names again using a reverse-lookup table.
Also, we should add format options on whether to prefer outputting colors the way they were input, or as hex, as function, or as named (if possible).
from php-css-parser.
Looking at the class hierarchy, Color
extends CSSFunction
extends ValueList
extends Value
. But a named colour would be neither a CSSFunction
nor a ValueList
- though would be a Color
. Not sure how best to reconcile this. In #353 I suggested the possibility of a Keyword
/Identifier
type that could represent a any sort of named value, including a named color and a border-style
, with the non-specific type simply wrapping a string
(of unknown meaning). Something to think about...
from php-css-parser.
Not sure how best to reconcile this.
Maybe the named colour class type would need to be quite separate in the class inheritance hierarchy, focusing more on how it is parsed than what it actually represents. If there's a need to provide common functionality between named colours and RGB colours, an interface could be provided, which both implement. That interface might be Color
, with the existing Color
being renamed to RgbColor
.
These are just thoughts that might help with the design for this change.
from php-css-parser.
Related Issues (20)
- Set up the infrastructure for class aliases HOT 1
- Fixer does not want EOL at end of empty class/interface HOT 1
- Color names not working with ExpandShorthands HOT 12
- Drop `expandShorthands`/`createShorthands`/`create*Shorthand`/`expand*Shorthand`
- Deprecate `expandShorthands`/`createShorthands`/`create*Shorthand`/`expand*Shorthand` HOT 11
- Automate creation of the UML diagram
- Update the `gh-pages` branch with the API documentation whenever we push to `main`
- Add support for CSS Nesting
- Use the development PHP INI on CI
- Switch the code coverage to Coveralls
- Add a GitHub Action that comments on pull requests if tests are missing
- Add a Composer Script for PHP linting and use it on CI HOT 6
- Possibly undefined local variable HOT 1
- Lint does not work on Windows
- Fishy value parsing HOT 3
- Rework our class structure and naming to match the official specs HOT 2
- Add test for clamp()
- Test expressions involing brackets
- Inconsistent behaviour of Value::parseValue with odd vs even number of consecutive delimiters HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-css-parser.