rafaelp / css_browser_selector

A very small javascript library that allows you to create browser specific CSS to be merged into your normal classes. No more hacks or mischievous code in your CSS code.
http://rafael.adm.br/css_browser_selector/
626 stars 168 forks source link

this project isn't maintained anymore #12

Closed paulirish closed 12 years ago

paulirish commented 13 years ago

I think we need a new maintainer for this project.

@verbatim would probably do it. and we can see some of the 7 sitting pull requests get some action.

@rafaelp could you add verbatim as repo collab so he can get this script back in order?

thanks!

verbatim commented 13 years ago

I'm new to Github. How would I know if @rafaelp responded to your request?

paulirish commented 13 years ago

you'd get an email. :)

stammy commented 13 years ago

So.. did he get an email? :)

paulirish commented 13 years ago

i just messaged rafael asking to add me and verbatim as collabs.

verbatim commented 13 years ago

I have been working on some stuff based on comments and other forks from other users. I am hoping that once things settle down with my new job, I will be able to present some sort of beta for users to comment on.

vladcosorg commented 12 years ago

anyone alive?

paulirish commented 12 years ago

Nope. :(

Please go ahead and fork this repo if you'd like to take ownership. And comment back here.

verbatim commented 12 years ago

I apologize for my ignorance, but how do I do that?

paulirish commented 12 years ago

Since you already forked, that's in order. The next step is to take inventory of the current pull requests and issues and port them over to your repo. We can then tell all issues that they will be tracked in your repo.

Lastly we get @rafaelp to update the site to point to your codebase, or forward the current page to a new page that you maintain.

I've emailed him (and cc'd you) to try one last time to get a commitment to shift maintainership. :)

verbatim commented 12 years ago

I reviewed many of the outstanding issues and picked up as many as I could. As far as I could tell, some of them had already been integrated, or didn't need to be integrated.

I guess I need to review them again to make sure.

rafaelp commented 12 years ago

Sorry for the disappearance, I've added paulirish and verbatim as maintainers

verbatim commented 12 years ago

Thank you Rafael.

verbatim commented 12 years ago

Paul,

For starters, thank you for helping get Rafael's attention regarding adding me as a maintainer on the CSS_Browser_selector project. I have been making lots of additions to the CSS_Browser_selector. I would love to get your feedback.

I have recently added: (1) language detection, (2) browser orientation, (3) browser max width, (4) version details for Chrome, Blackberry, Android, Macintosh.

You'll see my recent feature additions in this beta version: https://github.com/verbatim/css_browser_selector/blob/master/css_browser_selector_dev.js

You suggested I look at ussua.js and think about what he did. I have been staring at his script for a while. He is obviously a kick-ass developer. He really seems to know what he's doing and appears to have cracked the mystery that is the user agent string. (I wish I could have written something even half as good.)

The main idea I really like and would like to add to CSS_Browser_selector is his creation of an object that is accessible to user

He currently returns cssua.userAgent = { gecko: "8.0.1", firefox: "8.0.1", desktop: "macintosh", mac_os_x: "10.6" }

I think this is a great idea as it makes more data/information available, as expressed in the cssuseragent demo page: developer can make use of user agent data. For example: if (cssua.userAgent.ie < 8) { /* do something */ }

However, not being as kick-ass a programmer as is Mr. McKamey, I am having a little trouble figuring out where to begin, as I don't want to "take" his hard work, but would rather write my own.

Plus, I think my focus is slightly different: he strictly parses and presents the data. I have tried to make the CSS classes a little more "consumer friendly" and legible. For example, Mr. McKamey might present a class of "windows_nt_5_2", where I would rather present "win_xp" which I feel is much more intuitive for any developer looking at CSS. This extra step require some manual massaging of information. Also, I feel his script goes into too much detail, presenting classes that represent "minor builds" and "minor build revisions".

The way CSS_browser_selector was originally written, the script manually interprets everything and is now growing somewhat large.

I would love to figure out some way to compromise between his "strict interpretation" of the user string and my edited version of the user agent data.

If you might have some ideas or suggestions that might help get me started, I would love to hear them.

paulirish commented 12 years ago

Yeah there is a balance in the information you want to report..

1) i think the scope of the UA info you reveal now is pretty good 2) the test suite that cssua has is something css_browser_selector should benefit from 3) i would recommend committing your changes into this repo.

otherwise your branch looks great. nice readable code. :)

verbatim commented 12 years ago

CSSUA does such an amazing job of automating the parsing of the UA string, I'm quite jealous. If other agents arise, the management of his code is minimal. The drawback is that the UA reporting is clinical and sometimes not so "consumer" friendly. The main example would be reporting of Windows: CSSUA reports: NT 5.1 or NT 5.2 instead of something more recognizable to a developer: windows_xp. Other than that, CSSUA is, in my opinion such a great script.

I really like the idea of creating an object that is accessible to the developer. If I were to try and integrate this idea, would I need to rethink the entire string parsing process?

krystian3w commented 1 year ago

I think, again, you would have to make a competition for a script maintainer for 2023 - one maintainer abandoned activity on the account in 2015 (perhaps only reading notifications and logging out).