Queries Kütüphanesi
Queries KütüphanesiGönderideki eksik bağlantıları ekle

Gönderideki eksik bağlantıları ekle

Bu query, gönderinin HTML içeriğindeki eksik bağlantıları eklemek için regex arama ve değiştirme işlemi gerçekleştirir.

Bir bağlantı etiketi ile çevrilmemiş tüm URL'ler, örneğin:

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

...etrafına ilgili <a> etiketi eklenir (aynı zamanda metinden alan adı kaldırılır ve yeni bir pencerede açılmak üzere bir hedef eklenir), şu hale gelir:

<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
    }
  }
}