-
-
Save acsr/7fced5d3f238dc6180fcdb76c9f82803 to your computer and use it in GitHub Desktop.
<%- for (const item of it.items) { | |
const [ , kind, lib, key ] = item.uri.match(/^https?:\/\/zotero\.org\/(users|groups)\/((?:local\/)?[^/]+)\/items\/(.+)/) | |
const select = (kind === 'users') ? `zotero://select/library/items/${key}` : `zotero://select/groups/${lib}/items/${key}` | |
const relations = [] | |
if (item.relations) { | |
for (const [kind, rels] of Object.entries(item.relations)) { | |
for (const rel of rels) { | |
relations.push(rel) | |
} | |
} | |
} | |
-%> | |
- ### <%= item.title %> | |
<%- if (item.creators.length) { -%> | |
<%= "\n" %>creators:: <% item.creators.forEach((creator, i) => { %><%= creator.creatorType %>: <%= creator.name || `${creator.firstName || ''} ${creator.lastName || ''}`.trim() %><% if (i < item.creators.length - 1) { %>, <% } %><% }) %> | |
<%- } -%> | |
<%- if (item.url) { -%> | |
<%= "\n" %>url:: <%= item.url %> | |
<%- } -%> | |
<%- if (item.tags.length) { -%> | |
<%= "\n" %>tags:: <% item.tags.forEach((tag, i) => { %>#[[<%= tag.tag %>]]<% if (i < item.tags.length - 1){%>, <%}%><% }) %> | |
<%- } -%> | |
<%- if (item.citationKey) { -%> | |
<%= "\n" %>zotero:: [@<%= item.citationKey %>](<%= select %>) | |
<%- } -%> | |
<%= "\n" %> | |
<%- if (item.abstractNote) { -%> | |
<%= "\r" %> - #### abstractNote | |
<%="\r"%><%=item.abstractNote%> | |
<%- } -%> | |
<%- if (item.notes.length) { -%> | |
<%= "\r" %> - #### Notes | |
<%- for (const note of item.notes) { -%> | |
<%= "\r" %> - ##### Note [<%= note.key %>](<%= note.uri %> "URI Link") | |
<%~ note.note %> | |
<%- } -%> | |
<%- } -%> | |
<%- if (relations.length) { -%> | |
<%= "\r" %> - #### Relations | |
<%="\r"%> collapsed:: true | |
<%- for (const rel of relations) { -%> | |
<%= "\r" %> - <%= rel %> | |
<%- } -%> | |
<%- } -%> | |
<%- if (item.rights) { -%> | |
<%= "\r" %> - #### Rights | |
<%= "\r" %> - <%= item.rights %> | |
<%- } -%> | |
<% } %> |
Revison 8 fixes the missing separator between multiple selected Zotero items in the created markdown.
There is maybe another issue with relations, I need to test in a second step. See retorquere/zotero-better-bibtex#2791 (comment) and followup for more details
Revision 10 fixes an obsolete added leading space char in abstract notes (Rev 9 contained a remaining space too)
Revision 11 adds a property collapsed:: true
after the Revisions list to collapse long lists by default. The actually broken link issue transformation remains unchanged but can be solved later.
Footgun: After pasting the markdown, Logseq does not take the collapsed property until a reindex of the page. (This can only be forced on per page basis by a workaround editing page the md file in a text editor (for new files: leave the page and come back. Then the page can be edited by the menu Open Page in default editor
once it is openend in a text editor add a minor one character edit, save, reverse the edit and save again. (Just touching is not enouch). Other tricks to reindex just this page are welcome.
This gist was experimentally cloned and I moved the revision states until and including revision 11 of this gist to a new public full fledged repo at https://github.com/acsr/Zotero-BetterBibTeX-QuickCopy-eta-template .
I am trying to preserve the comments in the new repo by migrating the comments from this gist to a discussion in the new repo. I successfully exported all the former comments as JSOn via the Github API
and using Github CLI
Why? I want to allow to manage the further development and even migration to another approach by an dedicated Issue Tracking workflow in this repo. Also the Wiki allows to add some illustrated examples and explain the use cases and limitation of this tool for others.
On the select links for Zotero
I was involved in the translation of the manual for the Zutilo Plugin and proposing some enhancements. I heavily use the Zutilo Plugin to catch Zotero select item links and those to link to collections in Zotero groups. It is not trivial to manage the lifecycle of links spanning more than 20 years.
There was an issue with the select links in your report customizer plugin because of differences in links for groups or the main library. You fixed it soon. I am missing it currently a lot. It has provided those links as well going beyond standard Zotero.
When pasting those links without any dynamic updates, there is also a challenge when the target is gone or moved, changed context or ID and you have no clue left where it belongs to. Using full UUIDs for references like in Logseq does not protect against link loss just against ambigous IDs. Keeping a full history of changes and previous parents or origin UUID bloats the data up, but there is no workaround.
Content Lifecycle Management
I use Zotero since 2009 and try to keep my data alive over long lifecycles. I use my data archives and migrate them to be readable since the 1980ties. It is not trivial and challenging.
The transformation of links and keeping the history is a challenge you also have to tackle with your citations. Reorganizing items can lead to lots of broken relations. They are human readable. But editing useless titles can break everything.
We also have this challenge in Logseq with links across knowledge graphs. Using both Logseq and Zotero is crucial for me today. The referenced data and metadata is stored in Zotero first, the the contents abstractions and notes are exposed into Logseq and complex relations, tags and queries with backlinks and crossreferences can be created there. So the postprocessing of the cited stuff is going beyond Zotero. And it should be kept seperated. Then publishing workflows start and the nightmare continues.
Saving comments over the lifecycle of documents and sharing with different users
When it comes to commenting website content there were nice features in the early Zotero versions. Today we have commenting / Annotations back for PDF. But the workflwos are challenging, when you have to maintain research over decades. On paper ist was more reliable but not so efficient. But to be effective you need to create content that is reliable over time. Or we may loose serious results of the current scientific research.