{"id":28467746,"url":"https://github.com/drakonis96/notypdf","last_synced_at":"2026-04-10T10:02:57.424Z","repository":{"id":296311029,"uuid":"992957805","full_name":"Drakonis96/notypdf","owner":"Drakonis96","description":"NotyPDF helps you read pdf, extract and save quotes (or their translation) from PDF documents to your Notion database","archived":false,"fork":false,"pushed_at":"2025-06-25T07:46:43.000Z","size":5308,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-25T08:36:20.537Z","etag":null,"topics":["notion","notion-api","notion-automation","notion-client","notion-database","notion-integrations","notion-widgets","react","react-pdf","react-pdf-viewer"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Drakonis96.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-30T01:30:08.000Z","updated_at":"2025-06-22T10:44:21.000Z","dependencies_parsed_at":"2025-06-14T09:22:23.311Z","dependency_job_id":"439a0e9d-2a4e-4bea-be1b-13aadce52180","html_url":"https://github.com/Drakonis96/notypdf","commit_stats":null,"previous_names":["drakonis96/notypdf"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/Drakonis96/notypdf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Drakonis96%2Fnotypdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Drakonis96%2Fnotypdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Drakonis96%2Fnotypdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Drakonis96%2Fnotypdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Drakonis96","download_url":"https://codeload.github.com/Drakonis96/notypdf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Drakonis96%2Fnotypdf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000742,"owners_count":26082933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["notion","notion-api","notion-automation","notion-client","notion-database","notion-integrations","notion-widgets","react","react-pdf","react-pdf-viewer"],"created_at":"2025-06-07T08:00:41.776Z","updated_at":"2025-10-09T05:11:14.311Z","avatar_url":"https://github.com/Drakonis96.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Centered logo --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/logo.png\" alt=\"NotyPDF Logo\" width=\"120\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eNotyPDF\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eExtract, organize and save PDF highlights directly to Notion with automatic reference management.\u003c/b\u003e\u003c/p\u003e\n\n---\n\n## Table of Contents\n- [Description](#description)\n- [Feature Highlights](#feature-highlights)\n- [How It Works](#how-it-works)\n- [Screenshots](#screenshots)\n- [Getting Started](#getting-started)\n- [Advanced Features](#advanced-features)\n- [Progressive Web App](#progressive-web-app)\n- [Web Capture Extension](#web-capture-extension)\n- [License](#license)\n\n## Description\nNotyPDF is a web-based helper for researchers and students. Upload your documents, select important text and store it in your Notion workspace with custom tags and reference IDs. A built-in document manager keeps everything organized while backups ensure your configuration is safe.\n\n## Feature Highlights\n- **PDF Upload**: Drag \u0026 drop or browse PDFs for fast viewing.\n- **Document Manager**: Maintain your document library with search, download and delete options.\n- **Text Selection**: Highlight any text within a PDF and send it to Notion.\n- **Notion Integration**: Save excerpts, annotations and page numbers directly to your database.\n- **Custom Identifiers**: Generate sequential reference IDs like `LV001_RF025`.\n- **Automatic Increment**: Existing IDs are incremented automatically.\n- **Tag Configuration**: Build your own tagging system without using Notion AI.\n- **Document Tagging**: Optionally add the document ID as a tag in Notion.\n- **Annotation Support**: Add your personal notes to each reference.\n- **Configuration Menu**: A tabbed interface to manage all settings.\n- **Backup \u0026 Restore**: Export or import the complete configuration at any time.\n- **Translation Support**: Optional AI‑powered translation services.\n\n## How It Works\n1. **Load your PDF document** via the upload dialog or the document manager.\n2. **Configure Notion** credentials and columns in the settings panel.\n3. **Select text** from the document.\n4. **Add an annotation or page number** if desired.\n5. **Save** the entry to your chosen Notion database.\n\n## Screenshots\nBelow are some example screens from the application interface.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/screenshot1.png\" alt=\"Document manager\" width=\"700\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/screenshot2.png\" alt=\"Tag configuration\" width=\"700\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/screenshot3.png\" alt=\"Reference preview\" width=\"700\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/screenshot4.png\" alt=\"Settings panel\" width=\"700\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/screenshot5.png\" alt=\"Web capture extension\" width=\"700\" /\u003e\n\u003c/p\u003e\n\n## Getting Started\nFollow these steps to get NotyPDF running on your machine.\n\n### Quick Start Guide\n1. **Upload Documents** using the document manager.\n2. **Configure Notion** in the settings menu.\n3. **Create Tags** in the Tag Config tab.\n4. **Start Extracting** and save your notes to Notion.\n5. **Backup Settings** from the Backup tab.\n\n### 1. Download from GitHub\nIf you're unfamiliar with GitHub:\n1. Visit the [NotyPDF repository](https://github.com/drakonis96/notypdf).\n2. Click **Code** → **Download ZIP**.\n3. Unzip the archive to a folder such as your Desktop.\n\n### 2. Set Up Environment Variables\n1. Open the extracted folder.\n2. Copy `.env.example` to `.env`.\n3. Edit `.env` in a text editor and add your API keys:\n   ```env\n   NOTION_API_KEY=secret_your_notion_api_key_here\n   OPENAI_API_KEY=your_openai_key_here\n   OPENROUTER_API_KEY=your_openrouter_key_here\n   GEMINI_API_KEY=your_gemini_key_here\n   DEEPSEEK_API_KEY=your_deepseek_key_here\n   ```\n\n### 3. Run with Docker Compose (Recommended for Beginners)\n1. [Install Docker Desktop](https://www.docker.com/products/docker-desktop/) for your OS.\n2. Start Docker Desktop.\n3. Open a terminal and `cd` to the NotyPDF folder, for example:\n   ```sh\n   cd Desktop/notypdf\n   ```\n4. Build and start the app:\n   ```sh\n   docker-compose up --build\n   ```\n5. On first run Docker creates persistent volumes named `data` and `workspace`. Your configuration in these volumes will remain when updating the container.\n6. Wait for the server to start, then open [http://localhost:5026](http://localhost:5026).\n\nIf you prefer `docker run`, mount the same volumes:\n```sh\ndocker run -d \\\n  -p 5026:5026 \\\n  -v notypdf_data:/app/data \\\n  -v notypdf_workspace:/myworkspace \\\n  --name notypdf drakonis96/notypdf:latest\n```\n\n### 4. Alternative: Run the React Server Directly (For Developers)\nIf you already have Node.js and npm installed:\n1. Open a terminal in the NotyPDF folder.\n2. Install dependencies:\n   ```sh\n   npm install\n   ```\n3. Start the development server:\n   ```sh\n   npm start\n   ```\n4. Visit [http://localhost:3000](http://localhost:3000) in your browser.\n\n## Advanced Features\n\n### Document Manager\nA centralized place for all your research materials:\n- **Multi-format Support**: Upload PDFs, Word documents, text files and images.\n- **Search**: Quickly find any document.\n- **File Management**: Rename or delete items and perform batch operations.\n- **Cloud Storage**: Access your library across sessions.\n\n### Configuration Management\nControl your setup from the settings panel:\n- **Tabbed Interface** for easy navigation.\n- **Real-time Validation** on changes.\n- **Multiple Database Support** to switch between workspaces.\n- **Export/Import** to back up or restore the entire configuration.\n\n### Custom Tagging System\n- **Manual Tag Creation** to match your workflow.\n- **Template System** for reusable patterns.\n- **Hierarchical Organization** for complex tagging schemes.\n- **No AI Dependency**: You remain in full control.\n\n### Backup \u0026 Recovery\n- **Complete Configuration Export** as a single JSON file.\n- **Instant Restoration** from a saved backup.\n- **Version Control** through multiple backup files.\n- **Migration Support** for moving between installations.\n\n### Tag Configuration Tutorial\n1. Open the settings menu and go to **Tag Config**.\n2. Create custom tag categories and templates.\n3. Apply tags manually to selected text.\n4. Manage your tag library by editing or removing entries.\n5. Enjoy consistent and reliable tagging with no AI required.\n\n### Backup \u0026 Restore Tutorial\n1. Navigate to the **Backup** tab in settings.\n2. Click **Download Backup** and save the JSON file.\n3. To restore, select **Upload Backup** and choose your file.\n4. All database IDs, column mappings and tag settings will be restored.\n\n### Tips \u0026 Tricks\n- Keep a clean library by organizing documents in the manager.\n- Use consistent IDs like `LV001` for easy filtering.\n- Number references sequentially (`RF001`, `RF002`) or by page.\n- Regularly back up your configuration before major changes.\n- Configure translation services for multilingual research.\n\n## Progressive Web App\nNotyPDF can be installed as a PWA in supported browsers. Open the app and use the **Install** option from your browser’s menu to launch it like a native application, even when offline.\n\n## Web Capture Extension\nCapture text from any website and send it to Notion using your NotyPDF configuration.\n1. Open `chrome://extensions` and enable **Developer mode**.\n2. Click **Load unpacked** and select the `extension` folder.\n3. Set the URL where NotyPDF is running (for example `http://localhost:3000`). If you expose the server through NGINX Proxy Manager, enter the external URL and credentials.\n4. Select text on a webpage or PDF, click the extension icon and press **Send to Notion**. You can also right-click a selection and choose **Send selection to NotyPDF**.\n5. Access extension settings and help directly from the popup.\n\nUsing a reverse proxy lets the extension work from any browser, allowing you to add references to Notion even if the server isn’t running locally. The extension fetches your saved configuration and creates a new entry with the next identifier.\n\n---\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cp align=\"center\"\u003e\u003ci\u003eHappy reading and organizing with NotyPDF!\u003c/i\u003e\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrakonis96%2Fnotypdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrakonis96%2Fnotypdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrakonis96%2Fnotypdf/lists"}