Scholar GitHub Linker
Overview
Exposes instant upload/view triggers for academic PDFs to your private GitHub repository.
1. Single Purpose Scholar GitHub Linker has a single purpose: it helps users save academic PDFs found through Google Scholar into a GitHub repository selected by the user, and reopen those saved PDFs directly from the browser. The extension is not a public file-sharing service. It does not redistribute PDFs to third parties. It operates only with the user's GitHub account and the repository explicitly selected by the user, and it acts only on papers that the user chooses to upload. Problem Researchers often discover papers through Google Scholar, but saving papers into a personal archive is repetitive: - Open paper link. - Download PDF manually. - Rename file. - Upload it to cloud storage or a repository. - Later search the saved files again across devices. This workflow is slow and error-prone, especially for users who want a private, cross-device research library. Solution The extension adds a small set of user-triggered tools around the Google Scholar workflow: - Upload selected paper PDFs to the user's GitHub repository. - View saved PDFs from the private repository. - Search Google Scholar from the popup. - Scan the selected GitHub repository to refresh the local cloud paper list. - Search and delete saved cloud PDFs. All sensitive operations require explicit user action. 2. Feature-by-Feature Rationale Feature 1: GitHub Device Flow Login This feature is required so the user can authorize the extension to access the GitHub repository where they want to store PDFs. The extension uses GitHub Device Flow to avoid packaging a GitHub OAuth client secret inside the browser extension. The user sees a device code in the popup, enters it on GitHub, and approves the login. This is safer for a browser extension because no client secret is shipped. The resulting access token is stored in `chrome.storage.session`, not persistent local storage. Feature 2: Repository Selection Users may have multiple GitHub repositories, so the extension needs a repository selection feature to ensure PDFs are saved only to the user-selected destination. This prevents accidental uploads to the wrong repository and supports the intended private personal library workflow. Feature 3: Google Scholar Upload/View Buttons This feature lets users save or reopen papers directly from Google Scholar search results. It removes repetitive steps such as manually downloading a PDF, renaming it, and uploading it to GitHub. The buttons are injected only into Google Scholar result pages. The extension does not automatically download or upload all search results. It acts only when the user clicks Upload or View. Feature 4: PDF Download and GitHub Upload When the user clicks Upload, the extension downloads the selected paper PDF, validates that the downloaded content is actually a PDF, and commits it to the user's selected GitHub repository through the GitHub Contents API. Some institution resolvers or publisher pages return an HTML landing page instead of a direct PDF. The extension follows PDF candidate links from such pages only to complete the user-requested upload. Feature 5: Private GitHub PDF Viewing PDFs stored in a private GitHub repository may fail to open through a normal URL because authentication is required. This feature allows the user to reopen their private PDFs by adding the user's GitHub authorization header to raw GitHub PDF requests and adjusting PDF-friendly response headers. When Google Scholar PDF Reader is installed, the extension opens a `raw.githubusercontent.com` PDF URL so that the reader can recognize and render the PDF. Feature 6: Cloud Paper List and Scan in Cloud Users may add PDFs directly to their GitHub repository outside the extension. Scan in Cloud reads the repository tree once and refreshes the local PDF index so the extension can reflect the actual repository state. Feature 7: Cloud Search and Delete As the user's saved paper library grows, fast search and management become necessary. Cloud Search filters the local paper index so users can quickly find saved PDFs. Delete removes only the specific PDF explicitly selected by the user from the GitHub repository. Delete is visually separated from View and requires user confirmation to reduce accidental deletion. Feature 8: Popup Scholar Search and Context Menu Search Users can start a Google Scholar search from the extension popup or from selected text through the context menu. This reduces the need to manually open Scholar and copy/paste search terms. 3. Host Permission Justifications for Developer Dashboard `https://scholar.google.com/*` Required to detect Google Scholar result pages and inject Upload/View controls next to paper results. Also used for user-triggered Scholar search from the popup or context menu. `https://api.github.com/*` Required for GitHub API calls: repository listing, repository tree scanning, PDF upload, PDF deletion, and private file metadata lookup. `https://github.com/*` Required for GitHub Device Flow authorization page, where the user enters the device code and approves login. `https://raw.githubusercontent.com/*` Required to open PDFs stored in the user's GitHub repository as raw browser PDF documents. Optional `https://*/*` Requested only when the user clicks Upload for a paper hosted on an HTTPS publisher, library, institution resolver, or PDF source domain. Optional `http://*/*` Requested only when the user clicks Upload for a paper hosted on an HTTP source domain. This is included because some older academic resources still use HTTP links. 4. Data Use Disclosure Text The extension handles only the minimum data required to provide its features. GitHub access tokens are stored in `chrome.storage.session`; repository settings and paper index data are stored in `chrome.storage.local`. The extension does not send user data to a developer-controlled backend and does not use user data for advertising, analytics, or sale. 5. Remote Code Declaration The extension does not load or execute remotely hosted code. All JavaScript, HTML, and CSS are included in the extension package. 6. Safety and Policy Alignment - The extension uploads only papers explicitly selected by the user. - It does not publicly redistribute PDFs; it stores files only in the GitHub repository selected by the user. - It does not encourage users to make private repositories public. - It does not include a GitHub client secret. - Publisher host access is not requested globally at install time; it is requested as an optional permission when the user uploads from that domain. - Permissions are limited to the extension's single purpose. 7. Store Listing Short Description Save Google Scholar PDFs to your private GitHub repository and reopen them as a personal research cloud. 8. Store Listing Detailed Description Scholar GitHub Linker helps researchers build a private, cross-device paper library using their own GitHub repository. When browsing Google Scholar, the extension adds clear Upload and View buttons near paper results. Upload saves a user-selected PDF to the GitHub repository chosen by the user. View reopens saved PDFs from the private repository without requiring the repository to be public. The extension also includes a popup Scholar search, a cloud paper list, repository scanning, cloud search, and user-confirmed deletion for saved PDFs. Security and privacy: - Uses GitHub Device Flow; no GitHub client secret is packaged. - Stores access tokens in session storage. - Does not run a developer-controlled backend by default. - Does not sell user data or use data for advertising. - Requests publisher site access only when the user uploads a paper from that site. 9. Privacy Policy URL The Chrome Web Store requires a public HTTPS URL. `manifest.json` cannot redirect to a privacy policy URL; the URL must be entered in the Developer Dashboard. Recommended options: - Public GitHub repository: `https://github.com/SeungPyo-Jeon/Scholar-GitHub-Linker/blob/main/PRIVACY.md` If the source repository is private, do not use the private repository URL. Publish the privacy policy separately on a public page.
0 out of 5No ratings
Details
- Version1.0.0
- UpdatedJune 10, 2026
- Size137KiB
- LanguagesEnglish (United States)
- Developer
Email
tmdvy1468+developer@gmail.com - Non-traderThis developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.
Privacy
Scholar GitHub Linker has disclosed the following information regarding the collection and usage of your data. More detailed information can be found in the developer's privacy policy.
Scholar GitHub Linker handles the following:
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes