diff options
-rw-r--r-- | gulpfile.js | 13 | ||||
-rw-r--r-- | src/css/theme/openstack.css | 184 |
2 files changed, 195 insertions, 2 deletions
diff --git a/gulpfile.js b/gulpfile.js index 6884eae..9a39ebb 100644 --- a/gulpfile.js +++ b/gulpfile.js | |||
@@ -96,6 +96,10 @@ | |||
96 | .pipe(filter('*.css')) | 96 | .pipe(filter('*.css')) |
97 | .pipe(gulp.dest(dir.dist + '/css')); | 97 | .pipe(gulp.dest(dir.dist + '/css')); |
98 | 98 | ||
99 | var resolveLocalCSS = gulp.src(dir.src + '/css/**/*') | ||
100 | .pipe(filter('*.css')) | ||
101 | .pipe(gulp.dest(dir.dist + '/css')); | ||
102 | |||
99 | var resolveLESS = gulp.src(bowerFiles) | 103 | var resolveLESS = gulp.src(bowerFiles) |
100 | .pipe(filter('*.less')) | 104 | .pipe(filter('*.less')) |
101 | .pipe(less()) | 105 | .pipe(less()) |
@@ -109,6 +113,10 @@ | |||
109 | .pipe(filter('*.js')) | 113 | .pipe(filter('*.js')) |
110 | .pipe(gulp.dest(dir.dist + '/js')); | 114 | .pipe(gulp.dest(dir.dist + '/js')); |
111 | 115 | ||
116 | var resolveLocalLibs = gulp.src(dir.src + '/js/**/*') | ||
117 | .pipe(filter('*.js')) | ||
118 | .pipe(gulp.dest(dir.dist + '/js')); | ||
119 | |||
112 | // Reveal.js is a special snowflake. | 120 | // Reveal.js is a special snowflake. |
113 | var resolveReveal = gulp.src('./bower_components/reveal.js/*/**/*.*', | 121 | var resolveReveal = gulp.src('./bower_components/reveal.js/*/**/*.*', |
114 | {'base': './bower_components/reveal.js/'}) | 122 | {'base': './bower_components/reveal.js/'}) |
@@ -122,8 +130,9 @@ | |||
122 | ])) | 130 | ])) |
123 | .pipe(gulp.dest(dir.dist)); | 131 | .pipe(gulp.dest(dir.dist)); |
124 | 132 | ||
125 | return streamqueue({'objectMode': true}, resolveCSS, resolveLESS, | 133 | return streamqueue({'objectMode': true}, resolveCSS, resolveLocalCSS, |
126 | resolveReveal, resolveLibs, resolveFonts); | 134 | resolveLESS, resolveReveal, |
135 | resolveLibs, resolveLocalLibs, resolveFonts); | ||
127 | }); | 136 | }); |
128 | 137 | ||
129 | /** | 138 | /** |
diff --git a/src/css/theme/openstack.css b/src/css/theme/openstack.css new file mode 100644 index 0000000..ce8cf13 --- /dev/null +++ b/src/css/theme/openstack.css | |||
@@ -0,0 +1,184 @@ | |||
1 | @import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700); | ||
2 | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); | ||
3 | /** | ||
4 | * A simple theme for reveal.js presentations, similar | ||
5 | * to the default theme. The accent color is darkblue. | ||
6 | * | ||
7 | * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. | ||
8 | * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se | ||
9 | */ | ||
10 | /********************************************* | ||
11 | * GLOBAL STYLES | ||
12 | *********************************************/ | ||
13 | body { | ||
14 | background: white; | ||
15 | background-color: white; } | ||
16 | |||
17 | .reveal { | ||
18 | font-family: "Lato", sans-serif; | ||
19 | font-size: 36px; | ||
20 | font-weight: normal; | ||
21 | letter-spacing: -0.02em; | ||
22 | color: black; } | ||
23 | |||
24 | #cover { | ||
25 | position: absolute; | ||
26 | right: -100px; | ||
27 | } | ||
28 | |||
29 | .reveal .footer { | ||
30 | position: absolute; | ||
31 | bottom: 1em; | ||
32 | left: 1em; | ||
33 | font-size: 0.5em; | ||
34 | } | ||
35 | |||
36 | html.cover #head-icon { | ||
37 | visibility: hidden; | ||
38 | } | ||
39 | |||
40 | html.cover h1 { | ||
41 | margin-top: 30px; | ||
42 | } | ||
43 | |||
44 | #head-icon { | ||
45 | margin-top: 0; | ||
46 | margin-bottom: 0; | ||
47 | margin-left: 0; | ||
48 | margin-right: 0; | ||
49 | border-width: 0; | ||
50 | position: fixed; | ||
51 | z-index: 30; | ||
52 | left: -20px; | ||
53 | top: 0px; | ||
54 | } | ||
55 | |||
56 | ::selection { | ||
57 | color: white; | ||
58 | background: rgba(0, 0, 0, 0.99); | ||
59 | text-shadow: none; } | ||
60 | |||
61 | /********************************************* | ||
62 | * HEADERS | ||
63 | *********************************************/ | ||
64 | .reveal h1, | ||
65 | .reveal h2, | ||
66 | .reveal h3, | ||
67 | .reveal h4, | ||
68 | .reveal h5, | ||
69 | .reveal h6 { | ||
70 | margin: 0 0 20px 0; | ||
71 | color: black; | ||
72 | font-family: "News Cycle", Impact, sans-serif; | ||
73 | line-height: 0.9em; | ||
74 | letter-spacing: 0.02em; | ||
75 | text-transform: none; | ||
76 | text-shadow: none; } | ||
77 | |||
78 | html.cover h1 { | ||
79 | text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); | ||
80 | } | ||
81 | |||
82 | .reveal h1 { | ||
83 | font-size: 150%; | ||
84 | } | ||
85 | |||
86 | .reveal h2 { | ||
87 | font-size: 100%; | ||
88 | } | ||
89 | |||
90 | .reveal h3 { | ||
91 | font-size: 85%; | ||
92 | } | ||
93 | |||
94 | /********************************************* | ||
95 | * LINKS | ||
96 | *********************************************/ | ||
97 | .reveal a:not(.image) { | ||
98 | color: darkblue; | ||
99 | text-decoration: none; | ||
100 | -webkit-transition: color .15s ease; | ||
101 | -moz-transition: color .15s ease; | ||
102 | -ms-transition: color .15s ease; | ||
103 | -o-transition: color .15s ease; | ||
104 | transition: color .15s ease; } | ||
105 | |||
106 | .reveal a:not(.image):hover { | ||
107 | color: #0000f1; | ||
108 | text-shadow: none; | ||
109 | border: none; } | ||
110 | |||
111 | .reveal .roll span:after { | ||
112 | color: #fff; | ||
113 | background: #00003f; } | ||
114 | |||
115 | /********************************************* | ||
116 | * IMAGES | ||
117 | *********************************************/ | ||
118 | .reveal section img { | ||
119 | /*margin: 15px 0px;*/ | ||
120 | background: rgba(255, 255, 255, 0.12); | ||
121 | /*border: 4px solid black; | ||
122 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);*/ | ||
123 | -webkit-transition: all .2s linear; | ||
124 | -moz-transition: all .2s linear; | ||
125 | -ms-transition: all .2s linear; | ||
126 | -o-transition: all .2s linear; | ||
127 | transition: all .2s linear; } | ||
128 | |||
129 | .reveal a:hover img { | ||
130 | background: rgba(255, 255, 255, 0.2); | ||
131 | border-color: darkblue; | ||
132 | box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } | ||
133 | |||
134 | /********************************************* | ||
135 | * NAVIGATION CONTROLS | ||
136 | *********************************************/ | ||
137 | .reveal .controls div.navigate-left, | ||
138 | .reveal .controls div.navigate-left.enabled { | ||
139 | border-right-color: darkblue; } | ||
140 | |||
141 | .reveal .controls div.navigate-right, | ||
142 | .reveal .controls div.navigate-right.enabled { | ||
143 | border-left-color: darkblue; } | ||
144 | |||
145 | .reveal .controls div.navigate-up, | ||
146 | .reveal .controls div.navigate-up.enabled { | ||
147 | border-bottom-color: darkblue; } | ||
148 | |||
149 | .reveal .controls div.navigate-down, | ||
150 | .reveal .controls div.navigate-down.enabled { | ||
151 | border-top-color: darkblue; } | ||
152 | |||
153 | .reveal .controls div.navigate-left.enabled:hover { | ||
154 | border-right-color: #0000f1; } | ||
155 | |||
156 | .reveal .controls div.navigate-right.enabled:hover { | ||
157 | border-left-color: #0000f1; } | ||
158 | |||
159 | .reveal .controls div.navigate-up.enabled:hover { | ||
160 | border-bottom-color: #0000f1; } | ||
161 | |||
162 | .reveal .controls div.navigate-down.enabled:hover { | ||
163 | border-top-color: #0000f1; } | ||
164 | |||
165 | /********************************************* | ||
166 | * PROGRESS BAR | ||
167 | *********************************************/ | ||
168 | .reveal .progress { | ||
169 | background: rgba(0, 0, 0, 0.2); } | ||
170 | |||
171 | .reveal .progress span { | ||
172 | background: darkblue; | ||
173 | -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); | ||
174 | -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); | ||
175 | -ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); | ||
176 | -o-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); | ||
177 | transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } | ||
178 | |||
179 | /********************************************* | ||
180 | * SLIDE NUMBER | ||
181 | *********************************************/ | ||
182 | .reveal .slide-number { | ||
183 | color: darkblue; } | ||
184 | |||