From 0e8baab34ae21c813afb9d8c24b3cb2105aebc46 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 11 Dec 2013 22:37:59 -0800 Subject: [PATCH] more homepage and sidenav overhaul --- _includes/footer.html | 24 +++++ _includes/nav-main.html | 5 + _layouts/default.html | 30 +----- _layouts/home.html | 27 ----- docs-assets/css/docs.css | 191 ++++++++++++++++++++------------- docs-assets/img/components.png | Bin 0 -> 6902 bytes docs-assets/img/devices.png | Bin 0 -> 8275 bytes docs-assets/img/sass-less.png | Bin 0 -> 32605 bytes index.html | 71 +++++++++++- 9 files changed, 219 insertions(+), 129 deletions(-) create mode 100644 docs-assets/img/components.png create mode 100644 docs-assets/img/devices.png create mode 100644 docs-assets/img/sass-less.png diff --git a/_includes/footer.html b/_includes/footer.html index 7f9f8f103b..3b0105bdd4 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,3 +1,27 @@ + + + diff --git a/_includes/nav-main.html b/_includes/nav-main.html index 5e8faeac3f..a216164c2d 100644 --- a/_includes/nav-main.html +++ b/_includes/nav-main.html @@ -27,6 +27,11 @@ Customize + diff --git a/_layouts/default.html b/_layouts/default.html index 5863008dd2..f35d6935c0 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -21,6 +21,9 @@
+
+ {{ content }} +
-
- {{ content }} -
- - - {% include footer.html %} diff --git a/_layouts/home.html b/_layouts/home.html index ec472e7a54..96e399d20d 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -13,33 +13,6 @@ {{ content }} - - {% include footer.html %} diff --git a/docs-assets/css/docs.css b/docs-assets/css/docs.css index e495d47446..3f03db9cf0 100644 --- a/docs-assets/css/docs.css +++ b/docs-assets/css/docs.css @@ -79,6 +79,29 @@ body { border-color: #fff; } +/* Bootstrap "B" icon */ +.bs-booticon { + display: block; + font-weight: 500; + color: #fff; + background-color: #563d7c; + border-radius: 15%; + cursor: default; + text-align: center; +} +.bs-booticon-sm { + width: 30px; + height: 30px; + font-size: 20px; + line-height: 28px; +} +.bs-booticon-lg { + width: 144px; + height: 144px; + font-size: 108px; + line-height: 140px; +} + /* * Main navigation @@ -88,7 +111,8 @@ body { .bs-docs-nav { background-color: #fff; - border-color: #eee; + border-color: #e5e5e5; + box-shadow: 0 0 5px rgba(0,0,0,.05); } .bs-docs-nav .navbar-brand, .bs-docs-nav .navbar-nav > li > a { @@ -197,7 +221,6 @@ body { */ .bs-docs-home { - padding-top: 120px; background-color: #f9f9f9; } @@ -206,15 +229,20 @@ body { position: relative; padding: 30px 15px; text-align: center; + border-bottom: 1px solid #e5e5e5; +} +.bs-masthead .bs-booticon { + margin: 0 auto 30px; } .bs-masthead h1 { - display: none; + font-size: 60px; + font-weight: 300; line-height: 1; - color: #563d7c; } .bs-masthead .lead { - font-size: 20px; margin-bottom: 30px; + font-size: 20px; + color: #555; } .bs-masthead .btn-outline { width: 100%; @@ -226,47 +254,6 @@ body { margin-top: 10px; } -.bs-booticon { - display: block; - margin: -40px auto 30px; - width: 144px; - height: 144px; - font-size: 108px; - font-weight: 500; - color: #563d7c; - line-height: 140px; - border: 1px solid #563d7c; - border-radius: 15%; - cursor: default; -} - -/* Links to project-level content like the repo, Expo, etc */ -.bs-masthead-links { - margin-top: 20px; - margin-bottom: 40px; - padding-left: 0; - list-style: none; - text-align: center; -} -.bs-masthead-links li { - display: inline-block; - color: #777; - padding: 0 10px; -} - -.bs-masthead .popover { - max-width: 260px; - margin-top: -15px; - border-radius: 9px; - box-shadow: 0 4px 12px rgba(0,0,0,.25); -} -.bs-masthead .popover-content { - padding: 15px; - font-size: 16px; - font-weight: 300; - text-align: center; -} - @media (min-width: 480px) { .bs-masthead .btn-outline { width: auto; @@ -274,6 +261,10 @@ body { } @media (min-width: 768px) { + .bs-masthead { + padding-top: 80px; + padding-bottom: 80px; + } .bs-masthead .lead { font-size: 24px; } @@ -288,10 +279,6 @@ body { .bs-masthead .btn-outline { padding: 18px 24px; } - .bs-masthead-links { - padding: 0; - text-align: left; - } } @@ -399,7 +386,7 @@ body { border-width: 1px !important; } .bs-docs-home .carbonad { - margin: 0 auto 40px !important; + margin: 0 auto !important; } } @@ -408,7 +395,7 @@ body { margin: 0 !important; } .bs-docs-home .carbonad { - margin: 0 auto 40px !important; + margin: 0 auto !important; } } @@ -425,17 +412,56 @@ body { } } -@media (min-width: 768px) { - .bs-docs-home .bs-social { - margin-bottom: 10px; - } - .bs-docs-home .bs-masthead-links { - margin-top: 10px; - } - .bs-docs-home .bs-social, - .bs-docs-home .bs-masthead-links { - text-align: center; - } + +/* + * Homepage featurettes + * + * Reasons to use Bootstrap, entries from the Expo, and more. + */ + +.bs-featurette { + padding-top: 100px; + padding-bottom: 100px; + font-size: 16px; + line-height: 1.5; + color: #555; + text-align: center; + background-color: #fff; + border-bottom: 1px solid #e5e5e5; +} +.bs-featurette + .bs-footer { + margin-top: 0; + border-top: 0; +} + +.bs-featurette-title { + font-size: 40px; + font-weight: normal; + color: #333; + margin-bottom: 5px; +} +.bs-featurette .lead { + margin-left: auto; + margin-right: auto; + max-width: 80%; +} + +.bs-featurette h3, +.bs-featurette h4 { + color: #333; + font-weight: normal; +} +.bs-featurette h3 { + margin-bottom: 5px; +} +/*.bs-featurette h4 { + margin-top: 0; + margin-bottom: 0; +} +*/ +.half-rule { + max-width: 100px; + margin: 40px auto; } @@ -450,49 +476,68 @@ body { .bs-sidebar.affix { position: static; } +@media (min-width: 768px) { + .bs-sidebar { + padding-left: 10px; + } +} /* First level of nav */ .bs-sidenav { margin-top: 30px; margin-bottom: 30px; - padding-top: 10px; - padding-bottom: 10px; - text-shadow: 0 1px 0 #fff; - background-color: #f7f5fa; - border-radius: 5px; + padding-top: 5px; + padding-bottom: 5px; + border-left: 1px solid #eee; } /* All levels of nav */ .bs-sidebar .nav > li > a { display: block; - color: #716b7a; + font-weight: 500; + color: #999; padding: 5px 20px; + margin-left: -1px; } .bs-sidebar .nav > li > a:hover, .bs-sidebar .nav > li > a:focus { + padding-left: 19px; + color: #563d7c; text-decoration: none; - background-color: #e5e3e9; - border-right: 1px solid #dbd8e0; + background-color: transparent; + border-left: 1px solid #563d7c; } .bs-sidebar .nav > .active > a, .bs-sidebar .nav > .active:hover > a, .bs-sidebar .nav > .active:focus > a { + padding-left: 18px; font-weight: bold; color: #563d7c; background-color: transparent; - border-right: 1px solid #563d7c; + border-left: 2px solid #563d7c; } /* Nav: second level (shown on .active) */ .bs-sidebar .nav .nav { display: none; /* Hide by default, but at >768px, show it */ - margin-bottom: 8px; + padding-bottom: 10px; } .bs-sidebar .nav .nav > li > a { padding-top: 3px; padding-bottom: 3px; padding-left: 30px; font-size: 90%; + font-weight: normal; +} +.bs-sidebar .nav .nav > li > a:hover, +.bs-sidebar .nav .nav > li > a:focus { + padding-left: 29px; +} +.bs-sidebar .nav .nav > .active > a, +.bs-sidebar .nav .nav > .active:hover > a, +.bs-sidebar .nav .nav > .active:focus > a { + font-weight: 500; + padding-left: 28px; } /* Show and affix the side nav when space allows it */ diff --git a/docs-assets/img/components.png b/docs-assets/img/components.png new file mode 100644 index 0000000000000000000000000000000000000000..4afe8f5d8e9d266aa95b56d85a641e6407aea3e5 GIT binary patch literal 6902 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 literal 0 HcmV?d00001 diff --git a/docs-assets/img/devices.png b/docs-assets/img/devices.png new file mode 100644 index 0000000000000000000000000000000000000000..68e1bbb49f5876a3bd355af5e70bae5374c063ad GIT binary patch literal 8275 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
- B + B

Bootstrap

-

Bootstrap is a sleek and powerful mobile first front-end framework for faster and easier web development.

+

The most popular front-end framework for building on the web.

Download Bootstrap Download source

+ {% include ads.html %}
+ + +
+
+

Designed for everyone, everywhere.

+

Bootstrap is a responsive and mobile first framework for faster and easier web development. It's made for folks of all skill levels, devices of all shapes, and projects of all sizes.

+ +
+ +
+
+ Sass and Less support +

Preprocesors

+

In addition to vanilla CSS, Bootstrap includes support for the two most popular CSS preprocessors, Less and Sass.

+
+
+ Responsive across devices +

One framework, every device.

+

Bootstrap easily and efficiently scales your project from phones to tablets to desktops with a single CSS file.

+
+
+ Components +

Comprehensive docs

+

With Bootstrap, you get extensive and beautiful documentation with hundreds of live examples, code snippets, and more.

+
+
+ +
+ +

Bootstrap is an open source project, hosted and maintained on GitHub.

+ View the GitHub project +
+
+ +
+
+

Built with Bootstrap.

+

Millions of amazing sites across the web are being built with Bootstrap. Get started with your own with our growing collection of examples or by exploring some of our favorites from the Expo.

+ +
+ +
+
+ +

Coinbase

+
+
+ +

Localcrime

+
+
+ +

Fortrabbit

+
+
+ +

Sentry

+
+
+ +
+ +

Head to the Bootstrap Expo for dozens of inspiring projects built on Bootstrap.

+ Explore the showcase +
+