Commit graph

86 commits

Author SHA1 Message Date
Moy
f646ba8196 ci: fix release workflow for vitest compatibility 2026-04-22 13:00:28 +08:00
Moy
a07b499f4a build: 1.5.3 2026-04-22 12:58:16 +08:00
Andre Light
60e451db9f fix: sanitize heading link targets and fix substring matching
Strip # | ^ : %% [[ ]] from heading link targets to match Obsidian's
autocomplete behavior. Fix compareIgnoreCase to use strict equality
instead of includes(), preventing false-positive note-link simplification.
2026-04-22 12:55:29 +08:00
Andre Light
d6f6678b38 docs: add CONTRIBUTING.md with development and testing instructions 2026-04-22 12:38:52 +08:00
Andre Light
87692e012f test: add vitest harness with pure function extraction for link builders 2026-04-22 12:38:52 +08:00
Andre Light
7be3eee3b3 Fix: encode spaces as %20 in generated Markdown link URLs
Obsidian doesn't parse Markdown links with literal spaces in the URL
portion (e.g. `[text](file#My Heading)`). This encodes spaces as `%20`
in the URL part of all Markdown-format links — heading links, block
links, and file links — so they render correctly.

Closes #29

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:04:29 +08:00
Moy
f8c341c51b build: 1.5.2 2026-04-02 20:18:08 +08:00
Moy
14a98fa8e1 build: 1.5.2 2026-04-02 20:11:11 +08:00
Moy
68f239900b build: 1.5.1 2025-12-12 00:21:09 +08:00
Moy
d1b4aa4587 chore: add icon for plugin 2025-12-12 00:20:33 +08:00
Moy
5d977b8197 build: update the dependencies 2025-11-05 19:21:02 +08:00
Moy
23cc7622b1 refactor: lint 2025-11-05 17:24:02 +08:00
Moy
2278508ed6 build: add obsidian eslint 2025-11-05 17:08:41 +08:00
Moy
d716806092 build: 1.5.0 2025-11-05 13:54:17 +08:00
Moy
a20a9911f9 feat: support configurable block ID insertion position 2025-11-05 13:52:43 +08:00
Moy
bf98aeaa09 bump version to 1.4.0 2025-10-21 17:15:20 +08:00
Moy
cd9c1e06bd feat: add simplified-heading-to-note-link setting
Introduce a new boolean setting simplifiedHeadingToNoteLink to
allow simplifying heading links into note links when the filename
matches the heading. Update default settings to enable the option.

Add related i18n keys and translations across en/zh/zh-tw:
- note-link-simplified
- simplified-heading-to-note-link
- simplified-heading-to-note-link-desc

Update settings UI to expose the toggle with description and save
behavior, and re-render the settings panel when toggled.

These changes improve UX by letting users copy a simpler note link
instead of a filename#heading link when the filename corresponds to
the heading (commonly for top-level headings).
2025-10-21 17:15:20 +08:00
Moy
faba964011 build: 1.3.5 2025-09-15 20:21:55 +08:00
Moy
265eadae41 feat: add block display text limit settings
Add configurable limits for generated block display text and wire them
through UI, defaults, localization, and usage logic.

- Add blockDisplayWordLimit and blockDisplayCharLimit to settings with
  defaults (3 words, 5 chars).
- Expose new settings in the Settings tab show the two limit inputs
  only when autoBlockDisplayText is enabled and save changes.
- Use the configured limits in main generation logic (fall back to
  defaults if unset) to trim English-like text by words and other
  languages by characters.
- Add i18n keys and translations for labels and descriptions in all
  languages.

This allows users to control how much text is included when the plugin
auto-generates display text for block links.
2025-09-15 20:17:59 +08:00
Moy
e2d1ff6270 feat: prefer frontmatter title for heading link display
Update copyHeading to use frontmatter when configured.
 useFrontmatterAsDisplay is enabled, read the active file's
frontmatter key (configurable via frontmatterKey, default 'title')
and use that value as the filename portion of the display text.
Preserve existing behavior when frontmatter is absent.

