تعديل: خطأ في مشاركتي الأصلية. كنت أقصد الإشارة إلى حقل "cooked"، وليس حقل "raw" (تم التصحيح).
لقد حصلت مؤخرًا على بعض بيانات JSON من منتدى discourse، حيث تكون بيانات المنشورات في شكل "cooked". كنت أتساءل عما إذا كانت هناك أي طريقة للتحويل مرة أخرى إلى Markdown؟ أنا جديد على Discourse وقد بحثت ولكن لم أجد طريقة للقيام بذلك. نظرًا لأن البيانات المطبوخة تبدو مستخدمة لإنشاء HTML، أعتقد أن طريقًا بديلاً سيكون استخدام الوظيفة التي تحول المطبوخ إلى HTML ثم تحويل HTML إلى Markdown.
إذا كنت تقصد بـ “raw” حقلاً يسمى raw، فأنت تنظر إلى مصدر Markdown الفعلي الذي نخزنه. كمثال، هذا هو نقطة نهاية JSON لآخر مشاركة لك الآن.
حقل raw هناك هو النص الفعلي الذي قمت بتكوينه في محرر Markdown، ونحن نخزنه كما هو، لذلك لا يمكن أن يكون أكثر نقاءً من ذلك.
بدلاً من ذلك، إذا كنت تقصد بشكل عام “HTML الخام” كما تم كشطه دون استخدام نقاط نهاية JSON، فيمكنك تحويل هذا HTML إلى Markdown خارجيًا باستخدام pandoc كما هو مقترح أعلاه، أو أي برنامج آخر.
أرجو قبول اعتذاري، لقد ارتكبت خطأ في منشوري الأول (وتم تصحيحه منذ ذلك الحين). كنت أقصد الإشارة إلى البيانات المعالجة بدلاً من البيانات الخام (لقد كان يومًا طويلاً…).
ما هو شكل البيانات المعالجة وهل هناك أي طريقة لتحويلها إلى Markdown أو HTML؟ شكرًا.
هذا منطقي أكثر. حقل cooked هو HTML تم عرضه من Markdown.
يمكنك ببساطة تشغيل ذلك عبر pandoc للحصول على Markdown؛ لن تحصل على تطابق كامل مع raw المقابل لأن هناك بعض علامات Markdown غير القياسية مثل [quote] التي يتم عرضها بأنماط HTML معينة، ولكن إذا كنت تحتاج ببساطة إلى المحتوى كـ Markdown، فيجب أن يعمل pandoc بشكل جيد بما فيه الكفاية.
#<Post:0x00007fbb78416f50
id: 2203,
user_id: -4,
topic_id: 590,
post_number: 6,
raw: "\"@merefield, it looks like @eloy has mentioned that their favourite colour is red!\"",
cooked:
"<p><a class=\"mention\" href=\"/u/merefield\">@merefield</a>, it looks like <a class=\"mention\" href=\"/u/eloy\">@eloy</a> has mentioned that their favourite colour is red!</p>",
created_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,
updated_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,