Restructure UI code.
I think we don't need to vote if we should do it, so this discussion is about how doing it. To make things easier we should keep the current design where possible for now and do design improvements when this is done. I'll list some possible requirements/alternatives to what we currently use/tasks:
- Get rid of unused templates
- Get rid of
app/views/shared/if still in use move them to better fitting places
- Make clear rules on what to render on the server and what to render on the client side, get rid of handlebars and server side templates doing the same job.
- Refactor the code to get rid of "styling HTML", like 99% of
<b>tags and whatever
- Use semantically rich tags, like using
<em>for something important, not because it looks cool.
- Decide on either ERB or HAML, don't use both.
- Use all the (semantic) power HTML5 provides.
- Stop using casing as design element, that just localizes terribly as there are scripts which have no casing.
- Make Layout responsive
- Get rid of fixed sizes where possible (I'm looking at you,
- Develop a clear and clean structure. Like for example one CSS file for each GET route + meaningful common usages Group the common usages by categories, i.e. forms.
- Port every SASS code to SCSS, see #3796 [DONE]
- Get rid of all
:css/`` blocks in templates
- Port everything from Blueprint to Bootstrap, see#4466
- Get rid of multiple libraries essentially doing the same where possible, i.e. the autocomplete ones.
- Move everything to Backbone if possible.
- Replace hacked libs with vanilla ones doing it right in the first place. If not found try to externalize the hack into another file. If not possible make it damn clear inside the library where the change it and why it was done with big fat comments, to ease the life of the updater.
- Update all dependencies, replace them with gems if available (maybe even create some?)
While at the frontend code, the locale files too contain many unused keys and semi duplicates. A lot of the template code was moved around so I guess about the half of the keys is accessed using the full path, unable to take advantage of the dot syntax. Maybe we should develop a struture there that's independent from the template structure?
I'll keep this list updated with the ongoing discussion, so ensure you'll rescan it once in a while ;)
Poll Created Fri 30 Nov 2012 10:29AM
Use .scss for all our stylesheets Closed Mon 10 Dec 2012 11:29PM
I think as web developers we can agree, that plain CSS is just not enough in some situations - no argument there - and since we have the Rails asset pipeline, Sass comes with it for free.
But until now we had a mixture of both the older 'sass' files and the newer 'scss' ones.
I propose we discontinue 'sass' and switch to 'scss' completely.
FYI, the project website has this to say, which pretty much contains all the arguments for and against either:
> Sass has two syntaxes. The most commonly used syntax is known as “SCSS” (for “Sassy CSS”), and is a superset of CSS3’s syntax. This means that every valid CSS3 stylesheet is valid SCSS as well. SCSS files use the extension .scss.
> The second, older syntax is known as the indented syntax (or just “.sass”). Inspired by Haml’s terseness, it’s intended for people who prefer conciseness over similarity to CSS. Instead of brackets and semicolons, it uses the indentation of lines to specify blocks. Files in the indented syntax use the extension .sass.
|Results||Option||% of points||Voters|
||Agree||91.7%||11||T F DU|
|Undecided||0%||43||MS AA S CB GC AX DY|
12 of 55 people have voted (21%)
Fri 7 Dec 2012 5:04PM
I believe a run of
sass-convert is all we need to convert our CSS to the SCSS syntax, however we will need to run some acceptance tests to figure out if the auto convert broke anything...