| ros-template(1) | ros-template(1) |
نام (NAME)
ros-template - ویرایش و مدیریت قالبها برای ros-init
خلاصه دستور (SYNOPSIS)
- •
- ros template command args...
زیردستورها (SUBCOMMANDS)
- init template-name
- ایجاد یک قالب جدید در دایرکتوری local-project.
- deinit template-name
- حذف یک قالب از دایرکتوری local-project.
- list
- نمایش فهرست فایلها و وضعیتهای type، chmod و rewrite فایلها در قالبها.
- checkout [template-name]
- هنگامی که بدون template-name اجرا شود، گزینههای قالبهای جاری را برای کار نشان میدهد. در صورت تعیین template-name، آن نام را به عنوان قالب جاری انتخاب میکند.
- add [template-name] [files ...]
- افزودن فایلها به قالب جاری. هنگامی که قالب جاری default باشد، پارامتر اول میتواند به عنوان template-name در نظر گرفته شود.
- cat [template-name] [files ...]
- نمایش محتوای فایلها در قالب جاری.
- edit [template-name] [files ...]
- ویرایش محتوای فایلها در قالب با استفاده از /usr/bin/editor.
- path [template-name] [files ...]
- نمایش مسیر بومی فایلها در قالب.
- rm [template-name] [files ...]
- حذف فایل از قالب جاری.
- type [template-name] [type] [files ...]
- تغییر نوع فایل. انتخابهای کنونی برای type شامل djula یا copy هستند. متغیرهای {{name}}، {{author}}، {{email}} و {{universal_time}} در فایل قالب در دسترس هستند. بدون مشخص کردن فایلها، نوع پیشفرض تغییر مییابد.
- chmod [template-name] [mode] [files ...]
- تغییر بیتهای حالت (mode) فایل برای تولید. حالت را در قالب هشتهشتی (octal) مشخص کنید.
- rewrite [template-name] file rewrite-rule
- تغییر نام فایل با استفاده از قالب Djula. متغیرهای {{name}}، {{author}}، {{email}} و {{universal_time}} برای rewrite-rule در دسترس هستند.
- export [template-name] [directory]
- برونبری فایلهای موجود در قالب جاری به دایرکتوری جاری.
- import [directory]
- درونریزی قالب در دایرکتوری جاری.
- help
- نمایش راهنمای زیردستور.
توضیحات (DESCRIPTION)
دستور ros-template(1) قالبهای پروژهها را مدیریت میکند.
ایجاد قالب (Create template)
ابتدا، زیردستور init یک قالب خالی ایجاد میکند.
-
$ ros template init sample-template
بسیاری از زیردستورها یک نام قالب را به عنوان آرگومان نخست دریافت میکنند. اما میتوانید با استفاده از زیردستور checkout از ذکر آن صرفنظر کنید. پس از دستور زیر، این زیردستورها روی sample-template اعمال میشوند.
-
$ ros template checkout sample-template
سپس، زیردستور add فایل(های) محلی را به قالب میافزاید. سپس زیردستور list اطلاعات فایلهای موجود در قالب را نشان میدهد.
-
$ echo "Hello {{ author }}!!" > sample.txt $ ros template add sample.txt $ ros template list copy sample.txt
واژه copy بیانگر یک راهبرد در زمان اعمال قالب است. ۲ راهبرد زیر وجود دارند:
- •
- راهبرد copy فایل را دقیقاً همانگونه که هست کپی میکند.
- •
- راهبرد djula محتوای فایل را با موتور قالب Djula پردازش میکند (http://mmontone.github.io/djula).
- •
- متغیرهای قابل استفاده در ادامه توضیح داده شدهاند.
زیردستور type آن را تغییر میدهد. علاوه بر این، راهبرد پیشفرض (copy) را میتوان برای هر قالب با زیردستور type بدون نام فایل تغییر داد (مثال: ros template type djula).
-
$ ros template type djula sample.txt $ ros template list djula sample.txt
فایل sample.txt به صورت پیشفرض صرفاً به عنوان sample.txt خروجی داده خواهد شد. اما میتوانید آن را با زیردستور rewrite تغییر دهید. در مثال زیر، خروجی به صورت sample_<project name>.txt خواهد بود.
-
$ ros template rewrite sample.txt "sample-{{ name }}.txt" $ ros template list djula sample.txt -> "sample-{{ name }}.txt"
نکته: قواعد بازنویسی صرفنظر از راهبرد فایل، همیشه توسط Djula پردازش میشوند.
اعمال قالب (Apply template)
در دستور ros-init(1) میتوان یک قالب را تعیین کرد.
-
$ mkdir temp ; cd temp $ ros init sample-template some-project $ ls sample-some-project.txt $ cat sample-some-project.txt # Assume that "author" is "alien" Hello alien!!
نام فایل و محتوای آن همانگونه که در بالا توضیح داده شد توسط Djula پردازش میشوند. متغیرهای زیر به صورت پیشفرض قابل استفاده هستند:
- •
- {{name}}: نام پروژه مشخصشده در ros-init(1)
- •
- {{author}}: نام نویسنده استخراجشده از پیکربندی Git یا خروجی دستور whoami
- •
- {{email}}: نشانی ایمیل استخراجشده از پیکربندی Git یا ایجادشده با whoami و hostname
- •
- {{universal_time}}: زمان جهانی ایجادشده توسط تابع get-universal-time
علاوه بر این، میتوانید متغیرهای اختصاصی خود را مانند زیر به کار ببرید:
-
$ echo "Hello {{ area }}!!" > sample.txt $ ros template add sample.txt # Note: It overwrites existing $ mkdir temp ; cd temp $ ros init sample-template roswell --area 51 $ cat sample-roswell.txt Hello 51!!
برونبری و درونریزی قالب (Export and import template)
در اصل، دستور ros-template(1) برای مدیریت داخلی فایلهای افزودهشده طراحی شده است.
با این حال، اگر مایلید به عنوان مثال آن را با Git در یک دایرکتوری محلی مدیریت کنید یا قالبهای توزیعشده را نصب نمایید، میتوانید از زیردستورهای export و import استفاده کنید.
ابتدا، زیردستور export فایلهای افزوده و یک فایل تنظیمات roswell.init.<template name>.asd را که به طور داخلی ایجاد و ویرایش شده است، برونبری میکند.
-
$ ros template export dir $ ls dir roswell.init.sample-template.asd sample.txt $ cat dir/sample.txt Hello {{ area }}!!
سپس، زیردستور import آنها را درونریزی میکند.
-
# Assume that this is another machine... $ ros template list sample-template # nothing is output $ ls downloaded roswell.init.sample-template.asd sample.txt $ ros template import downloaded $ ros template list sample-template djula sample.txt -> "sample-{{ name }}.txt"
نکته: در صورت وجود قالبی با همان نام، بازنویسی خواهد شد.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
تیم پروژه Roswell.