Skip to content

Commit

Permalink
Initial reveal.js distribution
Browse files Browse the repository at this point in the history
Read SETUP.md for details. Test GH Pages hosting
  • Loading branch information
nitya committed Jul 22, 2021
1 parent ea81562 commit 951d318
Show file tree
Hide file tree
Showing 145 changed files with 39,898 additions and 0 deletions.
64 changes: 64 additions & 0 deletions SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Setup Guide

I took these steps to setup [reveal.js](https://revealjs.com/), create my slides, build and test presentation locally, and host it on GitHub Pages.

---

## [Reveal.js](https://revealjs.com/)

is an open-source HTML presentation framework that lets you create rich, interactive slides using open web technologies. It also powers the [Slides.com](https://slides.com/) service which features [presentations](https://slides.com/explore) that showcase the capabilities of this framework.

---

## [GitHub Pages](https://pages.github.com/)

helps you host your website directly from the GitHub repository, and even set up relevant [GitHub Actions](https://github.com/features/actions) to automate the develop-deploy cycle.

---

## Workflow

Reveal.js has support for [Markdown](https://revealjs.com/markdown/), [PDF export](https://revealjs.com/pdf-export/), [speaker notes](https://revealjs.com/speaker-view/), [code highlighting](https://revealjs.com/code/), [animatons](https://revealjs.com/auto-animate/) - and can be customized with plugins, themes etc. that I might explore later.

For now, this is a basic workflow to get a simple deck built and hosted, then populated with content (in this case, mostly images)

<br/>

> 1. INSTALL

I went with the [basic setup](https://revealjs.com/installation/#basic-setup)

* Create a Github repo, clone it locally.
* Download the [reveal.js zipfile](https://github.com/hakimel/reveal.js/archive/master.zip) to that directory.
* Take these steps to unzip & rename distribution

```
$ cd <cloned-repo>
$ cp ~/Downloads/reveal.js-master.zip .
$ unzip reveal.js-master.zip
$ mv reveal.js-master docs
```

Why rename it to `docs`? Because it is one of the default folder names that GitHub accepts as a [publishing source](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages#publishing-sources-for-github-pages-sites) for GitHub Pages sites. My cloned repo (local) now looks like this.

```
$ ls
LICENSE README.md SETUP.md docs
```
<br/>

> 2. TEST LOCALLY
The docs/ folder will contain a starter presentation anchored at `index.html`. Start a lightweight webserver on your development device (e.g., use default _python_ server as below) from the `docs/` folder, then open up your browser to that location.

```
$ cd docs
$ python -m http.server
Serving HTTP on :: port 8000 (http://[::]:8000/) ...
```

You should see a basic 2-slide presentation. Now let's make sure this works with GitHub Pages

> 3. PUBLISH DEFAULT SLIDES
Push repo changes up to GitHub.
1 change: 1 addition & 0 deletions docs/.github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [hakimel]
24 changes: 24 additions & 0 deletions docs/.github/workflows/js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: tests

on: [push]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [10.x, 14.x, 16.x]

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build --if-present
- run: npm test
env:
CI: true
12 changes: 12 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.idea/
*.iml
*.iws
*.eml
out/
.DS_Store
.svn
log/*.log
tmp/**
node_modules/
.sass-cache
dist/*.map
7 changes: 7 additions & 0 deletions docs/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/test
/examples
.github
.gulpfile
.sass-cache
gulpfile.js
CONTRIBUTING.md
23 changes: 23 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Contributing

Please keep the [issue tracker](http://github.com/hakimel/reveal.js/issues) limited to **bug reports**, **feature requests** and **pull requests**.


### Personal Support
If you have personal support or setup questions the best place to ask those are [StackOverflow](http://stackoverflow.com/questions/tagged/reveal.js).


### Bug Reports
When reporting a bug make sure to include information about which browser and operating system you are on as well as the necessary steps to reproduce the issue. If possible please include a link to a sample presentation where the bug can be tested.


### Pull Requests
- Should follow the coding style of the file you work in, most importantly:
- Tabs to indent
- Single-quoted strings
- Should be made towards the **dev branch**
- Should be submitted from a feature/topic branch (not your master)


### Plugins
Please do not submit plugins as pull requests. They should be maintained in their own separate repository. More information here: https://github.com/hakimel/reveal.js/wiki/Plugin-Guidelines
19 changes: 19 additions & 0 deletions docs/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (C) 2020 Hakim El Hattab, http://hakim.se, and reveal.js contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
28 changes: 28 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<p align="center">
<a href="https://revealjs.com">
<img src="https://hakim-static.s3.amazonaws.com/reveal-js/logo/v1/reveal-black-text.svg" alt="reveal.js" width="450">
</a>
<br><br>
<a href="https://github.com/hakimel/reveal.js/actions"><img src="https://github.com/hakimel/reveal.js/workflows/tests/badge.svg"></a>
<a href="https://slides.com/"><img src="https://s3.amazonaws.com/static.slid.es/images/slides-github-banner-320x40.png?1" alt="Slides" width="160" height="20"></a>
</p>

reveal.js is an open source HTML presentation framework. It enables anyone with a web browser to create fully featured and beautiful presentations for free. [Check out the live demo](https://revealjs.com/).

The framework comes with a broad range of features including [nested slides](https://revealjs.com/vertical-slides/), [Markdown support](https://revealjs.com/markdown/), [Auto-Animate](https://revealjs.com/auto-animate/), [PDF export](https://revealjs.com/pdf-export/), [speaker notes](https://revealjs.com/speaker-view/), [LaTeX support](https://revealjs.com/math/), [syntax highlighted code](https://revealjs.com/code/) and much more.

<h1>
<a href="https://revealjs.com/installation" style="font-size: 3em;">Get Started</a>
</h1>

## Documentation
The full reveal.js documentation is available at [revealjs.com](https://revealjs.com).

## Online Editor
Want to create your presentation using a visual editor? Try the official reveal.js presentation platform for free at [Slides.com](https://slides.com). It's made by the same people behind reveal.js.

## License

MIT licensed

Copyright (C) 2011-2021 Hakim El Hattab, https://hakim.se
69 changes: 69 additions & 0 deletions docs/css/layout.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/**
* Layout helpers.
*/

// Stretch an element vertically based on available space
.reveal .stretch,
.reveal .r-stretch {
max-width: none;
max-height: none;
}

.reveal pre.stretch code,
.reveal pre.r-stretch code {
height: 100%;
max-height: 100%;
box-sizing: border-box;
}

// Text that auto-fits it's container
.reveal .r-fit-text {
display: inline-block; // https://github.com/rikschennink/fitty#performance
white-space: nowrap;
}

// Stack multiple elements on top of each other
.reveal .r-stack {
display: grid;
}

.reveal .r-stack > * {
grid-area: 1/1;
margin: auto;
}

// Horizontal and vertical stacks
.reveal .r-vstack,
.reveal .r-hstack {
display: flex;

img, video {
min-width: 0;
min-height: 0;
object-fit: contain;
}
}

.reveal .r-vstack {
flex-direction: column;
align-items: center;
justify-content: center;
}

.reveal .r-hstack {
flex-direction: row;
align-items: center;
justify-content: center;
}

// Naming based on tailwindcss
.reveal .items-stretch { align-items: stretch; }
.reveal .items-start { align-items: flex-start; }
.reveal .items-center { align-items: center; }
.reveal .items-end { align-items: flex-end; }

.reveal .justify-between { justify-content: space-between; }
.reveal .justify-around { justify-content: space-around; }
.reveal .justify-start { justify-content: flex-start; }
.reveal .justify-center { justify-content: center; }
.reveal .justify-end { justify-content: flex-end; }
Loading

0 comments on commit 951d318

Please sign in to comment.