Browse Source

theme flaty par Marc Leopold http://www.marcleopold.org/

master
toutati@free.fr 8 years ago
commit
93675b4cb4
  1. 8
      .gitattributes
  2. 27
      body.html
  3. 605
      css/bootswatch.less
  4. 300
      css/variables.less
  5. BIN
      img/glyphicons-halflings-white.png
  6. BIN
      img/glyphicons-halflings.png
  7. 12
      plugin.xml
  8. BIN
      vignette.png

8
.gitattributes

@ -0,0 +1,8 @@
* text=auto !eol
/body.html -text
css/bootswatch.less -text
css/variables.less -text
img/glyphicons-halflings-white.png -text
img/glyphicons-halflings.png -text
/plugin.xml -text
/vignette.png -text

27
body.html

@ -0,0 +1,27 @@
<body>
<div class="page">
<div class="container header" id="header">
<INCLURE{fond=header/#ENV{type-page},env} />
</div>
[<div class="navbar navbar-inverse navbar-responsive" id="nav">
(#INCLURE{fond=inclure/nav,env}|navbar_responsive)
</div>]
<div class="container">
<div class="wrapper">
<div class="content primary span8" id="content">
<INCLURE{fond=breadcrumb/#ENV{type-page},env} />
<INCLURE{fond=content/#ENV{type-page},env} />
</div>
<div class="aside secondary span3" id="aside">
<INCLURE{fond=aside/#ENV{type-page},env} />
</div>
<div class="extra secondary span3" id="extra">
<INCLURE{fond=extra/#ENV{type-page},env} />
</div>
</div>
</div>
<div class="footer container" id="footer">
<INCLURE{fond=footer/#ENV{type-page},env} />
</div>
</div>
</body>

605
css/bootswatch.less

@ -0,0 +1,605 @@
// Flatness by Jenil (www.jgog.in)
// Bootswatch 2.3.2
// -----------------------------------------------------
// TYPOGRAPHY
// --------------------------------------------------
@import url("http://fonts.googleapis.com/css?family=Lato:400,700,900,400italic");
h1 {
font-size: 48px;
font-weight: 900;
}
h2 {
font-size: 36px;
font-weight: 700;
}
h3 {
font-size: 28px;
font-weight: 700;
}
h4 {
font-size: 24px;
font-weight: 500;
}
h5 {
font-size: 16px;
font-weight: 500;
}
h6 {
font-size: 13px;
font-weight: 500;
text-transform: none;
}
p {
margin-bottom: 1em;
}
// SCAFFOLDING
// --------------------------------------------------
.page-header {
border-bottom: none;
}
// NAVBAR
// --------------------------------------------------
.navbar {
.brand {
text-shadow: none;
&:hover {
color: @linkColorHover;
}
}
.navbar-inner {
.box-shadow(none);
}
.nav > li > a {
text-shadow: none;
}
.nav > .active > a,
.nav > .active > a:hover,
.nav > .active > a:focus {
.box-shadow(none);
}
.navbar-search .search-query {
border: none;
.box-shadow(none);
line-height: normal;
}
.btn-navbar {
background-image: none;
.box-shadow(none);
}
.btn, .btn-group {
margin-top: 6px;
}
&-inverse {
.brand:hover {
color: @blueDark;
}
.navbar-search .search-query {
border-color: transparent;
.box-shadow(none);
line-height: normal;
color: @textColor;
&:focus {
padding: 4px 14px;
color: @textColor;
}
}
}
}
div.subnav {
border-color: transparent;
background-image: none;
background-color: @grayLighter;
.box-shadow(none);
&-fixed {
top: @navbarHeight;
}
.nav > li > a {
border-color: transparent;
.box-shadow(none);
color: @textColor;
}
.nav > .active > a,
.nav > .active > a:hover {
border-color: transparent;
background-color: darken(@grayLighter, 10%);
.box-shadow(none);
color: @textColor;
}
}
// NAVIGATION
// --------------------------------------------------
.nav-list {
& > li > a,
& > .active > a,
.nav-header {
text-shadow: none;
}
.divider {
background: none;
border-bottom: 2px solid @dropdownDividerBottom;
}
}
.nav-pills {
.open .dropdown-toggle {
background-color: @blueDark;
}
}
.pagination {
ul {
.box-shadow(none);
& > li > a {
background-color: @green;
border-color: transparent;
color: @white;
&:hover {
background-color: lighten(@green, 10%);
}
}
& > .active > a,
& > .active > a:hover {
background-color: @paginationActiveBackground;
color: @textColor;
}
& > .disabled > a,
& > .disabled > a:hover {
background-color: lighten(@green, 10%);
color: @white;
}
}
}
.pager {
li > a,
li > span {
background-color: @green;
border: none;
color: @white;
&:hover {
background-color: lighten(@green, 10%);
}
}
.disabled > a,
.disabled > span,
.disabled > a:hover,
.disabled > span:hover {
background-color: lighten(@green, 10%);
color: @white;
}
}
.breadcrumb {
& > li {
text-shadow: none;
}
}
// BUTTONS
// --------------------------------------------------
.btn {
padding: 9px 20px;
border: none;
background-image: none;
color: @white;
text-decoration: none;
text-shadow: none;
.box-shadow(none);
-webkit-transition: 0.25s;
-moz-transition: 0.25s;
transition: 0.25s;
&:hover,
&:focus {
color: white;
-webkit-transition: 0.25s;
-moz-transition: 0.25s;
transition: 0.25s;
}
&:active,
&.active {
.box-shadow(none);
color: rgba(255, 255, 255, 0.75);
}
&.disabled,
&[disabled] {
color: white;
}
&-large {
padding: @paddingLarge;
}
&-small {
padding: @paddingSmall;
}
&-mini {
padding: @paddingMini;
}
}
// TABLES
// -----------------------------------------------------
.table tbody tr {
&.success > td,
&.error > td,
&.warning > td,
&.info > td {
color: @white;
}
}
// FORMS
// --------------------------------------------------
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
padding: 7px 6px;
border: 2px solid #dce4ec;
text-indent: 1px;
.border-radius(@inputBorderRadius);
.box-shadow(none);
.placeholder(#acb6c0);
&:focus {
border-color: #1abc9c;
.box-shadow(none);
}
}
.input-prepend {
.add-on:first-child,
.btn:first-child {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
}
.input-append {
input,
select,
.uneditable-input {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
+ .btn-group .btn:last-child {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
.add-on:last-child,
.btn:last-child,
.btn-group:last-child > .dropdown-toggle {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
.input-prepend,
.input-append {
input,
select,
.uneditable-input {
.border-radius(0);
+ .btn-group .btn {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
.add-on:first-child,
.btn:first-child {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
.add-on:last-child,
.btn:last-child {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
.input-append,
.input-prepend {
.add-on {
padding: 9px 5px;
text-shadow: none;
border: none;
}
}
.control-group.error,
.control-group.error input:focus,
.control-group.error textarea:focus {
border-color: #e74c3c;
.box-shadow(none);
}
.control-group.success,
.control-group.success input:focus,
.control-group.success textarea:focus {
border-color: #2ecc71;
.box-shadow(none);
}
.control-group.warning,
.control-group.warning input:focus,
.control-group.warning textarea:focus {
border-color: #f1c40f;
.box-shadow(none);
}
.control-group.info,
.control-group.info input:focus,
.control-group.info textarea:focus {
border-color: #3498db;
.box-shadow(none);
}
input[disabled],
input[readonly],
textarea[disabled],
textarea[readonly] {
background-color: #eaeded;
border-color: transparent;
color: #cad2d3;
cursor: default;
}
input[type="file"]{
line-height: 16px;
}
legend {
border-bottom: none;
color: @textColor;
}
.form-actions {
border-top: none;
.border-radius(@baseBorderRadius);
background-color: darken(@grayLighter, 5%);
}
// DROPDOWNS
// --------------------------------------------------
// ALERTS, LABELS, BADGES
// --------------------------------------------------
.alert {
background-color: @orange;
color: @white;
text-shadow: none;
h1, h2, h3, h4, h5, h6 {
color: @white;
}
&-error {
background-color: @red;
}
&-success {
background-color: @green;
}
&-info {
background-color: @blue;
}
}
.label {
padding: 6px 10px;
text-shadow: none;
}
.badge {
padding: 6px 10px;
.border-radius(@borderRadiusLarge);
text-shadow: none;
}
// MISC
// --------------------------------------------------
.well {
border: none;
.box-shadow(none);
}
.progress {
background: @grayLighter;
border-radius: 32px;
height: 12px;
.box-shadow(none);
.bar {
background-color: @blueDark;
background-image: none;
.box-shadow(none);
}
.bar + .bar {
.box-shadow(none);
}
&-striped .bar {
#gradient > .striped(@blueDark);
}
&-success .bar,
&-success.progress-striped .bar,
.bar-success {
background-color: @green;
}
&-warning .bar,
&-warning.progress-striped .bar,
.bar-warning {
background-color: @yellow;
}
&-danger .bar,
&-danger.progress-striped .bar,
.bar-danger {
background-color: @red;
}
&-info .bar,
&-info.progress-striped .bar,
.bar-info {
background-color: @blue;
}
}
.tooltip {
&.in {
opacity: 1;
}
}
.popover {
color: @white;
&-title {
border-bottom: 2px solid @dropdownDividerBottom;
}
}
.modal {
&-header {
background-color: @navbarBackground;
border-bottom: none;
color: @white;
}
&-footer {
background-color: @grayLighter;
border-top: none;
.box-shadow(none);
}
}
.close {
text-shadow: none;
}
// MEDIA QUERIES
// --------------------------------------------------
@media (max-width: 767px) {
div.subnav {
.nav > li:first-child > a,
.nav > li + li > a {
border-color: transparent;
&:hover {
background-color: darken(@grayLighter, 10%);
}
}
.nav > li:last-child > a {
border-radius: 0 0 4px 4px;
}
}
.input-append,
.input-prepend {
.add-on,.btn {
padding: 5px;
}
}
}
@media (max-width: 979px) {
.navbar {
.nav-collapse .nav > li > a {
color: @white;
&:hover {
background-color: @green;
}
}
}
}

300
css/variables.less

@ -0,0 +1,300 @@
// Flatness by Jenil (www.jgog.in)
// Bootswatch 2.3.2
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
@black: #000;
@grayDarker: #222;
@grayDark: #7b8a8b;
@gray: #95A5A6;
@grayLight: #b4bcc2;
@grayLighter: #ECF0F1;
@white: #fff;
// Accent colors
// -------------------------
@blue: #3498DB;
@blueDark: #2C3E50;
@green: #18BC9C;
@red: #E74C3C;
@yellow: #e6bb0d;
@orange: #F39C12;
@pink: #ff6699;
@purple: #8E44AD;
// Scaffolding
// -------------------------
@bodyBackground: @white;
@textColor: @blueDark;
// Links
// -------------------------
@linkColor: #1ABC9C;
@linkColorHover: lighten(@linkColor, 5%);
// Typography
// -------------------------
@sansFontFamily: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
@baseFontSize: 15px;
@baseFontFamily: @sansFontFamily;
@baseLineHeight: 20px;
@altFontFamily: @serifFontFamily;
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
// Component sizing
// -------------------------
// Based on 14px font-size and 20px line-height
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 18px 36px; // 44px
@paddingSmall: 2px 12px; // 26px
@paddingMini: 1px 8px; // 24px
@baseBorderRadius: 6px;
@borderRadiusLarge: 10px;
@borderRadiusSmall: 3px;
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: #f9f9f9; // for striping
@tableBackgroundHover: #f5f5f5; // for hover
@tableBorder: #ddd; // table and cell border
// Buttons
// -------------------------
@btnBackground: @grayLight;
@btnBackgroundHighlight: lighten(@btnBackground, 10%);
@btnBorder: #ddd;
@btnPrimaryBackground: @textColor;
@btnPrimaryBackgroundHighlight: lighten(@btnPrimaryBackground, 10%);
@btnInfoBackground: @blue;
@btnInfoBackgroundHighlight: lighten(@btnInfoBackground, 10%);
@btnSuccessBackground: @green;
@btnSuccessBackgroundHighlight: lighten(@btnSuccessBackground, 10%);
@btnWarningBackground: @orange;
@btnWarningBackgroundHighlight: lighten(@btnWarningBackground, 10%);
@btnDangerBackground: @red;
@btnDangerBackgroundHighlight: lighten(@btnDangerBackground, 10%);
@btnInverseBackground: @grayDarker;
@btnInverseBackgroundHighlight: lighten(@btnInverseBackground, 10%);
// Forms
// -------------------------
@inputBackground: @white;
@inputBorder: #dce4ec;
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: #eaeded;
@formActionsBackground: #f5f5f5;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns
// -------------------------
@dropdownBackground: @blueDark;
@dropdownBorder: rgba(0,0,0,0);
@dropdownDividerTop: rgba(0,0,0,0.2);
@dropdownDividerBottom: rgba(0,0,0,0.2);
@dropdownLinkColor: @white;
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @dropdownLinkColor;
@dropdownLinkBackgroundActive: @green;
@dropdownLinkBackgroundHover: @green;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1030;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
// Sprite icons path
// -------------------------
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
// Hr border color
// -------------------------
@hrBorder: @grayLighter;
// Horizontal forms & lists
// -------------------------
@horizontalComponentOffset: 180px;
// Wells
// -------------------------
@wellBackground: @grayLighter;
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 50px;
@navbarBackgroundHighlight: @textColor;
@navbarBackground: @textColor;
@navbarBorder: darken(@navbarBackground, 5%);
@navbarText: @white;
@navbarLinkColor: @white;
@navbarLinkColorHover: @linkColor;
@navbarLinkColorActive: @linkColor;
@navbarLinkBackgroundHover: transparent;
@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
@navbarBrandColor: @navbarLinkColor;
// Inverted navbar
@navbarInverseBackground: @green;
@navbarInverseBackgroundHighlight: @green;
@navbarInverseBorder: darken(@green, 5%);
@navbarInverseText: @white;
@navbarInverseLinkColor: @white;
@navbarInverseLinkColorHover: @blueDark;
@navbarInverseLinkColorActive: @blueDark;
@navbarInverseLinkBackgroundHover: transparent;
@navbarInverseLinkBackgroundActive: darken(@navbarInverseBackground, 5%);
@navbarInverseSearchBackground: @white;
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @grayLight;
@navbarInverseSearchPlaceholderColor: @gray;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: @grayLighter;
// Hero unit
// -------------------------
@heroUnitBackground: @grayLighter;
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: @yellow;
@warningBackground: @yellow;
@warningBorder: transparent;
@errorText: @red;
@errorBackground: @red;
@errorBorder: transparent;
@successText: @green;
@successBackground: @green;
@successBorder: transparent;
@infoText: @blue;
@infoBackground: @blue;
@infoBorder: transparent;
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: @blueDark;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: @blueDark;
@popoverArrowWidth: 10px;
@popoverArrowColor: @blueDark;
@popoverTitleBackground: @blueDark;
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
@popoverArrowOuterColor: rgba(0,0,0,.25);
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);

BIN
img/glyphicons-halflings-white.png

After

Width: 469  |  Height: 159  |  Size: 8.6 KiB

BIN
img/glyphicons-halflings.png

After

Width: 469  |  Height: 159  |  Size: 12 KiB

12
plugin.xml

@ -0,0 +1,12 @@
<plugin>
<nom>Flatly</nom>
<version>2.3.2</version>
<etat>stable</etat>
<auteur>MIL</auteur>
<licence>GPL</licence>
<prefix>theme_bsflatly</prefix>
<description>Flat an modern</description>
<icon>vignette.png</icon>
<utilise id="spipr" version="[0.1.0-dev;]" />
<categorie>theme</categorie>
</plugin>

BIN
vignette.png

After

Width: 200  |  Height: 150  |  Size: 7.9 KiB

Loading…
Cancel
Save