Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be9dbfdb23 | ||
|
|
e2ee3ae3ae | ||
|
|
db9602d51b | ||
|
|
0effff0d3c |
16
.github/dependabot.yml
vendored
16
.github/dependabot.yml
vendored
@ -1,16 +0,0 @@
|
||||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm" # See documentation for possible values
|
||||
directory: "/" # Location of package manifests
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
groups:
|
||||
all-non-major:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
4
.github/renovate.json
vendored
4
.github/renovate.json
vendored
@ -1,4 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["github>zotero-plugin-dev/renovate-config"]
|
||||
}
|
||||
44
.github/workflows/ci.yml
vendored
44
.github/workflows/ci.yml
vendored
@ -1,44 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GitHub_TOKEN }}
|
||||
steps:
|
||||
- name: Setup JS
|
||||
uses: zotero-plugin-dev/workflows/setup-js@main
|
||||
- name: Run Lint
|
||||
run: npm run lint:check
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GitHub_TOKEN }}
|
||||
steps:
|
||||
- name: Setup JS
|
||||
uses: zotero-plugin-dev/workflows/setup-js@main
|
||||
- name: Run Build
|
||||
run: npm run build
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-result
|
||||
path: .scaffold/build
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- build
|
||||
steps:
|
||||
- name: Setup JS
|
||||
uses: zotero-plugin-dev/workflows/setup-js@main
|
||||
- run: npm run test
|
||||
20
.github/workflows/issue-bot.yml
vendored
20
.github/workflows/issue-bot.yml
vendored
@ -1,20 +0,0 @@
|
||||
name: Issue Bot
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
issue_comment:
|
||||
types:
|
||||
- created
|
||||
schedule:
|
||||
- cron: "30 1 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
issue-bot:
|
||||
uses: zotero-plugin-dev/workflows/.github/workflows/issue-bot.yml@main
|
||||
21
.github/workflows/release.yml
vendored
21
.github/workflows/release.yml
vendored
@ -1,21 +0,0 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v**
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
uses: zotero-plugin-dev/workflows/.github/workflows/release-plugin.yml@main
|
||||
# You can customize any of the inputs here.
|
||||
# If you omit an input, its default value will be used.
|
||||
with:
|
||||
build: "npm run build"
|
||||
release: "npm run release"
|
||||
secrets: inherit
|
||||
29
README.md
29
README.md
@ -4,10 +4,38 @@
|
||||
|
||||
A powerful, lightweight, and restartless add-on for **Zotero 7, 8, and 9** that lets you copy attached PDF documents from selected bibliography references into any folder on your computer. Copied PDFs are automatically renamed based on the paper's title (sanitized for safe OS filenames) and index-deduplicated.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Instant Bulk Exporting**: This extension is built specifically to process **multiple references at once**. Select dozens or hundreds of papers, right-click, choose your folder, and all attached PDFs are renamed and saved in a split second. No manual clicks, no tedious per-file folder navigation, and no slow popup loops!
|
||||
|
||||
Developed and designed with custom branding and a native graphical interface.
|
||||
|
||||
---
|
||||
|
||||
## Screenshots & Preview
|
||||
|
||||
### 1. Seamless Context Menu Integration
|
||||
Select your bibliography references, right-click, and select **Copy Attachments to Folder...** to begin the export:
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/context_menu.png" alt="Right-click Context Menu" width="80%">
|
||||
</p>
|
||||
|
||||
### 2. Live Status & Copy Completion
|
||||
A native popup notification tracks the copy operation and confirms when the files have been copied successfully:
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/copy_completed.png" alt="Copy Completed Toast" width="60%">
|
||||
</p>
|
||||
|
||||
### 3. Clean Zotero Add-ons Listing
|
||||
The extension is fully integrated with Zotero's Add-ons manager, showing the custom icon, updated author info, homepage, and version metadata:
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/addon_manager.png" alt="Add-ons Manager Listing" width="90%">
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Detailed Description
|
||||
|
||||
**Zotero PDF Copier & Renamer** is a professional-grade productivity extension built from the ground up for researchers, students, academics, and knowledge managers who utilize Zotero 7, 8, or 9 as their primary reference management system. While Zotero is incredibly powerful for cataloging reference metadata, fetching citation records, and organizing library items, extracting the actual PDF attachments for external use has always been a painful, friction-heavy process.
|
||||
@ -46,6 +74,7 @@ This addon solves these limitations elegantly by introducing a native right-clic
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Fast Bulk Exporting**: Optimized for batch actions. Select multiple items (tens or hundreds of references) at once, and copy all their attached PDFs simultaneously in less than a second without clicking any manual folder pickers for each file or dealing with popup loops.
|
||||
- **Direct Context Menu Access**: Right-click on any selected items in the main library grid pane to start copying instantly.
|
||||
- **Visual Icon Registration**: Custom branded icon next to the context menu command and inside the Zotero Extensions listing for quick visual recognition.
|
||||
- **Smart PDF Copying**: Filters all selected items to only copy actual PDF files (skips notes, web links, or citations that do not have attachments).
|
||||
|
||||
BIN
assets/addon_manager.png
Normal file
BIN
assets/addon_manager.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
BIN
assets/context_menu.png
Normal file
BIN
assets/context_menu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 182 KiB |
BIN
assets/copy_completed.png
Normal file
BIN
assets/copy_completed.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
@ -12,13 +12,13 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/windingwind/zotero-plugin-template.git"
|
||||
"url": "git+https://github.com/iu-parvej/Zotero-PDF-Copier-Renamer.git"
|
||||
},
|
||||
"author": "Md. Parvej Hossain <contact@parvej.me>",
|
||||
"bugs": {
|
||||
"url": "https://github.com/windingwind/zotero-plugin-template/issues"
|
||||
"url": "https://github.com/iu-parvej/Zotero-PDF-Copier-Renamer/issues"
|
||||
},
|
||||
"homepage": "https://github.com/windingwind/zotero-plugin-template#readme",
|
||||
"homepage": "https://github.com/iu-parvej/Zotero-PDF-Copier-Renamer#readme",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"scripts": {
|
||||
"start": "zotero-plugin serve",
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user