Spaces:
Running
Running
| # ============================================ | |
| # save_to_notes.sh | |
| # Script pour sauvegarder la documentation vers Obsidian et Notion | |
| # | |
| # Usage: ./save_to_notes.sh [chemin_fichier_optionnel] | |
| # | |
| # Par défaut: Sauvegarde SysCRED_Documentation.md | |
| # ============================================ | |
| # Configuration - MODIFIEZ CES CHEMINS SELON VOTRE SETUP | |
| OBSIDIAN_VAULT="${OBSIDIAN_VAULT:-/Users/bk280625/documents041025/Obsidian_UQAM25_bk051225}" | |
| NOTION_CLIPBOARD=true # true = copie dans le presse-papiers pour Notion | |
| # Couleurs pour output | |
| GREEN='\033[0;32m' | |
| BLUE='\033[0;34m' | |
| YELLOW='\033[1;33m' | |
| NC='\033[0m' # No Color | |
| # Date pour le versioning | |
| DATE=$(date +%Y%m%d) | |
| DATETIME=$(date +"%Y-%m-%d %H:%M") | |
| # Fichier source (argument ou défaut) | |
| if [ -n "$1" ]; then | |
| DOC_SOURCE="$1" | |
| else | |
| DOC_SOURCE="/Users/bk280625/documents041025/MonCode/syscred/SysCRED_Documentation.md" | |
| fi | |
| # Vérifier que le fichier existe | |
| if [ ! -f "$DOC_SOURCE" ]; then | |
| echo -e "${YELLOW}⚠️ Fichier non trouvé: $DOC_SOURCE${NC}" | |
| exit 1 | |
| fi | |
| # Nom du fichier sans chemin | |
| FILENAME=$(basename "$DOC_SOURCE" .md) | |
| echo -e "${BLUE}📝 Sauvegarde de: $DOC_SOURCE${NC}" | |
| echo " Date: $DATETIME" | |
| echo "" | |
| # ============================================ | |
| # 1. OBSIDIAN | |
| # ============================================ | |
| echo -e "${BLUE}📚 OBSIDIAN${NC}" | |
| # Créer le dossier Obsidian s'il n'existe pas | |
| if [ ! -d "$OBSIDIAN_VAULT" ]; then | |
| echo " ⚠️ Vault Obsidian non trouvé: $OBSIDIAN_VAULT" | |
| echo " Création du dossier..." | |
| mkdir -p "$OBSIDIAN_VAULT" | |
| fi | |
| # Copier le fichier avec date | |
| OBSIDIAN_FILE="$OBSIDIAN_VAULT/${FILENAME}.md" | |
| cp "$DOC_SOURCE" "$OBSIDIAN_FILE" | |
| if [ -f "$OBSIDIAN_FILE" ]; then | |
| echo -e " ${GREEN}✅ Copié: $OBSIDIAN_FILE${NC}" | |
| # Ouvrir dans Obsidian (Mac uniquement) | |
| if [[ "$OSTYPE" == "darwin"* ]]; then | |
| # Encoder le nom de fichier pour l'URL | |
| ENCODED_FILE=$(echo "$FILENAME" | sed 's/ /%20/g') | |
| VAULT_NAME=$(basename "$OBSIDIAN_VAULT") | |
| # Ouvrir Obsidian avec le fichier | |
| open "obsidian://open?vault=$VAULT_NAME&file=$ENCODED_FILE" 2>/dev/null | |
| echo " 📖 Ouvert dans Obsidian" | |
| fi | |
| else | |
| echo " ❌ Échec de copie" | |
| fi | |
| echo "" | |
| # ============================================ | |
| # 2. NOTION (via presse-papiers) | |
| # ============================================ | |
| echo -e "${BLUE}📋 NOTION${NC}" | |
| if [ "$NOTION_CLIPBOARD" = true ]; then | |
| # Copier le contenu dans le presse-papiers | |
| if [[ "$OSTYPE" == "darwin"* ]]; then | |
| # macOS | |
| cat "$DOC_SOURCE" | pbcopy | |
| echo -e " ${GREEN}✅ Contenu copié dans le presse-papiers${NC}" | |
| echo " 📝 Pour coller dans Notion:" | |
| echo " 1. Ouvrez Notion" | |
| echo " 2. Créez une nouvelle page" | |
| echo " 3. Cmd+V pour coller" | |
| elif [[ "$OSTYPE" == "linux-gnu"* ]]; then | |
| # Linux avec xclip | |
| if command -v xclip &> /dev/null; then | |
| cat "$DOC_SOURCE" | xclip -selection clipboard | |
| echo -e " ${GREEN}✅ Contenu copié dans le presse-papiers${NC}" | |
| else | |
| echo " ⚠️ xclip non installé (sudo apt install xclip)" | |
| fi | |
| fi | |
| fi | |
| echo "" | |
| # ============================================ | |
| # 3. RÉSUMÉ | |
| # ============================================ | |
| echo -e "${GREEN}================================${NC}" | |
| echo -e "${GREEN}✨ Sauvegarde terminée!${NC}" | |
| echo -e "${GREEN}================================${NC}" | |
| echo "" | |
| echo "Fichiers:" | |
| echo " • Original: $DOC_SOURCE" | |
| echo " • Obsidian: $OBSIDIAN_FILE" | |
| echo " • Notion: 📋 (presse-papiers)" | |
| echo "" | |
| echo "Taille: $(wc -c < "$DOC_SOURCE" | tr -d ' ') octets" | |
| echo "Lignes: $(wc -l < "$DOC_SOURCE" | tr -d ' ')" | |