onPoint
Installation
This program is meant to be used as a git submodule of your actual presentation project, therefore you need to add it:
git submodule add -b release git@path-to-onpoint.git
Make sure to have python3 and pandoc (the same version for all developers!) installed. Next, we can install all requirements:
python3 -m venv venv
source venv/bin/activate
cd onpoint
pip3 install -r requirements.txt
The Project Structure
We recommend you to structure your project directory like this:
├── images
├── layouts
│ ├── default.html
│ ├── root.html
│ └── titlepage.html
├── meta.yml
├── legal.yml
├── onpoint
│ ├── autocompile.sh
│ ├── main.py
│ ├── ….py
│ ├── README.md
│ └── requirements.txt
├── slides
│ ├── chapter1.de.md
│ ├── chapter1.en.md
│ ├── chapter2.de.md
│ └── chapter2.en.md
├── slides.de.html
├── slides.en.html
├── slides.yml
└── styles
└── style.css
onpointis where this program lives.- In
layouts, you can create custom templates for your slides. meta.ymlis there to add language-specific meta information (like title internationalization).legal.ymlcontains links to the privacy policy and imprint that ought to be rendered into the help menu.slides.ymlwill contain a list of all chapters to be included. Their content is expected to live in files inside theslidesfolder.- You can store your usual web resources in the folders
stylesandimages.
Updating onPoint
In order to update the version of onPoint in an existing project, simply enter the onpoint directory and run git pull.
Auto-compile during Development
You might want to have all slides auto-compiled for you on safe. For this case, we wrote a small bash script that spawns a file watcher to compile your presentation once any markdown file in the slides folder is saved. Simply run ./onpoint/autocompile.sh from your project root folder.
You will need Python and inotify-tools to execute the script.
Troubleshooting
Missing packages
Error message (example):
Collecting lxml==5.2.0 (from -r requirements.txt (line 2))
Using cached lxml-5.2.0.tar.gz (3.7 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [4 lines of output]
<string>:67: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
Building lxml version 5.2.0.
Building without Cython.
Error: Please make sure the libxml2 and libxslt development packages are installed.
Make sure to install the following packages:
- Ubuntu:
libxml2-dev,libxslt-dev,python-dev,gcc,pandoc - Fedora:
libxml2-devel,libxslt-devel,python-devel,gcc,pandoc