This document explains how to setup and manage presentations built with Reveal.js and Remark.js, whether you are working within this repository or starting a new one inspired by it.
Follow these steps if you want to create a new repository for your presentations from scratch, using this repository as a reference. Create local repository and add the submodule.
git submodule add https://github.com/hakimel/reveal.js reveal.jskanad13/kanad13)Follow these steps if you have cloned this specific repository (kanad13/kanad13) and want to work with its existing structure and content.
To get a copy of this repository and its submodules (like Reveal.js):
Option 1: Clone with submodules (recommended)
git clone --recurse-submodules https://github.com/hakimel/reveal.js
cd kanad13
Option 2: Clone first, then initialize submodules
git clone https://github.com/kanad13/kanad13.git
cd kanad13
git submodule update --init --recursive
The Reveal.js submodule has its own package.json. If you plan to use its build tools or ensure all its development dependencies are met:
cd reveal.js
npm install
cd ..
This is typically done once after cloning/initializing the submodule, or if Reveal.js itself has updates to its dependencies.
Presentations are HTML files. Open the respective .html file (e.g., templates/revealjs/200-reveal_scroll.html or templates/remarkjs/100-remark.html) directly in your web browser to view it.
All presentation decks are in the ./templates/ directory, organized by framework (revealjs or remarkjs).
./templates/revealjs/100-reveal-external_markdown.html for external Markdown, or 200-reveal_scroll.html for inline Markdown) or create a new one..md file (like 101-reveal-external_markdown.md).../../reveal.js/... for core files and ../../assets/... for your custom assets../templates/remarkjs/100-remark.html and its associated .md file (e.g., 101-remark.md).sourceUrl in the HTML file to point to your new Markdown file.assets/css/revealjs-white.css (for Reveal.js)assets/css/remarkjs-github.css (for Remark.js)assets/images/
assets/fonts/
assets/fonts/ directory is available if you wish to self-host font files and update the CSS accordingly.If you want to start a completely new repository for presentations from scratch but use a similar structure with Reveal.js as a submodule:
Create and Clone Your New Repository:
Create a new repository on GitHub (e.g., my-new-presentations-repo).
Then clone it:
git clone https://github.com/your-username/my-new-presentations-repo.git
cd my-new-presentations-repo
Add Reveal.js as a Submodule to Your New Repo: You can use your fork or the official Reveal.js repository.
git submodule add https://github.com/hakimel/reveal.js.git reveal.js
Commit the Submodule Addition:
git add .gitmodules reveal.js
git commit -m "Add reveal.js submodule"
(Optional) Install Reveal.js Dependencies in the New Repo:
cd reveal.js
npm install
cd ..
Structure Your New Repository:
You can now copy HTML templates (like those in templates/revealjs/ from this kanad13/presentations repository), CSS (from assets/css/), and adopt a similar directory structure (assets/, templates/) in your new repository as a starting point. Remember to adjust paths in your copied HTML files to point correctly to the reveal.js submodule and your assets within your new repository.
/ (root) folder.https://kanad13.github.io/kanad13/<your-presentation-path>. (If using a custom domain, see below).Here’s a detailed guide on how to set up a custom subdomain like presentations.kunal-pathak.com for your GitHub Pages site, using Cloudflare for DNS management. (This example assumes the custom domain is for this kanad13/presentations repository).
Step 1: Configure the Custom Subdomain in Your GitHub Repository
kanad13/kanad13).presentations.kunal-pathak.com.CNAME file to the root of your publishing source (your main branch’s root). This file will contain your custom subdomain (e.g., presentations.kunal-pathak.com).Step 2: Add a CNAME Record in Your Cloudflare DNS Settings
kunal-pathak.com.CNAME from the dropdown list.presentations. Cloudflare will automatically append kunal-pathak.com.kanad13.github.io. Do not include your repository name here. The CNAME record should always point to kanad13.github.io.Step 3: Verify and Wait for Propagation
Step 4: Test Your Custom Subdomain
Once DNS has propagated and GitHub has provisioned the HTTPS certificate, you should be able to access your GitHub Pages site at https://presentations.kunal-pathak.com.