Copy with Footnotes

by Systina12
5
4
3
2
1
Score: 50/100

Description

Reviews

No reviews yet.

Stats

0
stars
290
downloads
0
forks
32
days
16
days
16
days
1
total PRs
0
open PRs
0
closed PRs
1
merged PRs
0
total issues
0
open issues
0
closed issues
9
commits

Latest Version

16 days ago

Changelog

Copy with Footnotes 0.2.2 is a patch release for Obsidian 1.8.7 and later. Experimental Paste remains disabled by default.

  • Copying a selection that contains only part of a referenced definition now keeps the selection intact, without adding a duplicate definition marker.
  • Copying with multiple editor selections now gives a clear notice instead of silently copying just the primary selection.
  • Paste reuses definitions by comparing actual reference spans and indexes compatible candidates by ID family and content. This avoids regular-expression backtracking and repeated scans of unrelated definitions.
  • Markdown context checks use indexed protected ranges, improving performance in notes with many code or comment spans.

Validation: 535 automated tests passed, including stored Obsidian 1.8.7 and 1.13.7 metadata fixtures. Lint, type checking, production build, and CI passed. The native metadata workers and an installed Obsidian application were not rerun for this patch release. See the review for the detailed changes and limits.

Download main.js and manifest.json below to install manually. No CSS file is required.

README file from

Github

Copy with Footnotes

Copy selected Markdown together with its referenced footnote definitions.

Example

Before, in the source note:

Interesting result.[^smith]

...other content...

[^smith]: Smith et al., 2024.

Select:

Interesting result.[^smith]

After copying, on the clipboard:

Interesting result.[^smith]

[^smith]: Smith et al., 2024.

Usage

  • Command Palette -> Copy selection
  • Right-click selected text -> Copy with footnotes

Requires Obsidian 1.8.7 or later, in Source mode or Live Preview.

Experimental Paste

In the plugin settings, turn on Enable paste with footnotes. Use Paste clipboard in the Command Palette or Paste with footnotes in the editor menu. Choose the nearest block, the next block, or the end of the note, and insert definitions before or after that block. Existing definitions are reused or incoming IDs are renamed when needed. Details.

Local Installation

Use a supported LTS Node.js release. Run npm ci, npm run lint, npm test, and npm run build. Put main.js and manifest.json in <vault>/.obsidian/plugins/copy-with-footnotes/, then enable Copy with Footnotes in Community plugins. No CSS file is needed.

API findings and release checks: Verification.

Latest source review: Code review, 2026-09-23.