DiscoTOC - فهرس محتويات تلقائي

:discourse2: الملخص سيسمح لك DiscoTOC بإنشاء جدول محتويات تفاعلي لمواضيعك بنقرة واحدة!
:eyeglasses: معاينة معاينة على منشئ موضوعات Discourse
:hammer_and_wrench: رابط المستودع https://github.com/discourse/DiscoTOC
:open_book: هل أنت جديد في موضوعات Discourse؟ دليل المبتدئين لاستخدام موضوعات Discourse

تثبيت هذا المكون الإضافي للموضوع

أمثلة

سطح المكتب

الجوال

الميزات

toc = جدول المحتويات

  • يولد جدول المحتويات بالكامل تلقائيًا عبر زر في قائمة إعدادات المحرر

  • سيظل جدول المحتويات ظاهرًا على الشاشة - ينتقل مع المحتوى مثل ويدجت تقدم الموضوع

  • أثناء التمرير عبر الأقسام في الموضوع، سيتم تعيين العنصر النشط في جدول المحتويات كعنصر نشط (تظليل أزرق)

  • يضيف سمات id للعناوين (يمكنك ربط قسم معين من موضوع/منشور آخر)

  • النقر على أي رابط في جدول المحتويات سيوجه المتصفح إلى القسم ذي الصلة (تمرير سلس)

  • يضيف رابطًا قابلاً للنسخ بجانب كل عنوان (إذا كنت ترغب في ربطه)

  • دعم اتجاه النص من اليمين إلى اليسار (RTL)

  • الألوان مستمدة من لوحة الألوان النشطة الحالية لديك

كيف يعمل؟

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

# heading 1
## heading 2
### heading 3
#### heading 4
##### heading 5
###### heading 6

يسمح لك بالانتقال صعودًا وهبوطًا بين مستويات العناوين، ولكن يجب أن يكون الترتيب صحيحًا

# heading 2 
## heading 3
## heading 3
### heading 4
## heading 3
# heading 2

etc...

لكي تعمل الروابط في جدول المحتويات، يجب أن يكون للعناوين سمات id. سيتحقق المكون مما إذا كانت العناوين تحتوي بالفعل على معرفات (ids)، وإذا كانت كذلك، فسيتم احترامها. هذا مفيد إذا قمت بإنشاء جدول محتويات يدويًا في أي وقت.

إذا لم تكن للعناوين معرفات، فسيقوم بتوليد معرف لكل عنوان بناءً على نصه (يتم إزالة الأحرف غير المرغوب فيها)

بمجرد الانتهاء من ذلك، سيضيف أيضًا رابطًا بجانب كل زر يربط مباشرة بذلك القسم:

الإعدادات

الاسم الوصف
الحد الأدنى لمستوى الثقة لإنشاء جدول المحتويات الحد الأدنى لمستوى الثقة الذي يجب أن يمتلكه المستخدم لرؤية زر جدول المحتويات في المحرر
نص جدول المحتويات في المحرر النص الذي يظهر في أعلى لوحة المعاينة في المحرر للإشارة إلى أن الموضوع سيحتوي على جدول محتويات
فئات جدول المحتويات التلقائي تمكين جدول المحتويات تلقائيًا في المواضيع في هذه الفئات
وسوم جدول المحتويات التلقائي تمكين جدول المحتويات تلقائيًا في المواضيع التي تحمل هذه الوسوم
الحد الأدنى لمستوى العنوان لجدول المحتويات الحد الأدنى لعدد العناوين في الموضوع لعرض جدول المحتويات

الترجمات

الترجمة الافتراضي
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: "سيحتوي هذا الموضوع على جدول محتويات"

هذا هو النص الذي يظهر في معاينة المحرر للإشارة إلى أنه سيتم إنشاء جدول محتويات للموضوع

كيف أقوم بإنشاء جدول محتويات؟

  1. اكتب موضوعًا بعناوين صحيحة نحويًا
  2. انقر على زر جدول المحتويات في قائمة الترس (يظهر فقط عند إنشاء موضوع عادي - يتم تجاهل الردود والرسائل الخاصة)
  3. اكتمل الأمر.

ماذا يحدث لويدجت تقدم الموضوع عندما يحتوي الموضوع على جدول محتويات؟

كما يمكنك أن تخمن على الأرجح، لا يوجد مساحة لعرض كليهما في نفس الوقت، لذا يعمل هذا المكون بالطريقة التالية

في موضوع يحتوي على جدول محتويات، يتم إخفاء ويدجت تقدم الموضوع بينما يكون المنشور الأول ظاهرًا على الشاشة، وترى جدول المحتويات بدلاً منه.

بمجرد التمرير فوق المنشور الأول، لن ينتقل جدول المحتويات معك وسيظهر تقدم الموضوع بدلاً من ذلك أثناء قراءة الردود.

لذا، تحصل المنشورات الأولى على جدول المحتويات، وتحتوي المنشورات اللاحقة على ويدجت تقدم الموضوع العادي.

