Updating repo to current version

This commit is contained in:
Gordon Grant-Stuart 2023-07-29 13:10:22 +01:00
parent 3c5ed49d3b
commit e6697be770
13 changed files with 115 additions and 177 deletions

View File

@ -1,25 +1,20 @@
#!/bin/bash
SCRIPT_DIR=$(dirname $(realpath $0))
BG_DIR="${SCRIPT_DIR/\/.Books/}/backgrounds"
while [[ $chosen != 'chosen' ]]; do
clear
echo -e "============================================\033[1;38;5;94m"
ls $BG_DIR
ls $HOME/.Books/backgrounds
echo -e "\033[38;5;95m============================================"
cd $BG_DIR
cd $HOME/.Books/backgrounds
read -e -p " Choose a background:$(echo -e "\033[1;38;5;94m") " bg
if [[ -e "$bg" && "$bg" =~ \.(jpg|jpeg)$ ]]; then
echo
$SCRIPT_DIR/viu "$bg" -w64
$HOME/.Books/viu "$bg" -w64
echo
read -sn1 -p "This one? [Y|n]" yn
if [[ ! ${yn^^} == 'N' ]]; then
rm -f $SCRIPT_DIR/backgrounds/atmo.jpg
ln -s "$(realpath "$bg")" $SCRIPT_DIR/backgrounds/atmo.jpg
rm -f $HOME/.Books/backgrounds/atmo.jpg
ln -s "$(realpath "$bg")" $HOME/.Books/backgrounds/atmo.jpg
chosen='chosen'
fi
echo

View File

@ -10,14 +10,14 @@ darkbrown="\[\033[38;5;95m\]"
export MANUSKRIPT_BIN="$HOME/.Books/manuskript/bin/manuskript"
# export MANUSKRIPT_BIN="manuskript"
alias upload="$HOME/.Books/upload.sh"
alias download="$HOME/.Books/download.sh"
alias write="$HOME/.Books/write.sh"
alias wryte="$HOME/.Books/write.sh"
alias manuskript="$HOME/.Books/write.sh"
alias atmo="$HOME/.Books/atmo.sh"
alias compile="$HOME/.Books/compile.sh"
# alias rollback="$HOME/.Books/rollback.sh"
alias download="$HOME/.Books/download.sh"
alias manuskript="$HOME/.Books/write.sh"
alias rollback="$HOME/.Books/rollback.sh"
alias upload="$HOME/.Books/upload.sh"
alias write="$HOME/.Books/write.sh"
alias wryte="$HOME/.Books/write.sh"
# mkdir -p /tmp/manuskriptbackups
# find /tmp/manuskriptbackups/ -ctime +1 | xargs -I% rm % # remove backups older than a day

View File

@ -1,22 +0,0 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
# PERIOD=10
while [[ ! `pgrep -f "manuskript $1"` ]]; do
sleep 0.5
done
notify-send "Making backups of $1 every $PERIOD seconds."
tick=1
while [[ `pgrep -f "manuskript $1"` ]]; do
sleep 1
if [[ $tick -ge $PERIOD ]]; then
committy "$1"
tick=0
fi
tick=$(( $tick + 1 ))
done
notify-send "No longer making backups of $1."
rm -f $BOOK_DIR/nohup.out

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
BOOK_DIR="$(cat $HOME/.Books/bookdir)"
####### defaults #########
YAML=$SCRIPT_DIR/frontmatter.yml
@ -11,17 +11,29 @@ SCENE_BREAK="\n\n### #\n\n"
LINE_BREAK="\n"
####### options #########
while getopts "hy:edsf:" opt; do
case $opt in
y) YAML=$OPTARG ;;
e) OUTPUT_FORMAT=epub ;;
d) OUTPUT_FORMAT=docx ;;
s) TEMPLATE=md2short.sh ;;
f) OUTPUT_FORMAT=$OPTARG ;;
h) echo "USAGE: compile [-y frontmatter.yml ] [ -e | -d | -f format ] FILE.msk" ;;
while [[ $# -gt 1 ]]; do
case "$1" in
-y) shift; YAML=$1 ;;
-e) OUTPUT_FORMAT=epub ;;
-d) OUTPUT_FORMAT=docx ;;
-s) TEMPLATE=md2short.sh ;;
-f) shift; OUTPUT_FORMAT=$1 ;;
-h) echo "USAGE: compile [-y frontmatter.yml ] [ -e | -d | -f format ] FILE.msk"; exit 0 ;;
esac
shift
done
shift $((OPTIND-1))
# while getopts "hy:edsf:" opt; do
# case $opt in
# y) YAML=$OPTARG ;;
# e) OUTPUT_FORMAT=epub ;;
# d) OUTPUT_FORMAT=docx ;;
# s) TEMPLATE=md2short.sh ;;
# f) OUTPUT_FORMAT=$OPTARG ;;
# h) echo "USAGE: compile [-y frontmatter.yml ] [ -e | -d | -f format ] FILE.msk" ;;
# esac
# done
# shift $((OPTIND-1))
msk=$1
echo -e "*********** compiling *******************\033[19D$msk "
@ -82,7 +94,7 @@ case $OUTPUT_FORMAT in
echo -en "\033[1;38;5;94m"
$SCRIPT_DIR/pandoc-templates/bin/$TEMPLATE --output "$booktitle.$OUTPUT_FORMAT" --overwrite $compiled_md #&> /dev/null
;;
epub)
epub | mobi )
compile
echo -en "\033[1;38;5;94m"
pandoc --from=markdown --to=epub --css=$SCRIPT_DIR/epub.css --output="$booktitle.$OUTPUT_FORMAT" --toc $compiled_md #&> /dev/null

