إضافة Clip To Discourse لمتصفح Chrome – أصبحت الآن تدعم واجهة برمجة التطبيقات للمستخدم!

يا مجتمع ديسكورس الأعزاء، هذا هو هديتي الصغيرة :wrapped_gift: بمناسبة عيد الميلاد :christmas_tree: لكم جميعًا. هي بسيطة لكنها مفيدة، وقد بُنيت بحتة لأنني أردت ذلك.

بإلهام من مدونة سيمون ويليسون الرائعة حول استخدام نماذج اللغة الكبيرة (LLMs) في التطوير، قمتُ بكتابة هذا البرنامج بأسلوب “Vibe-coding” خلال فترة عيد الميلاد، بين المناسبات الاجتماعية، ومشاهدة الأفلام، وتغليف الهدايا! لم أكتب أي جزء من الشيفرة البرمجية بنفسي، لكنني راجعت الشيفرة وأشرفتُ على النموذج اللغوي. تم دفع كل شيء من خلال ملفي spec.md و roadmap.md.

ما هو الغرض منه؟

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

يدعم “Clip To Discourse” الآن أربعة أنماط للقص: عنوان الصفحة + الرابط، العنوان + الرابط + مقتطف، نص الصفحة الكامل، والنص المحدد.

الخصوصية

الميزات

  • قص الصفحة كعنوان + رابط، عنوان + رابط + مقتطف، نص الصفحة الكامل، أو تحديد نصي.
  • إنشاء مواضيع جديدة مع كل قصاصة، أو إضافة القصاصات كإجابات إلى موضوع قائم.
  • المصادقة عبر واجهة برمجة تطبيقات مستخدم ديسكورس دون الحاجة إلى مدير لإنشاء مفتاح API. تبقى مفتاح API مُنح بواسطة المدير ومحدود النطاق للمستخدم متاحًا كخيار بديل.
  • يدعم ملفات شخصية متعددة لمثيلات ديسكورس مختلفة، ومستخدمين، وبيانات اعتمادية، وقوالب، وإعدادات افتراضية. يمكن إعادة تسمية الملفات الشخصية أو نسخها أو حذفها.
  • اختيار فئة الوجهة من الفئات المتاحة للحساب المتصل.
  • تخصيص قوالب العنوان والجسم باستخدام بيانات وصفية للصفحة، والمقتطفات، والنص الكامل، والنص المحدد، ومكان تاريخ.
  • اختيار مظهر النظام، أو الفاتح، أو الداكن.
  • تغيير أيقونة شريط أدوات “Clip To Discourse” اختياريًا إلى أيقونة الموقع (favicon) للملف الشخصي المحدد، بحيث يمكنك بسهولة معرفة إلى أين تقص المحتوى.
  • فتح النافذة المنبثقة باستخدام Ctrl+Shift+K (Command+Shift+K على macOS)، قابل للتكوين في chrome://extensions/shortcuts.

القيود

  • يجب أن يتيح موقع ديسكورس مفاتيح API للمستخدمين ويسمح لمجموعة حسابك بالمصادقة عليها. إذا لم تتوفر المصادقة عبر API للمستخدم، يمكن لمدير الموقع توفير مفتاح API لمستخدم واحد واحد بصلاحية دقيقة.
  • من الواضح أنه إذا تم تمكين ميزة “Clip To Discourse” لعدد كبير جدًا من المستخدمين، فقد يؤدي ذلك إلى إنتاج الكثير من المشاركات منخفضة الجودة على مثيل ديسكورس مشترك أو عام. لذلك، أستهدف هذه الإضافة بشكل أساسي لأولئك منكم الذين يستخدمون ديسكورس كدفتر ملاحظات شخصي، مثلي.

كيفية التثبيت

  • ثبّت الإضافة في Chrome أو متصفح آخر متوافق مبني على Chromium، الإصدار 127 أو أحدث، عبر متجر Chrome Web Store: https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
  • اختياريًا، قم بتثبيت الإضافة في شريط أدوات المتصفح.
  • انقر على أيقونة الإضافة، افتح الإعدادات، وأدخل عنوان URL الأساسي لديسكورس الخاص بك.
  • اختر واجهة برمجة تطبيقات المستخدم (User API) وانقر على تفويض Clip To Discourse. سجّل الدخول إلى حساب ديسكورس الخاص بك، وأدخل رمز الجهاز المعروض إذا طُلب منك، ووافق على الوصول.
  • إذا لم تتوفر المصادقة عبر API للمستخدم، استخدم علامة تبويب مفتاح API للمشرف مع مفتاح API لمستخدم واحد مُنح بواسطة المشرف. تجنب مفاتيح API العامة.
  • اختر نمط القص الافتراضي، وجهة القص، الفئة أو معرّف الموضوع القائم، وخياريًا خصص القوالب.
  • احفظ الإعدادات واختبر الاتصال اختياريًا.
  • أغلق الإعدادات وقم بقص بعض المحتوى للاختبار!

