I will eventually work on a new version of this but for now I think this should mitigate a lot of duplication of effort and discussion.
I have left all the linked topics in the other forum as I do not want to have to re-link everything and create more clutter than needs to be in this forum
******************************************************************************************
Their have been several topics discussing the need for a new or re-designed theme and the consensus seems to be that it is necessary for many reasons. The problem is that these topics tend to just turn into stale debates on weather to use a specific framework or workflow. The fact of the matter is if we want a new or re-designed theme, then we need to define exactly what it is we need.
Their are several minor/major debates or discussions that need to take place to answer a lot of questions. I have tried to capture as many as I could but if you have any that I have left out just let me know so that I can update this topic.
It is probably a better idea that some of these happen in their own topics as their are a lot of them here and could potentially drive their own RFC, so to facilitate this I will link the questions to a corresponding topic once its created.
With this in mind please refrain from full-out discussions within this topic about individual questions and instead discuss what questions are needed or not needed.
Lets take one at a time to knock these out in straight forward manner to provide better tracking as well for RFCs and keep in mind the scope of this is not any specific deadline or release but ongoing until all is said and complete.
Status Chart
PR in Progress
Merged
The Requirements:
- The theme should use normalize/SUIT base to handle its resets.
- Need to establish a grid system and adere to it.
- We need to use a pre-processor such as LESS or which ever is decided upon.
- Css/JS/Fonts/Images need to be separated into their own folders labeled as such under an assets folder for better organization and consistency
- Theme creation should happen in its own repo to be merged upon completion
- Adopt a mobile first approach to the design to ensure the best possible theme for each breakpoint.
- Allow for responsive removal of content from view(IE some features that be beneficial on desktop really are not necessary or important on mobile).
- Utilize Font Awesome icons where icons are needed to simplify server requests.
- The css/js that is served and cached should be minified/compressed/gzipped.
- HTML needs to be semantic and follow best practices utilizing HTML5 when possible.
- Proper use of ajax calls to render specific content.
- In-Depth Design study on each block of content based on semantics, responsiveness, and usability .
- All JS needs to be completely abstracted from the template files.
- Template files need re-broken out into major files and included files for better organization and cleaner codebase(Componentized).
- The css needs broken out into components and elements for easier maintainability and portability.
- Better consistency & standards across the theme need to be created and enforced.
- Completely remove all generated HTML from the core.
- Finish converting front facing files to symfony controllers/routers.
- Clean up and streamline templating variables.
- Drop full support for IE 8.
- UI/UX chnage suggestions.
- Eventually re-design Admin Theme to reflect new theme changes.
Let the discussions begin