You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
where `my-awesome-course` is an empty directory you'll use to create
46
-
your presentation. When you create the course name, remember to **use
47
-
only lower-case letters, numbers, and dashes** in the filename. This
48
-
will become part of an externally available URL, so the URL format
49
-
must be valid.
40
+
## Starter Kit Installation
50
41
51
-
Change the remote `origin` to `upstream`:
42
+
1. Download the zipped source files from github at `https://github.com/gdiminneapolis/jekyll-reveal-starter-kit/archive/master.zip` and save it someplace memorable.
52
43
53
-
```bash
54
-
git remote rename origin upstream
55
-
```
44
+
2. Create and/or go to the parent directory for your new slide set.
56
45
57
-
Create the remote `origin` for this repository. Using the **SSH**
58
-
version of the remote url, set the new `origin`;
46
+
3. Unzip the zipped source you downloaded into the parent directory.
in the starter kit wiki.) Edit these files in your code editor and
101
77
change the settings to be what you want.
102
78
103
-
There are only two settings you must absolutely change:
79
+
*Note:* the `baseurl` value **must** begin with a "/" character. Leave
80
+
the end without a "/" character as well.
104
81
105
-
*`title` - change this to the title of your course
106
-
*`baseurl` - change this to the repository base name
82
+
### `_config.yml`
107
83
108
-
Using the above example, you'd have:
84
+
Obvious things like the title, description, and keywords should be
85
+
changed to fit your new slide set. These appear in the head of the
86
+
documents, and in the default title page of the of the slide set.
109
87
110
-
```yaml
111
-
title: My Awesome Course
112
-
baseurl: /my-awesome-course
113
-
```
88
+
Don't touch `baseurl` or `url` in this file. These are the values that
89
+
work with the Jekyll server so you can preview your work.
114
90
115
-
(Thus revealing whey the restriction on the name for your repository:
116
-
it's used in the URL for the slide set when published on Github
117
-
pages.)
91
+
### `_staging.yml`
118
92
119
-
*Note:* the `baseurl` value **must** begin with a "/" character. Leave
120
-
the end without a "/" character as well.
93
+
This file gets appended to the configuration set when building for
94
+
staging. In this file, you should set the `url` field by changing the
95
+
`YOUR_GITHUB_ACCOUNT` string to, well, your github account name.
96
+
97
+
Change `baseurl` to the name of your github repo. Make sure the string
98
+
begins with a forward slash ("/").
99
+
100
+
### `_publish.yml`
101
+
102
+
Change the `baseurl` to the name of the github repo as it will be on
103
+
`https://github.com/gdiminneapolis`. If you don't feel comfortable
104
+
doing this, discuss this with at the organization.
121
105
122
106
## Spin up the Jekyll Server
123
107
124
108
Everything should be good to go, now, and you can start up the Jekyll
125
109
development server to show the slides while you create them.
126
110
127
-
``` bash
128
-
bin/jekyll serve
129
-
```
111
+
$ rake
130
112
131
113
You may want to pay attention to the terminal window running the
132
114
server, as that is where errors will be reported in case there's
@@ -144,20 +126,31 @@ page in the browser.
144
126
Slides live in the `_slides` folder, and should be named with the
145
127
following conventions:
146
128
147
-
* start with a sequence number. By default, I've started the sequence
148
-
at 000 -- this allows up to 999 slides.
129
+
* start with a sequence number, the slides will be ordered by this
130
+
sequence number. A good sequencing scheme is `00.00` where the first
131
+
set of numbers is the class section, and the second set is the
132
+
slides in that section. Example: `00.00.introduction.html`
149
133
* the slide title, lowercased, only letters, numbers, and dashes --
150
134
use dashes for spaces between words.
151
-
* the extension `.html` (you can edit your slides in Markdown using
152
-
the `.md` extension.)
135
+
* the extension `.html` (you can also edit your slides in Markdown
136
+
using the `.md` extension.)
153
137
154
138
For example, the introduction slide is:
155
-
`_slides/000-introduction.html`.
139
+
`_slides/00.00.introduction.html` and the very last slide would be
140
+
`_slides/99.99.fin.html`.
156
141
157
142
A very good practice is to leave gaps in the sequence number to make
158
143
it easy to rearrange slides if you want, or insert conent as you'd
159
144
like.
160
145
146
+
If you need more than 100 sections or more than 100 slides per
147
+
section, make sure your numbering allows this because the system is
148
+
rather stupid about it. Example: `000.001.slide-title.html`. If you do
149
+
think you need this, though, think about restructuring the
150
+
presentation into more than one slide set. You can create new
151
+
collections, for example, and have a root `.html` file for each
152
+
collection.
153
+
161
154
## Slide Content
162
155
163
156
### Frontmatter
@@ -169,10 +162,28 @@ Every slide needs to have at least the following frontmatter:
169
162
```yaml
170
163
---
171
164
layout: slide
172
-
title: Slide Title
173
165
---
174
166
```
175
167
168
+
You can also put other meta data in the frontmatter. A useful one is the slide's title:
169
+
170
+
```yaml
171
+
---
172
+
layout: slide
173
+
title: Let's Develop It!
174
+
---
175
+
```
176
+
177
+
And you can use the title in the body with a little Liquid:
178
+
179
+
```html
180
+
<h1>{{ page.title }}</h1>
181
+
```
182
+
183
+
This comes in very handy when there are multiple `section`s in the
184
+
slide to put the title on each `section`.
185
+
186
+
176
187
### Slide Body
177
188
178
189
After that point, you can provide the HTML that will make up your
@@ -189,6 +200,7 @@ For example, the standard "Welcome" slide has the following content:
189
200
layout: slide
190
201
title: "Welcome!"
191
202
---
203
+
<h1>{{ page.title }}</h1>
192
204
<divclass="left-align">
193
205
<p>Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.</p>
194
206
<pclass="green">Some "rules"</p>
@@ -199,6 +211,7 @@ title: "Welcome!"
199
211
<li>Have fun</li>
200
212
</ul>
201
213
</div>
214
+
202
215
```
203
216
204
217
which should be pretty easy to figure out.
@@ -211,104 +224,56 @@ a good presentation practice, but a lot of people seem to use it.)
211
224
212
225
### Code Snippets
213
226
214
-
Since we're all about the code, you can place snippets on the slide by
215
-
wrapping them with `<pre><code>` elements. These will be nicely
216
-
formatted and syntax highlighted. To tell the highlighter what
217
-
language syntax to use, give the `<code>` tag the appropriate `class`
218
-
attribute:
227
+
Since we're all about the code, you can place code snippets on the slide using Jekyll's `highlight` feature:
219
228
220
229
```html
221
-
<pre>
222
-
<code class="css">
223
-
h1 {
224
-
font-weight: bold;
225
-
text-size: 120%;
226
-
}
227
-
</code>
228
-
</pre>
230
+
Here's an example:
231
+
232
+
{% highlight html linenos %}
233
+
<divclass="introduction">
234
+
<h1>Introduction</h1>
235
+
<ul>
236
+
<li>My Life</li>
237
+
</ul>
238
+
</div>
239
+
{% endhighlight %}
229
240
```
230
241
231
242
Make sure to keep your snippets short, so they stay on the slide
232
243
nicely.
233
244
234
-
### Helper Classes
245
+
### Helper and Override Classes
235
246
236
-
`reveal.js`seems to shorten boxes on some blocks, making ridiculous
237
-
line breaks when the text would look a lot better all on one line.
247
+
There are several helper and override classes defined in `_sass/_overrides.scss`. Please feel free to add to this for your own work. You can add more Sass partials to the `_sass/` directory as well, just make sure they get `@import`ed in `css/main.scss`.
238
248
239
-
There are two helpers for this:
249
+
### JavaScripts
240
250
241
-
* `go-wide` - sets the box width to 960px
242
-
* `no-wrap` - forces the contents to never wrap on white spaces
251
+
The `js/` directory holds the scripts you can change, or add your own. If you add new script files, make sure the add them in `_includes/scripts.html` as well. Follow the pattern used there for `revealConfig.js`.
243
252
244
253
## Build the Presentation
245
254
246
255
To build the slide presentation for publication, *stop* the running
247
-
`jekyll` server. Then at the command line, enter:
256
+
`jekyll` server with `ctrl-C`. Then at the command line, enter:
0 commit comments