تفويض Clip To Discourse

القص إلى ديسكورس

خارطة الطريق

  • لا أخطط لإضافة لمتصفح فايرفوكس أو سافاري (لأنني لا أستخدم تلك المتصفحات)، لكنني سأكون سعيدًا إذا تبنى شخص ما مهمة نقل هذه الإضافة. يمكننا التعاون للحفاظ على كل شيء في مستودع واحد والحفاظ على تكافؤ الميزات.
  • تشمل الإضافات المستقبلية المحتملة الوسوم، واختصارات لوحة مفاتيح إضافية، وتحسينات إضافية على سير عمل القص.

مناقشات ذات صلة

طلب لهذه الأداة تقريبًا: إضافة Chrome/Firefox “مشاركة إلى ديسكورس” - #28 بواسطة supermathie

منشور ذو صلة، يقترح ميزات إضافية عند قص منشور ديسكورس: أحتاج إلى أداة قص ويب لمنشورات ديسكورس

المشاركة الاجتماعية مفهوم ذو صلة، لكنه يستخدم روابط بسيطة: المشاركة الاجتماعية

الملاحظات، الأفكار، والمساهمة

هذا الموضوع مكان جيد جدًا لوضع أي ملاحظات لديك. أنا منفتح على الأفكار لتحسين الإضافة طالما أنها لا تعقدها أكثر من اللازم و/أو تجعلها أقل فائدة بالنسبة لي!

إذا كنت ترغب في فتح مشكلات أو تقديم طلبات سحب (PRs)، فمستودع GitHub هنا:

هذه الإضافة أداة مجانية ومفتوحة المصدر وتضع الخصوصية في المقام الأول، أنشأها شركتي Koloki.co لمجتمع ديسكورس.

13 إعجابًا

أحسنت على هذا التوسيع :clap:

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

قد تكون هذه حالة الاستخدام الخاصة بي أيضًا. من الناحية المثالية، عند القص إلى موضوع جديد، سيستخدم الرابط المميز، أنا أستخدم هذا بكثافة (تجاهل التنسيق المخصص):

سأكون سعيدًا أيضًا إذا استورد القص النص المحدد حاليًا في الصفحة، لست متأكدًا مما إذا كان هذا ممكنًا.

أتخيل هذا: أنا على صفحة بها نص مثير للاهتمام. أحدد النص، وأقوم بالقص إلى موضوع جديد، ويقوم بما يلي:

  • يضع رابط الصفحة كرابط مميز
  • يحدد العنوان كعنوان الصفحة المقصوصة
  • يحدد محتوى HTML المحدد كنص المنشور

تعديل: بالنسبة للخطوتين الأوليين، حل ديفيد الممتاز يعمل بشكل جيد جدًا. يتطلب مني نشر الموضوع يدويًا، ولكن بالنسبة لاستخدامي أعتقد أنه جيد :thinking:

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

لقد راودتني الفكرة نفسها منذ وقت طويل، ولكني تمكنت أخيرًا من إعدادها قبل أسبوع.

بصرف النظر عن Discourse، فإن الطريقة التي استخدمتها شخصيًا لفترة طويلة هي إضافة المتصفح SingleFile. إنها تحفظ الموقع الذي تشاهده حاليًا كملف HTML واحد، وتحافظ عليه بأقرب شكل ممكن مما تراه، حتى تتمكن من قراءته دون اتصال بالإنترنت. هناك عدد لا يحصى من ملفات HTML نائمة في مجلد ~/Downloads الخاص بي.

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

لدي بالفعل العديد من ملفات HTML المحفوظة، وسيتم إضافة المزيد في المستقبل، لذلك كنت أفكر في ميزة تسمح لي بإحضار هذه الملفات إلى Discourse لعرضها وإدارتها هناك.

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

سيكون من الرائع أن تكون هناك طريقة للتكامل المباشر مع SingleFile أو استيراد ملفات HTML.

إعجابَين (2)

