Giter Club home page Giter Club logo

vict0rsch / papermemory Goto Github PK

View Code? Open in Web Editor NEW
458.0 7.0 16.0 91.46 MB

Your browser's reference manager: automatic paper detection (Arxiv, OpenReview & more), publication venue matching and code repository discovery! Also enhances ArXiv: BibTex citation, Markdown link, direct download and more!

Home Page: https://papermemory.org/

License: MIT License

JavaScript 74.62% HTML 17.80% CSS 7.14% Python 0.44%
chrome-extension arxiv arxiv-api productivity research brave-extension brave bibtex-citation open-source firefox-addon

papermemory's Introduction

PaperMemory ⚡


🏪 Official stores
Chrome & Brave & Edge  •  Firefox

📑 Documentation
PaperMemory.org



Supported Venues  •  Customization  •  Keyboard Shortcuts  •  User Guide  •  Install from source  •  About preprints  •  Discovering code Repositories  •  FAQ

An automated, web-based and minimalist reference manager that also finds code repositories and published versions of preprints.

It is not meant to replace, rather complete more standard reference managers as Zotero etc.

This browser extension allows you to automatically store research papers you read, find a code repository and much more:

  1. 🏬 Automatically record papers you open, without clicking anywhere. You can then search them, tag them, comment them and link a code repository.
  2. 💻 Automatically find code repositories using PapersWithCode's API
  3. 🤝 Match pre-prints to publications using 4 different databases
  4. 🎬 Change a pdf's webpage title to the article's title, because who cares about that saved bookmark 1812.10889.pdf when it could be InstaGAN Instance-aware Image-to-Image Translation.pdf
  5. 🎫 BibTex citation, because citing papers should not be a hassle you can copy a BibTex citation to your clipboard or export the Memory itself as a .bib file
  6. 🔗 Markdown link, [title](url) because it's the little things that make sharing a paper easier (to be used in issues, PRs, Readme, HackMD.io etc.)
  7. 🗂 Direct download button with a nice name including the paper's title, so that you don't have to open the pdf's webpage and then download it from your browser.
  8. 📄 Go back from a pdf to its abstract page. For instance: from https://arxiv.org/pdf/1703.06907.pdf to https://arxiv.org/abs/1703.06907 in a click.
  9. 🏛️ Export your data as a .json file or a .bib full BibTex export

Share ideas 💡 in issues and love with stars ⭐️:)








Supported venues

  • Arxiv
  • BioRxiv
  • NeurIPS
  • Open Review (ICLR etc.)
  • Computer Vision Foundation (I/ECCV, CVPR etc.)
  • Proceedings of Machine Learning Research (PMLR) (AISTATS, ICML, CoRL, CoLT, ALT, UAI etc.)
  • Association for Computational Linguistics (ACL) (EMNLP, ACL, CoNLL, NAACL etc.)
  • Proceedings of the National Academy of Sciences (PNAS)
  • SciRate
  • Nature (Nature, Nature Communications, Nature Machine Intelligence etc.)
  • American Chemical Society (ACS)
  • IOPscience
  • PubMed Central
  • International Joint Conferences on Artificial Intelligence (IJCAI)
  • Association for Computing Machinery (ACM)
  • IEEE
  • Springer (books, chapters and, of course, articles)
  • American Physical Society (APS)
  • Wiley (Advanced Materials, InfoMat etc.)
  • Science Direct
  • Science (Science, Science Immunology, Science Robotics etc.)
  • FrontiersIn (Frontiers in Neuroscience, Frontiers in Neuroscience, Frontiers in Microbiology etc.)
  • PLOS
  • MDPI
  • Oxford University Press
  • HAL Archives ouvertes
  • Royal Society of Chemistry
  • Sci-Hub
  • Add more

📑—About finding published papers from preprints

Privacy

All the data collected is stored locally on your computer and you can export it to json it from the options page.

📑—More on Privacy

Feature requests

I'm regularly adding feature ideas in the issues. Feel free to go upvote the ones you'd like to see happen or submit your own requests.

Customization

Checkout 📑—All configuration options. Here's a quick overview:


a. Customize features in the menu:


b. Switch between Light and Dark mode


c. Advanced options

In the extension's 📑—options (right click on the icon or in the popup's menu) you will find advanced customization features:

  • Auto-tagging: add tags to papers based on regexs matched on authors and titles
  • Source filtering: filter out some paper sources you don't want to record papers from
  • Custom title function: provide Javascript code to generate your own web page titles and pdf filenames based on a paper's attributes
  • Data management: export/load your memory data and export the bibliography as a .bib file
  • Online Synchronization: use Github Gists to sync your papers across devices

Keyboard Shortcuts

Use cmd/ctrl+shift+e to open PaperMemory.

See other 📑—other keyboard shortcuts and how to customize them, and 📑—keyboard navigation.

User Guides

Install from source

Refer to 📑—the documentation.

Preprints

There currently exists, to my knowledge, no centralized source for matching a preprint to its subsequent published article. This makes it really hard to try and implement best practices in terms of citing published papers rather than their preprint.

My approach with PaperMemory is to try and notify you that a publication likely exists by utilizing the note field. You will occasionally notice Accepted @ X in a Paper's notes. This will be added automatically if you are on a known published venue's website (as Nature, PMLR or NeurIPS) but also from DBLB, CrossRef.org, SemanticScholar.org, Unpaywall.org or Google Scholar.

There's room for improvement here^, please contact me (an issue will do) if you want to help.

More on preprint matching 📑—in the documentation.

Discovering Code repositories

PaperMemory uses the PapersWithCode API in order to discover code repositories 🖥️

See 📑—how it works.

FAQ

📑—Frequently asked questions.

