Introduction
Introduction Statistics Contact Development Disclaimer Help
pptx2md - pointtools - Simple point utilities to hold text presentations.
git clone git://bitreich.org/pointtools/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfr…
Log
Files
Refs
Tags
README
LICENSE
---
pptx2md (947B)
---
1 #!/bin/sh
2 #
3 # See LICENSE for license details.
4 #
5 # This is based on:
6 # https://github.com/revan/pptx2md
7 #
8 # The algorithm was simplified to the essence of what the ugly
9 # pptx format is capable of. Microsoft amateurs are unable to use
10 # XML properly.
11 #
12 # Requires: xml2tsv (git://bitreich.org/xml2tsv)
13 #
14
15 if [ $# -lt 1 ];
16 then
17 printf "usage: %s file.pptx\n" "$(basename "$0")" >&2
18 exit 1
19 fi
20
21 pptxfile="$1"
22 mdfile="$1.md"
23 tmpdir="$(mktemp -u)"
24
25 unzip -oq -d "${tmpdir}" "${pptxfile}"
26 if [ $? -ne 0 ];
27 then
28 printf "Failed to extract %s.\n" "${pptxfile}"
29 exit 1
30 fi
31
32 for slidefile in ${tmpdir}/ppt/slides/*.xml;
33 do
34 linenum=0
35 cat "${slidefile}" \
36 | xml2tsv 2>/dev/null \
37 | grep a:r/a:t \
38 | cut -s -f 2 \
39 | while read -r line;
40 do
41 if [ $linenum -eq 0 ];
42 then
43 printf "## %s\n" "${line}" >> "${mdfile}"
44 else
45 printf "%s\n" "${line}" >> "${mdfile}"
46 fi
47 linenum=1
48 done
49 printf "\n" >> "${mdfile}"
50 done
51
52
53 rm -r "$tmpdir"
54 exit 0
55
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.