پرش به محتوا

الگو:Code/توضیحات

از ویکی‌پدیا، دانشنامهٔ آزاد

استفاده

[ویرایش]

این الگو بخش کوچکی از متن را در برچسب‌های <syntaxhighlight> قرار می‌دهد (mw:Extension:SyntaxHighlight را ببینید). از این الگو باید برای نمونه‌های کوچک استفاده شود؛ برای محتوای بزرگ‌تر از <pre>...</pre> یا <syntaxhighlight>...</syntaxhighlight> استفاده کنید. برای توضیح درباره برچسب‌های مختلف راهنما:ویکی‌متن را ببینید.

اگر در الگو علامت مساوی (=) بکار رفته است، باید صراحتا پارامتر را با |1= مشخص کنید. مانند: {{code|1=int i = 0;}})

این الگو از برچسب <syntaxhighlight> با ویژگی inline=1 استفاده می‌کند. این مانند ترکیب برچسب‌های <code> و <nowiki> است که به یک متن گسترده‌تر اعمال می‌شود. برای نمونه، {{code|یک '''ویکی''' متن}} واژه "ویکی" را به صورت برجسته (bold) نشان نمی‌دهد، بلکه آنرا به صورت سه علامت گفتاورد تکی به صورت متوالی نشان می‌دهد:

یک '''ویکی''' متن

اگر متن بالا به صورت ویکی‌متن معرفی شود مانند ({{code|یک '''ویکی''' متن|زبان=wikitext}}) نمایش آن به صورت زیر خواهد بود:

یک '''ویکی''' متن

اما {{code|فراخوانی {{الگو}}|زبان=wikitext}} الگوی فراخوانی شده را فعال خواهد کرد:

فراخوانی &#123;&#123;[[الگو:{{{1}}}|{{{1}}}]]&#125;&#125;

برای جلوگیری از فراخوانی الگو از <nowiki>...</nowiki> استفاده کنید:

فراخوانی {{الگو}}

هنگامیکه از {{code}} به صورت درون‌خطی استفاده می‌شود، این الگو به بهترین شکل خود نمایش داده می‌شود و اگر با فاصله (space) از متن معمولی جدا شود، خواندن آن بسیار راحت است:

.خالی &nbsp;{{code|ویکی متن}}&nbsp; یک

که به خوبی با فاصله (space) از متن معمولی جدا شده است:

یک  ویکی متن  خالی.

در مقابل:

.خالی {{code|ویکی متن}} یک

که تشخیص آن دشوارتر است:

یک ویکی متن خالی.

چون "یک" و "ویکی" در مقایسه با "ویکی" و "متن" نزدیکتر به هم به نظر می‌رسند؛ عرض کاراکتر فاصله (space) در یک قلم تک‌فاصله، تقریبا همیشه بیشتر از یک قلم تناسبی (proportional) است.

از پارامتر {{{2}}} (در حالت بی‌نام به شکل |2= یا به شکل مشخص‌تر به صورت |زبان=) برای مشخص کردن زبان برنامه‌نویسی برای mw:Extension:SyntaxHighlight استفاده کنید. پیش‌فرض این گزینه |زبان=text یعنی بدون برجسته‌سازی است. مقادیر معتبر برای این پارامتر |زبان=wikitext برای ویکی‌متن و |زبان=html برای HTML به همراه بسیاری از زبان‌های دیگر از جمله php ،perl ،css ،javascript ،mysql است. اگر تلاش کنید مقدار نامعتبری را در پارامتر |زبان= استفاده کنید، آن صفحه به رده:صفحه‌های دارای خطای سینتکس‌های‌لایت افزوده خواهد شد و خروجی آن هیچ برجستگی در نحو (syntax) نخواهد داشت. در گذشته html4strict و html5 مقادیر معتبری بودند، اما امروز از |زبان=html استفاده کنید.

این الگو نیازی به جایگزینی ندارد.

نمونه‌ها

[ویرایش]
نشانه‌گذاری نمایش
یک {{code|ویکی '''متن'''}} خالی

یک ویکی '''متن''' خالی

یک {{code|ویکی '''متن'''|wikitext}} خالی

یک ویکی '''متن''' خالی

اعلان {{code|زبان=cpp |int foo(const std::string& bar, const std::vector<long double*>& baz);}} نمونه اولیه برای یک تابع است که بعداً تعریف می‌شود.

اعلان int foo(const std::string& bar, const std::vector<long double*>& baz); نمونه اولیه برای یک تابع است که بعداً تعریف می‌شود.

اگر کد دارای [[علامت مساوی]] باشد، مانند 

