SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Icon
Themes
Reusable icon variables and mappings
for customizable user interfaces
#FOSDEM2018@evalica
Color
Themes
Simplest way to provide diversity for an
interface
Bootstrap
Themes
Controlling multiple aspects of the interface
from colors to typography, spacing, borders,
etc.
Icon
Themes
Allow style alternatives
Allow reusability of iconography across
interface
Icon Libraries
Silk Glyphicons Halflings Font Awesome Material Design
Launched 2005 2010 2012 2014
Version 1.3 1.9 4.7.0 3.0.1
Number of Icons 1000 265 786 884
Format PNG PNG, SVG, EOT, TTF,
WOFF
SVG, EOT, TTF, OTF,
WOFF, WOFF2
PNG, SVG, EOT, TTF,
WOFF, WOFF2
Resolution 16px 24px, * 14px+, * 18-24-36-48dp, *
License CC BY 2.5 Free to use with
Bootstrap 3
SIL OFL 1.1 Apache 2.0
Silk famfamfam Font Awesome
Icon Libraries
Silk Glyphicons Halflings Font Awesome Material Design
Launched 2005 2010 2012 2014
Version 1.3 1.9 4.7.0 3.0.1
Number of Icons 1000 265 786 884
Format PNG PNG, SVG, EOT, TTF,
WOFF
SVG, EOT, TTF, OTF,
WOFF, WOFF2
PNG, SVG, EOT, TTF,
WOFF, WOFF2
Resolution 16px 24px, * 14px+, * 18-24-36-48dp, *
License CC BY 2.5 Free to use with
Bootstrap 3
SIL OFL 1.1 Apache 2.0
Glyphicon Halflings Font Awesome
Home Icon
Silk Glyphicons Font Awesome Material Design
Icon
PNG <img src="house.png"/> <img src="home.png"/> *
<img
src="/ic_home_black_24dp_1x
.png"/>
Font -
<span class="glyphicon
glyphicon-home"></span>
<span class="fa
fa-home"></span>
<i
class="material-icons">home
</i>
SVG - - *
<object
data="/ic_home_black_24px.s
vg" type="image/svg+xml"/>
CSS - e021 f015 -
Decorative Icons
{{html}}
<button type="submit" class="btn btn-default"
title="Edit">
<span class="btn-label action-edit">Edit</span>
</button>
{{/html}}
{{css}}
.action-edit {
padding-left: 16px;
background-repeat: no-repeat;
background-image:
url(".../editor/ic_mode_edit_black_18dp.png");}
{{/css}}
Inline Icons
{{html}}
<button type="submit" class="btn btn-default"
title="Edit">
<img src=".../editor/ic_mode_edit_black_18dp.png"
alt="Edit" title="Edit"/>
<span class="btn-label">Edit</span>
</button>
{{html}}
Icon Libraries
Silk Glyphicons Halflings Font Awesome Material Design
Launched 2005 2010 2012 2014
Version 1.3 1.9 4.7.0 3.0.1
Number of Icons 1000 265 786 884
Format PNG PNG, SVG, EOT, TTF,
WOFF
SVG, EOT, TTF, OTF,
WOFF, WOFF2
PNG, SVG, EOT, TTF,
WOFF, WOFF2
Resolution 16px 24px, * 14px+, * 18-24-36-48dp, *
License CC BY 2.5 Free to use with
Bootstrap 3
SIL OFL 1.1 Apache 2.0
Material Design Font Awesome
Home Icon
Silk Glyphicons Font Awesome Material Design
Icon
PNG <img src="house.png"/> <img src="home.png"/> *
<img
src="/ic_home_black_24dp_1x
.png"/>
Font -
<span class="glyphicon
glyphicon-home"></span>
<span class="fa
fa-home"></span>
<i
class="material-icons">home
</i>
SVG - - *
<object
data="/ic_home_black_24px.s
vg" type="image/svg+xml"/>
CSS - e021 f015 -
Format Comparison
Image Font SVG
Support All No support for Opera Mini IE9+
Scalability Fixed / Raster Scalable / Text Scalable / Vector
HTTP Requests Solo / Sprites Char / Font Solo / Sprites
File Size
Depends +
Multiple resolutions
Smaller Depends
Load Resource Resource Resource / Inline
Browser Styling No Limited Extended
Animations No Limited Extended
Accessibility Alt Title / Ligatures Title / Desc
SilkFont Awesome
{{html}}
<span class="fa fa-home"></span>
{{/html}}
Material Design Icon Themes
{{html}}
<img src="house.png" alt="House" />
{{/html}}
{{html}}
<i class="material-icons">home</i>
{{/html}}
$services.icon.render('home')
Provide a script service that is using a
predefined variable mapped on multiple icon
sets
Icon Theme
example
## General settings
xwiki.iconset.type = font
xwiki.iconset.ssx = IconThemes.FontAwesome
xwiki.iconset.jsx = IconThemes.FontAwesome
xwiki.iconset.render.wiki = {{html
clean="false"}}<span class="fa
fa-$icon"></span>{{/html}}
xwiki.iconset.render.html = <span class="fa
fa-$icon"></span>
## Mapping
home = home
wiki = globe
space = folder
page = file-o
check = check
add = plus
anchor = anchor
terminal = terminal
list = list-alt
branch = code-fork
down = arrow-down
up = arrow-up
left = arrow-left
right = arrow-right
arrows = arrows-alt
Icon Theme
Silk
xwiki.iconset.type = image
xwiki.iconset.render.html = <img
src="$xwiki.getSkinFile("../${icon}.png")"
alt="Icon" />
xwiki.iconset.render.wiki =
[[image:path:$xwiki.getSkinFile("../${icon}.png")]]
$services.icon.render('home')
Icon Theme
Font Awesome
xwiki.iconset.type = font
xwiki.iconset.render.html =
<span class="fa fa-$icon"></span>
xwiki.iconset.render.wiki =
(%class="fa fa-$icon"%) (%%)
$services.icon.renderHTML('home', 'Font Awesome')
Mapping
IcoMoonFont Awesome
Foundation Octicons
Material Design
Ionicons
Ionicons
Material Design
Custom
Icon Sets
Use icon sets generators (Icomoon, Fontello,
etc.) and mix and match icons from different
sets (thenounproject, materialdesignicons,
etc.)
CSS or SVG sprites (svg-sprite, sprity, etc.)
Extending
Icon Themes
Animation / Rotation
Stacking / Layering
Multi Colors
Responsive
RTL
Conclusions
● Switch / Migrate / Support
multiple sets
● Scalability / Resolution
(PNG, SVG, Font)
● Versatility / Number of icons
● Esthetic / Style
● License
● Performance
● Functionality
● Accessibility
Thank you!
Questions?
#FOSDEM2018@evalica
References
● XWiki Icon Theme Application
● Vector Icons Roundup
● Glyph Search
● Seriously, Don’t Use Icon Fonts
● Inline SVG vs Icon Fonts
● Should I use SVG, Icon Fonts, or Images?
● Ten reasons we switched from to SVG
● Great Icon Debate: Fonts Vs SVG
● Death to Icon Fonts
● Ditching Icon Fonts for SVG

