Hi, I am really enjoying the learning curve of prismic , being a noob struggling with minor transition issues.
I am trying to add custom styled component to the rich text field Link with specific label data. I got Link and a tag working with html serializer, any suggestions on how to approach resolve Link and Custom label to use custom component?
Here is my failed attempt.
if (type === 'hyperlink') {
let result = ''
const url = PrismicLink.url(element.data, linkResolver)
if (
element.data.link_type === 'Document' &&
element.data.label === 'button-pill'
) {
result = (
Thanks for posting! I’m so happy to hear that you’re enjoying working with Prismic. I think we can work through this issue together.
So, let me understand:
If your link_type === "Document" and the label === "button-bill" , you would like to render the <ButtonPill /> component above the content. Is that correct?
Could you send a GitHub Gist with your entire HTML serializer?
Hi Sam,
if your link_type === "Document" and the label === "button-bill" , you would like to render the <ButtonPill /> component above the content . Is that correct?
Yes
and one more option of replace label p tag with span.
currently I reverted back to the original reference from the docs.
much appreciate the support
if (element.type === 'paragraph' && element.label === 'span') {
result = {result}
} else {
return
{result}
}
if (element.linkTo) {
const url = PrismicLink.url(element.linkTo, linkResolver)
if (
element.linkTo.link_type === 'Document' &&
element.label === 'button-pill'
) {
result = (
You can not add a label to a link like this. In the HTML serializer, the label just produces a span tag, and the span and the a are two separate elements, so your serializer will never find one element with both the label "button-pill" and a link. Also, the linkTo property is only available on images, if they have a link.
If you're not already using slices, I'd encourage you to think about converting your content to slices. You could create a <RichText /> slice for your text content, and a <ButtonPill /> slice for your button. Here's a tutorial on working with slices in Gatsby.
I hope that helps! Let me know if you have any more questions.
Sam
system
(system)
closed as resolved, flag & select 'Something Else' to reopen.
13
This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.