Skip to main content

GSoC'19 Coding Period | Week #12 | Icon API


The Google Summer of Code has reached the end of the week #12 of the coding period which marks the end of the 3 month long GSoC program with my project "Complete porting of Icons API to Drupal 8" successfully implemented as planned.

During this 12 week, I've managed to port the 6 modules from the Drupal 7 to Drupal 8 with some features added and some features removed and following are the modules:

  • Icon API: This is the main module which is responsible for providing the interface to all the other modules.
  • Fontawesome Bundle: This is an Icon Bundle which is responsible for loading the icons and supporting the core sub-modules. This was not present in the Drupal 7 version of the module.
  • Icon Block: This module is responsible for integrating the icons into the Blocks.
  • Icon Menu: This module is responsible for integrating the icons into the Menu items.
  • Icon Filter: This module is responsible for integrating the icons into the content using the Filters.
  • Icon Field: This module is responsible for integrating the icons using the fields.
The following are the new or modified features included in the Drupal 8 version of the module which are not present in the Drupal 7 version:
  • Uses plugin system to detect the icon bundles.
  • Provides autocomplete search to search from the icons from the specific icon bundle.
  • Wrapping the link around the icons in the Icon Field.

All the modules are ported and are tested by my mentor Chiranjeeb Mahanta (chiranjeeb2410) and all are working as planned. The project can be found at the Drupal module page or the Github repository and more information on the final work product can be found at the issue page.

Comments

Popular posts from this blog

GSoC'19 Coding Period | Week #11 | Icon API

The  Google Summer of Code  has reached the end of the week #11 of the coding period with my project " Complete porting of Icons API to Drupal 8 " being progressing smoothly with interesting challenges along the way. In my previous  blog post , I had mentioned that I'd be fixing the autocomplete issue with the Icon Field module and looking for any bugs in the whole project. During this week, I've implemented the autocomplete update thing in the Icon Field module and the following code is called when there is a change in the select field using the ajax: /** * * Returns the 'Search icon' textfield */ public function updateIconField(array &$form, FormStateInterface $form_state) { // Get the delta $delta = $form['#icon_field_delta']; // Get the field name $field_name = $form['#icon_field_name']; $icon_form = $form[$field_name]['widget']['' . $delta . '']['icon']; // Get the ...

GSoC'19 Coding Period | Week #10 | Icon API

The Google Summer of Code has reached the end of the week #10 of the coding period with my project " Complete porting of Icons API to Drupal 8 " being progressing smoothly with interesting challenges along the way. In my previous blog post , I had mentioned that I'll be finishing the Icon Field submodule and checking the whole project code to find the potential bugs or future errors. During this week, I've implemented the Field Formatter and wrote a twig template to render the icon which was defined using the hook_theme() in the icon_field.module file. The twig template(defined in templates/icon-field.html.twig ) to render the icons is as follows: {# Icon Field Twig template for displaying the icon #} {% if link is not empty %} <a href="{{ link }}"> {% endif %} <{{ wrapper }} class="fa fa-{{ icon }} {{ wrapper_classes|join(' ') }}"></{{ wrapper }}> {% if link is not empty %} </a> {% endif %} In th...