# Modelos de Arquivo

## Introdução

O plugin de Modelos de Arquivo permite criar arquivos baseados em outros arquivos. Você pode usar qualquer arquivo como um modelo, que criará uma cópia do arquivo com uma URL vazia, ou usar um arquivo de modelo especial que pode conter macros para preencher informações como seu nome e endereço de e-mail, a data atual e variáveis de ambiente, e posicionar o cursor numa posição adequado no novo arquivo.

Além do mais, modelos localizados no diretório de modelos serão apresentados no ítem de menu Arquivo A Partir do Modelo....

O plugin também fornece um método para criar facilmente um novo modelo a partir de um documento aberto.

O diretório de modelos é parte do sistema de arquivos do &kde;, e consiste pelo menos do KDEDIR/share/applications/kate/plugins/katefiletemplates/templates e do KDEHOME/share/applications/kate/plugins/katefiletemplates/templates. Se sua variável de ambiente KDEDIRS contiver diretórios adicionais, serão procurados nestes diretórios por um subdiretório semelhante. Se modelos com mesmo nome forem encontrados, o do diretório local (KDEHOME) será escolhido.

## Estrutura do Menu

Arquivo Novo a Partir do Modelo Qualquer Arquivo...

- Apresente o diálogo para Abrir Arquivo que permite usar qualquer arquivo como um modelo. Se o arquivo escolhido tiver a extensão `katetemplate` ele será analisado por informações e macros do modelo.

Arquivo Novo a Partir do Modelo Usar Recente

- Apresenta uma lista de arquivos recentemente usados como modelos, representados por suas URL.

Arquivo Novo a Partir do Modelo

- O lembrador de submenus contém os links para modelos. Clique em um ítem de menu para criar um arquivo como descrito pelo texto do ítem de menu.

Configurações Gerenciar Modelos

- Isto lançará um diálogo com uma lista de todos os modelos encontrados nos diretórios de modelos, junto com opções para adicionar, editar ou remover modelos.

## Criando seus próprios modelos

Para criar um novo modelo, use o ítem Configurações Gerenciar Modelos para lançar o diálogo de gerenciamento de modelo. Neste diálogo, clique em Novo... para lançar o Assistente de Modelo de Arquivo. Você será questionado por um arquivo opcional para tornar-se um modelo e por configurações de informações do modelo, criando assim um arquivo de modelo para você.

Alternativamente, você pode criar um modelo manualmente adicionando informações do modelo no topo de qualquer arquivo, adicionando texto, macros e marcadores de posição do cursor, e salvando-o com a extensão `katetemplate`.

O menu de modelo será automaticamente atualizado se você escolher armazenar seu modelo no diretório de modelos.

## Editando modelos

Para editar um modelo, use o Configurações Gerenciar Modelos.... Selecione o modelo que você deseja editar e clique em Editar..., e o arquivo de modelo será aberto. Feche o diálogo, edite o arquivo de modelo como desejar, salve-o e feche-o. As mudanças para os modelos terão efeito imediatamente, e você pode ativar o modelo para testar suas mudanças após salvá-lo.

## O Formato de Modelo do Kate

Se você usar arquivos com extensão `katetemplate`, eles serão analisados por informações de modelo, macros e uma posição do cursor.

### Informações do modelo

Ao ler um arquivo, o analisador mantém as linhas que iniciam com a frase `katetemplate:` e procura nelas por informações do modelo no formato NOMEDAVARIAVEL=VALOR. A primeira linha que não iniciar com `katetemplate:` será tomada como inicial do conteúdo do modelo. VALOR pode conter qualquer caracter menos o sinal de igual (=). Nomes de variáveis válidos são:

`Template`

- Este é o nome do modelo, exibido no menu Arquivo A Partir do Modelo.

`Group`

- O grupo de lugares do modelo no submenu do menu Arquivo A Partir do Modelo.

`Name`

- Este é o nome que será configurado para o documento, e exibido na lista de arquivos e barra de título. Se o nome contiver `%N` isto será substituído com um número, aumentado se mais documentos tiverem o mesmo nome.

`Highlight`

- O plugin tentará configurar o Destaque para o novo documento para o valor desta variável. O valor deve ser o nome, como encontrado em Ferramentas Destaque .

`Description`

- Uma descrição informativa curta do modelo. Isto é atualmente usado para configurar um string 'O Que É Isto?' para o ítem de menu, mas pode ser usado para outras finalidades no futuro.

