بالنسبة إلى مولد مقالات فيسبوك فورية خارجي، نحتاج إلى منشورات HTML مطبوخة ولكن بدون مربعات واحدة مُصغرة…
هل توجد أي مسار أو نقطة نهاية API للمنشورات موجودة بالفعل؟
بالنسبة إلى مولد مقالات فيسبوك فورية خارجي، نحتاج إلى منشورات HTML مطبوخة ولكن بدون مربعات واحدة مُصغرة…
هل توجد أي مسار أو نقطة نهاية API للمنشورات موجودة بالفعل؟
ربما يساعدك هذا: GitHub - discourse/raw-post-button · GitHub
مرحباً @adopilot، شكرًا جزيلاً لك على ملاحظاتك. هل يمكنك التوضيح أكثر؟
يبدو أن هناك مكونًا لعرض المنشور الخام.
نحن نبحث عن شيء لعرض منشور مطبوخ، ولكن دون الصناديق الجانبية.
نعتذر، ظننت أنك تحتاج إلى منشور خام، ثم أدركت لاحقًا أنني كنت مخطئًا وقد تم نشره بالفعل.
هل هناك أي شخص؟ هل يمكن تحقيق ذلك بطريقة ما؟
مرحبًا @Terrapop
يمكنك كتابة إضافة لإخفاء (أو إزالة) عنصر DOM الخاص بـ One Box عندما يتطابق نص وكيل المستخدم (User Agent string) لطلب المستخدم مع نص وكيل المستخدم الخاص ببوت فيسبوك.
أتمنى أن يكون هذا مفيدًا.
ستحتاج إلى معالجة HTML بعد النشر، حيث تحتوي المنشورات المطبوخة بالفعل على جميع عناصر HTML الخاصة بصناديق المعلومات الممتدة.
هذا هو المشكلة بالضبط. بما أن المنشورات المُطهية تحتوي على صناديق واحدة (التي لا تحتوي بعد على روابط الوسائط الأصلية، حيث أن الروابط الأصلية موجودة فقط في النسخة الخام)، فلا يمكننا تحويلها إلى تنسيق صالح لـ Facebook IA.
يقوم Iframely بإنشاء إطارات iframe صالحة لـ IA من الروابط المستقلة. لقد حاولنا استخدام المنشورات الخام مع محلل Markdown بلغة PHP (Markdown-It لـ PHP) بالإضافة إلى Iframely للروابط المستقلة، لكن تحليل Markdown في Discourse يقوم بكثير من الأمور الإضافية، ولا نريد تكرار كل السحر الذي يقوم به Discourse مع Markdown. لذلك، نحن نبحث عن طريقة للحصول على المنشورات المُطهية، لكن بدون صناديق واحدة محلولة (لأننا نريد معالجة تلك لاحقًا عبر Iframely بدلاً من ذلك).
تعمل نهجنا الحالي مع المنشورات البسيطة، أي: نأخذ النسخة الخام كأساس، نستخدم PHP Markdown-It لتحويلها إلى HTML، ثم نستخدم Iframely لإنتاج بطاقات وسائط صالحة لـ IA (بينما صناديق واحدة ليست كذلك)، ثم نحول HTML إلى HTML صالح لـ Facebook IA ونرسله عبر مكتبة FB PHP SDK. لكن بما أن Discourse يطبق قواعد إضافية كثيرة على تحليل Markdown، فسيكون رائعًا لو تمكنا من الحصول على HTML محلل مباشرة من Discourse، لكن فقط بدون صناديق واحدة.
لا تحتاج إلى معالجة منشورك خارج Discourse. يكفي فقط تعديل الطريقة المسؤولة (monkey patch) واستبعاد الجزء الذي يتم فيه إنشاء الـ oneboxes. هذه هي الفكرة العامة.
حسنًا، لا نرغب في تغيير سلوك الطهي بشكل عام في Discourse، لكننا بحاجة إلى نقطة نهاية (API) تُنتج منشورًا مطبوخًا دون oneboxes (مع إبقاء الروابط المستقلة الأصلية بداخلها، مثل روابط ahrefs).
ما عليك سوى إخفاء أو إزالة عنصر DOM. إنها مهمة بسيطة للغاية.
هذه هي الطريقة “المعيارية” تقريبًا لتنفيذ هذه المهام وما شابهها، حيث لا يرغب المطور في إظهار (أو يرغب في إزالة) أي عنصر DOM.
**ملاحظة:
يُسهّل استخدام مكتبة ‘gon’ الخاصة بـ Ruby تمرير أي متغير من Ruby إلى JavaScript، لكنني لم أستخدمها إلا في تطبيق Rails، وليس مع EmberJS في المكدس (على أي حال، توجد طرق عديدة لتمرير متغير من Ruby إلى JavaScript)..**