{"id":1491,"date":"2019-10-16T16:14:43","date_gmt":"2019-10-16T16:14:43","guid":{"rendered":"http:\/\/3.76.10.198\/blog\/"},"modified":"2026-04-14T08:43:37","modified_gmt":"2026-04-14T08:43:37","slug":"blog","status":"publish","type":"page","link":"https:\/\/v2.smartup.network\/tr\/blog\/","title":{"rendered":"Blog"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\n\t<div class=\"wpb_raw_code wpb_raw_html wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<section class=\"sn-blog-portfolio-section\">\r\n  <div class=\"sn-blog-portfolio-grid\" id=\"snBlogPortfolio\">\r\n    <div class=\"sn-blog-loading\">Blog posts are loading...<\/div>\r\n  <\/div>\r\n\r\n  <div class=\"sn-blog-loadmore-wrap\" id=\"snBlogLoadMoreWrap\" style=\"display:none;\">\r\n    <button class=\"sn-blog-loadmore-btn\" id=\"snBlogLoadMoreBtn\" type=\"button\">\r\n      Load More\r\n    <\/button>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  .sn-blog-portfolio-section {\r\n    width: 100%;\r\n  }\r\n\r\n  .sn-blog-portfolio-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 28px;\r\n  }\r\n\r\n  .sn-blog-card {\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100%;\r\n    background: #ffffff;\r\n    border: 1px solid #e4e6ef;\r\n    border-radius: 22px;\r\n    overflow: hidden;\r\n    box-shadow: 0 10px 30px rgba(41, 37, 99, 0.08);\r\n    transition: transform 0.35s ease, box-shadow 0.35s ease;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .sn-blog-card:hover {\r\n    transform: translateY(-5px);\r\n    box-shadow: 0 18px 40px rgba(41, 37, 99, 0.12);\r\n  }\r\n\r\n  .sn-blog-cover-wrap {\r\n    width: 100%;\r\n    aspect-ratio: 16 \/ 9;\r\n    overflow: hidden;\r\n    background: linear-gradient(135deg, #292563 0%, #6474A2 100%);\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .sn-blog-cover {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    display: block;\r\n  }\r\n\r\n  .sn-blog-content {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: space-between;\r\n    flex: 1;\r\n    padding: 18px 18px 20px;\r\n    gap: 16px;\r\n  }\r\n\r\n  .sn-blog-title {\r\n    margin: 0;\r\n    color: #292563;\r\n    font-size: 19px;\r\n    line-height: 1.35;\r\n    font-weight: 700;\r\n    letter-spacing: -0.02em;\r\n    min-height: 52px;\r\n    display: -webkit-box;\r\n    -webkit-line-clamp: 2;\r\n    -webkit-box-orient: vertical;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .sn-blog-author {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    margin-top: auto;\r\n  }\r\n\r\n  .sn-blog-author-photo,\r\n  .sn-blog-author-fallback {\r\n    width: 48px;\r\n    height: 48px;\r\n    min-width: 48px;\r\n    border-radius: 50%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    border: 2px solid #e4e6ef;\r\n    overflow: hidden;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .sn-blog-author-photo {\r\n    object-fit: cover;\r\n    background: #f5f6fa;\r\n  }\r\n\r\n  .sn-blog-author-fallback {\r\n    color: #ffffff;\r\n    font-size: 16px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.02em;\r\n  }\r\n\r\n  .sn-blog-author-name {\r\n    color: #1e1e2f;\r\n    font-size: 14px;\r\n    line-height: 1.4;\r\n    font-weight: 600;\r\n    display: block;\r\n  }\r\n\r\n  .sn-blog-loading,\r\n  .sn-blog-error,\r\n  .sn-blog-empty {\r\n    grid-column: 1 \/ -1;\r\n    padding: 28px;\r\n    border: 1px solid #e4e6ef;\r\n    border-radius: 20px;\r\n    background: #ffffff;\r\n    color: #1e1e2f;\r\n    font-size: 16px;\r\n  }\r\n\r\n  .sn-blog-loadmore-wrap {\r\n    display: flex;\r\n    justify-content: center;\r\n    margin-top: 28px;\r\n  }\r\n\r\n  .sn-blog-loadmore-btn {\r\n    border: 0;\r\n    background: #292563;\r\n    color: #ffffff;\r\n    padding: 14px 24px;\r\n    border-radius: 999px;\r\n    font-size: 14px;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    transition: background 0.3s ease, transform 0.3s ease;\r\n  }\r\n\r\n  .sn-blog-loadmore-btn:hover {\r\n    background: #6474A2;\r\n    transform: translateY(-2px);\r\n  }\r\n\r\n  .sn-blog-loadmore-btn:disabled {\r\n    opacity: 0.6;\r\n    cursor: not-allowed;\r\n    transform: none;\r\n  }\r\n\r\n  @media (max-width: 767px) {\r\n    .sn-blog-portfolio-grid {\r\n      grid-template-columns: 1fr;\r\n      gap: 22px;\r\n    }\r\n\r\n    .sn-blog-title {\r\n      font-size: 17px;\r\n      min-height: auto;\r\n    }\r\n\r\n    .sn-blog-content {\r\n      padding: 16px 16px 18px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  (function () {\r\n    const container = document.getElementById('snBlogPortfolio');\r\n    const loadMoreWrap = document.getElementById('snBlogLoadMoreWrap');\r\n    const loadMoreBtn = document.getElementById('snBlogLoadMoreBtn');\r\n\r\n    if (!container || !loadMoreWrap || !loadMoreBtn) return;\r\n\r\n    const POSTS_PER_PAGE = 10;\r\n    let currentPage = 1;\r\n    let totalPages = 1;\r\n    let isFirstLoad = true;\r\n    let isLoading = false;\r\n\r\n    const AUTHOR_IMAGE_MAP = {\r\n      \"Zeynep G\u00fcne\u015f\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Zeynep-Gunes.png\",\r\n      \"Yusuf Eyy\u00fcpkoca\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Yusuf-Eyyupkoca.png\",\r\n      \"Yusuf Altay\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Yusuf-Altay.png\",\r\n      \"Yusuf Kerim Altay\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Yusuf-Altay.png\",\r\n      \"Umut I\u015f\u0131k\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Umut-Isik.png\",\r\n      \"U\u011fur Can\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Ugur-Can.png\",\r\n      \"G\u00fc\u00e7l\u00fc Talu\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Guclu-Talu.png\",\r\n      \"G\u00f6ksel Temizer\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Goksel-Temizer.png\",\r\n      \"Berkay K\u00f6yl\u00fc\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Berkay-Koylu.png\",\r\n      \"Can G\u00f6k\u00e7en\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Can-Gokcen.png\",\r\n      \"Arda G\u00f6z\u00fcpek\": \"http:\/\/smartup.network\/wp-content\/uploads\/2026\/01\/Arda-Gozupek.png\"\r\n    };\r\n\r\n    function normalizeText(str) {\r\n      return (str || \"\")\r\n        .toString()\r\n        .trim()\r\n        .toLocaleLowerCase(\"tr-TR\");\r\n    }\r\n\r\n    function decodeHTML(html) {\r\n      const txt = document.createElement(\"textarea\");\r\n      txt.innerHTML = html;\r\n      return txt.value;\r\n    }\r\n\r\n    function stripHTML(html) {\r\n      const div = document.createElement(\"div\");\r\n      div.innerHTML = html;\r\n      return div.textContent || div.innerText || \"\";\r\n    }\r\n\r\n    function getInitials(name) {\r\n      const parts = (name || \"\").trim().split(\/\\s+\/).filter(Boolean);\r\n      if (parts.length >= 2) {\r\n        return (parts[0][0] + parts[1][0]).toUpperCase();\r\n      }\r\n      if (parts.length === 1) {\r\n        return parts[0].slice(0, 2).toUpperCase();\r\n      }\r\n      return \"SN\";\r\n    }\r\n\r\n    function stringToGradient(name) {\r\n      let hash = 0;\r\n      for (let i = 0; i < name.length; i++) {\r\n        hash = name.charCodeAt(i) + ((hash << 5) - hash);\r\n      }\r\n\r\n      const gradients = [\r\n        \"linear-gradient(135deg, #292563 0%, #6474A2 100%)\",\r\n        \"linear-gradient(135deg, #1E1E2F 0%, #6474A2 100%)\",\r\n        \"linear-gradient(135deg, #292563 0%, #4f46e5 100%)\",\r\n        \"linear-gradient(135deg, #4338ca 0%, #6474A2 100%)\",\r\n        \"linear-gradient(135deg, #2b2b6f 0%, #6b7bb3 100%)\"\r\n      ];\r\n\r\n      return gradients[Math.abs(hash) % gradients.length];\r\n    }\r\n\r\n    function getFeaturedImage(post) {\r\n      return post?._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url || \"\";\r\n    }\r\n\r\n    function getAuthorName(post) {\r\n      return post?._embedded?.author?.[0]?.name || \"Smartup Network\";\r\n    }\r\n\r\n    function getMappedAuthorPhoto(authorName) {\r\n      const normalizedAuthorName = normalizeText(authorName);\r\n\r\n      for (const key in AUTHOR_IMAGE_MAP) {\r\n        if (normalizeText(key) === normalizedAuthorName) {\r\n          return AUTHOR_IMAGE_MAP[key];\r\n        }\r\n      }\r\n\r\n      return \"\";\r\n    }\r\n\r\n    function getAuthorMarkup(authorName, authorPhoto) {\r\n      if (authorPhoto) {\r\n        return `<img decoding=\"async\" class=\"sn-blog-author-photo\" src=\"${authorPhoto}\" alt=\"${authorName}\">`;\r\n      }\r\n\r\n      const initials = getInitials(authorName);\r\n      const gradient = stringToGradient(authorName);\r\n\r\n      return `\r\n        <span class=\"sn-blog-author-fallback\" style=\"background:${gradient};\">\r\n          ${initials}\r\n        <\/span>\r\n      `;\r\n    }\r\n\r\n    function createCard(post) {\r\n      const title = stripHTML(decodeHTML(post.title?.rendered || \"Untitled\"));\r\n      const link = post.link || \"#\";\r\n      const coverImage = getFeaturedImage(post);\r\n      const authorName = getAuthorName(post);\r\n      const authorPhoto = getMappedAuthorPhoto(authorName);\r\n\r\n      return `\r\n        <a class=\"sn-blog-card\" href=\"${link}\">\r\n          <div class=\"sn-blog-cover-wrap\">\r\n            ${\r\n              coverImage\r\n                ? `<img decoding=\"async\" class=\"sn-blog-cover\" src=\"${coverImage}\" alt=\"${title}\">`\r\n                : ``\r\n            }\r\n          <\/div>\r\n\r\n          <div class=\"sn-blog-content\">\r\n            <h3 class=\"sn-blog-title\">${title}<\/h3>\r\n\r\n            <div class=\"sn-blog-author\">\r\n              ${getAuthorMarkup(authorName, authorPhoto)}\r\n              <span class=\"sn-blog-author-name\">${authorName}<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/a>\r\n      `;\r\n    }\r\n\r\n    function updateLoadMoreVisibility() {\r\n      if (currentPage < totalPages) {\r\n        loadMoreWrap.style.display = \"flex\";\r\n      } else {\r\n        loadMoreWrap.style.display = \"none\";\r\n      }\r\n    }\r\n\r\n    function fetchPosts(page) {\r\n      if (isLoading) return;\r\n      isLoading = true;\r\n\r\n      loadMoreBtn.disabled = true;\r\n      loadMoreBtn.textContent = \"Y\u00fckleniyor...\";\r\n\r\n      const apiUrl = `${window.location.origin}\/wp-json\/wp\/v2\/posts?_embed&per_page=${POSTS_PER_PAGE}&page=${page}&orderby=date&order=desc`;\r\n\r\n      fetch(apiUrl)\r\n        .then((response) => {\r\n          if (!response.ok) {\r\n            throw new Error(\"Posts could not be fetched.\");\r\n          }\r\n\r\n          const totalPagesHeader = response.headers.get(\"X-WP-TotalPages\");\r\n          totalPages = totalPagesHeader ? parseInt(totalPagesHeader, 10) : 1;\r\n\r\n          return response.json();\r\n        })\r\n        .then((posts) => {\r\n          if (!Array.isArray(posts) || !posts.length) {\r\n            if (isFirstLoad) {\r\n              container.innerHTML = '<div class=\"sn-blog-empty\">No blog posts found.<\/div>';\r\n            }\r\n            loadMoreWrap.style.display = \"none\";\r\n            return;\r\n          }\r\n\r\n          const html = posts.map(createCard).join(\"\");\r\n\r\n          if (isFirstLoad) {\r\n            container.innerHTML = html;\r\n            isFirstLoad = false;\r\n          } else {\r\n            container.insertAdjacentHTML(\"beforeend\", html);\r\n          }\r\n\r\n          updateLoadMoreVisibility();\r\n        })\r\n        .catch((error) => {\r\n          console.error(error);\r\n\r\n          if (isFirstLoad) {\r\n            container.innerHTML = '<div class=\"sn-blog-error\">Blog posts could not be loaded.<\/div>';\r\n          }\r\n        })\r\n        .finally(() => {\r\n          isLoading = false;\r\n          loadMoreBtn.disabled = false;\r\n          loadMoreBtn.textContent = \"Devam\u0131n\u0131 G\u00f6r\";\r\n        });\r\n    }\r\n\r\n    loadMoreBtn.addEventListener(\"click\", function () {\r\n      if (currentPage >= totalPages) return;\r\n      currentPage += 1;\r\n      fetchPosts(currentPage);\r\n    });\r\n\r\n    fetchPosts(currentPage);\r\n  })();\r\n<\/script>\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Blog posts are loading&#8230; Load More<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":30,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","footnotes":""},"class_list":["post-1491","page","type-page","status-publish","hentry","description-off"],"_links":{"self":[{"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/pages\/1491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/comments?post=1491"}],"version-history":[{"count":0,"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/pages\/1491\/revisions"}],"wp:attachment":[{"href":"https:\/\/v2.smartup.network\/tr\/wp-json\/wp\/v2\/media?parent=1491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}