Very briefly, it depends on Pandoc with citeproc, and vim (lately nvim) with the vim-markdown plugin, which adds hiding to citeproc links, making the text easier to read in the editor.
Next I have bibliographic information on every source that I use stored in a postgres database. I have a collection of scripts (in lua, python, bash, ...) so I can do what I want within the editor: supply a URL and have some information scraped from the page and stored in a note, one file per resource, with bibliographic information in YAML blocks and anything else that I want to add. Another script stores the important information from the YAML blocks into the database. I have a script that builds a bibtex file from the citeproc links in my document, for formatting bibliographies in the final version. I can generate HTML, PDF, DOCX, or plain text from the same source.
The pleasure comes from having a set of keyboard shortcuts that let me jump instantly from a citeproc tag to my notes file, a local copy of the resource, or the copy on the web; also to search for notes with keywords, and a few more things. I can select part of my text and hit two keys to transform it into plain text or HTML with properly formatted links and references.
For each notes file corresponding to a resource another keyboard shortcut brings up the list of articles referring to it, and I have a script to draw a graphviz graph of this reference network.
I’ve built this up over the years; it’s a mess and no one else should use it. Maybe I’ll clean it up some day. It’s really paying off now for me though: I’m writing a book with about 50 references for each chapter; it would be unmanageable without some kind of system.
I know that there’s Zotero and other systems out there. But I prefer that this work in the peculiar way that I like; these systems tend to become brain extensions and are somewhat personal.
Next I have bibliographic information on every source that I use stored in a postgres database. I have a collection of scripts (in lua, python, bash, ...) so I can do what I want within the editor: supply a URL and have some information scraped from the page and stored in a note, one file per resource, with bibliographic information in YAML blocks and anything else that I want to add. Another script stores the important information from the YAML blocks into the database. I have a script that builds a bibtex file from the citeproc links in my document, for formatting bibliographies in the final version. I can generate HTML, PDF, DOCX, or plain text from the same source.
The pleasure comes from having a set of keyboard shortcuts that let me jump instantly from a citeproc tag to my notes file, a local copy of the resource, or the copy on the web; also to search for notes with keywords, and a few more things. I can select part of my text and hit two keys to transform it into plain text or HTML with properly formatted links and references.
For each notes file corresponding to a resource another keyboard shortcut brings up the list of articles referring to it, and I have a script to draw a graphviz graph of this reference network.
I’ve built this up over the years; it’s a mess and no one else should use it. Maybe I’ll clean it up some day. It’s really paying off now for me though: I’m writing a book with about 50 references for each chapter; it would be unmanageable without some kind of system.
I know that there’s Zotero and other systems out there. But I prefer that this work in the peculiar way that I like; these systems tend to become brain extensions and are somewhat personal.