rich-text icon indicating copy to clipboard operation
rich-text copied to clipboard

Add anchor tag support for Page Navigation

Open Rathod-Harshit opened this issue 1 year ago • 3 comments

Hi,

First if all, thanks for this awesome lib. It has simplified my implementation.

Problem Statement: As a user I want to navigate within the same page using anchor tags. Type: Enhancement

I am using Hygraph rich-text and as of now, I could not find a way to add id to the div. I want to add id to div so that, I am able to navigate within the page using anchor tags.

Solution: This use case will mostly apply to headings. In Rich text editor I can add a class to heading with prefix anchor- and in the package add an id to div, if classname matches the prefix. Id will be same as classname. (This is not a very good approach, but I can not think of any other solution. )

Enhance https://github.com/hygraph/rich-text/blob/main/packages/react-renderer/src/elements/Class.tsx

Rathod-Harshit avatar Jun 08 '23 19:06 Rathod-Harshit

Currently looking for a similar resolution to this as well. Going to see if posting to their feedback page will yield a faster response.

https://feedback.hygraph.com/148

vinnycodes avatar Jul 14 '23 16:07 vinnycodes

Actually, I was able to find a simple work-around.

Lets say we have an h3 with title: Anchor one then create an unique id as: anchor-one and link it. Screen Shot 2023-07-14 at 11 45 47 AM

Screen Shot 2023-07-14 at 11 51 30 AM

h3: ({ children }) => { const createUniqueRef = contentText .toLowerCase() .split(" ") .join("_"); return ( <h3 id={createUniqueRef}> <span>{children}</span> </h3> ); },

@vinnycodes

Rathod-Harshit avatar Jul 14 '23 16:07 Rathod-Harshit

Yep. I'm considering creating a similar work around. Possibly using "class" feature and then check if it starts with an octothorp. I still think this is worth a feature request as it is a standard for modern development and it creates unnecessary coding edits /fragments for what should be common practice.

vinnycodes avatar Jul 14 '23 16:07 vinnycodes