Repository containing the drupal theme for the NextEuropa platform.
The Ec-Europa theme is a Drupal 7 theme, the one currently used by the European Commission main website (ec.europa.eu), the site of the Commissioners (https://ec.europa.eu/commission/commissioners/2014-2019) and Digital Single Market (https://ec.europa.eu/digital-single-market/en/policies/shaping-digital-single-market). Europa is the result of the work of the team developing the current European Commission main website, it has been then abstracted in order to work on any instance of the NextEuropa platform and it is now fully compatible with it. The Europa theme can be considered more as a comprehensive tool to implement a website of the European Commission following the new visual identity defined by Digital Transformation. This is a component based implementation, based on a styleguide including 43 components at the moment. This theme is where the current components in use in the forementioned websites are developed and maintained, the Ec-europa styleguide (https://ec-europa.github.io/ec-europa-theme/), that shows examples about all the components, is generated by this environment, using a library called kss (http://warpspire.com/kss/). This theme is responsive (the current components use mainly 3 different breakpoints), it uses the B.E.M naming convention.
It is possible to install this theme as a standard drupal theme just putting the content of this repository in sites/all/themes/europa and then enabling the theme going to admin/appearance, you would also need to install the libraries by running the included drush make file (drush make --no-core europa.make) Anyhow, the Ec-Europa-theme is not meant to be installed as a standalone theme for Drupal, it has to be used together with the ec-europa-theme-tools (https://github.com/ec-europa/ec-europa-theme-tools) and it is meant to be placed on top of an installation of the NextEuropa platform. Both of these are mandatory requirements, the functionalities of the theme rely on the modules and features. The ec-europa-theme-tools are also providing out of the box solutions for the main components (header (complete and basic), footer (corporate e custom) and the topbar, by installing the tools you get these elements activated by default including their content (menu items, labels, strings) translated in 24 languages (when available).
This drupal theme is supposed to be used together with a set of modules and features (https://github.com/ec-europa/ec-europa-theme-tools). A devkit is available (https://github.com/ec-europa/ec-europa-theme-devkit) for handling the complex environment needed, considering this as the ensemble of the NextEuropa platform, this drupal theme and the ec-europa-theme-tools. Using the devkit you get all the needed tools to develop this theme, starting from the codesniffer checks and the integration with a continuos integration service (https://app.continuousphp.com/). Please refer to the README files of the other repositories for having a full picture of the framework.
Specifically about this theme you need grunt which is installed together with the other needed libraries by running npm install in the root of the theme. There is a gruntfile in the root of this project which defines a watcher that is going to take care of compiling your sass files into the final css and to re-generate the styleguide anytime you change anything in one of the files of the theme that involves the components.
Behat tests are available in the ec-europa-theme-devkit, they test this theme and the tools on an instance of NextEuropa, executing the user stories defined in the tests. Their coverage of the numerous features provided by this theme is still pretty low at the moment but quicky increasing.
This repository contains all the source files needed to generate the Ec-Europa styleguide, but it doesn't contain the generated styleguide. In your local environment, in order to generate the styleguide you will need npm (package manager for JavaScript) to be installed on your system, once you have npm you can run npm install from the root of the Ec-Europa theme and you will get Kss which is the library this theme is using to generate the styleguide. The generated files are excluded in .gitignore, so you should never notice them doing a git diff, in any case do not ever add those files to the repository.