Feedr/feedr.sh
2024-11-28 10:46:39 +02:00

63 lines
2 KiB
Bash

#!/bin/bash
# Check if the correct number of arguments is provided
if [ $# -ne 1 ]; then
echo "Usage: $0 XML_FILE"
exit 1
fi
# Get the XML file and stylesheet file from the arguments
XML_FILE="$1"
XML_FILENAME=$(basename $XML_FILE)
# Create a temporary directory
TEMPORARY_DIRECTORY="/tmp/feedr"
if [ ! -f "$TEMPORARY_DIRECTORY" ]; then
mkdir $TEMPORARY_DIRECTORY/
mkdir $TEMPORARY_DIRECTORY/css/
mkdir $TEMPORARY_DIRECTORY/xsl/
fi
# Check whether a custom stylesheet is present
STYLESHEET_DIRECTORY="$HOME/.local/share/feedr"
cp -rf "$STYLESHEET_DIRECTORY/css/" "$TEMPORARY_DIRECTORY/"
cp -rf "$STYLESHEET_DIRECTORY/xsl/" "$TEMPORARY_DIRECTORY/"
if [ ! -f "$STYLESHEET_DIRECTORY" ]; then
STYLESHEET_DIRECTORY="/usr/share/feedr"
fi
# Copy stylesheets to temporary directory
cp -rf "$STYLESHEET_DIRECTORY/css/" "$TEMPORARY_DIRECTORY/"
cp -rf "$STYLESHEET_DIRECTORY/xsl/" "$TEMPORARY_DIRECTORY/"
# Restructure file with xmllint
XML_FILE_TMP="$TEMPORARY_DIRECTORY/$XML_FILENAME.xml"
xmllint --format "$XML_FILE" > "$XML_FILE_TMP"
if ! grep -q xml-stylesheet "$XML_FILE_TMP"; then
sed -i '1a <?xml-stylesheet type="text/xsl" href="xsl/stylesheet.xsl"?>' "$XML_FILE_TMP"
# Move modified content back to the original file
#mv "$XML_FILE_TMP" "$XML_FILE"
# Print a confirmation message
echo "Stylesheet instruction added to $XML_FILE."
fi
export WEBKIT_DISABLE_DMABUF_RENDERER=1
for browser in $BROWSER falkon otter-browser qupzilla konqueror palemoon badwolf qutebrowser opera opera-beta opera-developer vivaldi vivaldi-beta vivaldi-snapshot chromium chrome luakit midori epiphany lynx w3m elinks vimb surf iceweasel waterfox firefox-aurora firefox; do
if command -v $browser > /dev/null 2>&1; then
exec $browser "$XML_FILE_TMP"
fi
done
#badwolf "$XML_FILE_TMP"
#chrome --new-window "$XML_FILE_TMP"
#falkon "$XML_FILE_TMP" --new-window
#firefox --new-window "$XML_FILE_TMP"
#luakit "$XML_FILE_TMP"
#otter-browser "$XML_FILE_TMP"
#qutebrowser "$XML_FILE_TMP"
#xdg-open "$XML_FILE_TMP"