#!/bin/bash # Obsidian Vim IM Switch Plugin 一键部署脚本 # 编译并复制插件文件到 Obsidian 插件目录 set -e # 遇到错误时退出 # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color # 配置 SOURCE_DIR="/Users/gavin/vim-im-switch" TARGET_DIR="/Users/gavin/myweb/.obsidian/plugins/vim-im-switch" echo -e "${BLUE}🚀 开始部署 Obsidian Vim IM Switch Plugin...${NC}" # 检查源目录 if [ ! -d "$SOURCE_DIR" ]; then echo -e "${RED}❌ 源目录不存在: $SOURCE_DIR${NC}" exit 1 fi # 进入源目录 cd "$SOURCE_DIR" echo -e "${YELLOW}📁 当前目录: $(pwd)${NC}" # 编译项目 echo -e "${YELLOW}🔨 开始编译项目...${NC}" if npm run build; then echo -e "${GREEN}✅ 编译成功${NC}" else echo -e "${RED}❌ 编译失败${NC}" exit 1 fi # 检查编译产物 if [ ! -f "main.js" ]; then echo -e "${RED}❌ 编译产物 main.js 不存在${NC}" exit 1 fi # 创建目标目录 echo -e "${YELLOW}📂 创建目标目录...${NC}" mkdir -p "$TARGET_DIR" # 复制文件 echo -e "${YELLOW}📋 复制插件文件...${NC}" # 复制必需的文件 cp -f main.js "$TARGET_DIR/" cp -f manifest.json "$TARGET_DIR/" cp -f styles.css "$TARGET_DIR/" echo -e "${GREEN}✅ Obsidian 插件文件复制完成:${NC}" echo -e " • main.js" echo -e " • manifest.json" echo -e " • styles.css" # 复制 Vim 插件 echo -e "${YELLOW}📋 复制 Vim 插件...${NC}" mkdir -p ~/.vim/plugin cp -f vim-im-switch.vim ~/.vim/plugin/ echo -e "${GREEN}✅ Vim 插件复制完成:${NC}" echo -e " • vim-im-switch.vim → ~/.vim/plugin/" # 验证文件 echo -e "${YELLOW}🔍 验证复制的文件...${NC}" ls -la "$TARGET_DIR" echo -e "${GREEN}🎉 部署完成!${NC}" echo -e "${BLUE}📍 Obsidian 插件已部署到: $TARGET_DIR${NC}" echo -e "${BLUE}📍 Vim 插件已部署到: ~/.vim/plugin/${NC}" echo -e "${YELLOW}💡 请重启 Obsidian 或重新加载插件以使更改生效${NC}" echo -e "${YELLOW}💡 Vim 插件将在下次启动 Vim 时自动加载${NC}"