Contenu connexe

Similaire à Icon Themes

WordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebWordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebGeorge Kanellopoulos
 
HTML5-Tutorial-For-Beginn.6202488.pptx
HTML5-Tutorial-For-Beginn.6202488.pptxHTML5-Tutorial-For-Beginn.6202488.pptx
HTML5-Tutorial-For-Beginn.6202488.pptxBCAGen
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersSascha Corti
 
Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Dennis Perlot
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebGeorge Kanellopoulos
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDoris Chen
 
Hooray Icon Fonts! Artifact Conference
Hooray Icon Fonts! Artifact ConferenceHooray Icon Fonts! Artifact Conference
Hooray Icon Fonts! Artifact Conferencejameswillweb
 
Visual Experience 360 Flex
Visual Experience 360 FlexVisual Experience 360 Flex
Visual Experience 360 FlexJuan Sanchez
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5Doris Chen
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilightIntergen
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
 
Sps mad2018 joel rodrigues - pn-p reusable controls and pnpjs
Sps mad2018   joel rodrigues - pn-p reusable controls and pnpjsSps mad2018   joel rodrigues - pn-p reusable controls and pnpjs
Sps mad2018 joel rodrigues - pn-p reusable controls and pnpjsJoel Rodrigues
 

Similaire à Icon Themes (20)

WordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebWordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWeb
 
HTML5-Tutorial-For-Beginn.6202488.pptx
HTML5-Tutorial-For-Beginn.6202488.pptxHTML5-Tutorial-For-Beginn.6202488.pptx
HTML5-Tutorial-For-Beginn.6202488.pptx
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
 
HTML5 Refresher
HTML5 RefresherHTML5 Refresher
HTML5 Refresher
 
Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The Nextweb
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
Hooray Icon Fonts! Artifact Conference
Hooray Icon Fonts! Artifact ConferenceHooray Icon Fonts! Artifact Conference
Hooray Icon Fonts! Artifact Conference
 
Visual Experience 360 Flex
Visual Experience 360 FlexVisual Experience 360 Flex
Visual Experience 360 Flex
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
 
Html5/CSS3
Html5/CSS3Html5/CSS3
Html5/CSS3
 
CSS 3 Overview
CSS 3 OverviewCSS 3 Overview
CSS 3 Overview
 
Html5 CSS3 jQuery Basic
Html5 CSS3 jQuery BasicHtml5 CSS3 jQuery Basic
Html5 CSS3 jQuery Basic
 
Html5
Html5Html5
Html5
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilight
 
Html5
Html5Html5
Html5
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
Sps mad2018 joel rodrigues - pn-p reusable controls and pnpjs
Sps mad2018   joel rodrigues - pn-p reusable controls and pnpjsSps mad2018   joel rodrigues - pn-p reusable controls and pnpjs
Sps mad2018 joel rodrigues - pn-p reusable controls and pnpjs
 

Plus de Ecaterina Moraru (Valica)

UI/UX Tips & Tricks for developers - FOSDEM2020
UI/UX Tips & Tricks for developers - FOSDEM2020UI/UX Tips & Tricks for developers - FOSDEM2020
UI/UX Tips & Tricks for developers - FOSDEM2020Ecaterina Moraru (Valica)
 
Difficulties in having more designers participate in Open Source
Difficulties in having more designers participate in Open SourceDifficulties in having more designers participate in Open Source
Difficulties in having more designers participate in Open SourceEcaterina Moraru (Valica)
 
CSS Variables — Native reusable custom properties
CSS Variables — Native reusable custom propertiesCSS Variables — Native reusable custom properties
CSS Variables — Native reusable custom propertiesEcaterina Moraru (Valica)
 
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Ecaterina Moraru (Valica)
 
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...Ecaterina Moraru (Valica)
 

Plus de Ecaterina Moraru (Valica) (20)

UI/UX Tips & Tricks for developers - FOSDEM2020
UI/UX Tips & Tricks for developers - FOSDEM2020UI/UX Tips & Tricks for developers - FOSDEM2020
UI/UX Tips & Tricks for developers - FOSDEM2020
 
UI/UX Tips & Tricks for developers
UI/UX Tips & Tricks for developersUI/UX Tips & Tricks for developers
UI/UX Tips & Tricks for developers
 
Sketching Session
Sketching SessionSketching Session
Sketching Session
 
CSS Grid vs. Flexbox
CSS Grid vs. FlexboxCSS Grid vs. Flexbox
CSS Grid vs. Flexbox
 
Designing in the open
Designing in the openDesigning in the open
Designing in the open
 
XWiki Skin 10.x+ ideas
XWiki Skin 10.x+ ideasXWiki Skin 10.x+ ideas
XWiki Skin 10.x+ ideas
 
Difficulties in having more designers participate in Open Source
Difficulties in having more designers participate in Open SourceDifficulties in having more designers participate in Open Source
Difficulties in having more designers participate in Open Source
 
CSS Variables — Native reusable custom properties
CSS Variables — Native reusable custom propertiesCSS Variables — Native reusable custom properties
CSS Variables — Native reusable custom properties
 