شكرًا لمشاركة إضافة SingleFile - إنها أداة رائعة وربما لن أحاول تكرارها أو التداخل معها كثيرًا. لديّ أيضًا نفس حالة الاستخدام - الرغبة في الاحتفاظ بنسخة عاملة من الصفحة في ملف HTML واحد، لذلك قمت بتثبيت SingleFile أيضًا. لم أكن أعرف عن هذه الإضافة الرائعة!

بمجرد أن يكون لديك “مقتطف إلى ديسكورس” (Clipped To Discourse)، يمكنك أيضًا تحميل ملف HTML هذا كمرفق للمنشور. هذه هي الطريقة التي ربما أستخدمها بها، كبديل لـ archive.org.

بالنسبة للإصدارات المستقبلية من Clip To Discourse، أعتقد أنني سأركز على:

  • نطاق النص المختار من قبل المستخدم ليتم اقتطاعه كـ “مقتطف” (Excerpt)
  • تحسين تنسيق ماركداون (Markdown formatting) لمحتوى هذا المقتطف

بعض التحديثات الصغيرة لـ Clip To Discourse في الإصدار 0.19.2

  • تحسين قص “الصفحة الكاملة” (يستخدم Mozilla Readability لقص نص الصفحة بدقة أكبر وقابلية للقراءة.
  • فرض حد 50,000 حرف على النص في المشاركات (لا يمكن أن يتجاوز نص موضوع Discourse حجم 50 ألف حرف وإلا فإنه يعرض أخطاء)

المصدر: GitHub - koloki-co/clip-to-discourse-chromium-extension
متجر Chrome الإلكتروني: https://chromewebstore.google.com/detail/copdhiejkkdblhdcdjapcoalldkondhi?utm_source=item-share-cb

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

تحديث: v0.19.5 - دعم تحديد النص

أصدرت للتو نسخة جديدة من Clip To Discourse

ما الجديد

  • الكشف التلقائي عن التحديد: عندما يكون لديك نص محدد في صفحة، يكتشفه الإضافة الآن تلقائيًا ويعرض لك بالضبط ما سيتم قصه (عدد الأحرف والكلمات)
  • نمط قص “تحديد النص” الجديد: ينضم إلى خيارات العنوان + الرابط، والمقتطف، والنص الكامل الموجودة كنمط قص رابع
  • التحديد التلقائي الذكي: عند تحديد نص، تتحول الإضافة تلقائيًا إلى وضع “تحديد النص” حتى تعرف بالضبط ما تقوم بقصه
  • قائمة السياق بزر الماوس الأيمن: تمت إضافة عنصر قائمة سياق بسيط “Clip to Discourse” يفتح النافذة المنبثقة (يعمل مع أو بدون تحديد)
  • قالب قابل للتخصيص: يمكن تخصيص قالب تحديد النص في الإعدادات، تمامًا مثل أنماط القص الأخرى

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

قريباً

نعمل حاليًا على تطبيق تدفق واجهة برمجة تطبيقات مستخدم Discourse، والذي سيسمح للمستخدمين بتفويض الإضافة عبر OAuth دون الحاجة إلى مسؤول لإنشاء مفاتيح واجهة برمجة التطبيقات. سيجعل هذا الإضافة أسهل بكثير في الاستخدام على نُسخ Discourse المشتركة أو العامة!

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

تحديث كبير في سهولة الاستخدام: يدعم الآن Clip To Discourse واجهة برمجة تطبيقات مستخدم Discourse (Discourse User API).

هذا يعني أن مستخدمي Discourse العاديين لم يعودوا بحاجة إلى مسؤول لإنشاء مفتاح API لهم يدويًا. أدخل عنوان URL الخاص بـ Discourse، وانقر على تفويض Clip To Discourse، وسجّل الدخول، وأدخل رمز الجهاز المعروض إذا طُلب منك ذلك، ثم اقبل الوصول.

لا يزال يتعين على الموقع تمكين مفاتيح API للمستخدمين على مستوى الموقع بأكمله (نطاقات التمكين: read وwrite، ويجب أن يُسمح لمجموعة ينتمي إليها مستخدمك لاستخدام واجهة برمجة تطبيقات المستخدم، ولكن بمجرد إعداد ذلك، تصبح تجربة التهيئة أبسط بكثير للمستخدمين غير المسؤولين.

تظل مفاتيح API محددة النطاق للمستخدم والتي يوفرها المسؤول متاحة كحل بديل للمواقع التي لا يتوفر فيها تفويض واجهة برمجة تطبيقات المستخدم.

Clip To Discourse في متجر Chrome Web Store