mirror of
https://github.com/RetroPie/RetroPie-Setup.git
synced 2025-04-02 10:51:41 -04:00
* move while loop to choose_page_docsview and avoid rescanning each time * add --default-item with last selection to remember position
86 lines
2.6 KiB
Bash
86 lines
2.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# This file is part of The RetroPie Project
|
|
#
|
|
# The RetroPie Project is the legal property of its developers, whose names are
|
|
# too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
|
|
#
|
|
# See the LICENSE.md file at the top-level directory of this distribution and
|
|
# at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
|
|
#
|
|
|
|
rp_module_id="docsview"
|
|
rp_module_desc="RetroPie-Setup Docs Viewer"
|
|
rp_module_section="config"
|
|
|
|
function depends_docsview() {
|
|
getDepends pandoc lynx
|
|
}
|
|
|
|
function choose_page_docsview() {
|
|
local path="$1"
|
|
local include="$2"
|
|
local exclude="$3"
|
|
local pages=()
|
|
local options=()
|
|
local page
|
|
local i=0
|
|
while read page; do
|
|
page=${page//$path\//}
|
|
pages+=("$page")
|
|
options+=("$i" "$page")
|
|
((i++))
|
|
done < <(find "$path" -type f -regex "$include" ! -regex "$exclude" | sort)
|
|
local default
|
|
local file
|
|
while true; do
|
|
local cmd=(dialog --default-item "$default" --backtitle "$__backtitle" --menu "Which page would you like to view?" 22 76 16)
|
|
local choice=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
|
|
default="$choice"
|
|
if [[ -n "$choice" ]]; then
|
|
file="${pages[choice]}"
|
|
joy2keyStop
|
|
joy2keyStart 0x00 0x00 kich1 kdch1 0x20 0x71
|
|
pandoc "$dir/docs/$file" | lynx -localhost -restrictions=all -stdin >/dev/tty
|
|
joy2keyStop
|
|
joy2keyStart
|
|
else
|
|
break
|
|
fi
|
|
done
|
|
}
|
|
|
|
function gui_docsview() {
|
|
local dir="$rootdir/RetroPie-Docs"
|
|
while true; do
|
|
local cmd=(dialog --backtitle "$__backtitle" --menu "RetroPie-Setup Docs Viewer" 22 76 16)
|
|
local options=()
|
|
if [[ -d "$dir" ]]; then
|
|
options=(
|
|
1 "Update RetroPie-Setup Docs"
|
|
2 "View Pages"
|
|
3 "Remove RetroPie-Setup Docs"
|
|
)
|
|
else
|
|
options+=("1" "Download RetroPie-Setup Docs")
|
|
fi
|
|
local choice=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
|
|
if [[ -n "$choice" ]]; then
|
|
case "$choice" in
|
|
1)
|
|
gitPullOrClone "$dir" "https://github.com/RetroPie/RetroPie-Docs.git"
|
|
;;
|
|
2)
|
|
choose_page_docsview "$dir/docs" ".*.md" ".*_.*"
|
|
;;
|
|
3)
|
|
if [[ -d "$dir" ]]; then
|
|
rm -rf "$dir"
|
|
fi
|
|
;;
|
|
esac
|
|
else
|
|
break
|
|
fi
|
|
done
|
|
}
|