A helper utility to generate presentations quickly.
- make
- git
- Docker
- Python3
- pip3
- python3-venv
git clone https://github.com/thereisnotime/xxPresentator
cd xxPresentator
- There are several different ways to use xxPresentator:
-
- Makefile
-
- Docker
-
- Python
The Makefile is the easiest way to use xxPresentator.
- It will automatically install all dependencies and run the script.
- It will also automatically clean up after itself.
make presentation ARGS="-arg -arg -arg -arg"
When you are running the Makefile, you can pass arguments to the script by using the ARGS variable. You can specify:
- -c / --content - for generating content;
- -n / --notes - for generating notes;
- -p / --presentation - for generating presentation;
- --prompt "string" - for overriding the default prompt.
A default prompt is used when no prompt is specified.
- Options
xxPresentator - v1.01 - available targets:
help Shows the help menu
run Generates the presentation
presentation Generates the presentation and open it
clean Deletes all artifacts and presentation
build Prepares the base image
1.Build the image:
docker build -t image_name .
- Run the image:
docker run -v "$pwd/output:/output" image_name -arg -arg -arg
- Create a virtual environment:
virtualenv venv
- Activate the virtual environment:
source venv/bin/activate
- Install dependencies:
pip3 install -r requirements.txt
- Run the script:
python3 main.py -arg -arg -arg -arg
You can also run every script individually.
python3 generate_content.py
python3 generate_notes.py
python3 make_presentation.py
The output is a .pptx file with the name "output.pptx" inside the output directory.
Take a look at the input.example.json file to see all the options available.
- Generate the JSON source file (with ChatGPT or any other tool):
TIP: You can use the prompt: "Generate a presentation on the topic of XXX with at least 20 slides following this example JSON input".
- Generate the presentation:
- Output presentation:
- Change template/theme:
TIP: You can import the output presentation in Google and then just apply a nice theme.
And now all you have to do is to style the presentation to your liking.
This is a small tool that I made for myself to generate presentations quickly. I will add more features as I need them. If you have any suggestions, please open an issue
- Add more slide templates.
- Add random variation to the slide layouts.
- Add more text formats.
- Modify Makefile and Dockerfiles for the three different functions.
- Add random image picker/generator for backgrounds and for slides.
- Add pretty first slide with title, author and stylization.
- Add pretty last slide with thanks, author and stylization.
- Add option for footer and header on each slide except first and last.
- Add integration with OpenAI to generate the JSON from a prompt.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. The same goes for suggestions and feature requests.
For more information, please refer to the GNUv3 file.