{"id":19418454,"url":"https://github.com/simonsejse/overleafcopyandpaste","last_synced_at":"2025-04-24T13:34:45.916Z","repository":{"id":183307901,"uuid":"669915624","full_name":"simonsejse/OverleafCopyAndPaste","owner":"simonsejse","description":"A Google Chrome extension with the sole purpose of adding copy and paste functionality to Overleaf on your Chrome browser.","archived":false,"fork":false,"pushed_at":"2024-05-13T12:17:57.000Z","size":5308,"stargazers_count":17,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T06:11:44.437Z","etag":null,"topics":["chrome-extension","clipboard-management","copy-paste","image-upload","latex","open-source","overleaf","productivity-tool"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonsejse.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}},"created_at":"2023-07-23T21:00:13.000Z","updated_at":"2024-10-17T09:29:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"fec73e2b-b219-4777-8571-bd64a1cbc5ae","html_url":"https://github.com/simonsejse/OverleafCopyAndPaste","commit_stats":null,"previous_names":["simonsejse/overleafcopyandpaste"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsejse%2FOverleafCopyAndPaste","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsejse%2FOverleafCopyAndPaste/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsejse%2FOverleafCopyAndPaste/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsejse%2FOverleafCopyAndPaste/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonsejse","download_url":"https://codeload.github.com/simonsejse/OverleafCopyAndPaste/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250636628,"owners_count":21463114,"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","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":["chrome-extension","clipboard-management","copy-paste","image-upload","latex","open-source","overleaf","productivity-tool"],"created_at":"2024-11-10T13:14:02.440Z","updated_at":"2025-04-24T13:34:45.356Z","avatar_url":"https://github.com/simonsejse.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003csvg width=\"100%\" height=\"100%\" id=\"svg\" viewBox=\"0 0 1440 390\" xmlns=\"http://www.w3.org/2000/svg\" class=\"transition-all duration-300 ease-in-out delay-150\"\u003e\n    \u003cdefs\u003e\n        \u003clinearGradient id=\"gradient\" x1=\"0%\" y1=\"50%\" x2=\"100%\" y2=\"50%\"\u003e\n            \u003cstop offset=\"5%\" stop-color=\"#F78DA7\"\u003e\u003c/stop\u003e\n            \u003cstop offset=\"95%\" stop-color=\"#8ED1FC\"\u003e\u003c/stop\u003e\n        \u003c/linearGradient\u003e\n    \u003c/defs\u003e\n    \u003cpath d=\"M0,400 C0,400 0,320 0,320 C180,320 260,260 440,260 C620,260 700,320 880,320 C1060,320 1140,260 1320,260 C1500,260 1440,400 1440,400 Z\" stroke=\"none\" stroke-width=\"0\" fill=\"url(#gradient)\" fill-opacity=\"1\" class=\"transition-all duration-300 ease-in-out delay-150 path-2\" transform=\"rotate(-180 720 200)\"\u003e\u003c/path\u003e\n\u003c/svg\u003e\n\n![wave (3)](https://github.com/simonsejse/OverleafCopyAndPaste/assets/20711558/0ea79561-a1ea-428c-9d03-5f62eeaa6caf)\n\n# 🌸 OverleafCopyAndPaste\n\n[![JavaScript ES6](https://img.shields.io/badge/JavaScript-ES6-yellow.svg)]()\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/simonsejse/OverleafCopyAndPaste/pulls)\n[![GitHub stars](https://img.shields.io/github/stars/simonsejse/OverleafCopyAndPaste)](https://github.com/simonsejse/OverleafCopyAndPaste/stargazers)\n[![GitHub last commit](https://img.shields.io/github/last-commit/simonsejse/OverleafCopyAndPaste)](https://github.com/simonsejse/OverleafCopyAndPaste/commits/main)\n\nA Google Chrome extension with the sole purpose of adding copy-and-paste functionality to [Overleaf](https://www.overleaf.com/) on your Chrome browser. It provides a critical feature that enables users to easily upload images from their clipboard with a simple ctrl+c and ctrl+v operation, eliminating the tedious task of saving and manually uploading images. With OverleafCopyAndPaste, you can focus more on your content and less on the process, enhancing productivity and efficiency when using Overleaf.\n\n## ⚙️ Functionality\n\nOne of the most frustrating aspects of creating documents or reports on Overleaf is the lack of a simple clipboard upload feature.\nResulting in that when you need to upload a picture and you use a cutting tool for capturing the image, you can't upload it directly using the CTRL+V shortcut.\nInstead, you manually have to save the picture and drag 'n drop the picture onto Overleaf to upload the picture.\nThis short but very needed functionality will allow you to paste images from your clipboard easily with just a click of a button.\n\n**📸 Demonstration** Here is a gif of me taking a screenshot and using `ctrl+c` and `ctrl+v` to paste it into my assets folder\n\n\u003cimg src=\"/images/how_to_use.gif\" style=\"width:700px;\" alt=\"functionality gif\"/\u003e\n\n**🌀 Very flexible**\nAt present, this extension operates by accessing your clipboard data, which offers highly flexible functionality. For example, you're able to select specific areas within images, simply press ctrl+c to copy, then paste into Overleaf with ctrl+v, resulting in only your selected area being transferred. A demonstration GIF will be provided soon.\n\n## 🔧 How to install\n\nThe installation only takes around 20-25 seconds, so what are you waiting for? Go to [releases](https://github.com/simonsejse/OverleafCopyAndPaste/releases) and download the newest stable version. If you're looking to further develop head to the **👨‍💻 How can I contribute?** section.\n\n**📸 Installation** Here is a gif provided of me installing the extension from the release files.\n\n\u003cimg src=\"/images/how_to_install.gif\" style=\"width:700px;\" alt=\"functionality gif\"/\u003e\n\n## 📁 Folder extensions supported\n\nThe folders currently supported in the Chrome Extensions are the following below in the same priority order. That means you just have to have one of the following folders created inside your overleaf project and the extension will find one of these folders by itself.\n\nhttps://github.com/simonsejse/OverleafCopyAndPaste/blob/437e795c640f83927ad504075c4b67b876e9fb26/src/imageProcessor.js#L17-L30\n\nIf you believe that another name should be added, feel free to create a Pull Request. Simply include the new name in the array and provide a mention of it. I will happily accept the request if the name is deemed to be common and useful.\n\n## 🔄 Backlog\n\nDo you have any cool features that could potentially be added to the backlog, do not hesitate to create a pull request and request these changes/features or bugs in the backlog.\n\n### ✨ Features\n\n- [x] Upload images by pasting `CTRL+v`\n- [x] Upload multiple images by pasting `CTRL+v`\n- [ ] When `CTRL+v` inside the text area it both adds the image from the clip holder to the desired image folder, but also inserts `begin{figure}...\\end{figure}` text from LaTeX (https://github.com/simonsejse/OverleafCopyAndPaste/issues/1).\n- [ ] Add functionality to paste all kinds of files, currently only image extensions are accepted.\n- [ ] Add support for folders (https://github.com/simonsejse/OverleafCopyAndPaste/issues/4)\n\n### 🐞 Bugs\n\nCurrently, no known bugs exist...\n\n## 🤲 Contribution\n\nA big thank you to everyone who's helped improve OverleafCopyAndPaste! If you decide to contribute to the project, you will be mentioned in the section below.\n\n### 👨‍💻 How can I contribute?\n\nContributing to OverleafCopyAndPaste is straightforward and appreciated! Here's how you can do it:\n\n1. **Fork and Clone the Repository**: Click on the 'Fork' button at the top right corner of this page and clone your forked repository to your local machine.\n\n2. **Install Dependencies**: After cloning the project, navigate into the project's root directory and run `npm install`. This command installs all the dependencies required for the project as specified in the package.json file.\n\n3. **Set up the project**: To run the project, you need to generate a 'content-scripts-output.js' file inside the 'dist/' folder in the root folder. This can be done by running `npm run build` from the root directory. It uses Webpack to generate all the content needed in the content-script file.\n\n4. **Create a new branch**: Switch to your local repository and create a new branch for your feature, bug fix, or documentation enhancement.\n\n5. **Make changes**: Apply your changes and improvements to this new branch.\n\n6. **Commit and push**: After making all your changes, commit them to your branch and then 'push' the changes to your forked repository on GitHub.\n\n7. **Create a Pull Request (PR)**: On your GitHub repository, click 'New Pull Request' and select your branch to merge to the main branch of OverleafCopyAndPaste. Submit your PR with a clear title and detailed comments explaining your changes.\n\n### 🤝 Contributors\n\n\u003ca href=\"https://github.com/simonsejse/OverleafCopyAndPaste/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=simonsejse/OverleafCopyAndPaste\" width=\"13%\" height=\"13%\" /\u003e\n\u003c/a\u003e\n\n## 📄 License\n\nCopyright 2023 Simonsejse\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsejse%2Foverleafcopyandpaste","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonsejse%2Foverleafcopyandpaste","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsejse%2Foverleafcopyandpaste/lists"}