fix: format files to pass lint checks
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
# download-attachment
|
||||
|
||||
Download files from URLs to attachments folder and organize them with descriptive names.
|
||||
Download files from URLs to attachments folder and organize them with
|
||||
descriptive names.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/download-attachment <url1> [url2] [url3...]
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
/download-attachment https://example.com/document.pdf
|
||||
/download-attachment https://site.com/image.png https://site.com/report.pdf
|
||||
@@ -15,13 +18,17 @@ Download files from URLs to attachments folder and organize them with descriptiv
|
||||
|
||||
## Implementation
|
||||
|
||||
You are tasked with downloading files from URLs and organizing them in the Obsidian vault attachments folder.
|
||||
You are tasked with downloading files from URLs and organizing them in the
|
||||
Obsidian vault attachments folder.
|
||||
|
||||
### Step 1: Parse and Validate URLs
|
||||
|
||||
Extract the URL(s) from the user's input. Handle multiple URLs if provided.
|
||||
|
||||
- **Validate URL scheme**: Only allow http:// or https:// URLs
|
||||
- **Reject invalid URLs**: file://, ftp://, or malformed URLs
|
||||
- **Example validation**:
|
||||
|
||||
```bash
|
||||
if [[ ! "$url" =~ ^https?:// ]]; then
|
||||
echo "Error: Only HTTP/HTTPS URLs are allowed"
|
||||
@@ -30,7 +37,9 @@ fi
|
||||
```
|
||||
|
||||
### Step 2: Download Files
|
||||
|
||||
For each URL:
|
||||
|
||||
```bash
|
||||
# Sanitize filename to prevent path traversal
|
||||
# Remove ../ and other dangerous characters
|
||||
@@ -43,29 +52,39 @@ curl --max-time 30 -L "$url" -o "05_Attachments/$filename"
|
||||
```
|
||||
|
||||
### Step 3: Verify Downloads
|
||||
|
||||
Check that files were downloaded successfully:
|
||||
|
||||
```bash
|
||||
ls -la "05_Attachments/"
|
||||
```
|
||||
|
||||
### Step 4: Organize Files
|
||||
After downloading, run the organize-attachments command to rename files with descriptive names:
|
||||
|
||||
After downloading, run the organize-attachments command to rename files with
|
||||
descriptive names:
|
||||
|
||||
For PDFs:
|
||||
|
||||
- Extract text with `pdftotext`
|
||||
- Analyze content for meaningful title
|
||||
|
||||
For Images:
|
||||
- Use `mcp__gemini-vision__analyze_image` or `mcp__gemini-vision__analyze_multiple`
|
||||
|
||||
- Use `mcp__gemini-vision__analyze_image` or
|
||||
`mcp__gemini-vision__analyze_multiple`
|
||||
- Generate descriptive filename based on content
|
||||
|
||||
### Step 5: Move to Organized
|
||||
|
||||
Move renamed files to `05_Attachments/Organized/` with descriptive names
|
||||
|
||||
### Step 6: Update Index
|
||||
|
||||
Add entries to `05_Attachments/00_Index.md`
|
||||
|
||||
### Step 7: Commit Changes
|
||||
|
||||
```bash
|
||||
git add -A
|
||||
git commit -m "Download and organize attachments from URLs"
|
||||
@@ -74,7 +93,7 @@ git push
|
||||
|
||||
## Important Notes
|
||||
|
||||
1. **File Naming**:
|
||||
1. **File Naming**:
|
||||
- Initial download: Use URL filename or generate from URL
|
||||
- After analysis: Rename with descriptive title
|
||||
|
||||
@@ -109,4 +128,4 @@ git push
|
||||
- Use Gemini Vision for batch image analysis (up to 3 at once)
|
||||
- Extract meaningful context from PDFs before renaming
|
||||
- Preserve original file extensions
|
||||
- Keep filenames concise but descriptive (max 60 chars)
|
||||
- Keep filenames concise but descriptive (max 60 chars)
|
||||
|
||||
Reference in New Issue
Block a user