From 909f5d847305e8d4445ffbe37d7b8a7a27c16aad Mon Sep 17 00:00:00 2001 From: Nish Patwa Date: Thu, 26 Jan 2017 18:12:40 +0000 Subject: [PATCH] Modified project-install-guide from wireframe requirements Redesigned the index.html of the project-install-guide according to the concept1 of the wireframe located here: https://openstack.invisionapp.com/share/ZF9OLTYND#/screens/210628213/comments NOTE: This is an initial draft patch and I will modify according to the requirements. Change-Id: I1f00098ca9461bf598653339d856f1fe27168878 --- www/project-install-guide/draft/index.html | 281 ++++++++---------- www/static/common/css/styles.css | 44 ++- www/static/common/images/OpenSUSE_Logo.svg | 46 +++ .../images/centos-logo-light-vertical.svg | 165 ++++++++++ www/static/common/images/cof_orange_hex.png | Bin 0 -> 8852 bytes www/static/common/images/openlogo-100.png | Bin 0 -> 1734 bytes 6 files changed, 384 insertions(+), 152 deletions(-) create mode 100644 www/static/common/images/OpenSUSE_Logo.svg create mode 100644 www/static/common/images/centos-logo-light-vertical.svg create mode 100644 www/static/common/images/cof_orange_hex.png create mode 100644 www/static/common/images/openlogo-100.png diff --git a/www/project-install-guide/draft/index.html b/www/project-install-guide/draft/index.html index 6551c584f7..7006ab4452 100644 --- a/www/project-install-guide/draft/index.html +++ b/www/project-install-guide/draft/index.html @@ -1,5 +1,6 @@ {% set scriptdir = '../../common/js/' %} {% set cssdir = '../../common/css/' %} +{% set imagedir = '../../common/images/' %} {% extends "templates/base.tmpl" %} {% block pagetitle %}Draft Installation Tutorials and Guides{% endblock %} {% block title %} @@ -7,167 +8,133 @@ {% endblock %} {% block content %} + +

Draft Installation Tutorials and Guides

-

The following tutorials and guides support basic installation - of core and optional OpenStack services on variants of - Debian with debconf, Debian, Red Hat, SUSE, and Ubuntu - distributions. A minimal deployment necessary to launch a simple - instance (VM) requires following the core content. - Optional content augments a minimal deployment with - additional services.

-

This is documentation in progress for the next release.

+
+ + NOTE: This is documentation in progress for the next release. + +
+

+ These guides cover installation procedures for OpenStack + services. Select your preferred operating system for a manual + installation tutorial of core services (Identity, Image, + Compute, Networking, and Block Storage , and + the Dashboard service). Once you have the core services + installed, select from the optional services for more + installation guides. +

+

+ OpenStack services can be installed on Debian, either + manually or using debconf, Red Hat, SUSE, and Ubuntu + distributions. Installing only the core services will + provide a minimal deployment necessary to launch an + instance with minimal/default configuration. Optional + content augments a minimal deployment with additional + services. +

+

+ If you would prefer to install OpenStack using an automated + tool, see the Draft Deployment Guides.

-
-
- +
+
+
+
+ +
+
+ Debian 8 with debconf +
+
+ Install core and optional OpenStack services on a + Debian 8 system, using the debconf installation tool. +
+
+ +
+
-
- +
+
+
+ +
+
+ Debian 8 +
+
+ Install core and optional OpenStack services on a + Debian 8 system, using a manual installation + method. +
+
+ +
+
+
+
+
+
+ +
+
+ openSUSE +
+
+ Install core and optional OpenStack services on an + openSUSE system, using a manual installation + method. +
+
+ +
+
+
+
+
+
+ +
+
+ Red Hat Enterprise Linux 7 and CentOS +
+
+ Install core and optional OpenStack services on a + Red Hat Enterprise Linux 7 or CentOS system, + using a manual installation method. +
+
+ +
+
+
+
+
+
+ +
+
+ Ubuntu +
+
+ Install core and optional OpenStack services on an + Ubuntu system, using a manual installation + method. +
+
+ +
+
@@ -177,6 +144,18 @@
+
- +
+ + {% endblock content %} diff --git a/www/static/common/css/styles.css b/www/static/common/css/styles.css index d89f7c45a1..97cf1bd942 100644 --- a/www/static/common/css/styles.css +++ b/www/static/common/css/styles.css @@ -4,6 +4,48 @@ * For details, see http://www.apache.org/licenses/LICENSE-2.0. */ +/* css for project-install-guide newton */ +.logo-box{ + height:170px; +} +.os-box{ + border-radius: 4px 4px 4px 4px; + border:1px solid black; + margin-left: 2%; + margin-right: 2%; + margin-bottom: 12%; + display: inline-table; + overflow-y:auto; +} +.os-logo{ + display:block; + margin:auto; + padding: 2.5%; + padding-top:5%; + height:100%; +} +.os-name{ + padding: 2.5%; + padding-left: 5%; + padding-right: 5%; + font-weight: bold; + margin-top:10%; + height:40px; +} +.os-description{ + padding: 2.5%; + padding-left: 5%; + padding-right: 5%; + height:100px; +} +.os-button{ + padding: 2.5%; + text-align: right; + width:100%; +} +.go-button{ + border-radius: 4px 4px 4px 4px; +} body, html { width: 100%; @@ -1330,4 +1372,4 @@ ul#developerActivity li span { font-size: 11px; font-weight: 400; } -/*End Community Page*/ \ No newline at end of file +/*End Community Page*/ diff --git a/www/static/common/images/OpenSUSE_Logo.svg b/www/static/common/images/OpenSUSE_Logo.svg new file mode 100644 index 0000000000..f0531961fc --- /dev/null +++ b/www/static/common/images/OpenSUSE_Logo.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/www/static/common/images/centos-logo-light-vertical.svg b/www/static/common/images/centos-logo-light-vertical.svg new file mode 100644 index 0000000000..7db6aabdfb --- /dev/null +++ b/www/static/common/images/centos-logo-light-vertical.svg @@ -0,0 +1,165 @@ + + + + + The CentOS Logo Vertical Version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/static/common/images/cof_orange_hex.png b/www/static/common/images/cof_orange_hex.png new file mode 100644 index 0000000000000000000000000000000000000000..7484308cc87e29712038d64aa8b4251eb5c9dab9 GIT binary patch literal 8852 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 cO$ycCe|11aRHV!Z07*qoM6N<$f(9Bu5dZ)H literal 0 HcmV?d00001