You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
1.8 KiB

5 years ago
# Git Presentation
This is a presentation about Git.
## Build
To build it, you will need make, pdflatex and ansi-to-svg and inkscape.
To build the main pdf, run:
5 years ago
```bash
make main.pdf
```
To build with speaker notes:
```bash
make with-notes.pdf
```
To only build the speaker notes:
```bash
make only-notes.pdf
```
5 years ago
## Auto Images
The build system will generate certain types of graphics for the presentation as part of the build
system. The resultant files will always go in the `auto-images` folder. As a result, this folder is
not under version control.
5 years ago
In latex, all you need to do is
```latex
\includegraphics[<options>]{auto-<type>-<file>}
```
The types are documented below:
### XKCD
What is a presentation without an xkcd comic?
```latex
\includegraphics[<options>]{auto-xkcd-<id>.png}
```
If the above is included in the latex document, the XKCD comic with the specified ID will be
downloaded and embedded in the pdf.
5 years ago
### Shell Output
I am still not aware of aware of a reliable way to include ansi coloured shell output into a latex
document. I also don't want to include loads of high-res screenshots in my Git repo.
5 years ago
The work around I have come up with is to save the raw ansi output to a wile in `shell-output`. This
normally involves forcing an application to output in colour:
5 years ago
```bash
git -c color.status=always status > shell-output/git-status.out
```
```latex
\includegraphics[<options>]{auto-shell-<filename>.pdf}
%E.g.
\includegraphics[<options>]{auto-shell-git-status.pdf}
```
The build system will convert the ansi output into an embeddable PDF that LaTeX will embed.
### Online images
In order to download an image from the internet and embed it in the presentation, you need do
provide the extension and the base64 encoded URL.
```latex
\includegraphics[<options>]{auto-download-<base64 encodede url>.png}
```