{{code |lang=javascript |code=var img = document.getElementsByTagName("img");}}

 باید پارامتر نخست را صراحتا با {{{1}}} یا {{{code}}} مشخص کنید؛ همچنین [[:bugzilla:5138]] را ببینید.

اگر کد دارای علامت مساوی باشد، مانند

var img = document.getElementsByTagName("img");

باید پارامتر نخست را صراحتا با {{{1}}} یا {{{code}}} مشخص کنید؛ همچنین bugzilla:5138 را ببینید.

الگوهای جاسازی شده

[ویرایش]

الگوهایی که در {{code}} جاسازی شده باشند؛ طبق انتظار کار نمی‌کنند. برای بلوک‌های کد طولانی‌تر و با شکل آزاد که بتوانند الگوهایی مانند {{متغیر}} و {{samp}} را درون خود جای دهند؛ از <code>...</code> به عنوان بسته‌بندی کننده بجای این الگو استفاده کنید.

الگوهایی که درون {{code}} قرار می‌گیرند؛ کد اجرایی HTML را نمایش می‌دهند که در برخی موارد می‌تواند مفید باشد. مانند این نمونه:

نشانه‌گذاری نمایش
{{code|
{{cite web |title=Title |url=http://example.org}}
|lang=html
}}

'"`UNIQ--templatestyles-0000002E-QINU`"'<cite class="citation web cs1">[http://example.org "Title"].</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Title&rft_id=http%3A%2F%2Fexample.org&rfr_id=info%3Asid%2Ffa.wikipedia.org%3A%D8%A7%D9%84%DA%AF%D9%88%3ACode%2F%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA" class="Z3988"></span>

نمونه بالا کد HTML را نشان می‌دهد که توسط {{cite web}} اجرا شده است که به همراه آن، فراداده پنهان آن نیز دیده می‌شود.

هشدار تابع تجزیه‌کننده پرخرج

[ویرایش]

این الگو به صورت داخلی از mw:Extension:SyntaxHighlight استفاده می‌کند، که یک «تابع تجزیه‌کننده پرخرج» در نظر گرفته می‌شود (به en:WP:EXPENSIVE مراجعه کنید). اگر این الگو در صفحه‌ای استفاده شود که بیش از ۵۰۰ تابع تجزیه‌کننده پرخرج در آن بکار رفته است، خروجی استفاده‌های بعدی از این الگو با استفاده از قالب‌بندی <code>...</code> (بدون هیچگونه برجسته‌سازی نحوی (syntaxhighlight)) جایگزین می‌شود.

داده‌های الگو

[ویرایش]
این، توضیحاتِ الگوداده است که توسط TemplateWizard، ویرایشگر دیداری و دیگر ابزارها استفاده می‌شود. گزارش خطای ماهیانه برای این الگو را ببینید.

الگوداده Code

یک رشته کد منبع درون‌خطی.
کد1
code
کدی که باید نمایش داده شود.
زبان2
lang
زبان برنامه‌نویسی کد منبع. فهرست مقادیر معتبر را در mw:Extension:SyntaxHighlight#Supported_languages ببینید
پیش‌فرض
text
کلاسclass
سبک سی‌اس‌اسstyle

یک رشته کد منبع درون‌خطی.

پارامترهای الگو

استفاده از قالب‌بندی درون‌خطی برای پارامترهای این الگو ارجح است.

پارامترتوضیحاتنوعوضعیت
کد1 code

کدی که باید نمایش داده شود.

رشتهضروری
زبان2 lang

زبان برنامه‌نویسی کد منبع. فهرست مقادیر معتبر را در mw:Extension:SyntaxHighlight#Supported languages ببینید

پیش‌فرض
text
رشتهپیشنهادشده
کلاسclass

بدون توصیف

رشتهاختیاری
سبک سی‌اس‌اسstyle

بدون توصیف

رشتهاختیاری

جستارهای وابسته

[ویرایش]
  • {{Kbd}} برای ورودی صفحه‌کلید
  • {{Mono}} تنها، قلم تک‌فاصله
  • {{Codett}} بسته‌بندی کننده این الگو که پیش‌زمینه و امکان سبک‌بندی قاب را حذف می‌کند.
  • {{PreCode}} بسته‌بندی کننده این الگو که پیش‌زمینه و امکان شکستگی خط را حذف می‌کند.
  • {{Syntaxhighlight}} برجسته‌سازی نحو (syntax)
  • {{مقدار پارامتر}} تک‌فاصله‌ای؛ handling مناسب برای فاصله خالی
  • راهنما:ویکی‌متن