'\" t .\" Title: gitweb.conf .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: Git Manual .\" Source: Git 2.55.0 .\" Language: Persian .\" .TH "GITWEB\&.CONF" "5" "2026\-06\-29" "Git 2\&.55\&.0" "Git Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" gitweb.conf \- پرونده پیکربندی گیت‌وب (رابط وب گیت) .SH "خلاصه دستور (SYNOPSIS)" .sp /etc/gitweb\&.conf, /etc/gitweb\-common\&.conf, $GITWEBDIR/gitweb_config\&.perl .SH "توضیحات (DESCRIPTION)" .sp اسکریپت CGI گیت‌وب برای مشاهده مخازن گیت از طریق وب، از یک قطعه اسکریپت پرل به عنوان پرونده پیکربندی خود استفاده می‌کند\&. می‌توانید متغیرها را با استفاده از "\fBour\fR \fB$variable\fR \fB=\fR \fBvalue\fR" مقداردهی کنید؛ متن بعد از نویسه "#" تا انتهای خط نادیده گرفته می‌شود\&. برای جزئیات به \fBperlsyn\fR(1) مراجعه کنید\&. .sp یک نمونه: .sp .if n \{\ .RS 4 .\} .nf # پرونده پیکربندی گیت‌وب برای http://git\&.example\&.org # our $projectroot = "/srv/git"; # پیشنهاد FHS our $site_name = \*(AqExample\&.org >> Repos\*(Aq; .fi .if n \{\ .RE .\} .sp .sp پرونده پیکربندی برای بازنویسی تنظیمات پیش‌فرضی به کار می‌رود که هنگام تولید اسکریپت \fIgitweb\&.cgi\fR در گیت‌وب تعبیه شده‌اند\&. .sp اگرچه می‌توان تنظیمات پیکربندی را مستقیماً درون خود اسکریپت CGI گیت‌وب تغییر داد، اما آن تغییرات با ارتقای نسخه از دست خواهند رفت\&. تنظیمات پیکربندی ممکن است در فایلی در همان دایرکتوری اسکریپت CGI با نام پیش‌فرض \fIgitweb_config\&.perl\fR نیز قرار داده شوند \(em که امکان داشتن چندین نمونه گیت‌وب با پیکربندی‌های متفاوت را با استفاده از پیوندهای نمادین (symlinks) فراهم می‌سازد\&. .sp توجه داشته باشید که برخی پیکربندی‌ها می‌توانند به جای کل گیت‌وب، به ازای هر مخزن کنترل شوند: زیربخش "Per\-repository gitweb configuration" را در صفحه راهنمای \fBgitweb\fR(1) ببینید\&. .SH "بررسی تفصیلی (DISCUSSION)" .sp گیت‌وب داده‌های پیکربندی را از منابع زیر و به ترتیب زیر می‌خواند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} مقادیر درونی (که برخی هنگام مرحله ساخت تنظیم می‌شوند)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} پرونده پیکربندی مشترک سراسری سیستم (به صورت پیش‌فرض \fB/etc/gitweb\-common\&.conf\fR)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یا پرونده پیکربندی به ازای هر نمونه (به طور پیش‌فرض \fIgitweb_config\&.perl\fR در همان دایرکتوری گیت‌وب نصب‌شده)، یا اگر وجود نداشته باشد، پرونده پیکربندی جایگزین سراسری سیستم (به طور پیش‌فرض \fB/etc/gitweb\&.conf\fR)\&. .RE .sp مقادیر به‌دست‌آمده در پرونده‌های پیکربندی بعدی، مقادیر به‌دست‌آمده قبلی در توالی بالا را بازنویسی (override) می‌کنند\&. .sp مسیرهای پرونده پیکربندی مشترک سراسری سیستم، پرونده پیکربندی جایگزین سراسری سیستم و پرونده پیکربندی به ازای هر نمونه در زمان کامپایل با استفاده از متغیرهای پیکربندی Makefile زمان ساخت، به ترتیب \fBGITWEB_CONFIG_COMMON\fR، \fBGITWEB_CONFIG_SYSTEM\fR و \fBGITWEB_CONFIG\fR تعریف می‌شوند\&. .sp همچنین می‌توانید مسیرهای پرونده‌های پیکربندی گیت‌وب را در زمان اجرا با تنظیم متغیرهای محیطی زیر به مقداری غیرخالی بازنویسی کنید: \fBGITWEB_CONFIG_COMMON\fR، \fBGITWEB_CONFIG_SYSTEM\fR و \fBGITWEB_CONFIG\fR\&. .sp دستور زبان پرونده‌های پیکربندی همان دستور زبان پرل است، زیرا این پرونده‌ها با سورس کردن آن‌ها به عنوان قطعاتی از کد پرل (زبانی که خود گیت‌وب به آن نوشته شده است) پردازش می‌شوند\&. متغیرها معمولاً با استفاده از شناسه \fBour\fR مقداردهی می‌شوند (مانند "\fBour\fR \fB$variable\fR \fB=\fR \fI\fR;") تا در صورتی که نسخه جدیدی از گیت‌وب دیگر از یک متغیر استفاده نکرد و اعلان آن را متوقف کرد، از خطاهای نحوی جلوگیری شود\&. .sp می‌توانید با استفاده از زیرروال read_config_file() پرونده پیکربندی دیگری را وارد (include) کنید\&. برای مثال، ممکن است بخواهید پیکربندی گیت‌وب مربوط به کنترل دسترسی برای مشاهده مخازن از طریق Gitolite (یکی از ابزارهای مدیریت مخزن گیت) را در فایلی جداگانه قرار دهید، مثلاً در \fB/etc/gitweb\-gitolite\&.conf\fR\&. برای گنجاندن آن، دستور زیر را .sp .if n \{\ .RS 4 .\} .nf read_config_file("/etc/gitweb\-gitolite\&.conf"); .fi .if n \{\ .RE .\} .sp .sp در جایی از پرونده پیکربندی گیت‌وب مورد استفاده قرار دهید، مثلاً در پرونده پیکربندی گیت‌وب به ازای نصب\&. توجه داشته باشید که read_config_file() خود بررسی می‌کند که فایلی که می‌خواند وجود داشته باشد، و اگر پیدا نشود هیچ کاری انجام نمی‌دهد\&. این تابع همچنین خطاهای موجود در فایل گنجانده‌شده را مدیریت می‌کند\&. .sp پیکربندی پیش‌فرض بدون وجود هیچ پرونده پیکربندی ممکن است برای برخی نصب‌ها کاملاً مناسب کار کند\&. با این حال، یک پرونده پیکربندی برای سفارشی‌سازی یا تنظیم دقیق رفتار گیت‌وب از جنبه‌های مختلف بسیار مفید است، و برخی قابلیت‌های اختیاری تا زمانی که صراحتاً با استفاده از متغیر قابل پیکربندی \fB%features\fR فعال نشوند، در دسترس نخواهند بود (بخش «پیکربندی قابلیت‌های گیت‌وب» را در زیر نیز ببینید)\&. .SH "متغیرهای پیکربندی (CONFIGURATION VARIABLES)" .sp برخی متغیرهای پیکربندی دارای مقادیر پیش‌فرضی هستند (که در اسکریپت CGI جاسازی شده است) که هنگام ساخت گیت‌وب تنظیم شده‌اند \(em اگر چنین باشد، این موضوع در توضیحات آن‌ها ذکر شده است\&. برای دستورالعمل‌های مربوط به ساخت و نصب گیت‌وب به فایل \fIINSTALL\fR گیت‌وب مراجعه کنید\&. .SS "مکان مخازن (Location of repositories)" .sp متغیرهای پیکربندی شرح داده شده در زیر نحوه یافتن مخازن گیت توسط گیت‌وب و چگونگی نمایش و دسترسی به آن‌ها را کنترل می‌کنند\&. .sp همچنین بخش‌های "Repositories" و زیربخش‌های بعدی را در صفحه راهنمای \fBgitweb\fR(1) ببینید\&. .PP $projectroot .RS 4 مسیر مطلق فایل‌سیستمی که به ابتدای مسیر پروژه افزوده خواهد شد؛ مسیر منتهی به مخزن برابر با \fB$projectroot/$project\fR خواهد بود\&. در زمان نصب روی \fB$GITWEB_PROJECTROOT\fR تنظیم می‌شود\&. این متغیر برای اینکه گیت‌وب بتواند مخازن را پیدا کند باید به درستی مقداردهی شود\&. .sp به عنوان مثال، اگر \fB$projectroot\fR با قرار دادن خط زیر در پرونده پیکربندی گیت‌وب روی "/srv/git" تنظیم شده باشد: .sp .if n \{\ .RS 4 .\} .nf our $projectroot = "/srv/git"; .fi .if n \{\ .RE .\} .sp آنگاه نشانی .sp .if n \{\ .RS 4 .\} .nf http://git\&.example\&.com/gitweb\&.cgi?p=foo/bar\&.git .fi .if n \{\ .RE .\} .sp و معادل مبتنی بر path_info آن .sp .if n \{\ .RS 4 .\} .nf http://git\&.example\&.com/gitweb\&.cgi/foo/bar\&.git .fi .if n \{\ .RE .\} .sp به مسیر \fB/srv/git/foo/bar\&.git\fR روی فایل‌سیستم نگاشت خواهد شد\&. .RE .PP $projects_list .RS 4 نام یک فایل متنی ساده حاوی فهرست پروژه‌ها، یا نام دایرکتوری‌ای که برای یافتن پروژه‌ها باید پویش شود\&. .sp فایل‌های فهرست پروژه باید در هر خط یک پروژه را با قالبی به شکل زیر فهرست کنند: .sp .if n \{\ .RS 4 .\} .nf SP .fi .if n \{\ .RE .\} .sp مقدار پیش‌فرض این متغیر توسط متغیر makefile به نام \fBGITWEB_LIST\fR در زمان نصب تعیین می‌شود\&. اگر این متغیر خالی باشد، گیت‌وب به پویش دایرکتوری \fB$projectroot\fR برای یافتن مخازن متوسل خواهد شد\&. .RE .PP $project_maxdepth .RS 4 اگر متغیر \fB$projects_list\fR تنظیم نشده باشد، گیت‌وب فایل‌سیستم را به صورت بازگشتی برای یافتن مخازن گیت پویش خواهد کرد\&. متغیر \fB$project_maxdepth\fR برای محدود کردن عمق پیمایش نسبت به \fB$projectroot\fR (نقطه شروع) استفاده می‌شود؛ این بدان معناست که دایرکتوری‌هایی که فاصله آن‌ها از \fB$projectroot\fR بیشتر از \fB$project_maxdepth\fR باشد نادیده گرفته می‌شوند\&. .sp این متغیر صرفاً یک بهینه‌سازی عملکردی است، که در ابتدا برای MacOS X که پیمایش بازگشتی دایرکتوری‌ها در آن کند است طراحی شده بود\&. گیت‌وب پیوندهای نمادین را دنبال می‌کند، اما چرخه‌ها را شناسایی کرده و فایل‌ها و دایرکتوری‌های تکراری را نادیده می‌گیرد\&. .sp مقدار پیش‌فرض این متغیر توسط متغیر پیکربندی زمان ساخت \fBGITWEB_PROJECT_MAXDEPTH\fR تعیین می‌شود، که پیش‌فرض آن 2007 است\&. .RE .PP $export_ok .RS 4 مخزن را تنها در صورتی نشان بده که این فایل (درون مخزن) وجود داشته باشد\&. تنها در صورتی موثر است که این متغیر مقدار درستی (true) داشته باشد\&. می‌تواند در زمان ساخت گیت‌وب با تنظیم \fBGITWEB_EXPORT_OK\fR مشخص شود\&. این مسیر نسبت به \fBGIT_DIR\fR سنجیده می‌شود\&. دستور \fBgit-daemon\fR(1) از \fIgit\-daemon\-export\-ok\fR استفاده می‌کند، مگر اینکه با \fB\-\-export\-all\fR اجرا شده باشد\&. به طور پیش‌فرض این متغیر تنظیم نشده است، که به این معنی است که این قابلیت غیرفعال است\&. .RE .PP $export_auth_hook .RS 4 تابعی که برای تعیین اینکه کدام مخازن باید نشان داده شوند استفاده می‌شود\&. این زیرروال باید یک پارامتر دریافت کند که مسیر کامل به یک پروژه است، و اگر مقدار درستی (true) بازگرداند، آن پروژه در لیست پروژه‌ها قرار می‌گیرد و تا زمانی که سایر شروط مشخص‌شده توسط $export_ok، $projects_list و $projects_maxdepth را برآورده کند، از طریق گیت‌وب قابل دسترسی خواهد بود\&. مثال: .sp .if n \{\ .RS 4 .\} .nf our $export_auth_hook = sub { return \-e "$_[0]/git\-daemon\-export\-ok"; }; .fi .if n \{\ .RE .\} .sp اگرچه کار بالا می‌تواند به جای آن با استفاده از \fB$export_ok\fR انجام شود: .sp .if n \{\ .RS 4 .\} .nf our $export_ok = "git\-daemon\-export\-ok"; .fi .if n \{\ .RE .\} .sp اگر تنظیم نشده باشد (حالت پیش‌فرض)، به این معنی است که این قابلیت غیرفعال است\&. .sp همچنین مثال پیچیده‌تر را در زیربخش "Controlling access to Git repositories" در صفحه راهنمای \fBgitweb\fR(1) ببینید\&. .RE .PP $strict_export .RS 4 تنها اجازه مشاهده مخازنی را بده که در صفحه نمای کلی (overview) نیز نشان داده می‌شوند\&. برای مثال این گزینه باعث می‌شود فایل \fB$export_ok\fR در دسترس بودن مخزن را تعیین کند و نه فقط نشان داده شدن آن را\&. اگر \fB$projects_list\fR به فایلی با فهرست پروژه‌ها اشاره کند، تنها آن دسته از مخازنی که فهرست شده‌اند برای گیت‌وب در دسترس خواهند بود\&. می‌تواند در زمان ساخت گیت‌وب از طریق \fBGITWEB_STRICT_EXPORT\fR تنظیم شود\&. به طور پیش‌فرض این متغیر تنظیم نشده است، که به این معنی است که می‌توانید مستقیماً به مخازنی که از صفحه فهرست پروژه‌ها پنهان شده‌اند (مثلاً در فایل $projects_list فهرست نشده‌اند) دسترسی پیدا کنید\&. .RE .SS "یافتن فایل‌ها (Finding files)" .sp متغیرهای پیکربندی زیر به گیت‌وب می‌گویند که فایل‌ها را در کجا بیابد\&. مقادیر این متغیرها مسیرهایی روی فایل‌سیستم هستند\&. .PP $GIT .RS 4 فایل اجرایی هسته گیت برای استفاده\&. به طور پیش‌فرض روی \fB$GIT_BINDIR/git\fR, تنظیم شده است، که آن هم به طور پیش‌فرض روی \fB$\fR(\fBbindir\fR)\fB/git\fR تنظیم است\&. اگر از گیت نصب‌شده از طریق بسته باینری استفاده می‌کنید، معمولاً باید این مقدار را روی "/usr/bin/git" تنظیم کنید\&. اگر وب‌سرور شما متغیر PATH معقولی دارد، می‌تواند صرفاً "git" باشد؛ از نقطه نظر امنیتی بهتر است از مسیر مطلق به باینری گیت استفاده شود\&. اگر چندین نسخه گیت نصب دارید، می‌توان از این گزینه برای انتخاب اینکه کدام نسخه استفاده شود بهره برد\&. برای اینکه گیت‌وب بتواند کار کند باید (به درستی) تنظیم شده باشد\&. .RE .PP $mimetypes_file .RS 4 فایلی که برای حدس زدن نوع MIME (بر اساس پسوند نام فایل) پیش از آزمایش \fB/etc/mime\&.types\fR استفاده می‌شود\&. \fBتوجه\fR کنید که این مسیر، در صورت نسبی بودن، نسبت به مخزن جاری گیت سنجیده می‌شود، نه نسبت به اسکریپت CGI\&. اگر تنظیم نشود، فقط از \fB/etc/mime\&.types\fR (در صورت وجود در فایل‌سیستم) استفاده می‌شود\&. اگر هیچ فایل mimetypes پیدا نشود، حدس زدن mimetype بر اساس پسوند فایل غیرفعال خواهد شد\&. به طور پیش‌فرض تنظیم نشده است\&. .RE .PP $highlight_bin .RS 4 مسیر فایل اجرایی highlight برای استفاده (به دلیل فرضیات مربوط به پارامترها و خروجی، باید نسخه موجود در \m[blue]\fBhttp://andre\-simon\&.de/zip/download\&.php\fR\m[] باشد)\&. به طور پیش‌فرض روی \fIhighlight\fR تنظیم شده است؛ اگر در PATH وب‌سرور شما نصب نیست، آن را روی مسیر کامل فایل اجرایی highlight تنظیم کنید\&. توجه داشته باشید که قابلیت \fIhighlight\fR باید فعال شده باشد تا گیت‌وب عملاً از برجسته‌سازی نحوی استفاده کند\&. .sp \fBنکته\fR: برای اینکه یک فایل برجسته شود، نوع دستور زبان آن باید تشخیص داده شود و آن دستور زبان باید توسط "highlight" پشتیبانی شود\&. تشخیص پیش‌فرض دستور زبان در حداقل است، و انواع زیادی از دستورهای زبان پشتیبانی‌شده وجود دارند که به طور پیش‌فرض تشخیصی برای آن‌ها تعریف نشده است\&. سه گزینه برای افزودن تشخیص دستور زبان وجود دارد\&. اولویت اول و دوم \fB%highlight_basename\fR و \fB%highlight_ext\fR هستند، که بر اساس نام پایه (نام کامل فایل، مثلاً "Makefile") و پسوند (مثلاً "sh") تشخیص می‌دهند\&. کلیدهای این هش‌ها به ترتیب نام پایه و پسوند هستند، و مقدار هر کلید، نام دستور زبانی است که باید از طریق \fB\-\-syntax\fR \fI\fR به "highlight" ارسال شود\&. اولویت آخر پیکربندی عبارت‌های منظم \fBShebang\fR در "highlight" برای تشخیص زبان بر اساس خط اول فایل است (به عنوان مثال، تطبیق خط "#!/bin/bash")\&. برای جزئیات بیشتر به مستندات highlight و پیکربندی پیش‌فرض در /etc/highlight/filetypes\&.conf مراجعه فرمایید\&. .sp به عنوان مثال، اگر مخازنی که میزبانی می‌کنید از پسوند "phtml" برای فایل‌های PHP استفاده می‌کنند، و می‌خواهید برجسته‌سازی نحوی صحیح برای این فایل‌ها داشته باشید، می‌توانید خطوط زیر را به پیکربندی گیت‌وب اضافه کنید: .sp .if n \{\ .RS 4 .\} .nf our %highlight_ext; $highlight_ext{\*(Aqphtml\*(Aq} = \*(Aqphp\*(Aq; .fi .if n \{\ .RE .\} .sp .RE .SS "پیوندها و مقصدهای آن‌ها (Links and their targets)" .sp متغیرهای پیکربندی که در زیر توضیح داده شده‌اند برخی از پیوندهای گیت‌وب را پیکربندی می‌کنند: مقصد آن‌ها، ظاهر آن‌ها (متن یا تصویر)، و اینکه پیش‌نیازهای صفحه (برگه سبک‌بندی، آیکون وب‌سایت یا فاوآیکون، تصاویر، اسکریپت‌ها) در کجا یافت شوند\&. معمولاً این‌ها در مقادیر پیش‌فرض خود باقی می‌مانند، به استثنای احتمالی متغیر \fB@stylesheets\fR\&. .PP @stylesheets .RS 4 فهرستی از شناسه‌های URI برگه‌های سبک‌بندی CSS (نسبت به URI پایه صفحه)\&. می‌توانید بیش از یک برگه سبک‌بندی تعیین کنید، مثلاً برای استفاده از "gitweb\&.css" به عنوان پایه همراه با اصلاحات اختصاصی سایت در یک برگه سبک‌بندی مجزا تا ارتقای گیت‌وب آسان‌تر شود\&. برای مثال، می‌توانید یک برگه سبک‌بندی \fBsite\fR را با قرار دادن .sp .if n \{\ .RS 4 .\} .nf push @stylesheets, "gitweb\-site\&.css"; .fi .if n \{\ .RE .\} .sp در پرونده پیکربندی گیت‌وب اضافه کنید\&. مقادیری که مسیرهای نسبی هستند نسبت به URI پایه گیت‌وب سنجیده می‌شوند\&. .sp این لیست باید حاوی URI برگه سبک‌بندی استاندارد گیت‌وب باشد\&. مقدار پیش‌فرض URI برگه سبک‌بندی گیت‌وب را می‌توان در زمان ساخت با استفاده از متغیر makefile به نام \fBGITWEB_CSS\fR تنظیم کرد\&. مقدار پیش‌فرض آن \fBstatic/gitweb\&.css\fR است (یا \fBstatic/gitweb\&.min\&.css\fR اگر متغیر \fBCSSMIN\fR تعریف شده باشد، یعنی از فشرده‌ساز CSS در طول ساخت استفاده شده باشد)\&. .sp \fBنکته\fR: یک متغیر پیکربندی قدیمی به نام \fB$stylesheet\fR نیز وجود دارد که در نسخه‌های قدیمی‌تر گیت‌وب استفاده می‌شد\&. اگر متغیر \fB$stylesheet\fR تعریف شده باشد، گیت‌وب تنها از برگه سبک‌بندی CSS مشخص‌شده توسط این متغیر استفاده می‌کند\&. .RE .PP $logo .RS 4 به مکانی اشاره می‌کند که \fIgit\-logo\&.png\fR را در وب‌سرور خود در آنجا قرار داده‌اید، یا به بیان کلی‌تر URI نشان‌واره (لوگو) با ابعاد 72x27 است\&. این تصویر در گوشه بالا سمت راست هر صفحه گیت‌وب نمایش داده می‌شود و به عنوان لوگوی خوراک Atom استفاده می‌گردد\&. نسبت به URI پایه گیت‌وب (به عنوان یک مسیر) سنجیده می‌شود\&. در زمان ساخت گیت‌وب با استفاده از متغیر \fBGITWEB_LOGO\fR قابل تنظیم است\&. به طور پیش‌فرض روی \fBstatic/git\-logo\&.png\fR تنظیم شده است\&. .RE .PP $favicon .RS 4 به مکانی اشاره می‌کند که \fIgit\-favicon\&.png\fR را در وب‌سرور خود قرار داده‌اید، یا به بیان کلی‌تر URI آیکون سایت (فاوآیکون) است، که با نوع "image/png" ارسال خواهد شد\&. مرورگرهای وبی که از فاوآیکون‌ها پشتیبانی می‌کنند ممکن است آن‌ها را در نوار URL مرورگر و در کنار نام سایت در بوک‌مارک‌ها نمایش دهند\&. نسبت به URI پایه گیت‌وب سنجیده می‌شود\&. در زمان ساخت با استفاده از متغیر \fBGITWEB_FAVICON\fR قابل تنظیم است\&. به طور پیش‌فرض روی \fBstatic/git\-favicon\&.png\fR تنظیم شده است\&. .RE .PP $javascript .RS 4 به مکانی اشاره می‌کند که \fIgitweb\&.js\fR را در وب‌سرور خود قرار داده‌اید، یا به طور کلی‌تر URI کد جاوااسکریپت مورد استفاده گیت‌وب است\&. نسبت به URI پایه گیت‌وب سنجیده می‌شود\&. می‌تواند در زمان ساخت با استفاده از متغیر پیکربندی زمان ساخت \fBGITWEB_JS\fR تنظیم شود\&. .sp مقدار پیش‌فرض آن \fBstatic/gitweb\&.js\fR، یا \fBstatic/gitweb\&.min\&.js\fR است اگر متغیر ساخت \fBJSMIN\fR تعریف شده باشد، یعنی اگر در زمان ساخت از فشرده‌ساز جاوااسکریپت استفاده شده باشد\&. \fBنکته\fR اینکه این فایل واحد از چندین ماژول مجزای جاوااسکریپت تولید شده است\&. .RE .PP $home_link .RS 4 مقصد پیوند خانه در بالای تمام صفحات (بخش اول از زنجیره پیوندهای ناوبری یا "breadcrumbs")\&. به طور پیش‌فرض روی URI مطلق صفحه جاری تنظیم شده است (برابر با مقدار متغیر \fB$my_uri\fR، یا اگر \fB$my_uri\fR تعریف‌نشده یا رشته‌ای خالی باشد برابر با "/")\&. .RE .PP $home_link_str .RS 4 عنوان «پیوند خانه» در بالای تمام صفحات، که به \fB$home_link\fR ختم می‌شود (معمولاً صفحه اصلی گیت‌وب، که حاوی فهرست پروژه‌ها است)\&. به عنوان نخستین بخش از مسیر ناوبری گیت‌وب استفاده می‌شود: \fI\fR \fB/\fR \fI\fR \fB/\fR \fI\fR\&. می‌تواند در زمان ساخت با استفاده از متغیر \fBGITWEB_HOME_LINK_STR\fR تنظیم شود\&. به طور پیش‌فرض روی "projects" تنظیم شده است، زیرا این پیوند به فهرست پروژه‌ها هدایت می‌کند\&. یک انتخاب محبوب دیگر، تنظیم آن به نام سایت است\&. توجه داشته باشید که با آن به عنوان HTML خام برخورد می‌شود، بنابراین نباید از منابع غیرقابل اعتماد مقداردهی شود\&. .RE .PP @extra_breadcrumbs .RS 4 پیوندهای اضافی برای افزودن به ابتدای مسیر ناوبری قبل از پیوند خانه، برای صفحاتی که از نظر منطقی «بالاتر» از فهرست پروژه‌های گیت‌وب قرار دارند، مانند سازمان یا بخشی که سرور گیت‌وب را میزبانی می‌کند\&. هر عضو این لیست یک ارجاع به یک آرایه است که در آن عنصر شماره ۰ متن پیوند (معادل \fB$home_link_str\fR) و عنصر شماره ۱ آدرس اینترنتی مقصد (معادل \fB$home_link\fR) است\&. .sp برای مثال، تنظیمات زیر یک مسیر ناوبری مانند "home / dev / projects / \&..." تولید می‌کند که در آن "projects" پیوند خانه است\&. .sp .if n \{\ .RS 4 .\} .nf our @extra_breadcrumbs = ( [ \*(Aqhome\*(Aq => \*(Aqhttps://www\&.example\&.org\*(Aq ], [ \*(Aqdev\*(Aq => \*(Aqhttps://dev\&.example\&.org\*(Aq ], ); .fi .if n \{\ .RE .\} .sp .RE .PP $logo_url, $logo_label .RS 4 آدرس URI و عنوان (title) برای پیوند نشان‌واره گیت (یا نشان‌واره سایت شما، در صورتی که تصمیم گرفته‌اید از تصویر نشان‌واره متفاوتی استفاده کنید)\&. به طور پیش‌فرض، هر دو به صفحه اصلی گیت، \m[blue]\fBhttps://git\-scm\&.com\fR\m[] اشاره دارند؛ در گذشته به مستندات گیت در \m[blue]\fBhttps://www\&.kernel\&.org\fR\m[] اشاره می‌کردند\&. .RE .SS "تغییر ظاهر گیت‌وب (Changing gitweb\(cqs look)" .sp می‌توانید نحوه نمایش صفحات تولیدشده توسط گیت‌وب را با استفاده از متغیرهای شرح داده شده در زیر تنظیم کنید\&. می‌توانید نام سایت را تغییر دهید، هدرها و فوترهای مشترک برای تمام صفحات اضافه کنید، و توضیحاتی درباره این نصب گیت‌وب در صفحه اصلی آن (که همان صفحه فهرست پروژه‌هاست) بیفزایید، و غیره\&. .PP $site_name .RS 4 نام سایت یا سازمان شما، برای نمایش در عناوین صفحات\&. آن را روی چیزی توصیفی برای نشانک‌گذاری‌های واضح‌تر و غیره تنظیم کنید\&. اگر این متغیر تنظیم نشده باشد، گیت‌وب از مقدار متغیر محیطی \fBSERVER_NAME\fR در \fBCGI\fR استفاده می‌کند و نام سایت را روی "$SERVER_NAME Git" یا در صورت عدم تنظیم این متغیر روی "Untitled Git" تنظیم می‌نماید (مثلاً اگر گیت‌وب را به عنوان یک اسکریپت مستقل اجرا کنید)\&. .sp می‌تواند با استفاده از متغیر \fBGITWEB_SITENAME\fR در زمان ساخت تنظیم شود\&. به طور پیش‌فرض تنظیم نشده است\&. .RE .PP $site_html_head_string .RS 4 قطعه کد HTML برای گنجانده شدن در بخش هر صفحه\&. می‌تواند با استفاده از \fBGITWEB_SITE_HTML_HEAD_STRING\fR در زمان ساخت تنظیم شود\&. مقدار پیش‌فرضی ندارد\&. .RE .PP $site_header .RS 4 نام فایلی حاوی HTML که باید در بالای هر صفحه قرار گیرد\&. نسبت به دایرکتوری حاوی اسکریپت \fIgitweb\&.cgi\fR سنجیده می‌شود\&. می‌تواند با استفاده از \fBGITWEB_SITE_HEADER\fR در زمان ساخت تنظیم شود\&. بدون مقدار پیش‌فرض\&. .RE .PP $site_footer .RS 4 نام فایلی حاوی HTML که باید در پایین هر صفحه قرار گیرد\&. نسبت به دایرکتوری حاوی اسکریپت \fIgitweb\&.cgi\fR سنجیده می‌شود\&. می‌تواند با استفاده از \fBGITWEB_SITE_FOOTER\fR در زمان ساخت تنظیم شود\&. بدون مقدار پیش‌فرض\&. .RE .PP $home_text .RS 4 نام یک فایل HTML که در صورت وجود، در صفحه نمای کلی پروژه‌های گیت‌وب (نمای "projects_list") گنجانده می‌شود\&. نسبت به دایرکتوری حاوی اسکریپت gitweb\&.cgi سنجیده می‌شود\&. مقدار پیش‌فرض می‌تواند در طول زمان ساخت با استفاده از متغیر \fBGITWEB_HOMETEXT\fR تنظیم شود\&. به طور پیش‌فرض روی \fIindextext\&.html\fR تنظیم شده است\&. .RE .PP $projects_list_description_width .RS 4 عرض (بر حسب نویسه / کاراکتر) ستون "Description" در فهرست پروژه‌ها\&. توضیحات طولانی‌تر کوتاه خواهند شد (تلاش می‌شود در مرز کلمات بریده شود)؛ توضیح کامل در مشخصه \fItitle\fR در دسترس است (معمولاً هنگام نگه داشتن ماوس روی آن نمایش داده می‌شود)\&. مقدار پیش‌فرض 25 است، که اگر از توضیحات طولانی برای پروژه‌ها استفاده می‌کنید ممکن است خیلی کوچک باشد\&. .RE .PP $default_projects_order .RS 4 ترتیب پیش‌فرض پروژه‌ها در صفحه فهرست پروژه‌ها؛ به این معنی که اگر فهرست پروژه‌ها را صراحتاً مرتب نکنید (اگر پارامتر پرسمان "o" در URL وجود نداشته باشد) از این ترتیب استفاده می‌شود\&. مقادیر معتبر عبارتند از "none" (نامرتب)، "project" (بر اساس نام پروژه، یعنی مسیر مخزن نسبت به \fB$projectroot\fR)، "descr" (توضیحات پروژه)، "owner" (مالک)، و "age" (بر اساس تاریخ جدیدترین کامیت)\&. .sp مقدار پیش‌فرض "project" است\&. مقدار ناشناخته به معنای نامرتب است\&. .RE .SS "تغییر رفتار گیت‌وب (Changing gitweb\(cqs behavior)" .sp این متغیرهای پیکربندی رفتار \fIداخلی\fR گیت‌وب را کنترل می‌کنند\&. .PP $default_blob_plain_mimetype .RS 4 نوع پیش‌فرض mimetype برای نمای blob_plain (خام)، در صورتی که بررسی mimetype منجر به نوع دیگری نشود؛ به طور پیش‌فرض "text/plain"\&. گیت‌وب نوع mimetype فایلی را که می‌خواهد نمایش دهد بر اساس پسوند نام فایل آن، با استفاده از \fB$mimetypes_file\fR (در صورت تنظیم و وجود فایل) و فایل‌های \fB/etc/mime\&.types\fR حدس می‌زند (صفحه راهنمای \fBmime\&.types\fR(5) را ببینید؛ فقط قواعد پسوند نام فایل توسط گیت‌وب پشتیبانی می‌شوند)\&. .RE .PP $default_text_plain_charset .RS 4 مجموعه نویسه (charset) پیش‌فرض برای فایل‌های متنی\&. اگر این مقدار تنظیم نشود، از پیکربندی وب‌سرور استفاده خواهد شد\&. به طور پیش‌فرض تنظیم نشده است\&. .RE .PP $fallback_encoding .RS 4 گیت‌وب زمانی که یک خط شامل نویسه‌های غیر UTF\-8 باشد، این مجموعه نویسه را فرض می‌کند\&. رمزگشایی جایگزین بدون بررسی خطا استفاده می‌شود، بنابراین حتی می‌تواند "utf\-8" باشد\&. مقدار باید یک کدگذاری معتبر باشد؛ صفحه‌نمای \fBEncoding::Supported\fR(3pm) را برای فهرستی از آن‌ها ببینید\&. مقدار پیش‌فرض "latin1" یا همان "iso\-8859\-1" است\&. .RE .PP @diff_opts .RS 4 گزینه‌های تشخیص تغییر نام برای git\-diff و git\-diff\-tree\&. مقدار پیش‌فرض (\*(Aq\-M\*(Aq) است؛ آن را روی (\*(Aq\-C\*(Aq) یا (\*(Aq\-C\*(Aq, \*(Aq\-C\*(Aq) تنظیم کنید تا کپی‌ها نیز تشخیص داده شوند، یا آن را روی () یعنی یک لیست خالی تنظیم کنید اگر نمی‌خواهید تشخیص تغییر نام انجام شود\&. .sp \fBتوجه\fR کنید که تشخیص تغییر نام و به ویژه تشخیص کپی می‌تواند بسیار بار پردازشی (CPU) بالایی داشته باشد\&. همچنین توجه داشته باشید که ابزارهای غیر گیت ممکن است با وصله‌های تولیدشده با گزینه‌های یادشده مشکل داشته باشند، به خصوص زمانی که شامل کپی فایل (\*(Aq\-C\*(Aq) یا تغییر نام متقاطع (\*(Aq\-B\*(Aq) باشند\&. .RE .SS "برخی قابلیت‌ها و خط‌مشی‌های اختیاری (Some optional features and policies)" .sp بیشتر قابلیت‌ها از طریق هش \fB%feature\fR پیکربندی می‌شوند؛ با این حال برخی قابلیت‌های اضافه گیت‌وب را می‌توان با استفاده از متغیرهای شرح داده شده در زیر روشن و پیکربندی کرد\&. این لیست در کنار متغیرهای پیکربندی که ظاهر گیت‌وب را کنترل می‌کنند، شامل متغیرهایی است که جنبه‌های مدیریتی گیت‌وب را پیکربندی می‌نمایند (مثلاً جلوگیری از حملات تزریق اسکریپت یا XSS؛ که البته به عنوان یک اثر جانبی بر ظاهر صفحات "summary" یا محدودسازی بار اثر می‌گذارد)\&. .PP @git_base_url_list .RS 4 فهرستی از URLهای پایه گیت\&. این URLها برای تولید نشانی‌هایی استفاده می‌شوند که نشان می‌دهند یک پروژه را از کجا می‌توان واکشی کرد، که در صفحه خلاصه پروژه نمایش داده می‌شوند\&. آدرس کامل واکشی برای هر عضو این لیست برابر با "\fB$git_base_url/$project\fR" است\&. می‌توانید چندین URL پایه را راه‌اندازی کنید (مثلاً یکی برای پروتکل \fBgit://\fR و دیگری برای پروتکل \fBhttp://\fR)\&. .sp توجه داشته باشید که پیکربندی به ازای هر مخزن می‌تواند در فایل \fB$GIT_DIR/cloneurl\fR یا به عنوان مقادیر متغیر چندمقداری \fBgitweb\&.url\fR در پیکربندی پروژه تنظیم شود\&. پیکربندی به ازای هر مخزن بر مقدار ساخته‌شده از اعضای \fB@git_base_url_list\fR و نام پروژه اولویت دارد\&. .sp می‌توانید یک مقدار تکی (یک مدخل در این لیست) را در زمان ساخت با تنظیم متغیر پیکربندی زمان ساخت \fBGITWEB_BASE_URL\fR مشخص کنید\&. به طور پیش‌فرض روی () یعنی یک لیست خالی تنظیم شده است\&. این بدان معنی است که گیت‌وب تلاشی برای ساخت URL پروژه (جهت واکشی) از روی نام پروژه نخواهد کرد\&. .RE .PP $projects_list_group_categories .RS 4 آیا گروه‌بندی پروژه‌ها بر اساس دسته‌بندی در صفحه فهرست پروژه‌ها فعال باشد یا خیر\&. دسته‌بندی یک پروژه توسط فایل \fB$GIT_DIR/category\fR یا متغیر \fBgitweb\&.category\fR در پیکربندی هر مخزن تعیین می‌شود\&. به طور پیش‌فرض غیرفعال است (روی 0 تنظیم شده است)\&. .RE .PP $project_list_default_category .RS 4 دسته‌بندی پیش‌فرض برای پروژه‌هایی که هیچ دسته‌ای برای آن‌ها مشخص نشده است\&. اگر روی یک رشته خالی تنظیم شود، چنین پروژه‌هایی بدون دسته‌بندی باقی می‌مانند و در بالای صفحه، بالاتر از پروژه‌های دسته‌بندی‌شده فهرست می‌شوند\&. فقط در صورتی استفاده می‌شود که دسته‌بندی پروژه‌ها فعال باشد، یعنی اگر \fB$projects_list_group_categories\fR برابر با درستی (true) باشد\&. به طور پیش‌فرض روی "" (رشته خالی) تنظیم شده است\&. .RE .PP $prevent_xss .RS 4 اگر درست باشد، برخی قابلیت‌های گیت‌وب برای جلوگیری از اجرای حملات تزریق اسکریپت از طریق وب‌گاه (XSS) توسط محتوای موجود در مخازن، غیرفعال می‌شوند\&. اگر به محتوای مخازن خود اعتماد ندارید این مقدار را روی true قرار دهید\&. به طور پیش‌فرض نادرست است (روی 0 تنظیم شده است)\&. .RE .PP $maxload .RS 4 برای تنظیم حداکثر بار سیستمی استفاده می‌شود که در آن هنوز به پرس‌وجوهای گیت‌وب پاسخ می‌دهیم\&. اگر بار سرور از این مقدار تجاوز کند، گیت‌وب خطای "503 Service Unavailable" را برمی‌گرداند\&. اگر گیت‌وب نتواند بار سرور را تعیین کند، مقدار آن 0 در نظر گرفته می‌شود\&. در حال حاضر فقط روی لینوکس کار می‌کند، جایی که از \fB/proc/loadavg\fR استفاده می‌کند؛ بار در آنجا تعداد وظایف فعال در سیستم است \(em فرآیندهایی که واقعاً در حال اجرا هستند \(em میانگین‌گیری‌شده در یک دقیقه گذشته\&. .sp مقدار \fB$maxload\fR را روی مقدار تعریف‌نشده (\fBundef\fR) تنظیم کنید تا این قابلیت خاموش شود\&. مقدار پیش‌فرض 300 است\&. .RE .PP $omit_age_column .RS 4 اگر درست باشد، ستون مربوط به تاریخ جدیدترین کامیت را در صفحه فهرست پروژه‌ها حذف می‌کند\&. این کار می‌تواند در مصرف I/O و ایجاد یک فرآیند فرعی (fork) به ازای هر مخزن صرفه‌جویی کند\&. .RE .PP $omit_owner .RS 4 اگر درست باشد، از نمایش اطلاعات درباره مالک مخزن جلوگیری می‌کند\&. .RE .PP $per_request_config .RS 4 اگر روی یک ارجاع به کد تنظیم شده باشد، یک بار برای هر درخواست اجرا خواهد شد\&. می‌توانید بخش‌هایی از پیکربندی را که به ازای هر نشست تغییر می‌کنند از این طریق تنظیم نمایید\&. به عنوان مثال، ممکن است از کد زیر در پرونده پیکربندی گیت‌وب استفاده شود: .sp .if n \{\ .RS 4 .\} .nf our $per_request_config = sub { $ENV{GL_USER} = $cgi\->remote_user || "gitweb"; }; .fi .if n \{\ .RE .\} .sp اگر \fB$per_request_config\fR یک ارجاع به کد نباشد، به عنوان مقدار بولی تفسیر می‌شود\&. اگر درست باشد، گیت‌وب پرونده‌های پیکربندی را یک بار برای هر درخواست پردازش می‌کند، و اگر نادرست باشد، گیت‌وب پرونده‌های پیکربندی را فقط یک بار، در هر بار اجرای خود، پردازش خواهد کرد\&. به طور پیش‌فرض درست است (روی 1 تنظیم شده است)\&. .sp \fBتوجه\fR: متغیرهای \fB$my_url\fR، \fB$my_uri\fR و \fB$base_url\fR پیش از هر درخواست با مقادیر پیش‌فرض خود بازنویسی می‌شوند، بنابراین اگر می‌خواهید آن‌ها را تغییر دهید، حتماً این متغیر را روی true یا یک ارجاع کد که تغییرات دلخواه را اعمال می‌کند تنظیم کنید\&. .sp این متغیر فقط زمانی اهمیت دارد که از محیط‌های وب پایا که چندین درخواست را با استفاده از یک نمونه منفرد گیت‌وب پاسخ می‌دهند (مانند mod_perl، FastCGI یا Plackup) استفاده شود\&. .RE .SS "سایر متغیرها (Other variables)" .sp معمولاً نیازی به تغییر (تنظیم) هیچ‌یک از متغیرهای پیکربندی شرح داده شده در زیر نخواهید داشت؛ آن‌ها باید به طور خودکار توسط گیت‌وب روی مقادیر صحیح تنظیم شوند\&. .PP $version .RS 4 نسخه گیت‌وب، که هنگام ایجاد gitweb\&.cgi از gitweb\&.perl به طور خودکار تنظیم می‌شود\&. اگر نسخه سفارشی‌شده‌ای از گیت‌وب را اجرا می‌کنید ممکن است بخواهید آن را تغییر دهید، برای مثال .sp .if n \{\ .RS 4 .\} .nf our $version \&.= " with caching"; .fi .if n \{\ .RE .\} .sp اگر نسخه تغییریافته‌ای از گیت‌وب را با پشتیبانی از ذخیره‌سازی موقت (caching) اجرا می‌کنید\&. این متغیر صرفاً اطلاعاتی است، و مثلاً در متاتگ "generator" در هدر HTML استفاده می‌شود\&. .RE .PP $my_url, $my_uri .RS 4 نشانی اینترنتی کامل و نشانی اینترنتی مطلق اسکریپت گیت‌وب؛ در نسخه‌های اولیه گیت‌وب ممکن بود نیاز به تنظیم این متغیرها داشته باشید، اما اکنون نباید نیازی به این کار باشد\&. اگر هنوز نیاز به تنظیم آن‌ها دارید \fB$per_request_config\fR را ببینید\&. .RE .PP $base_url .RS 4 نشانی پایه برای URLهای نسبی در صفحات تولیدشده توسط گیت‌وب (مثلاً \fB$logo\fR، \fB$favicon\fR، \fB@stylesheets\fR اگر آدرس‌های نسبی باشند)، که فقط برای URLهایی با PATH_INFO غیرخالی نیاز بوده و به صورت \fI\fR استفاده می‌شود\&. معمولاً گیت‌وب مقدار آن را به درستی تنظیم می‌کند، و نیازی به تنظیم این متغیر نیست (مثلاً به $my_uri یا "/")\&. اگر با این حال نیاز به بازنویسی آن دارید \fB$per_request_config\fR را ببینید\&. .RE .SH "پیکربندی قابلیت‌های گیت‌وب (CONFIGURING GITWEB FEATURES)" .sp بسیاری از قابلیت‌های گیت‌وب را می‌توان با استفاده از هش \fB%feature\fR فعال (یا غیرفعال) و پیکربندی کرد\&. نام‌های قابلیت‌های گیت‌وب کلیدهای این هش هستند\&. .sp هر عضو هش \fB%feature\fR یک ارجاع هش است و ساختار زیر را دارد: .sp .if n \{\ .RS 4 .\} .nf "" => { "sub" => , "override" => , "default" => [ \&.\&.\&. ] }, .fi .if n \{\ .RE .\} .sp .sp برخی قابلیت‌ها را نمی‌توان به ازای هر پروژه بازنویسی کرد\&. برای این قابلیت‌ها، ساختار عضو متناظر در هش \fB%feature\fR فرم ساده‌تری دارد: .sp .if n \{\ .RS 4 .\} .nf "" => { "override" => 0, "default" => [ \&.\&.\&. ] }, .fi .if n \{\ .RE .\} .sp .sp همان‌طور که مشاهده می‌شود، عنصر \*(Aqsub\*(Aq را ندارد\&. .sp معنای هر بخش از پیکربندی قابلیت در زیر شرح داده شده است: .PP default .RS 4 فهرستی (ارجاع به آرایه) از پارامترهای قابلیت (در صورت وجود)، که همچنین برای تغییر وضعیت (فعال یا غیرفعال کردن) قابلیت مورد نظر استفاده می‌شود\&. .sp توجه داشته باشید که در حال حاضر این عنصر \fBهمیشه\fR یک ارجاع به آرایه است، حتی اگر قابلیت هیچ پارامتر پیکربندی نپذیرد، و \*(Aqdefault\*(Aq فقط برای روشن یا خاموش کردن آن استفاده شود\&. در چنین حالتی با تنظیم این عنصر روی [\fB1\fR] قابلیت را روشن کرده و با تنظیم آن روی [\fB0\fR] آن را خاموش می‌کنید\&. همچنین به بخش مربوط به قابلیت "blame" در بخش «مثال‌ها» مراجعه نمایید\&. .sp برای غیرفعال کردن قابلیت‌هایی که پارامتر می‌پذیرند (قابل پیکربندی هستند)، باید این عنصر را روی یک لیست خالی یعنی [] تنظیم کنید\&. .RE .PP override .RS 4 اگر این فیلد دارای مقدار درستی (true) باشد، آنگاه قابلیت مورد نظر قابل بازنویسی است، به این معنی که می‌تواند به ازای هر مخزن پیکربندی (یا فعال/غیرفعال) شود\&. .sp معمولاً یک "" از طریق متغیر پیکربندی \fBgitweb\&.\fR\fI\fR در پرونده پیکربندی گیت به ازای هر مخزن قابل تنظیم است\&. .sp \fBتوجه\fR کنید که هیچ قابلیتی به طور پیش‌فرض قابل بازنویسی نیست\&. .RE .PP sub .RS 4 جزئیات داخلی پیاده‌سازی\&. آنچه اهمیت دارد این است که اگر این فیلد وجود نداشته باشد، بازنویسی به ازای هر مخزن برای قابلیت مذکور پشتیبانی نمی‌شود\&. .sp هرگز نیازی به تغییر آن در پرونده پیکربندی گیت‌وب نخواهید داشت\&. .RE .SS "قابلیت‌ها در \fB%feature\fR (Features in %feature)" .sp قابلیت‌های گیت‌وب که از طریق هش \fB%feature\fR قابل پیکربندی هستند در زیر فهرست شده‌اند\&. این فهرست باید جامع باشد، اما در نهایت منبع موثق و کامل کد منبع gitweb\&.cgi است، که در آن قابلیت‌ها در کامنت‌ها توضیح داده شده‌اند\&. .PP blame .RS 4 نماهای "blame" و "blame_incremental" را برای شیء blob فعال می‌کند، که برای هر خط آخرین کامیتی را که آن را تغییر داده نشان می‌دهد؛ به \fBgit-blame\fR(1) مراجعه کنید\&. این قابلیت می‌تواند بار پردازشی بالایی داشته باشد و بنابراین به طور پیش‌فرض غیرفعال است\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.blame\fR مخزن (بولی) پیکربندی شود\&. .RE .PP snapshot .RS 4 عملیات "snapshot" را فعال و پیکربندی می‌کند، که به کاربر امکان می‌دهد یک آرشیو فشرده از هر درخت یا کامیت را دانلود کند، به همان صورت که توسط \fBgit-archive\fR(1) تولید شده و احتمالاً به صورت اضافه فشرده شده است\&. اگر پروژه بزرگی داشته باشید این قابلیت می‌تواند ترافیک بالایی ایجاد کند\&. .sp مقدار \*(Aqdefault\*(Aq فهرستی از نام‌های قالب‌های snapshot است، که در هش \fB%known_snapshot_formats\fR تعریف شده‌اند، که می‌خواهید ارائه دهید\&. قالب‌های پشتیبانی‌شده شامل "tgz"، "tbz2"، "txz" (آرشیو tar فشرده‌شده با gzip/bzip2/xz) و "zip" هستند؛ لطفاً برای فهرست قطعی به سورس‌های گیت‌وب مراجعه کنید\&. به طور پیش‌فرض فقط "tgz" ارائه می‌شود\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.snapshot\fR مخزن، که حاوی فهرستی جداشده با کاما از قالب‌ها یا "none" برای غیرفعال کردن snapshot است، پیکربندی شود\&. مقادیر ناشناخته نادیده گرفته می‌شوند\&. .RE .PP grep .RS 4 جستجوی grep را فعال می‌کند، که فایل‌های موجود در درخت (دایرکتوری) انتخاب‌شده فعلی را که حاوی رشته مشخص‌شده هستند فهرست می‌نماید؛ به \fBgit-grep\fR(1) مراجعه کنید\&. البته این قابلیت می‌تواند پردازش زیادی بطلبد\&. به طور پیش‌فرض فعال است\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.grep\fR مخزن (بولی) پیکربندی شود\&. .RE .PP pickaxe .RS 4 جستجوی موسوم به pickaxe را فعال می‌کند، که کامیت‌هایی را فهرست می‌نماید که رشته مشخص‌شده‌ای را در یک فایل اضافه یا حذف کرده‌اند\&. این می‌تواند یک جایگزین کاربردی و بسیار سریع‌تر برای عملیات "blame" باشد، اما همچنان می‌تواند پردازش بالایی مصرف کند\&. به طور پیش‌فرض فعال است\&. .sp جستجوی pickaxe در \fBgit-log\fR(1) شرح داده شده است (توضیح گزینه \fB\-S\fR\fI\fR، که برای جزئیات بیشتر به بخش pickaxe در \fBgitdiffcore\fR(7) ارجاع می‌دهد)\&. .sp این قابلیت می‌تواند به ازای هر مخزن با تنظیم متغیر پیکربندی \fBgitweb\&.pickaxe\fR مخزن (بولی) پیکربندی شود\&. .RE .PP show\-sizes .RS 4 نمایش اندازه blobها (فایل‌های معمولی) را در نمای "tree"، در یک ستون مجزا، مشابه آنچه دستور \fBls\fR \fB\-l\fR انجام می‌دهد، فعال می‌کند؛ توضیحات گزینه \fB\-l\fR را در صفحه راهنمای \fBgit-ls-tree\fR(1) ببینید\&. این کار کمی هزینه I/O دارد\&. به طور پیش‌فرض فعال است\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.showSizes\fR مخزن (بولی) پیکربندی شود\&. .RE .PP patches .RS 4 نمای "patches" را فعال و پیکربندی می‌کند، که فهرست کامیت‌ها را در قالب خروجی ایمیل (متن ساده) نمایش می‌دهد؛ همچنین به \fBgit-format-patch\fR(1) مراجعه کنید\&. مقدار آن حداکثر تعداد وصله‌ها در یک مجموعه وصله تولیدشده در نمای "patches" است\&. فیلد \fIdefault\fR را روی فهرستی حاوی یک مقدار تکی 0 یا یک فهرست خالی تنظیم کنید تا نمای وصله‌ها غیرفعال شود، یا روی فهرستی حاوی یک عدد منفی تکی تنظیم کنید تا هرگونه محدودیتی برداشته شود\&. مقدار پیش‌فرض 16 است\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.patches\fR مخزن (عددی) پیکربندی شود\&. .RE .PP avatar .RS 4 پشتیبانی از آواتار (تصویر نمایه)\&. هنگامی که این قابلیت فعال است، نماهایی مانند "shortlog" یا "commit" یک آواتار مرتبط با ایمیل هر کامیت‌کننده و نویسنده نمایش می‌دهند\&. .sp ارائه‌دهندگان در حال حاضر در دسترس عبارتند از \fB"gravatar"\fR و \fB"picon"\fR\&. در هر زمان تنها یک ارائه‌دهنده را می‌توان انتخاب کرد (\fIdefault\fR یک لیست یک‌عضوی است)\&. اگر ارائه‌دهنده ناشناخته‌ای مشخص شود، قابلیت غیرفعال می‌شود\&. \fBتوجه\fR کنید که برخی ارائه‌دهندگان ممکن است نیاز به نصب بسته‌های اضافی پرل داشته باشند؛ برای جزئیات بیشتر به \fBgitweb/INSTALL\fR مراجعه کنید\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.avatar\fR مخزن پیکربندی شود\&. .sp همچنین به \fB%avatar_size\fR با اندازه‌های پیکسلی برای آیکون‌ها و آواتارها نگاه کنید ("default" برای خطوط یک‌خطی مانند "log" و "shortlog" استفاده می‌شود، و "double" برای خطوط دوخطی مانند "commit"، "commitdiff" یا "tag")\&. اگر اندازه‌های فونت یا ارتفاع خطوط پیش‌فرض تغییر کنند (مثلاً با افزودن برگه سبک‌بندی اضافی CSS در \fB@stylesheets\fR)، ممکن است تغییر این مقادیر مناسب باشد\&. .RE .PP email\-privacy .RS 4 حذف و پوشاندن نشانی‌های ایمیل از محتوای HTML تولیدشده و غیره\&. این امر نشانی‌های ایمیل استخراج‌شده از بخش‌های نویسنده/کامیت‌کننده و توضیحات لاگ گیت را مبهم می‌سازد\&. این قابلیت برای جلوگیری از خزنده‌های وب که نشانی‌ها را برای هرزنامه جمع‌آوری و سوءاستفاده می‌کنند در نظر گرفته شده است\&. چنین خزنده‌هایی ممکن است robots\&.txt را رعایت نکنند\&. توجه داشته باشید که کاربران و ابزارهای کاربر نیز نشانی‌ها را به صورت پوشانده‌شده می‌بینند\&. اگر گیت‌وب آخرین مرحله در یک گردش کار نباشد، مراحل بعدی ممکن است به دلیل اطلاعات مبهم‌شده‌ای که دریافت می‌کنند دچار نقص عملکرد شوند\&. به طور پیش‌فرض غیرفعال است\&. .RE .PP highlight .RS 4 پشتیبانی از برجسته‌سازی نحوی در سمت سرور در نمای "blob"\&. این قابلیت نیازمند در دسترس بودن برنامه \fB$highlight_bin\fR است (توضیحات این متغیر را در بخش «متغیرهای پیکربندی» در بالا ببینید)، و بنابراین به طور پیش‌فرض غیرفعال است\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.highlight\fR مخزن (بولی) پیکربندی شود\&. .RE .PP remote_heads .RS 4 نمایش سرهای راه دور (شاخه‌های ردگیری راه دور / remote\-tracking) را در فهرست "heads" فعال می‌کند\&. در بیشتر موارد فهرست شاخه‌های ردگیری راه دور یک جزئیات خصوصی و غیرضروری داخلی است، و بنابراین این قابلیت به طور پیش‌فرض غیرفعال است\&. دستور \fBgit-instaweb\fR(1)، که معمولاً برای مرور مخازن محلی استفاده می‌شود، این قابلیت را فعال کرده و استفاده می‌کند\&. .sp این قابلیت می‌تواند به ازای هر مخزن از طریق متغیر پیکربندی \fBgitweb\&.remote_heads\fR مخزن (بولی) پیکربندی شود\&. .RE .sp باقی‌مانده قابلیت‌ها را نمی‌توان به ازای هر پروژه بازنویسی کرد\&. .PP search .RS 4 جستجوی متنی را فعال می‌کند، که کامیت‌های منطبق بر نویسنده، کامیت‌کننده یا متن کامیت را با یک رشته داده‌شده فهرست می‌کند؛ توضیحات گزینه‌های \fB\-\-author\fR، \fB\-\-committer\fR و \fB\-\-grep\fR را در صفحه راهنمای \fBgit-log\fR(1) ببینید\&. به طور پیش‌فرض فعال است\&. .sp بازنویسی اختصاصی پروژه برای این مورد پشتیبانی نمی‌شود\&. .RE .PP forks .RS 4 اگر این قابلیت فعال باشد، گیت‌وب پروژه‌های موجود در زیرشاخه‌های ریشه پروژه (نام پایه) را به عنوان فورک‌های پروژه‌های موجود در نظر می‌گیرد\&. برای هر پروژه \fB$projname\&.git\fR، پروژه‌های موجود در دایرکتوری \fB$projname/\fR و زیرشاخه‌های آن در فهرست اصلی پروژه‌ها نشان داده نخواهند شد\&. در عوض، یک علامت \*(Aq+\*(Aq در کنار \fB$projname\fR نشان داده می‌شود، که به یک نمای "forks" پیوند دارد که تمام فورک‌ها (تمام پروژه‌ها در زیرشاخه \fB$projname/\fR) را فهرست می‌کند\&. علاوه بر این، یک نمای "forks" برای یک پروژه از صفحه خلاصه پروژه پیوند داده می‌شود\&. .sp اگر فهرست پروژه‌ها از یک فایل خوانده شود (\fB$projects_list\fR به یک فایل اشاره کند)، فورک‌ها تنها در صورتی تشخیص داده می‌شوند که پس از پروژه اصلی در آن فایل فهرست شده باشند\&. .sp بازنویسی اختصاصی پروژه پشتیبانی نمی‌شود\&. .RE .PP actions .RS 4 پیوندهای سفارشی را به نوار عملیات تمام صفحات پروژه اضافه می‌کند\&. این به شما امکان می‌دهد پیوندهایی به اسکریپت‌های شخص ثالث که با گیت‌وب یکپارچه شده‌اند برقرار کنید\&. .sp مقدار "default" شامل فهرستی از سه‌تایی‌ها به فرم \(oq("