Pustaka queries
Pustaka queriesTambahkan tautan yang hilang di postingan

Tambahkan tautan yang hilang di postingan

Query ini melakukan pencarian dan penggantian dengan regex untuk menambahkan tautan yang hilang dalam konten HTML postingan.

Semua URL yang tidak dikelilingi oleh tag anchor, seperti:

<p>Visit my website: https://mysite.com.</p>

...ditambahkan tag <a> yang sesuai di sekitarnya (sekaligus menghapus domain dari teks, dan menambahkan target untuk dibuka di jendela baru), menjadi:

<p>Visit my website: <a href="https://mysite.com" target="_blank">mysite.com</a>.</p>
query GetPostData($postId: ID!) {
  post(by: { id: $postId }, status: any) {
    id
    rawContent
    adaptedRawContent: _strRegexReplace(
      searchRegex: "#\\s+((https?)://(\\S*?\\.\\S*?))([\\s)\\[\\]{},;\"\\':<]|\\.\\s|$)#i"
      replaceWith: "<a href=\"$1\" target=\"_blank\">$3</a>$4"
      in: $__rawContent
    )
      @export(as: "adaptedRawContent")
  }
}
 
mutation AddMissingLinksInPost($postId: ID!)
  @depends(on: "GetPostData")
{
  updatePost(input: {
    id: $postId,
    contentAs: { html: $adaptedRawContent },
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    post {
      id
      title
      rawContent
    }
  }
}