Skip to content

Commit e9d5b7e

Browse files
CopilotdataGriff
andcommitted
Convert presentation template to Markdown-based format
Co-authored-by: dataGriff <[email protected]>
1 parent 8938800 commit e9d5b7e

File tree

8 files changed

+405
-274
lines changed

8 files changed

+405
-274
lines changed

CONTRIBUTING.md

Lines changed: 106 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This repository hosts reveal.js-based presentations for the Codebase Interface o
66

77
```
88
1. Create presentation: task new -- my-presentation
9-
2. Edit slides: presentations/my-presentation/index.html
9+
2. Edit slides: presentations/my-presentation/slides.md
1010
3. Test locally: task serve
1111
4. Add to index: index.html (update presentations array)
1212
5. Commit & push: Git workflow
@@ -62,8 +62,8 @@ task new -- my-presentation-name
6262

6363
This will:
6464
- Create a new directory under `presentations/my-presentation-name/`
65-
- Copy the presentation template
66-
- Set up the basic structure with sample slides
65+
- Copy the presentation template (HTML and Markdown files)
66+
- Set up the basic structure with sample slides in Markdown
6767
- Show you the next steps
6868

6969
**Example:**
@@ -85,47 +85,96 @@ If you prefer to create a presentation manually:
8585
cp -r templates/presentation/* presentations/my-presentation/
8686
```
8787

88-
3. Edit the `presentations/my-presentation/index.html` file to add your content.
88+
3. Edit the `presentations/my-presentation/slides.md` file to add your content in Markdown.
8989

9090
## Editing Your Presentation
9191

92-
1. Open `presentations/your-presentation-name/index.html` in your favorite editor.
92+
Presentations use Markdown format, making them easy to write and maintain!
9393

94-
2. Each `<section>` tag represents a slide:
95-
```html
96-
<section>
97-
<h2>My Slide Title</h2>
98-
<p>Slide content goes here</p>
99-
</section>
94+
1. Open `presentations/your-presentation-name/slides.md` in your favorite editor.
95+
96+
2. Use `---` to separate horizontal slides:
97+
```markdown
98+
# First Slide
99+
100+
Content for first slide
101+
102+
---
103+
104+
# Second Slide
105+
106+
Content for second slide
100107
```
101108

102-
3. For vertical slides (sub-slides), nest sections:
103-
```html
104-
<section>
105-
<section>
106-
<h2>Main Topic</h2>
107-
</section>
108-
<section>
109-
<h2>Sub-topic 1</h2>
110-
</section>
111-
<section>
112-
<h2>Sub-topic 2</h2>
113-
</section>
114-
</section>
109+
3. Use `--` for vertical slides (sub-slides):
110+
```markdown
111+
# Main Topic
112+
113+
---
114+
115+
## Subtopic 1
116+
117+
--
118+
119+
## Subtopic 2
120+
121+
--
122+
123+
## Subtopic 3
124+
```
125+
126+
4. Format text with Markdown:
127+
```markdown
128+
# Heading 1
129+
## Heading 2
130+
131+
**Bold text**
132+
*Italic text*
133+
`Inline code`
134+
135+
- Bullet point 1
136+
- Bullet point 2
137+
138+
1. Numbered item 1
139+
2. Numbered item 2
140+
141+
[Link text](https://example.com)
115142
```
116143