View File

@ -1,9 +1,8 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
BOOK_DIR="$(cat $HOME/.Books/bookdir)"
[[ ! -e $SCRIPT_DIR/initted ]] && $BOOK_DIR/init.sh
[[ ! -e $BOOK_DIR/backgrounds ]] && ln -s "$SCRIPT_DIR/backgrounds" "$BOOK_DIR/backgrounds"
[[ ! -e $HOME/.Books/initted ]] && $BOOK_DIR/init.sh
[[ ! -e $BOOK_DIR/backgrounds ]] && ln -s "$HOME/.Books/backgrounds" "$BOOK_DIR/backgrounds"
cd $BOOK_DIR && git pull

View File

@ -1,5 +0,0 @@
download
upload
compile
atmo
wryte

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
[[ ! -e $SCRIPT_DIR/.Books/initted ]] && $SCRIPT_DIR/init.sh
[[ ! -e $SCRIPT_DIR/backgrounds ]] && ln -s "$SCRIPT_DIR/.Books/backgrounds" "$SCRIPT_DIR/backgrounds"
cd $SCRIPT_DIR && git pull
mv -f $SCRIPT_DIR/*.msk $SCRIPT_DIR/.Books/backup/
for dir in $SCRIPT_DIR/.Books/unpacked/*; do
TITLE=${dir##*/}
cd "$SCRIPT_DIR/.Books/unpacked/$TITLE" && zip -qu -9 -r "$SCRIPT_DIR/$TITLE.msk" *
done

View File

