{"id":6777,"date":"2026-07-21T16:31:55","date_gmt":"2026-07-21T13:31:55","guid":{"rendered":"https:\/\/ddpublishings.com\/?page_id=6777"},"modified":"2026-08-12T17:52:36","modified_gmt":"2026-08-12T14:52:36","slug":"kitap-sergisi","status":"publish","type":"page","link":"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/","title":{"rendered":"Kitap Sergisi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6777\" class=\"elementor elementor-6777\">\n\t\t\t\t<div class=\"e-con-top elementor-element elementor-element-f82b39e e-flex e-con-boxed e-con e-parent\" data-id=\"f82b39e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d428c0b elementor-widget elementor-widget-html\" data-id=\"d428c0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\nD&D Publishing \u2014 Dijital Kitap Galerisi v2.7\r\nElementor > HTML bile\u015fenine tek par\u00e7a olarak yap\u0131\u015ft\u0131r\u0131n.\r\n\r\nBu s\u00fcr\u00fcm:\r\n- WooCommerce Store API'den yay\u0131mlanm\u0131\u015f \u00fcr\u00fcnleri \u00e7eker.\r\n- Yaln\u0131zca T\u00fcrk\u00e7e bask\u0131lar\u0131 g\u00f6sterir.\r\n- \u00d6nce WordPress Medya K\u00fct\u00fcphanesi'nde ger\u00e7ek Kitap-Adi-Tam-Kapak g\u00f6rselini s\u0131k\u0131 e\u015fle\u015ftirme ile bulur.\r\n- Ger\u00e7ek tam kapak yoksa Kitap-Adi-Temsili-Tam-Kapak g\u00f6rselini otomatik olarak bulur.\r\n- Ger\u00e7ek tam kapak, temsili tam kapa\u011fa her zaman \u00f6nceliklidir.\r\n- Benzer adl\u0131 iki kitab\u0131n ayn\u0131 kapa\u011fa ba\u011flanmas\u0131n\u0131 \u00f6nlemek i\u00e7in gev\u015fek\/fuzzy e\u015fle\u015fme kullan\u0131lmaz.\r\n- Medyada bulunamazsa WooCommerce \u00fcr\u00fcn galerisindeki tam kapa\u011f\u0131 arar.\r\n- Hi\u00e7bir tam kapak bulunamazsa \u00f6n kapak + WooCommerce \u00fcr\u00fcn a\u00e7\u0131klamas\u0131ndan \u00fcretilen tan\u0131t\u0131m metni g\u00f6sterir.\r\n- Ger\u00e7ek tam kapak sonradan Medya K\u00fct\u00fcphanesi'ne eklendi\u011finde temsili kapa\u011f\u0131n yerini otomatik olarak al\u0131r.\r\n- ?ddg_debug=1 ile yaln\u0131zca y\u00f6netim kontrol\u00fc i\u00e7in tam kapa\u011f\u0131 eksik eser listesi a\u00e7\u0131l\u0131r.\r\n- 8 ana seri filtresi + arama sunar.\r\n- Bir kitap birden fazla seride g\u00f6r\u00fcnebilir.\r\n-->\r\n\r\n<div id=\"dd-book-gallery-v2\">\r\n  <style>\r\n    #dd-book-gallery-v2 {\r\n      --ddg-ink: #171715;\r\n      --ddg-muted: #6f695f;\r\n      --ddg-paper: #f5f1e8;\r\n      --ddg-paper-2: #fbf8f1;\r\n      --ddg-line: #d7cdbd;\r\n      --ddg-gold: #b8944e;\r\n      --ddg-gold-soft: #d9c79f;\r\n      --ddg-white: #fff;\r\n      width: 100%;\r\n      color: var(--ddg-ink);\r\n      font-family: Inter, Arial, Helvetica, sans-serif;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    #dd-book-gallery-v2,\r\n    #dd-book-gallery-v2 * { box-sizing: border-box; }\r\n\r\n    #dd-book-gallery-v2 button,\r\n    #dd-book-gallery-v2 input {\r\n      font: inherit !important;\r\n      text-transform: none !important;\r\n      letter-spacing: normal;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-shell {\r\n      width: 100%;\r\n      max-width: 1600px;\r\n      margin: 0 auto;\r\n      overflow: hidden;\r\n      background: var(--ddg-paper);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero {\r\n      position: relative;\r\n      isolation: isolate;\r\n      padding: 82px 6vw 66px;\r\n      overflow: hidden;\r\n      color: var(--ddg-white);\r\n      background: linear-gradient(120deg, #151514 0%, #24211d 58%, #332b20 100%);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero::after {\r\n      position: absolute;\r\n      z-index: -1;\r\n      top: -210px;\r\n      right: -120px;\r\n      width: 600px;\r\n      height: 600px;\r\n      border: 1px solid rgba(184,148,78,.23);\r\n      border-radius: 50%;\r\n      box-shadow: 0 0 0 72px rgba(184,148,78,.045), 0 0 0 150px rgba(184,148,78,.028);\r\n      content: \"\";\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-eyebrow {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 14px;\r\n      color: #d8c69d;\r\n      font-size: 12px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-eyebrow::before {\r\n      width: 42px;\r\n      height: 1px;\r\n      background: var(--ddg-gold);\r\n      content: \"\";\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero h1 {\r\n      max-width: 1040px;\r\n      margin: 25px 0 18px;\r\n      color: #fff;\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: clamp(42px, 6vw, 82px);\r\n      font-weight: 500;\r\n      line-height: .99;\r\n      letter-spacing: -.035em;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero > p {\r\n      max-width: 820px;\r\n      margin: 0;\r\n      color: #d8d4cc;\r\n      font-size: 17px;\r\n      line-height: 1.75;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero-meta {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 34px;\r\n      margin-top: 35px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero-meta span {\r\n      color: #bfb7aa;\r\n      font-size: 11px;\r\n      letter-spacing: .12em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-hero-meta b {\r\n      display: block;\r\n      margin-bottom: 4px;\r\n      color: #fff;\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: 24px;\r\n      font-weight: 500;\r\n      letter-spacing: 0;\r\n      text-transform: none;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-controls {\r\n      position: sticky;\r\n      z-index: 20;\r\n      top: 0;\r\n      padding: 28px 6vw 20px;\r\n      border-bottom: 1px solid var(--ddg-line);\r\n      background: rgba(245,241,232,.96);\r\n      -webkit-backdrop-filter: blur(12px);\r\n      backdrop-filter: blur(12px);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-control-head {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 18px;\r\n      margin-bottom: 16px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-control-head h2 {\r\n      margin: 0;\r\n      color: var(--ddg-ink);\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: 27px;\r\n      font-weight: 500;\r\n      line-height: 1.2;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-search {\r\n      position: relative;\r\n      display: block;\r\n      width: min(370px, 100%);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-search::before {\r\n      position: absolute;\r\n      top: 11px;\r\n      left: 17px;\r\n      color: #766e61;\r\n      font-size: 17px;\r\n      line-height: 1;\r\n      content: \"\u2315\";\r\n      pointer-events: none;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-search input {\r\n      width: 100% !important;\r\n      height: 44px !important;\r\n      margin: 0 !important;\r\n      padding: 10px 18px 10px 42px !important;\r\n      border: 1px solid #cec5b5 !important;\r\n      border-radius: 999px !important;\r\n      outline: none !important;\r\n      background: #fffdf8 !important;\r\n      color: var(--ddg-ink) !important;\r\n      font-size: 14px !important;\r\n      box-shadow: none !important;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-search input:focus {\r\n      border-color: var(--ddg-gold) !important;\r\n      box-shadow: 0 0 0 3px rgba(184,148,78,.14) !important;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-filter-row {\r\n      display: flex;\r\n      gap: 9px;\r\n      padding: 2px 0 5px;\r\n      overflow-x: auto;\r\n      scrollbar-width: thin;\r\n      -webkit-overflow-scrolling: touch;\r\n    }\r\n\r\n    #dd-book-gallery-v2 button.ddg-filter-btn {\r\n      display: inline-flex !important;\r\n      flex: 0 0 auto !important;\r\n      align-items: center !important;\r\n      justify-content: center !important;\r\n      width: auto !important;\r\n      min-width: 0 !important;\r\n      min-height: 40px !important;\r\n      margin: 0 !important;\r\n      padding: 10px 16px !important;\r\n      border: 1px solid #cfc5b4 !important;\r\n      border-radius: 999px !important;\r\n      background: transparent !important;\r\n      color: #39352f !important;\r\n      font-size: 12px !important;\r\n      font-weight: 500 !important;\r\n      line-height: 1 !important;\r\n      white-space: nowrap !important;\r\n      cursor: pointer;\r\n      box-shadow: none !important;\r\n      transition: .2s ease;\r\n    }\r\n\r\n    #dd-book-gallery-v2 button.ddg-filter-btn:hover,\r\n    #dd-book-gallery-v2 button.ddg-filter-btn.is-active {\r\n      border-color: #1b1a18 !important;\r\n      background: #1b1a18 !important;\r\n      color: #fff !important;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-rumeli {\r\n      display: grid;\r\n      grid-template-columns: 1.2fr .8fr;\r\n      gap: 34px;\r\n      margin: 34px 6vw 6px;\r\n      padding: 34px;\r\n      border: 1px solid #cdbd9c;\r\n      background: linear-gradient(135deg, #29241d 0%, #1a1917 100%);\r\n      color: #fff;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-rumeli small {\r\n      display: block;\r\n      margin-bottom: 10px;\r\n      color: #d7be88;\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-rumeli h3 {\r\n      margin: 0 0 12px;\r\n      color: #fff;\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: clamp(28px, 3.3vw, 44px);\r\n      font-weight: 500;\r\n      line-height: 1.08;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-rumeli p {\r\n      max-width: 760px;\r\n      margin: 0;\r\n      color: #cec8be;\r\n      font-size: 14px;\r\n      line-height: 1.7;\r\n    }\r\n\r\n    #dd-book-gallery-v2 button.ddg-rumeli-btn {\r\n      align-self: end !important;\r\n      justify-self: end !important;\r\n      width: auto !important;\r\n      margin: 0 !important;\r\n      padding: 13px 18px !important;\r\n      border: 1px solid rgba(216,198,157,.55) !important;\r\n      border-radius: 0 !important;\r\n      background: transparent !important;\r\n      color: #fff !important;\r\n      font-size: 12px !important;\r\n      font-weight: 600 !important;\r\n      line-height: 1 !important;\r\n      cursor: pointer;\r\n      box-shadow: none !important;\r\n    }\r\n\r\n    #dd-book-gallery-v2 button.ddg-rumeli-btn:hover {\r\n      background: #fff !important;\r\n      color: #1a1917 !important;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-grid-wrap {\r\n      padding: 36px 6vw 78px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-grid-top {\r\n      display: flex;\r\n      align-items: end;\r\n      justify-content: space-between;\r\n      gap: 18px;\r\n      margin-bottom: 22px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-grid-top h2 {\r\n      margin: 0;\r\n      color: var(--ddg-ink);\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: 34px;\r\n      font-weight: 500;\r\n      line-height: 1.15;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-result-count {\r\n      color: var(--ddg-muted);\r\n      font-size: 13px;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 34px 28px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card {\r\n      display: block;\r\n      min-width: 0;\r\n      color: inherit;\r\n      text-decoration: none !important;\r\n      outline: none;\r\n      transition: transform .25s ease;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card.is-hidden { display: none; }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-frame {\r\n      position: relative;\r\n      display: flex;\r\n      aspect-ratio: 3 \/ 2;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 14px;\r\n      overflow: hidden;\r\n      border: 1px solid #d4c9b8;\r\n      background: #e7dfd1;\r\n      box-shadow: 0 12px 28px rgba(39,31,21,.11);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-frame::after {\r\n      position: absolute;\r\n      inset: 14px;\r\n      border: 1px solid rgba(255,255,255,.28);\r\n      content: \"\";\r\n      pointer-events: none;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-frame img {\r\n      display: block;\r\n      width: 100%;\r\n      height: 100%;\r\n      margin: 0;\r\n      object-fit: contain;\r\n      object-position: center;\r\n      transition: transform .42s ease, filter .25s ease;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card:not(.has-full-cover) .ddg-book-frame {\r\n      display: grid;\r\n      grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);\r\n      gap: 18px;\r\n      align-items: stretch;\r\n      padding: 18px;\r\n      background: linear-gradient(135deg, #e9e1d4 0%, #f4eee4 100%);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card:not(.has-full-cover) .ddg-book-frame::after {\r\n      inset: 10px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-front-cover-wrap {\r\n      position: relative;\r\n      z-index: 1;\r\n      display: flex;\r\n      min-width: 0;\r\n      align-items: center;\r\n      justify-content: center;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card:not(.has-full-cover) .ddg-front-cover-wrap img {\r\n      width: auto;\r\n      max-width: 100%;\r\n      height: 100%;\r\n      max-height: 100%;\r\n      object-fit: contain;\r\n      box-shadow: 0 10px 24px rgba(20,16,12,.2);\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-summary {\r\n      position: relative;\r\n      z-index: 1;\r\n      display: flex;\r\n      min-width: 0;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n      padding: 5px 8px 5px 0;\r\n      color: #4f493f;\r\n      text-align: left;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-summary-label {\r\n      display: block;\r\n      margin-bottom: 10px;\r\n      color: #9a7840;\r\n      font-size: 9px;\r\n      font-weight: 800;\r\n      letter-spacing: .16em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-summary p {\r\n      display: -webkit-box;\r\n      margin: 0;\r\n      overflow: hidden;\r\n      color: #5e574d;\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: clamp(11px, .78vw, 13px);\r\n      line-height: 1.55;\r\n      -webkit-box-orient: vertical;\r\n      -webkit-line-clamp: 10;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-summary-note {\r\n      display: block;\r\n      margin-top: 10px;\r\n      color: #8b806f;\r\n      font-size: 9px;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card:hover,\r\n    #dd-book-gallery-v2 .ddg-book-card:focus-visible { transform: translateY(-6px); }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-card:hover img,\r\n    #dd-book-gallery-v2 .ddg-book-card:focus-visible img { transform: scale(1.018); }\r\n\r\n    #dd-book-gallery-v2 .ddg-book-name {\r\n      display: block;\r\n      margin-top: 13px;\r\n      color: var(--ddg-ink);\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: 16px;\r\n      line-height: 1.32;\r\n      text-align: center;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-cover-status {\r\n      display: block;\r\n      margin-top: 5px;\r\n      color: #8b806f;\r\n      font-size: 10px;\r\n      letter-spacing: .08em;\r\n      text-align: center;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-loading,\r\n    #dd-book-gallery-v2 .ddg-empty,\r\n    #dd-book-gallery-v2 .ddg-error {\r\n      grid-column: 1 \/ -1;\r\n      padding: 70px 20px;\r\n      color: var(--ddg-muted);\r\n      text-align: center;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-error { color: #7f392e; }\r\n\r\n    #dd-book-gallery-v2 .ddg-debug-panel {\r\n      display: none;\r\n      margin: 0 6vw 44px;\r\n      padding: 24px;\r\n      border: 1px dashed #bda777;\r\n      background: #fffaf0;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-debug-panel.is-visible { display: block; }\r\n\r\n    #dd-book-gallery-v2 .ddg-debug-panel h3 {\r\n      margin: 0 0 8px;\r\n      color: #4c4030;\r\n      font-family: Georgia, \"Times New Roman\", serif;\r\n      font-size: 22px;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-debug-panel p {\r\n      margin: 0 0 14px;\r\n      color: #7a6d5b;\r\n      font-size: 12px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-missing-list {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0,1fr));\r\n      gap: 7px 22px;\r\n      margin: 0;\r\n      padding-left: 20px;\r\n      color: #3e3932;\r\n      font-size: 13px;\r\n    }\r\n\r\n    #dd-book-gallery-v2 .ddg-footnote {\r\n      padding: 15px 24px;\r\n      background: #1b1a18;\r\n      color: #d8d2c7;\r\n      font-size: 11px;\r\n      letter-spacing: .045em;\r\n      text-align: center;\r\n    }\r\n\r\n    @media (max-width: 1100px) {\r\n      #dd-book-gallery-v2 .ddg-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\r\n      #dd-book-gallery-v2 .ddg-rumeli { grid-template-columns: 1fr; }\r\n      #dd-book-gallery-v2 button.ddg-rumeli-btn { justify-self: start !important; }\r\n    }\r\n\r\n    @media (max-width: 720px) {\r\n      #dd-book-gallery-v2 .ddg-hero { padding: 58px 22px 45px; }\r\n      #dd-book-gallery-v2 .ddg-hero > p { font-size: 15px; }\r\n      #dd-book-gallery-v2 .ddg-controls { padding: 22px 18px 15px; }\r\n      #dd-book-gallery-v2 .ddg-control-head { align-items: stretch; flex-direction: column; }\r\n      #dd-book-gallery-v2 .ddg-search { width: 100%; }\r\n      #dd-book-gallery-v2 .ddg-rumeli { margin: 25px 18px 0; padding: 25px 22px; }\r\n      #dd-book-gallery-v2 .ddg-grid-wrap { padding: 28px 18px 52px; }\r\n      #dd-book-gallery-v2 .ddg-grid-top { align-items: flex-start; flex-direction: column; }\r\n      #dd-book-gallery-v2 .ddg-book-grid { grid-template-columns: 1fr; gap: 28px; }\r\n      #dd-book-gallery-v2 .ddg-book-frame { padding: 9px; }\r\n      #dd-book-gallery-v2 .ddg-book-frame::after { inset: 9px; }\r\n      #dd-book-gallery-v2 .ddg-book-card:not(.has-full-cover) .ddg-book-frame {\r\n        grid-template-columns: minmax(105px, 36%) minmax(0, 1fr);\r\n        gap: 14px;\r\n        padding: 14px;\r\n      }\r\n      #dd-book-gallery-v2 .ddg-book-summary p { font-size: 11px; line-height: 1.45; -webkit-line-clamp: 9; }\r\n      #dd-book-gallery-v2 .ddg-summary-note { display: none; }\r\n      #dd-book-gallery-v2 .ddg-debug-panel { margin: 0 18px 34px; padding: 20px; }\r\n      #dd-book-gallery-v2 .ddg-missing-list { grid-template-columns: 1fr; }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"ddg-shell\">\r\n    <header class=\"ddg-hero\">\r\n      <div class=\"ddg-eyebrow\">D&amp;D Publishing \u00b7 Dijital Sergi<\/div>\r\n      <h1>Abdurrahim Dede Eserleri<\/h1>\r\n      <p>\r\n        T\u00fcrk\u00e7e eserlerin \u00f6n kapa\u011f\u0131n\u0131, s\u0131rt\u0131n\u0131 ve arka kapa\u011f\u0131n\u0131 birlikte inceleyebilece\u011finiz dijital kitap galerisi.\r\n        Tam kapak g\u00f6rseli bulunmayan eserlerde \u00f6n kapak, \u00fcr\u00fcn a\u00e7\u0131klamas\u0131ndan al\u0131nan tan\u0131t\u0131m metniyle birlikte sunulur.\r\n      <\/p>\r\n      <div class=\"ddg-hero-meta\">\r\n        <span><b id=\"ddgTotalCount\">\u2014<\/b>T\u00fcrk\u00e7e eser<\/span>\r\n        <span><b id=\"ddgFullCoverCount\">\u2014<\/b>Tam kapak haz\u0131r<\/span>\r\n        <span><b id=\"ddgTextCardCount\">\u2014<\/b>\u00d6n kapak + tan\u0131t\u0131m<\/span>\r\n        <span><b>8<\/b>Ana seri<\/span>\r\n      <\/div>\r\n    <\/header>\r\n\r\n    <section class=\"ddg-controls\" aria-label=\"Galeri filtreleri\">\r\n      <div class=\"ddg-control-head\">\r\n        <h2>K\u00fclliyat\u0131 ke\u015ffedin<\/h2>\r\n        <label class=\"ddg-search\">\r\n          <input id=\"ddgSearch\" type=\"search\" placeholder=\"Kitap ara\u2026\" autocomplete=\"off\" aria-label=\"Kitap ara\">\r\n        <\/label>\r\n      <\/div>\r\n\r\n      <div class=\"ddg-filter-row\" id=\"ddgFilters\">\r\n        <button class=\"ddg-filter-btn is-active\" type=\"button\" data-series=\"all\" aria-pressed=\"true\">T\u00fcm Eserler<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"dusunduren\" aria-pressed=\"false\">D\u00fc\u015f\u00fcnd\u00fcrerek D\u00f6n\u00fc\u015ft\u00fcren<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"hukuk\" aria-pressed=\"false\">Ya\u015fanm\u0131\u015f Hukuk Hik\u00e2yeleri<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"aile\" aria-pressed=\"false\">Aile ve \u0130nsan<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"tabiat\" aria-pressed=\"false\">Tabiat\u0131 Konu\u015fturan<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"inanc\" aria-pressed=\"false\">\u0130nan\u00e7 ve Tefekk\u00fcr<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"is\" aria-pressed=\"false\">\u0130\u015f ve Ticaret<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"goc\" aria-pressed=\"false\">G\u00f6\u00e7, M\u00fcbadele ve Rumeli<\/button>\r\n        <button class=\"ddg-filter-btn\" type=\"button\" data-series=\"hatira\" aria-pressed=\"false\">Hat\u0131ralar ve Biyografik Romanlar<\/button>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section class=\"ddg-rumeli\">\r\n      <div>\r\n        <small>\u00d6ne \u00e7\u0131kan kitapl\u0131k<\/small>\r\n        <h3>G\u00f6\u00e7, M\u00fcbadele ve Rumeli Kitapl\u0131\u011f\u0131<\/h3>\r\n        <p>Bat\u0131 Trakya\u2019n\u0131n, Rumeli\u2019nin, g\u00f6\u00e7\u00fcn, s\u0131n\u0131rlar\u0131n ve ortak haf\u0131zan\u0131n romanlarla anlat\u0131lan ar\u015fivi.<\/p>\r\n      <\/div>\r\n      <button class=\"ddg-rumeli-btn\" id=\"ddgRumeliBtn\" type=\"button\">Bu kitapl\u0131\u011f\u0131 g\u00f6r\u00fcnt\u00fcle \u2192<\/button>\r\n    <\/section>\r\n\r\n    <main class=\"ddg-grid-wrap\">\r\n      <div class=\"ddg-grid-top\">\r\n        <h2 id=\"ddgGalleryTitle\">T\u00fcm Eserler<\/h2>\r\n        <div class=\"ddg-result-count\" aria-live=\"polite\"><span id=\"ddgVisibleCount\">0<\/span> kitap g\u00f6steriliyor<\/div>\r\n      <\/div>\r\n      <div class=\"ddg-book-grid\" id=\"ddgBookGrid\">\r\n        <div class=\"ddg-loading\">Kitaplar y\u00fckleniyor\u2026<\/div>\r\n      <\/div>\r\n    <\/main>\r\n\r\n    <aside class=\"ddg-debug-panel\" id=\"ddgDebugPanel\" aria-label=\"Tam kapa\u011f\u0131 eksik eserler y\u00f6netim kontrol\u00fc\">\r\n      <h3>Tam kapa\u011f\u0131 eksik eserler<\/h3>\r\n      <p>Bu alan yaln\u0131zca adresin sonuna <strong>?ddg_debug=1<\/strong> eklendi\u011finde g\u00f6r\u00fcn\u00fcr. Ziyaret\u00e7ilere normal sayfada g\u00f6sterilmez.<\/p>\r\n      <ol class=\"ddg-missing-list\" id=\"ddgMissingList\"><\/ol>\r\n    <\/aside>\r\n\r\n    <footer class=\"ddg-footnote\">D&amp;D Publishing \u00b7 T\u00fcrk\u00e7e eserler dijital kitap sergisi<\/footer>\r\n  <\/div>\r\n\r\n  <script>\r\n    (() => {\r\n      const root = document.getElementById('dd-book-gallery-v2');\r\n      if (!root || root.dataset.ready === '1') return;\r\n      root.dataset.ready = '1';\r\n\r\n      const $ = (s) => root.querySelector(s);\r\n      const $$ = (s) => Array.from(root.querySelectorAll(s));\r\n\r\n      const grid = $('#ddgBookGrid');\r\n      const searchInput = $('#ddgSearch');\r\n      const visibleCount = $('#ddgVisibleCount');\r\n      const totalCount = $('#ddgTotalCount');\r\n      const fullCoverCount = $('#ddgFullCoverCount');\r\n      const textCardCount = $('#ddgTextCardCount');\r\n      const debugPanel = $('#ddgDebugPanel');\r\n      const missingList = $('#ddgMissingList');\r\n      const galleryTitle = $('#ddgGalleryTitle');\r\n      const rumeliBtn = $('#ddgRumeliBtn');\r\n\r\n      let books = [];\r\n      let activeSeries = 'all';\r\n\r\n      const SERIES_TITLES = {\r\n        all: 'T\u00fcm Eserler',\r\n        dusunduren: 'D\u00fc\u015f\u00fcnd\u00fcrerek D\u00f6n\u00fc\u015ft\u00fcren Romanlar',\r\n        hukuk: 'Ya\u015fanm\u0131\u015f Hukuk Hik\u00e2yeleri',\r\n        aile: 'Aile ve \u0130nsan Romanlar\u0131',\r\n        tabiat: 'Tabiat\u0131 Konu\u015fturan Kitaplar',\r\n        inanc: '\u0130nan\u00e7 ve Tefekk\u00fcr Kitaplar\u0131',\r\n        is: '\u0130\u015f ve Ticaret Romanlar\u0131',\r\n        goc: 'G\u00f6\u00e7, M\u00fcbadele ve Rumeli Kitapl\u0131\u011f\u0131',\r\n        hatira: 'Hat\u0131ralar ve Biyografik Romanlar'\r\n      };\r\n\r\n      const TITLE_ALIASES = [\r\n        [\/^becoming a lawyer for my cause$\/i, 'Davam \u0130\u00e7in Avukat Olmak'],\r\n        [\/^big brother is watching me$\/i, 'Biri Beni G\u00f6zetliyor'],\r\n        [\/^building family peace:?\\s*the infinite symphony$\/i, 'Aile Huzurunun \u0130n\u015fas\u0131: Sonsuz Senfoni'],\r\n        [\/^cloud laden with poetry$\/i, '\u015eiir Y\u00fckl\u00fc Bulut'],\r\n        [\/^genius or fraud\\??$\/i, 'Deha m\u0131 Doland\u0131r\u0131c\u0131l\u0131k m\u0131?'],\r\n        [\/^the man who found his roots$\/i, 'K\u00f6klerini Bulan \u0130nsan'],\r\n        [\/^my witness:?\\s*the advocate of jesus$\/i, '\u015eahidim: Hz. \u0130sa\u2019n\u0131n Avukat\u0131'],\r\n        [\/^my artificial intelligence refik:?\\s*can it catch a cold\\??$\/i, 'Yapay Zek\u00e2m Refik: Grip Nezle Olur mu?'],\r\n        [\/^yavuz'?s ['\u2018]?eccentric['\u2019]? grandfather$\/i, 'Yavuz\u2019un \u201c\u00c7atlak\u201d Dedesi']\r\n      ];\r\n\r\n      const MANUAL_SERIES = [\r\n        { re: \/yasak bolge rodoplar\/, series: ['goc','hatira','hukuk'] },\r\n        { re: \/yunan kani\/, series: ['goc','hatira'] },\r\n        { re: \/altin pasaport\/, series: ['goc','is','hukuk'] },\r\n        { re: \/canini kim verir\/, series: ['goc','hatira'] },\r\n        { re: \/kaldirimdaki yatak\/, series: ['goc','hatira','aile'] },\r\n        { re: \/tabakhane camii\/, series: ['goc','hatira','inanc'] },\r\n        { re: \/haritini\/, series: ['goc','hatira'] },\r\n        { re: \/balikci limani\/, series: ['goc','hatira'] },\r\n        { re: \/demokritos\/, series: ['hukuk','goc','dusunduren'] },\r\n        { re: \/aile huzurunun insasi|sonsuz senfoni\/, series: ['aile','inanc','dusunduren'] },\r\n        { re: \/aile huzuru\/, series: ['aile','inanc','dusunduren'] },\r\n        { re: \/birlikte kalabilme sanati\/, series: ['aile','dusunduren'] },\r\n        { re: \/evi cennete cevirmenin yolu\/, series: ['aile','inanc','dusunduren'] },\r\n        { re: \/cocuk haklari\/, series: ['hukuk','aile'] },\r\n        { re: \/cocuklarin eline kim silah verdi\/, series: ['hukuk','aile','dusunduren'] },\r\n        { re: \/davalari kazanmanin yollari\/, series: ['hukuk','dusunduren'] },\r\n        { re: \/adaletin baslangic noktasi\/, series: ['hukuk','inanc','dusunduren'] },\r\n        { re: \/suclu masum olabilir mi\/, series: ['hukuk','dusunduren'] },\r\n        { re: \/kabilin avukati\/, series: ['hukuk','inanc','dusunduren'] },\r\n        { re: \/sahidim.*isa|hz.*isa.*avukati|advocate of jesus\/, series: ['inanc','hukuk','dusunduren'] },\r\n        { re: \/gnothi seafton|kendini tani\/, series: ['inanc','dusunduren'] },\r\n        { re: \/herkes halife\/, series: ['inanc','dusunduren'] },\r\n        { re: \/yapay zekam refik|artificial intelligence refik\/, series: ['dusunduren'] },\r\n        { re: \/yavuz.*catlak.*dedesi|eccentric.*grandfather\/, series: ['hatira','aile','dusunduren'] },\r\n        { re: \/bir sayi soyler misin\/, series: ['dusunduren'] },\r\n        { re: \/mukaddime i nizam\/, series: ['dusunduren','inanc'] },\r\n        { re: \/men dakka dukka\/, series: ['dusunduren','inanc'] },\r\n        { re: \/mesh donusum\/, series: ['dusunduren'] },\r\n        { re: \/mecburi istikamet\/, series: ['dusunduren','hatira'] },\r\n        { re: \/kizildeli sultan.*dunya tek devlet.*insanlik tek millet\/, series: ['goc','hatira','dusunduren'] }\r\n      ];\r\n\r\n      const KEYWORDS = {\r\n        hukuk: ['hukuk','avukat','dava','adalet','su\u00e7','suc','masum','mahkeme','savc\u0131','savci','ceza','yarg\u0131','yargi','hak arama','savunma','m\u00fcvekkil','muvekkil'],\r\n        aile: ['aile','evlilik','\u00e7ocuk','cocuk','anne','baba','ebeveyn','e\u015f ','es ','yuva','sevgi','ili\u015fki','iliski','dede','torun'],\r\n        tabiat: ['do\u011fa','doga','tabiat','hayvan','bitki','a\u011fa\u00e7','agac','toprak','\u00e7evre','cevre','ku\u015f','kus','bal\u0131k','balik','mantar','orman','deniz'],\r\n        inanc: ['inan\u00e7','inanc','allah','yarat\u0131l\u0131\u015f','yaratilis','hakikat','ahlak','t\u00f6vbe','tovbe','\u00f6l\u00fcm','olum','sonsuzluk','manevi','halife','melek','isa','kabil','cami','ibadet','dua','iman'],\r\n        is: ['ticaret','para','i\u015f hayat','is hayat','meslek','giri\u015fim','girisim','doland\u0131r\u0131c','dolandiric','\u015firket','sirket','patron','pazar','ekonomi','i\u015f ahlak','is ahlak'],\r\n        goc: ['bat\u0131 trakya','bati trakya','rumeli','iske\u00e7e','iskece','g\u00fcm\u00fclcine','gumulcine','rodop','evros','meri\u00e7','meric','dedea\u011fa\u00e7','dedeagac','avdira','m\u00fcbadele','mubadele','g\u00f6\u00e7','goc','vatans\u0131z','vatansiz','az\u0131nl\u0131k','azinlik','yunan','s\u0131n\u0131r','sinir','memleket','pasaport'],\r\n        hatira: ['hat\u0131ra','hatira','an\u0131 ','ani ','\u00e7ocukluk','cocukluk','babam','babas\u0131','babasi','annem','annesi','hayat hik\u00e2ye','hayat hikaye','biyografi','ger\u00e7ek hik','gercek hik','ya\u015fanm\u0131\u015f','yasanmis','dede'],\r\n        dusunduren: ['d\u00fc\u015f\u00fcn','dusun','vicdan','bilin\u00e7','bilinc','anlam','karakter','d\u00f6n\u00fc\u015f\u00fcm','donusum','felsefe','kendini','insan','hayat','fark\u0131ndal\u0131k','farkindalik']\r\n      };\r\n\r\n      function stripHtml(html = '') {\r\n        const el = document.createElement('div');\r\n        el.innerHTML = html;\r\n        return (el.textContent || el.innerText || '').replace(\/\\s+\/g, ' ').trim();\r\n      }\r\n\r\n      function trimToSentence(text = '', max = 520, min = 260) {\r\n        const clean = String(text || '').replace(\/\\s+\/g, ' ').trim();\r\n        if (!clean || clean.length <= max) return clean;\r\n        const window = clean.slice(0, max + 1);\r\n        const sentenceEnds = [...window.matchAll(\/[.!?\u2026](?=\\s|$)\/g)].map(m => m.index + 1);\r\n        const safe = sentenceEnds.filter(i => i >= min);\r\n        if (safe.length) return window.slice(0, safe[safe.length - 1]).trim();\r\n        const cut = window.lastIndexOf(' ');\r\n        return (cut > min ? window.slice(0, cut) : window.slice(0, max)).trim() + '\u2026';\r\n      }\r\n\r\n      function makeSummary(product) {\r\n        const shortText = stripHtml(product.short_description || '');\r\n        const longText = stripHtml(product.description || '');\r\n        let source = shortText.length >= 120 ? shortText : (longText || shortText);\r\n        source = source\r\n          .replace(\/\\bTurkish Edition\\b\/gi, ' ')\r\n          .replace(\/\\bT\u00fcrk\u00e7e Bask\u0131\\b\/gi, ' ')\r\n          .replace(\/\\s+\/g, ' ')\r\n          .trim();\r\n\r\n        \/\/ Baz\u0131 \u00fcr\u00fcn a\u00e7\u0131klamalar\u0131ndaki flipbook\/JavaScript kodunu ziyaret\u00e7iye g\u00f6stermeyelim.\r\n        if (\/window\\.option_|window\\.DFLIP|parseBooks|wpOptions|\\\\uploads\\\\|wp-content\\\/uploads\/i.test(source)) {\r\n          const cutAt = source.search(\/window\\.option_|window\\.DFLIP|parseBooks|wpOptions|wp-content\\\/uploads\/i);\r\n          source = cutAt > 80 ? source.slice(0, cutAt).trim() : '';\r\n        }\r\n\r\n        return trimToSentence(source, 520, 260) || 'Bu eserin temsili tam kapa\u011f\u0131 haz\u0131rlan\u0131yor.';\r\n      }\r\n\r\n      function normalizeTR(value = '') {\r\n        return String(value)\r\n          .toLocaleLowerCase('tr-TR')\r\n          .normalize('NFD')\r\n          .replace(\/[\\u0300-\\u036f]\/g, '')\r\n          .replace(\/\u0131\/g, 'i')\r\n          .replace(\/\u011f\/g, 'g')\r\n          .replace(\/\u00fc\/g, 'u')\r\n          .replace(\/\u015f\/g, 's')\r\n          .replace(\/\u00f6\/g, 'o')\r\n          .replace(\/\u00e7\/g, 'c')\r\n          .replace(\/[\u201c\u201d\u2018\u2019'\"`\u00b4]\/g, '')\r\n          .replace(\/[^a-z0-9]+\/g, ' ')\r\n          .replace(\/\\s+\/g, ' ')\r\n          .trim();\r\n      }\r\n\r\n      function cleanTitle(raw = '') {\r\n        let t = stripHtml(raw)\r\n          .replace(\/\\s*[\u2013\u2014-]\\s*Turkish Edition\\s*$\/i, '')\r\n          .replace(\/\\s*[\u2013\u2014-]\\s*T\u00fcrk\u00e7e Bask\u0131\\s*$\/i, '')\r\n          .replace(\/\\s*[\u2013\u2014-]\\s*Turkce Baski\\s*$\/i, '')\r\n          .trim();\r\n        TITLE_ALIASES.forEach(([re, replacement]) => { if (re.test(t)) t = replacement; });\r\n        return t;\r\n      }\r\n\r\n      function isTurkishProduct(product) {\r\n        const name = String(product.name || '');\r\n        const cats = (product.categories || []).map(c => `${c.name || ''} ${c.slug || ''}`).join(' ');\r\n        const haystack = normalizeTR(`${name} ${cats}`);\r\n        return \/turkish edition\/i.test(name) || \/t\u00fcrk\u00e7e bask\u0131\/i.test(name) ||\r\n          haystack.includes('turkce yayin') || haystack.includes('turkish edition');\r\n      }\r\n\r\n      function classify(product, displayTitle) {\r\n        const text = normalizeTR([\r\n          displayTitle,\r\n          product.name,\r\n          stripHtml(product.description || ''),\r\n          stripHtml(product.short_description || ''),\r\n          ...(product.categories || []).map(c => `${c.name || ''} ${c.slug || ''}`)\r\n        ].join(' '));\r\n\r\n        const found = new Set();\r\n        const manual = MANUAL_SERIES.find(rule => rule.re.test(text));\r\n        if (manual) manual.series.forEach(s => found.add(s));\r\n\r\n        Object.entries(KEYWORDS).forEach(([series, words]) => {\r\n          if (words.some(word => text.includes(normalizeTR(word)))) found.add(series);\r\n        });\r\n\r\n        if (!found.size) found.add('dusunduren');\r\n        return Array.from(found);\r\n      }\r\n\r\n      function imageText(img) {\r\n        return normalizeTR([img && img.name, img && img.alt, img && img.src].filter(Boolean).join(' '));\r\n      }\r\n\r\n      function looksLikeFullCoverByName(img) {\r\n        const text = imageText(img);\r\n        return \/temsili[\\s_-]*tam[\\s_-]*kapak|tam[\\s_-]*kapak|tamkapak|full[\\s_-]*cover|wraparound|kapak[\\s_-]*(acilim|acilimi)|kapak[\\s_-]*tasarim\/.test(text);\r\n      }\r\n\r\n      function getNaturalRatio(src) {\r\n        return new Promise(resolve => {\r\n          if (!src) return resolve(0);\r\n          const probe = new Image();\r\n          let finished = false;\r\n          const done = value => {\r\n            if (finished) return;\r\n            finished = true;\r\n            resolve(value);\r\n          };\r\n          probe.onload = () => done(probe.naturalWidth && probe.naturalHeight ? probe.naturalWidth \/ probe.naturalHeight : 0);\r\n          probe.onerror = () => done(0);\r\n          probe.src = src;\r\n          setTimeout(() => done(0), 5000);\r\n        });\r\n      }\r\n\r\n      function mediaLabel(media) {\r\n        const title = media && media.title && media.title.rendered ? media.title.rendered : '';\r\n        return [media && media.slug, title, media && media.alt_text, media && media.source_url].filter(Boolean).join(' ');\r\n      }\r\n\r\n      function mediaBookKey(media) {\r\n        let raw = '';\r\n        if (media && media.source_url) {\r\n          try {\r\n            const path = new URL(media.source_url, window.location.origin).pathname;\r\n            raw = decodeURIComponent(path.split('\/').pop() || '');\r\n          } catch (_) {\r\n            raw = String(media.source_url).split('\/').pop() || '';\r\n          }\r\n        }\r\n        if (!raw && media && media.slug) raw = media.slug;\r\n        if (!raw && media && media.title && media.title.rendered) raw = stripHtml(media.title.rendered);\r\n\r\n        raw = raw\r\n          .replace(\/\\.(png|jpe?g|webp|gif|avif)$\/i, '')\r\n          .replace(\/-\\d+x\\d+$\/i, '')\r\n          .replace(\/-scaled$\/i, '')\r\n          \/\/ WordPress ayn\u0131 isimli dosya yeniden y\u00fcklenirse sonuna -1, -2... ekler.\r\n          \/\/ Bu ek yaln\u0131zca kapak etiketi SONRASINDA ise temizlenir; kitap ad\u0131ndaki ger\u00e7ek say\u0131lar korunur.\r\n          .replace(\/((?:temsili[-_\\s]*tam[-_\\s]*kapak|tam[-_\\s]*kapak))-\\d+$\/i, '$1');\r\n\r\n        let key = normalizeTR(raw);\r\n        \/\/ \u00d6nce daha uzun etiketi silmek gerekir; aksi halde \"Temsili-Tam-Kapak\"tan \"temsili\" art\u0131\u011f\u0131 kal\u0131r.\r\n        key = key\r\n          .replace(\/\\btemsili tam kapak\\b\/g, ' ')\r\n          .replace(\/\\b(tam kapak|tamkapak|full cover|wraparound|kapak acilim|kapak acilimi|kapak tasarim)\\b\/g, ' ')\r\n          .replace(\/\\s+\/g, ' ')\r\n          .trim();\r\n        return key;\r\n      }\r\n\r\n      function titleKey(title) {\r\n        return normalizeTR(cleanTitle(title || ''));\r\n      }\r\n\r\n      \/\/ Ayn\u0131 kitab\u0131n sitedeki \u00fcr\u00fcn ba\u015fl\u0131\u011f\u0131 ile medya dosya ad\u0131 farkl\u0131 olabiliyor.\r\n      \/\/ Buradaki gruplar yaln\u0131zca B\u0130L\u0130NEN, g\u00fcvenli e\u015fle\u015fmelerdir; fuzzy\/benzerlik e\u015fle\u015fmesi yap\u0131lmaz.\r\n      const MEDIA_ALIAS_GROUPS = [\r\n        ['dr duygu', 'dr duygu kullerinden dogmak'],\r\n        ['koklerini bulan insan', 'koklerini bulan insan bir mubadele oykusu'],\r\n\r\n        \/\/ \u0130lk temsili tam kapak grubu\r\n        ['dusmani dosta donusturme sanati h2o', 'barut ile atesin birlikteligi h2o', 'h2o'],\r\n        ['gunes dogup batar mi aile huzuru nerede', 'gunes dogup batar mi'],\r\n        ['sahidim hz isanin avukati', 'hz isanin avukati'],\r\n        ['cloud laden with poetry', 'siir yuklu bulut'],\r\n        ['genius or fraud', 'deha mi dolandiricilik mi'],\r\n        ['becoming a lawyer for my cause', 'davam icin avukat olmak'],\r\n        ['big brother is watching me', 'biri beni gozetliyor'],\r\n\r\n        \/\/ \u0130kinci temsili tam kapak grubu\r\n        ['eyvallah sehri'],\r\n        ['insanin yaratilisi'],\r\n        ['surekli mirac'],\r\n        ['dimokritosun avukati', 'dimokritos un avukati'],\r\n        ['ismail hakki aydin', 'ismail hakki aydin frekansa burundum beyin diye gorundum'],\r\n        ['tevbenin gucu', 'yargilamayi ortadan kaldiran guc tevbe', 'tevbe'],\r\n        ['kana kan', 'kana kan amerika yerlilerinin intikami'],\r\n        ['seftali', 'seftali tabiatin yaratilisi'],\r\n        ['mantarlar', 'mantarlar bitki degil hayvan degil'],\r\n\r\n        \/\/ Son kalan temsili tam kapak grubu\r\n        ['cosmo lingua', 'cosmo lingua evrenin dili'],\r\n        ['seven ogretmen'],\r\n        ['hirsiz kim'],\r\n        ['adaletin baslangic noktasi'],\r\n        ['kendi cenazesine giden adam'],\r\n        ['zulmun icindeki adalet']\r\n      ].map(group => group.map(normalizeTR));\r\n\r\n      function compactKey(value = '') {\r\n        return normalizeTR(value).replace(\/\\s+\/g, '');\r\n      }\r\n\r\n      function sameAliasGroup(a, b) {\r\n        const ak = normalizeTR(a);\r\n        const bk = normalizeTR(b);\r\n        if (!ak || !bk) return false;\r\n        return MEDIA_ALIAS_GROUPS.some(group => group.includes(ak) && group.includes(bk));\r\n      }\r\n\r\n      function mediaMatchesTitle(media, title) {\r\n        const mk = mediaBookKey(media);\r\n        const tk = titleKey(title);\r\n        if (!mk || !tk) return false;\r\n\r\n        \/\/ 1) Tam e\u015fle\u015fme.\r\n        if (mk === tk) return true;\r\n\r\n        \/\/ 2) Sadece noktalama\/tire\/apostrof y\u00fcz\u00fcnden ayr\u0131lm\u0131\u015f birle\u015fik kelimeler i\u00e7in.\r\n        \/\/ \u00d6rn: \u201c1441-No-lu-Parsel\u201d \u2194 \u201c1441 No\u2019lu Parsel\u201d.\r\n        if (compactKey(mk) === compactKey(tk)) return true;\r\n\r\n        \/\/ 3) Bilinen \u00fcr\u00fcn ad\u0131 \u2194 dosya ad\u0131 e\u015fle\u015fmeleri.\r\n        if (sameAliasGroup(mk, tk)) return true;\r\n\r\n        return false;\r\n      }\r\n\r\n      function mediaCoverKind(media) {\r\n        const label = normalizeTR(mediaLabel(media));\r\n        if (\/temsili tam kapak\/.test(label)) return 'representative';\r\n        if (\/tam kapak|tamkapak|full cover|wraparound|kapak acilim|kapak acilimi|kapak tasarim\/.test(label)) return 'real';\r\n        return '';\r\n      }\r\n\r\n      function newestMatchingMedia(title, mediaItems, kind) {\r\n        return (mediaItems || [])\r\n          .filter(media => mediaCoverKind(media) === kind && mediaMatchesTitle(media, title))\r\n          .sort((a, b) => Number(b.id || 0) - Number(a.id || 0))[0] || null;\r\n      }\r\n\r\n      function findMediaCover(title, mediaItems) {\r\n        \/\/ 1) Ayn\u0131 kitaba ait ger\u00e7ek tam kapak varsa her zaman onu kullan.\r\n        \/\/ Ayn\u0131 isimle birden \u00e7ok dosya varsa WordPress'teki en yeni medya kayd\u0131 se\u00e7ilir.\r\n        const real = newestMatchingMedia(title, mediaItems, 'real');\r\n        if (real) return { media: real, kind: 'real' };\r\n\r\n        \/\/ 2) Ger\u00e7ek tam kapak yoksa en yeni temsili tam kapa\u011fa d\u00fc\u015f.\r\n        const representative = newestMatchingMedia(title, mediaItems, 'representative');\r\n        if (representative) return { media: representative, kind: 'representative' };\r\n        return null;\r\n      }\r\n\r\n      async function getImage(product, displayTitle, mediaItems) {\r\n        const imgs = Array.isArray(product.images) ? product.images.filter(img => img && img.src) : [];\r\n        const front = imgs[0] || null;\r\n        const gallery = imgs.slice(1);\r\n\r\n        \/\/ 1) \u00d6ncelik: Medya K\u00fct\u00fcphanesi. \u00dcr\u00fcne tek tek ba\u011flamaya gerek yok.\r\n        const mediaFull = findMediaCover(displayTitle, mediaItems || []);\r\n        if (mediaFull && mediaFull.media && mediaFull.media.source_url) {\r\n          const item = mediaFull.media;\r\n          return {\r\n            src: item.source_url,\r\n            alt: item.alt_text || `${displayTitle} tam kapak`,\r\n            hasFullCover: true,\r\n            source: mediaFull.kind === 'representative' ? 'media-representative' : 'media-real'\r\n          };\r\n        }\r\n\r\n        \/\/ 2) Yedek: WooCommerce \u00fcr\u00fcn galerisinde a\u00e7\u0131k\u00e7a \u201cTam Kapak\u201d isimli g\u00f6rsel.\r\n        let full = gallery.find(looksLikeFullCoverByName) || null;\r\n\r\n        \/\/ 3) \u0130simden bulunamazsa \u00fcr\u00fcn galerisindeki yatay g\u00f6rseli tam kapak kabul et.\r\n        if (!full && gallery.length) {\r\n          const ratios = await Promise.all(gallery.map(img => getNaturalRatio(img.src)));\r\n          let bestIndex = -1;\r\n          let bestRatio = 0;\r\n          ratios.forEach((ratio, index) => {\r\n            if (ratio > bestRatio) {\r\n              bestRatio = ratio;\r\n              bestIndex = index;\r\n            }\r\n          });\r\n          if (bestIndex >= 0 && bestRatio >= 1.25) full = gallery[bestIndex];\r\n        }\r\n\r\n        return {\r\n          src: (full && full.src) || (front && front.src) || '',\r\n          alt: (full && full.alt) || (front && front.alt) || '',\r\n          hasFullCover: Boolean(full && full.src),\r\n          source: full ? 'product-gallery' : 'front'\r\n        };\r\n      }\r\n\r\n      function escapeHTML(value = '') {\r\n        return String(value).replace(\/[&<>'\"]\/g, ch => ({'&':'&amp;','<':'&lt;','>':'&gt;',\"'\":'&#39;','\"':'&quot;'}[ch]));\r\n      }\r\n\r\n      function createCard(book) {\r\n        const a = document.createElement('a');\r\n        a.className = `ddg-book-card${book.hasFullCover ? ' has-full-cover' : ''}`;\r\n        a.href = book.permalink;\r\n        a.dataset.title = normalizeTR(book.title);\r\n        a.dataset.series = book.series.join(' ');\r\n        a.setAttribute('aria-label', `${book.title} kitab\u0131n\u0131 incele`);\r\n\r\n        const frame = book.hasFullCover\r\n          ? `\r\n            <span class=\"ddg-book-frame\">\r\n              <img src=\"${escapeHTML(book.image)}\" alt=\"${escapeHTML(book.alt || (book.title + ' tam kitap kapa\u011f\u0131'))}\" loading=\"lazy\" decoding=\"async\">\r\n            <\/span>`\r\n          : `\r\n            <span class=\"ddg-book-frame ddg-book-frame-summary\">\r\n              <span class=\"ddg-front-cover-wrap\">\r\n                <img src=\"${escapeHTML(book.image)}\" alt=\"${escapeHTML(book.alt || (book.title + ' \u00f6n kapa\u011f\u0131'))}\" loading=\"lazy\" decoding=\"async\">\r\n              <\/span>\r\n              <span class=\"ddg-book-summary\">\r\n                <span class=\"ddg-summary-label\">Tan\u0131t\u0131m Metni<\/span>\r\n                <p>${escapeHTML(book.summary)}<\/p>\r\n                <span class=\"ddg-summary-note\">Metin, kitab\u0131n \u00fcr\u00fcn a\u00e7\u0131klamas\u0131ndan al\u0131nm\u0131\u015ft\u0131r.<\/span>\r\n              <\/span>\r\n            <\/span>`;\r\n\r\n        const status = book.hasFullCover ? 'Tam kapak' : '\u00d6n kapak + tan\u0131t\u0131m';\r\n        a.innerHTML = `\r\n          ${frame}\r\n          <span class=\"ddg-book-name\">${escapeHTML(book.title)}<\/span>\r\n          <span class=\"ddg-cover-status\">${status}<\/span>\r\n        `;\r\n        return a;\r\n      }\r\n\r\n      function renderDebugList() {\r\n        if (!debugPanel || !missingList) return;\r\n        const params = new URLSearchParams(window.location.search);\r\n        if (params.get('ddg_debug') !== '1') return;\r\n        debugPanel.classList.add('is-visible');\r\n        const missing = books.filter(book => !book.hasFullCover);\r\n        missingList.innerHTML = missing.length\r\n          ? missing.map(book => `<li>${escapeHTML(book.title)}<\/li>`).join('')\r\n          : '<li>T\u00fcm eserlerde tam kapak bulundu.<\/li>';\r\n      }\r\n\r\n      function render() {\r\n        grid.innerHTML = '';\r\n        books.forEach(book => grid.appendChild(createCard(book)));\r\n        applyFilters();\r\n        renderDebugList();\r\n      }\r\n\r\n      function setSeries(series) {\r\n        activeSeries = series;\r\n        $$('.ddg-filter-btn').forEach(btn => {\r\n          const on = btn.dataset.series === series;\r\n          btn.classList.toggle('is-active', on);\r\n          btn.setAttribute('aria-pressed', on ? 'true' : 'false');\r\n        });\r\n        galleryTitle.textContent = SERIES_TITLES[series] || 'Eserler';\r\n        applyFilters();\r\n        const controlsTop = root.querySelector('.ddg-controls');\r\n        if (controlsTop && series !== 'all') controlsTop.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n      }\r\n\r\n      function applyFilters() {\r\n        const q = normalizeTR(searchInput.value || '');\r\n        let shown = 0;\r\n        $$('.ddg-book-card').forEach(card => {\r\n          const seriesMatch = activeSeries === 'all' || card.dataset.series.split(' ').includes(activeSeries);\r\n          const searchMatch = !q || card.dataset.title.includes(q);\r\n          const show = seriesMatch && searchMatch;\r\n          card.classList.toggle('is-hidden', !show);\r\n          if (show) shown++;\r\n        });\r\n        visibleCount.textContent = String(shown);\r\n\r\n        let empty = grid.querySelector('.ddg-empty');\r\n        if (!shown) {\r\n          if (!empty) {\r\n            empty = document.createElement('div');\r\n            empty.className = 'ddg-empty';\r\n            empty.textContent = 'Bu se\u00e7imde g\u00f6sterilecek kitap bulunamad\u0131.';\r\n            grid.appendChild(empty);\r\n          }\r\n        } else if (empty) {\r\n          empty.remove();\r\n        }\r\n      }\r\n\r\n      async function fetchAllProducts() {\r\n        const base = `${window.location.origin}\/wp-json\/wc\/store\/v1\/products`;\r\n        const all = [];\r\n        const perPage = 100;\r\n        for (let page = 1; page <= 10; page++) {\r\n          const url = `${base}?per_page=${perPage}&page=${page}&orderby=title&order=asc`;\r\n          const response = await fetch(url, { credentials: 'same-origin', headers: { 'Accept': 'application\/json' } });\r\n          if (!response.ok) {\r\n            if (response.status === 400 && page > 1) break;\r\n            throw new Error(`WooCommerce Store API: ${response.status}`);\r\n          }\r\n          const batch = await response.json();\r\n          if (!Array.isArray(batch) || !batch.length) break;\r\n          all.push(...batch);\r\n          if (batch.length < perPage) break;\r\n        }\r\n        return all;\r\n      }\r\n\r\n      async function fetchFullCoverMedia() {\r\n        const base = `${window.location.origin}\/wp-json\/wp\/v2\/media`;\r\n        const perPage = 100;\r\n        const fields = 'id,slug,title,alt_text,source_url';\r\n        const byId = new Map();\r\n\r\n        async function fetchSearch(term) {\r\n          for (let page = 1; page <= 10; page++) {\r\n            const url = `${base}?media_type=image&search=${encodeURIComponent(term)}&per_page=${perPage}&page=${page}&orderby=date&order=desc&_fields=${encodeURIComponent(fields)}`;\r\n            const response = await fetch(url, { credentials: 'same-origin', headers: { 'Accept': 'application\/json' } });\r\n            if (!response.ok) {\r\n              if ((response.status === 400 || response.status === 404) && page > 1) break;\r\n              throw new Error(`WordPress Media API: ${response.status}`);\r\n            }\r\n            const batch = await response.json();\r\n            if (!Array.isArray(batch) || !batch.length) break;\r\n            batch.forEach(item => byId.set(item.id || item.source_url, item));\r\n            if (batch.length < perPage) break;\r\n          }\r\n        }\r\n\r\n        \/\/ \u0130ki sorgu kullan\u0131yoruz: baz\u0131 WordPress aramalar\u0131nda \"Temsili Tam Kapak\" dosyalar\u0131\r\n        \/\/ yaln\u0131zca daha \u00f6zel aramayla d\u00f6nebiliyor. Sonu\u00e7lar ID \u00fczerinden tekille\u015ftirilir.\r\n        await Promise.all([\r\n          fetchSearch('Tam Kapak'),\r\n          fetchSearch('Temsili Tam Kapak'),\r\n          fetchSearch('Temsili')\r\n        ]);\r\n        return Array.from(byId.values());\r\n      }\r\n\r\n      async function init() {\r\n        try {\r\n          const [products, mediaResult] = await Promise.all([\r\n            fetchAllProducts(),\r\n            fetchFullCoverMedia().catch(err => {\r\n              console.warn('[D&D Kitap Galerisi] Medya K\u00fct\u00fcphanesi okunamad\u0131; \u00fcr\u00fcn galerisi yede\u011fi kullan\u0131lacak.', err);\r\n              return [];\r\n            })\r\n          ]);\r\n          const turkish = products.filter(isTurkishProduct);\r\n\r\n          books = (await Promise.all(turkish.map(async product => {\r\n            const title = cleanTitle(product.name || '\u0130simsiz eser');\r\n            const image = await getImage(product, title, mediaResult);\r\n            return {\r\n              id: product.id,\r\n              title,\r\n              permalink: product.permalink || '#',\r\n              image: image.src,\r\n              alt: image.alt,\r\n              hasFullCover: image.hasFullCover,\r\n              coverSource: image.source,\r\n              summary: makeSummary(product),\r\n              series: classify(product, title)\r\n            };\r\n          }))).filter(book => book.image);\r\n\r\n          books.sort((a, b) => a.title.localeCompare(b.title, 'tr'));\r\n\r\n          totalCount.textContent = String(books.length);\r\n          fullCoverCount.textContent = String(books.filter(b => b.hasFullCover).length);\r\n          textCardCount.textContent = String(books.filter(b => !b.hasFullCover).length);\r\n          render();\r\n        } catch (err) {\r\n          console.error('[D&D Kitap Galerisi]', err);\r\n          grid.innerHTML = `\r\n            <div class=\"ddg-error\">\r\n              Kitaplar WooCommerce \u00fczerinden y\u00fcklenemedi. Sayfay\u0131 yenileyin; sorun s\u00fcrerse Store API eri\u015fimini kontrol edin.\r\n            <\/div>\r\n          `;\r\n          totalCount.textContent = '\u2014';\r\n          fullCoverCount.textContent = '\u2014';\r\n          textCardCount.textContent = '\u2014';\r\n          visibleCount.textContent = '0';\r\n        }\r\n      }\r\n\r\n      $$('.ddg-filter-btn').forEach(btn => btn.addEventListener('click', () => setSeries(btn.dataset.series)));\r\n      searchInput.addEventListener('input', applyFilters);\r\n      rumeliBtn.addEventListener('click', () => setSeries('goc'));\r\n\r\n      init();\r\n    })();\r\n  <\/script>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>D&amp;D Publishing \u00b7 Dijital Sergi Abdurrahim Dede Eserleri T\u00fcrk\u00e7e eserlerin \u00f6n kapa\u011f\u0131n\u0131, s\u0131rt\u0131n\u0131 ve arka kapa\u011f\u0131n\u0131 birlikte inceleyebilece\u011finiz dijital kitap galerisi. Tam kapak g\u00f6rseli bulunmayan eserlerde \u00f6n kapak, \u00fcr\u00fcn a\u00e7\u0131klamas\u0131ndan al\u0131nan tan\u0131t\u0131m metniyle birlikte sunulur. \u2014T\u00fcrk\u00e7e eser \u2014Tam kapak haz\u0131r \u2014\u00d6n kapak + tan\u0131t\u0131m 8Ana seri K\u00fclliyat\u0131 ke\u015ffedin T\u00fcm Eserler D\u00fc\u015f\u00fcnd\u00fcrerek D\u00f6n\u00fc\u015ft\u00fcren Ya\u015fanm\u0131\u015f Hukuk Hik\u00e2yeleri [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-6777","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kitap Sergisi - ddpublishings<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kitap Sergisi - ddpublishings\" \/>\n<meta property=\"og:description\" content=\"D&amp;D Publishing \u00b7 Dijital Sergi Abdurrahim Dede Eserleri T\u00fcrk\u00e7e eserlerin \u00f6n kapa\u011f\u0131n\u0131, s\u0131rt\u0131n\u0131 ve arka kapa\u011f\u0131n\u0131 birlikte inceleyebilece\u011finiz dijital kitap galerisi. Tam kapak g\u00f6rseli bulunmayan eserlerde \u00f6n kapak, \u00fcr\u00fcn a\u00e7\u0131klamas\u0131ndan al\u0131nan tan\u0131t\u0131m metniyle birlikte sunulur. \u2014T\u00fcrk\u00e7e eser \u2014Tam kapak haz\u0131r \u2014\u00d6n kapak + tan\u0131t\u0131m 8Ana seri K\u00fclliyat\u0131 ke\u015ffedin T\u00fcm Eserler D\u00fc\u015f\u00fcnd\u00fcrerek D\u00f6n\u00fc\u015ft\u00fcren Ya\u015fanm\u0131\u015f Hukuk Hik\u00e2yeleri [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/\" \/>\n<meta property=\"og:site_name\" content=\"ddpublishings\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-12T14:52:36+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data1\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/kitap-sergisi\\\/\",\"url\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/kitap-sergisi\\\/\",\"name\":\"Kitap Sergisi - ddpublishings\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/#website\"},\"datePublished\":\"2026-07-21T13:31:55+00:00\",\"dateModified\":\"2026-08-12T14:52:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/kitap-sergisi\\\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/kitap-sergisi\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/kitap-sergisi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kitap Sergisi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/#website\",\"url\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/\",\"name\":\"ddpublishings\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/#organization\",\"name\":\"ddpublishings\",\"url\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ddpublishings.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/dd-publishing-logo-black.svg\",\"contentUrl\":\"https:\\\/\\\/ddpublishings.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/dd-publishing-logo-black.svg\",\"width\":561,\"height\":454,\"caption\":\"ddpublishings\"},\"image\":{\"@id\":\"https:\\\/\\\/ddpublishings.com\\\/tr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kitap Sergisi - ddpublishings","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:\/\/ddpublishings.com\/tr\/kitap-sergisi\/","og_locale":"tr_TR","og_type":"article","og_title":"Kitap Sergisi - ddpublishings","og_description":"D&amp;D Publishing \u00b7 Dijital Sergi Abdurrahim Dede Eserleri T\u00fcrk\u00e7e eserlerin \u00f6n kapa\u011f\u0131n\u0131, s\u0131rt\u0131n\u0131 ve arka kapa\u011f\u0131n\u0131 birlikte inceleyebilece\u011finiz dijital kitap galerisi. Tam kapak g\u00f6rseli bulunmayan eserlerde \u00f6n kapak, \u00fcr\u00fcn a\u00e7\u0131klamas\u0131ndan al\u0131nan tan\u0131t\u0131m metniyle birlikte sunulur. \u2014T\u00fcrk\u00e7e eser \u2014Tam kapak haz\u0131r \u2014\u00d6n kapak + tan\u0131t\u0131m 8Ana seri K\u00fclliyat\u0131 ke\u015ffedin T\u00fcm Eserler D\u00fc\u015f\u00fcnd\u00fcrerek D\u00f6n\u00fc\u015ft\u00fcren Ya\u015fanm\u0131\u015f Hukuk Hik\u00e2yeleri [&hellip;]","og_url":"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/","og_site_name":"ddpublishings","article_modified_time":"2026-08-12T14:52:36+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/","url":"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/","name":"Kitap Sergisi - ddpublishings","isPartOf":{"@id":"https:\/\/ddpublishings.com\/tr\/#website"},"datePublished":"2026-07-21T13:31:55+00:00","dateModified":"2026-08-12T14:52:36+00:00","breadcrumb":{"@id":"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ddpublishings.com\/tr\/kitap-sergisi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ddpublishings.com\/tr\/"},{"@type":"ListItem","position":2,"name":"Kitap Sergisi"}]},{"@type":"WebSite","@id":"https:\/\/ddpublishings.com\/tr\/#website","url":"https:\/\/ddpublishings.com\/tr\/","name":"ddpublishings","description":"","publisher":{"@id":"https:\/\/ddpublishings.com\/tr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ddpublishings.com\/tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":"Organization","@id":"https:\/\/ddpublishings.com\/tr\/#organization","name":"ddpublishings","url":"https:\/\/ddpublishings.com\/tr\/","logo":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/ddpublishings.com\/tr\/#\/schema\/logo\/image\/","url":"https:\/\/ddpublishings.com\/wp-content\/uploads\/2025\/07\/dd-publishing-logo-black.svg","contentUrl":"https:\/\/ddpublishings.com\/wp-content\/uploads\/2025\/07\/dd-publishing-logo-black.svg","width":561,"height":454,"caption":"ddpublishings"},"image":{"@id":"https:\/\/ddpublishings.com\/tr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/pages\/6777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/comments?post=6777"}],"version-history":[{"count":18,"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/pages\/6777\/revisions"}],"predecessor-version":[{"id":7165,"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/pages\/6777\/revisions\/7165"}],"wp:attachment":[{"href":"https:\/\/ddpublishings.com\/tr\/wp-json\/wp\/v2\/media?parent=6777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}