Also adjust heading link generation to avoid redundant display
text: if the computed display text exactly equals
"filename#heading", emit a simple [[filename#heading]] link
instead of including an identical pipe-qualified label.

These changes make generated heading links respect a frontmatter
display name and produce cleaner links when the label would
duplicate the target.
2025-09-15 19:43:02 +08:00
Moy
df9494ed7d Bump version to 1.3.4 2025-09-15 18:42:16 +08:00
Moy
f4bb658d63 feat: add heading-link-separator setting and UI support
Introduce a new setting `headingLinkSeparator (default '#')
customize the separator used between filename and heading when the
"Use heading as display text" option is disabled.

- Add `headingLinkSeparator` to settings type and defaults.
- Add localization keys and translations (en/zh/zh-TW) for the new
  setting and its description.
- Update settings UI to render a text input for the separator and
  re-render when "use heading as display text" toggles so the control
  shows/hides correctly.
- Use the configured separator when composing display text for heading
  links.
- Simplify a Wiki-link conditional to avoid redundant `useHeadingAsDisplayText`
  check when filename equals selected heading.

This allows users to customize the filename-heading delimiter for copied
heading links.
2025-09-15 18:40:49 +08:00
Moy
3fe3eb81be fix: full filename+heading copy
Fix #18
2025-09-15 18:29:49 +08:00
Moy
5571b258c4 chore(release): bump version to 1.3.3 2025-09-15 11:56:10 +08:00
Moy
83db9a82d4 feat(parser): support _ and __ markup and fix capture selection
Closes #16
2025-09-15 11:56:10 +08:00
Moy
17c202b6fb chore: bump the version to 1.3.2 2025-08-05 11:55:04 +08:00
Moy
5d4c4d4a62 feat: enhance block ID detection to include next lines 2025-08-05 00:35:54 +08:00
Moy
01c54940c7 fix(link): 修复 markdown 格式的块链接复制文本 2025-08-05 00:35:54 +08:00
Moy
44944bcfd3 docs: update README 2025-06-18 15:50:52 +08:00
Moy
1f879988cf build: 1.3.1 2025-05-23 13:11:04 +08:00
Moy
f5e023d808 feat: add icons for commands 2025-05-23 13:10:43 +08:00
Moy
4d95c0bbc7 build: 1.3.0 2025-05-21 14:42:52 +08:00
Moy
adff4748e2 chore: combine feats and minor fix 2025-05-21 14:41:06 +08:00
Moy
35b65f5335 Merge branch 'more-commands' into local-dev 2025-05-21 13:28:24 +08:00
Moy
40f9e40b4b feat: 🎸 support more commands and options
- 3 new commands to copy current file/block links
- option to add display text for block link

 Closes: #7 #8
2025-05-21 00:00:59 +08:00
Moy
1f44a9545b feat: Add command to copy file link 2025-05-20 00:10:11 +08:00
Moy
42b2906fa2 feat: support copying callout content 2025-05-19 15:17:18 +08:00
Moy
6b317b7b48 feat: add option to generate embeded block 2025-05-19 13:36:53 +08:00
Moy
d43141e6c5 feat: support copying wiki link target 2025-05-19 13:30:50 +08:00
Moy
c2169fcf30 build: 1.2.2 2025-05-09 20:01:47 +08:00
Moy
f745fae9d8 build: 1.2.2 2025-05-09 20:01:01 +08:00
Moy
d5fc7790fc docs: update README 2025-05-09 20:00:45 +08:00
Moy
9b118131e8 fix: compatible with code block and callout 2025-05-09 16:19:59 +08:00
Moy
1abedd7983 build: 1.2.1 2025-05-09 15:38:10 +08:00
Moy
6e1c09593c Merge branch 'master' of https://github.com/Moyf/easy-copy 2025-05-09 15:36:57 +08:00
Moy
9a9b941d75 feat: smart generate display text for block link 2025-05-09 15:36:52 +08:00
Moy
6b28c8a01b fix: compatible with list 2025-05-09 14:34:46 +08:00
Moy
77176c6aad fix: accept space in block name 2025-05-09 14:23:58 +08:00
Moy
ebe9723c62 docs: update README 2025-05-07 23:55:43 +08:00
Moy
86578e8635 docs: update README 2025-05-07 22:46:11 +08:00