SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
XWiki Skin
10.x+ Ideas
Technology and dependencies
evolution
#xwiki@evalica
● Color Themes Status
○ Variables evolution
● Icon Themes Status
○ Format evolution
● IE11 Support
Agenda
● Skins Status
○ BS3 vs. BS4
○ Less vs. Sass
○ Grid vs. Flex
○ Layouts variations
Skins Status
Skin Launched Used as
default
Replaced as
default in
Dodo < 2006
Finch < 2006
Albatross < 2006 1.0 - 1.2 1.3
Toucan Feb 2008 1.3 - 1.9 2
Colibri Sep 2009 2.0 - 3.4 - 6.1 6.2
Flamingo Sep 2014 6.2 -
Color Themes Status
Color Theme Launched Used as
default
Replaced as
default in
Skin Other Themes
Default Color Theme Aug 2009 2.0M4 - 3.3 3.3 Colibri BlueSky, Bordo,
InnerDark, Nature,
Nightfall, Peach
Azure Jan 2012 3.4 - 6.2M2 6.2M2 Colibri Dusk, Mint, Ruby
Charcoal Aug 2014 6.2M2 - 10.2 10.2 Flamingo Bootswatch, Marina,
Garden, Kitty
Iceberg Mar 2018 10.2 - Flamingo (contrib) Dawn, Pantera,
Mandarin, Snowdrop
Icon Themes Status
Icon Theme Launched as
theme
Used since Used as default Replaced as default
in
Replaced by
Silk Aug 2014 Jan 2009 6.2M1 6.2M2 Font Awesome
Font Awesome Aug 2014 Jul 2014 6.2M2 -
Format Evolution
Silk
Glyphicons
Halflings
Font Awesome
4.x
Material
Design
Font Awesome
5.x
Launched 2005 2010 2012 2014 2017
Version 1.3 1.9 4.7.0 3.0.1 5.0.1
Number of Icons 1000 265 786 884 899 (464 for Solid)
Contributed Platform Contrib Platform Contrib Contrib
Format PNG PNG, Font Font PNG, Font, SVG Font, SVG
Icon Themes Contrib
Technology
Evolution
BS3 vs. BS4 Released
Pre-
Processor
Layout
Technique
Bootstrap 3 Aug 2013 Less Float
Bootstrap 4 Jan 2018 Sass Flexbox
LESS vs. Sass
Variables Evolution
CSS Saas LESS CSS Variables
Launched 1996 2006 2009 2012
Author W3C Hampton Catlin Alexis Sellier W3C
Type Native CSS Preprocessor CSS Preprocessor Native
Filename .css .css, .scss, .sass .css, .less .css
Syntax $* @* --*
Runtime static static dynamic
Layout Evolution
Layout Specifications
Float Display Position Flex Grid Multi-columns Regions Exclusions Shapes
Launched 1996- 1996-2011- 2008-2011- 2009-2017- 2012-2017- 1999-2017 2014 2013-2015 2014
Level CSS1
CSS1,
CSS2.1
CSS2.1 CSS3 CSS3 CSS3 CSS3 CSS3 CSS3
Maturity REC REC REC CR CR WD WD WD CR
Syntax float:
none|left|r
ight|initia
l|inherit;
display:
none|inline
|block|list
-item|inlin
e-block|tab
le| ...;
position:
static|abso
lute|fixed|
relative|st
icky|initia
l|inherit;
display:
flex; flex:
flex-grow
flex-shrink
flex-basis|
auto|initia
l|inherit;
display:
grid; grid:
none|grid-t
emplate-row
s /
grid-templa
te-columns|
grid-templa
te-areas|gr
id-template
-rows /
[grid-auto-
flow]
grid-auto-c
olumns|[gri
column-count:
auto |
<integer>;
break-bef
ore: auto
| always
| avoid |
left |
right |
page |
column |
region |
avoid-pag
e |
avoid-col
umn |
avoid-reg
ion;
wrap-flow:
auto | both
| start |
end |
minimum |
maximum |
clear;
shape-outsi
de:
none|margin
-box|conten
t-box|...;
Grid vs. Flex
Layout Alternatives
Float GridFlex
<div class="container">
<div class="box a">A</div>
<div class="box b">B</div>
<div class="box c">C</div>
<div class="box d">D</div>
<div class="box e">E</div>
<div class="box f">F</div>
</div>
.container {
}
.box {
float: left;
margin: 5px;
width: 60px;
}
.container {
display: grid;
grid-gap: 10px;
grid-template-columns:
repeat(auto-fit, 100px);
}
.box {
}
.container {
display: flex;
flex-wrap: wrap;
}
.box {
flex-basis: 60px;
margin: 5px;
}
Bootstrap 4 - FlexBootstrap 3 - Float
<div class="container">
<div class="row">
<div class="col-xs-4">A</div>
<div class="col-xs-4">B</div>
<div class="col-xs-4">C</div>
</div>
</div>
Grid
<div class="container">
<div class="row">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
</div>
<div class="container">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
.container {
display: grid;
grid-template-columns: repeat(12, 1fr);
grid-gap: 10px;
}
.col {
grid-column: span 4;
}
Current Layout
Columns Layout 2-2
2-10 2-11
2-7
Advanced Layouts
Layout Examples 1
4-13
4-12
Layout Examples 2
4-7
4-8
Layout Examples 3
4-104-9
● Separation of concerns
● Less divitis and classitis + Semantic
● Cleaner HTML + Smaller CSS
● 1D and 2D layouts
● Vertical alignment
● Flex width to occupy the available space
● Any direction + Changing order
● Overlapping
Grid + Flex Advantages
IE11 Support
IE Support
Can I use?
SVG
Method of displaying basic Vector Graphics
features using the embed or object elements
96.8% JUL 2018
<object class="fa-svg" type="image/svg+xml"
data=$xwiki.getSkinFile("icons/fontawesome/solid/${
icon}.svg")></object>
Can I use?
CSS Variables
(Custom Properties)
Permits the declaration and usage of
cascading variables in stylesheets
87.5% JUL 2018
body {
--bg-color: #150C55;
background-color: pink;
}
@supports (background-color: var(--bg-color)) {
body {
background-color: var(--bg-color);
}
}
Can I use?
Flexible Box
Method of positioning elements in horizontal
or vertical stacks
96.6% JUL 2018
@supports (display: -webkit-flex) or
(display: -moz-flex) or
(display: flex) {
div {
display: -webkit-flex;
display: -moz-flex;
display: flex;
}
}
Can I use?
CSS Grid
Grid concept to lay out content, providing a
mechanism to divide available space into
columns and rows
87.7% JUL 2018
@supports (display: grid) {
.wrapper ul {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 20px;
}
}
Can I use?
@supports
Allows to condition rules based on whether
particular property declarations are
supported in CSS
92.7% JUL 2018
@supports not ((display: flex) and (display: grid))
{
div {
float: left;
}
}
Thank you
@evalica #xwiki

Más contenido relacionado

Similar a XWiki Skin 10.x+ ideas

Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser SupportMark Meeker
 
Object oriented css graeme blackwood
Object oriented css graeme blackwoodObject oriented css graeme blackwood
Object oriented css graeme blackwooddrupalconf
 
New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)Igalia
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5Doris Chen
 
EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013Michael Rush
 
Even faster web sites
Even faster web sitesEven faster web sites
Even faster web sitesFelipe Lavín
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3Jamshid Hashimi
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDoris Chen
 
SVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsSVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsShweta Sadawarte
 
いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5Sadaaki HIRAI
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceRachel Andrew
 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksRandy Connolly
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & FriendsRemy Sharp
 

Similar a XWiki Skin 10.x+ ideas (20)

Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3
 
Hardcore CSS
Hardcore CSSHardcore CSS
Hardcore CSS
 
Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser Support
 
Edge of the Web
Edge of the WebEdge of the Web
Edge of the Web
 
Object oriented css graeme blackwood
Object oriented css graeme blackwoodObject oriented css graeme blackwood
Object oriented css graeme blackwood
 
New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
 
EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013
 
HTML 5 & CSS 3
HTML 5 & CSS 3HTML 5 & CSS 3
HTML 5 & CSS 3
 
新 · 交互
新 · 交互新 · 交互
新 · 交互
 
Css3
Css3Css3
Css3
 
Building Webs Better
Building Webs BetterBuilding Webs Better
Building Webs Better
 
Even faster web sites
Even faster web sitesEven faster web sites
Even faster web sites
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
SVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsSVG - Scalable Vector Graphics
SVG - Scalable Vector Graphics
 
いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP Conference
 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS Frameworks
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
 

Más 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)
 
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)
 

Más 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
 
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
 
Icon Themes
Icon ThemesIcon Themes
Icon Themes
 
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
 
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...
 
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...
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

