Skip to content

Feature Proposal: Citations in Wiki Markdown #9333

@wtraylor

Description

@wtraylor

Background

When I write Markdown documents, I generally work with Pandoc and pandoc-citeproc to include literature references from a BibTeX bibliography file.

Proposal

Benefits

Including citations in Pandoc syntax in the OSF Wiki would be useful:

  • Scientific documents are full of references, and defining them manually (as hyperlinks or footnotes) is cumbersome and prone to errors.
  • An existing Pandoc markdown file could be copied as is into the Wiki or directly uploaded.

Suggested Behavior

  • A user uploads a BibTeX file to a project’s OSF storage.
    • Either there is a button to define this file as the Bibliography of the project,
    • or the OSF engine automatically recognizes a file named bibliography.bib as the project’s Bibliography.
    • Alternatively to an uploaded BibTeX file, perhaps an integration with the OSF citation add-ons might be possible.
  • Citations in Markdown files of the Wiki and in the OSF storage are parsed from the project’s Bibliography. A reference section is appended at the end of the Markdown file.
    • The user should be able to define the heading of the reference section manually in order to integrate with languages other than English.
  • The citation syntax can be much simpler than the Pandoc syntax because OSF doesn’t need to render print-ready output. A minimum subset of Pandoc’s features could look like this:
    • @brown1999 say that … → “Brown et al. (1999) say that”
    • Prior research [@brown1999] suggests that … → “Prior research (Brown et al. 1999) suggests that …”
    • Prior research [@brown1999; @smith2000] suggests that … → “Prior research (Brown et al. 1999; Smith & Fox 2000) suggests that …”
  • Ideally, a user-provided or user-selected CSL file would define the citation style, but in order to start simple, one predefined style would be good enough: either author-number or author-year.

Implementation Ideas

I could not find a Markdown-It plugin for citations. Perhaps that would need to be implemented from scratch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions