Once a colleague, once again finding an interesting article on google scholar did a million moves – well, you know, for citation you need to click on the quotes under the article, and then in the opened window select the file format (BibTeX, EndNote, RefMan, RefWorks) and download it to put into the corresponding program. In addition, of course, download the article itself with sciHub – open sciHub, insert the previously copied link to the article – and download. And suddenly, looking at me – “you’re a programmer!”.
“Can you do it all in one click?” After a moment thinking – why not?
I took up this business – of course it will be chrome extension . As it turned out, there are a lot of information about extensions creation, but most of it is not entirely up to date, just like the documentation from Google . Ok, had poking and understanding how it works by doing mistakes, went to screw the desired functionality.
Inserting the button was not difficult. Further it turned out that the links for the citation files (for example, scholar.enw) are not static. It seems to me that Google generates links depending on the user logged in. Big brother, hello! It’s clever to know who is downloading interesting articles. So, to download – in any case, you have to open the ‘Cite’ window. And of course it’s impossible to click right away – just using setTimeout . Unpleasant, because you need to set the waiting time, sometimes half a second is enough, and sometimes two are few .. Nothing better I found until now 🙁
With sciHub it was a bit easier. The only thing that bothered me was that chrome automatically opened the downloaded pdf. Yes, to open an article you just need to glue a link to sciHub and to the article sciHubLink + articleLink
To make downloads work – do not forget to put permissions in manifest.json
Actually here is the extension itself . In the chrome store you can not post it – there are not friends with sciHub.
PS. The extension does not work in all cases, seems like it is not working with articles on sites without ssl (http which). Maybe with something else. And it can be broken at any time, if Google suddenly renames one of hardcoded in extension tags on its search page. But while it’s convenient 🙂