Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sdsc-ordes/technical-presentation

Technical presentations with Reveal.js and tooling to produce PDF/HTML output
https://github.com/sdsc-ordes/technical-presentation

Last synced: about 15 hours ago
JSON representation

Technical presentations with Reveal.js and tooling to produce PDF/HTML output

Awesome Lists containing this project

README

        


Technical Presentation


Make technical presentations in Markdown/HTML with
[`reveal.js`](https://github.com/hakimel/reveal.js.git).

This is a fork of
[`technical-presentation`](https://github.com/gabyx/technical-presentation.git)
with some small modifications for SDSC.

- **See the
[demo presentation here](https://sdsc-ordes.github.io/technical-presentation)**.
- **See some other
[C++ presentation here](https://gabyx.github.io/tech-pr-cpp-value-catergories)**
[src](https://github.com/gabyx/tech-pr-cpp-value-catergories).

Authors:

- [Gabriel Nützi](https://github.com/gabyx) and

Current [`revealjs`](https://github.com/hakimel/reveal.js) version: `4.6.1`

## Requirements

### Using [`nix`](https://nixos.org)

You can enter a development shell with

```shell
nix develop './tools/nix#default'
```

where all requirements are installed to start working on your first
presentation.

### DevContainer

There is a [`.devcontainer`](.devcontainer) to be run over `code` or the
[devcontainer](https://github.com/devcontainers/cli) CLI. First build the
container:

```shell
just build-dev-container
```

or with `docker` instead of `podman`:

```shell
just container_mgr=docker build-dev-container
```

### Manual

You need the following tools:

- `bash`
- `just`
- `rsync`
- `watchman`
- `npm`
- `yarn`

## Usage

1. **`just init`** -> Init the `build` folder with the pinned
[`reveal.js`](.gitmodules) source and inject some [changed files](src/mixin)
(styles, fonts, etc.) and install dependencies inside the build folder.

2. **`just watch`** -> Watch the files in [`src`](src/) and synchronize changes
to the `build` folder. This is needed to continuously update your changes
source files and make the browser reload the page.

3. **`just present`** -> Serve the presentation in the browser and continuously
reload the page.

4. **`just package`** -> Export the presentation as HTML and PDF inside a `.zip`
file to the [`publish`](publish) folder.

## Make a Presentation

- Write your presentation in Markdown in
[`src/presentations`](src/presentations). All images and other assets needed
by the presentation should go into the respective `assets` directory (e.g.
[`presentation-1/assets`](/src/presentations/presentation-1/assets))

## Resources

Check the following resources with additional slide materials:

- [Documentation](https://revealjs.com/)
- [Markdown from a C++ presentation](https://github.com/gabyx/tech-pr-cpp-value-catergories/blob/main/files/cpp-meeting/Vortrag.md)
[View](https://gabyx.github.io/tech-pr-cpp-value-catergories)

## Modifications

- Edit the design in [`company.scss`](css/theme/source/company.scss).

- Company Logo: Edit the file
[`company-logo.svg`](css/theme/source/files/company-logo.svg).

- Replace embedded image in [`company.scss`](css/theme/source/company.scss)
with

```shell
just bake-logo
```