Permalink
Browse files

some basics

  • Loading branch information...
1 parent a4c6221 commit 787a87aca74cc273f9c7221e59850f4dd9e8a3be @steveklabnik committed Feb 1, 2012
Showing with 6 additions and 259 deletions.
  1. +3 −12 css/impress-demo.css
  2. +3 −247 index.html
View
15 css/impress-demo.css
@@ -1,12 +1,3 @@
-/**
- * This is a stylesheet for a demo presentation for impress.js
- *
- * It is not meant to be a part of impress.js and is not required by impress.js.
- * I expect that anyone creating a presentation for impress.js would create their own
- * set of styles.
- */
-
-
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
@@ -60,7 +51,8 @@ table {
body {
- font-family: 'PT Sans', sans-serif;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color: #333333;
min-height: 740px;
@@ -109,7 +101,6 @@ a:hover {
-o-box-sizing: border-box;
box-sizing: border-box;
- font-family: 'PT Serif', georgia, serif;
font-size: 48px;
line-height: 1.5;
@@ -441,7 +432,7 @@ a:hover {
box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
border: 1px solid rgba(0, 0, 0, .3);
- font-family: 'Open Sans', Arial, sans-serif;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: rgb(102, 102, 102);
text-shadow: 0 2px 2px rgba(0, 0, 0, .1);
View
250 index.html
@@ -1,155 +1,27 @@
<!doctype html>
-
-<!--
-
- Welcome to the light side of the source, young padawan.
-
- One step closer to learn something interesting you are...
-
- ____
- _.' : `._
- .-.'`. ; .'`.-.
- __ / : ___\ ; /___ ; \ __
- ,'_ ""--.:__;".-.";: :".-.":__;.--"" _`,
- :' `.t""--.. '<@.`;_ ',@>` ..--""j.' `;
- `:-.._J '-.-'L__ `-- ' L_..-;'
- "-.__ ; .-" "-. : __.-"
- L ' /.------.\ ' J
- "-. "--" .-"
- __.l"-:_JL_;-";.__
- .-j/'.; ;"""" / .'\"-.
- .' /:`. "-.: .-" .'; `.
- .-" / ; "-. "-..-" .-" : "-.
- .+"-. : : "-.__.-" ;-._ \
- ; \ `.; ; : : "+. ;
- : ; ; ; : ; : \:
- ; : ; : ;: ; :
- : \ ; : ; : ; / ::
- ; ; : ; : ; : ;:
- : : ; : ; : : ; : ;
- ;\ : ; : ; ; ; ;
- : `."-; : ; : ; / ;
- ; -: ; : ; : .-" :
- :\ \ : ; : \.-" :
- ;`. \ ; : ;.'_..-- / ;
- : "-. "-: ; :/." .' :
- \ \ : ;/ __ :
- \ .-`.\ /t-"" ":-+. :
- `. .-" `l __/ /`. : ; ; \ ;
- \ .-" .-"-.-" .' .'j \ / ;/
- \ / .-" /. .'.' ;_:' ;
- :-""-.`./-.' / `.___.'
- \ `t ._ /
- "-.t-._:'
-
--->
-
-<!--
-
- So you'd like to know how to use impress.js?
-
- You've made the first, very important step -- you're reading the source code.
- And that's how impress.js presentations are built -- with HTML and CSS code.
-
- Believe me, you need quite decent HTML and CSS skills to be able to use impress.js effectively.
- And what is even more important, you need to be a designer, too, because there are no default
- styles for impress.js presentations, there is no default or automatic layout for them.
-
- You need to design and build it by hand.
-
- So...
-
- Would you still like to know how to use impress.js?
-
--->
-
<html lang="en">
<head>
<meta charset="utf-8" />
- <title>impress.js | presentation tool based on the power of CSS3 transforms and transitions in modern browsers | by Bartek Szopka @bartaz</title>
+ <title>Designing Hypermedia APIs</title>
- <meta name="description" content="impress.js is a presentation tool based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.">
- <meta name="author" content="Bartek Szopka" />
-
- <link href="http://fonts.googleapis.com/css?family=Open+Sans:regular,semibold,italic,italicsemibold|PT+Sans:400,700,400italic,700italic|PT+Serif:400,700,400italic,700italic" rel="stylesheet" />
+ <meta name="description" content="Presentation on Hypermedia APIs.">
+ <meta name="author" content="Steve Klabnik" />
- <!--
-
- Impress.js doesn't depend on any external stylesheet. Script adds all styles it needs for
- presentation to work.
-
- This style below contains styles only for demo presentation. Browse it to see how impress.js
- classes are used to style presentation steps, or how to apply fallback styles, but I don't want
- you to use them directly in your presentation.
-
- Be creative, build your own. We don't really want all impress.js presentations to look the same,
- don't we?
-
- When creating your own presentation get rid of this file. Start from scratch, it's fun!
-
- -->
<link href="css/impress-demo.css" rel="stylesheet" />
</head>
<body>
-<!--
-
- That's the wrapper for your presentation steps. In this element all the impress.js magic happens.
- It doesn't have to be a `<div>`. Only `id` is important here as that's how the script find it.
-
- It's worth to notice the `impress-not-supported` class. This class means, that browser doesn't
- support features required by impress.js, so you can apply some fallback styles in your CSS.
- It's not necessary to add it manually on this element. If the script detects that browser is not
- good enough it will add this class, but keeping it in HTML means that users without JavaScript
- will also get fallback styles.
-
- The class name on this element also depends on currently active presentation step. More details about
- it can be found below, when `hint` element is being described.
-
--->
<div id="impress" class="impress-not-supported">
<div class="fallback-message">
<p>Your browser <b>doesn't support the features required</b> by impress.js, so you are presented with a simplified version of this presentation.</p>
<p>For the best experience please use the latest <b>Chrome</b> or <b>Safari</b> browser. Firefox 10 (to be released soon) will also handle it.</p>
</div>
- <!--
-
- Here is where interesting thing start to happen.
-
- Each step of the presentation should be an element inside the `#impress` with a class name
- of `step`. These step elements are positioned, rotated and scaled by impress.js, and
- the 'camera' shows them on each step of the presentation.
-
- Positioning information is passed through data attributes.
-
- In the example below we only specify x and y position of the step element with `data-x="-1000"`
- and `data-y="-1500` attributes. This means that **the center** of the element (yes, the center)
- will be positioned in point x = -1000px and y = -1500px of the presentation 'canvas'.
-
- It will not be rotated or scaled.
-
- -->
<div id="bored" class="step slide" data-x="-1000" data-y="-1500">
<q>Aren't you just <b>bored</b> with all those slides-based presentations?</q>
</div>
- <!--
-
- The `id` attribute of the step element is used to identify it in the URL, but it's optional.
- If it is not defined, it will get a default value of `step-N` where N is a number of slide.
-
- So in the example below it'll be `step-2`.
-
- The hash part of the url when this step is active will be `#/step-2`.
-
- You can also use `#step-2` in a link, to point directly to this particular step.
-
- Please note, that while `#/step-2` (with slash) would also work in a link it's not recommended.
- Using classic `id`-based links like `#step-2` makes these links usable also in fallback mode.
-
- -->
<div class="step slide" data-x="0" data-y="-1500">
<q>Don't you think that presentations given <strong>in modern browsers</strong> shouldn't <strong>copy the limits</strong> of 'classic' slide decks?</q>
</div>
@@ -158,30 +30,12 @@
<q>Would you like to <strong>impress your audience</strong> with <strong>stunning visualization</strong> of your talk?</q>
</div>
- <!--
-
- This is an example of step element being scaled.
-
- Again, we use a `data-` attribute, this time it's `data-scale="4"`, so it means that this
- element will be 4 times larger than the others.
- From presentation and transitions point of view it means, that it will have to be scaled
- down (4 times) to make it back to it's correct size.
-
- -->
<div id="title" class="step" data-x="0" data-y="0" data-scale="4">
<span class="try">then you should try</span>
<h1>impress.js<sup>*</sup></h1>
<span class="footnote"><sup>*</sup> no rhyme intended</span>
</div>
- <!--
-
- This element introduces rotation.
-
- Notation shouldn't be a surprise. We use `data-rotate="90"` attribute, meaning that this
- element should be rotated by 90 degrees clockwise.
-
- -->
<div id="its" class="step" data-x="850" data-y="3000" data-rotate="90" data-scale="5">
<p>It's a <strong>presentation tool</strong> <br/>
inspired by the idea behind <a href="http://prezi.com">prezi.com</a> <br/>
@@ -192,15 +46,6 @@
<p>visualize your <b>big</b> <span class="thoughts">thoughts</span></p>
</div>
- <!--
-
- And now it gets really exiting! We move into third dimension!
-
- Along with `data-x` and `data-y`, you can define the position on third (Z) axis, with
- `data-z`. In the example below we use `data-z="-3000"` meaning that element should be
- positioned far away from us (by 3000px).
-
- -->
<div id="tiny" class="step" data-x="2825" data-y="2325" data-z="-3000" data-rotate="300" data-scale="1">
<p>and <b>tiny</b> ideas</p>
</div>
@@ -222,111 +67,22 @@
<p>one more thing...</p>
</div>
- <!--
-
- And the last one shows full power and flexibility of impress.js.
-
- You can not only position element in 3D, but also rotate it around any axis.
- So this one here will get rotated by -40 degrees (40 degrees anticlockwise) around X axis and
- 10 degrees (clockwise) around Y axis.
-
- You can of course rotate it around Z axis with `data-rotate-z` - it has exactly the same effect
- as `data-rotate` (these two are basically aliases).
-
- -->
<div id="its-in-3d" class="step" data-x="6200" data-y="4300" data-z="-100" data-rotate-x="-40" data-rotate-y="10" data-scale="2">
<p><span class="have">have</span> <span class="you">you</span> <span class="noticed">noticed</span> <span class="its">it's</span> <span class="in">in</span> <b>3D<sup>*</sup></b>?</p>
<span class="footnote">* beat that, prezi ;)</span>
</div>
- <!--
-
- So to make a summary of all the possible attributes used to position presentation steps, we have:
-
- * `data-x`, `data-y`, `data-z` -- they define the position of **the center** of step element on
- the canvas in pixels; their default value is 0;
- * `data-rotate-x`, `data-rotate-y`, 'data-rotate-z`, `data-rotate` -- they define the rotation of
- the element around given axis in degrees; their default value is 0; `data-rotate` and `data-rotate-z`
- are exactly the same;
- * `data-scale` -- defines the scale of step element; default value is 1
-
- -->
<div id="overview" class="step" data-x="3000" data-y="1500" data-scale="10">
</div>
</div>
-<!--
-
- Hint is not related to impress.js in any way.
-
- But it can show you how to use impress.js features in creative way.
-
- When the presentation step is shown (selected) it's element get's the class of "active" and `#impress` root
- element get's the class based on active step id `step-ID` (where ID is the step id)... It probably is not
- so clear because of all these IDs in here, so for example when the first step (the one with id of `bored`)
- is active, `#impress` element get a class of `step-bored`.
-
- This class is used by this hint below. Check CSS file to see how it's shown with delayed CSS animation.
-
--->
<div class="hint">
<p>Use a spacebar or arrow keys to navigate</p>
</div>
-<!--
-
- Last, but not least.
-
- To make all described above really work, you need to include impress.js in the page.
- And you should do it in the end of your document. Not only because it's a good practice, but also
- because I was lazy, haven't wrapped the code in any kind of "DOM ready" event, so it will not work
- if included too early in the source ;)
-
--->
<script src="js/impress.js"></script>
</body>
</html>
-
-<!--
-
- Now you know more or less everything you need to build your first impress.js presentation, but before
- you start...
-
- Oh, you've already cloned the code from GitHub?
-
- You have it open in text editor?
-
- Stop right there!
-
- That's not how you create awesome presentations. This is only a code. Implementation of the idea that
- first needs to grow in your mind.
-
- So if you want to build great presentation take a pencil and piece of paper. And turn off the computer.
-
- Sketch, draw and write. Brainstorm your ideas on a paper. Try to build a mind-map of what you'd like
- to present. It will get you closer and closer to the layout you'll build later with impress.js.
-
- Get back to the code only when you have your presentation ready on a paper. It doesn't make sense to do
- it earlier, because you'll only waste your time fighting with positioning of useless points.
-
- If you think I'm crazy, please put your hands on a book called "Presentation Zen". It's all about
- creating awesome and engaging presentations.
-
- Think about it. 'Cause impress.js may not help you, if you have nothing interesting to say.
-
--->
-
-<!--
-
- Are you still reading this?
-
- For real?
-
- I'm impressed! Feel free to let me know that you got that far (I'm @bartaz on Twitter), 'cause I'd like
- to congratulate you personally :)
-
--->
-

0 comments on commit 787a87a

Please sign in to comment.