Tool to handle multiple beamer decks.
Project description
deckz
Tool to handle a large number of beamer decks, used by several persons, with shared slides amongst the decks. It is currently not meant to be usable directly by people finding about the package on GitHub. Please open an issue if you want more details or want to discuss this solution.
Installation
With pip
:
pip install deckz
Shell completion installation
See the --show-completion
or --install-completion
options of the deckz
CLI.
Directory Structure
deckz
works with big assumptions on the directory structure of your presentation repository. Among those assumptions:
- your directory should be a git repository
- it should contain a
shared
folder for everything that will be shared by all decks during compilation (images, code snippets, etc) - it should contain jinja2 LaTeX templates in the
templates/jinja2
directory, with a specific name (listed below) - it should contain YAML templates in the
templates/yml
directory, with specific names (listed below) - your deck folders should be contained in an organization/company folder. This is meant to avoid repeating the company details all over the place
- several configuration should be present to customize the decks efficiently (more on that later)
root (git repository)
├── global-config.yml
├── templates
│ ├── jinja2
│ │ ├── main.tex
│ └── yml
│ ├── company-config.yml
│ ├── deck-config.yml
│ ├── global-config.yml
│ └── user-config.yml
├── shared
│ ├── img
│ │ ├── image1.png
│ │ └── image2.jpg
│ ├── code
│ │ ├── snippet1.py
│ │ └── snippet2.js
│ └── latex
│ ├── module1.tex
│ └── module2.tex
├── company1
│ ├── company-config.yml
│ └── deck1
│ ├── session-config.yml
│ ├── deck-config.yml
│ └── targets.yml
└── company2
├── company-config.yml
└── deck2
├── target1
│ └── custom-module.tex
├── deck-config.yml
└── targets.yml
Configuration
deckz
uses small configuration files in several places to avoid repetition.
Configuration merging
The configuration are merged in this order (a value from a configuration on the bottom overrides a value from a configuration on the top):
global-config.yml
user-config.yml
company-config.yml
deck-config.yml
session-config.yml
Using the configuration values in LaTeX files
The values obtained from the merged configurations can be used in LaTeX after a conversion from snake case to camel case: if the configuration contains the key trainer_email
, it will be defined as the \TrainerEmail
command in LaTeX.
Details about specific configurations
Global configuration
The global configuration contains the default values that don't fit at a more specific level.
Example:
presentation_size: 10pt
User configuration
The user configuration contains the values that change when the speaker changes. It is located in the XDG compliant config location. It is $HOME/.config/deckz/user-config.yml
on GNU/Linux for example.
Example:
trainer_activity: Data Scientist
trainer_email: john@doe.me
trainer_name: John Doe
trainer_specialization: NLP, NLU
trainer_training: MSc at UCL
Company configuration
The company configuration contains everything required to brand the presentations according to the represented company.
Example:
company_logo: logo_company
company_logo_height: 1cm
company_name: Company
company_website: https://www.company.com
Deck configuration
The deck configuration contains the title and acronym of the talk.
Example:
deck_acronym: COV19
deck_title: Machine Learning and COVID-19
Session configuration
The session configuration is optional and contains everything that will change from one session of a specific talk to another one.
Example:
session_end: 30/04/2020
session_start: 27/04/2020
Usage
See the --help
flag of the deckz
command line tool.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file deckz-20.3.1.tar.gz
.
File metadata
- Download URL: deckz-20.3.1.tar.gz
- Upload date:
- Size: 29.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.8.18 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3babfa3231706598416fecdf2d634de512aa0b065ad23fd2b728b6b57965392 |
|
MD5 | 0d09761ac606833b7ca79eac02cc28d3 |
|
BLAKE2b-256 | 2257ec695efce26c731dcc9e669fe60b50644677ed19661eedf6f401b9983c1f |
File details
Details for the file deckz-20.3.1-py3-none-any.whl
.
File metadata
- Download URL: deckz-20.3.1-py3-none-any.whl
- Upload date:
- Size: 39.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.8.18 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeb9c0cadcdecc6da23b5921bd9dd78ac97fec544d408dfb999c2ce57c8597c4 |
|
MD5 | f9a478a0cafce3cfb1fd52aff1e7c42e |
|
BLAKE2b-256 | 843c128b269573d0b631c2dc2df5328302129da5c36f37a1ab7e7635d75d5574 |