85 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Git Presentation
 | |
| 
 | |
| This is a presentation about Git.
 | |
| 
 | |
| ## Download
 | |
| 
 | |
| If you just want to download a copy of the presentation, you can do so [here](https://git.jonathanh.co.uk/attachments/b2f284a7-d9fe-4dda-b8e4-485d79cdfa6e).
 | |
| 
 | |
| ## Build
 | |
| 
 | |
| To build it, you will need make, pdflatex and ansi-to-svg and inkscape.
 | |
| 
 | |
| To build the main pdf, run:
 | |
| 
 | |
| ```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
 | |
| ```
 | |
| 
 | |
| ## 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.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| ### 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.
 | |
| 
 | |
| 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:
 | |
| 
 | |
| ```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}
 | |
| ```
 | |
| 
 | |
| 
 |