lib/jekyll/zettel/references.rb in jekyll-zettel-0.6.10 vs lib/jekyll/zettel/references.rb in jekyll-zettel-0.7.0

- old
+ new

@@ -40,16 +40,32 @@ register_reference(doc, file) end def register_reference(doc, file) - if doc.data['reference'].include?('id') - @site.data['references'][doc.data['reference']['id']] = doc.data['reference'] + if doc.data['reference'].include?('citation-key') && doc.data['reference'].include?('id') + # + # Citeproc erwartet sich eine id, die dem citation-key entspricht, + # in den References (references.json) brauche ich jedoch die id des + # Zettels, um in diversen Anwendungen darauf referenzieren zu können. + # Also wird die id des Zettels zwischengespeichert und für die + # Registrierung bei Citeproc durch den citation-key ersetzt. + # + # ACHTUNG! + # Beim Übernehmen einer Reference aus Citavi muss die id manuell auf + # die id des Zettels gesetzt werden! + # + # store + id = doc.data['reference']['id'] + @site.data['references'][doc.data['reference']['citation-key']] = doc.data['reference'] + # set id for Citeproc and register Item + doc.data['reference']['id'] = doc.data['reference']['citation-key'] @site.config['citeproc'].register doc.data['reference'] - doc.data['citekey'] = doc.data['reference']['id'] + # restore + doc.data['reference']['id'] = id else - Jekyll.logger.warn LOG_KEY, 'missing property @id' - Jekyll.logger.warn '', "./#{file}" + Jekyll.logger.warn LOG_KEY, 'missing property @citation-key' + Jekyll.logger.warn '', file end end end end