الصور في مقتطفات المواضيع

أنا أحاول إعداد Discourse كخادم واجهة برمجة تطبيقات (API) من الرأس (headless). أحتاج إلى عرض النص الكامل للموضوع والصور في صفحة الهبوط المخصصة التي بنيتها. أستطيع الحصول على النص الكامل من خلال إعداد always_include_topic_excerpts. ومع ذلك، لا يحتوي مقتطف النص على الصور.

عند الغوص أعمق قليلاً، اكتشفت أن ملف ExcerptParser.rb يحتوي على خيارات يمكن أن تساعدني في تلبية متطلباتي. إذا تمكنت من تغيير هذا السطر في Post.rb، فسيتم تلبية احتياجاتي: discourse/app/models/post.rb at 1059557ce11c474fdf568571423a88821b072141 · discourse/discourse · GitHub

ما هي أفضل طريقة للقيام بذلك؟ ربما إنشاء إعداد موقع (SiteSetting) لهذا الغرض، مشابهًا لـ SiteSetting.post_excerpt_maxlength؟

في الواقع، أود أن يكون لدي هذه الإعدادات المنطقية (boolean) الثلاثة:
post_excerpt_markdown_images
post_excerpt_strip_images
post_excerpt_strip_links

شكرًا لك على مساعدتك!

هل هناك سبب لتجربتك لسحب نص الموضوع الكامل عبر الملخص؟ يجب أن تتمكن من الحصول على المحتوى المطهو الكامل، والذي يتضمن الصور:

مرحبًا كريس، شكرًا لردك. أحتاج إلى النص الكامل للموضوع عند الضغط على /latest.json. بشكل افتراضي، يعيد فقط عنوان الموضوع، باستثناء بعض المنشورات (مثل الإعلانات؟) حيث يعيد أيضًا مقتطفًا. مع تفعيل إعداد always_include_topic_excerpts، يمكنني الحصول على النص الكامل باستثناء الروابط والصور. أبحث عن طريقة للحصول على الروابط والصور ضمن المقتطف.

تم إنشاء طلب سحب مسودة للحصول على ملاحظات مبكرة: FEATURE: Add site settings for images and links in excerpts by nrchandan · Pull Request #9799 · discourse/discourse · GitHub

لا أفهم تمامًا، لكنني أود مناقشة الأمر: إما إزالة جميع الروابط والصور أو إضافتها؟

مرحبًا @Bcat، سأحاول الحصول على لقطة شاشة قبل وبعد قريبًا.

شكرًا لك على طلب السحب (PR) المبدئي @chandan.gupta، لكننا نزيل الصور من الملخصات لسبب ما.

كما أننا لا نفضل إضافة إعدادات إضافية للموقع ما لم يكن هناك طلب كبير عليها. إذا كنت بحاجة فعلية إلى هذه الميزة على موقعك، فإنني أقترح عليك إنشاء إضافة (plugin) لها.

شكرًا لك يا @Johani، لا مشكلة. هذا منطقي. إذن هذا ممكن التنفيذ عبر الإضافات أيضًا، أليس كذلك؟

يمكنك القيام بذلك من خلال إضافة، لكن هذا تغيير غير منظم، فأنت تصطدم بالافتراضات الأساسية مما سيؤدي إلى نتائج غير مقصودة.

@sam هل سيكون إضافة معقدة لإرجاع posts[0].raw أو posts[0].cooked مع /latest.json؟ بهذه الطريقة، لن نحتاج إلى الاعتماد على “excerpt”، وسنحقق أيضًا احتياجاتنا. هل يمكنك إرشادي إلى أي مرجع لتنفيذ ذلك؟ أفهم أن هذا سيتطلب عددًا أكبر من عمليات قراءة قاعدة البيانات، لكنني مستعد لتحمّل هذا التكلفة من حيث الأداء.