'\" t .\" Man page generated from reStructuredText .\" by the Docutils 0.22.3 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "PELICAN-THEMING" "1" "Dec 25, 2025" "4" "PELICAN" .SH "نام (NAME)" pelican-theming \- راهنمای ساخت پوسته برای Pelican .sp یک مخزن مدیریت‌شده توسط جامعه کاربری از پوسته‌های Pelican در \% برای اشتراک‌گذاری و استفاده همگان وجود دارد. .sp لطفاً توجه داشته باشید اگرچه ما تمام تلاش خود را برای بررسی و ادغام مشارکت‌های مربوط به پوسته انجام می‌دهیم، اما این موارد توسط جامعه Pelican ارسال می‌شوند و در نتیجه ممکن است سطوح متفاوتی از پشتیبانی و سازگاری داشته باشند. .SH "ایجاد پوسته (CREATING THEMES)" .sp ابزار Pelican برای تولید خروجی HTML خود، به دلیل انعطاف‌پذیری و نحو سرراست، از موتور قالب‌ساز Jinja \% استفاده می‌کند. اگر می‌خواهید پوسته اختصاصی خود را بسازید، می‌توانید با خیال راحت از پوسته \(dqsimple\(dq در \%\& الهام بگیرید. .sp برای تولید سایت خود با استفاده از پوسته‌ای که ایجاد کرده‌اید (یا آن را به صورت دستی بارگیری کرده و سپس تغییر داده‌اید)، می‌توانید آن پوسته را از طریق گزینه \fB\-t\fP مشخص کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX pelican content \-s pelicanconf.py \-t /projects/your\-site/themes/your\-theme .EE .UNINDENT .UNINDENT .sp اگر ترجیح می‌دهید پوسته را در هر بار فراخوانی مشخص نکنید، می‌توانید \fBTHEME\fP را در تنظیمات خود تعریف کنید تا به مسیر پوسته مورد نظرتان اشاره کند. .SS "ساختار (Structure)" .sp برای ساخت پوسته خود، باید ساختار زیر را رعایت کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX ├── static │ ├── css │ └── images └── templates ├── archives.html // to display archives ├── article.html // processed for each article ├── author.html // processed for each author ├── authors.html // must list all the authors ├── categories.html // must list all the categories ├── category.html // processed for each category ├── index.html // the index (list all the articles) ├── page.html // processed for each page ├── period_archives.html // to display time\-period archives ├── tag.html // processed for each tag └── tags.html // must list all the tags. Can be a tag cloud. .EE .UNINDENT .UNINDENT .INDENT 0.0 .IP \(bu 2 پوشه \fIstatic\fP شامل تمام دارایی‌های ایستا است که در پوشه خروجی \fItheme\fP کپی خواهند شد. ساختار فایل‌سیستم بالا شامل پوشه‌های CSS و تصاویر است، اما این موارد صرفاً مثال هستند. هر آنچه نیاز دارید را اینجا قرار دهید. .IP \(bu 2 پوشه \fItemplates\fP شامل تمام قالب‌هایی است که برای تولید محتوا استفاده خواهند شد. فایل‌های قالب فهرست‌شده در بالا الزامی هستند؛ در صورت تمایل می‌توانید قالب‌های اختصاصی خود را نیز اضافه کنید تا سازمان‌دهی کارها هنگام ساخت پوسته آسان‌تر شود. .UNINDENT.SS "قالب‌ها و متغیرها (Templates and Variables)" .sp ایده اصلی، استفاده از ساختار ساده‌ای است که بتوانید آن را درون صفحات HTML خود بگنجانید. این سند توصیف می‌کند که چه قالب‌هایی باید در یک پوسته وجود داشته باشند، و هنگام تولید چه متغیرهایی به هر قالب ارسال خواهند شد. .sp همه قالب‌ها متغیرهای تعریف‌شده در فایل تنظیمات شما را تا زمانی که نام آن‌ها تماماً با حروف بزرگ (all\-caps) باشد، دریافت خواهند کرد. می‌توانید مستقیماً به آن‌ها دسترسی داشته باشید. .SS "متغیرهای رایج (Common Variables)" .sp تمام این تنظیمات برای همه قالب‌ها در دسترس خواهند بود. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ output_file T} T{ نام فایلی که هم‌اکنون در حال تولید است. برای نمونه، هنگامی که Pelican در حال پردازش صفحه اصلی است، output_file برابر با \(dqindex.html\(dq خواهد بود. T} _ T{ articles T} T{ فهرست مقاله‌ها، مرتب‌شده بر اساس تاریخ به صورت نزولی. تمام عناصر شیء‌های \fIArticle\fP هستند، بنابراین می‌توانید به ویژگی‌های آن‌ها (مانند title، summary، author و غیره) دسترسی داشته باشید. گاهی این متغیر سایه‌اندازی (shadow) می‌شود (برای نمونه، در صفحه برچسب‌ها). در این صورت اطلاعات آن را در متغیر \fIall_articles\fP خواهید یافت. T} _ T{ dates T} T{ همان فهرست مقاله‌ها، اما مرتب‌شده بر اساس تاریخ، به صورت صعودی. T} _ T{ hidden_articles T} T{ فهرست مقاله‌های پنهان T} _ T{ drafts T} T{ فهرست مقاله‌های پیش‌نویس T} _ T{ period_archives T} T{ دیکشنری حاوی عناصر مربوط به بایگانی دوره‌های زمانی (در صورت فعال بودن). برای جزئیات به بخش Listing and Linking to Period Archives مراجعه کنید. T} _ T{ authors T} T{ فهرستی از تاپل‌های (author, articles)، شامل همه نویسندگان و مقاله‌های متناظر (مقادیر) T} _ T{ categories T} T{ فهرستی از تاپل‌های (category, articles)، شامل همه دسته‌بندی‌ها و مقاله‌های متناظر (مقادیر) T} _ T{ tags T} T{ فهرستی از تاپل‌های (tag, articles)، شامل همه برچسب‌ها و مقاله‌های متناظر (مقادیر) T} _ T{ pages T} T{ فهرست صفحات T} _ T{ hidden_pages T} T{ فهرست صفحات پنهان T} _ T{ draft_pages T} T{ فهرست صفحات پیش‌نویس T} .TE.SS مرتب‌سازی .sp پوشش‌دهنده‌های URL (در حال حاضر دسته‌ها، برچسب‌ها، و نویسندگان) دارای متدهای مقایسه‌ای هستند که امکان مرتب‌سازی آسان آن‌ها بر اساس نام را فراهم می‌کنند: .INDENT 0.0 .INDENT 3.5 .sp .EX {% for tag, articles in tags|sort %} .EE .UNINDENT .UNINDENT .sp اگر می‌خواهید بر اساس معیارهای متفاوتی مرتب‌سازی کنید، دستور مرتب‌سازی Jinja در \% گزینه‌های متعددی دارد. .SS قالب‌بندی تاریخ .sp ابزار Pelican تاریخ را مطابق با تنظیمات و محلی‌سازی (locale) شما (\fBDATE_FORMATS\fP/\fBDEFAULT_DATE_FORMAT\fP) قالب‌بندی کرده و مشخصهٔ \fBlocale_date\fP را فراهم می‌سازد. از سوی دیگر، مشخصهٔ \fBdate\fP یک شیء datetime در \% خواهد بود. اگر به قالب‌بندی سفارشی برای تاریخی متفاوت از تنظیمات خود نیاز دارید، از فیلتر Jinja با نام \fBstrftime\fP که همراه با Pelican ارائه می‌شود استفاده کنید. نحوهٔ استفاده مشابه قالب strftime در پایتون \% است، اما این فیلتر به درستی عمل کرده و تاریخ شما را بر اساس locale مشخص‌شده در تنظیمات شما قالب‌بندی می‌کند: .INDENT 0.0 .INDENT 3.5 .sp .EX {{ article.date|strftime(\(aq%d %B %Y\(aq) }} .EE .UNINDENT .UNINDENT .SS بررسی افزونه‌های بارگذاری‌شده .sp ابزار Pelican آزمون (test) جینجا با نام \fBplugin_enabled\fP را برای بررسی فعال بودن یک افزونهٔ خاص ارائه می‌دهد. این آزمون نام افزونه را به عنوان یک رشته دریافت کرده و یک مقدار بولی (Boolean) برمی‌گرداند. افزونه‌های فضای نام (Namespace plugins) را می‌توان با نام کامل (\fBpelican.plugins.plugin_name\fP) یا نام کوتاه (\fBplugin_name\fP) مشخص کرد. مثال زیر از افزونهٔ \fBwebassets\fP برای فشرده‌سازی (minify) کدهای CSS در صورت فعال بودن افزونه استفاده می‌کند و در غیر این صورت به CSS معمولی بازمی‌گردد: .INDENT 0.0 .INDENT 3.5 .sp .EX {% if \(dqwebassets\(dq is plugin_enabled %} {% assets filters=\(dqcssmin\(dq, output=\(dqcss/style.min.css\(dq, \(dqcss/style.scss\(dq %} {% endassets %} {% else %} {% endif %} .EE .UNINDENT .UNINDENT .SS index.html .sp این صفحهٔ اصلی یا شاخص وبلاگ شما است که در \fBindex.html\fP\& تولید می‌شود. .sp اگر صفحه‌بندی فعال باشد، صفحات بعدی در \fBindex{number}.html\fP\& قرار خواهند گرفت. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ articles_paginator T} T{ یک شیء صفحه‌بندی برای فهرست مقالات T} _ T{ articles_page T} T{ صفحهٔ جاری مقالات T} _ T{ articles_previous_page T} T{ صفحهٔ قبلی مقالات (\fBNone\fP در صورتی که صفحه وجود نداشته باشد) T} _ T{ articles_next_page T} T{ صفحهٔ بعدی مقالات (\fBNone\fP در صورتی که صفحه وجود نداشته باشد) T} _ T{ dates_paginator T} T{ یک شیء صفحه‌بندی برای فهرست مقالات، مرتب‌شده بر اساس تاریخ به صورت صعودی. T} _ T{ dates_page T} T{ صفحهٔ جاری مقالات، مرتب‌شده بر اساس تاریخ به صورت صعودی. T} _ T{ dates_previous_page T} T{ صفحهٔ قبلی مقالات، مرتب‌شده بر اساس تاریخ به صورت صعودی (\fBNone\fP در صورتی که صفحه وجود نداشته باشد) T} _ T{ dates_next_page T} T{ صفحهٔ بعدی مقالات، مرتب‌شده بر اساس تاریخ به صورت صعودی (\fBNone\fP در صورتی که صفحه وجود نداشته باشد) T} _ T{ page_name T} T{ \(aqindex\(aq \-\- کاربردی برای پیوندهای صفحه‌بندی T} .TE.SS author.html .sp این قالب برای هر یک از نویسندگان موجود پردازش خواهد شد و خروجی آن بر اساس تنظیمات \fBAUTHOR_SAVE_AS\fP تولید می‌شود (\fIپیش‌فرض:\fP \fBauthor/{slug}.html\fP). در صورت فعال بودن صفحه‌بندی، صفحات بعدی به‌طور پیش‌فرض در \fBauthor/{slug}{number}.html\fP\& قرار می‌گیرند. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ author T} T{ نام نویسنده‌ای که در حال پردازش است T} _ T{ articles T} T{ مقاله‌های این نویسنده T} _ T{ dates T} T{ مقاله‌های این نویسنده، اما مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ articles_paginator T} T{ یک شیء صفحه‌بندی (paginator) برای فهرست مقاله‌ها T} _ T{ articles_page T} T{ صفحه کنونی مقاله‌ها T} _ T{ articles_previous_page T} T{ صفحه قبلی مقاله‌ها (در صورت عدم وجود صفحه، \fBNone\fP) T} _ T{ articles_next_page T} T{ صفحه بعدی مقاله‌ها (در صورت عدم وجود صفحه، \fBNone\fP) T} _ T{ dates_paginator T} T{ یک شیء صفحه‌بندی برای فهرست مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی. T} _ T{ dates_page T} T{ صفحه کنونی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی. T} _ T{ dates_previous_page T} T{ صفحه قبلی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی (در صورت عدم وجود صفحه، \fBNone\fP) T} _ T{ dates_next_page T} T{ صفحه بعدی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی (در صورت عدم وجود صفحه، \fBNone\fP) T} _ T{ page_name T} T{ مقدار AUTHOR_URL که در آن همه‌چیز پس از \fI{slug}\fP حذف شده است \-\- مفید برای پیوندهای صفحه‌بندی T} .TE.SS category.html .sp این قالب برای هر یک از دسته‌های موجود پردازش خواهد شد و خروجی بر اساس تنظیم \fBCATEGORY_SAVE_AS\fP تولید می‌شود (\fIپیش‌فرض:\fP \fBcategory/{slug}.html\fP). در صورت فعال بودن صفحه‌بندی، صفحات بعدی به‌طور پیش‌فرض در \fBcategory/{slug}{number}.html\fP قرار خواهند گرفت\&. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ category T} T{ نام دسته‌ای که در حال پردازش است T} _ T{ articles T} T{ مقاله‌های این دسته T} _ T{ dates T} T{ مقاله‌های این دسته، اما مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ articles_paginator T} T{ یک شیء صفحه‌بندی (paginator) برای فهرست مقاله‌ها T} _ T{ articles_page T} T{ صفحه کنونی مقاله‌ها T} _ T{ articles_previous_page T} T{ صفحه قبلی مقاله‌ها (اگر صفحه وجود نداشته باشد، \fBNone\fP) T} _ T{ articles_next_page T} T{ صفحه بعدی مقاله‌ها (اگر صفحه وجود نداشته باشد، \fBNone\fP) T} _ T{ dates_paginator T} T{ یک شیء صفحه‌بندی (paginator) برای فهرست مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ dates_page T} T{ صفحه کنونی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ dates_previous_page T} T{ صفحه قبلی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی (اگر صفحه وجود نداشته باشد، \fBNone\fP) T} _ T{ dates_next_page T} T{ صفحه بعدی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی (اگر صفحه وجود نداشته باشد، \fBNone\fP) T} _ T{ page_name T} T{ مقدار CATEGORY_URL که در آن همه‌چیز پس از \fI{slug}\fP حذف شده است \-\- مفید برای پیوندهای صفحه‌بندی T} .TE.SS article.html .sp این قالب برای هر مقاله پردازش خواهد شد و خروجی بر اساس تنظیم \fBARTICLE_SAVE_AS\fP (\fIپیش‌فرض:\fP \fB{slug}.html\fP) تولید می‌شود. متغیرهای زیر هنگام رندر کردن در دسترس هستند. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ article T} T{ شیء مقاله‌ای که باید نمایش داده شود T} _ T{ category T} T{ نام دسته‌بندی برای مقالهٔ جاری T} .TE .sp هر فراداده‌ای که در سرآیند فایل منبع مقاله قرار دهید، به عنوان فیلدهایی روی شیء \fBarticle\fP در دسترس خواهد بود. نام فیلد همان نام فیلد فراداده خواهد بود، با این تفاوت که تمام نویسه‌ها به حروف کوچک تبدیل می‌شوند. .sp برای نمونه، می‌توانید فیلدی به نام \fIFacebookImage\fP به فراداده‌های مقالهٔ خود اضافه کنید، همان‌طور که در زیر نشان داده شده است: .INDENT 0.0 .INDENT 3.5 .sp .EX Title: I love Python more than music Date: 2013\-11\-06 10:06 Tags: personal, python Category: Tech Slug: python\-je\-l\-aime\-a\-mourir Author: Francis Cabrel FacebookImage: http://franciscabrel.com/images/pythonlove.png .EE .UNINDENT .UNINDENT .sp این فرادادهٔ جدید به عنوان \fIarticle.facebookimage\fP در قالب \fIarticle.html\fP شما در دسترس خواهد بود. این کار به شما امکان می‌دهد، به عنوان مثال، تصویری را برای برچسب‌های Open Graph فیس‌بوک تعیین کنید که برای هر مقاله تغییر می‌کند: .INDENT 0.0 .INDENT 3.5 .sp .EX .EE .UNINDENT .UNINDENT .SS page.html .sp این قالب برای هر برگه پردازش خواهد شد و خروجی مطابق با تنظیم \fBPAGE_SAVE_AS\fP (\fIپیش‌فرض:\fP \fBpages/{slug}.html\fP) تولید می‌شود. متغیرهای زیر هنگام رندر کردن در دسترس هستند. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ page T} T{ شیء برگه‌ای که باید نمایش داده شود. می‌توانید به title، slug و content آن دسترسی داشته باشید. T} .TE.SS tag.html .sp این قالب برای هر برچسب پردازش می‌شود و خروجی بر اساس تنظیم \fBTAG_SAVE_AS\fP (\fIپیش‌فرض:\fP \fBtag/{slug}.html\fP) تولید می‌گردد. در صورت فعال بودن صفحه‌بندی، صفحات بعدی به‌طور پیش‌فرض در \fBtag/{slug}{number}.html\fP قرار خواهند گرفت\&. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ tag T} T{ نام برچسبِ در حال پردازش T} _ T{ articles T} T{ مقاله‌های مرتبط با این برچسب T} _ T{ dates T} T{ مقاله‌های مرتبط با این برچسب، اما مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ articles_paginator T} T{ یک شیء صفحه‌بندی‌کننده برای فهرست مقاله‌ها T} _ T{ articles_page T} T{ صفحه جاری مقاله‌ها T} _ T{ articles_previous_page T} T{ صفحه پیشین مقاله‌ها (در صورت عدم وجود صفحه، مقدار \fBNone\fP) T} _ T{ articles_next_page T} T{ صفحه بعدی مقاله‌ها (در صورت عدم وجود صفحه، مقدار \fBNone\fP) T} _ T{ dates_paginator T} T{ یک شیء صفحه‌بندی‌کننده برای فهرست مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ dates_page T} T{ صفحه جاری مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی T} _ T{ dates_previous_page T} T{ صفحه پیشین مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی (در صورت عدم وجود صفحه، مقدار \fBNone\fP) T} _ T{ dates_next_page T} T{ صفحه بعدی مقاله‌ها، مرتب‌شده بر اساس تاریخ، صعودی (در صورت عدم وجود صفحه، مقدار \fBNone\fP) T} _ T{ page_name T} T{ مقدار TAG_URL که در آن همه‌چیز پس از \fI{slug}\fP حذف شده است \-\- کاربردی برای پیوندهای صفحه‌بندی T} .TE.SS period_archives.html .sp این قالب در صورتی که مسیری برای \fBYEAR_ARCHIVE_SAVE_AS\fP تعریف شده باشد برای هر سال از پست‌های شما، اگر \fBMONTH_ARCHIVE_SAVE_AS\fP تعریف شده باشد برای هر ماه، و اگر \fBDAY_ARCHIVE_SAVE_AS\fP تعریف شده باشد برای هر روز پردازش خواهد شد. .TS box center; l|l. T{ متغیر T} T{ توضیحات T} _ T{ period T} T{ یک چندتایی (tuple) به صورت (\fIyear\fP, \fImonth\fP, \fIday\fP) که دوره زمانی جاری را مشخص می‌کند. \fIyear\fP و \fIday\fP عدد هستند در حالی که \fImonth\fP یک رشته است. این چندتایی اگر دوره زمانی یک سال مشخص باشد تنها شامل \fIyear\fP است. اگر دوره زمانی شامل سال و ماه باشد، هر دو \fIyear\fP و \fImonth\fP را در بر می‌گیرد و به همین ترتیب. T} _ T{ period_num T} T{ یک چندتایی به صورت (\fByear\fP, \fBmonth\fP, \fBday\fP)، همانند \fBperiod\fP، با این تفاوت که تمام مقادیر عددی هستند. T} .TE .sp می‌توانید نمونه‌ای از نحوه استفاده از \fIperiod\fP را در قالب period_archives.html پوسته \(dqsimple\(dq مشاهده کنید: \%\&. .SS فهرست‌بندی و پیوند دادن به آرشیوهای دوره‌ای (Listing and Linking to Period Archives) .sp متغیر \fBperiod_archives\fP می‌تواند برای تولید فهرستی از پیوندها به مجموعه آرشیوهای دوره‌ای که Pelican می‌سازد استفاده شود. این متغیر به عنوان یک متغیر عمومی در تمام قالب‌ها در دسترس است، بنابراین می‌توانید چنین فهرستی را در یک قالب مستقیم (direct template) سفارشی یا در یک نوار کناری که در صفحات مختلف سایت نمایش داده می‌شود، پیاده‌سازی کنید. .sp متغیر \fBperiod_archives\fP یک دیکشنری (dict) است که بسته به فعال بودن تنظیمات \fB*_ARCHIVE_SAVE_AS\fP، می‌تواند شامل کلیدهای \fByear\fP، \fBmonth\fP و/یا \fBday\fP باشد. مقدار متناظر، فهرستی از دیکشنری‌ها است که هر کدام به نوبه خود یک دوره زمانی را (مرتب‌شده بر اساس تنظیم \fBNEWEST_FIRST_ARCHIVES\fP) با کلیدها و مقادیر زیر مشخص می‌کنند: .TS box center; l|l. T{ کلید T} T{ مقدار T} _ T{ period T} T{ همان چندتایی شرح داده شده در \fBperiod_archives.html\fP، مانند \fB(2023, \(aqJune\(aq, 18)\fP\&. T} _ T{ period_num T} T{ همان چندتایی شرح داده شده در \fBperiod_archives.html\fP، مانند \fB(2023, 6, 18)\fP\&. T} _ T{ url T} T{ نشانی URL به صفحه آرشیو دوره‌ای، مانند \fBposts/2023/06/18/\fP\&. این مقدار توسط تنظیمات متناظر \fB*_ARCHIVE_URL\fP کنترل می‌شود. T} _ T{ save_as T} T{ مسیر محل ذخیره فایل صفحه آرشیو دوره‌ای، مانند \fBposts/2023/06/18/index.html\fP\&. این مقدار به صورت داخلی توسط Pelican استفاده می‌شود و معمولاً به پوسته‌ها مربوط نیست. T} _ T{ articles T} T{ فهرستی از شیءهای Article که در این دوره زمانی قرار دارند. T} _ T{ dates T} T{ همان فهرست \fBarticles\fP، اما مرتب‌شده بر اساس تنظیم \fBNEWEST_FIRST_ARCHIVES\fP. T} .TE .sp در اینجا نمونه‌ای از نحوه استفاده از \fBperiod_archives\fP در یک قالب آورده شده است: .INDENT 0.0 .INDENT 3.5 .sp .EX .EE .UNINDENT .UNINDENT .sp می‌توانید بسته به سطح جزئیات دوره زمانی مورد نظر، \fBperiod_archives.month\fP را در دستور \fBfor\fP به \fBperiod_archives.year\fP یا \fBperiod_archives.day\fP تغییر دهید..SS اشیاء (Objects) .sp ویژگی‌های اشیائی که در قالب‌ها در دسترس و مفید هستند را با جزئیات شرح می‌دهد. همهٔ ویژگی‌ها در اینجا فهرست نشده‌اند؛ این گزیده‌ای از ویژگی‌هایی است که در یک قالب مفید در نظر گرفته شده‌اند. .SS مقاله (Article) .sp نمایش رشته‌ای یک Article، ویژگی \fIsource_path\fP است. .TS box center; l|l. T{ ویژگی T} T{ توضیحات T} _ T{ author T} T{ نویسندهٔ این مقاله. T} _ T{ authors T} T{ فهرستی از نویسندگان این مقاله. T} _ T{ category T} T{ دسته‌بندی این مقاله. T} _ T{ content T} T{ محتوای رندرشدهٔ مقاله. T} _ T{ date T} T{ شیء Datetime که نشان‌دهندهٔ تاریخ مقاله است. T} _ T{ date_format T} T{ قالب پیش‌فرض تاریخ یا قالب محلی تاریخ (locale). T} _ T{ default_template T} T{ نام قالب پیش‌فرض. T} _ T{ in_default_lang T} T{ یک بولیَن که مشخص می‌کند آیا مقاله به زبان پیش‌فرض نوشته شده است یا خیر. T} _ T{ lang T} T{ زبان مقاله. T} _ T{ locale_date T} T{ تاریخ قالب‌بندی‌شده توسط \fIdate_format\fP\&. T} _ T{ metadata T} T{ دیکشنری (\fIdict\fP) فراداده‌های سرآیند مقاله. T} _ T{ save_as T} T{ مکان ذخیرهٔ صفحهٔ مقاله. T} _ T{ slug T} T{ اسلاگ (slug) صفحه. T} _ T{ source_path T} T{ مسیر کامل سیستمی فایل منبع مقاله. T} _ T{ relative_source_path T} T{ مسیر نسبی از PATH \% به فایل منبع مقاله. T} _ T{ status T} T{ وضعیت مقاله؛ می‌تواند یکی از مقادیر \(aqpublished\(aq یا \(aqdraft\(aq باشد. T} _ T{ summary T} T{ محتوای رندرشدهٔ خلاصه. T} _ T{ tags T} T{ فهرستی از اشیاء Tag. T} _ T{ template T} T{ نام قالب مورد استفاده برای رندر کردن. T} _ T{ title T} T{ عنوان مقاله. T} _ T{ translations T} T{ فهرستی از اشیاء ترجمهٔ Article. T} _ T{ url T} T{ نشانی وب (URL) صفحهٔ مقاله. T} .TE.SS نویسنده / دسته‌بندی / برچسب (Author / Category / Tag) .sp نمایش رشته‌ای این اشیاء، صفت \fIname\fP است. .TS box center; l|l. T{ صفت T} T{ توضیحات T} _ T{ name T} T{ نام این شیء [1]\&. T} _ T{ page_name T} T{ نام صفحه نویسنده. T} _ T{ save_as T} T{ محل ذخیره صفحه نویسنده. T} _ T{ slug T} T{ اسلاگ (نامک) صفحه. T} _ T{ url T} T{ نشانی URL صفحه نویسنده. T} .TE .IP [1] 5 برای شیء Author، برگرفته از \fI:authors:\fP یا \fIAUTHOR\fP\&. .SS صفحه (Page) .sp نمایش رشته‌ای یک Page، صفت \fIsource_path\fP است. .TS box center; l|l. T{ صفت T} T{ توضیحات T} _ T{ author T} T{ نویسنده (Author) این صفحه. T} _ T{ content T} T{ محتوای رندرشده صفحه. T} _ T{ date T} T{ شیء Datetime نشان‌دهنده تاریخ صفحه. T} _ T{ date_format T} T{ قالب تاریخ پیش‌فرض یا قالب تاریخ محلی (locale). T} _ T{ default_template T} T{ نام قالب پیش‌فرض. T} _ T{ in_default_lang T} T{ مقدار بولی که مشخص می‌کند آیا مقاله به زبان پیش‌فرض نوشته شده است یا خیر. T} _ T{ lang T} T{ زبان مقاله. T} _ T{ locale_date T} T{ تاریخ قالب‌بندی‌شده توسط \fIdate_format\fP\&. T} _ T{ metadata T} T{ دیکشنری (\fIdict\fP) فراداده‌های سرایند صفحه. T} _ T{ save_as T} T{ محل ذخیره صفحه. T} _ T{ slug T} T{ اسلاگ (نامک) صفحه. T} _ T{ source_path T} T{ مسیر کامل سیستمی فایل منبع صفحه. T} _ T{ relative_source_path T} T{ مسیر نسبی از PATH \% به فایل منبع صفحه. T} _ T{ status T} T{ وضعیت صفحه؛ می‌تواند یکی از مقادیر \(aqpublished\(aq، \(aqhidden\(aq یا \(aqdraft\(aq باشد. T} _ T{ summary T} T{ محتوای خلاصه رندرشده. T} _ T{ tags T} T{ فهرستی از اشیاء Tag. T} _ T{ template T} T{ نام قالب مورد استفاده برای رندر کردن. T} _ T{ title T} T{ عنوان صفحه. T} _ T{ translations T} T{ فهرستی از اشیاء ترجمه Article. T} _ T{ url T} T{ نشانی URL صفحه. T} .TE.SS "خوراک‌ها (Feeds)" .sp متغیرهای خوراک در نگارش 3.0 تغییر کرده‌اند. اکنون در نام هر متغیر به‌صراحت به ATOM یا RSS اشاره شده است. ATOM همچنان پیش‌فرض است. پوسته‌های قدیمی باید به‌روزرسانی شوند. این فهرست کاملی از متغیرهای خوراک است: .INDENT 0.0 .INDENT 3.5 .sp .EX AUTHOR_FEED_ATOM AUTHOR_FEED_RSS CATEGORY_FEED_ATOM CATEGORY_FEED_RSS FEED_ALL_ATOM FEED_ALL_RSS FEED_ATOM FEED_RSS TAG_FEED_ATOM TAG_FEED_RSS TRANSLATION_FEED_ATOM TRANSLATION_FEED_RSS .EE .UNINDENT .UNINDENT .SS "وراثت (Inheritance)" .sp از نگارش 3.0، Pelican از وراثت از پوستهٔ \fBsimple\fP پشتیبانی می‌کند، بنابراین می‌توانید از قالب‌های پوستهٔ \fBsimple\fP در پوسته‌های خود مجدداً استفاده کنید. .sp اگر یکی از فایل‌های ضروری در دایرکتوری \fBtemplates/\fP پوستهٔ شما وجود نداشته باشد، با قالب متناظر از پوستهٔ \fBsimple\fP جایگزین خواهد شد. بنابراین اگر ساختار HTML یک قالب در پوستهٔ \fBsimple\fP برای شما مناسب است، نیازی نیست که قالبی تازه را از ابتدا بنویسید. .sp شما همچنین می‌توانید با استفاده از دستور \fB{% extends %}\fP همانند مثال زیر، قالب‌های پوستهٔ \fBsimple\fP را در پوسته‌های خود گسترش (ارث‌بری) دهید: .INDENT 0.0 .INDENT 3.5 .sp .EX {% extends \(dq!simple/index.html\(dq %} {% extends \(dqindex.html\(dq %} .EE .UNINDENT .UNINDENT .SS "مثال (Example)" .sp با این سازوکار، ساخت یک پوسته تنها با دو فایل امکان‌پذیر است. .SS base.html .sp فایل نخست، قالب \fBtemplates/base.html\fP است: .INDENT 0.0 .INDENT 3.5 .sp .EX {% extends \(dq!simple/base.html\(dq %} {% block head %} {{ super() }} {% endblock %} .EE .UNINDENT .UNINDENT .INDENT 0.0 .IP 1. 3 در سطر اول، از قالب \fBbase.html\fP در پوستهٔ \fBsimple\fP ارث‌بری می‌کنیم تا نیازی به بازنویسی کل فایل نداشته باشیم. .IP 2. 3 در سطر سوم، بلوک \fBhead\fP را که از پیش در پوستهٔ \fBsimple\fP تعریف شده است، باز می‌کنیم. .IP 3. 3 در سطر چهارم، تابع \fBsuper()\fP محتوایی را که قبلاً در بلوک \fBhead\fP درج شده بود حفظ می‌کند. .IP 4. 3 در سطر پنجم، یک شیوه‌نامه را به صفحه اضافه می‌کنیم. .IP 5. 3 در سطر آخر، بلوک \fBhead\fP را می‌بندیم. .UNINDENT .sp این فایل توسط تمام قالب‌های دیگر ارث‌بری خواهد شد، بنابراین پیوند شیوه‌نامه در تمام صفحات قرار خواهد گرفت..SS style.css .sp فایل دوم، شیوه‌نامهٔ CSS مسیر \fBstatic/css/style.css\fP است: .INDENT 0.0 .INDENT 3.5 .sp .EX body { font\-family : monospace ; font\-size : 100% ; background\-color : white ; color : #111 ; width : 80% ; min\-width : 400px ; min\-height : 200px ; padding : 1em ; margin : 5% 10% ; border : thin solid gray ; border\-radius : 5px ; display : block ; } a:link { color : blue ; text\-decoration : none ; } a:hover { color : blue ; text\-decoration : underline ; } a:visited { color : blue ; } h1 a { color : inherit !important } h2 a { color : inherit !important } h3 a { color : inherit !important } h4 a { color : inherit !important } h5 a { color : inherit !important } h6 a { color : inherit !important } pre { margin : 2em 1em 2em 4em ; } #menu li { display : inline ; } #post\-list { margin\-bottom : 1em ; margin\-top : 1em ; } .EE .UNINDENT .UNINDENT .SS بارگیری (Download) .sp می‌توانید این پوستهٔ نمونه را از \fBاینجا\fP بارگیری کنید\&. .SH "نویسندگان (AUTHORS)" مشارکت‌کنندگان Pelican .SH "کپی‌رایت و تکثیر (COPYRIGHT)" 2010–2025 .\" End of generated man page.