Moving from tabs to spaces
This commit is contained in:
parent
9879ceb6c2
commit
bce8d326e5
|
@ -1,14 +1,12 @@
|
|||
# EditorConfig is awesome: http://EditorConfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
charset = utf-8
|
||||
|
||||
[{bower.json,package.json,.travis.yml}]
|
||||
indent_style = space
|
||||
[{*.json,*.yml,*.toml}]
|
||||
indent_size = 2
|
||||
|
|
|
@ -37,11 +37,11 @@ By doing this you would get a GitHub repo linked with Netlify in a way any chang
|
|||
|
||||
Once you’re done you can build a clean copy of your slides:
|
||||
|
||||
npm run prepare
|
||||
npm run prepare
|
||||
|
||||
And you’ll find your presentation in `prepared` folder with only needed files in it. You can also run `npm run archive` to get the same files in `archive.zip`. But there’s more! You can easily publish your presentation online by running:
|
||||
|
||||
npm run publish
|
||||
npm run publish
|
||||
|
||||
And you’ll have your slides published to `http://USER.github.io/REPO/`.
|
||||
|
||||
|
|
341
docs/features.md
341
docs/features.md
|
@ -4,31 +4,31 @@ All theme’s features are demonstrated in the [index.html](index.html) file. Us
|
|||
|
||||
- [Anatomy](#anatomy)
|
||||
- [Common](#common)
|
||||
- [Language](#language)
|
||||
- [Canvas](#canvas)
|
||||
- [Title](#title)
|
||||
- [Badge](#badge)
|
||||
- [Progress](#progress)
|
||||
- [Language](#language)
|
||||
- [Canvas](#canvas)
|
||||
- [Title](#title)
|
||||
- [Badge](#badge)
|
||||
- [Progress](#progress)
|
||||
- [Slide](#slide)
|
||||
- [Number](#number)
|
||||
- [Types](#types)
|
||||
- [White](#white)
|
||||
- [Black](#black)
|
||||
- [Grid](#grid)
|
||||
- [Content](#content)
|
||||
- [Header](#header)
|
||||
- [Paragraphs](#paragraphs)
|
||||
- [Inline](#inline)
|
||||
- [Quotes](#quotes)
|
||||
- [Lists](#lists)
|
||||
- [Columns](#columns)
|
||||
- [Tables](#tables)
|
||||
- [Code](#code)
|
||||
- [Elements](#elements)
|
||||
- [Cover](#cover)
|
||||
- [Shout](#shout)
|
||||
- [Place](#place)
|
||||
- [Notes](#notes)
|
||||
- [Number](#number)
|
||||
- [Types](#types)
|
||||
- [White](#white)
|
||||
- [Black](#black)
|
||||
- [Grid](#grid)
|
||||
- [Content](#content)
|
||||
- [Header](#header)
|
||||
- [Paragraphs](#paragraphs)
|
||||
- [Inline](#inline)
|
||||
- [Quotes](#quotes)
|
||||
- [Lists](#lists)
|
||||
- [Columns](#columns)
|
||||
- [Tables](#tables)
|
||||
- [Code](#code)
|
||||
- [Elements](#elements)
|
||||
- [Cover](#cover)
|
||||
- [Shout](#shout)
|
||||
- [Place](#place)
|
||||
- [Notes](#notes)
|
||||
|
||||
## Anatomy
|
||||
|
||||
|
@ -51,8 +51,8 @@ In addition to files theme’s repository contains source files:
|
|||
|
||||
The main presentation language is set on the root element of the document, please note it and set the right one:
|
||||
|
||||
<html lang="en">
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<html lang="ru">
|
||||
|
||||
Appropriate typography traditions are used based on this value. `lang` attribute could also be set on separate slides or elements.
|
||||
|
||||
|
@ -62,11 +62,11 @@ The root presentation element has the main `shower` class and additional mode cl
|
|||
|
||||
List:
|
||||
|
||||
<body class="shower list">
|
||||
<body class="shower list">
|
||||
|
||||
Full:
|
||||
|
||||
<body class="shower full">
|
||||
<body class="shower full">
|
||||
|
||||
Theme’s architecture is based on agreement that all presentation elements are nested in `shower` element and mode classes are hiding or showing needed elements depending on current mode.
|
||||
|
||||
|
@ -74,10 +74,10 @@ Theme’s architecture is based on agreement that all presentation elements are
|
|||
|
||||
Presentation title is marked with the `caption` element, which has following elements provided: `<h1>` for the header, `<p>` for the description and also links.
|
||||
|
||||
<header class="caption">
|
||||
<h1>Presentation Title</h1>
|
||||
<p><a href="">Yours Truly</a>, Famous Inc.</p>
|
||||
</header>
|
||||
<header class="caption">
|
||||
<h1>Presentation Title</h1>
|
||||
<p><a href="">Yours Truly</a>, Famous Inc.</p>
|
||||
</header>
|
||||
|
||||
Caption is visible only in the list mode. Don’t forget to also specify presentation title in document’s `<title>` element.
|
||||
|
||||
|
@ -85,9 +85,9 @@ Caption is visible only in the list mode. Don’t forget to also specify present
|
|||
|
||||
Badge with “Fork me on GitHub” link (or any other call to action) is marked with `badge` element.
|
||||
|
||||
<footer class="badge">
|
||||
<a href="…">Fork me on Github</a>
|
||||
</footer>
|
||||
<footer class="badge">
|
||||
<a href="…">Fork me on Github</a>
|
||||
</footer>
|
||||
|
||||
Badge is visible only in the list mode.
|
||||
|
||||
|
@ -95,7 +95,7 @@ Badge is visible only in the list mode.
|
|||
|
||||
Progress bar shows how much is left until presentation end and marked with `progress` element visible only in full screen mode:
|
||||
|
||||
<div class="progress"></div>
|
||||
<div class="progress"></div>
|
||||
|
||||
To remove it from presentation just remove this element from document. There’s no way to hide it for specific slides.
|
||||
|
||||
|
@ -103,12 +103,12 @@ To remove it from presentation just remove this element from document. There’s
|
|||
|
||||
Slides are marked with `slide` class. Please don’t nest slides and don’t forget closing tags, things could go wrong.
|
||||
|
||||
<section class="slide">
|
||||
…
|
||||
</section>
|
||||
<section class="slide">
|
||||
…
|
||||
</section>
|
||||
<section class="slide">
|
||||
…
|
||||
</section>
|
||||
<section class="slide">
|
||||
…
|
||||
</section>
|
||||
|
||||
There are two slide ratios supported: 16×10 and 4×3. To enable needed one include appropriate file `screen-4x3.css` or `screen-16x10.css`. Wide screen 16×10 format is included by default.
|
||||
|
||||
|
@ -120,13 +120,13 @@ Slide numbers help audience to remember slides for questions and open needed sli
|
|||
|
||||
You can hide number manually:
|
||||
|
||||
<section class="slide" id="off">
|
||||
<style>
|
||||
#off::after {
|
||||
visibility: hidden;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
<section class="slide" id="off">
|
||||
<style>
|
||||
#off::after {
|
||||
visibility: hidden;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
|
||||
Slide type `clear` could also hide slide number.
|
||||
|
||||
|
@ -138,13 +138,13 @@ Types are changing slide’s look. You can set type by adding class to the main
|
|||
|
||||
White type sets white background.
|
||||
|
||||
<section class="slide white">
|
||||
<section class="slide white">
|
||||
|
||||
#### Black
|
||||
|
||||
Black type sets black background.
|
||||
|
||||
<section class="slide black">
|
||||
<section class="slide black">
|
||||
|
||||
Please note that black slide type doesn’t change text color.
|
||||
|
||||
|
@ -152,15 +152,15 @@ Please note that black slide type doesn’t change text color.
|
|||
|
||||
Clear type turns off slide number. Use it when you need a pure slide. May be mixed with `white` or `black` type.
|
||||
|
||||
<section class="slide clear">
|
||||
<section class="slide clear">
|
||||
|
||||
#### Grid
|
||||
|
||||
Grid set a background with two guide types: main magenta guides and additional cyan guides, setting margins, rows and columns.
|
||||
|
||||
<section class="slide grid">
|
||||
…
|
||||
</section>
|
||||
<section class="slide grid">
|
||||
…
|
||||
</section>
|
||||
|
||||
All theme elements are aligned by this grid and it’s recommended to follow it while changing or extending a theme.
|
||||
|
||||
|
@ -172,9 +172,9 @@ Simple content: headers, paragraphs, lists.
|
|||
|
||||
Slide header is marked with `<h2>` element:
|
||||
|
||||
<section class="slide">
|
||||
<h2>Slide Header</h2>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Slide Header</h2>
|
||||
</section>
|
||||
|
||||
We haven’t introduced next heading levels to not provoke slides complexity.
|
||||
|
||||
|
@ -182,10 +182,10 @@ We haven’t introduced next heading levels to not provoke slides complexity.
|
|||
|
||||
Paragraphs are marked with `<p>` element. You could also make a note, less important part of a slide, by adding a `note` class to a paragraph:
|
||||
|
||||
<section class="slide">
|
||||
<p>Text</p>
|
||||
<p class="note">Note</p>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<p>Text</p>
|
||||
<p class="note">Note</p>
|
||||
</section>
|
||||
|
||||
#### Inline
|
||||
|
||||
|
@ -202,116 +202,116 @@ There are following inline elements styled in the theme:
|
|||
|
||||
Quotes are marked with `<blockquote>` element which contains one or more paragraphs:
|
||||
|
||||
<blockquote>
|
||||
<p>Flannel bicycle rights locavore selfies.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>Flannel bicycle rights locavore selfies.</p>
|
||||
</blockquote>
|
||||
|
||||
To add quote’s author wrap a quote to a `<figure>` element and put a caption in the `<figcaption>` right after:
|
||||
|
||||
<figure>
|
||||
<blockquote>
|
||||
<p>Post-ironic fashion axe flexitarian</p>
|
||||
</blockquote>
|
||||
<figcaption>Yours Truly</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<blockquote>
|
||||
<p>Post-ironic fashion axe flexitarian</p>
|
||||
</blockquote>
|
||||
<figcaption>Yours Truly</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Lists
|
||||
|
||||
For creating list you must use `ul` (`ol` for numerical list).
|
||||
|
||||
<ol>
|
||||
<li>Literally viral vegan</li>
|
||||
<li>Wes Anderson chillwave Marfa
|
||||
<ul>
|
||||
<li>Retro meh brunch aesthetic</li>
|
||||
<li>Messenger bag retro cred</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<ol>
|
||||
<li>Literally viral vegan</li>
|
||||
<li>Wes Anderson chillwave Marfa
|
||||
<ul>
|
||||
<li>Retro meh brunch aesthetic</li>
|
||||
<li>Messenger bag retro cred</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
You can also create list with inner navigation by adding `next` class to each elements following after element from each you want start navigation:
|
||||
|
||||
<h2>Inner navigation</h2>
|
||||
<ol>
|
||||
<li>I'll be seen right away.</li>
|
||||
<li>Just navigate to next slide and you'll see others.</li>
|
||||
<li class="next">Hey! It's all okay ?</li>
|
||||
<li class="next"> ... </li>
|
||||
</ol>
|
||||
<h2>Inner navigation</h2>
|
||||
<ol>
|
||||
<li>I'll be seen right away.</li>
|
||||
<li>Just navigate to next slide and you'll see others.</li>
|
||||
<li class="next">Hey! It's all okay ?</li>
|
||||
<li class="next"> ... </li>
|
||||
</ol>
|
||||
|
||||
And even so:
|
||||
|
||||
<h2>Benefits</h2>
|
||||
<ol>
|
||||
<li class="next">The most important advantage</li>
|
||||
<li class="next">Less important advantage</li>
|
||||
</ol>
|
||||
<h2 class="next">Disadvantages</h2>
|
||||
<ol class="next">
|
||||
<li class="next">There's nothing here</li>
|
||||
<li class="next"> ... </li>
|
||||
</ol>
|
||||
<h2>Benefits</h2>
|
||||
<ol>
|
||||
<li class="next">The most important advantage</li>
|
||||
<li class="next">Less important advantage</li>
|
||||
</ol>
|
||||
<h2 class="next">Disadvantages</h2>
|
||||
<ol class="next">
|
||||
<li class="next">There's nothing here</li>
|
||||
<li class="next"> ... </li>
|
||||
</ol>
|
||||
|
||||
#### Columns
|
||||
|
||||
If you want to form text in two or three columns use `double` or `triple` class
|
||||
|
||||
<p class="double">
|
||||
Echo Park 8-bit sustainable umami deep v Kickstarter.
|
||||
</p>
|
||||
<p class="double">
|
||||
Echo Park 8-bit sustainable umami deep v Kickstarter.
|
||||
</p>
|
||||
|
||||
Also work with lists:
|
||||
|
||||
<ul class="triple">
|
||||
<li>Occupy locavore blog</li>
|
||||
<li>Mustache you haven’t heard of</li>
|
||||
<li>Something else</li>
|
||||
</ul>
|
||||
<ul class="triple">
|
||||
<li>Occupy locavore blog</li>
|
||||
<li>Mustache you haven’t heard of</li>
|
||||
<li>Something else</li>
|
||||
</ul>
|
||||
|
||||
#### Tables
|
||||
|
||||
Create table by using usual `table`, `tr`, `th`
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th scope="col">Gentrify</th>
|
||||
<th>Twee</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Messenger</th>
|
||||
<td>Mixtape</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<th scope="col">Gentrify</th>
|
||||
<th>Twee</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Messenger</th>
|
||||
<td>Mixtape</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Class `striped` stylizes your table: even rows will turn gray background
|
||||
|
||||
<table class="striped">
|
||||
<table class="striped">
|
||||
|
||||
#### Code
|
||||
|
||||
`Code` tag define your program code
|
||||
|
||||
<pre><code>function action() {
|
||||
// TODO
|
||||
return true;
|
||||
}</code></pre>
|
||||
<pre><code>function action() {
|
||||
// TODO
|
||||
return true;
|
||||
}</code></pre>
|
||||
|
||||
If you want to add lines numbers use next construction:
|
||||
|
||||
<pre>
|
||||
<code>function action() {</code>
|
||||
<code> // TODO</code>
|
||||
<code> return true;</code>
|
||||
<code>}<code>
|
||||
</pre>
|
||||
<pre>
|
||||
<code>function action() {</code>
|
||||
<code> // TODO</code>
|
||||
<code> return true;</code>
|
||||
<code>}<code>
|
||||
</pre>
|
||||
|
||||
When neccessary emphasize that code is commented, you need to use span element with `comment` class;
|
||||
If you want to color part of code, wrap this part with `mark` to add yellow background and `mark` with `important` class to add red background;
|
||||
|
||||
<pre><code>function <mark>action()</mark> {
|
||||
<span class="comment">// TODO<span>
|
||||
return <mark class="important">true</mark>;
|
||||
}</code></pre>
|
||||
<pre><code>function <mark>action()</mark> {
|
||||
<span class="comment">// TODO<span>
|
||||
return <mark class="important">true</mark>;
|
||||
}</code></pre>
|
||||
|
||||
### Elements
|
||||
|
||||
|
@ -321,82 +321,81 @@ If you want to color part of code, wrap this part with `mark` to add yellow back
|
|||
|
||||
`Cover` class on img attribute indicates that picture will be background for slide
|
||||
|
||||
<section class="slide">
|
||||
<img class="cover" src="picture.png">
|
||||
</section>
|
||||
<section class="slide">
|
||||
<img class="cover" src="picture.png">
|
||||
</section>
|
||||
|
||||
To stretch the picture in width or height, you need to set a `width` or `height` class respectively;
|
||||
|
||||
Use both classes `width height`, if you want to stretch the picture in width and height
|
||||
|
||||
<img class="cover width" src="picture.png">
|
||||
<img class="cover height" src="picture.png">
|
||||
<img class="cover width height" src="picture.png">
|
||||
<img class="cover width" src="picture.png">
|
||||
<img class="cover height" src="picture.png">
|
||||
<img class="cover width height" src="picture.png">
|
||||
|
||||
Shortcut for `width`, `height`:
|
||||
|
||||
<img class="cover w" src="picture.png">
|
||||
<img class="cover h" src="picture.png">
|
||||
<img class="cover w" src="picture.png">
|
||||
<img class="cover h" src="picture.png">
|
||||
|
||||
To insert an image description, links to the author's site or other information use `figure` tag with `figcaption`
|
||||
|
||||
<figure>
|
||||
<img class="cover" src="picture.png">
|
||||
<figcaption class="white">
|
||||
© Yours Truly
|
||||
</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img class="cover" src="picture.png">
|
||||
<figcaption class="white">
|
||||
© Yours Truly
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Shout
|
||||
|
||||
There are slides, which need to be described in only a few words. Usually they display a call for action, define common themes, link to project or something else. To stylize this text, use the `shout` class.
|
||||
|
||||
<section class="slide">
|
||||
<h2 class="shout">Shout</h2>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2 class="shout">Shout</h2>
|
||||
</section>
|
||||
|
||||
Add `grow` class to animate text from small to big size
|
||||
|
||||
<section class="slide">
|
||||
<h2 class="shout grow">Growing Shout</h2>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2 class="shout grow">Growing Shout</h2>
|
||||
</section>
|
||||
|
||||
Or, on the contrary, for animate text size from big to small add `shrink` class.
|
||||
|
||||
<section class="slide">
|
||||
<h2 class="shout shrink">Shrinking Shout</h2>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2 class="shout shrink">Shrinking Shout</h2>
|
||||
</section>
|
||||
|
||||
#### Place
|
||||
|
||||
Use `place` class on img attribute give same effect as `cover` class - set background image
|
||||
|
||||
<section class="slide">
|
||||
<img class="place" src="picture.png">
|
||||
</section>
|
||||
<section class="slide">
|
||||
<img class="place" src="picture.png">
|
||||
</section>
|
||||
|
||||
If you want collocate picture at a certain side, you need to use `top` / `right` / `bottom` / `left` class as shown below
|
||||
|
||||
<img class="place top" src="picture.png">
|
||||
<img class="place right" src="picture.png">
|
||||
<img class="place bottom" src="picture.png">
|
||||
<img class="place left" src="picture.png">
|
||||
<img class="place top" src="picture.png">
|
||||
<img class="place right" src="picture.png">
|
||||
<img class="place bottom" src="picture.png">
|
||||
<img class="place left" src="picture.png">
|
||||
|
||||
You can also combine classes for location in corners:
|
||||
|
||||
<img class="place top left" src="picture.png">
|
||||
<img class="place top right" src="picture.png">
|
||||
<img class="place bottom left" src="picture.png">
|
||||
<img class="place bottom right" src="picture.png">
|
||||
<img class="place top left" src="picture.png">
|
||||
<img class="place top right" src="picture.png">
|
||||
<img class="place bottom left" src="picture.png">
|
||||
<img class="place bottom right" src="picture.png">
|
||||
|
||||
#### Notes
|
||||
|
||||
When neccessary to add some notes for slide, you may use `footer` class, that hide your notes at all time and show them when you hover to slide:
|
||||
|
||||
<section class="slide">
|
||||
<p>Retro meh brunch aesthetic.</p>
|
||||
<footer class="footer">
|
||||
<p>Cosby sweater Shoreditch.</p>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<p>Retro meh brunch aesthetic.</p>
|
||||
<footer class="footer">
|
||||
<p>Cosby sweater Shoreditch.</p>
|
||||
</footer>
|
||||
</section>
|
||||
|
|
148
gulpfile.js
148
gulpfile.js
|
@ -9,102 +9,102 @@ const sync = require('browser-sync').create();
|
|||
|
||||
gulp.task('prepare', () => {
|
||||
|
||||
const shower = gulp.src([
|
||||
'**',
|
||||
'!docs{,/**}',
|
||||
'!node_modules{,/**}',
|
||||
'!prepared{,/**}',
|
||||
'!CONTRIBUTING.md',
|
||||
'!LICENSE.md',
|
||||
'!README.md',
|
||||
'!gulpfile.js',
|
||||
'!netlify.toml',
|
||||
'!package.json',
|
||||
'!package-lock.json'
|
||||
])
|
||||
.pipe(replace(
|
||||
/(<link rel="stylesheet" href=")(node_modules\/shower-)([^\/]*)\/(.*\.css">)/g,
|
||||
'$1shower/themes/$3/$4', { skipBinary: true }
|
||||
))
|
||||
.pipe(replace(
|
||||
/(<script src=")(node_modules\/shower-core\/)(shower.min.js"><\/script>)/g,
|
||||
'$1shower/$3', { skipBinary: true }
|
||||
));
|
||||
const shower = gulp.src([
|
||||
'**',
|
||||
'!docs{,/**}',
|
||||
'!node_modules{,/**}',
|
||||
'!prepared{,/**}',
|
||||
'!CONTRIBUTING.md',
|
||||
'!LICENSE.md',
|
||||
'!README.md',
|
||||
'!gulpfile.js',
|
||||
'!netlify.toml',
|
||||
'!package.json',
|
||||
'!package-lock.json'
|
||||
])
|
||||
.pipe(replace(
|
||||
/(<link rel="stylesheet" href=")(node_modules\/shower-)([^\/]*)\/(.*\.css">)/g,
|
||||
'$1shower/themes/$3/$4', { skipBinary: true }
|
||||
))
|
||||
.pipe(replace(
|
||||
/(<script src=")(node_modules\/shower-core\/)(shower.min.js"><\/script>)/g,
|
||||
'$1shower/$3', { skipBinary: true }
|
||||
));
|
||||
|
||||
const core = gulp.src([
|
||||
'shower.min.js'
|
||||
], {
|
||||
cwd: 'node_modules/shower-core'
|
||||
})
|
||||
.pipe(rename( (path) => {
|
||||
path.dirname = 'shower/' + path.dirname;
|
||||
}));
|
||||
const core = gulp.src([
|
||||
'shower.min.js'
|
||||
], {
|
||||
cwd: 'node_modules/shower-core'
|
||||
})
|
||||
.pipe(rename( (path) => {
|
||||
path.dirname = 'shower/' + path.dirname;
|
||||
}));
|
||||
|
||||
const material = gulp.src([
|
||||
'**', '!package.json'
|
||||
], {
|
||||
cwd: 'node_modules/shower-material'
|
||||
})
|
||||
.pipe(rename( (path) => {
|
||||
path.dirname = 'shower/themes/material/' + path.dirname;
|
||||
}))
|
||||
const material = gulp.src([
|
||||
'**', '!package.json'
|
||||
], {
|
||||
cwd: 'node_modules/shower-material'
|
||||
})
|
||||
.pipe(rename( (path) => {
|
||||
path.dirname = 'shower/themes/material/' + path.dirname;
|
||||
}))
|
||||
|
||||
const ribbon = gulp.src([
|
||||
'**', '!package.json'
|
||||
], {
|
||||
cwd: 'node_modules/shower-ribbon'
|
||||
})
|
||||
.pipe(rename( (path) => {
|
||||
path.dirname = 'shower/themes/ribbon/' + path.dirname;
|
||||
}));
|
||||
const ribbon = gulp.src([
|
||||
'**', '!package.json'
|
||||
], {
|
||||
cwd: 'node_modules/shower-ribbon'
|
||||
})
|
||||
.pipe(rename( (path) => {
|
||||
path.dirname = 'shower/themes/ribbon/' + path.dirname;
|
||||
}));
|
||||
|
||||
const themes = merge(material, ribbon)
|
||||
.pipe(replace(
|
||||
/(<script src=")(\/shower-core\/)(shower.min.js"><\/script>)/,
|
||||
'$1../../$3', { skipBinary: true }
|
||||
));
|
||||
const themes = merge(material, ribbon)
|
||||
.pipe(replace(
|
||||
/(<script src=")(\/shower-core\/)(shower.min.js"><\/script>)/,
|
||||
'$1../../$3', { skipBinary: true }
|
||||
));
|
||||
|
||||
return merge(shower, core, themes)
|
||||
.pipe(gulp.dest('prepared'));
|
||||
return merge(shower, core, themes)
|
||||
.pipe(gulp.dest('prepared'));
|
||||
|
||||
});
|
||||
|
||||
gulp.task('clean', () => {
|
||||
return del('prepared/**');
|
||||
return del('prepared/**');
|
||||
});
|
||||
|
||||
gulp.task('zip', () => {
|
||||
return gulp.src('prepared/**')
|
||||
.pipe(zip('archive.zip'))
|
||||
.pipe(gulp.dest('.'));
|
||||
return gulp.src('prepared/**')
|
||||
.pipe(zip('archive.zip'))
|
||||
.pipe(gulp.dest('.'));
|
||||
});
|
||||
|
||||
gulp.task('upload', () => {
|
||||
return pages.publish('prepared')
|
||||
return pages.publish('prepared')
|
||||
});
|
||||
|
||||
gulp.task('archive', gulp.series(
|
||||
'prepare',
|
||||
'zip',
|
||||
'clean'
|
||||
'prepare',
|
||||
'zip',
|
||||
'clean'
|
||||
));
|
||||
|
||||
gulp.task('publish', gulp.series(
|
||||
'prepare',
|
||||
'upload',
|
||||
'clean'
|
||||
'prepare',
|
||||
'upload',
|
||||
'clean'
|
||||
));
|
||||
|
||||
gulp.task('serve', () => {
|
||||
sync.init({
|
||||
ui: false,
|
||||
notify: false,
|
||||
port: 3000,
|
||||
server: {
|
||||
baseDir: '.'
|
||||
}
|
||||
});
|
||||
gulp.watch('index.html').on('change', () => {
|
||||
sync.reload();
|
||||
});
|
||||
sync.init({
|
||||
ui: false,
|
||||
notify: false,
|
||||
port: 3000,
|
||||
server: {
|
||||
baseDir: '.'
|
||||
}
|
||||
});
|
||||
gulp.watch('index.html').on('change', () => {
|
||||
sync.reload();
|
||||
});
|
||||
});
|
||||
|
|
358
index.html
358
index.html
|
@ -1,11 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Shower Presentation Engine</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="node_modules/shower-ribbon/styles/styles.css">
|
||||
<style>
|
||||
<title>Shower Presentation Engine</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="node_modules/shower-ribbon/styles/styles.css">
|
||||
<style>
|
||||
.shower {
|
||||
--slide-ratio: calc(16 / 9);
|
||||
}
|
||||
|
@ -13,198 +13,198 @@
|
|||
</head>
|
||||
<body class="shower list">
|
||||
|
||||
<header class="caption">
|
||||
<h1>Shower Presentation Engine</h1>
|
||||
<p>Yours Truly, Famous Inc.</p>
|
||||
</header>
|
||||
<header class="caption">
|
||||
<h1>Shower Presentation Engine</h1>
|
||||
<p>Yours Truly, Famous Inc.</p>
|
||||
</header>
|
||||
|
||||
<section class="slide" id="cover">
|
||||
<h2>Shower Presentation Engine</h2>
|
||||
<p>Brought to you by <a href="http://pepelsbey.net">Vadim Makeev</a></p>
|
||||
<figure>
|
||||
<img class="cover" src="pictures/cover.jpg" alt="Hands on the orange typewriter in a park">
|
||||
<figcaption class="copyright right white">
|
||||
<a href="http://fiftyfootshadows.net/">© John Carey</a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<style>
|
||||
#cover h2 {
|
||||
margin: 30px 0 0;
|
||||
color: white;
|
||||
text-align: center;
|
||||
font-size: 70px;
|
||||
}
|
||||
<section class="slide" id="cover">
|
||||
<h2>Shower Presentation Engine</h2>
|
||||
<p>Brought to you by <a href="http://pepelsbey.net">Vadim Makeev</a></p>
|
||||
<figure>
|
||||
<img class="cover" src="pictures/cover.jpg" alt="Hands on the orange typewriter in a park">
|
||||
<figcaption class="copyright right white">
|
||||
<a href="http://fiftyfootshadows.net/">© John Carey</a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<style>
|
||||
#cover h2 {
|
||||
margin: 30px 0 0;
|
||||
color: white;
|
||||
text-align: center;
|
||||
font-size: 70px;
|
||||
}
|
||||
|
||||
#cover p {
|
||||
margin: 10px 0 0;
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-style: italic;
|
||||
font-size: 20px;
|
||||
}
|
||||
#cover p {
|
||||
margin: 10px 0 0;
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-style: italic;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
#cover p a {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
#cover p a {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Shower key features</h2>
|
||||
<ol>
|
||||
<li>Built on HTML, CSS and JavaScript</li>
|
||||
<li>Works in all modern browsers</li>
|
||||
<li>Themes are separated from engine</li>
|
||||
<li>Fully keyboard accessible</li>
|
||||
<li>Printable to PDF</li>
|
||||
</ol>
|
||||
<p class="note">Shower ['ʃəuə] noun. A person or thing that shows.</p>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Shower key features</h2>
|
||||
<ol>
|
||||
<li>Built on HTML, CSS and JavaScript</li>
|
||||
<li>Works in all modern browsers</li>
|
||||
<li>Themes are separated from engine</li>
|
||||
<li>Fully keyboard accessible</li>
|
||||
<li>Printable to PDF</li>
|
||||
</ol>
|
||||
<p class="note">Shower ['ʃəuə] noun. A person or thing that shows.</p>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Plain text on your slides</h2>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur <a href="#4">adipisicing</a> elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <em>quis nostrud</em> exercitation ullamco laboris <strong>nisi ut aliquip</strong> ex ea commodo consequat. Duis aute irure <i>dolor</i> in reprehenderit in voluptate velit esse cillum <b>dolore</b> eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in <code><culpa></code> qui officia deserunt mollit anim id est laborum.</p>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Plain text on your slides</h2>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur <a href="#4">adipisicing</a> elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <em>quis nostrud</em> exercitation ullamco laboris <strong>nisi ut aliquip</strong> ex ea commodo consequat. Duis aute irure <i>dolor</i> in reprehenderit in voluptate velit esse cillum <b>dolore</b> eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in <code><culpa></code> qui officia deserunt mollit anim id est laborum.</p>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Two columns if you like</h2>
|
||||
<div class="columns two">
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.</p>
|
||||
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Two columns if you like</h2>
|
||||
<div class="columns two">
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.</p>
|
||||
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>All kind of lists</h2>
|
||||
<ol>
|
||||
<li>Simple lists are marked with bullets</li>
|
||||
<li>Ordered lists begin with a number</li>
|
||||
<li>You can even nest lists one inside another
|
||||
<ul>
|
||||
<li>Or mix their types</li>
|
||||
<li>But do not go too far</li>
|
||||
<li>Otherwise audience will be bored</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Look, seven rows exactly!</li>
|
||||
</ol>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>All kind of lists</h2>
|
||||
<ol>
|
||||
<li>Simple lists are marked with bullets</li>
|
||||
<li>Ordered lists begin with a number</li>
|
||||
<li>You can even nest lists one inside another
|
||||
<ul>
|
||||
<li>Or mix their types</li>
|
||||
<li>But do not go too far</li>
|
||||
<li>Otherwise audience will be bored</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Look, seven rows exactly!</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Serious citations</h2>
|
||||
<figure>
|
||||
<blockquote>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia.</p>
|
||||
</blockquote>
|
||||
<figcaption>Marcus Tullius Cicero</figcaption>
|
||||
</figure>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Serious citations</h2>
|
||||
<figure>
|
||||
<blockquote>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia.</p>
|
||||
</blockquote>
|
||||
<figcaption>Marcus Tullius Cicero</figcaption>
|
||||
</figure>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Code samples</h2>
|
||||
<pre>
|
||||
<code><!DOCTYPE html></code>
|
||||
<code class="mark"><html lang="en"></code>
|
||||
<code><mark><head></mark> <span class="comment"><!--Comment--></span></code>
|
||||
<code> <title>Shower</title></code>
|
||||
<code> <meta charset="<mark class="important">UTF-8</mark>"></code>
|
||||
<code> <link rel="stylesheet" href="screen.css"></code>
|
||||
<code><mark></head></mark></code>
|
||||
</pre>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Code samples</h2>
|
||||
<pre>
|
||||
<code><!DOCTYPE html></code>
|
||||
<code class="mark"><html lang="en"></code>
|
||||
<code><mark><head></mark> <span class="comment"><!--Comment--></span></code>
|
||||
<code> <title>Shower</title></code>
|
||||
<code> <meta charset="<mark class="important">UTF-8</mark>"></code>
|
||||
<code> <link rel="stylesheet" href="screen.css"></code>
|
||||
<code><mark></head></mark></code>
|
||||
</pre>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Even tables</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th scope="col">Locavore</th>
|
||||
<th>Umami</th>
|
||||
<th>Helvetica</th>
|
||||
<th>Vegan</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Fingerstache</th>
|
||||
<td>Kale</td>
|
||||
<td>Chips</td>
|
||||
<td>Keytar</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Sriracha</th>
|
||||
<td>Gluten-free</td>
|
||||
<td>Ennui</td>
|
||||
<td>Keffiyeh</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Thundercats</th>
|
||||
<td>Jean</td>
|
||||
<td>Shorts</td>
|
||||
<td>Biodiesel</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Terry</th>
|
||||
<td>Richardson</td>
|
||||
<td>Swag</td>
|
||||
<td>Blog</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>It’s good to have information organized.</p>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Even tables</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th scope="col">Locavore</th>
|
||||
<th>Umami</th>
|
||||
<th>Helvetica</th>
|
||||
<th>Vegan</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Fingerstache</th>
|
||||
<td>Kale</td>
|
||||
<td>Chips</td>
|
||||
<td>Keytar</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Sriracha</th>
|
||||
<td>Gluten-free</td>
|
||||
<td>Ennui</td>
|
||||
<td>Keffiyeh</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Thundercats</th>
|
||||
<td>Jean</td>
|
||||
<td>Shorts</td>
|
||||
<td>Biodiesel</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Terry</th>
|
||||
<td>Richardson</td>
|
||||
<td>Swag</td>
|
||||
<td>Blog</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>It’s good to have information organized.</p>
|
||||
</section>
|
||||
|
||||
<section class="slide" id="picture">
|
||||
<h2>Pictures</h2>
|
||||
<figure>
|
||||
<img class="cover" src="pictures/picture.jpg" alt="Orange typewriter on a wooden table close-up">
|
||||
<figcaption class="copyright right white">
|
||||
<a href="http://fiftyfootshadows.net/">© John Carey</a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<style>
|
||||
#picture h2 {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
<section class="slide" id="picture">
|
||||
<h2>Pictures</h2>
|
||||
<figure>
|
||||
<img class="cover" src="pictures/picture.jpg" alt="Orange typewriter on a wooden table close-up">
|
||||
<figcaption class="copyright right white">
|
||||
<a href="http://fiftyfootshadows.net/">© John Carey</a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<style>
|
||||
#picture h2 {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2 class="shout shrink">You can even shout this way</h2>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2 class="shout shrink">You can even shout this way</h2>
|
||||
</section>
|
||||
|
||||
<section class="slide">
|
||||
<h2>Inner navigation</h2>
|
||||
<ol>
|
||||
<li>Lets you reveal list items one by one</li>
|
||||
<li class="next">To keep some key points</li>
|
||||
<li class="next">In secret from audience</li>
|
||||
<li class="next">But it will work only once</li>
|
||||
<li class="next">Nobody wants to see the same joke twice</li>
|
||||
</ol>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Inner navigation</h2>
|
||||
<ol>
|
||||
<li>Lets you reveal list items one by one</li>
|
||||
<li class="next">To keep some key points</li>
|
||||
<li class="next">In secret from audience</li>
|
||||
<li class="next">But it will work only once</li>
|
||||
<li class="next">Nobody wants to see the same joke twice</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section class="slide" id="see-more">
|
||||
<h2 class="shout">
|
||||
<img src="pictures/logo.svg" alt="Shower logo">
|
||||
<a href="https://github.com/shower/shower">See more on GitHub</a>
|
||||
</h2>
|
||||
<style>
|
||||
#see-more h2 {
|
||||
font-size: 100px
|
||||
}
|
||||
<section class="slide" id="see-more">
|
||||
<h2 class="shout">
|
||||
<img src="pictures/logo.svg" alt="Shower logo">
|
||||
<a href="https://github.com/shower/shower">See more on GitHub</a>
|
||||
</h2>
|
||||
<style>
|
||||
#see-more h2 {
|
||||
font-size: 100px
|
||||
}
|
||||
|
||||
#see-more img {
|
||||
width: 0.72em;
|
||||
height: 0.72em;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
#see-more img {
|
||||
width: 0.72em;
|
||||
height: 0.72em;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
|
||||
<footer class="badge">
|
||||
<a href="https://github.com/shower/shower">Fork me on GitHub</a>
|
||||
</footer>
|
||||
<footer class="badge">
|
||||
<a href="https://github.com/shower/shower">Fork me on GitHub</a>
|
||||
</footer>
|
||||
|
||||
<div class="progress"></div>
|
||||
<div class="progress"></div>
|
||||
|
||||
<script src="node_modules/shower-core/shower.min.js"></script>
|
||||
<!-- Copyright © 2018 Yours Truly, Famous Inc. -->
|
||||
<script src="node_modules/shower-core/shower.min.js"></script>
|
||||
<!-- Copyright © 2018 Yours Truly, Famous Inc. -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue