<chapter id="katefiletemplates">
<chapterinfo>

<title
>Filskabeloner</title>

<authorgroup>
<author
><firstname
>Anders</firstname
> <surname
>Lund</surname
> <affiliation
> <address
><email
>anders@alweb.dk</email
></address>
</affiliation>
</author>
</authorgroup
> <date
>Man 16. feb. 2004</date
> <releaseinfo
>0.1</releaseinfo
> <abstract
> <para
></para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kate</keyword>
<keyword
>kdeaddons</keyword>
<keyword
>skabelon</keyword>
<keyword
>makro</keyword>
</keywordset>
</chapterinfo>

<title
>Indledning</title>

<para
>Filskabelon-plugin tillader dig at lave filer baseret på andre filer. Du kan bruge en vilkårlig fil som skabelon, hvilket vil lave en kopi af filen med en tom URL, eller bruge en speciel skabelonfil som kan indeholder makroer til at udfylde information s[som dit navn og e-mail-adresse, dagens dato og miljøvariabler, og placere markøren et godt sted i den nye fil.</para>
<para
>Derudover vil skabeloner der er i skabelonmapper blive præsenteret under menupunktet <menuchoice
><guimenu
>Fil</guimenu
><guimenuitem
>Fra skabelon...</guimenuitem
></menuchoice
>.</para>
<para
>Dette plugin sørger også for en metode til nemt at lave en ny skabelon ud fra et åbent dokument.</para>
<para
>Skabelonmapper en en del af &kde;'s filsystem, og består af i det mindste  KDEDIR/share/applications/kate/plugins/katefiletemplates/templates og KDEHOME/share/applications/kate/plugins/katefiletemplates/templates. Hvis din KDEDIRS miljøvariabel indeholder yderligere mapper, gennemsøges disse også for en lignende undermappe. Hvis skabeloner med samme navn bliver fundet, så vælges den i den lokale (KDEHOME)-mappe.</para>
<sect1 id="katefiletemplates-menu">
<title
>Menustruktur</title>

<variablelist>
<varlistentry>
<term>
<menuchoice
><guimenu
>Fil</guimenu
> <guimenu
>Ny fra skabelon</guimenu
> <guimenuitem
>Vilkårlig fil...</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Præsentere dig for en 'Åbn fil'-dialog der lader dig bruge en vilkårlig fil som skabelon. Hvis den valgte fil har endelsen <filename
>katetemplate</filename
> vil den blive fortolket for skabeloninformation og makroer.</para
></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Fil</guimenu
> <guimenu
>Ny fra skabelon</guimenu
> <guimenuitem
>Brug nylige</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Præsentere en liste af filer der er blevet brugt som skabeloner for nylig, repræsenteret ved deres URL.</para
></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Fil</guimenu
> <guimenuitem
>Ny fra skabelon</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>De tilbageværende undermenuer indeholder link til skabeloner. Klik på et menupunkt for at lave en fil som beskrevet i menupunktets tekst.</para
></listitem>
</varlistentry>

<!-- Settings menu -->

<varlistentry>
<term>
<menuchoice
><guimenu
>Opsætning</guimenu
><guimenuitem
>Håndtér skabeloner</guimenuitem
></menuchoice
></term>
<listitem
><para
>Dette vil starte en dialog med en liste af alle skabeloner fundet indeni skabelonmapperne, sammen med valgmuligheder for at tilføje, redigere eller fjerne skabeloner.</para
></listitem>
</varlistentry>

</variablelist>

</sect1>
<sect1 id="katefiletemplates-create">
<title
>Lav dine egen skabeloner</title>
<para
>For at lave en ny skabelon, bruges punktet <menuchoice
><guimenu
>Opsætning</guimenu
> <guimenuitem
>Håndtér skabeloner</guimenuitem
></menuchoice
> til at starte skabelonhåndteringsdialogen. I den klikkes på <guibutton
>Ny...</guibutton
> for at startet Filskabelon-guiden. Du vil blive spurgt om der er en fil du vil lave om til en skabelon og bedt om skabeloninformationsindstillinger, og en skabelonfil vil blive lavet for dig.</para>
<para
>Alternativt kan du lave en skabelon manuelt ved at tilføje skabeloninformation foroven i en vilkårlig fil, tilføje tekst, makroer og markørpositionsmarkering, og gemme den med endelsen <filename
>katetemplate</filename
>.</para>
<para
>Skabelonmenuen blive automatisk opdateret hvis du valgte at gemme din skabelon i skabelonmappen.</para>
</sect1>

<sect1 id="katefiletemplates-edit">
<title
>Redigering af skabeloner</title>
<para
>For at redigere en skabelon bruges <menuchoice
><guimenu
>Opsætning</guimenu
> <guimenuitem
>Håndtér skabeloner...</guimenuitem
></menuchoice
>. Vælg skabelonen du ønsker at arbejde med og klik på <guibutton
>Redigér...</guibutton
>, så vil skabelonfilen blive åbnet. Luk dialogen, redigér skabelonfilen som ønsket, gem den og luk den. Ændringer af skabelonerne får øjeblikkelig virkning, du kan aktivere skabelonen for at teste dine ændringer efter du har gemt den.</para>
</sect1>

<sect1 id="katefiletemplates-format">
<title
>Kate's skabelonformat</title>
<para
>Hvis du bruger filer med endelsen <filename
>katetemplate</filename
>, vil de blive fortolket for skabeloninformation, makroer og markørposition.</para>

<sect2 id="katefiletemplates-template-info">
<title
>Skabeloninformation</title>
<para
>Mens filen læses holder tolkeren linjer der begynder med udtrykket <constant
>katetemplate:</constant
> og gennemsøger dem for skabeloninformation på formen VARIABLENAME=VALUE. Den første linje der ikke starter med <constant
>katetemplate:</constant
> vil blive opfattet som skabelonens indhold. VALUE kan indeholde et vilkårligt tegn bortset fra lighedstegnet (=). Lovlige variabelnavne er: <variablelist>
<varlistentry>
<term
><varname
>Skabelon</varname
></term>
<listitem
><para
>Dette er skabelonnavnet, vist i menuen <menuchoice
><guimenu
>Fil</guimenu
><guimenuitem
>Fra skabelon</guimenuitem
></menuchoice
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><varname
>Gruppe</varname
></term>
<listitem
><para
>Gruppen placerer skabelone i en undermenu for menuen <menuchoice
><guimenu
>Fil</guimenu
><guimenuitem
>Fra skabelon</guimenuitem
></menuchoice
>.</para
></listitem>
</varlistentry>
<varlistentry
><term
><varname
>Navn</varname
></term>
<listitem
><para
>Dette er navnet der vil blive sat for dokumentet, og vist i fillisten og titellinjen. Hvis navnet indeholder <userinput
>%N</userinput
> vil det blive erstattet med et tal, der øges hvis flere dokumenter har samme navn.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><varname
>Fremhæv</varname
></term>
<listitem
><para
>Dette plugin vil forsøge at sætte fremhævning for det nye dokument til værdien for denne variabel. Værdien skal være navnet, som fundet i <menuchoice
><guimenu
>Værktøjer</guimenu
><guimenuitem
>Fremhæv</guimenuitem
> </menuchoice
>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>Beskrivelse</varname
></term>
<listitem
><para
>En kort informativ beskrivelse af skabelonen. Dette bruges for øjeblikket til at sætte en 'Have er dette'-streng for menupunktet, men kan bruges til flere formål i fremtiden.</para
></listitem>
</varlistentry>
<varlistentry
><term
>Forfatter</term>
<listitem
><para
>En streng der identificerer forfatteren, for eksempel på formen <userinput
>Navn &lt;e-mail-adresse&gt;</userinput
>. Dette bruges for øjeblikket til at sætte en 'Have er dette'-streng for menupunktet, men kan bruges til flere formål i fremtiden.. </para
></listitem>
</varlistentry>
</variablelist>
</para>

</sect2>

<sect2 id="katetemplates-macros">
<title
>Skabelonmakroer</title>

<para
>Mens skabelonernes indhold fortolkes, udvides makroer på formen <userinput
>%STRING </userinput
>. Følgende makroer er understøttet: <variablelist>
<varlistentry
><term
>%time</term>
<listitem
><para
>Udvides til det øjeblikkelige tidspunkt i dit lokale format, som returneret af <userinput
>QTime::currentTime().toString()</userinput
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%date</term>
<listitem
><para
>Udvides til dages dato i i langt format, som returneret af <userinput
>QDate::currentDate().toString()</userinput
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%datetime</term>
<listitem
><para
>Udvider til dato og tidspunkt, formateret som en streng ifølge dine lokale indstillinger ved <userinput
>QDateTime::currentDateTime().toString()</userinput
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%year</term>
<listitem
><para
>Det nuværende år som et fircifret tal.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%month</term>
<listitem
><para
>Det fulde navn på måneden, ifølge de lokale indstillinger.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%{date(FORMATSTRING)}</term>
<listitem
><para
>Dette vil udvides til en dato/tid-streng som defineret af <userinput
>FORMATSTRING</userinput
>. FORMATSTRING er en tekststreng, indenfor hvilken følgende substitutioner vil blive udført:</para>
<table
><title
>Datoformateringsentiteter</title
><tgroup cols="2"
><tbody>
<row
><entry
><para
>h</para
></entry
><entry
><para
>timen uden et indledende nul (0..23 eller 1..12 hvis AM/PM-visning bruges)</para
></entry
></row>
<row
><entry
>tt<para
></para
></entry
><entry
><para
>timen med et indledende nul (00..23 eller 01..12 hvis AM/PM-visning bruges) </para
></entry
></row>
<row
><entry
><para
>m</para
></entry
><entry
><para
>minut uden et indledende nul (0..59) </para
></entry
></row>
<row
><entry
><para
>mm</para
></entry
><entry
><para
>minut med et indledende nul (00..59) </para
></entry
></row>
<row
><entry
><para
>s</para
></entry
><entry
><para
>sekund uden et indledende nul (0..59)</para
></entry
></row>
<row
><entry
><para
>ss</para
></entry
><entry
><para
>sekund med et indledende nul (00..59) </para
></entry
></row>
<row
><entry
><para
>z</para
></entry
><entry
><para
>millisekunder uden indledende nuller (0..999) </para
></entry
></row>
<row
><entry
><para
>zzz</para
></entry
><entry
><para
>millisekunder med indledende nuller (000..999) </para
></entry
></row>
<row
><entry
><para
>AP</para
></entry
><entry
><para
>brug AM/PM-visning. AP vil blive erstattet med enten "AM" eller "PM". </para
></entry
></row>
<row
><entry
><para
>ap</para
></entry
><entry
><para
>brug am/pm-visning. ap vil blive erstattet med enten "am" eller "pm". </para
></entry
></row>

<row
><entry
><para
>d</para
></entry
><entry
><para
>dagen som et tal uden indledende nul (1-31) </para
></entry
></row>
<row
><entry
><para
>dd</para
></entry
><entry
><para
>dagen som et tal med indledende nul (01-31) </para
></entry
></row>
<row
><entry
><para
>ddd</para
></entry
><entry
><para
>det forkortede lokaliserede navn for dagen (f.eks. 'Man'..'Søn').</para
></entry
></row>
<row
><entry
><para
>dddd</para
></entry
><entry
><para
>det lange lokaliserede navn for dagen (f.eks. 'Mandag'..'Søndag').</para
></entry
></row>
<row
><entry
><para
>M</para
></entry
><entry
><para
>måneden som et tal uden indledende nul (1-12)</para
></entry
></row>
<row
><entry
><para
>MM</para
></entry
><entry
><para
>måneden som et tal med indledende nul (01-12) </para
></entry
></row>
<row
><entry
><para
>MMM</para
></entry
><entry
><para
>det forkortede lokaliserede månednavn (f.eks. 'Jan'..'Dec').</para
></entry
></row>
<row
><entry
><para
>MMMM</para
></entry
><entry
><para
>det lange lokaliserede månednavn (f.eks. 'Januar'..'December').</para
></entry
></row>
<row
><entry
><para
>YY</para
></entry
><entry
><para
>Året som et tocifret tal (00-99).</para
></entry
></row>
<row
><entry
><para
>YYYY</para
></entry
><entry
><para
>Året som et fircifret tal (1752-8000).</para
></entry
></row>
</tbody
></tgroup
></table>
<para
>Dette tillader dig at kontrollere den viste dato meget detaljeret, ved brug af almindelige adskillere mellem punkterne, for eksempel: <userinput
>h:m:s ap</userinput
>. </para
></listitem>
</varlistentry>
<varlistentry
><term
>%realname</term>
<listitem
><para
>Udvider til dit fulde navn, hvis det kan findes. Tolkeren vil først prøve KDE's e-mail-opsætning fra KDE's kontrolcenter, så brugerkontoinformation. Hvis et fuldt navn ikke bliver fundet, vil dit brugernavn blive fyldt ud.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%username</term>
<listitem
><para
>Udvider til dit brugernavn.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%email</term>
<listitem
><para
>Udvider til din e-mail-adresse, hvis den kan findes. Tolkeren vil først prøve KDE's e-mail-opsætning fra KDE's kontrolcenter og hvis den ikke finder den vil den i stedet bruge <userinput
>$USER@$HOST</userinput
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%organisation</term>
<listitem
><para
>Dette er din organisation hvis den er til stede i KDE's e-mail-opsætning fra KDE's kontrolcenter. Hvis den ikke findes returneres en tom streng.</para
></listitem>
</varlistentry>
<!-- LAST ENTRY: %ENV -->
<varlistentry>
<term
>%VARIABLE</term>
<listitem
><para
>Enhver anden streng vil blive fortolket som en miljøvariabel, og udvider til variablens værdi. Hvis ingen variabel af dette navn er sat, udvider den til &quot;ADVARSEL &lt;VARIABEL&gt; er ikke sat&quot;.</para
></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="katefiletemplates-cursor">
<title
>Indstilling af markørens position</title>
<para
>Tolkeren kigger efter tegnet (^) uden en indledende baglæns skråstreg (\) for at afgøre hvor markøren skal placeres. Hvis den findes, fjernes den og  markøren placeres der hvor den var. Hvis der findes flere, vil de alle blive fjernet og positionen af den sidste vil blive brugt.</para>
<para
>Hvis der er karet-tegn der er ændret (indledt med en baglæns skråstreg), vil den indledende baglæns skråstreg blive fjernet.</para>
</sect2>

</sect1>

<sect1 id="katefiletemplates-thanks-and-acknowledgements">
<title
>Tak og anerkendelser</title>

<para
>&kate;-plugin <quote
>Fil-skabeloner</quote
> ophavsret 2004 Anders Lund <email
>anders@alweb.dk</email
>. </para>

<para
>Dokumentation ophavsret 2004 Anders Lund </para>

&erik.kjaer.pedersen.credit; 
&underGPL; </sect1>
</chapter>

<!-- kate: word-wrap on; -->