retorquere / zotero-sync

https://retorque.re/zotero-sync/
GNU Affero General Public License v3.0
33 stars 3 forks source link

Add event for removing objects #4

Closed cboulanger closed 3 years ago

cboulanger commented 3 years ago

Tested this locally

retorquere commented 3 years ago

The .d.ts files should not have been checked in as they are generated; I amended that in the repo, if you can delete them from the PR I'll be happy to merge.

cboulanger commented 3 years ago

Done. I'm still learning TypeScript so there might be a glitch here and there

retorquere commented 3 years ago

Looks good to me.

cboulanger commented 3 years ago

Tada! First store implementation:

https://github.com/cboulanger/zotero-sync-couchbase/

I am sure many others will follow. I'll work on a Bookends one next, I have already some preliminary work done: https://github.com/cboulanger/bookends-api . Doesn't this also call for a BibTeX Store - I would think a lot of folks would be thrilled to have an automatically updated BibTeX copy of their Zotero databases. But maybe you've already implemented in one of your plugins (I wouldn't know since I don't use BibTeX).

I am glad this forced me to learn TypeScript - very helpful! It might be good, though, to add some JSDoc comments eventually for non-TypeScripters. Maybe when the API is fully stable.

retorquere commented 3 years ago

That's what I'm working on -- it's why I needed this sync. What I'm working towards is a npm-installable stack that you can use to sync zotero, generate bib(la)tex using BBTs translators, and then push to Overleaf, all without Zotero running.

retorquere commented 3 years ago

I am glad this forced me to learn TypeScript - very helpful! It might be good, though, to add some JSDoc comments eventually for non-TypeScripters. Maybe when the API is fully stable.

I'm not stopping you 😉

retorquere commented 3 years ago

(you don't technically need to use typescript to use this -- the generated .js files are plain-Jane javascript, but I wouldn't think of starting new work without typescript)

retorquere commented 3 years ago

You can leave always leave off /index off for node here. For deno, you'd have to add .js.

retorquere commented 3 years ago

Done. I'm still learning TypeScript so there might be a glitch here and there

Same here.

Tada! First store implementation:

https://github.com/cboulanger/zotero-sync-couchbase/

Nice! I'm glad you brought up the idea of a configurable store; I'll actually need one because I'll have to assign citation keys at add for bibtex.

cboulanger commented 3 years ago

We should agree on a GitHub Topic to make the store implementations discoverable - I suggest zotero-sync haha (I have added this also as a NPM keyword).

retorquere commented 3 years ago

I don't know what GitHub Topics are.

cboulanger commented 3 years ago

The keywords with which you can tag your repository in the GitHub UI:

https://docs.github.com/en/github/administering-a-repository/classifying-your-repository-with-topics

They are also queryable in the GitHub API, which can be used for programmatic discovery.

cboulanger commented 3 years ago

https://github.com/topics/zotero-sync