ماندوك
أداة mandoc (التي كانت تُعرف تاريخيًا باسم mdocml ) هي أداة تُستخدم لتنسيق صفحات الدليل (man pages) في أنظمة تشغيل BSD (مثل NetBSD )، وتحديدًا تلك المكتوبة بلغات الماكرو mdoc و man . على عكس groff وأدوات troff و nroff الأقدم التي تُستخدم بشكل أساسي لهذا الغرض بواسطة أدوات أخرى ، فإن mandoc تُركز تحديدًا على الأدلة ولا تُناسب تنسيق النصوص العامة .man
mandocيُستخدم بشكل أساسي لتنسيق أدلة mdoc المستخدمة في أنظمة تشغيل BSD ، ولكنه يُنفذ أيضًا معظم وحدات man البرمجية المستخدمة في توزيعات لينكس ، بالإضافة إلى مجموعة فرعية من أوامر roff التي تُدمج أحيانًا مع وحدات man البرمجية. [ 2 ] [ 1 ] : 1.14.5 لا يدعم مجموعات وحدات برمجية أخرى مثل mm و ms ، أو أي ميزات تنسيق مثل الواصلة والخطوط والمحاذاة. [ 2 ] : التوافق يدعم التنسيق البسيط مثل الخط العريض والمائل، ولكن يتم استبدال النص المائل بنص مسطر في الطرفية. [ 3 ] [ 4 ]
يدعم برنامج mandoc مُسبقًا مُدمجًا مُعالج troff soelim (التضمين)، ويدعم جزئيًا مُدمجًا مُعالجي tbl و eqn . كما يدعم بقوة مُخرجات UTF-8. ويمكنه أيضًا استخدام المعلومات الدلالية في أدلة mdoc لتنفيذ البحث الدلالي ، الذي كان يعتمد على sqlite قبل الإصدار 1.4.1 . [ 1 ] : 1.4.1
تاريخ
بدأ تطوير برنامج mandoc في نوفمبر 2008 خصيصًا لإنتاج نماذج HTML للأدلة باستخدام CSS ، وذلك استجابةً لقيود برنامج groff . وقد حصل البرنامج على مخرجات أولية بنمط النص في فبراير 2009. [ 5 ] ثم عُرض في مؤتمر AsiaBSDCon-2009. [ 6 ] [ 7 ] [ 8 ] وفي صيف 2010، كان mandoc موضوع مشروع ضمن برنامج Google Summer of Code بإشراف NetBSD [ 9 ] لإنتاج مخرجات PostScript و PDF إلى جانب مخرجات النصوص وHTML و XHTML الحالية . أُنجز هذا العمل في أغسطس 2010. [ 10 ] أصبح برنامج mandoc المُنسِّق الافتراضي للأدلة في نظام OpenBSD 4.8، الذي صدر في نوفمبر 2010. [ 11 ] [ 12 ] وأصبح لاحقًا المُنسِّق الافتراضي في أنظمة NetBSD و FreeBSD و illumos و Void Linux و Alpine Linux و macOS ، وهو مُضمَّن أيضًا في أنظمة DragonFlyBSD و MINIX 3 و Debian و Ubuntu و Gentoo و Fedora . [ 13 ] وقد ذُكرت مزاياه في السرعة العالية، [ 14 ] والترخيص، وإعادة التنفيذ النظيفة.
مثال على الاستخدام
يوضح المثال التالي كيفية تشغيله mandocبشكل مستقل. عادةً، يتم استدعاؤه عبر أداة man . في هذا المثال، foo.1هو اسم دليل mdoc لنظام UNIX. [ 15 ]
$ # فتح صفحة الدليل في الطرفية. $ mandoc -l foo.1 $ # إخراج HTML مع ملف أنماط. $ mandoc -Thtml -Ostyle = style.css >foo.1.html يمكن أيضًا عرض الأدلة متعددة البايت (المترجمة) دون معالجة مسبقة. في هذا المثال، foo.jp.1هو دليل ياباني مُشفّر بنظام UTF-8 . سيكتشف برنامج mandoc التشفير تلقائيًا. [ 15 ]
$ # دليل استخدام الأحرف العريضة للصفحة في الطرفية. $ mandoc -l foo.jp.1 يمكن للتنفيذ المضمن في apropos استخدام المعلومات الدلالية في البحث: [ 16 ]
$ # ابحث عن جميع الدوال التي تبدأ بـ 'str' والتي يكون نوع إرجاعها size_t: $ apropos -s 3 Ft = size_t -a Nm~^str ميزات أخرى
mandocيدعم إخراج HTML 5 و PostScript و PDF عبر-Tالمعلمة. [ 15 ]man.cgiهو برنامج CGI مصمم لعرض صفحات الدليل على الويب. يستخدمه نظام OpenBSD لتنسيق جميع صفحات الدليل الخاصة به. [ 17 ]
مراجع
- 1 2 3 "ملاحظات الإصدار" . 23 سبتمبر 2021.
- 1 2 – دليل معلومات متنوعة لنظام OpenBSD
- ↑ "الخط المائل واللون في صفحات الدليل على محطة طرفية افتراضية لمساحة المستخدم nosh" . jdebp.eu .
- ↑ – دليل أوامر FreeBSD العامة . "يتم تطبيق أنماط الخطوط باستخدام ترميز المسافة الخلفية..."
- ↑ "تاريخ المصدر" . Mdocml.bsd.lv . تم الاسترجاع في 18-12-2010 .
- ↑ "مؤتمر آسيا بي إس دي 2009: إيقاف استخدام groff لعرض دليل BSD" . 2009.asiabsdcon.org. 15 مارس 2009. تاريخ الاسترجاع: 18 ديسمبر 2010 .
- ↑ "إيقاف استخدام groff لعرض الدليل في أنظمة BSD" (ملف PDF) . تم الاطلاع عليه بتاريخ 18-12-2010 .
- ↑ "فيديو عرض تقديمي من مؤتمر AsiaBSDCon" . Youtube.com . تم الاطلاع عليه بتاريخ 18-12-2010 .
- ↑ "Google Summer of Code: mandoc_ps" . Netbsd-soc.sourceforge.net . تم الاطلاع عليه بتاريخ 18-12-2010 .
- ↑ "مدونة NetBSD" . Blog.netbsd.org. 2010-08-11 . تم الاطلاع عليه بتاريخ 2010-12-18 .
- ↑ "OpenBSD 4.8" . Openbsd.org. 2010-11-01 . تم الاطلاع عليه بتاريخ 2010-12-18 .
- ↑ "تم حذف غروف من الشجرة" .
- ↑ "توافر مجموعة أدوات mandoc" . Mdocml.bsd.lv.
- ↑ Unangst, Ted. "mandoc speed benchmarks" .
- 1 2 3 – دليل الأوامر العامة لنظام OpenBSD
- ↑ – دليل الأوامر العامة لنظام OpenBSD
- ↑ – دليل مدير نظام OpenBSD
روابط خارجية
- مستودع شفرة المصدر mandoc
- صفحات دليل OpenBSD على الإنترنت ، تم إنشاؤها بواسطة برنامج man.cgi الخاص بـ mandoc
- مقال غير مميت عن الماندوك
- موقع مشروع mandoc_ps التابع لبرنامج Google Summer of Code - العمل على دعم PostScript
- صفحة التعليمات البرمجية المجانية لـ mandoc - مستخدمة حتى الإصدار 1.12.2
- برمجيات بي إس دي
- برنامج OpenBSD الذي يستخدم ترخيص ISC