XWiki Skin 10.x+ ideas

  • 1. XWiki Skin 10.x+ Ideas Technology and dependencies evolution #xwiki@evalica
  • 2. ● Color Themes Status ○ Variables evolution ● Icon Themes Status ○ Format evolution ● IE11 Support Agenda ● Skins Status ○ BS3 vs. BS4 ○ Less vs. Sass ○ Grid vs. Flex ○ Layouts variations
  • 3. Skins Status Skin Launched Used as default Replaced as default in Dodo < 2006 Finch < 2006 Albatross < 2006 1.0 - 1.2 1.3 Toucan Feb 2008 1.3 - 1.9 2 Colibri Sep 2009 2.0 - 3.4 - 6.1 6.2 Flamingo Sep 2014 6.2 -
  • 4. Color Themes Status Color Theme Launched Used as default Replaced as default in Skin Other Themes Default Color Theme Aug 2009 2.0M4 - 3.3 3.3 Colibri BlueSky, Bordo, InnerDark, Nature, Nightfall, Peach Azure Jan 2012 3.4 - 6.2M2 6.2M2 Colibri Dusk, Mint, Ruby Charcoal Aug 2014 6.2M2 - 10.2 10.2 Flamingo Bootswatch, Marina, Garden, Kitty Iceberg Mar 2018 10.2 - Flamingo (contrib) Dawn, Pantera, Mandarin, Snowdrop
  • 5. Icon Themes Status Icon Theme Launched as theme Used since Used as default Replaced as default in Replaced by Silk Aug 2014 Jan 2009 6.2M1 6.2M2 Font Awesome Font Awesome Aug 2014 Jul 2014 6.2M2 -
  • 6. Format Evolution Silk Glyphicons Halflings Font Awesome 4.x Material Design Font Awesome 5.x Launched 2005 2010 2012 2014 2017 Version 1.3 1.9 4.7.0 3.0.1 5.0.1 Number of Icons 1000 265 786 884 899 (464 for Solid) Contributed Platform Contrib Platform Contrib Contrib Format PNG PNG, Font Font PNG, Font, SVG Font, SVG
  • 9. BS3 vs. BS4 Released Pre- Processor Layout Technique Bootstrap 3 Aug 2013 Less Float Bootstrap 4 Jan 2018 Sass Flexbox
  • 11. Variables Evolution CSS Saas LESS CSS Variables Launched 1996 2006 2009 2012 Author W3C Hampton Catlin Alexis Sellier W3C Type Native CSS Preprocessor CSS Preprocessor Native Filename .css .css, .scss, .sass .css, .less .css Syntax $* @* --* Runtime static static dynamic
  • 13. Layout Specifications Float Display Position Flex Grid Multi-columns Regions Exclusions Shapes Launched 1996- 1996-2011- 2008-2011- 2009-2017- 2012-2017- 1999-2017 2014 2013-2015 2014 Level CSS1 CSS1, CSS2.1 CSS2.1 CSS3 CSS3 CSS3 CSS3 CSS3 CSS3 Maturity REC REC REC CR CR WD WD WD CR Syntax float: none|left|r ight|initia l|inherit; display: none|inline |block|list -item|inlin e-block|tab le| ...; position: static|abso lute|fixed| relative|st icky|initia l|inherit; display: flex; flex: flex-grow flex-shrink flex-basis| auto|initia l|inherit; display: grid; grid: none|grid-t emplate-row s / grid-templa te-columns| grid-templa te-areas|gr id-template -rows / [grid-auto- flow] grid-auto-c olumns|[gri column-count: auto | <integer>; break-bef ore: auto | always | avoid | left | right | page | column | region | avoid-pag e | avoid-col umn | avoid-reg ion; wrap-flow: auto | both | start | end | minimum | maximum | clear; shape-outsi de: none|margin -box|conten t-box|...;
  • 15. Layout Alternatives Float GridFlex <div class="container"> <div class="box a">A</div> <div class="box b">B</div> <div class="box c">C</div> <div class="box d">D</div> <div class="box e">E</div> <div class="box f">F</div> </div> .container { } .box { float: left; margin: 5px; width: 60px; } .container { display: grid; grid-gap: 10px; grid-template-columns: repeat(auto-fit, 100px); } .box { } .container { display: flex; flex-wrap: wrap; } .box { flex-basis: 60px; margin: 5px; }
  • 16. Bootstrap 4 - FlexBootstrap 3 - Float <div class="container"> <div class="row"> <div class="col-xs-4">A</div> <div class="col-xs-4">B</div> <div class="col-xs-4">C</div> </div> </div> Grid <div class="container"> <div class="row"> <div class="col">A</div> <div class="col">B</div> <div class="col">C</div> </div> </div> <div class="container"> <div class="col">A</div> <div class="col">B</div> <div class="col">C</div> </div> .container { display: grid; grid-template-columns: repeat(12, 1fr); grid-gap: 10px; } .col { grid-column: span 4; }
  • 23. ● Separation of concerns ● Less divitis and classitis + Semantic ● Cleaner HTML + Smaller CSS ● 1D and 2D layouts ● Vertical alignment ● Flex width to occupy the available space ● Any direction + Changing order ● Overlapping Grid + Flex Advantages
  • 26. Can I use? SVG Method of displaying basic Vector Graphics features using the embed or object elements 96.8% JUL 2018 <object class="fa-svg" type="image/svg+xml" data=$xwiki.getSkinFile("icons/fontawesome/solid/${ icon}.svg")></object>
  • 27. Can I use? CSS Variables (Custom Properties) Permits the declaration and usage of cascading variables in stylesheets 87.5% JUL 2018 body { --bg-color: #150C55; background-color: pink; } @supports (background-color: var(--bg-color)) { body { background-color: var(--bg-color); } }
  • 28. Can I use? Flexible Box Method of positioning elements in horizontal or vertical stacks 96.6% JUL 2018 @supports (display: -webkit-flex) or (display: -moz-flex) or (display: flex) { div { display: -webkit-flex; display: -moz-flex; display: flex; } }
  • 29. Can I use? CSS Grid Grid concept to lay out content, providing a mechanism to divide available space into columns and rows 87.7% JUL 2018 @supports (display: grid) { .wrapper ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; } }
  • 30. Can I use? @supports Allows to condition rules based on whether particular property declarations are supported in CSS 92.7% JUL 2018 @supports not ((display: flex) and (display: grid)) { div { float: left; } }