diff --git a/dots/bash/.bashrc b/dots/bash/.bashrc index 6cb6c35..8a275a6 100644 --- a/dots/bash/.bashrc +++ b/dots/bash/.bashrc @@ -2,82 +2,27 @@ # ~/.bashrc :: by frode klevstul # - -# --- -# special stuff -# --- - -# If not running interactively, don't do anything +# if not running interactively, don't do anything [[ $- != *i* ]] && return + +# --- +# shell integrations +# --- + # https://github.com/gsamokovarov/jump eval "$(jump shell --bind=j)" # https://github.com/ajeetdsouza/zoxide eval "$(zoxide init bash)" -# --- -# environment variables -# --- -# see `dots/environment/environment` - # --- -# miscellaneous aliases +# prompt # --- -alias azurevpnclient="/opt/microsoft/microsoft-azurevpnclient/microsoft-azurevpnclient" -alias biggestfiles="find ~ -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 20" -alias cp="cp -i" # confirm before overwriting something -alias ct="sudo ct" -alias decrypt="gpg --decrypt" -alias df='df -h' # human-readable sizes -alias diskusage="ncdu -x" -alias dragon="dragon-drop --and-exit --all --print-path" -alias du="du --summarize --human-readable" -alias dus="du --summarize --human-readable * | sort -h" -alias encrypt="gpg --encrypt --sign --recipient frode@klevstul.com" -alias extract="extract.sh" -alias gparted="sudo gparted" -alias grep='grep --color=auto' -alias hyprRld="hyprctl reload" -alias hyprUpd="ct d h && hyprRld" -alias ipadr='ip -br a' -alias ipcam="ffplay rtsp://192.168.31.220:554/1" -alias ipify='http https://api.ipify.org?format=json' -alias journal='journalctl --since "1 hour ago"' -alias keyringreset="trash-put /home/poq/.local/share/keyrings/*.keyrings" -alias ls='ls --color=auto' -alias myip="echo $(wget http://ipinfo.io/ip -qO -)" -alias neofetch='fastfetch' -alias quantumfix="pw-metadata -n settings 0 clock.force-quantum 1024" -alias sb="unalias -a; source ~/.bashrc" -alias sbr="unalias -a; source /home/poq/syncDir/repos/git/gi.op.fo/lnx-arch/dots/bash/.bashrc" # source bash (from) repo -alias sizeInBytes="stat -c %s" -alias ssh_weba_r="ssh -v -t root@weba -p 1808 'export TERM=xterm; cd /tmp; bash -l'" # 'weba' is configured in 'dots/ssh/config' -alias ssh_weba_u="ssh -v -t usr@weba -p 1808 'export TERM=xterm; cd /tmp; bash -l'" -alias ssh="ssh -v" -alias tp-empty="trash-empty && gio trash --empty" -alias tp-list="tree ~/.local/share/Trash/" -alias tp-restore="trash-restore" -alias tp="tp.sh" -alias trash-empty="trash-empty && gio trash --empty" -alias tree="tree --du -h" - -# app images -alias pgmodeler2="/home/poq/syncDir/swas/portableApps/pgmodeler_plus-2*" -alias pgmodeler="/home/poq/syncDir/swas/portableApps/pgmodeler_plus-1*" - - -# --- -# terminal -# --- - -# x terminal shell start string | https://askubuntu.com/questions/1340319/ps1-string-full-documentation-and-reference-page # https://bash-prompt-generator.org/ -# https://askubuntu.com/questions/193416/adding-timestamps-to-terminal-prompts PS1='\[⚙\][\D{%y%m%d%H%M}|\u@\h|\w]\$ ' -#PS1='\[\e[01;32m\]\u@\h \[\e[01;34m\]\w\[\e[00m\]\$ ' # change the window title of x terminals case ${TERM} in @@ -91,159 +36,115 @@ esac # --- -# lf & superfile +# environment variables # --- - -# lf (change directory on quit) -# --- -lf() { - local tmp=$(mktemp) - command foot lf -last-dir-path="$tmp" "$@" &>/dev/null & - if [[ -f "$tmp" ]]; then - local dir=$(cat "$tmp") - rm -f "$tmp" - if [[ -d "$dir" && "$dir" != "$(pwd)" ]]; then - cd "$dir" - fi - fi -} - -# superfile (change directory on quit) -# --- -spf() { - os=$(uname -s) - - # Linux - if [[ "$os" == "Linux" ]]; then - export SPF_LAST_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/superfile/lastdir" - fi - - command spf "$@" - - [ ! -f "$SPF_LAST_DIR" ] || { - . "$SPF_LAST_DIR" - rm -f -- "$SPF_LAST_DIR" > /dev/null - } -} +# see `dots/environment/environment` # --- -# misc +# aliases : system # --- -# recursively zip everything in current directory, name the zip file $1, and exclude (-x) itself from the zip process -zipr() { - zip -r $1 . -x $1 -} +alias cp="cp -i" # confirm before overwriting something +alias df='df -h' # human-readable sizes +alias du="du --summarize --human-readable" +alias dus="du --summarize --human-readable * | sort -h" +alias grep='grep --color=auto' +alias ls='ls --color=auto' +alias tree="tree --du -h" -generate_password() { - local length=30 - local chars='A-Za-z0-9!@#$%^&*()_+[]{}|;:,.<>?' - tr -dc "$chars" < /dev/urandom | head -c $length - echo -} - -randoms() { - echo "----------" - - ranwrd1=$(shuf -n 1 /usr/share/dict/cracklib-small) - ranwrd1="${ranwrd1//[^[:alpha:]]/}" - ranwrd2=$(shuf -n 1 /usr/share/dict/cracklib-small) - ranwrd2="${ranwrd2//[^[:alpha:]]/}" - rancmd=$(compgen -ac | shuf -n 1) - randnum=$(( 1000 + SRANDOM % 9000 )) - randalp=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 10) - - echo "w1: ${ranwrd1} | w2: ${ranwrd2} | c: ${rancmd} | n: ${randnum} | a: ${randalp}" - - randstr0="${randnum} ${ranwrd1} ${ranwrd2} ${rancmd} ${randalp}" - randstr1="${randnum}_${ranwrd1}_${ranwrd2}_${rancmd}_${randalp}" - randstr2="${randnum}${ranwrd1}${ranwrd2}${rancmd//[^[:alpha:]]/}${randalp}" - randstr3=$(generate_password) - - echo "s0: ${randstr0}" - echo "s1: ${randstr1}" - echo "s2: ${randstr2}" - echo "s3: ${randstr3}" - - echo "----------" -} - -quick_hours() { - local location=$1 - local balance=$2 - local worked=$3 - - local target=450 # 7:30 in minutes - - # parse worked HH:MM into minutes - local hours minutes worked_minutes - hours="${worked%%:*}" - minutes="${worked##*:}" - worked_minutes=$(( 10#$hours * 60 + 10#$minutes )) - - # calculate new balance - local new_balance=$(( balance + worked_minutes - target )) - - # format output - echo "[@${location} ${new_balance}]" -} # --- -# mounting +# aliases : files & disk +# --- + +alias biggestfiles="find ~ -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 20" +alias diskusage="ncdu -x" +alias dragon="dragon-drop --and-exit --all --print-path" +alias extract="extract.sh" +alias sizeInBytes="stat -c %s" +alias zipr='zip -r "$1" . -x "$1"' + + +# --- +# aliases : trash +# --- + +alias tp="tp.sh" +alias tp-empty="trash-put /dev/null; trash-empty; gio trash --empty" # fixed: was recursive +alias tp-list="tree ~/.local/share/Trash/" +alias tp-restore="trash-restore" + + +# --- +# aliases : networking +# --- + +alias ipadr='ip -br a' +alias ipify='http https://api.ipify.org?format=json' +alias journal='journalctl --since "1 hour ago"' +alias ssh="ssh -v" +alias ssh_weba_r="ssh -t root@weba -p 1808 'export TERM=xterm; cd /tmp; bash -l'" +alias ssh_weba_u="ssh -t usr@weba -p 1808 'export TERM=xterm; cd /tmp; bash -l'" + + +# --- +# aliases : applications +# --- + +alias azurevpnclient="/opt/microsoft/microsoft-azurevpnclient/microsoft-azurevpnclient" +alias ct="sudo ct" +alias decrypt="gpg --decrypt" +alias dragon="dragon-drop --and-exit --all --print-path" +alias encrypt="gpg --encrypt --sign --recipient frode@klevstul.com" +alias gparted="sudo gparted" +alias ipcam="ffplay rtsp://192.168.31.220:554/1" +alias keyringreset="trash-put /home/poq/.local/share/keyrings/*.keyrings" +alias neofetch='fastfetch' +alias quantumfix="pw-metadata -n settings 0 clock.force-quantum 1024" + + +# --- +# aliases : hyprland +# --- + +alias hyprRld="hyprctl reload" +alias hyprUpd="sudo ct d h && hyprRld" + + +# --- +# aliases : app images +# --- + +alias pgmodeler="/home/poq/syncDir/swas/portableApps/pgmodeler_plus-1*" +alias pgmodeler2="/home/poq/syncDir/swas/portableApps/pgmodeler_plus-2*" + + +# --- +# aliases : bash +# --- + +alias sb="unalias -a; source ~/.bashrc" +alias sbr="unalias -a; source /home/poq/syncDir/repos/git/gi.op.fo/lnx-arch/dots/bash/.bashrc" + + +# --- +# aliases : nas mounting # --- alias nas-mount="nas mount 192.168.31.77" alias nas-umount="nas umount" -nas() { - if [[ ! -e "/mnt/nas" ]] ; then - sudo mkdir -p "/mnt/nas" - sudo mkdir -p "/mnt/nas-fam" - elif [[ ! -d "/mnt/nas" ]] || [[ ! -d "/mnt/nas-fam" ]] ; then - echo "'/mnt/nas' and/or '/mnt/nas-fam' exist, but is not a directory" 1>&2 - fi - if [[ -n $1 ]] ; then - if [[ $1 == "umount" ]] || [[ $1 == "unmount" ]] ; then - echo "umount /mnt/nas & /mnt/nas-fam" - sudo umount -l /mnt/nas - sudo umount -l /mnt/nas-fam - elif [[ $1 == "mount" ]] && [[ -n $2 ]]; then - echo "mount /mnt/nas & /mnt/nas-fam" - sudo mount -t cifs -o credentials=/home/poq/syncDir/secrets/nas/lillesorteboks.txt,iocharset=utf8,noperm //$2/fro /mnt/nas - sudo mount -t cifs -o credentials=/home/poq/syncDir/secrets/nas/lillesorteboks.txt,iocharset=utf8,noperm //$2/fam /mnt/nas-fam - tree -L 2 /mnt/nas - tree -L 2 /mnt/nas-fam - else - echo "missing the ip when doing a mount? or, just trying a weird command? try: 'nas {mount,umount} {ip?}'" - fi - else - echo "sry, bud! try: 'nas {mount,umount} {ip?}'" - fi +# --- +# functions : networking +# --- + +myip() { + wget http://ipinfo.io/ip -qO - + echo } - -# --- -# multimedia -# --- - -# https://itsfoss.com/compress-pdf-linux/ -pdfCompress() { - gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook \ - -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$1.compressed.pdf $1 -} - -# https://stackoverflow.com/questions/8933053/check-duration-of-audio-files-on-the-command-line -lengthInSeconds() { - ffprobe -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $1 2>/dev/null -} - - -# --- -# networking -# --- - nmrestart() { systemctl restart NetworkManager systemctl status NetworkManager @@ -251,140 +152,265 @@ nmrestart() { # --- -# rotate +# functions : file managers # --- -# https://boulderappsco.postach.io/post/convert-decimal-to-base-36-alpha-numeric-in-bash-linux -function decimal_to_base36(){ - BASE36=($(echo {0..9} {A..Z})); - arg1=$@; - for i in $(bc <<< "obase=36; $arg1"); do - echo -n ${BASE36[$(( 10#$i ))]} - done && echo +# lf (change directory on quit) +lf() { + local tmp + tmp=$(mktemp) + command lf -last-dir-path="$tmp" "$@" + if [[ -f "$tmp" ]]; then + local dir + dir=$(cat "$tmp") + rm -f "$tmp" + if [[ -d "$dir" && "$dir" != "$(pwd)" ]]; then + cd "$dir" + fi + fi +} + +# superfile (change directory on quit) +spf() { + local SPF_LAST_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/superfile/lastdir" + command spf "$@" + if [[ -f "$SPF_LAST_DIR" ]]; then + source "$SPF_LAST_DIR" + rm -f "$SPF_LAST_DIR" + fi +} + + +# --- +# functions : nas +# --- + +nas() { + if [[ ! -e "/mnt/nas" ]]; then + sudo mkdir -p "/mnt/nas" "/mnt/nas-fam" + elif [[ ! -d "/mnt/nas" ]] || [[ ! -d "/mnt/nas-fam" ]]; then + echo "'/mnt/nas' and/or '/mnt/nas-fam' exist, but is not a directory" >&2 + return 1 + fi + + case "$1" in + umount|unmount) + echo "umount /mnt/nas & /mnt/nas-fam" + sudo umount -l /mnt/nas + sudo umount -l /mnt/nas-fam + ;; + mount) + if [[ -z "$2" ]]; then + echo "missing ip address. try: 'nas mount '" >&2 + return 1 + fi + echo "mount /mnt/nas & /mnt/nas-fam" + local creds=/home/poq/syncDir/secrets/nas/lillesorteboks.txt + local opts="credentials=${creds},iocharset=utf8,noperm" + sudo mount -t cifs -o "$opts" "//$2/fro" /mnt/nas + sudo mount -t cifs -o "$opts" "//$2/fam" /mnt/nas-fam + tree -L 2 /mnt/nas + tree -L 2 /mnt/nas-fam + ;; + *) + echo "usage: nas {mount |umount}" >&2 + return 1 + ;; + esac +} + + +# --- +# functions : multimedia +# --- + +# https://itsfoss.com/compress-pdf-linux/ +pdfCompress() { + gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook \ + -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$1.compressed.pdf" "$1" +} + +# https://stackoverflow.com/questions/8933053/check-duration-of-audio-files-on-the-command-line +lengthInSeconds() { + ffprobe -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$1" 2>/dev/null +} + + +# --- +# functions : misc +# --- + +generate_password() { + local length=30 + local chars='A-Za-z0-9!@#$%^&*()_+[]{}|;:,.<>?' + tr -dc "$chars" < /dev/urandom | head -c "$length" + echo +} + +randoms() { + echo "----------" + + local ranwrd1 ranwrd2 rancmd randnum randalp + ranwrd1=$(shuf -n 1 /usr/share/dict/cracklib-small) + ranwrd1="${ranwrd1//[^[:alpha:]]/}" + ranwrd2=$(shuf -n 1 /usr/share/dict/cracklib-small) + ranwrd2="${ranwrd2//[^[:alpha:]]/}" + rancmd=$(compgen -ac | shuf -n 1) + randnum=$(( 1000 + SRANDOM % 9000 )) + randalp=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 10) + + echo "w1: ${ranwrd1} | w2: ${ranwrd2} | c: ${rancmd} | n: ${randnum} | a: ${randalp}" + echo "s0: ${randnum} ${ranwrd1} ${ranwrd2} ${rancmd} ${randalp}" + echo "s1: ${randnum}_${ranwrd1}_${ranwrd2}_${rancmd}_${randalp}" + echo "s2: ${randnum}${ranwrd1}${ranwrd2}${rancmd//[^[:alpha:]]/}${randalp}" + echo "s3: $(generate_password)" + + echo "----------" +} + +quick_hours() { + local location=$1 + local balance=$2 + local worked=$3 + local target=450 # 7:30 in minutes + + local hours minutes worked_minutes + hours="${worked%%:*}" + minutes="${worked##*:}" + worked_minutes=$(( 10#$hours * 60 + 10#$minutes )) + + local new_balance=$(( balance + worked_minutes - target )) + echo "[@${location} ${new_balance}]" +} + + +# --- +# functions : searching +# --- + +# find a file (faf) +faf() { + local path="${2:-.}" + find "$path" -type f -iname "$1" 2>/dev/null +} + +# find in file (fif) +# https://stackoverflow.com/questions/16956810/find-all-files-containing-a-specific-text-string-on-linux +fif() { + local path="${2:-.}" + grep -rnw "$path" -e "$1" 2>/dev/null +} + + +# --- +# functions : rotate / encode +# --- + +decimal_to_base36() { + local BASE36=($(echo {0..9} {A..Z})) + for i in $(bc <<< "obase=36; $1"); do + echo -n "${BASE36[$(( 10#$i ))]}" + done + echo } -# loops every 36, so that 36 becomes 1, etc decimal_to_base36_wrap() { - local n=$(( $1 % 36 )) - decimal_to_base36 $n + decimal_to_base36 $(( $1 % 36 )) } rot() { local shift=$1 local text=$2 local alpha=abcdefghijklmnopqrstuvwxyz - local n if [[ -z $shift || -z $text ]]; then - echo "Usage: rot " + echo "usage: rot " return 1 fi - # Normalize shift to 0-25 - n=$(( (shift % 26 + 26) % 26 )) - - # Generate rotated alphabet + local n=$(( (shift % 26 + 26) % 26 )) local rotated="${alpha:n}${alpha:0:n}" - echo "$text" | tr "a-z" "$rotated" } rotl() { - if [[ -n $1 ]] ; then - size=${#1} + local input=$1 + if [[ -z "$input" ]]; then return 1; fi - if [[ "$size" > 25 ]] && [[ "$size" < 51 ]] ; then - echo "reduce size by 25" - size=$((size - 25)) - fi - - # if there is a second argument, only the rotation will be printed - if [[ -n $2 ]] ; then - rot $size $1 - else - # https://stackoverflow.com/questions/20871534/concatenate-in-bash-the-output-of-two-commands-without-newline-character - { echo "rot +$size: "; rot $size $1; } | tr "\n" " " - echo - { echo "rot -$size: "; rot -$size $1; } | tr "\n" " " - echo - fi + local size=${#input} + if (( size > 25 && size < 51 )); then # fixed: was string comparison + size=$(( size - 25 )) + fi + if [[ -n $2 ]]; then + rot "$size" "$input" + else + { echo "rot +$size: "; rot "$size" "$input"; } | tr "\n" " " + echo + { echo "rot -$size: "; rot "-$size" "$input"; } | tr "\n" " " + echo fi } rote() { - input="${1//./}" - rote36rotl "$input" + local input="${1//./}" + _rote_encode "$input" } -rote36rotl() { - if [[ -n $1 ]] ; then +_rote_encode() { + local input=$1 + if [[ -z "$input" ]]; then return 1; fi - # datestamp as base 36 - datestamp=$(date +%y%m%d)_ + local year month day + year=$(decimal_to_base36_wrap "$(date +%y)") + month=$(decimal_to_base36 "$(date +%m)") + day=$(decimal_to_base36 "$(date +%d)") - year=$(decimal_to_base36_wrap $(date +%y)) - month=$(decimal_to_base36 $(date +%m)) - day=$(decimal_to_base36 $(date +%d)) + local datestamp + datestamp=$(echo "${year}${month}${day}_" | tr '[A-Z]' '[a-z]') - datestamp=${year}${month}${day}_ - datestamp=`echo "${datestamp}" | tr '[A-Z]' '[a-z]'` + local rotl_result + rotl_result=$(rotl "$input" 0) - # the last part as: rotate the length (if string is 5 long rotate 5, if length is 6 rotate 6, etc) - rotl=$(rotl $1 0) - emailaddress=$datestamp$rotl"@reduxmail.com" - echo $emailaddress - - fi + echo "${datestamp}${rotl_result}@reduxmail.com" } -# claud ai drote() { local email="$1" - - # Strip @reduxmail.com local local_part="${email%@reduxmail.com}" - - # Split on _ → datestamp and encoded parts local ds="${local_part%%_*}" local encoded="${local_part#*_}" - # --- Base36 char to decimal --- _b36_to_dec() { - local c="${1,,}" # lowercase + local c="${1,,}" if [[ "$c" =~ [0-9] ]]; then echo "$c" else - # a=10, b=11, ... z=35 - # ASCII of a is 97; 97 - 87 = 10 ✓ printf "%d" $(( $(printf '%d' "'$c") - 87 )) fi } - # --- Decode datestamp (3 base36 chars → YYMMDD) --- - local yy mm dd yymmdd + local yy mm dd yy=$(_b36_to_dec "${ds:0:1}") mm=$(_b36_to_dec "${ds:1:1}") dd=$(_b36_to_dec "${ds:2:1}") + local yymmdd yymmdd=$(printf "%02d%02d%02d" "$yy" "$mm" "$dd") - # --- Reverse the rot cipher in pure bash --- local size=${#encoded} if (( size > 25 && size < 51 )); then size=$(( size - 25 )) fi local shift=$(( size % 26 )) - local decoded="" i c ascii base rotated + local decoded="" i c ascii rotated for (( i = 0; i < ${#encoded}; i++ )); do c="${encoded:$i:1}" ascii=$(printf '%d' "'$c") if (( ascii >= 97 && ascii <= 122 )); then - # lowercase: base = 97 rotated=$(( (ascii - 97 - shift + 26) % 26 + 97 )) decoded+=$(printf "\\$(printf '%03o' "$rotated")") elif (( ascii >= 65 && ascii <= 90 )); then - # uppercase: base = 65 rotated=$(( (ascii - 65 - shift + 26) % 26 + 65 )) decoded+=$(printf "\\$(printf '%03o' "$rotated")") else @@ -395,36 +421,74 @@ drote() { echo "$yymmdd: $decoded" } + # --- -# searching +# functions : web / jongleur # --- -# find a file (faf) -faf() { - path="." - if [[ -n $2 ]]; then - path=$2 - fi - find ${path} -type f -iname ${1} 2>/dev/null +_jongleur_base=/home/poq/syncDir/repos/git/gi.op.fo +_jongleur_deploy_user=usr@178.156.192.201 + +jongleur-activate() { + cd /home/poq/syncDir/repos/git/gitlab.com/jongleur/src + source venv/bin/activate } -# find in file (fif) | https://stackoverflow.com/questions/16956810/find-all-files-containing-a-specific-text-string-on-linux -fif() { - path="." - if [[ -n $2 ]]; then - path=$2 - fi - grep -rnw ${path} -e ${1} 2>/dev/null +_jongleur_site() { + local site=$1 + local action=$2 + local base="$_jongleur_base/${site}" + + case "$action" in + build) + jongleur-activate + "${base}/jongleur/run.sh" + deactivate + cd /home/poq/syncDir/0_downloads + ;; + build-all) + jongleur-activate + "${base}/jongleur/runAll.sh" + deactivate + cd /home/poq/syncDir/0_downloads + ;; + deploy) + rsync -v -a --progress --stats --delete-delay \ + -e 'ssh -p 1808' \ + "${base}/jongleur/html_export/" \ + "${_jongleur_deploy_user}:/var/www/${site}/jongleur/" + ;; + *) + echo "usage: -{build|build-all|deploy}" >&2 + return 1 + ;; + esac } +# site shortcuts +for _site in ajp.fm antijanteboka.com antijantemiriam.com billgoats.com curious.art curiouscreators.com frodr.com klevstul.com; do + eval "${_site//./_}-build() { _jongleur_site '${_site}' build; }" + eval "${_site//./_}-build-all() { _jongleur_site '${_site}' build-all; }" + eval "alias ${_site}-build=\"${_site//./_}-build\"" + eval "alias ${_site}-build-all=\"${_site//./_}-build-all\"" + eval "alias ${_site}-deploy=\"rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' ${_jongleur_base}/${_site}/jongleur/html_export/ ${_jongleur_deploy_user}:/var/www/${_site}/jongleur/\"" +done +unset _site -# --- -# web++ -# --- +# special case: klevstul.com deploys to weba +alias klevstul.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' ${_jongleur_base}/klevstul.com/jongleur/html_export/ usr@weba:/var/www/klevstul.com/jongleur/" + +# misc website deploys +alias 00101111.xyz-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/00101111.xyz/www/ usr@weba:/var/www/00101111.xyz/" +alias factor.red-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/mini-websites/factor.red/ usr@weba:/var/www/factor.red/" +alias op.fo-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/mini-websites/op.fo/ usr@weba:/var/www/op.fo/" +alias wa.fo-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/mini-websites/wa.fo/ usr@weba:/var/www/wa.fo/" -# ajp related # --- +# functions : ajp / podigy / jeton +# --- + podigy() { cd /home/poq/syncDir/repos/git/gi.op.fo/podigy/src source venv/bin/activate @@ -432,141 +496,16 @@ podigy() { deactivate } - -# jeton -# --- jeton() { cd /home/poq/syncDir/repos/git/gi.op.fo/jeton/src/ source venv/bin/activate - python archi.py -s /home/poq/syncDir/repos/git/gi.op.fo/fiodb/db/jeton/in/sites -r $1 + python archi.py -s /home/poq/syncDir/repos/git/gi.op.fo/fiodb/db/jeton/in/sites -r "$1" deactivate } - -# misc websites -# --- -alias 00101111.xyz-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/00101111.xyz/www/ usr@weba:/var/www/00101111.xyz/" -alias factor.red-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/mini-websites/factor.red/ usr@weba:/var/www/factor.red/" -alias op.fo-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/mini-websites/op.fo/ usr@weba:/var/www/op.fo/" -alias wa.fo-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/mini-websites/wa.fo/ usr@weba:/var/www/wa.fo/" - - -# jongleur -# --- jcssbuilder() { cd /home/poq/syncDir/repos/git/gi.op.fo/jCssBuilder/src source venv/bin/activate python /home/poq/syncDir/repos/git/gi.op.fo/jCssBuilder/src/archi.py deactivate } -jongleur-activate() { - cd /home/poq/syncDir/repos/git/gitlab.com/jongleur/src - source venv/bin/activate -} -jump-to-downloads() { - cd /home/poq/syncDir/0_downloads -} -ajp.fm-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/ajp.fm/jongleur/run.sh - deactivate - jump-to-downloads -} -ajp.fm-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/ajp.fm/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias ajp.fm-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/ajp.fm/jongleur/html_export/ usr@178.156.192.201:/var/www/ajp.fm/jongleur/" -antijanteboka.com-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/antijanteboka.com/jongleur/run.sh - deactivate - jump-to-downloads -} -antijanteboka.com-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/antijanteboka.com/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias antijanteboka.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/antijanteboka.com/jongleur/html_export/ usr@178.156.192.201:/var/www/antijanteboka.com/jongleur/" -antijantemiriam.com-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/antijantemiriam.com/jongleur/run.sh - deactivate - jump-to-downloads -} -antijantemiriam.com-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/antijantemiriam.com/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias antijantemiriam.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/antijantemiriam.com/jongleur/html_export/ usr@178.156.192.201:/var/www/antijantemiriam.com/jongleur/" -billgoats.com-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/billgoats.com/jongleur/run.sh - deactivate - jump-to-downloads -} -billgoats.com-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/billgoats.com/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias billgoats.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/billgoats.com/jongleur/html_export/ usr@178.156.192.201:/var/www/billgoats.com/jongleur/" -curious.art-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/curious.art/jongleur/run.sh - deactivate - jump-to-downloads -} -curious.art-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/curious.art/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias curious.art-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/curious.art/jongleur/html_export/ usr@178.156.192.201:/var/www/curious.art/jongleur/" -curiouscreators.com-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/curiouscreators.com/jongleur/run.sh - deactivate - jump-to-downloads -} -curiouscreators.com-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/curiouscreators.com/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias curiouscreators.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/curiouscreators.com/jongleur/html_export/ usr@178.156.192.201:/var/www/curiouscreators.com/jongleur/" -frodr.com-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/frodr.com/jongleur/run.sh - deactivate - jump-to-downloads -} -frodr.com-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/frodr.com/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias frodr.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/frodr.com/jongleur/html_export/ usr@178.156.192.201:/var/www/frodr.com/jongleur/" -klevstul.com-build() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/klevstul.com/jongleur/run.sh - deactivate - jump-to-downloads -} -klevstul.com-build-all() { - jongleur-activate - /home/poq/syncDir/repos/git/gi.op.fo/klevstul.com/jongleur/runAll.sh - deactivate - jump-to-downloads -} -alias klevstul.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/repos/git/gi.op.fo/klevstul.com/jongleur/html_export/ usr@weba:/var/www/klevstul.com/jongleur/"