117-
4. Add code blocks with syntax highlighting:
118-
```html
119-
<section>
120-
<h2>Code Example</h2>
121-
<pre><code data-trim data-noescape>
144+
5. Add code blocks with syntax highlighting:
145+
```markdown
146+
```javascript
122147
function example() {
123148
return "Hello World";
124149
}
125-
</code></pre>
126-
</section>
150+
` ``
151+
```
152+
153+
6. Add fragment animations (step-by-step reveals):
154+
```markdown
155+
- First item <!-- .element: class="fragment" -->
156+
- Second item <!-- .element: class="fragment" -->
157+
- Third item <!-- .element: class="fragment" -->
127158
```
128159

160+
7. Add speaker notes:
161+
```markdown
162+
This is slide content
163+
164+
Note:
165+
These are speaker notes that only appear in presenter view
166+
```
167+
168+
### Advanced HTML in Markdown
169+
170+
You can also use HTML within your Markdown for more control:
171+
172+
```markdown
173+
<div style="color: red;">
174+
Custom styled content
175+
</div>
176+
```
177+
129178
## Testing Locally
130179

131180
Start the local development server:
@@ -188,37 +237,36 @@ After creating a presentation, add it to the main index page so it appears on th
188237
## Reveal.js Features
189238

190239
This setup includes the following reveal.js plugins:
191-
- **Markdown** - Write slides in Markdown
240+
- **Markdown** - Write slides in Markdown (primary method)
192241
- **Highlight** - Syntax highlighting for code
193242
- **Notes** - Speaker notes (press `S` during presentation)
194243

195-
### Advanced Features
196-
197-
**Fragments (step-by-step reveals):**
198-
```html
199-
<section>
200-
<p class="fragment">First point</p>
201-
<p class="fragment">Second point</p>
202-
<p class="fragment">Third point</p>
203-
</section>
204-
```
244+
### Advanced Features in Markdown
205245

206246
**Backgrounds:**
207-
```html
208-
<section data-background-color="#ff0000">
209-
<h2>Red background</h2>
210-
</section>
211247

212-
<section data-background-image="image.jpg">
213-
<h2>Image background</h2>
214-
</section>
248+
Add backgrounds using HTML comments:
249+
```markdown
250+
<!-- .slide: data-background-color="#ff0000" -->
251+
# Red Background Slide
252+
253+
---
254+
255+
<!-- .slide: data-background-image="image.jpg" -->
256+
# Image Background Slide
215257
```
216258

217259
**Transitions:**
218-
```html
219-
<section data-transition="zoom">
220-
<h2>This slide zooms in</h2>
221-
</section>
260+
```markdown
261+
<!-- .slide: data-transition="zoom" -->
262+
# This Slide Zooms In
263+
```
264+
265+
**Custom Classes and Styles:**
266+
```markdown
267+
This text is red <!-- .element: style="color: red;" -->
268+
269+
Centered content <!-- .element: class="r-fit-text" -->
222270
```
223271

224272
For more features, see the [reveal.js documentation](https://revealjs.com/).
@@ -259,15 +307,17 @@ https://codebaseinterface.org/presentations/your-presentation-name/
259307
2. **Use visuals** - Images, diagrams, and code examples are powerful
260308
3. **Test locally** - Always preview your presentation before committing
261309
4. **Consistent naming** - Use lowercase and hyphens for presentation names (e.g., `my-presentation`)
262-
5. **Organize slides** - Use sections for main topics and nested sections for details
263-
6. **Add speaker notes** - Use `<aside class="notes">` for presenter guidance
310+
5. **Organize slides** - Use horizontal slides (`---`) for main topics and vertical slides (`--`) for details
311+
6. **Add speaker notes** - Use `Note:` prefix in Markdown for presenter guidance
312+
7. **Write in Markdown** - It's easier to maintain and version control than HTML
264313

265314
## Troubleshooting
266315

267316
### Presentation not showing?
268317
- Ensure you've run `task install` to install dependencies
269-
- Check that your presentation directory has an `index.html` file
318+
- Check that your presentation directory has both `index.html` and `slides.md` files
270319
- Verify the reveal.js paths in your HTML are correct (`../../node_modules/reveal.js/...`)
320+
- Make sure the markdown file path in index.html matches your filename
271321

272322
### Styles not loading?
273323
- Make sure `node_modules` exists (run `task install`)

QUICK_REFERENCE.md

Lines changed: 61 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919

2020
## 📂 File Locations
2121
```
22-
presentations/my-presentation/index.html ← Edit your slides here
22+
presentations/my-presentation/slides.md ← Edit your slides here (Markdown)
23+
presentations/my-presentation/index.html ← HTML wrapper (rarely needs editing)
2324
index.html ← Add to presentations array
2425
CONTRIBUTING.md ← Full documentation
2526
```
@@ -42,36 +43,62 @@ Edit your presentation's HTML:
4243

4344
Available: black, white, league, beige, sky, night, serif, simple, solarized, moon, dracula, blood
4445

45-
## 📝 Basic Slide Structure
46-
```html
47-
<!-- Simple slide -->
48-
<section>
49-
<h2>Title</h2>
50-
<p>Content</p>
51-
</section>
52-
53-
<!-- Vertical slides -->
54-
<section>
55-
<section><h2>Main Topic</h2></section>
56-
<section><h2>Detail 1</h2></section>
57-
<section><h2>Detail 2</h2></section>
58-
</section>
59-
60-
<!-- Code with highlighting -->
61-
<section>
62-
<pre><code data-trim>
46+
## 📝 Basic Markdown Slide Structure
47+
```markdown
48+
# First Slide
49+
50+
Content for the first slide
51+
52+
---
53+
54+
# Second Slide
55+
56+
Content for the second slide
57+
58+
---
59+
60+
## Vertical Slides
61+
62+
Main topic
63+
64+
--
65+
66+
### Subtopic 1
67+
68+
Use -- for vertical slides
69+
70+
--
71+
72+
### Subtopic 2
73+
74+
Navigate with up/down arrows
75+
76+
---
77+
78+
## Code with Highlighting
79+
80+
```javascript
6381
function hello() {
6482
console.log("Hello!");
6583
}
66-
</code></pre>
67-
</section>
68-
69-
<!-- Step-by-step reveal -->
70-
<section>
71-
<p class="fragment">First</p>
72-
<p class="fragment">Second</p>
73-
<p class="fragment">Third</p>
74-
</section>
84+
` ``
85+
86+
---
87+
88+
## Step-by-Step Reveal
89+
90+
- First item <!-- .element: class="fragment" -->
91+
- Second item <!-- .element: class="fragment" -->
92+
- Third item <!-- .element: class="fragment" -->
93+
94+
---
95+
96+
## Speaker Notes
97+
98+
Slide content here
99+
100+
Note:
101+
These are speaker notes, press S to view them
75102
```
76103