Design proposals status 9.x
Design proposals status 9.xDesign proposals status 9.x
Design proposals status 9.x
 
What's new in XWiki 8.x and half of 9.x
What's new in XWiki 8.x and half of 9.x What's new in XWiki 8.x and half of 9.x
What's new in XWiki 8.x and half of 9.x
 
Expectations from Open Source Designers
Expectations from Open Source DesignersExpectations from Open Source Designers
Expectations from Open Source Designers
 
Success stats from OSD community
Success stats from OSD communitySuccess stats from OSD community
Success stats from OSD community
 
Future of XWiki Skins
Future of XWiki SkinsFuture of XWiki Skins
Future of XWiki Skins
 
Design process in an Open Community
Design process in an Open CommunityDesign process in an Open Community
Design process in an Open Community
 
XWiki Usability Testing Sessions
XWiki Usability Testing SessionsXWiki Usability Testing Sessions
XWiki Usability Testing Sessions
 
About XWiki.org
About XWiki.orgAbout XWiki.org
About XWiki.org
 
Evolution of CSS
Evolution of CSSEvolution of CSS
Evolution of CSS
 
XWiki Improvements Review (ver 2.4 - 5.1)
XWiki Improvements Review (ver 2.4 - 5.1)XWiki Improvements Review (ver 2.4 - 5.1)
XWiki Improvements Review (ver 2.4 - 5.1)
 
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
 
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
 

Dernier

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 

