# قوائم مرتبة بعلامات غير رقمية

**URL:** https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745
**Category:** Feature
**Tags:** completed
**Created:** [5 سبتمبر 2019، 10:43م UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745 "2019-09-05T22:43:25Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![djr013](https://avatars.discourse-cdn.com/v4/letter/d/e68b1a/32.png) [@djr013](https://meta.discourse.org/u/djr013)
#### Post date: [5 سبتمبر 2019، 10:43م UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/1 "2019-09-05T22:43:26Z")

</div>

الطلب: إضافة سمة “type” إلى القائمة البيضاء لـ [\<ol\>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol). يُقترح فعل الشيء نفسه مع سمة “reversed” لـ [\<ol\>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol)، و"value" لـ [\<li\>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li)، لنفس الأسباب تقريبًا ولكن بشكل أقل شيوعًا.

الغرض: تُعد هذه السمات مخصصة للاستخدام في الحالات التي ينقل فيها رمز عناصر القائمة المرتبة معنىً لمحتوى القائمة. عادةً ما يكون هذا هو الحال عندما يُقصد الإشارة إلى عناصر القائمة عبر هذا الرمز. وهذا على النقيض من CSS [list-style-type](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type) الذي يُستخدم عندما لا يحمل اختيار الرمز أي غرض جوهري. (رغم أنني رأيت أنه [يُوصى به لتوطين المنتدى بالكامل](https://meta.discourse.org/t/non-persian-numbers-in-li-of-a-persian-forum/68990)، وهو أمر رائع جدًا!)

الخلفية: أثناء محاولة اقتباس مستند مرجعي رسمي، اكتشفت قيدًا ظاهرًا في تنسيق القوائم يمنع القيام بذلك بدقة. في كثير من الأحيان، تكون رموز القوائم مجرد عناصر جمالية. ومع ذلك، يُستخدم أحيانًا لتسهيل الإشارة في المستندات التي تحتوي على قوائم كثيرة. على سبيل المثال، في المستندات الرسمية والقانونية، قد يُشار إلى عنصر قائمة (أو عنصر فرعي) برمز القائمة: “المادة الأولى من المستند الرسمي، القسم 1(أ)(i)”

بالنسبة لـ Markdown، لا يوجد ذكر في مواصفة CommonMark، وفي الواقع تحدد فقط الأرقام من 0 إلى 9. لكن [بينما لا تسمح معظم المفسرات باستخدام الأحرف للقوائم (بما في ذلك markdown-it)، فإن بعضها يفعل ذلك](https://johnmacfarlane.net/babelmark2/?normalize=1&text=++a.+First%0A++b.+Second%0A++c.+Third):

> [@](#):
>
> قائمة مرتبة حسب الأحرف:  
> a. الأول  
> b. الثاني  
> c. الثالث

أنا غير متأكد مما إذا كانت هناك طريقة قياسية متاحة في BBCode، إلى الحد الذي تكون فيه أي شيء قياسي في BBCode. لم أستطع العثور على أي شيء أكثر تقدمًا من البدء برقم تعسفي. علاوة على ذلك، لا تبدو وسوم قائمة BBCode مستخدمة من قبل Discourse على أي حال.

مع HTML وHTML+style، لا ينتج أي منهما النتيجة الصحيحة:

> [@](#):
>
> قائمة مرتبة حسب الأحرف: ([سمة type في HTML5 ol](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol))
> 
> 1. الأول
> 2. الثاني
> 3. الثالث
> 
> قائمة مرتبة حسب الأحرف: ([خاصية list-style-type في CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type))
> 
> 1. الأول
> 2. الثاني
> 3. الثالث

---

<div class="post-metadata">

### Author: ![djr013](https://avatars.discourse-cdn.com/v4/letter/d/e68b1a/32.png) [@djr013](https://meta.discourse.org/u/djr013)
#### Post date: [18 أبريل 2020، 8:07ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/2 "2020-04-18T08:07:40Z")

</div>

بالنظر إلى GitHub، فإن تنفيذ هذا الأمر على الأرجح يكون مجرد إضافة هذه العناصر إلى هذه القائمة:  
[https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/white-lister.js#L181-L183](https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/white-lister.js#L181-L183)

ومع ذلك، ألاحظ أن إدخال هذه العناصر سيجعل [محوّل HTML إلى Markdown غير مدرك لهذه السمات](https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/lib/to-markdown.js#L492-L509). ولكن كما هو موضح أعلاه، لا يمكن لـ `markdown-it` حاليًا التعامل مع بناء الجملة في Markdown الذي يمثل هذه السمات على أي حال. ولتحقيق ذلك، قد يكون من المرغوب فيه اتخاذ خطوة إضافية وتنفيذ أنواع القوائم في CommonMark…

> **[Letter-ordered lists](https://talk.commonmark.org/t/letter-ordered-lists/173)**
>
> I’ve often tried to convert legal documents (org. constitutions, contracts, etc.) to Markdown. Legalese is often full of nested ordered lists of several varieties. A main pet peeve is that letter-ordered lists are frequent and not really...

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [18 أبريل 2020، 6:26م UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/3 "2020-04-18T18:26:09Z")

</div>

لا توجد خطط لذلك.

---

<div class="post-metadata">

### Author: ![djr013](https://avatars.discourse-cdn.com/v4/letter/d/e68b1a/32.png) [@djr013](https://meta.discourse.org/u/djr013)
#### Post date: [18 أبريل 2020، 8:42م UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/4 "2020-04-18T20:42:06Z")

</div>

يُعدّ عدم وجود هذا الأمر عائقًا كبيرًا عند اقتباس المستندات الرسمية أو المستندات القانونية أو تراخيص البرمجيات أو أي شيء آخر يستخدم علامات غير رقمية للإحالة إلى المستندات.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [18 أبريل 2020، 10:50م UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/5 "2020-04-18T22:50:17Z")

</div>

أضف غلافًا إلى هذه القوائم وبعض CSS

في المنشورات، استخدم:

```plaintext
[wrap="letterlist"]
1. هو الأول
2. هو الثاني.
3. هو الثالث
[/wrap]

```

في سِماتك، أضف:

```css
.cooked div[data-wrap="letterlist"] {
  list-style: upper-alpha;
}

```

---

<div class="post-metadata">

### Author: ![djr013](https://avatars.discourse-cdn.com/v4/letter/d/e68b1a/32.png) [@djr013](https://meta.discourse.org/u/djr013)
#### Post date: [18 أبريل 2020، 11:20م UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/6 "2020-04-18T23:20:21Z")

</div>

هذا حل جيد إذا كان الهدف هو تزيين القوائم بشكل تعسفي، لكن سمة النوع (type) في HTML مُصمَّمة خصيصًا للحالات ذات الدلالة الدلالية حيث يكون الفرق بين علامات القوائم أكثر من مجرد زخرفة. من [\<ol\>: The Ordered List element - HTML | MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol)

> ما لم يكن نوع رقم القائمة مهمًا (كما في الوثائق القانونية أو التقنية التي تُشار إلى عناصرها برقمها أو حرفها)، فاستخدم خاصية CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type) بدلاً من ذلك.

إنه احتياج شائع إلى حد ما؛ فبينما تم إلغاء سمة HTML في الإصدار 4.01 (مُبرَّرًا بأنها ذات طابع جمالي بحت)، أعيد إدخالها لاحقًا في HTML5 لغرض محدد يتمثل في ترميز قوائم المراجع كما هو موضح في MDN.

---

<div class="post-metadata">

### Author: ![FroggyC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/froggyc/32/173038_2.png) [@FroggyC](https://meta.discourse.org/u/FroggyC)
#### Post date: [26 أغسطس 2023، 9:54ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/7 "2023-08-26T09:54:30Z")

</div>

لقد جربت استخدام هذا الحل وهو يعمل، حيث تم تصحيح CSS إلى ما يلي (كان السطر الأول يفتقد `ol {`):

```css
.cooked div[data-wrap="letterlist"] ol {
  list-style: upper-alpha;
}

```

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

هل هناك أي طريقة يمكنك التفكير فيها لحل هذه المشكلة، @Falco؟

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [26 أغسطس 2023، 10:34ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/8 "2023-08-26T10:34:44Z")

</div>

أعتقد أن ترميز HTML مدعوم الآن:

1. هذا الشيء
2. شيء آخر
3. شيء آخر

```html
<ol type="A">
<li> هذا الشيء
<li> شيء آخر
<li> شيء آخر
</ol>

```

والأنواع `A` و `a` و `I` و `i`.

أيضًا `reversed<ol>` و `start=<ol>` أيضًا:

1. خبز
2. رقائق
3. بطيخ

```html
<ol reversed start=36>
<li> خبز
<li> رقائق
<li> بطيخ
</ol>

```

---

<div class="post-metadata">

### Author: ![FroggyC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/froggyc/32/173038_2.png) [@FroggyC](https://meta.discourse.org/u/FroggyC)
#### Post date: [26 أغسطس 2023، 10:52ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/9 "2023-08-26T10:52:25Z")

</div>

يبدو أن استخدام HTML بهذه الطريقة يعطل تفسير Markdown داخل `<li>`، لذلك هذا غير مقبول بالنسبة لي لاقتراحه على المستخدمين.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [26 أغسطس 2023، 10:56ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/10 "2023-08-26T10:56:55Z")

</div>

للاستفادة من التنسيق الإضافي بداخلها، أعتقد أنه سيتعين عليك استخدام الإصدار HTML منها أيضًا لأنها لا تحب المزج:

1. **خبز**
2. _رقائق_
3. ~~بطيخ~~

```html
<ol reversed start=36>
<li> <b>خبز</b>
<li> <i>رقائق</i>
<li> <s>بطيخ</s>
</ol>

```

---

<div class="post-metadata">

### Author: ![FroggyC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/froggyc/32/173038_2.png) [@FroggyC](https://meta.discourse.org/u/FroggyC)
#### Post date: [26 أغسطس 2023، 11:11ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/11 "2023-08-26T11:11:31Z")

</div>

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

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [26 أغسطس 2023، 11:13ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/12 "2023-08-26T11:13:49Z")

</div>

آه، أنا آسف لأن هذا ليس خيارًا مقبولاً بالنسبة لك.

ربما إذا بدأت موضوع #Dev تطلب المساعدة في تعديل حلك الحالي، فقد يتمكن شخص ما من مساعدتك. 👍

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [26 أغسطس 2023، 11:15ص UTC](https://meta.discourse.org/t/ordered-lists-with-non-number-markers/127745/13 "2023-08-26T11:15:17Z")

</div>


