{"id":22411,"date":"2025-05-28T15:15:16","date_gmt":"2025-05-28T12:15:16","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/"},"modified":"2025-05-28T15:15:16","modified_gmt":"2025-05-28T12:15:16","slug":"react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/","title":{"rendered":"React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu"},"content":{"rendered":"<p>React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu<\/p>\n<p>Merhaba!  Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor&#8217;\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.  Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi.  Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r.  \u00d6ncelikle, Quill Editor&#8217;\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z.  Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.<\/p>\n<h2>Quill Editor&#8217;\u00fc React Projesine Entegre Etme<\/h2>\n<p>Quill&#8217;\u00fc React projenize dahil etmenin en kolay yolu, npm veya yarn paket y\u00f6neticilerini kullanmakt\u0131r.  \u00d6ncelikle, projenize Quill ve Quill&#8217;\u00fcn gerekli mod\u00fcllerini y\u00fckleyin:<\/p>\n<pre><code>\nnpm install quill quill-image-resize-module\n<\/code><\/pre>\n<p>Kurulumdan sonra, Quill&#8217;\u00fc React bile\u015feninizde kullanabilirsiniz.  A\u015fa\u011f\u0131daki kod \u00f6rne\u011fi, temel bir Quill Editor bile\u015feni g\u00f6stermektedir:<\/p>\n<pre><code>\nimport React, { useRef, useEffect } from 'react';\nimport Quill from 'quill';\nimport 'quill\/dist\/quill.snow.css'; \/\/ veya quill.bubble.css\n\nconst Editor = () => {\n  const editorRef = useRef(null);\n\n  useEffect(() => {\n    const quill = new Quill(editorRef.current, {\n      modules: {\n        toolbar: [\n          ['bold', 'italic', 'underline'],\n          ['image'],\n          ['link']\n        ]\n      },\n      theme: 'snow' \/\/ veya 'bubble'\n    });\n  }, []);\n\n  return <div ref={editorRef} \/>;\n};\n\nexport default Editor;\n<\/code><\/pre>\n<p>Bu kod, basit bir Quill Editor \u00f6rne\u011fi sunmaktad\u0131r.  Ancak, bu \u015fekilde resim y\u00fckleme i\u015flemi hen\u00fcz desteklenmemektedir. \u015eimdi, bu i\u015flemi nas\u0131l ekleyece\u011fimize bakal\u0131m.<\/p>\n<h2>Resim Y\u00fckleme \u0130\u015flevselli\u011fini Ekleme<\/h2>\n<p>Quill&#8217;\u00fcn kendi resim y\u00fckleme \u00f6zelli\u011fi bulunmamaktad\u0131r.  Bu nedenle, kendi resim y\u00fckleme mant\u0131\u011f\u0131m\u0131z\u0131 olu\u015fturmal\u0131y\u0131z.  Bu, bir form, bir API u\u00e7 noktas\u0131 ve dosya y\u00fckleme i\u015flemini y\u00f6neten kod gerektirir.  \u00d6rne\u011fin, bir bulut depolama hizmeti (AWS S3, Google Cloud Storage vb.) kullanabilir veya sunucuda bir dosya y\u00fckleme noktas\u0131 olu\u015fturabilirsiniz. Bu i\u015flem i\u00e7in,  quill-image-resize-module  mod\u00fcl\u00fcn\u00fc de kullanabiliriz, bu mod\u00fcl ile y\u00fckledi\u011fimiz resimlerin boyutlar\u0131n\u0131 da ayarlayabiliriz.<\/p>\n<p>\u00d6ncelikle, sunucuda resim y\u00fckleme i\u015flemini y\u00f6neten bir API u\u00e7 noktas\u0131na ihtiyac\u0131m\u0131z var.  Bu u\u00e7 nokta, dosyay\u0131 al\u0131p depolayacak ve daha sonra Quill edit\u00f6r\u00fcne g\u00f6sterebilece\u011fimiz bir URL d\u00f6nd\u00fcrecektir.  Sonras\u0131nda, Quill&#8217;in image mod\u00fcl\u00fcn\u00fc \u00f6zelle\u015ftirebilir ve kendi upload fonksiyonumuzu sa\u011flayabiliriz.  Bu fonksiyon, dosyay\u0131 API u\u00e7 noktas\u0131na g\u00f6nderecek ve ald\u0131\u011f\u0131 URL&#8217;yi Quill edit\u00f6r\u00fcne ekleyecektir. A\u015fa\u011f\u0131da bu i\u015flemi g\u00f6steren basitle\u015ftirilmi\u015f bir \u00f6rnek mevcuttur.  Bu \u00f6rnekte, dosya y\u00fckleme i\u015flemi sunucu tarafl\u0131 olarak ele al\u0131n\u0131yor ve sadece ba\u015far\u0131l\u0131 y\u00fckleme sonucu Quill edit\u00f6r\u00fcne yans\u0131t\u0131l\u0131yor.<\/p>\n<pre><code>\nimport React, { useRef, useEffect, useState } from 'react';\nimport Quill from 'quill';\nimport 'quill\/dist\/quill.snow.css';\nimport ImageResize from 'quill-image-resize-module';\n\nconst Editor = () => {\n  const editorRef = useRef(null);\n  const [imageUploadUrl, setImageUploadUrl] = useState('');\n\n\n  useEffect(() => {\n    const quill = new Quill(editorRef.current, {\n      modules: {\n        toolbar: [\n            ['bold', 'italic', 'underline'],\n            ['image'],\n            ['link']\n        ],\n        imageResize: {}\n      },\n      theme: 'snow'\n    });\n    quill.getModule('imageResize').enable();\n\n    quill.on('text-change', (delta, oldDelta, source) => {\n        \/\/Metin de\u011fi\u015fikliklerini izle\n    });\n\n    quill.on('selection-change', (range, oldRange, source) => {\n        \/\/Se\u00e7imi izle\n    });\n\n    quill.on('editor-change', (eventName, ...args) => {\n        console.log('Editor de\u011fi\u015fti:', eventName, ...args)\n    });\n\n    quill.on('image-upload', async (imageBlob) => {\n        const formData = new FormData();\n        formData.append('image', imageBlob);\n        const response = await fetch('\/api\/upload', {\n            method: 'POST',\n            body: formData,\n        });\n\n        const data = await response.json();\n        if (data.url) {\n            quill.insertEmbed(quill.getSelection().index, 'image', data.url);\n        }\n\n    });\n\n\n\n  }, []);\n\n  return <div ref={editorRef} \/>;\n};\n\nexport default Editor;\n<\/code><\/pre>\n<p>Bu \u00f6rnekte, \/api\/upload adresine bir POST iste\u011fi g\u00f6nderilir.  Sunucunuz bu iste\u011fi i\u015fleyip dosyay\u0131 kaydedip URL&#8217;yi d\u00f6nd\u00fcrmelidir.  Bu, geli\u015fmi\u015f bir \u00f6rnek olup, hata y\u00f6netimi ve g\u00fcvenlik \u00f6nlemleri eklenmelidir.  Daha detayl\u0131 \u00f6rnekler ve farkl\u0131 senaryolar i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresindeki di\u011fer yaz\u0131lar\u0131m\u0131 inceleyebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, React CMS&#8217;nizde Quill Editor ve resim y\u00fckleme i\u015flevselli\u011fini entegre etmenin temel ad\u0131mlar\u0131n\u0131 inceledik.  Unutmay\u0131n ki bu, bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r ve projenizin \u00f6zel gereksinimlerine g\u00f6re \u00f6zelle\u015ftirmeniz gerekebilir.  Daha geli\u015fmi\u015f \u00f6zellikler eklemek, hata y\u00f6netimi uygulamak ve g\u00fcvenli\u011fi sa\u011flamak i\u00e7in daha fazla kodlama ve konfig\u00fcrasyon gerekebilir.  Ancak, bu rehber size sa\u011flam bir temel sa\u011flayarak bu s\u00fcreci kolayla\u015ft\u0131racakt\u0131r. Ba\u015far\u0131lar dilerim!<\/p>\n<p>#Etiketler: React, Quill Editor, Resim Y\u00fckleme, CMS, JavaScript, API,  Dosya Y\u00fckleme,  Web Geli\u015ftirme,  React CMS,  Quill Resim Y\u00fckleme,  Image Upload,  React Uygulamalar\u0131<\/p>\n","protected":false},"excerpt":{"rendered":"React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-22411","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>React CMS&#039;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu<\/title>\n<meta name=\"description\" content=\"Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor&#039;\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi. Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6ncelikle, Quill Editor&#039;\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React CMS&#039;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor&#039;\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi. Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6ncelikle, Quill Editor&#039;\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-28T12:15:16+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu\",\"datePublished\":\"2025-05-28T12:15:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\"},\"wordCount\":600,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\",\"name\":\"React CMS'de Quill Editor ve Resim Y\u00fckleme Entegrasyonu\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-05-28T12:15:16+00:00\",\"description\":\"Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor'\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi. Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6ncelikle, Quill Editor'\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"React CMS'de Quill Editor ve Resim Y\u00fckleme Entegrasyonu","description":"Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor'\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi. Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6ncelikle, Quill Editor'\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/","og_locale":"tr_TR","og_type":"article","og_title":"React CMS'de Quill Editor ve Resim Y\u00fckleme Entegrasyonu","og_description":"Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor'\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi. Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6ncelikle, Quill Editor'\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-05-28T12:15:16+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu","datePublished":"2025-05-28T12:15:16+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/"},"wordCount":600,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/","url":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/","name":"React CMS'de Quill Editor ve Resim Y\u00fckleme Entegrasyonu","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-05-28T12:15:16+00:00","description":"Merhaba! Fatih Soysal olarak, bu yaz\u0131da React tabanl\u0131 bir i\u00e7erik y\u00f6netim sistemine (CMS) Quill Editor'\u00fc entegre etmenin ve bu edit\u00f6r \u00fczerinden resim y\u00fckleme \u00f6zelli\u011fini nas\u0131l ekleyebilece\u011fimizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Quill, zengin metin d\u00fczenleme deneyimi sunan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesi. Bu entegrasyon, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00f6rsel a\u00e7\u0131dan zengin ve etkile\u015fimli i\u00e7erikler olu\u015fturmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6ncelikle, Quill Editor'\u00fcn temel \u00f6zelliklerini ve React ile olan uyumlulu\u011funu inceleyelim. Ard\u0131ndan, ad\u0131m ad\u0131m resim y\u00fckleme i\u015flevselli\u011fini nas\u0131l ekleyebilece\u011fimizi a\u00e7\u0131klayaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in faydal\u0131 olacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/react-cmsde-quill-editor-ve-resim-yukleme-entegrasyonu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"React CMS&#8217;de Quill Editor ve Resim Y\u00fckleme Entegrasyonu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/22411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=22411"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/22411\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=22411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=22411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=22411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}