الترحيل·7 min read·

كيف أنقل مدونتي التقنية من Hashnode؟

صدِّر نسخة احتياطية Hashnode من GitHub، وحافظ على كتل الكود المضمّنة، وأعد إعداد نطاقك المخصص، وواصل بناء جمهورك التقني على VeloCMS.

تحظى Hashnode بشعبية كبيرة بين المطورين تحديداً لأنها صُمِّمت بعقلية المطور — دعم Markdown ونسخ احتياطي على GitHub وكتل كود نظيفة وجمهور تقني مدمج. إذا كنت تنتقل إلى VeloCMS، فغالباً لأنك تريد مزيداً من التحكم: تصميمك الخاص، ونطاقك دون علامة Hashnode، وقائمة أعضاء/مشتركين خاصة بك. البشرى: النسخ الاحتياطي على GitHub من Hashnode يجعل هذا من أنظف عمليات الترحيل المتاحة.

الخطوة 1 — تفعيل النسخ الاحتياطي على GitHub وسحبه

في Hashnode، انتقل إلى لوحة تحكم مدونتك → Integrations → GitHub. اربط حسابك على GitHub وفعّل النسخ الاحتياطية التلقائية إلى مستودع. إذا كنت قد فعلت ذلك من قبل، ستجد في مستودعك بنية مجلدات مثل articles/your-post-slug.md لكل مقالة. إذا كنت تفعّله الآن، ابدأ نسخاً احتياطياً يدوياً من صفحة التكامل — ينشئ هذا التزاماً أولياً بجميع المقالات الحالية.

# Clone your Hashnode backup repo
git clone https://github.com/yourusername/your-hashnode-backup.git

# Structure:
# articles/
#   first-post.md
#   tutorial-on-react-hooks.md
#   ...
# static/
#   img/
#     cover-image.png

الخطوة 2 — مراجعة الـ front matter في Markdown

تُصدَّر كل مقالة من Hashnode مع بيانات YAML في الرأس تبدو كالتالي: title وslug وtags وdateAdded وأحياناً مسار صورة الغلاف. يقرأ مستورد Markdown في VeloCMS هذه الحقول ويعيّنها على نموذج المنشور. الحقول التي تستحق الانتباه: يصبح dateAdded هو published_at، وتصبح tags علامات المنشور في VeloCMS، وتشير مسارات صور الغلاف إلى مجلد static/ (ارفع هذه الصور إلى VeloCMS R2 أولاً).

---
title: "Building a REST API with Node.js"
slug: building-rest-api-nodejs
tags:
  - Node.js
  - REST API
  - Backend
dateAdded: 2025-11-14T09:00:00.000Z
coverImage: ./static/img/nodejs-rest.png
---

# Building a REST API with Node.js

Your article content here...

الخطوة 3 — استيراد ملفات Markdown إلى VeloCMS

انتقل إلى Admin → Tools → Import → Markdown Batch. ارفع ملف ZIP لمجلد articles/ (يمكنك ضغطه مباشرةً من المستودع المستنسخ). يحلّل VeloCMS كل ملف .md، ويقرأ بيانات الرأس، وينشئ مقالات كمسودات. تُحفظ كتل الكود بين علامات triple-backtick مع تمييز بناء الجملة حسب اللغة. اللغات التي يدعمها Hashnode (JavaScript وTypeScript وPython وGo وRust وغيرها) تنتقل جميعها — يستخدم VeloCMS نظام تمييز Prism/Shiki ذاته.

يدعم محرر TipTap في VeloCMS كتل الكود المسيّجة بتمييز بناء الجملة وزر نسخ بشكل مدمج. سيحصل قراؤك من المطورين على نفس التجربة التي كانوا يتمتعون بها على Hashnode — أو أفضل، إذ يمكنك الآن تخصيص أسلوب كتل الكود في ثيمك.

الخطوة 4 — التعامل مع التضمينات في Hashnode

تدعم Hashnode تضمين CodePen وGitHub Gists وعناصر أخرى. في Markdown المُصدَّر، تظهر هذه التضمينات كروابط مجردة على سطر منفرد أو بصيغة تضمين خاصة بـ Hashnode. يعرض VeloCMS الروابط المجردة كروابط قابلة للنقر وليس تضمينات تفاعلية. لاستعادة التضمين، الصق كود iframe من الخدمة الأصلية (مثل وسم تضمين GitHub Gist) مباشرةً في كتلة تضمين HTML في محرر VeloCMS. هذا إصلاح لمرة واحدة لكل عنصر مضمّن.

الخطوة 5 — نقل نطاقك المخصص

إذا كانت مدونة Hashnode تعمل على نطاقك الخاص (yourdomain.com) عبر ميزة النطاقات المخصصة في Hashnode، فعملية الانتقال هي: أضف نطاقك إلى VeloCMS من Admin → Custom Domains → Add Domain، ثم حدِّث سجل CNAME في مزود DNS من هدف Hashnode إلى نطاقك الفرعي على VeloCMS. كان CNAME الخاص بـ Hashnode يشبه yourusername.hashnode.dev — استبدله بـ yourname.velocms.org. ينتشر DNS عادةً خلال 5 إلى 30 دقيقة على Cloudflare، وقد يصل إلى 24 ساعة لدى مزودين آخرين.

الخطوة 6 — الحفاظ على الجمهور التقني

يمتلك Hashnode نظام متابعة مدمج مرتبط بالمنصة — لا يمكن تصدير المتابعين. ما يمكنك فعله: انشر مقالةً أخيرة على Hashnode تشير إلى مدونتك الجديدة على VeloCMS وخلاصة RSS، واستخدم ميزة النشرة الإخبارية في Hashnode لإرسال إعلان الانتقال إلى مشتركي نشرتك الإخبارية (Settings → Newsletter → Subscribers → Export للحصول على قائمة البريد الإلكتروني)، وأضف روابط canonical على مقالات Hashnode المتبقية لتشير إلى VeloCMS.

أسئلة شائعة

  • هل يدعم VeloCMS SEO بأسلوب Hashnode المتوافق مع المطورين؟ نعم — يولّد VeloCMS Article JSON-LD ووسوم open graph وروابط canonical وملف /llms.txt لمفهرسات الذكاء الاصطناعي على كل منشور.
  • هل يمكنني الاستمرار في المزامنة مع GitHub بعد الانتقال إلى VeloCMS؟ يمتلك VeloCMS ميزة تصدير Git (تجريبي) تستطيع دفع المنشورات إلى مستودع GitHub بتنسيق Markdown — مشابهة لميزة النسخ الاحتياطي في Hashnode.
  • هل تنتقل سلاسل مقالات Hashnode؟ السلاسل ليست جزءاً من نسخة Hashnode الاحتياطية على GitHub — أعد إنشاءها كصفحات علامات في VeloCMS أو صفحة سلسلة مخصصة في المحرر.
  • ماذا عن Hashnode Headless؟ إذا كنت تستخدم Hashnode Headless (GraphQL API الخاص بهم)، يمتلك VeloCMS REST API للغرض ذاته على /api/v1/posts.
  • كيف أتعامل مع 'ردود الفعل' في Hashnode؟ ردود الفعل خاصة بالمنصة — لا تُصدَّر وليس لها ما يعادلها في VeloCMS (التعليقات موجودة).