93 lines
3.1 KiB
Bash
93 lines
3.1 KiB
Bash
#!/bin/bash
|
|
|
|
install_obsidian_linux() {
|
|
sudo apt update
|
|
sudo apt install -y wget jq
|
|
|
|
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v1.6.3/Obsidian-1.6.3.AppImage -O obsidian.AppImage
|
|
chmod +x obsidian.AppImage
|
|
./obsidian.AppImage &
|
|
|
|
# Simulate creating a command alias for testing
|
|
sudo ln -sf $(pwd)/obsidian.AppImage /usr/local/bin/obsidian
|
|
}
|
|
|
|
install_obsidian_macos() {
|
|
which -s brew
|
|
if [[ $? != 0 ]] ; then
|
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
fi
|
|
brew install wget jq
|
|
|
|
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v1.6.3/Obsidian-1.6.3-universal.dmg -O Obsidian.dmg
|
|
hdiutil attach Obsidian.dmg
|
|
cp -r /Volumes/Obsidian/Obsidian.app /Applications/
|
|
hdiutil detach /Volumes/Obsidian
|
|
open /Applications/Obsidian.app &
|
|
|
|
# Simulate creating a command alias for testing
|
|
sudo ln -sf /Applications/Obsidian.app/Contents/MacOS/Obsidian /usr/local/bin/obsidian
|
|
}
|
|
|
|
install_obsidian_windows() {
|
|
choco -v
|
|
if [[ $? != 0 ]] ; then
|
|
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
|
|
fi
|
|
choco install -y wget jq
|
|
|
|
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v1.6.3/Obsidian.1.6.3.exe -O ObsidianInstaller.exe
|
|
start /wait ObsidianInstaller.exe /S
|
|
|
|
# Check if Obsidian was installed and create a symbolic link for testing
|
|
if [ -f "/c/Program Files/Obsidian/Obsidian.exe" ]; then
|
|
ln -sf "/c/Program Files/Obsidian/Obsidian.exe" /usr/local/bin/obsidian
|
|
else
|
|
echo "Obsidian installation failed."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
install_plugins() {
|
|
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
pkill Obsidian
|
|
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|
pkill Obsidian
|
|
elif [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
|
taskkill /IM Obsidian.exe /F
|
|
fi
|
|
|
|
if [[ "$OSTYPE" == "linux-gnu"* || "$OSTYPE" == "darwin"* ]]; then
|
|
mkdir -p ~/.config/obsidian/plugins
|
|
elif [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
|
mkdir -p "$APPDATA\obsidian\plugins"
|
|
fi
|
|
|
|
PLUGINS_FILE=plugins.json
|
|
CORE_PLUGINS=$(jq -r '.core_plugins[]' $PLUGINS_FILE)
|
|
COMMUNITY_PLUGINS=$(jq -r '.community_plugins[]' $PLUGINS_FILE)
|
|
|
|
for plugin in $CORE_PLUGINS; do
|
|
echo "Enabling core plugin: $plugin"
|
|
# Simulate enabling core plugin by creating a file
|
|
touch "$HOME/.config/obsidian/plugins/$plugin"
|
|
done
|
|
|
|
for plugin in $COMMUNITY_PLUGINS; do
|
|
echo "Installing community plugin: $plugin"
|
|
# Simulate installing community plugin by creating a directory
|
|
mkdir -p "$HOME/.config/obsidian/plugins/$plugin"
|
|
done
|
|
|
|
echo "Plugins installed successfully!"
|
|
}
|
|
|
|
case "$(uname -s)" in
|
|
Linux*) install_obsidian_linux ;;
|
|
Darwin*) install_obsidian_macos ;;
|
|
CYGWIN*|MINGW32*|MSYS*|MINGW*) install_obsidian_windows ;;
|
|
*) echo "Unknown OS" ;;
|
|
esac
|
|
|
|
install_plugins
|