77104
## 🌐 URL Structure
@@ -82,17 +109,18 @@ https://codebaseinterface.org/presentations/my-presentation/
82109

83110
## 🔄 Workflow
84111
1. **Create:** `task new -- presentation-name`
85-
2. **Edit:** `presentations/presentation-name/index.html`
112+
2. **Edit:** `presentations/presentation-name/slides.md` (Markdown format)
86113
3. **Test:** `task serve`http://localhost:8000
87114
4. **List:** `task update-index` → copy to index.html
88115
5. **Deploy:** Push to main branch (auto-deploys via GitHub Actions)
89116

90117
## 💡 Pro Tips
91-
- Use `class="fragment"` for step-by-step reveals
118+
- Write slides in Markdown for easy editing
119+
- Use `---` for horizontal slides, `--` for vertical slides
120+
- Add `<!-- .element: class="fragment" -->` for step-by-step reveals
92121
- Press `S` during presentation for speaker notes
93-
- Use vertical slides (nested sections) for related content
122+
- Add speaker notes with `Note:` prefix
94123
- Test in fullscreen mode (`F` key) before presenting
95-
- Add speaker notes inside `<aside class="notes">` tags
96124

97125
## 🆘 Need Help?
98126
- Full guide: See `CONTRIBUTING.md`
@@ -101,7 +129,7 @@ https://codebaseinterface.org/presentations/my-presentation/
101129

102130
## ✅ Checklist for New Presentation
103131
- [ ] Run `task new -- presentation-name`
104-
- [ ] Edit slides in `presentations/presentation-name/index.html`
132+
- [ ] Edit slides in `presentations/presentation-name/slides.md` (Markdown)
105133
- [ ] Test locally with `task serve`
106134
- [ ] Add entry to `index.html` presentations array
107135
- [ ] Commit and push to trigger deployment

0 commit comments

Comments
 (0)