Dernier (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 

Icon Themes

  • 1. Icon Themes Reusable icon variables and mappings for customizable user interfaces #FOSDEM2018@evalica
  • 2. Color Themes Simplest way to provide diversity for an interface
  • 3. Bootstrap Themes Controlling multiple aspects of the interface from colors to typography, spacing, borders, etc.
  • 4. Icon Themes Allow style alternatives Allow reusability of iconography across interface
  • 5. Icon Libraries Silk Glyphicons Halflings Font Awesome Material Design Launched 2005 2010 2012 2014 Version 1.3 1.9 4.7.0 3.0.1 Number of Icons 1000 265 786 884 Format PNG PNG, SVG, EOT, TTF, WOFF SVG, EOT, TTF, OTF, WOFF, WOFF2 PNG, SVG, EOT, TTF, WOFF, WOFF2 Resolution 16px 24px, * 14px+, * 18-24-36-48dp, * License CC BY 2.5 Free to use with Bootstrap 3 SIL OFL 1.1 Apache 2.0
  • 7. Icon Libraries Silk Glyphicons Halflings Font Awesome Material Design Launched 2005 2010 2012 2014 Version 1.3 1.9 4.7.0 3.0.1 Number of Icons 1000 265 786 884 Format PNG PNG, SVG, EOT, TTF, WOFF SVG, EOT, TTF, OTF, WOFF, WOFF2 PNG, SVG, EOT, TTF, WOFF, WOFF2 Resolution 16px 24px, * 14px+, * 18-24-36-48dp, * License CC BY 2.5 Free to use with Bootstrap 3 SIL OFL 1.1 Apache 2.0
  • 9. Home Icon Silk Glyphicons Font Awesome Material Design Icon PNG <img src="house.png"/> <img src="home.png"/> * <img src="/ic_home_black_24dp_1x .png"/> Font - <span class="glyphicon glyphicon-home"></span> <span class="fa fa-home"></span> <i class="material-icons">home </i> SVG - - * <object data="/ic_home_black_24px.s vg" type="image/svg+xml"/> CSS - e021 f015 -
  • 10. Decorative Icons {{html}} <button type="submit" class="btn btn-default" title="Edit"> <span class="btn-label action-edit">Edit</span> </button> {{/html}} {{css}} .action-edit { padding-left: 16px; background-repeat: no-repeat; background-image: url(".../editor/ic_mode_edit_black_18dp.png");} {{/css}} Inline Icons {{html}} <button type="submit" class="btn btn-default" title="Edit"> <img src=".../editor/ic_mode_edit_black_18dp.png" alt="Edit" title="Edit"/> <span class="btn-label">Edit</span> </button> {{html}}
  • 11. Icon Libraries Silk Glyphicons Halflings Font Awesome Material Design Launched 2005 2010 2012 2014 Version 1.3 1.9 4.7.0 3.0.1 Number of Icons 1000 265 786 884 Format PNG PNG, SVG, EOT, TTF, WOFF SVG, EOT, TTF, OTF, WOFF, WOFF2 PNG, SVG, EOT, TTF, WOFF, WOFF2 Resolution 16px 24px, * 14px+, * 18-24-36-48dp, * License CC BY 2.5 Free to use with Bootstrap 3 SIL OFL 1.1 Apache 2.0
  • 13. Home Icon Silk Glyphicons Font Awesome Material Design Icon PNG <img src="house.png"/> <img src="home.png"/> * <img src="/ic_home_black_24dp_1x .png"/> Font - <span class="glyphicon glyphicon-home"></span> <span class="fa fa-home"></span> <i class="material-icons">home </i> SVG - - * <object data="/ic_home_black_24px.s vg" type="image/svg+xml"/> CSS - e021 f015 -
  • 14. Format Comparison Image Font SVG Support All No support for Opera Mini IE9+ Scalability Fixed / Raster Scalable / Text Scalable / Vector HTTP Requests Solo / Sprites Char / Font Solo / Sprites File Size Depends + Multiple resolutions Smaller Depends Load Resource Resource Resource / Inline Browser Styling No Limited Extended Animations No Limited Extended Accessibility Alt Title / Ligatures Title / Desc
  • 15. SilkFont Awesome {{html}} <span class="fa fa-home"></span> {{/html}} Material Design Icon Themes {{html}} <img src="house.png" alt="House" /> {{/html}} {{html}} <i class="material-icons">home</i> {{/html}} $services.icon.render('home')
  • 16. Provide a script service that is using a predefined variable mapped on multiple icon sets Icon Theme example ## General settings xwiki.iconset.type = font xwiki.iconset.ssx = IconThemes.FontAwesome xwiki.iconset.jsx = IconThemes.FontAwesome xwiki.iconset.render.wiki = {{html clean="false"}}<span class="fa fa-$icon"></span>{{/html}} xwiki.iconset.render.html = <span class="fa fa-$icon"></span> ## Mapping home = home wiki = globe space = folder page = file-o check = check add = plus anchor = anchor terminal = terminal list = list-alt branch = code-fork down = arrow-down up = arrow-up left = arrow-left right = arrow-right arrows = arrows-alt
  • 17. Icon Theme Silk xwiki.iconset.type = image xwiki.iconset.render.html = <img src="$xwiki.getSkinFile("../${icon}.png")" alt="Icon" /> xwiki.iconset.render.wiki = [[image:path:$xwiki.getSkinFile("../${icon}.png")]] $services.icon.render('home') Icon Theme Font Awesome xwiki.iconset.type = font xwiki.iconset.render.html = <span class="fa fa-$icon"></span> xwiki.iconset.render.wiki = (%class="fa fa-$icon"%) (%%) $services.icon.renderHTML('home', 'Font Awesome')
  • 21. Custom Icon Sets Use icon sets generators (Icomoon, Fontello, etc.) and mix and match icons from different sets (thenounproject, materialdesignicons, etc.) CSS or SVG sprites (svg-sprite, sprity, etc.)
  • 22. Extending Icon Themes Animation / Rotation Stacking / Layering Multi Colors Responsive RTL
  • 23. Conclusions ● Switch / Migrate / Support multiple sets ● Scalability / Resolution (PNG, SVG, Font) ● Versatility / Number of icons ● Esthetic / Style ● License ● Performance ● Functionality ● Accessibility
  • 25. References ● XWiki Icon Theme Application ● Vector Icons Roundup ● Glyph Search ● Seriously, Don’t Use Icon Fonts ● Inline SVG vs Icon Fonts ● Should I use SVG, Icon Fonts, or Images? ● Ten reasons we switched from to SVG ● Great Icon Debate: Fonts Vs SVG ● Death to Icon Fonts ● Ditching Icon Fonts for SVG