Author

- Um string identificando o autor, por exemplo na forma `Nome <endereço de email>`. Isto é atualmente usado para configurar um string 'O Quê É Isto?' para o ítem de menu, mas pode ser usado para outras finalidades no futuro.

### Macros do Modelo

Ao analisar o conteúdo do modelo, macros na forma `%STRING` são expandidas. As seguintes macros são suportadas:

%time

- Expande para a hora atual em seu formato local, como retornado por `QTime::currentTime().toString()`.

%date

- Expande para a data atual em seu formato local, como retornado por `QDate::currentDate().toString()`.

%datetime

- Expande para a data e hora atual formatado como um string de acordo com seu local, como retornado por `QDateTime::currentDateTime().toString()`.

%year

- O ano atual como um número de quatro dígitos.

%month

- O nome completo do mês atual, de acordo com seu local.

%{date(FORMATOSTRING)}

- Isto expande para o string de data e hora como definido por `FORMATOSTRING`. FORMATOSTRING é um string de texto, no qual as seguintes substituições serão realizadas:

  ### Entidades de formatação de data

  h | a hora sem um zero inicial (0..23 ou 1..12 se mostrada com AM/PM)
  hh | a hora com um zero inicial (00..23 ou 01..12 se mostrada com AM/PM)
  m | o minuto sem um zero inicial (0..59)
  mm | o minuto com um zero inicial (00..59)
  s | o segundo sem o zero inicial (0..59)
  ss | o segundo com o zero inicial (00..59)
  z | os milisegundos sem o zero inicial (0..999)
  zzz | os milisegundos com os zeros iniciais (000..999)
  AP | usar o mostrador AM/PM. AP será substituído pelo "AM" ou "PM".
  ap | usar o mostrador am/pm. ap será substituído pelo "am" ou "pm".
  d | o dia como um número sem o zero inicial (1-31)
  dd | o dia como um número com o zero inicial (01-31)
  ddd | o nome do dia abreviado localizado do dia (por exemplo: 'Dom'..'Seg').
  dddd | o nome do dia longo localizado (por exemplo: 'Segunda'..'Domingo').
  M | o mês como um número sem o zero inicial (1-12)
  MM | o mês como um número com um zero inicial (01-12)
  MMM | o nome do mês abreviado e localizado (por exemplo: 'Jan'..'Dez').
  MMMM | o nome do mês longo e localizado (por exemplo: 'Janeiro'..'Dezembro').
  YY | O ano como um número de dois dígitos (00-99).
  YYYY | O ano como um número de quatro dígitos (1752-8000).

  Isto permite controlar a data mostrada de maneira muito detalhada, usando separadores comuns entre os ítens, por exemplo: `h:m:s ap`.

%realname

- Expande para Seu nome completo, se ele pode ser encontrado. O analisador primeiro tentará obter a partir das configurações de Email do KDE no Centro de Controle do KDE, e então das informações de conta do usuário. Se um nome completo puder ser encontrado, seu nome de usuário será preenchido nele.

%username

- Expande para seu nome de usuário.

%email

- Expande para Seu endereço de email, se ele pode ser encontrado. O analisador primeiro tentará obter a partir das configurações de Email do KDE no Centro de Controle do KDE, e caso não encontre ele usará o `$USER@$HOST` no lugar.

%organisation

- Esta é a sua organização, se configurada nas configurações de Email do KDE no Centro de Controle do KDE . Se não for encontrada, um string vazio é retornado.

%VARIÁVEL

- Qualquer outro string será interpretado como uma variável de ambiente, e expande para o valor daquela variável. Se nenhuma variável para aquele nome foi configurada, ele expande para "ALERTA <VARIÁVEL> não configurada"

### Configurando a posição do cursor

O analisador procura por um caracter de carro (^) que não seja precedido por uma barra invertida (\) para decidir onde colocar o cursor. Se encontrado, ele é removido e o cursor é posicionado onde ele estava. Se mais do que um carro não escapado for encontrado, todos serão removidos, e a posição do último será usada.

Se qualquer caracter de carro escapado (precedido pela barra invertida) for encontrado, a barra invertida será removida.

## Agradecimentos e Reconhecimentos

Plugin &kate; de Modelos de Arquivo direitos autorais 2004 Anders Lund anders@alweb.dk.

Direitos autorais da documentação 2004 para Anders Lund

Tradução de Marcus Gamamarcus_gama@uol.com.br

&underGPL;