معاينات PDF مضمنة

ماذا تقصد؟ هذه مكون #سطح_مكتب.

للتوضيح فقط - أنا أعلم أن المعاينات المضمنة لملفات PDF لا تزال مدعومة في Discourse.

سؤالي يتعلق تحديدًا بمكون السمة نفسه - فهو يطلق حاليًا تحذيرات إهمال في وحدة التحكم (console) في إصدارات Discourse الحديثة.

هل سيتطلب هذا طلب سحب (PR) لتحديث استخدام واجهة برمجة التطبيقات (API) المهملة (على سبيل المثال، واجهة برمجة تطبيقات المكون الإضافي / خطافات Ember)، أم أن هناك بالفعل عمل جارٍ لتحديثه؟

إعجابَين (2)

نظرًا لأنه مُعلَّم بعلامة #official، فمن المعقول افتراض أنه سيتم تحديثه قبل فوات الأوان.

4 إعجابات

تم تقسيم مشاركة إلى موضوع جديد: نظام البوابات المشابه لـ Scribd

نعم، طلب السحب الخاص بي أعلاه يصلح واجهة برمجة التطبيقات المهملة. ومع ذلك، فإنه يحتاج إلى مزيد من العمل، وكنت مشغولاً للغاية للنظر فيه مرة أخرى.

إعجاب واحد (1)

أنا محبط من عدم السماح بعرض ملف PDF على جهاز محمول. آمل أن أنقل موقعي phpBB إلى Discourse، لأن phpBB متخلف - ولكن، لقد قمت باختراق ميزة في لوحتي باستخدام pdf.js تسمح لي بتضمين ملفات PDF. ويسمح لك pdf.js بالتكبير والتحريك - على الرغم من أنه ليس بنفس قوة سطح المكتب، إلا أنه مفيد في المرآب لفحص دليل دون الحاجة إلى الركض مرة أخرى إلى المنزل. هذا المثال ليس مثالاً لدليل، ولكنه يوضح المبدأ: النشرة رقم 361 - ديزل في أمريكا

فيسبوك يلتهم عملي، وبشكل أساسي من خلال الأجهزة المحمولة - آمل أن أستعيد المستخدمين من خلال تكامل Discourse. لكن خسارة ملف PDF على الهاتف المحمول ليست مكسبًا بالنسبة لي.

-دان

3 إعجابات

يبدو أن ملفات PDF لا يتم عرضها في متصفح Brave على نظام التشغيل Mac (على الأقل في الإصدارات من 25 حتى 26.2)…

إعجاب واحد (1)

تظهر في وحدة التحكم تحذيرات إهمال discourse.static-viewport-initialization.

log_manager.js:98 [Gemini Nexus] تم بدء عامل الخدمة الخلفية
index.js:4 Gemini Nexus v4.2.3 جاهز
runtime.ts:81 DEPRECATION: استيراد `inject` من `@ember/service` أصبح مهملًا. يرجى استيراد `service` بدلاً من ذلك. [معرف الإهمال: importing-inject-from-ember-service] سيتمتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتت

لقد أرسلت طلب سحب (PR) يضيف دعمًا للجوال وتكامل PDF.js إلى هذا المكون
منذ أكثر من 5 أسابيع، ولكن لم أتلق أي ملاحظات بعد. نظرًا لأن الآخرين قد يجدونه
مفيدًا، أشارك الشوكة المحسّنة الخاصة بي:

https://github.com/shortmort37/discourse-pdf-previews

التحسينات الرئيسية:

  • دعم أجهزة الجوال (يزيل كتلة الجوال)
  • عرض PDF.js مع عناصر تحكم في التنقل بين الصفحات والتكبير
  • معاينات مصغرة في وضع “علامة تبويب جديدة”
  • يعمل مع ملفات PDF التي تفتقر إلى الفئة .attachment (رائع لعمليات الترحيل)
  • القرص للتكبير على الجوال

لقد كنت أشغل هذا على 59plymouth.net لأكثر من شهرين مع
محتوى phpBB مُحوّل - يعمل بشكل رائع على كل من سطح المكتب والجوال.

التثبيت: المسؤول ← المظهر ← السمات ← التثبيت من Git ← الصق عنوان URL أعلاه

لا يزال طلب السحب مفتوحًا إذا أراد القائمون على الصيانة مراجعته: Add PDF.js integration with mobile support by shortmort37 · Pull Request #49 · discourse/discourse-pdf-previews · GitHub

6 إعجابات

أهلاً بالجميع،

أستخدم المكون ولاحظت للتو هذا عند تسجيل الدخول كمسؤول:
image

إعجابَين (2)

وصف طلب الدمج (PR) على GitHub يبدو رائعًا! :star_struck: أنا أيضًا أعتمد على هذا المكون للعديد من الأمور وعلى العديد من مواقع Discourse، وأتمنى أن يعمل على الأجهزة المحمولة بنفس كفاءته على أجهزة سطح المكتب. آمل أن ينظر الفريق في طلب الدمج قريبًا.

(كما لاحظت إشعار المسؤول، وقمت بتعطيل المكون مؤقتًا)

على 2026.7.0-latest +288

github.com/discourse/discourse-pdf-previews

حول الترخيص

تم التحقق من وجود تحديثات، آخر تحقق: منذ 9 دقائق


تمت إزالة Default بحيث لا توجد سيمات (Themes) يتم تثبيت هذا المكون عليها

إعجاب واحد (1)

@tpetrov تم إصلاح هذا الآن :+1:

6 إعجابات

مرحبًا @tobiaseigen — إشعار المسؤول الذي رأيته هو على الأرجح تحذير الإلغاء (deprecation) الموجود في النقاش أعلاه؛ وهو ناتج عن استدعاء اكتشاف الأجهزة المحمولة الأقدم في المكون الأصلي. يتبع شوحي (fork) نهجًا مختلفًا: بدلاً من تصحيح هذا الاستدعاء، فإنه يزيل قيد الأجهزة المحمولة تمامًا (والهدف من ذلك كله كان السماح بتصدير ملفات PDF على الأجهزة المحمولة)، وبالتالي اختفى مسار الكود الملغى تمامًا. منذ ذلك الحين، دمجت أيضًا أحدث التغييرات من المصدر الأصلي في فرعّي، لذا فهو محدث.

إذا أردت تجربته، يمكن تثبيته من git عبر:
https://github.com/shortmort37/discourse-pdf-previews
— باستخدام الفرع feature/pdfjs-mobile-support (يوجد حقل للفرع تحت خيار “متقدم” في مربع حوار التثبيت).

نصيحة واحدة من اختباراتي الشخصية: بعد التثبيت، شغّل “التحقق من وجود تحديثات” للمكون مرة واحدة ثم قم بتحديث الصفحة القوي (hard-refresh) — يقوم Discourse بتخزين كود JS للموضوعات المُجمع، وهذه الخطوة تضمن أنك تشغل الكود الحالي.

تحذير عادل بأن هذا هو شوحي الشخصي مع ميزات إضافية (عرض PDF.js، تنقل الصفحات، التكبير، الصور المصغرة في وضع علامة التبويب الجديدة) بدلاً من المكون الرسمي، وطلب الدمج (PR) الخاص بي لدمج هذه التغييرات في المصدر الأصلي (#49) لا يزال مفتوحًا وفي انتظار المراجعة. سعيد بالإجابة على أي أسئلة.