التصميم الجرافيكي

<!DOCTYPE html>

<html lang="ar">

<head>

  <meta charset="utf-8">

  <title>آخر مقالات pcgamz.com</title>

  <style>

    body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height: 1.7; color: #111; padding: 20px; }

    h2 { color: #0b57d0; font-size: 24px; margin-bottom: 12px; }

    .status { font-size: 14px; color: #555; margin-bottom: 12px; }

    ul.posts { list-style: none; padding: 0; margin: 0; }

    ul.posts li { margin: 6px 0; }

    ul.posts a { color: #0b57d0; text-decoration: none; }

    ul.posts a:hover { text-decoration: underline; }

  </style>

</head>

<body>


  <h2>📰 جميع مقالات pcgamz.com</h2>

  <div class="status" id="status">جاري التحميل…</div>

  <ul class="posts" id="posts"></ul>


  <script>

    (function(){

      // إعدادات

      var BLOG_URL    = 'https://www.pcgamz.com';

      var MAX_PER_PAGE= 150;        // حجم الدفعة (حتى 500 ممكن، 150 آمن)

      var startIndex  = 1;          // بداية الجلب

      var allPosts    = [];         // تجميع كل النتائج

      var done        = false;      // انتهاء الجلب

      var statusEl    = document.getElementById('status');

      var listEl      = document.getElementById('posts');


      // اسم كولباك متغير لتجنب التعارض

      function callbackName(page) { return 'feedCallback_' + page; }


      // إنشاء سكربت JSONP

      function loadPage(start){

        var cb = callbackName(start);

        // عرّف الدالة العمومية التي ستستدعى من JSONP

        window[cb] = function(json){

          try {

            var entries = (json.feed && Array.isArray(json.feed.entry)) ? json.feed.entry : [];

            // خرائط العنوان + الرابط البديل

            entries.forEach(function(e){

              var title = e.title && e.title.$t ? e.title.$t : 'بدون عنوان';

              var alt   = (e.link || []).find(function(l){ return l.rel === 'alternate'; });

              if(alt && alt.href){

                allPosts.push({ title: title, link: alt.href });

              }

            });


            // إذا كانت الدفعة أقل من حجمها أو لا توجد بيانات -> انتهى

            if(entries.length < MAX_PER_PAGE || entries.length === 0){

              done = true;

              render();

            } else {

              // تابع للصفحة التالية

              startIndex += MAX_PER_PAGE;

              statusEl.textContent = 'جاري التحميل… ' + allPosts.length + ' مقال حتى الآن';

              loadPage(startIndex);

            }

          } catch (err) {

            console.error(err);

            statusEl.textContent = 'حدث خطأ أثناء التحميل.';

          } finally {

            // تنظيف: إزالة السكربت والدالة

            var s = document.getElementById(cb);

            if(s) s.remove();

            try { delete window[cb]; } catch(_) { window[cb] = undefined; }

          }

        };


        // إنشاء عنصر السكربت لطلب JSONP

        var url = BLOG_URL + '/feeds/posts/summary' +

                  '?alt=json-in-script' +

                  '&max-results=' + MAX_PER_PAGE +

                  '&start-index=' + start +

                  '&callback=' + cb;

        var script = document.createElement('script');

        script.src = url;

        script.id  = cb;

        script.onerror = function(){

          statusEl.textContent = 'تعذر تحميل الخلاصة.';

        };

        document.body.appendChild(script);

      }


      // عرض النتائج

      function render(){

        // ترتيب أبجدي (يمكن تغييره بتاريخ لاحقاً إن رغبت)

        allPosts.sort(function(a,b){ return a.title.localeCompare(b.title, 'ar'); });


        // بناء العناصر

        var frag = document.createDocumentFragment();

        allPosts.forEach(function(p){

          var li = document.createElement('li');

          var a  = document.createElement('a');

          a.href = p.link;

          a.textContent = p.title;

          a.target = '_blank';

          a.rel = 'noopener';

          li.appendChild(a);

          frag.appendChild(li);

        });


        listEl.innerHTML = '';

        listEl.appendChild(frag);

        statusEl.textContent = 'تم التحميل: ' + allPosts.length + ' مقال';

      }


      // ابدأ التحميل

      loadPage(startIndex);

    })();

  </script>


</body>

</html>


I BUILT MY SITE FOR FREE USING