Todo

  • Improve Contributing.md
  • Write many more tests! Help is wanted (it's not so hard to write unittests 😄) (see Contributing.md)

papermemory's People

Contributors

dependabot[bot] avatar julien-blanchon avatar louisgv avatar vict0rsch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

papermemory's Issues

Automatic download PDFs without clicking "Download"

Is your feature request related to a problem? Please describe.
I love the features of caching papers that you read by downloading as PDFs in a folder. However, I often need to click "download" in order to save the PDF in the cache. It is a lot faster to load from cache than downloading the arxiv paper every time when I just need to refer to something in a paper.

Describe the solution you'd like
Since storage isn't a really issue for most people, is it possible to enable an option to save all PDFs in PaperMemory to a folder without clicking "download" all the time?

Add more venues

Citation in MLA or APA style format

It will be great if we can copy citation in MLA or APA style format as well.

  • Short author info, published venue and year can be added to the In markdown format.

同学,您这个项目引入了301个开源组件,存在1个漏洞,辛苦升级一下

检测到 vict0rsch/PaperMemory 一共引入了301个开源组件,存在1个漏洞

漏洞标题:nodejs 资源管理错误漏洞
缺陷组件:[email protected]
漏洞编号:CVE-2020-28469
漏洞描述:nodejs是是一个基于ChromeV8引擎的JavaScript运行环境通过对Chromev8引擎进行了封装以及使用事件驱动和非阻塞IO的应用让Javascript开发高性能的后台应用成为了可能。
nodejs-glob-parent 存在安全漏洞,该漏洞源于正则表达式拒绝服务。
影响范围:(∞, 5.1.2)
最小修复版本:5.1.2
缺陷组件引入路径:[email protected]>[email protected]>[email protected]>[email protected]>[email protected]>[email protected]
[email protected]>[email protected]>[email protected]>[email protected]>[email protected]>[email protected]
[email protected]>[email protected]>[email protected]

另外还有几个漏洞,详细报告:https://mofeisec.com/jr?p=i0bf5c

Paper stats

Would be cool to see paper stats, as a full page just like the options or full-memory pages.

I won't do it in the foreseeable future but it's super easy to contribute since it's a standalone basic html+js webpage

Goodnotes 5 integration

Goodnotes is an app for iPad that allows writing on pdf documents (taking notes, highlighting, etc). Really nice for reading papers.
Goodnotes 5 allows to import papers by sending them to a dedicated email address.
Having a button to send a paper to a preset email would be a nice hack to integrate with portable devices (i.e. iPads, androids, etc).
An ultimate solution would be to have a WebDAV integration so that all saved papers go straight in the cloud but I guess it's harder to implement than sending an email.

Show a list of saved tags

It could be useful to have a drop-down menu (or something similar) to show all the tags used and to select one or more tags to filter the search.

Configuration option to disable auto-add to memory and manually adding paper to memory

Is your feature request related to a problem? Please describe.

  • Sometimes I open a paper page just to quickly browse and then decide to not read it.
  • PaperMemory, however, automatically adds the paper to the store, which over time could accumulate unwanted papers in there.

Describe the solution you'd like

  • A configuration option to disable automatically adding papers to the memory
  • A button to explicitly add a paper to memory. This would be required if a user has turned off automatically adding paper to memory, and then wants to add a certain paper in there.

Allow importing entries in the same format as those exported

Is your feature request related to a problem? Please describe.
Since we can export the papers and our notes in .json. I find it a good idea to allow us to import them as well. That can help bring us some users from other bib management software, ex. Mendeley, Paperpile, etc.

Describe the solution you'd like
It should be straightforward -- just a simple sanity check on the format of the imported JSON file and reject those that are not compliant.

Additional context
That said, I cannot find the interface to export my entries tho.

Memory Pagination

Not sure the current solution will scale well when users have 100s of papers so pagination could help with time to interactive when clicking on the OpenMemory button

Sync trough Github Gists

It could be useful to add the possibility of synchronizing data between different devices.

This can be implemented using GitHub gists (the same method implemented by the old "Settings Sync" extension of VSCode https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync )

The things to do are:

  1. Add the possibility to log into Github and to add a token to create ad edit gists
  2. Export the JSON in the gist every time a paper is added or deleted (or manually)
  3. Import the JSON from the gist at the browser startup (or manually)

I really don't know how difficult could be to implement this feature but I think it will be very useful

Adding "copy markdown entry"

Thanks for the great extension!
Would it be possible to add a "copy markdown entry" in addition to a "copy bibtex entry" when clicking on arxivtools button?
Currently there is a extra click + redirect to be able to copy the markdown entry.

Make notifications for "Paper Added" optional

When visiting a new paper that's not added to the memory, the extension currently shows a notification-like popup on the right side that the paper was added to memory. This feels distracting to me and I would just like the extension to work behind the scenes.

I was wondering if you could add a setting in the extension options where we can turn off the notifications.

Custom Title Function deprecation

Custom Title function is about to be deprecated

PaperMemory displayed a warning notification because it has detected that you are using a custom
title function.

If it is not the case, you can safely ignore this warning.

If you do however use a custom title function, be aware that this
functionnality will be removed in version 6.0.

Why?

Mostly because of safety, code quality and accessibility.

The vision for this feature is to make it modular but not code-based. Something like asking you for a
list of attributes you want to be part of the title and potenlially lower/upper case or
capitalizing.

This vision is not fully-shaped but I wanted to give you a proper heads-up to give you time to
adjust.

What should you do about it?

If you're happy with the vision for this feature, you don't have anything to do about it.

If you want to keep the feature as is, let's discuss here

THANK YOU SO MUCH

I don't have an issue to report. I just want to say, THANK YOU SO MUCH for this mind-blowingly amazing tool. I dreamed of such a plugin before, and can't believe it has become reality. The beautiful UI, clean export, and automatic conference venue linking ... that's all I ever wanted. I have no clue why Mendeley/Zotero/ReadCube cannot deliver such high-quality features with their bloated teams of engineers. I could've saved more productive hours for research had I discovered your repo earlier!

Please keep up the great work! Thanks again for your great service to the community.

Store the top k most frequently opened papers in the last Y days into the cache

Is your feature request related to a problem? Please describe.
It is a bit repetitive to download paper PDFs into the cache folder for a set of papers that we often need to open during a given period.

Describe the solution you'd like
Can we have an option to store the top k most frequently opened papers in the last Y days into the cache? (Maybe also optionally allow another set of papers to be always in the cache) This is handy for people who only need to search for something specific in a paper, as we don't need to wait for the paper to be downloaded every time.

no reaction after clicking the PaperMemory button

Hi, @vict0rsch ,

Thanks for your great work! I have tried your PaperMemory and find it pretty useful!

However, I don't know if it only happens to me that the panel will not appear or slowly after I click the PaperMemory button.

Is it a bug to be fixed or optimized?

Sincerely,
Feng Gao

Import json data

You can download your ArxivMemory's data as a .json file.

We could add a feature to be able to import it.

Add Arxiv Vanity

Add a direct link to https://www.arxiv-vanity.com/papers/<paperID>/

Only one paper is saved when opening multiple papers at the same time

Describe the bug

When I open multiple papers from a bookmark folder at the same time (i.e. using "open all tabs in a new window"), only the paper in the first tab is saved.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the bookmark manager
  2. Right click on a folder and select "open all in a new window"
  3. Other tabs except the first one are not saved

Expected behavior
All tabs are saved.

Desktop (please complete the following information):

  • OS: macOS Monterey
  • Browser: Chrome
  • Version: 99.0.4844.51
  • PaperMemory version: 0.4.4.1

Thank you!

Auto tagging from user regex

idea: create an options page to have more room to deal with it (or use a modal?) and allow the user to provide pairs (regex, tag) for PaperMemory to auto tag papers based on titles

Google UI partially breaks when using extension

Icons in both the GMail and Google Calendar web interfaces get squeezed or misaligned when PaperMemory is activated.

Desktop (please complete the following information):

  • OS: MacOS Monterey
  • Browser chrome
  • Version 100
  • PaperMemory version 0.5.2

Screenshot 2022-05-04 at 18 25 27

Screenshot 2022-05-04 at 18 25 52

Add reading lists

There could be an option to mark a paper as "To Read" and filter them within the Memory

Option to generate bibtex from other sources DBPL

An option to generate bibtex from Google Scholar, Semantic Scholar.

For example, one click https://arxiv.org/abs/1602.07261

Instead of showing this
image
It can show this

@article{szegedy2016inception,
  title={Inception-v4, inception-resnet and the impact of residual connections on learning (2016)},
  author={Szegedy, Christian and Ioffe, Sergey and Vanhoucke, Vincent and Alemi, Alex},
  journal={arXiv preprint arXiv:1602.07261},
  year={2016},
  publisher={CoRR}
}

Pdf title

"""
Hi, how can I customize PDF file renaming rule? Can I capture first author name and published date as keys, e.g. InstaGAN Instance-aware Image-to-Image Translation_Mo_2019.pdf?
"""
@QiuJueqin

Add link to SciRate as well

Is your feature request related to a problem? Please describe.
I often like to go to the paper's scirate.com page when I stumble upon an arXiv paper to see what others in the community think of it or to rate it myself.

Describe the solution you'd like
SciRate pages are linked as, e.g. for https://arxiv.org/pdf/2112.10677.pdf -> https://scirate.com/arxiv/2112.10677 I use this extension for switching between PDF and response page all the time, it will be nice to also have a button to take me to the corresponding SciRate page.

Additional context
NA

Add some features (filter, switch for venues ...)

Thank you very much @vict0rsch! I feel very lucky to come across this project. I was relying on my forked project to store visited papers as bookmarks. But recently it doesn't work somehow (probably due to manifest v2 -> v3 migration). Your project is a LIFESAVER !!!

Based on my experience, I believe these features can be useful:

  • A switch for each venue in the setting page (e.g., only record arxiv and openreview papers)
  • Filter the search results by year/month
  • Helper message when hovering on the icon (copy link, download etc.)
  • A switch that allows storing papers only happens when PDF is opened (because a lot of time, we don't really want to save a paper after scanning its abstract)

Thank you! And by the way, do you have a buymeacoffee link? I am happy to support.

Arxiv-Vanity citations

"The particular citation that you are showing in the popup looks incomplete. (It's an arXiv paper itself, with a missing arXiv number that should probably be in the volume field or something?) But I assume that's an underlying error in the .bib file for this particular paper, not the fault of ArxivTools.

Do the bib entry popups also work in the bibliography (list of references), or only in citations for the entries that are actually \cited rather than \nocited?"
v

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.