slide deck presentation tool written in pure bash

Much better docs

Signed-off-by: Anirudh Oppiliappan <x@icyphox.sh>

Changed files
+81 -7
example
+1 -1
Makefile
··· 1 1 PREFIX ?= /usr 2 2 3 3 install: 4 - install -Dm755 pw $(DESTDIR)$(PREFIX)/bin/shlide 4 + install -Dm755 shlide $(DESTDIR)$(PREFIX)/bin/shlide 5 5 6 6 uninstall: 7 7 rm -f $(DESTDIR)$(PREFIX)/bin/shlide
+3 -3
example/1-hi.txt
··· 1 1 HI THERE 2 2 3 - Welcome to ${GRN}shlide${RST}. ${YLW}Here${RST} are a few bullet points: 3 + Welcome to ${GRN}shlide${RST}. ${STR}Here${RST} are a few bullet points: 4 4 5 5 - first point 6 6 - second point 7 - * sub point 8 - * ${RED}another${RST} sub point 7 + * ${ITA}sub point${RST} 8 + * ${BLD}another${RST} sub point
+12
license
··· 1 + 2 + 3 + The MIT License (MIT) 4 + 5 + Copyright (c) Anirudh Oppiliappan <x@icyphox.sh> 6 + 7 + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 + 9 + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 10 + 11 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 +
+54 -1
readme.md
··· 7 7 8 8 - All slides are plain-text files. 9 9 - Navigation using `j` / `k` or `n` / `p` 10 - - [WIP] Colors and bold/italic formatting using terminal escape sequences. 10 + - Colors and bold/italic formatting using terminal escape sequences. 11 11 - Pure bash. 12 + 13 + ## Usage 14 + 15 + Create a directory for your slides. Name each slide starting with 16 + a number and a hyphen, like so: 17 + 18 + ```shell 19 + $ mkdir deck 20 + $ touch deck/1-first-slide.txt 21 + $ touch deck/2-another.txt 22 + 23 + # so on 24 + ``` 25 + 26 + ### Formatting 27 + 28 + Slide content can be formatted like so: 29 + 30 + ```txt 31 + Welcome to ${GRN}shlide${RST}. ${STR}Here${RST} are a few bullet points: 32 + 33 + - first point 34 + - second point 35 + * ${ITA}sub point${RST} 36 + * ${BLD}another${RST} sub point 37 + ``` 38 + 39 + **Note**: Make sure to `${RST}` (reset) at the end. 40 + 41 + A full list of formatting options are below: 42 + 43 + **Colors** 44 + 45 + `BLK` black 46 + `RED` red 47 + `GRN` green 48 + `YLW` yellow 49 + `BLU` blue 50 + `PUR` purple 51 + `CYN` cyan 52 + `RST` reset 53 + 54 + **Styles** 55 + 56 + `BLD` bold 57 + `DIM` dim 58 + `ITA` italics 59 + `UND` underline 60 + `FLS` flashing 61 + `REV` reverse 62 + `INV` invert 63 + `STR` strikethrough 64 +
+11 -2
shlide
··· 3 3 # Usage: shlide path/to/slides/ 4 4 # Each slide is a textfile under path/to/slides 5 5 6 - # Color definitions 7 - 6 + # Color definitions. 8 7 BLK="\e[38;5;30m" 9 8 RED="\e[38;5;31m" 10 9 GRN="\e[38;5;32m" ··· 13 12 PUR="\e[38;5;35m" 14 13 CYN="\e[38;5;36m" 15 14 RST="\e[0m" 15 + 16 + # Other formatting. 17 + BLD="\e[1m" 18 + DIM="\e[2m" 19 + ITA="\e[3m" 20 + UND="\e[4m" 21 + FLS="\e[5m" 22 + REV="\e[7m" 23 + INV="\e[8m" 24 + STR="\e[9m" 16 25 17 26 lines() { 18 27 mapfile -tn 0 lines < "$1"