1
0
mirror of https://github.com/RyanGreenup/cadmus.git synced 2025-08-12 00:54:27 +02:00

Added First Tool PrintWebTitle

This commit is contained in:
Ryan Greenup
2020-07-16 08:38:42 +10:00
parent a14ef5b631
commit 3ffcadea92
2 changed files with 145 additions and 5 deletions

View File

@@ -180,9 +180,9 @@ function TagsHelp() {
echo -e " • FilterNotesByTMSUTag.sh "
echo -e " • tags-to-TMSU.sh "
echo
echo -e " There very much so is an assumption that there is a .tmsu folder "
echo -e " somewhere above the NOTES_DIR "
echo -e " (in this case that is "${NOTES_DIR}")"
echo -e " There very much an assumption that there is a .tmsu folder "
echo -e " somewhere above the NOTES_DIR "
echo -e " (in this case that is "${NOTES_DIR}")"
}
@@ -194,7 +194,7 @@ CadmusTools () {
while test $# -gt 0
do
case "$1" in
filter) shift; "${script_dir}/tags/FilterNotesByTMSUTag.sh" "${NOTES_DIR}" "${@:-}"
webtitle) shift; "${script_dir}/tools/PrintWebTitle.sh"
;;
create) shift; "${script_dir}/tags/tags-to-TMSU.sh" "${NOTES_DIR}" ${@:-} && exit 0
./
@@ -218,7 +218,7 @@ function ToolsHelp() {
echo
echo -e " \e[1;91m \e[1m Command \e[0m\e[0m \e[1;34m┊┊┊ \e[0m Description "
echo -e " ...........................\e[1;34m┊┊┊\e[0m........................................... "
echo -e " \e[1;93m WORKING url \e[0m \e[1;34m ┊┊┊ 🎆 \e[0m Transforms the Clipboard 📋 to a Link"
echo -e " \e[1;93m WORKING webtitle \e[0m \e[1;34m ┊┊┊ 🎆 \e[0m Transforms the Clipboard 📋 to a Link"
echo -e " \e[1;93m TODO Print Backlinks \e[0m \e[1;34m ┊┊┊ 🎆 \e[0m Find Notes based on FileName"
echo -e " \e[1;93m TODO Repair Link \e[0m \e[1;34m ┊┊┊ 🎆 \e[0m Find Notes based on FileName"
echo -e " \e[1;32m TODO Import WebPage \e[0m \e[1;34m ┊┊┊ 🎆 \e[0m Search through Notes using Recoll"

140
bin/tools/PrintWebTitle.sh Executable file
View File

@@ -0,0 +1,140 @@
#!/bin/bash
# Don't forget to adjust the permissions with:
#chmod +x ~/somecrazyfolder/script1
## Program
### Description
# will print the title of a webpage
# I took the code from:
# https://unix.stackexchange.com/a/103253
### Choose what format to output in
# LaTeX, # MD or # Org
command -v recode >/dev/null 2>&1 || { echo >&2 "I require recode but it's not installed. install with sudo apt recode (or pacman its in the repos), Aborting."; exit 1; }
if [ "$1" == "-h" ]; then
# Put's formated link in clipboard
echo "
Usage: `basename $0` <Format>
This requires GNU recode and GNU wget, they're in the repos
-m... Format Link for Markdown........[Title](Link)
-o... Format Link for Org.............[[Link][Title]]
-l... Format Link for LaTeX...........href{Link}{Title}
"
exit 0
fi
if [[ "$1" == *-m* ]]; then
echo "Will Export as markdown Format"
type="md"
elif [[ "$1" == *-o* ]]; then
echo "Will Export as Org Format"
type="org"
elif [[ "$1" == *-l* ]]; then
echo "Will Export as LaTeX Format"
type="latex"
else
echo "
Please Specify an export Format
m... Format Link for Markdown........[Title](Link)
o... Format Link for Org.............[[Link][Title]]
l... Format Link for LaTeX...........href{Link}{Title}
"
# Take the next single keystroke
read -d'' -s -n1
type=$REPLY
# reassign type to the corresponding keystroke
if [[ $type == m ]]; then
echo ""
echo "Will Export as markdown Format"
type="md"
elif [[ $type == o ]]; then
echo ""
echo "Will Export as Org Format"
type="org"
elif [[ $type == l ]]; then
echo ""
echo "Will Export as LaTeX Format"
type="latex"
else
echo "
Correct input not detected.
either specify an argument or press the corresponding key,
refer to the help with `basename $0` -h.
"
exit 0
fi
fi
# echo "The chosen format is $type" # To debug var assignment
### Take the link Variable
arglink=$(xclip -o -selection clipboard)
#### Print the Link
##### Assign Colour Variables
# taken from https://stackoverflow.com/a/5947802/10593632
BLUE='\033[0;34m'
ORANGE='\033[0;33m'
NC='\033[0m' # No Color
#printf "I ${BLUE}love${NC} Stack Overflow\n"
printf "
The Chosen Link is:
${BLUE} $arglink
${NC} It's description is\n"
title=$(wget -qO- $arglink |
perl -l -0777 -ne 'print $1 if /<title.*?>\s*(.*?)\s*<\/title/si' |
recode html..)
echo $title
### Return the Appropriate Ouput
if [[ $type == md ]]; then
outputlink="[$title]($arglink)"
elif [[ $type == org ]]; then
outputlink="[[$arglink][$title]]"
elif [[ $type == latex ]]; then
outputlink="\href{$arglink}{$title}"
else
echo "the variable \$type doesn't match what was expected
despite correct input, this is a bug in the program
"
exit 1
fi
### Copy the link to the clipboard
echo $outputlink | xclip -selection clipboard
printf "The following link has been put in the clipboard:
${ORANGE} $outputlink \n"
## vim:fdm=expr:fdl=0
## vim:fde=getline(v\:lnum)=~'^##'?'>'.(matchend(getline(v\:lnum),'##*')-2)\:'='
exit 0