extract-highlights-plugin icon indicating copy to clipboard operation
extract-highlights-plugin copied to clipboard

FR: Make it work with <mark> attributes like <mark class="green">

Open Moonbase59 opened this issue 3 years ago • 11 comments

Hi there, and thanks for a useful plugin. I came across a small issue today and wonder if you’d like to fix it.

Currently, the plugin extracts highlights fine for

  • double-equals highlights (==highlight==)
  • text marked with <mark>something</mark>

but it will not extract highlights if the <mark> element has attributes, like <mark class="green"> or <mark style="background-color: pink;">.

Since I showed how to use "compatible" different-colour highlights in the forums today, I’d be grateful if Extract highlights could also handle these.

Moonbase59 avatar Jun 07 '21 21:06 Moonbase59

I'd support this request, which is needed for this to work with the Highlightr plgin.

akadormouse avatar Dec 07 '21 21:12 akadormouse

#1 seem to be supported already.

amitbha avatar Feb 09 '22 18:02 amitbha

The current plugin v0.0.18 currently is not able to extract with highlights with attributes e.g. . Thank you for helping to make it work.

subscribe88 avatar Feb 17 '22 06:02 subscribe88

The current plugin v0.0.18 currently is not able to extract with highlights with attributes e.g. . Thank you for helping to make it work.

I know little about js and plugin develop. But I wrote lua script for my text editor(Textadept) to extract highlights from markdown, supporting bold, highlight, <u>, <mark>, and titles. I can share it if needed.

amitbha avatar Feb 18 '22 00:02 amitbha

I'd support this request, which is needed for this to work with the Highlightr plgin.

I also agree with this proposal, it will be great useful if it can work with the Highlightr plugin, and extract highlights like: <mark style="background: #6FE26FA6;"> text </mark>.

xiumuyo avatar Mar 14 '22 02:03 xiumuyo

+1 This plugin is a little gem. Pity that highlightR and this plugin hasn't been produced by the same author. Please add support for highlightR

Jopp-gh avatar Mar 29 '22 10:03 Jopp-gh

+1 for supporting Highlightr. Thank you.

tekiegirl avatar Oct 26 '22 15:10 tekiegirl

I'm not well-versed in Obsidian plugins, so I'm not entirely sure how to implement this as a pull request on the GitHub repo. However, here's how you can implement this in your own plugin of extract-highlights-plugin:

  1. Open your .obsidian folder in your vault, navigate to .obsidian/plugins/extract-highlights-plugin.
  2. Open main.js
  3. On line 457 & 458, you should see a line var removeHighlightEnd = removeHighlightStart.replace(/\<mark\>/g, "");
  4. Replace with the following: var removeHighlightEnd = removeHighlightStart.replace(/\<mark(.*?)\>/g, "");
  5. Find the if/else lines for re under ExtractHighlightsPlugin.prototype.processHighlights = function (view) {
  6. Replace them with the following:
        if (this.settings.useBoldForHighlights) {
            re = /(==|(\<mark(.*?)(\>))|\*\*)([\s\S]*?)(==|\<\/mark\>|\*\*)/g;
        }
        else {
            re = /(==|(\<mark)(.*?)(\>))([\s\S]*?)(==|\<\/mark\>)/g;
        }

It's simple regex — this matches any character (.*?) between the <mark and closing tag >. Should work.

alxgoldstn avatar May 16 '23 07:05 alxgoldstn

Not sure if this is being maintained any longer; @akaalias is this project still being worked on / updated?

alxgoldstn avatar May 16 '23 07:05 alxgoldstn

Thank you @alxgoldstn , that worked great.

I was wondering how could we improve it even more. I was thinking on assigning to each color a different callout when pasting. Do you have any clue on how we could do it?

AMGMNPLK avatar Oct 17 '23 07:10 AMGMNPLK