.\" Automatically generated by Pandoc 3.9.0.2 .\" .TH "CHA-MAILCAP" "5" .SH "نام (NAME)" cha\-mailcap \- قالب فایل mailcap در مرورگر وب Chawan .SH "میل‌کپ (Mailcap)" به‌طور پیش‌فرض، بافرهای Chawan فقط از HTML و متن ساده پشتیبانی می‌کنند. از فایل \f[I]mailcap\f[R] می‌توان برای مشاهده سایر قالب‌های پرونده با استفاده از دستورات خارجی، یا تبدیل آن‌ها به HTML یا متن ساده پیش از نمایش در Chawan استفاده کرد. .PP توجه داشته باشید که فایل mime.types پیش‌فرض Chawan تنها تعداد کمی از پسوندهای پرونده را شناسایی می‌کند؛ در صورتی که سیستم شما فاقد فایل /etc/mime.types باشد، این امر ممکن است باعث اجرا نشدن مدخل‌های شما شود. لطفاً برای جزئیات بیشتر به \f[B]cha\-mime.types\f[R](5) مراجعه کنید. .PP برای توضیحات دقیق درباره قالب mailcap، به \c .UR https://www.rfc-editor.org/rfc/rfc1524 RFC 1524 .UE مراجعه کنید\&. .SS "مسیر جستجو (Search path)" مسیر جستجوی فایل‌های mailcap توسط متغیر پیکربندی \f[CR]external.mailcap\f[R] تعیین می‌شود. این مسیر با مسیر پیشنهادی در RFC مطابقت دارد: .IP .EX $HOME/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap .EE .PP به‌طور پیش‌فرض، مدخل‌های mailcap تنها در صورتی اجرا می‌شوند که کاربر پس از اعلان (prompt)، کلید \f[CR]r\f[R] (اجرا \- run) را وارد کند. گزینه‌های دیگر عبارتند از مشاهده فایل با \f[CR]t\f[R] (متن \- text)، یا ذخیره فایل با \f[CR]s\f[R] (ذخیره \- save). .PP اگر یک حرف بزرگ تایپ شود (مثلاً shift + \f[CR]R\f[R])، مدخل مربوطه به \f[CR]external.auto\-mailcap\f[R] اضافه می‌شود (پیش‌فرض: \f[CR]\(ti/.chawan/mailcap\f[R]، یا \f[CR]\(ti/.config/chawan/mailcap\f[R] با دایرکتوری‌های پایه XDG). همچنین می‌توان از \f[CR](T)ext\f[R] و \f[CR](S)ave\f[R] برای اضافه کردن مدخل‌های متناظر با سایر گزینه‌های نمایش استفاده کرد. .PP مدخل‌های موجود در auto\-mailcap به‌طور خودکار اجرا می‌شوند، بنابراین توصیه می‌شود مدخل‌های مختص Chawan خود را در آنجا اضافه کنید (یا صرفاً آن را روی فایل mailcap شخصی خود تنظیم نمایید). .SS "قالب (Format)" مرورگر Chawan از قالب شرح‌داده‌شده در RFC 1524 به همراه چند افزونه پیروی می‌کند. .PP مدخل‌های \f[CR]text/html\f[R] و \f[CR]text/plain\f[R] نادیده گرفته می‌شوند. .SS "الگوسازی (Templating)" بخش دستور در هر مدخل می‌تواند شامل رشته‌های الگو باشد که در زمان اجرا توسط مرورگر جایگزین می‌شوند. .PP نیازی به قرار دادن الگوها درون علامت نقل‌قول نیست؛ Chawan آن‌ها را به‌طور خودکار نقل‌قول می‌کند. (این قابلیت برای $(command substitutions) نیز کار می‌کند.) با این حال، ممکن است نرم‌افزارهای دیگر با چنین الگوهایی رفتار نادرستی داشته باشند؛ بنابراین شاید بهتر باشد ابتدا آن‌ها را به یک متغیر اختصاص دهید، مانند: .IP .EX text/x\-example; s=%s cat \(dq$s\(dq; copiousoutput .EE .PP الگوهای زیر پشتیبانی می‌شوند: .IP \(bu 2 \f[CR]%s\f[R] به مسیر پرونده بسط می‌یابد. مشخص کردن \f[CR]%s\f[R]، بارگیری منبع خارجی را \f[I]پیش از\f[R] اجرای مدخل اجباری می‌کند. اگر \f[CR]%s\f[R] مشخص نشود، منبع به جای آن به ورودی استاندارد (standard input) پایپ می‌شود. (در این حالت، \f[CR]needsterminal\f[R] اعمال نمی‌شود.) .IP \(bu 2 \f[CR]%t\f[R] به نوع محتوا (content type) بسط می‌یابد. فیلدهای نام‌گذاری‌شده نوع محتوا را نیز می‌توان با نحو \f[CR]%{charset}\f[R] مشخص کرد. به عنوان مثال، در .RS 2 .IP .EX text/html; charset=utf\-8 .EE .PP \f[CR]%t\f[R] به رشته بالا بسط می‌یابد، در حالی که \f[CR]%{charset}\f[R] به \(lqutf\-8\(rq بسط خواهد یافت. .RE .IP \(bu 2 الگوهای غیر استاندارد برای نشانی اینترنتی (URL) اصلی منبع: \f[CR]%u\f[R] (برگرفته از Netscape) به URL اصلی منبع بسط می‌یابد، \f[CR]%h\f[R] (برگرفته از w3mmee) به نام میزبان بدون شماره پورت بسط می‌یابد، \f[CR]%H\f[R] به نام میزبان به همراه شماره پورت بسط می‌یابد، و \f[CR]%?\f[R] (برگرفته از w3mmee) به رشته پرس‌وجو (query string) شامل علامت سؤال بسط می‌یابد. .RS 2 .PP (در واقع w3mmee علامت سؤال را در \f[CR]%?\f[R] لحاظ نمی‌کرد. با این حال، آن طراحی نمی‌توانست تفاوت میان رشته پرس‌وجوی خالی و رشته پرس‌وجوی تهی (null) را بیان کند، بنابراین این رفتار در Chawan تغییر یافته است.) .RE .SS "فیلدها (Fields)" فیلدهای زیر شناسایی می‌شوند: .IP \(bu 2 هنگامی که فیلد نام‌گذاری‌شده \f[CR]test\f[R] مشخص شود، مدخل mailcap تنها در صورتی استفاده می‌شود که دستور آزمون مقدار 0 برگرداند. برای نمونه، می‌توانید مدخل‌هایی که به X11 نیاز دارند را به این شکل محدود کنید: .RS 2 .IP .EX image; feh \-; test=test \-n \(dq$DISPLAY\(dq .EE .PP هشدار: \f[CR]%s\f[R] همراه با \f[CR]test\f[R] کار نمی‌کند. فیلدهای نام‌گذاری‌شده \f[CR]test\f[R] که دارای الگوی \f[CR]%s\f[R] باشند نادیده گرفته می‌شوند، و هیچ داده‌ای به دستورات \f[CR]test\f[R] پایپ نمی‌شود. .RE .IP \(bu 2 فیلد \f[CR]copiousoutput\f[R] باعث می‌شود Chawan خروجی دستور خارجی را به یک بافر جدید هدایت کند. اگر هر یک از فیلدهای \f[CR]x\-htmloutput\f[R] یا \f[CR]x\-ansioutput\f[R] نیز تعریف شده باشند، \f[CR]copiousoutput\f[R] نادیده گرفته می‌شود. .IP \(bu 2 فیلد \f[CR]needsterminal\f[R] کنترل ترمینال را در حین اجرا به دستور واگذار می‌کند. اگر یکی از فیلدهای \f[CR]copiousoutput\f[R]، \f[CR]x\-ansioutput\f[R]، \f[CR]x\-saveoutput\f[R] یا \f[CR]x\-htmloutput\f[R] مشخص شده باشد، این فیلد هیچ اثری ندارد. .IP \(bu 2 فیلد \f[CR]nametemplate\f[R] یک الگوی مشخص برای فایل موقتی که در زمان مشخص شدن \f[CR]%s\f[R] ایجاد می‌شود ارائه می‌دهد. برای جزئیات بیشتر به RFC مراجعه کنید. .IP \(bu 2 فیلد \f[CR]x\-htmloutput\f[R] (برگرفته از w3m) رفتاری مشابه \f[CR]copiousoutput\f[R] دارد، اما باعث می‌شود Chawan خروجی دستور را به عنوان HTML تفسیر کند. .IP \(bu 2 فیلد \f[CR]x\-ansioutput\f[R] خروجی را از طریق گرداننده نوع محتوای \(lqtext/x\-ansi\(rq هدایت (pipe) می‌کند تا رنگ‌های ANSI، قالب‌بندی و غیره به درستی نمایش داده شوند. .IP \(bu 2 فیلد \f[CR]x\-saveoutput\f[R] از کاربر می‌خواهد تا خروجی مدخل را در یک فایل ذخیره کند. .IP \(bu 2 فیلد \f[CR]x\-needsstyle\f[R] پردازش شیوه‌نامه CSS را برای آن نوع خاص اجباری می‌کند، حتی اگر استایل‌دهی در پیکربندی غیرفعال شده باشد. این فیلد تنها در ترکیب با \f[CR]x\-htmloutput\f[R] مفید است. (همچنین پرس‌وجوی رسانه‌ای \f[CR]\-cha\-content\-type\f[R] را در \f[B]cha\-css\f[R](7) ببینید.) .IP \(bu 2 فیلد \f[CR]x\-needsimage\f[R] نمایش تصاویر را در \f[CR]x\-htmloutput\f[R] اجباری می‌کند، حتی اگر تصاویر غیرفعال باشند. .IP \(bu 2 فیلد \f[CR]x\-type\f[R] (برگرفته از w3mmee) یک جایگزینی نوع MIME مشخص می‌کند. بخش دستور به عنوان یک نوع MIME (بدون بسط الگو) تفسیر می‌شود که به جای نوع اصلی مورد استفاده قرار می‌گیرد. چنین مدخل‌هایی فقط در \f[CR]external.auto\-mailcap\f[R] پذیرفته می‌شوند. .RS 2 .PP مدخل‌های دارای \f[CR]x\-type\f[R] با اسناد text/plain و text/html نیز مطابقت دارند (که به‌طور معمول از mailcap مستثنی هستند). با این حال، اگر نوع محتوا اجبار شده باشد (مثلاً با استفاده از گزینه \f[CR]\-T\f[R])، \f[CR]x\-type\f[R] اعمال نخواهد شد. .PP (نکته: \f[CR]x\-type\f[R] آزمایشی است. تغییرات آتی در معناشناسی آن دور از انتظار نیست.) .RE .IP \(bu 2 فیلد \f[CR]x\-match\f[R] (برگرفته از w3mmee) نشانی URL مدخل را به عبارت باقاعده (regex) مشخص‌شده محدود می‌کند. فیلد \f[CR]x\-nc\-match\f[R] مشابه است، اما به حروف کوچک و بزرگ حساس نیست (case\-insensitive). برای مثال، \f[CR]x\-match=https?://example\(rs.org/.*\f[R] مدخل را به example.org محدود می‌کند (به بک‌اسلش توجه کنید). .RS 2 .PP هنگامی که یکی از این فیلدها همراه با \f[CR]test\f[R] وجود داشته باشد، نتیجه با هم عطف منطقی (AND) می‌شود. .RE .IP \(bu 2 فیلد \f[CR]x\-netpath\f[R] (برگرفته از w3mmee) مدخل را به URIهایی که با قاعده تولید \f[CR]net_path\f[R] در RFC 2396 مطابقت دارند محدود می‌کند. به عبارت دیگر، URI باید دارای یک مرجع (authority مانند نام میزبان و غیره) باشد؛ بنابراین برای نمونه با \f[CR]example://blah/path\f[R] مطابقت دارد، در حالی که با \f[CR]example:/path\f[R] مطابقت ندارد. .RS 2 .PP برای طرح‌واره‌هایی غیر از \f[CR]file\f[R]، دو اسلش بعد از دونقطه نشان‌دهنده یک \f[CR]net_path\f[R] است. عبارت \f[CR]file:///path\f[R] یک حالت خاص است: شبیه یک \f[CR]net_path\f[R] به نظر می‌رسد، اما چنین نیست. (این مورد از استاندارد URL متعلق به WHATWG به ارث رسیده است.) .RE .SS "مثال‌ها (Examples)" برای اجرای خودکار این مدخل‌ها، آن‌ها را در \f[CR]\(ti/.chawan/mailcap\f[R] (یا \f[CR]\(ti/.config/chawan/mailcap\f[R] در صورت استفاده از دایرکتوری‌های پایه XDG) قرار دهید. به عنوان روشی دیگر، اگر از قبل یک فایل mailcap برای اشتراک با سایر برنامه‌ها دارید، می‌توانید \f[CR]external.auto\-mailcap\f[R] را روی \f[CR]\(ti/.mailcap\f[R] تنظیم کنید. .IP .EX # نکته: این مثال‌ها نیازمند مدخلی در mime.types هستند که مثلاً md را به عنوان # نوع محتوای markdown تنظیم کند. # پردازش فایل‌های markdown با استفاده از pandoc. text/markdown; pandoc \- \-f markdown \-t html \-o \-; x\-htmloutput # نمایش برجسته‌سازی نحو برای فایل‌های سورس جاوااسکریپت با bat. text/javascript; bat \-f \-l es6 \-\-file\-name %u \-; x\-ansioutput # پخش موسیقی با استفاده از mpv و واگذاری کنترل ترمینال تا زمان خروج mpv. audio/*; mpv \-; needsterminal # پخش ویدیوها با mpv در پس‌زمینه، با هدایت خروجی استاندارد # و خطای استاندارد آن به /dev/null. video/*; mpv \- # باز کردن فایل‌های docx با استفاده از LibreOffice Writer. application/vnd.openxmlformats\-officedocument.wordprocessingml.document; lowriter %s # نمایش صفحات راهنما با استفاده از pandoc. (مطمئن شوید نوع mime با نوع تنظیم‌شده # در فایل mime.types شما برای پسوندهای .1، .2، .3 و غیره مطابقت داشته باشد) application/x\-troff\-man; pandoc \- \-f man \-t html \-o \-; x\-htmloutput # تبدیل epub به HTML با استفاده از pandoc. (فراموش نکنید که mime.types را تنظیم کنید.) # متغیر http_proxy تنظیم شده است تا مانع دانلود هر چیزی از طریق http/s شود. application/epub+zip; http_proxy=localhost:0 pandoc \- \-f epub \(rs \-\-embed\-resources \-\-standalone; x\-htmloutput # نمایش‌دهنده هگز. نحوه استفاده: alias chadump=\(aqcha \-Ttext/x\-hexdump\(aq # (از گزینه‌های مخصوص گنو استفاده می‌کند، در سایر سیستم‌ها مطابق نیاز تنظیم کنید.) text/x\-hexdump; od \-w12 \-A x \-t x1z \-v; copiousoutput # مدخل زیر نادیده گرفته خواهد شد، زیرا text/html به‌طور بومی توسط Chawan پشتیبانی می‌شود. text/html; cha \-dT text/html \-I %{charset}; copiousoutput .EE .SH "همچنین ببینید (SEE ALSO)" \f[B]cha\f[R](1)