@ -1,28 +1,48 @@
#!/usr/bin/env bash
# check args
SCRIPT_DIR=$(dirname $(realpath $0))
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
BOOK_DIR="$(cat $HOME/.Books/bookdir)"
if [[ $# -eq 2 && -e $1 && $2 =~ [0-9]+ ]]; then
# ls -1 /tmp/manuskriptbackups/ | wc -l
rollto=$(find /tmp/manuskriptbackups/ -name "*$1.*" -cmin +$2 | sort | tail -n1)
if [[ -n $rollto ]]; then
if [[ `pgrep -f "manuskript $1"` ]]; then
echo $1 is still open in Manuskript
else
mv $BOOK_DIR/$1 $BOOK_DIR/$1.$(date +"%Y-%m-%d_%H:%M:%S")
mv $rollto $BOOK_DIR/$1
echo $1 rolled back to $rollto
fi
else
echo There is no backup of $1 from more than $2 minutes ago.
fi
else
echo
echo "USAGE : rollback FILE N"
echo
echo " FILE : .msk file"
echo " N : minutes to roll back"
echo
lb=$(echo -e '\033[38;5;94m')
db=$(echo -e '\033[38;5;95m')
blank=$(echo -e '\033[0m')
bold=$(echo -e '\033[1m')
#check if any instances of write.sh FORKED or manuskript are running first
if (ps -ef | grep -v grep | grep manuskript &>/dev/null); then
echo "You need to exit Manuskript before you roll back."
exit 1
fi
pkill -f "write.sh FORKED"
cd $BOOK_DIR
if ! (git log --oneline | grep -n autosave | grep -v HEAD &>/dev/null); then
echo "Nothing to roll back to."
exit
fi
echo "==============================================="
now=$(date +%s)
git log --oneline | grep -n autosave | grep -v HEAD | head -n 10 | while read line; do
ln=${line%%:*}
savetime=$(date -d "$(echo $line | awk '{print $2 " " $3}')" +%s)
ago=$(( (now - savetime) / 60 ))
echo "${bold}${lb}${ln}${blank}@${db}$(date -d @$savetime +'%a %d %b %H:%M:%S')${blank}@${lb}${ago} minutes ago"
done | column -s@ -t --table-columns Save,Time, --table-right Save
echo $db
read -ep " Choose a save to roll back to: $lb" saveno
echo
ddate=$(git log --oneline | grep -n --color=always autosave | grep --color=always -v HEAD | head -n $saveno | tail -n1 | awk '{print $2 " " $3}' | xargs -I@ date -d '@')
read -sn1 -p "$db Restore save from${lb} ${ddate}${db}? [y|N]" yn
if [ ${yn,,} == 'y' ]; then
savecommit=$(git log --oneline | grep -n autosave | grep -v HEAD | head -n $saveno | tail -n1 | sed -E 's/[0-9]*:([0-9a-f]*) .*/\1/')
echo
echo
git reset --hard $savecommit &>/dev/null
echo " Rolled back to $ddate."
fi
echo

View File

@ -1,13 +0,0 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
for msk in *.msk; do
TITLE="${msk%.msk}"
rm -rf "$SCRIPT_DIR/.Books/unpacked/$TITLE"
unzip -qou "$msk" -d "$SCRIPT_DIR/.Books/unpacked/$TITLE"
done
cd $SCRIPT_DIR && git add .
git commit -m "Saved at $(date)"
git push

View File

@ -1,12 +1,16 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
BOOK_DIR="$(cat $HOME/.Books/bookdir)"
cd $BOOK_DIR
cd $BOOK_DIR && git add .
git commit -m "Saved at $(date) from $(hostname)"
git push #&& find /tmp/manuskriptbackups/ -cmin +60 | xargs -I% rm -f %
if [[ -e "$SCRIPT_DIR/local.d/postupload.sh" ]]; then
$SCRIPT_DIR/local.d/postupload.sh
git add .
if (git log --oneline | grep autosave &>/dev/null); then # autosaves exist
firstautosavecommit=$(git log --oneline | grep autosave | tail -n1 | cut -d\ -f1)
git reset --soft ${firstautosavecommit}~1
fi
git commit -m "Uploaded at $(date) from $(hostname)"
git push
if [[ -e "$HOME/.Books/local.d/postupload.sh" ]]; then
$HOME/.Books/local.d/postupload.sh
fi

View File

@ -1,36 +0,0 @@
#!/usr/bin/env bash
SCRIPT_DIR=$(dirname $(realpath $0))
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
# PERIOD=10
mds() {
md5sum "$1" | awk '{print $1}'
}
savey() {
newhash=$(mds "$1")
if [[ ! $newhash == $hash ]]; then
cp "$1" "/tmp/manuskriptbackups/$1.$(date +"%Y-%m-%d_%H:%M:%S")"
hash=$newhash
fi
}
while [[ ! `pgrep -f "manuskript $1"` ]]; do
sleep 0.5
done
notify-send "Making backups of $1 every $PERIOD seconds."
tick=1
hash=$(mds "$1")
while [[ `pgrep -f "manuskript $1"` ]]; do
sleep 1
if [[ $tick -ge $PERIOD ]]; then
savey "$1"
tick=0
fi
tick=$(( $tick + 1 ))
done
notify-send "No longer making backups of $1."
rm -f $BOOK_DIR/nohup.out

View File

@ -1,30 +1,23 @@
#!/usr/bin/env bash
# SCRIPT_DIR=$(dirname $(realpath $0))
# BOOK_DIR=${SCRIPT_DIR/\/.Books/}
BOOK_DIR="$(cat $HOME/.Books/bookdir)"
# PERIOD=10
if [[ $1 == 'FORKED' ]]; then
sleep 60
while (ps -ef | grep -v grep | grep manuskript &>/dev/null); do
cd $BOOK_DIR
git add .
git commit -m "$(date +'%Y-%m-%d %H:%M:%S') autosave."
sleep 60
done
exit
fi
# bronch() {
# screen -d -m nohup $MANUSKRIPT_BIN "$1" &
# screen -d -m nohup $SCRIPT_DIR/branchy.sh "$1" &
# }
if (ps -ef | grep -v grep | grep manuskript &>/dev/null); then
echo "Manuskript is already running."
exit
fi
# worch() {
# screen -d -m nohup $MANUSKRIPT_BIN "$1" &
# screen -d -m nohup $SCRIPT_DIR/watchy.sh "$1" &
# }
# if [[ -f "$1" && -d "${1/.msk/}" ]]; then
# bronch "$1"
# elif [[ -d "$1" && -f "$1.msk" ]]; then
# bronch "$1.msk"
# fi
# if [[ -e "$1" && $(cat $1 | wc -c) -gt 10 ]]; then
# bronch "$1"
# else
# screen -d -m nohup $MANUSKRIPT_BIN &
# fi
screen -d -m nohup $MANUSKRIPT_BIN &>/dev/null &
screen -d -m nohup $MANUSKRIPT_BIN &>/dev/null &
screen -d -m nohup $0 FORKED &>/dev/null &

View File

@ -104,5 +104,10 @@ if [[ $(echo $rou | egrep -c [^:]*:[^@]*@ ) -eq 0 ]]; then
#sed -i "s/https:\/\/git.grant-stuart.com/https:\/\/gordon:$answer@git.grant-stuart.com/g; s/https:\/\/git.grant-stuart.com/\&/g" $SCRIPT_DIR/.git/config
fi
echo -e "$lightbrown Edit your Author details."
echo -e "$darkbrown Press any key to begin."
read -n1
nano $HOME/.Books/frontmatter.yml || vi $HOME/.Books/frontmatter.yml
# sed -i "s%WIBBLE%$SCRIPT_DIR%g" $HOME/.Books/booksenv.sh
touch $HOME/.Books/initted