يحدث هذا على كل من سطح المكتب والجوال.

هل هناك أي عيوب لاستخدام هذا المكون؟

لا شيء أعلم به، جميع التغييرات تتم على جانب العميل. لذا يمكنك بسهولة إزالة المكون وستعود منشوراتك إلى حالتها السابقة قبل تثبيته.

القيود

يفترض هذا المكون التخطيط القياسي للمواضيع. لذلك، لن يعمل مع الموضوعات التي تعدل ذلك التخطيط مثل موضوع Vincent. سيتم دعم الموضوعات الشائعة التي تعدل التخطيط في مرحلة لاحقة في شكل إعدادات للمكون.

الاعتماد

بدأت بمكتبة tocify.js الخاصة بـ Greg Franko. ومع ذلك، يبدو أنها لم يتم تحديثها منذ فترة طويلة، لذا فإن هذا هو في الأساس نسخة متفرعة (hard-fork) تزيل العديد من الميزات غير الضرورية، وتدمج وتنسيق الباقي لـ Discourse.

لذا، لا توجد طلبات خارجية والحجم الإجمالي هو ~ 4 كيلوبايت مضغوط (gzip).

شكرًا جزيلاً لـ @erlend_sh على الكثير من التعليقات القيمة، ولسيدavid على مساعدته في الترجمات.

:discourse2: مستضاف من قبلنا؟ مكونات الموضوع متاحة للاستخدام في خطط Pro و Business و Enterprise الخاصة بنا.

182 إعجابًا
Automatic Table of Contents generation
Creative Uses of Discourse
Wiki improvement – Split content into multiple sections?
:cn: DiscoTOC 自动内容表格
Timeline with labelled step by step sections - how is this achieved?
Traditional multi level hierarchy vs flat discourse hierarchy
What are the different ways to customize content inside a post (custom attributes and such)
Is anyone working on a Discourse Wiki?
Tagged topic progress bar - feasible or not?
Big Header - Little Header
Theme Components - Can Discourse hosted sites install them?
How to get topic navigation menu
Reader Mode
How To Add Marker To Table Of Contents Feature?
How do you create a table of content like this one?
How can i show a floating sticky 300x250 Adsense Ad on right side bar of topic page above the fold?
How to add table of content sidebar beside a topic?
How do I add a table of contents sidebar to a topic?
Cannot deep link to anchor in text
How can I compare arbitrary revisions of a post?
Understanding Discourse for new users
Problem with DiscoTOC: TypeError: _offsetCalculator.headerOffset is not a function
How to create an In-app Knowledge Base with Discourse Docs?
OP Contents on Progress Bar
How to get topic sidebar
Customizing your site with existing theme components
Link to headers (anchor links)
Outline Enable
What is essential content for a new community?
Tools for creating image-heavy articles
Layouts Plugin
Adding DiscoTOC to Published Pages
Customize Your Site Branding
Discourse Doc Categories
Gif icon not displaying and showing error
Must have plugins and components for Discourse?
I created a bookmarklet to create the table of content for forum posts
Could a List of Recommended Topics Be Added to the Top Menu?
Living with corrupted SVGs for almost a year. Need Help!
Something recently changed, can't increase `--topic-body-width`
How to enable side navigation?
Displaying "full topic" text on category page + access to subcategory from menu bar
Improve iPad screen real estate
Missing anchor links in certain TOC topics?
DiscoTOC not showing in composer after latest component update
Missing anchor links in certain TOC topics?
How to create a documentation theme used by discourse
Where's Jump to end?
Handling anchors in posts created with markdown
Reader Mode
Hidden Timeline button
Horizon Theme
Collections
Bulk Export of Raw Post Sources with Markup
AI summary in topic header
Contents button and Timeline button floating unexpectedly
:cn: Discourse Post Formatting Guide 加点格式,让帖子多姿多彩
Wiki table of contents on pro plan
Auto-Linkify Words
Missing strings (DiscoTOC)
Copy pasting nested lists from Word into a post
?page=n URLs have high CLS hence bad SEO
Require users to "Reply as Linked Topic"
Links not working
Using Posts as a Wiki?
Using Posts as a Wiki?
Is anyone working on a Discourse Wiki?
Using Posts as a Wiki?
Using Posts as a Wiki?
DiscoTOC & Brand Header - using together
Docs: Add link to top menu
More than two levels of [details]
Category page with fixed organization of topics
Blog Post Styling
Inlink the topics within the same article
Navigating to local URL fragment doesn't modify browser history
Relating to Profile Picture Scroll Functionality
Need to include PGN (chess game notation) in a post
How can I get a table of contents for my docs?
Linking to a heading within a post
Topic list on the right side
Set up Slack notifications using the discourse-chat-integration plugin
Wrong title in the history popup (firefox)
Possible to insert post in a topic
I created a bookmarklet to create the table of content for forum posts