| ملخص | سيسمح لك DiscoTOC بإنشاء جدول محتويات تفاعلي لمواضيعك بنقرة واحدة! | |
| معاينة | معاينة على منشئ مواضيع Discourse | |
| رابط المستودع | https://github.com/discourse/DiscoTOC | |
| جديد على مواضيع Discourse؟ | دليل المبتدئين لاستخدام مواضيع Discourse |
تثبيت مكون الموضوع هذا
عينات
سطح المكتب
الجوال
الميزات
toc = جدول المحتويات
-
يقوم تلقائيًا بإنشاء جدول المحتويات بالكامل عبر زر في قائمة الترس للمحرر
-
سيظل جدول المحتويات دائمًا على الشاشة - يتحرك مع المحتوى مثل أداة تقدم الموضوع
-
أثناء التمرير فوق الأقسام في الموضوع، سيتم تعيين العنصر النشط في جدول المحتويات إلى نشط (تظليل أزرق)
-
يضيف سمات معرف (id) للعناوين (يمكنك الارتباط بقسم معين من موضوع/منشور آخر)
-
عند النقر على أي رابط في جدول المحتويات، سيُطلب من المتصفح التنقل إلى القسم ذي الصلة (تمرير سلس)
-
يضيف رابطًا قابلًا للنسخ بجانب كل عنوان (إذا كنت تريد الارتباط به)
-
دعم الاتجاه من اليمين إلى اليسار (RTL)
-
الألوان مبنية على لوحة الألوان النشطة الحالية لديك
كيف يعمل؟
باختصار، يبحث عن العناوين في المواضيع التي تم تحديدها لتتضمن جدول محتويات (عبر زر المحرر)، وإذا تبين أن الموضوع الحالي محدد، فإنه يأخذ جميع العناوين ويضعها في جدول المحتويات (متداخلة حسب ترتيب مستويات العناوين) - وهذا يعني أن تنسيق Markdown الخاص بك يجب أن يكون صحيحًا نحويًا.
# عنوان 1
## عنوان 2
### عنوان 3
#### عنوان 4
##### عنوان 5
###### عنوان 6
أنت حر في التراجع والعودة بين مستويات العناوين، لكن يجب أن يكون الترتيب صحيحًا
# عنوان 2
## عنوان 3
## عنوان 3
### عنوان 4
## عنوان 3
# عنوان 2
إلخ...
لكي تعمل الروابط في جدول المحتويات، يجب أن تحتوي العناوين على سمات معرف (id). سيتحقق المكون مما إذا كانت العناوين تحتوي بالفعل على معرفات، وإذا كانت كذلك، فسيتم احترامها. هذا مفيد إذا قمت بإنشاء جدول محتويات يدويًا في أي وقت.
إذا لم تكن العناوين تحتوي على معرفات، فسيتم إنشاء معرف لكل عنوان بناءً على نصه (يتم إزالة الأحرف غير المرغوب فيها)
بمجرد الانتهاء من كل ذلك، سيتم أيضًا إضافة رابط بجانب كل زر يربط مباشرةً إلى ذلك القسم:
الإعدادات
| الاسم | الوصف |
|---|---|
| مستوى الثقة الأدنى لإنشاء جدول المحتويات | مستوى الثقة الأدنى الذي يجب أن يتمتع به المستخدم لرؤية زر جدول المحتويات في المحرر |
| نص جدول محتويات المحرر | النص الذي يظهر في الجزء العلوي من لوحة المعاينة للمحرر للإشارة إلى أن الموضوع سيحتوي على جدول محتويات |
| فئات جدول المحتويات التلقائية | تمكين جدول المحتويات تلقائيًا في المواضيع في هذه الفئات |
| وسوم جدول المحتويات التلقائية | تمكين جدول المحتويات تلقائيًا في المواضيع التي تحتوي على هذه الوسوم |
| الحد الأدنى للعناوين في جدول المحتويات | الحد الأدنى لعدد العناوين في موضوع لإظهار جدول المحتويات |
الترجمات
| الترجمة | الافتراضي |
|---|---|
| table_of_contents | جدول المحتويات |
| insert_table_of_contents | إدراج جدول المحتويات |
| jump_bottom | القفز إلى النهاية |
| toggle_toc.show_timeline | الجدول الزمني |
| toggle_toc.show_toc | المحتويات |
يأتي الموضوع مع ثلاث سلاسل يمكنك ترجمتها أو تغييرها.
table_of_contents: "جدول المحتويات"
يُستخدم هذا للزر الذي يفتح جدول المحتويات على الجوال
insert_table_of_contents: "إدراج جدول المحتويات"
يُستخدم هذا كنص لزر جدول المحتويات في قائمة الترس للمحرر
topic_will_contain_a_table_of_contents: "سيحتوي هذا الموضوع على جدول محتويات"
هذا هو النص الذي يظهر في معاينة المحرر للإشارة إلى أنه سيتم إنشاء جدول محتويات للموضوع
كيف أنشئ جدول محتويات؟
- اكتب موضوعًا بعناوين صحيحة نحويًا
- انقر على زر جدول المحتويات في قائمة الترس (يظهر فقط عند إنشاء موضوع عادي - يتم تجاهل الردود والرسائل الخاصة)
- استمتع بالنتيجة.
ماذا يحدث لأداة تقدم الموضوع عندما يحتوي الموضوع على جدول محتويات؟
كما يمكنك أن تتخيل على الأرجح، لا يوجد مساحة لعرض كليهما في نفس الوقت، لذا فإن طريقة عمل هذا المكون هي كالتالي
في موضوع يحتوي على جدول محتويات، يتم إخفاء أداة تقدم الموضوع بينما يكون المنشور الأول على الشاشة، وتظهر لك بدلاً من ذلك جدول المحتويات.
بمجرد التمرير بعد المنشور الأول، لن يتحرك جدول المحتويات معك وسيتم عرض تقدم الموضوع بدلاً من ذلك أثناء قراءة أي ردود.
إذًا، تحصل المنشورات الأولى على جدول المحتويات، بينما تحصل المنشورات اللاحقة على أداة تقدم الموضوع العادية.
يحدث هذا على كل من سطح المكتب والجوال.
هل هناك أي سلبيات لاستخدام هذا المكون؟
لا شيء أعرفه، تتم جميع التغييرات على جانب العميل. لذا يمكنك بسهولة إزالة المكون وستعود منشوراتك إلى حالتها قبل تثبيت المكون.
القيود
يفترض هذا المكون تخطيط الموضوع القياسي. وبالتالي، لن يعمل مع المواضيع التي تعدل هذا التخطيط مثل موضوع Vincent. سيأتي دعم المواضيع الشائعة التي تعدل التخطيط في مرحلة لاحقة على شكل إعدادات المكون.
الائتمان
بدأت بمكتبة tocify.js لـ Greg Franko. ومع ذلك، يبدو أنها لم يتم تحديثها منذ فترة، لذا فإن هذا هو في الأساس نسخة مشتقة صلبة تزيل العديد من الميزات غير الضرورية، وتدمج وتُصمم الباقي لـ Discourse.
لذلك، لا توجد طلبات خارجية والحجم الإجمالي هو حوالي 4 كيلو بايت مضغوط بـ gzip.
شكرًا كبيرًا إلى @erlend_sh على الكثير من التعليقات القيمة وإلى @david على مساعدته في الترجمات.
مُستضاف بواسطةنا؟ مكونات المواضيع متاحة للاستخدام في خطط Pro وBusiness وEnterprise الخاصة بنا.





