This guide explains how to use this presentation template to create your own reveal.js presentations.
-
Click "Use this template" at the top of the GitHub repository page
-
Name your new repository (e.g.,
my-awesome-talk) -
Clone your new repository:
git clone https://github.com/YOUR-USERNAME/YOUR-REPO-NAME.git cd YOUR-REPO-NAME -
Run the setup script:
./setup-template.sh
The script will:
- Detect your repository name from git
- Ask for confirmation or let you customize values
- Update all template placeholders
- Rename the markdown file to match your repo name
- Self-delete when complete
-
Edit your presentation:
# Edit the markdown file in the slides/ directory # It will be named after your repository
-
Preview locally:
npm start
Opens at http://localhost:8000
-
Deploy to GitHub Pages:
Step 1: Enable GitHub Actions Workflow Permissions
- Go to Settings > Actions > General
- Scroll to Workflow permissions
- Select Read and write permissions
- Check Allow GitHub Actions to create and approve pull requests
- Click Save
Step 2: Enable GitHub Pages
- Go to Settings > Pages
- Under Source, select GitHub Actions
- Click Save
Step 3: Push and Deploy
- Push your changes to
mainbranch - GitHub Actions will automatically build and deploy
- Monitor progress in the Actions tab
- Your presentation will be live at
https://YOUR-USERNAME.github.io/YOUR-REPO-NAME/
The setup script updates these files:
- Replaces
YOUR-USERNAMEwith your GitHub username - Replaces
YOUR-REPO-NAMEwith your repository name - Replaces
Presentation Titlewith your custom title
- Updates the
<title>tag - Updates the markdown file reference in
data-markdown
- Updates the
namefield to match your repository
- Renames
presentation.mdtoYOUR-REPO-NAME.md
If you prefer not to use the setup script, update these values manually:
- README.md: Search and replace placeholders
- index.html:
- Line 7: Update
<title> - Line 23: Update
data-markdownpath
- Line 7: Update
- package.json: Update the
namefield - slides/: Rename the markdown file
Edit the markdown file in slides/:
# My Presentation Title
Subtitle or description
---
## Slide 2
Content here
* Bullet 1
* Bullet 2
---
## Slide 3
```bash
# Code examples
echo "Hello"
### Slide Separators
- `---` creates a new horizontal slide
- `--` creates a vertical slide (nested under current)
- `Note:` at the start of a line creates speaker notes
### Adding Images
1. Add images to the `images/` directory
2. Reference in markdown:
```markdown

Use fenced code blocks with language specification:
```javascript
function hello() {
console.log("Hello, world!");
}
```Edit css/custom.css to change:
- Colors
- Fonts
- Layout
- Custom classes
The template includes DDEV branding styles. Replace or modify these for your brand.
In index.html, the Reveal.initialize() section contains many options:
controls: Show navigation controlsprogress: Show progress barslideNumber: Display slide numberstransition: Slide transition effect- And many more...
See reveal.js documentation for all options.
The repository includes a GitHub Actions workflow (.github/workflows/deploy.yml) that automatically builds and deploys your presentation.
Step 1: Enable GitHub Actions Workflow Permissions
- Go to Settings > Actions > General
- Scroll down to Workflow permissions
- Select Read and write permissions
- Check Allow GitHub Actions to create and approve pull requests
- Click Save
Without these permissions, the workflow cannot deploy to GitHub Pages.
Step 2: Enable GitHub Pages
- Go to Settings > Pages
- Under Build and deployment > Source
- Select GitHub Actions from the dropdown
- Click Save
Step 3: Deploy
- Push your changes to the
mainbranch - The workflow will automatically trigger
- Monitor progress in the Actions tab
- Once complete (usually 1-2 minutes), your presentation is live
The workflow:
- Triggers on every push to
mainbranch - Builds the presentation by copying necessary files
- Creates a deployment artifact
- Deploys to GitHub Pages
- Your site is available at
https://YOUR-USERNAME.github.io/YOUR-REPO-NAME/
Workflow fails with "Resource not accessible by integration"
- Check that workflow permissions are set to "Read and write permissions" in Settings > Actions > General
Pages not deploying
- Verify GitHub Pages source is set to "GitHub Actions"
- Check the Actions tab for error messages
- Ensure you've pushed to the
mainbranch
404 error when visiting the URL
- Wait a few minutes after the first deployment
- Check Settings > Pages to confirm the deployment URL
- Verify the workflow completed successfully in Actions tab
Run with custom values:
./setup-template.sh
# Answer 'n' when asked if detected values are correct
# Enter your values manuallyCheck:
- Markdown file name matches reference in
index.html - Files are in correct directories
- GitHub Pages is enabled and deployed
- Ensure images are in
images/directory - Use correct relative paths:
images/filename.png - Check image file names match (case-sensitive on Linux)