Commit d8d1c0f6 authored by nimrod's avatar nimrod
Browse files

Add the presentation script and documentation.

parent efdd85d4
Loading
Loading
Loading
Loading
Loading
+19 −6
Original line number Original line Diff line number Diff line
@@ -2,16 +2,15 @@


[![pipeline status](https://git.shore.co.il/nimrod/presentation/badges/master/pipeline.svg)](https://git.shore.co.il/nimrod/presentation/-/commits/master)
[![pipeline status](https://git.shore.co.il/nimrod/presentation/badges/master/pipeline.svg)](https://git.shore.co.il/nimrod/presentation/-/commits/master)


A Dockerized presentation toolkit for building presentation from markup (like
A containerized presentation toolkit for building presentations from markup
Markdown or DOT).
(like Markdown or DOT).


## Usage
## Usage


`docker run --rm -itv “$PWD:/volume“ registry.shore.co.il/presentation`
`podman run --rm -itv “$PWD:/volume“ registry.shore.co.il/presentation`


Will watch the current directory and run `make` whenever a file changes. One can
Will watch the current directory and run `make` whenever a file changes
add a shell alias
(replace `podman` with `docker` if that's what you're using).
`alias presentation='docker run --rm -itv “$PWD:/volume“ registry.shore.co.il/presentation'` for easier use.


See the example folder for more details and the [generated
See the example folder for more details and the [generated
PDF](https://git.shore.co.il/nimrod/presentation/-/jobs/artifacts/master/raw/example/presentation.pdf?job=presentation%20build).
PDF](https://git.shore.co.il/nimrod/presentation/-/jobs/artifacts/master/raw/example/presentation.pdf?job=presentation%20build).
@@ -20,6 +19,20 @@ If you're using GitLab, check out the [CI
template](https://git.shore.co.il/nimrod/presentation/-/blob/master/gitlab-ci-template/presentation.yml)
template](https://git.shore.co.il/nimrod/presentation/-/blob/master/gitlab-ci-template/presentation.yml)
if you wish to build presentation as part of a pipeline.
if you wish to build presentation as part of a pipeline.


Yet another option is using the contained tools instead of installing them in
your system. For that copy the [presentation
script](https://git.shore.co.il/nimrod/presentation/-/blob/master/presentation)
to some in your `PATH` and create symlinks to the script with the name of the
binary you wish to use. For example:

```
curl https://git.shore.co.il/nimrod/presentation/-/blob/master/presentation > ~/.local/bin/presentation
chmod +x ~/.local/bin/presentation
ln -s ~/.local/bin/pandoc presentation
```

In this example when you run `pandoc` it would run it using podman.

## Contains
## Contains


- [Pandoc](http://pandoc.org/)
- [Pandoc](http://pandoc.org/)

presentation

0 → 100755
+22 −0
Original line number Original line Diff line number Diff line
#!/bin/sh
set -eu

basename="$(basename "$0")"

if [ "${1:-}" = '-u' ]
then
    podman image pull registry.shore.co.il/presentation
elif [ "${1:-}" = "-h" ]
then
    echo "USAGE: ${basename} [-d] [-h] [BINARY_NAME] [...]"
# If invoked using presentation, pass the arguments to the podman run command.
elif [ "$basename" = presentation ]
then
    exec podman run --rm --interactive --tty --volume "$PWD:/volume" registry.shore.co.il/presentation "$@"
# Use the system one, if available.
elif command -pv "$basename" > /dev/null
then
    exec "$basename" "$@"
else
    exec podman run --rm --interactive --tty --volume "$PWD:/volume" registry.shore.co.il/presentation "$basename" "$@"
fi