iAdd pptx2md converter. - pointtools - Simple point utilities to hold text presentations. Err bitreich.org 70 hgit clone git://bitreich.org/pointtools/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/pointtools/ URL:git://bitreich.org/pointtools/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/pointtools/ bitreich.org 70 1Log /scm/pointtools/log.gph bitreich.org 70 1Files /scm/pointtools/files.gph bitreich.org 70 1Refs /scm/pointtools/refs.gph bitreich.org 70 1Tags /scm/pointtools/tag bitreich.org 70 1README /scm/pointtools/file/README.md.gph bitreich.org 70 1LICENSE /scm/pointtools/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit e0d87452da86dd8a57838bcaa8b8c817def194b0 /scm/pointtools/commit/e0d87452da86dd8a57838bcaa8b8c817def194b0.gph bitreich.org 70 1parent ad95b9aa5689e07c7febceddbc9db5e8574f2699 /scm/pointtools/commit/ad95b9aa5689e07c7febceddbc9db5e8574f2699.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 13 Jun 2021 14:41:14 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdd pptx2md converter. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 1 + Err bitreich.org 70 i A bin/pptx2md | 55 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i A examples/pptx/example.pptx | 0 Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 56 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/pointtools/file/Makefile.gph bitreich.org 70 i@@ -21,6 +21,7 @@ install: Err bitreich.org 70 i install -m 755 bin/dir2point $(DESTDIR)$(PREFIX)/bin/dir2point Err bitreich.org 70 i install -m 755 bin/md2point $(DESTDIR)$(PREFIX)/bin/md2point Err bitreich.org 70 i install -m 755 bin/point2pdf $(DESTDIR)$(PREFIX)/bin/point2pdf Err bitreich.org 70 i+ install -m 755 bin/pptx2md $(DESTDIR)$(PREFIX)/bin/pptx2md Err bitreich.org 70 i mkdir -p $(DESTDIR)$(MANPREFIX)/man1 Err bitreich.org 70 i install -m 644 md2point.1 $(DESTDIR)$(MANPREFIX)/man1/md2point.1 Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/bin/pptx2md b/bin/pptx2md /scm/pointtools/file/bin/pptx2md.gph bitreich.org 70 i@@ -0,0 +1,55 @@ Err bitreich.org 70 i+#!/bin/sh Err bitreich.org 70 i+# Err bitreich.org 70 i+# See LICENSE for license details. Err bitreich.org 70 i+# Err bitreich.org 70 i+# This is based on: Err bitreich.org 70 i+# https://github.com/revan/pptx2md Err bitreich.org 70 i+# Err bitreich.org 70 i+# The algorithm was simplified to the essence of what the ugly Err bitreich.org 70 i+# pptx format is capable of. Microsoft amateurs are unable to use Err bitreich.org 70 i+# XML properly. Err bitreich.org 70 i+# Err bitreich.org 70 i+# Requires: xml2tsv (git://bitreich.org/xml2tsv) Err bitreich.org 70 i+# Err bitreich.org 70 i+ Err bitreich.org 70 i+if [ $# -lt 1 ]; Err bitreich.org 70 i+then Err bitreich.org 70 i+ printf "usage: %s file.pptx\n" "$(basename "$0")" >&2 Err bitreich.org 70 i+ exit 1 Err bitreich.org 70 i+fi Err bitreich.org 70 i+ Err bitreich.org 70 i+pptxfile="$1" Err bitreich.org 70 i+mdfile="$1.md" Err bitreich.org 70 i+tmpdir="$(mktemp -u)" Err bitreich.org 70 i+ Err bitreich.org 70 i+unzip -oq -d "${tmpdir}" "${pptxfile}" Err bitreich.org 70 i+if [ $? -ne 0 ]; Err bitreich.org 70 i+then Err bitreich.org 70 i+ printf "Failed to extract %s.\n" "${pptxfile}" Err bitreich.org 70 i+ exit 1 Err bitreich.org 70 i+fi Err bitreich.org 70 i+ Err bitreich.org 70 i+for slidefile in ${tmpdir}/ppt/slides/*.xml; Err bitreich.org 70 i+do Err bitreich.org 70 i+ linenum=0 Err bitreich.org 70 i+ cat "${slidefile}" \ Err bitreich.org 70 i+ | xml2tsv 2>/dev/null \ Err bitreich.org 70 i+ | grep a:r/a:t \ Err bitreich.org 70 i+ | cut -s -f 2 \ Err bitreich.org 70 i+ | while read -r line; Err bitreich.org 70 i+ do Err bitreich.org 70 i+ if [ $linenum -eq 0 ]; Err bitreich.org 70 i+ then Err bitreich.org 70 i+ printf "## %s\n" "${line}" >> "${mdfile}" Err bitreich.org 70 i+ else Err bitreich.org 70 i+ printf "%s\n" "${line}" >> "${mdfile}" Err bitreich.org 70 i+ fi Err bitreich.org 70 i+ linenum=1 Err bitreich.org 70 i+ done Err bitreich.org 70 i+ printf "\n" >> "${mdfile}" Err bitreich.org 70 i+done Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+rm -r "$tmpdir" Err bitreich.org 70 i+exit 0 Err bitreich.org 70 i+ Err bitreich.org 70 1diff --git a/examples/pptx/example.pptx b/examples/pptx/example.pptx /scm/pointtools/file/examples/pptx/example.pptx.gph bitreich.org 70 iBinary files differ. Err bitreich.org 70 .