From d8d1c0f6f5188782aa3f8b255ea72330a6ec5889 Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Sat, 7 Oct 2023 00:25:50 +0300 Subject: [PATCH] Add the presentation script and documentation. --- README.md | 25 +++++++++++++++++++------ presentation | 22 ++++++++++++++++++++++ 2 files changed, 41 insertions(+), 6 deletions(-) create mode 100755 presentation diff --git a/README.md b/README.md index c053aa8..11c486d 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,15 @@ [](https://git.shore.co.il/nimrod/presentation/-/commits/master) -A Dockerized presentation toolkit for building presentation from markup (like -Markdown or DOT). +A containerized presentation toolkit for building presentations from markup +(like Markdown or DOT). ## 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 -add a shell alias -`alias presentation='docker run --rm -itv ג€$PWD:/volumeג€ registry.shore.co.il/presentation'` for easier use. +Will watch the current directory and run `make` whenever a file changes +(replace `podman` with `docker` if that's what you're using). 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). @@ -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) 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 - [Pandoc](http://pandoc.org/) diff --git a/presentation b/presentation new file mode 100755 index 0000000..3694353 --- /dev/null +++ b/presentation @@ -0,0 +1,22 @@ +#!/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 -- GitLab