<chapter id="katefiletemplates">
  <chapterinfo>

    <title
>Шаблоны файлов</title>

    <authorgroup>
      <author
><firstname
>Anders</firstname
> <surname
>Lund</surname
> <affiliation
> <address
><email
>anders@alweb.dk</email
></address>
        </affiliation>
      </author>
</authorgroup
> <date
>Пн 16 Фев 2004</date
> <releaseinfo
>0.1</releaseinfo
> <abstract
> <para
></para>
    </abstract>

    <keywordset>
      <keyword
>KDE</keyword>
      <keyword
>kate</keyword>
      <keyword
>kdeaddons</keyword>
      <keyword
>шаблон</keyword>
      <keyword
>макрос</keyword>
    </keywordset>
  </chapterinfo>

  <title
>Введение</title>

  <para
>Модуль шаблонов файлов позволяет вам создавать файлы основанные на других. Вы можете использовать любой файл как шаблон, который создаст копию файла с пустой строкой URL или использовать специальный шаблон, который может содержать макросы заполнения информации, такие как ваше имя или адрес электронной почты, текущая дата и т.д., поместить курсор в подходящую позицию в новом файле.</para>
  <para
>В дальнейшем, шаблоны расположенные в каталоге шаблонов, будут представлены в пункте меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Из шаблона..</guimenuitem
></menuchoice
></para
> <para
>Модуль также предоставляет метод лёгкого создания нового шаблона из открытого документа.</para>
  <para
>Каталоги шаблонов - часть файловой системы &kde; и состоятиз KDEDIR/share/applications/kate/plugins/katefiletemplates/templates и KDEHOME/share/applications/kate/plugins/katefiletemplates/templates. Если переменная окружения KDEDIRS содержит дополнительные каталоги, в них также будет проведен поиск схожих подкаталогов. если найдены одноимённые шаблоны, то будет использован шаблон в локальном каталоге (KDEHOME).</para>
  <sect1 id="katefiletemplates-menu">
    <title
>Структура меню</title>

    <variablelist>
      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Файл</guimenu
> <guimenu
>Создать из шаблона</guimenu
> <guimenuitem
>Выбрать файл...</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Представляет вам диалог Открыть файл, который позволяет использовать любой файл как шаблон. Если выбранный файл имеет расширение <filename
>katetemplate</filename
> в нём будут произведены поиск и подстановка макросов.</para
></listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Файл</guimenu
> <guimenu
>Создать из шаблона</guimenu
> <guimenuitem
>Недавние</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Представляет список недавно открытых файлов, использованых в качестве шаблона, представленый в виде их URL.</para
></listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Создать из шаблона</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Оставшиеся подменю содержат ссылки на шаблоны. Выберите пункт меню, чтобы создать файл.</para
></listitem>
      </varlistentry>

      <!-- Settings menu -->

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Настройки</guimenu
><guimenuitem
>Настроить шаблоны</guimenuitem
></menuchoice
></term>
        <listitem
><para
>Откроет диалог со списком всех шаблонов, найденных в директории шаблонов, вместе с настройками добавить, изменить или удалить.</para
></listitem>
      </varlistentry>
    </variablelist>
  </sect1>

  <sect1 id="katefiletemplates-use">
    <title
>Использование шаблон &kate;</title>
    <para
>Во время создания файла по шаблону, который содержит макросы, некоторые из них показаны как редактируемые переменные в тексте. Такие переменные выглядят как подчёркнутые слова в тексте.</para>
    <para
>Сразу будет выделена первая такая переменная, так что для введения её значения нужно будет просто набрать его. Если в тексте встречаюется несколько переменных с таким же именем, их значение также будет изменено. Для перехода к следующей переменной, нажмите TAB. После изменения последней переменной, клавиша TAB будет работать в обычном режиме.</para>
  </sect1>

  <sect1 id="katefiletemplates-create">
    <title
>Создание ваших собственных шаблонов</title>
    <para
>Чтобы создать новый шаблон, воспользуйтесь пунктом <menuchoice
><guimenu
>Настройки</guimenu
> <guimenuitem
>Управление шаблонами...</guimenuitem
></menuchoice
>. В нём нажмите <guibutton
>Создать...</guibutton
> для запуска мастера шаблонов. Будет задан вопрос о дополнительном файле, для обращения его в шаблон и о параметрах шаблона, после чего он будет создан.</para
> <para
>Шаблон можно создать и вручную - просто добавьте заголовок шаблона в начало нового файла, и макросы, затем сохраните его с расширением <filename
>katetemplate</filename
>.</para>
    <para
>Меню шаблонов автоматически обновляется, если вы будете сохранять ваши шаблоны в каталоге шаблонов.</para>
  </sect1>

  <sect1 id="katefiletemplates-edit">
    <title
>Редактирование шаблонов</title>
    <para
>Чтобы редактировать шаблоны, используйте пункт <menuchoice
><guimenu
></guimenu
> <guimenuitem
>Управление шаблонами...</guimenuitem
></menuchoice
>. Выберите шаблон, с которым хотите работать и намжите <guibutton
>Изменить...</guibutton
>. Отредактируйте открывшийся файл и сохраните его. Изменения в шаблоне  будут приняты и вы сможете активировать шаблон, для проверки ваших изменений сразу после сохранения.</para>
  </sect1>

  <sect1 id="katefiletemplates-format">
    <title
>Формат шаблонов Kate</title>
    <para
>Если вы используете файлы с расширением <filename
>katetemplate</filename
>, в них будет произведен поиск заголовка шаблона, макросов и положения курсора.</para>

    <sect2 id="katefiletemplates-template-info">
      <title
>Заголовок шаблона</title>
      <para
>Во время чтения файла, анализатор сохраняет строки, начинающиеся со слова <constant
>katetemplate:</constant
> и ищет в них информацию шаблона в форме ИМЯ_ПЕРЕМЕННОЙ=ЗНАЧЕНИЕ. Первая строка, не начинающаяяся с <constant
>katetemplate:</constant
> сообщает о начале содержимого шаблона. ЗНАЧЕНИЕ может содержать любые знаки кроме знака равенства (=). Правильные имена переменных: <variablelist>
          <varlistentry>
            <term
><varname
>Template</varname
></term>
            <listitem
><para
>Имя шаблона, показываемое в меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Из шаблона</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Group</varname
></term>
            <listitem
><para
>Помещает шаблон в подменю <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Из шаблона</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
><varname
>Name</varname
></term>
            <listitem
><para
>Это имя, которое будет присвоено для документа и отображено в списке файла и заголовке окна. Если имя содержит <userinput
>%N</userinput
> оно будет заменено цифрой-инкрементом, увеличивающимся, если файл с таким именем уже существует.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Highlight</varname
></term>
            <listitem
><para
>Модуль попытается установить режим подсветки синтаксиса для нового документа в значение этой переменной. Значение должно быть как в меню <menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Режим подсветки</guimenuitem
> </menuchoice
>.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Description</varname
></term>
            <listitem
><para
>Короткое информативное описание шаблона. Это используется для установки строки "Что это" пункта меню, но может быть использовано и для других целей в будущем.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>Author</term>
            <listitem
><para
>Строка, обозначающая автора, например в виде <userinput
>Имя &lt;эл почта&gt;</userinput
> Это используется для установки строки "Что это" пункта меню, но может быть использовано и для других целей в будущем.</para
></listitem>
          </varlistentry>
        </variablelist>
      </para>

    </sect2>

    <sect2 id="katetemplates-macros">
      <title
>Макросы шаблона</title>

      <para
>Во время анализа содержимого шаблона, макросы в виде <userinput
>%{NAME}</userinput
> или <userinput
>${NAME}</userinput
> подставляются реальными значениями. Если вы используете префикс <userinput
>$</userinput
>, макрос, станет редактируемой переменной, когда документ будет создан по шаблону, в отличии от <userinput
>%</userinput
>, в случае которого это произойдёт только если не удастся найти значение шаблона.</para>
      <para
>Допустимы следущие макросы: <variablelist>
          <varlistentry
><term
>time</term>
            <listitem
><para
>Текущее время в формате вашей локали.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>date</term>
            <listitem
><para
>Текущая дата в сокращённом формате.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>datetime</term>
            <listitem
><para
>Текущие дата и время, в виде строки, в соответствии с вашей локалью.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>year</term>
            <listitem
><para
>Текущий год в формате четырёх цифр.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>month</term>
            <listitem
><para
>Полное имя текущего месяца, в соответствии с вашей локалью.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>day</term>
            <listitem
><para
>Текущий день месяца.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>hostname</term>
            <listitem
><para
>Имя вашего компьютера.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>index</term>
            <listitem
><para
>Расширяется в 'i'</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>fullname</term>
            <listitem
><para
>Ваше полное имя, как определено владельцем в вашей стандартной адресной книге KDE.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>firstname</term>
            <listitem
><para
>Ваше имя, как определено в поле владельца в адресной книге KDE.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>lastname</term>
            <listitem
><para
>Ваша фамилия, как определено в поле владельца в стандартной адресной книге KDE.</para>
            </listitem>
          </varlistentry>
          <!-- <varlistentry>
            <term
>username</term>
            <listitem
><para
>Expands to your username.</para
></listitem>
          </varlistentry
> -->
          <varlistentry>
            <term
>email</term>
            <listitem
><para
>Ваш адрес электронной почты, как задано в адресе владельца в стандартной адресной книге KDE.</para
></listitem>
          </varlistentry>
          <!--<varlistentry>
            <term
>organisation</term>
            <listitem
><para
>This is your organisation, as defined by
                the owner address in your standard KDE
                addressbook.</para
></listitem>
          </varlistentry
>-->
        </variablelist>
      </para>
      <para
>Любой макрос другой макрос рассматривается как изменяяемая переменная, вне зависимости от префикса. Если одна и та же переменная встречается несколько раз в шаблоне, они могут быть отредактированы как одна, после создания документа по шаблону.</para>
    </sect2>

    <sect2 id="katefiletemplates-cursor">
      <title
>Установка позиции курсора</title>
      <para
>Специальный макрос <userinput
>${cursor}</userinput
> будет заменён вертикальной чертой и добавлен к списку редактируемых переменных, вне зависимости от его положения в тексте.</para>
    </sect2>

  </sect1>

  <sect1 id="katefiletemplates-thanks-and-acknowledgements">
    <title
>Благодарности</title>

    <para
>Модуль &kate; <quote
>Шаблоны файлов</quote
> &copy; Anders Lund <email
>anders@alweb.dk</email
>, 2004. </para>

    <para
>Документация &copy; Anders Lund, 2004 </para>

    <para
>Перевод документации &copy; Amon2501, 2004</para
> 
&underGPL; </sect1>
</chapter>

<!-- kate: word-wrap on; space-indent on; indent-width 2; -->