Utöka &quantaplus;ChristopherHornbakerchrishornbaker@earthlink.netAndrásMantiaamantia@kde.orgStefanAsserhällstefan.asserhall@comhem.seÖversättareUtöka &quantaplus;Det här kapitlet beskriver hur &quantaplus; kan anpassas till just dina behov, och hur du kan hjälpa till att göra &quantaplus; bättre. Dokumenttyp-redigeringspaket (&DTEP;)Dokumenttyp-redigeringspaket (&DTEP;) används i &quantaplus; för att lägga till stöd för taggar, skriptspråk och stilmallar. De tillåter &quantaplus; att tillhandahålla funktioner som automatisk komplettering och nodträd. Deras enkelhet och flexibilitet är vad som gör &quantaplus; en snabb, utvecklarvänlig integrerad uvecklingsmiljö för webbutvecklare. De gör &quantaplus; till en lättanvänd, produktiv miljö. Det finns två varianter av &DTEP;, familj 1, som är taggar, och familj 2 som är skriptspråk och stilmallar. En &DTEP; består av två delar, taggkatalogen och verktygsraderna. Taggkataloger består av två filtyper, filerna &descriptionrc; och TagXML, som har ändelsen .tag. Verktygsrader är bekväma, ikonorienterade rader med knappar (ovanför redigeringsfönstret), som lägger till text i ett dokument snabbare än användaren kan skriva. En &DTEP; kan skapas för hand (se nedan), laddas ner eller skapas automatiskt från en befintlig DTD. Se för information om konvertering. Det här dokumentet beskriver hur filerna TagXML, &descriptionrc; och verktygsrader skapas. I korthet, en &DTEP;. TagXML-filer (.tag) definerar både egenskaper specifika för en tagg, samt layout och innehåll i egenskapsdialogrutan som &quantaplus; visar för taggen. Filen &descriptionrc; tillhandahåller regler och information om en hel &DTEP;. Verktygsrader tillhandahåller ett snabbt sätt att lägga till taggar i ett dokument, utan att behöva bekymra sig om felstavningar eller liknande. PaketeringTaggkataloger är just det, kataloger. De består bara av filerna &descriptionrc; och TagXML-filer. Taggkatalogerna bär taggspråkets namn och version, om det finns någon (till exempel html-4.01-strict). XML-taggarTabellen nedan listar elementen som definieras i XML-taggfiler, och anger om de krävs eller inte. Även om inte alla krävs, rekommenderas du att använda så många som du kan, så att andra användare får en bättre erfarenhet och mer information att arbeta med. ElementNormal användningAnvändningsområdeTAGSkrävsalltidtagkrävsalltidlabelvalfrikrävs för att skapa en egenskapsdialogrutaattrvalfrikrävs för att definiera en egenskaptooltipvalfrikrävs för att låta egenskapsdialogrutan visa ett verktygstipswhatsthisvalfrikrävs för att låta egenskapsdialogrutan visa Vad är det härlistvalfrikrävs när en egenskap har typen listitemvalfrikrävs när <list> användstextlocationvalfrialltidlocationvalfrikrävs när label användstextvalfrikrävs när label användschildrenvalfrilista över taggar som kan finnas i taggen som definieraschildkrävsen av posterna i childrenstoppingtagsvalfrilista över taggar som talar om för en annan tag att den har nått slutetstoppingtagkrävsen av posterna i stoppingtagsElementbeskrivningar för XML-taggarFöljande avsnitt beskriver varje element i detalj. Alltfrån var de kan finnas, till vad som finns i dem presenteras på ett sätt som är enkelt att följa. TAGSDet här är XML-taggdokumentets rotelement. Det får bara finnas en gång i ett dokument. Det kan innehålla definitionen av flera taggar. Det här är ett typelement med bara element. ÖverliggandeUnderliggandeINGENtagtagOmgivning för taggen som definieras. Det här är ett typelement med bara element. ÖverliggandeUnderliggandeTAGSlabel, attr, stoppingtagsEgenskapTypVärdenStandardAnvändningBeskrivningnamnsträngkrävsAnger namnet på taggen som håller på att definieras.singleBooleanvalfriAnger om taggen kräver en avslutande tagg </(taggnamn)>.typesträngxmltagvalfriAnger typ för taggen som definieras.xmltagTypen för taggen är XML-baserad (bara familj 1).entityTaggen beskriver en post (bara familj 1).egenskapTypen för taggen är stilmallsrelaterad (bara familj 2).funktionTypen för taggen är en skriptfunktion. När det används blir <attr> funktionens argument (bara familj 2).klassTypen för taggen är en skriptklass (bara familj 2).methodTypen för taggen är en klassmetod (bara familj 2).returnTypesträngvoid valfriAnger returtypen för taggen som definieras (bara familj 2).voidTaggtypen returnerar ingenting.intTaggtypen returnerar ett heltal.floatTaggtypen returnerar ett flyttal.longTaggtypen returnerar ett långt heltal.strängTaggtypen returnerar en sträng.versionsträngvalfriAnger språkets version som taggen är giltig förextendssträngvalfriGiltig bara om taggens typ är "class". Namnet på basklassen till den här klassen (bara familj 2).klasssträngvalfriGiltig bara om typen är "method". Anger namnet på klassen som den här metoden hör till (bara familj 2).commonBooleanvalfriOm "yes", anger taggen en gemensam egenskapsgrupp, och egenskaperna inne i taggen kan kopplas till vilken annan tagg som helst (bara familj 1).commentsträngvalfrikommentarsträngen visas intill taggnamnet i kompletteringsrutanlabelPlacera en rubrik i dialogrutan. Texten anges av taggen <text>. Det här är ett typelement med bara element. ÖverliggandeUnderliggandetagtext, locationattrDefinierar en egenskap för taggen. Elementet upprepas en gång för varje egenskap. Det definierar egenskapens namn och typ. Det innehåller också ytterligare taggar som anger hur egenskapen ska visas, etc. Det här är ett typelement med bara element. ÖverliggandeUnderliggandetaglocation, list, tooltip, whatsthis, textlocationEgenskapTypVärdenStandardAnvändningBeskrivningnamnsträngkrävsAnger namnet på egenskapen som håller på att definieras.typestränginputkrävsAnger typen för egenskapen som håller på att definieras.inputFältet stöder fri textinmatning (textfält).checkFältets värde är booleskt (kryssruta).färgFältets värde är en färg.webbadressFältets värde är en webbadress (lokal fil att hänvisa till).listFältets värde kommer från en angiven lista.statussträngvalfrikrävsAnger om argumentet krävs eller inte (bara familj 2).valfriArgumentet krävs inte.krävsArgumentet krävs.underförståttArgumentet är underförstått.sourcesträngvalfriAnger källan som används för att fylla i egenskapens post i taggeditorns dialogruta och i egenskapsträdetmarkeringDen markerade texten används som källadcopResultatet av DCOP-metoden används som källainterfacesträngvalfriKräver source="dcop". DCOP-gränssnittet inne i &quantaplus; används för att hämta källdata.methodsträngvalfriKräver source="dcop" och ett gränssnittsnamn. DCOP-metodnamnet inne i &quantaplus; används för att hämta källdata.argumentsträngvalfriKräver source="dcop", ett gränssnittsnamn och ett metodnamn. Argumenten skickas till metoden. Den kan vara tom eller "%tagname%", vilket betyder den nuvarande taggens namn.tooltipDefinierar verktygstipset för ett fält i dialogrutan. Elementet är bara text. För närvarande stöds bara vanlig text (du kan inte använda några taggar). ÖverliggandeUnderliggandeattrINGENwhatsthisDefinierar 'Vad är det här'-hjälp för ett fält i dialogrutan. Elementet är bara text. För närvarande stöds bara vanlig text (du kan inte använda några taggar). ÖverliggandeUnderliggandeattrINGENlistEn omgivande tagg som grupperar objekt i en lista tillsammans. Den kan bara finnas en gång för varje beskrivning av en egenskap. Det här är ett typelement med bara element. ÖverliggandeUnderliggandeattritemitemDefinierar ett objekt i en lista. Elementet är bara text. ÖverliggandeUnderliggandelistINGENtextlocationAnger position för en taggs egenskapstext inne i en dialogruta. Taggen kan bara finnas en gång för varje egenskap i dialogrutan (dvs en gång för varje tagg <attr>). Det här elementet är tomt. ÖverliggandeUnderliggandeattrINGENEgenskapTypAnvändningBeskrivningrowpositivt heltalkrävsAnger raden i dialogrutans layout för ett fält eller en rubrik.colpositivt heltalkrävsAnger kolumnen i dialogrutans layout för ett fält eller en rubrik.rowspanpositivt heltalvalfriAnger antal rader som ett fält ska uppta.colspanpositivt heltalvalfriAnger antal kolumner som ett fält ska uppta.locationAnger position och storlek på ett fält i dialogrutan. Taggen ska finnas en gång för varje fält i dialogrutan (dvs en gång för varje tagg <attr> och <label>). Det här elementet är tomt. ÖverliggandeUnderliggandelabel, attrINGENEgenskapTypAnvändningBeskrivningrowpositivt heltalkrävsAnger raden i dialogrutans layout för ett fält eller en rubrik.colpositivt heltalkrävsAnger kolumnen i dialogrutans layout för ett fält eller en rubrik.rowspanpositivt heltalvalfriAnger antal rader som ett fält ska uppta.colspanpositivt heltalvalfriAnger antal kolumner som ett fält ska uppta.textDefinierar texten för en rubrik eller kryssruta. Elementet är bara text. ÖverliggandeUnderliggandelabel, attrINGENchildrenDefinierar en lista med element som kan finnas i taggen som anges. Det här är ett typelement med bara element. ÖverliggandeUnderliggandetagchildchildDefinierar en underliggande tagg. Det här elementet är tomt. ÖverliggandeUnderliggandechildrenINGENEgenskapTypVärdenAnvändningBeskrivningnamnsträngkrävsAnger en tagg som kan finnas i en viss tagg.usagesträngvalfriAnger förhållandet till överliggande objekt.krävsDet överliggande objektet måste ha minst ett underliggande objekt med det här namnet.stoppingtagsDefinierar en lista med element som tvingar en tagg att sluta. Det här är ett typelement med bara element. ÖverliggandeUnderliggandetagstoppingtagstoppingtagDefinierar en sluttagg. Det här elementet är tomt. ÖverliggandeUnderliggandestoppingtagsINGENEgenskapTypAnvändningBeskrivningnamnsträngkrävsAnger vilka taggar som tvingar en annan tagg att sluta.Användning av XML-taggarAlla XML-taggfiler måste börja med &XML;-deklarationen: <?xml version="1.0" encoding="UTF-8"?> och måste vara hierarkiskt korrekta och avslutade. Mellanslag påverkar ingenting negativt, men se upp med tecknen & och <. Dessa ska troligen ersättas med & och < i element som <tooltip>, <whatsthis>, och <text>. Att inte göra det orsakar ingen krasch, men du får delar av ditt arbete att försvinna om du inte gör det. Validering av XML-taggarFör att validera XML-taggfiler, klicka helt enkelt på dialogrutan Verktyg längst upp i &quantaplus; och välj Validera XML-taggar. En dialogruta visas, och du behöver bara följa de enkla anvisningarna. Den här funktionen finns inte för närvarande. För tillfället sker validering när XML-taggfilerna laddas i &quantaplus;. Exempel på XML-taggarFamilj 1Följande visar dig en korrekt familj 1 XML-taggfil. Filen råkar beskriva &W3C; &XML; Schemas element <schema>. Filnamnet på den här XML-taggfilen skulle vara schema.tag. Enkelt, inte sant?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TAGS>
<TAGS>
<tag name="schema">
<label>
<text>id</text>
<location col="0" row="0"/>
</label>
<attr name="id" type="input">
<tooltip>En unik identifikation för elementet </tooltip>
<whatsthis>En unik identifikation för elementet </whatsthis>
<location col="1" row="0"/>
</attr>
<label>
<text>version</text>
<location col="0" row="1"/>
</label>
<attr name="version" type="input">
<tooltip>Version för schema.</tooltip>
<whatsthis>Version för schema.</whatsthis>
<location col="1" row="1"/>
</attr>
<label>
<text>targetNamespace</text>
<location col="0" row="2"/>
</label>
<attr name="targetNamespace" type="input">
<tooltip>Webbadressreferens till namnrymden för detta schema.</tooltip>
<whatsthis>Webbadressreferens till namnrymden för detta schema.</whatsthis>
<location col="1" row="2"/>
</attr>
<label>
<text>xmlns</text>
<location col="0" row="3"/>
</label>
<attr name="xmlns" type="input">
<tooltip>Webbadressreferens för en eller flera namnrymder för användning i detta schema.
Om inget prefix används, kan komponenterna i namnrymden användas utan kvalifikation </tooltip>
<whatsthis>Webbadressreferens för en eller flera namnrymder för användning i detta schema.
Om inget prefix används, kan komponenterna i namnrymden användas utan kvalifikation </whatsthis>
<location col="1" row="3"/>
</attr>
<label>
<text>attributeFormDefault</text>
<location col="0" row="4"/>
</label>
<attr name="attributeFormDefault" type="list">
<items>
<item>qualified</item>
<item>unqualified</item>
</items>
<tooltip>Standardformulär för alla egenskaper i schema.</tooltip>
<whatsthis>Standardformulär för alla egenskaper i schema.</whatsthis>
<location col="1" row="4"/>
</attr>
<label>
<text>elementFormDefault</text>
<location col="0" row="5"/>
</label>
<attr name="elementFormDefault" type="list">
<items>
<item>qualified</item>
<item>unqualified</item>
</items>
<tooltip>Standardformulär för alla element i schema.</tooltip>
<whatsthis>Standardformulär för alla element i schema.</whatsthis>
<location col="1" row="5"/>
</attr>
<label>
<text>blockDefault</text>
<location col="0" row="6"/>
</label>
<attr name="blockDefault" type="input">
<location col="1" row="6"/>
</attr>
<label>
<text>finalDefault</text>
<location col="0" row="7"/>
</label>
<attr name="finalDefault" type="input">
<location col="1" row="7"/>
</attr>
</tag>
</TAGS>
Familj 2Följande visar dig en korrekt familj 2 XML-taggfil. Filen råkar beskriva &PHP;:s överlastningsfunktion. Filnamnet på den här XML-taggfilen skulle vara overload.tag.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tags>
<tags>
<tag name="overload" type="function" returnType="void">
<attr name="class_name" type="string" status="optional"/>
</tag>
</tags>
&descriptionrc;Filen &descriptionrc; är också mycket enkel, och en editor för den är tillgänglig med DTDRedigera DTD-inställningar. Det redigerar &descriptionrc; för en &DTEP; som du kan välja i en lista. För att redigera &descriptionrc; för en nyskapad &DTEP;, måste du skapa en enkel &descriptionrc; med följande poster:
[General]
Version = Använd 1 för &quantaplus; version <=3.1.2 och 2 för alla senare versioner.
Name = DTD-definitionssträng. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
NickName = Det förskönade namnet på en DTD. (HTML 4.01 Transitional). Om inte definierat används Name
som NickName.
När du väl har skapat den och lagt vid sidan om taggfilerna, ladda din nyskapade &DTEP; med DTDLadda DTD-paket (DTEP). Efter det har laddats kan du fortsätta med att redigera inställningarna i din &DTEP;. Kontrollera posternas verktygstips och Vad är det här-texter i redigeringsdialogrutan för att förstå betydelsen hos varje post. Som ett alternativ kan du läsa quanta/data/dtep/dtd-description.txt i det komprimerade källkodsarkivet, som innehåller en beskrivning av formatet. Användardefinierade åtgärderÅtgärder är mycket vanliga i alla program. Du behöver dem ofta när du använder vilket program som helst. Genom att klicka på en ikon i en verktygsrad, välja ett menyalternativ eller använda en snabbtangent utförs oftast en åtgärd. I &quantaplus; har åtgärder tagits till nästa nivå. Istället för hårdkodade åtgärder (som skapas av programmeraren på programmets källkodsnivå) är det möjligt för en vanlig användare att skapa och ändra åtgärder och på så sätt lägga till nya funktioner i &quantaplus;. De är användardefinierade åtgärder, och många av de vanliga åtgärderna i &quantaplus; är också användardefinierade (och ändringsbara) åtgärder. Det finns tre typer av användardefinierade åtgärder: TextåtgärderTaggåtgärderSkriptåtgärderSkapa åtgärderDu kan skapa en åtgärd genom att gå till InställningarAnpassa åtgärder. Klicka på Ny åtgärd så möts du av en liknande dialogruta: TypAnger åtgärdens typ (Text, Tagg, Skript).TextÅtgärdens namn som syns för användaren.Knappen intill etiketten TextIkonen som tilldelas till åtgärden. Klicka på den för att ändra aktuell ikon.VerktygstipsKort beskrivning av vad åtgärden gör.GenvägSnabbtangenten som tilldelas till åtgärden. Klicka på Egen eller knappen intill Egen för att tilldela en genväg. Klicka på Ingen för att ta bort den för närvarande tilldelade genvägen.Omgivande verktygsraderDe användardefinierade verktygsraderna där åtgärden visas. Se .Detaljerade inställningarSpecifika inställningar för de olika åtgärdstyperna. Se nedan. Textåtgärder De enklaste åtgärderna. Du kan skriva in någon text i området Detaljerade inställningar, och så fort åtgärden utförs så infogas texten i dokumentet vid aktuell markörposition. Se exemplet nedan. TaggåtgärderAnvändbar för att infoga XML-taggar, men du kan förstås också använda dem för andra syften. <tagg>Namnet på taggen.</tagg>Om markerad, kommer den här texten infogas som avslutande tagg när åtgärden utförs. Om det finns ett markerat område i dokumentet innan du utför åtgärden, infogas <tagg> innan det markerade området, och </tagg> efter.Kär dialogen för "Redigera tagg" om den finnsOm markerad, och det finns en tagXML-fil för taggen, visas en dialogruta för taggredigering innan taggen infogas i dokumentet, så att du kan finjustera taggens egenskaper. Taggarna <tagg> och </tagg> infogas som du skriver dem här. Tecknen <, > eller / läggs inte automatiskt till. Skriptåtgärder Den mest kraftfulla åtgärdstypen. Med hjälp av den här åtgärden kan du köra externa program (oftast skript, men inte begränsat till skript), som kan ändra dokumentet eller använda dokumentet (eller en del av dokumentet) som indata. Exempel från &quantaplus; själv är dialogrutan Snabbstart, de olika åtgärderna Visa med... för varje (X)HTML DTEP. Först måste du skriva in namnet på skriptet samt tolken. Till exempel: sh /home/namn/mitt_skript.sh. Även om du kan använda fullständiga sökvägar, är det rekommenderade sättet att använda variabeln %scriptdir på kommandoraden, som sh %scriptdir/mitt_skript.sh. På så sätt försöker &quantaplus; hitta ditt skript på följande ställen: den globala skriptkatalogen: $TDEDIR/share/apps/quanta/scriptsden lokala skriptkatalogen: $TDEHOME/share/apps/quanta/scriptsdin sökväg: $PATH. Det finns andra specialvariabler som kan användas på kommandoraden: %f: Ersätts med webbadressen till det aktuella dokumentet. För lokala dokument tas file:/ bort från dokumentnamnet.%input: Ersätts med markerad inmatning. Se nedan.%projectbase: Ersätts med webbadressen till aktuellt projekt. Det är tomt om inget projekt är laddat.%pid: Ersätts med process-id för &quantaplus;-processen som kör. Om &quantaplus; kör i ensamt läge, inleds process-id numret med texten "unique". Användbart när du använder DCOP för att styra &quantaplus; från ett externt skript.%userarguments: Användbart i fallet med händelser. Posten ersätts av händelsens egenskaper i följande ordning: Första argumentSkriptets unika identifikationAndra argumentethändelsenamnetTredje argumentethändelsens parameter, oftast det nuvarande dokumentets filnamn eller sökvägen till projektfilen.Förutom ovanstående sätt kan skriptet ta emot indata från &quantaplus; via standardinmatningen. I kombinationsrutan Inmatning kan du välja vart standardinmatningen skickas. Alternativen är: Ingen: Ingenting skickas till skriptet.Aktuellt dokument: Hela dokumentet skickas till skriptet.Markerad text: Det markerade området i dokumentet skickas till skriptet. Att använda variabeln %input är oftast bara vettigt när den här inställningen används.På ett liknande sätt som för Inmatning kan du fånga utmatningen från programmet som körs. Det finns två sorters utmatning: normal utmatning, som skrivs ut på standardutmatningen,felmeddelanden, som skrivs ut på standardfelutmatningen. Du kan ange vad som ska hända med text som skrivs till standardutmatningen. Det kan göras genom att ändra på värdet i kombinationsrutan Utmatning: Ingen: Utmatningen från programmet ignoreras.Infoga på markörens plats: Utmatningen infogas i aktuellt dokument vid markörens position.Ersätt markering: Det markerade området i dokumentet ersätts med utmatningen.Ersätt markering: Det markerade området i dokumentet ersätts med utmatningen.Skapa ett nytt dokument: Ett nytt dokument skapas som innehåller utmatningen från skriptet.Ersätt aktuellt dokument: Hela dokumentet ersätts med utmatningen.Meddelandefönster: Utmatningen visas i verktygsvyn Meddelanden.Alternativen för standardfelutmatningen (Fel) är samma som för normal utmatning.Skapa verktygsraderDet följande visar dig hur man skapar verktygsrader för en &DTEP;. Verktygsrader är grafiska element, som tilldelas åtgärder. I &quantaplus; är åtgärder grunden för nästan alla utökningar som &quantaplus; har, och kommer att få i framtiden. &quantaplus; erbjuder också automatisk komplettering och taggdialogrutor. Gränserna för vad du kan göra med åtgärder är nästan obegränsade. Som exempel, använder vi &HTML; Tidy på våra webbsidor. Från början till färdig verktygsradTill att börja med, måste du skapa en användarverktygsrad. Välj VerktygsraderLägg till användarverktygsrad.. Om det finns många taggar i språket, rekommenderas du att dela upp taggarna i logiska grupper. Du måste skapa en ny användarverktygsrad för varje grupp. I det här fallet finns det inte många, så vi skapar en verktygsrad och namnger den efter taggspråket. Så snart alla verktygsrader har skapats, måste du lägga till och anpassa åtgärderna. För att göra det, välj InställningarAnpassa åtgärder. Delarna i fönstret är ganska rättframma. Tryck på knappen Ny åtgärd längst ner i fönstret för att komma till redigeringsläge. Fyll i alla nödvändiga fält, och lägg till taggen i lämpliga verktygsrader. Komplettera resten, och om taggarna har egenskaper som du alltid tänker använda, markera rutan Kör dialogen för "Redigera tagg" om den finns, så att du blir tillfrågad varje gång åtgärden används. Du bör nu ha något som liknar följande: Tryck på knappen Verkställ, så ser du att åtgärden har lagts till i verktygsraderna du har markerat. Usch, då! Vilken hemsk ikon. Hur ska du själv och andra komma ihåg att den ikonen hör ihop med åtgärden. Låt oss ersätta den innan det uppstår problem. För att skapa en ikon som bättre beskriver åtgärden, använder vi &kiconedit;. Välj det i K-menyn, GrafikFler program (eller var din distribution än har placerat det). &kiconedit; har standardstorleken 32 x 32 bildpunkter, men vi behöver 22 x 22. För att ändra det, välj RedigeraÄndra storlek. Kom ihåg att du skapar en ikon som inte bara ska hjälpa dig själv att komma ihåg vilken åtgärd som gör vad, utan också andra användare av denna &DTEP;. Eftersom taggen vi skapar ikonen till, kallas start, bestämmer vi oss för att skapa ett start-tecken. Genom att använda grön färg (grönt tolkas ofta som kör, starta eller fortsätt) förmedlar vi, eller borde vi åtminstone förmedla, användaren informationen att genom ett klick på åtgärden placeras taggen <start> i det aktuella dokumentet. Nu när ikonen är färdigskapad, sparar vi den. När vi är klara med att skapa ikoner, måste ikonen associeras med åtgärden. För att göra det, öppna fönstret InställningarAnpassa åtgärder igen (i &quantaplus;) och välj åtgärden som ikonen skapades för. Intill fältet Text, finns en knapp. Klicka på den. Välj Övriga ikoner och klicka sedan på knappen Bläddra.... Gå till katalogen där du sparade ikonen, välj den och klicka på Ok. Tryck på knappen Verkställ, och fortsätt antingen att göra samma sak med övriga taggar, eller klicka på Ok för att avsluta. Antag att vi vill lägga till några vanliga &quantaplus; funktioner i verktygsraden, eller kanske skulle verktygsraden vara bättre om den organiserades på ett annat sätt, med några avskiljare för att gruppera åtgärderna. Öppna dialogrutan Anpassa verktygsrader genom att välja InställningarAnpassa verktygsrader. Försäkra dig om att vår verktygsrad är vald. Vi väljer avskiljaren (längst upp i vänsterkolumnen) för verktygsraden. När man väl har valt objektet som ska läggas till i verktygsraden, trycker man på högerpilen. Då läggs den till i verktygsraden. Vi vill ha ett snabbt sätt att komma åt Visa med Konqueror. Välj den och lägg till i verktygsraden. Observera hur avskiljaren hjälper med gruppering. Någon som inte sett vår verktygsrad tidigare, skulle kunna tro att knappen &konqueror; liknade eller var motsatsen till start-knappen. Verkställ dina ändringar, och tryck på Ok när du är klar för att avsluta. Titta på den fantastiska nya verktygsraden! Mycket bekvämare nu. Kom ihåg att prova verktygsraden, genom att klicka på knapparna, så att du vet att utmatningen är riktig. För att nu spara verktygsraden, väljer vi VerktygsraderSpara verktygsraderSpara som lokal verktygsrad. Spara den i rätt katalog. Eftersom NeXML inte finns, lägger vi den bara i toppnivåkatalogen, men verktygsrader ska sparas i rätt katalog. Försäkra dig om att du justerar &descriptionrc; så att verktygsraderna laddas när en ny fil av typen skapas. Skapa din egen dokumentationRobertNickelrobert@artnickel.comStefanAsserhällstefan.asserhall@comhem.seÖversättareSkapa din egen dokumentationTroligen är de mest anmärkningsvärda tilläggen till &quantaplus; för den vanliga användaren, tillägg av dokumentation för de tagg- eller skriptspråk som är mest omtyckta. Med detta syfte, förklarar det här kapitlet hur jag skapar &PHP;-dokumentationsträdet för min egen användning. Innan du börjar skapa din egen dokumentation, vill du kanske titta på &quantaplus;s arkiv för att se om någon redan har gjort den här uppsättningen. Det finns två delar i processen. Först måste du skaffa befintlig dokumentation för taggspråket, skriptspråket eller något annat språk som du är ute efter. Därefter måste du skapa docrc-filen. Det första får du klara själv, det andra är vad vi täcker här. Den allmänna formen för docrc-filen är följande: #KDE konfigurationsfil
[Tree]
Doc dir=sökväg, relativt denna filen, till dokumentationens HTML-filer t.ex. php42/
#toppnivåelement
Top Element=Din beskrivning av de här dokumenten t.ex. PHP 4.2 dokumentation
Section 1=Section1.html
Section 2=#Sec2.1,#Sec2.2,#Sec2.3
Sec2.1=Sec2.1.html
Sec2.2=Sec2.2.html
Sec2.3=Sec2.3.html
...
[Context]
ContextList=func1,func2,tag1,tag2,tag3
func1=func1.html
func2=func2.html
tag1=tag1.html
tag2=tag2.html
tag3=tag3.html
Filen docrc är uppdelad i två avdelningar: Tree (träd) och Context (Sammanhang). Avdelningen Tree definierar presentationsaspekter för dokumentet under dokumentationsfliken. Du ser till exempel att i &PHP;-dokumentationen, har du något som liknar det här: Med referens till ovanstående, ser min &PHP; docrc ut så här: #KDE konfigurationsfil
[Tree]
Doc dir=php42/
#toppnivåelement
Top Element=PHP 4.2 dokumentation
PHP 4.2 dokumentation=Innehållsförteckning,#Komma igång,#Språkreferens
Innehållsförteckning=index.html
Komma igång=Inledning, ...
Inledning=introduction.html
...
Språkreferens=Grundläggande syntax, ...
Grundläggande syntax=language.basic-syntax.html
...
Observera # framför Komma igång och Språkreferens. Det anger att de är delinnehåll i trädet och har eget innehåll. Jag tror inte det finns en angiven gräns för djupet här (utom det som dikteras av sunt förnuft) - använd din egen bedömning. För innehållsförteckningen, ser du att den direkt refererar till en fil (och som en konsekvens, visas den längst ner i trädvyn, kataloger kommer först). Mellanslag påverkar ingenting negativt, men se upp med tecknen & och <. Dessa ska troligen ersättas med & och < i alla &quantaplus; &XML;-baserade resursfiler. Sammanhangsavsnittet är avsnittet i docrc-filen som används för att möjliggöra sammanhangsberoende hjälp. Om du till exempel skriver ett &PHP;-skript och vill se dokumentationen för funktionen mysql_fetch_array, markerar du helt enkelt funktionen och trycker sedan &Ctrl;H för sammanhangsberoende hjälp. Dokumentationen om mysql_fetch_array visas omedelbart. Det finns bara två typer av poster här: sammanhangslistan och filassociationsraderna. SammanhangslistaMycket enkel. Det här är bara en lista av sammanhangsposter åtskilda med kommatecken, som du vill ha tillgängliga (för &PHP; är det funktionerna i &PHP;). FilassociationsraderDe är på formen sammanhangspost = HTML-dokumentsida. T.ex. acos=function.acos.html. En rensad version av mitt docrc sammanhangsavsnitt ser ut som följer: #Nyckelord för sammanhangsberoende hjälp
[Context]
ContextList=abs,acos,acosh,addcslashes,addslashes,...
abs=function.abs.html
acos=function.acos.html
acosh=function.acosh.html
addcslashes=function.addcslashes.html
addslashes=function.addslashes.html
...
Nu kan du bara spara din docrc-fil. Spara den i $HOME/.kde/share/apps/quanta/doc eller $TDEDIR/share/apps/quanta/doc för lokal eller global användning. Skapa sedan en katalog (den som anges i docrc-filen) i samma katalog som docrc-filen finns, och kopiera &HTML;-sidorna dit. Du måste starta om &quantaplus;, och då ser du dina egna dokument. När du väl är säker på att de är bra, och värda att dela, skicka docrc-filen tillsammans med en beskrivning av passande information om vilka dokument du använde till &quantaplus;s arkiv för användning av &quantaplus;s gemenskap. Du blir inte rik, men du känner dig nöjd med vetskap om att du bidragit till den bästa webbutvecklingsmiljön som finns. Dela resurserDu är inte ensam med &quantaplus;. Det är möjligt att dela olika resurser (DTEP-paket, verktygsrader med åtgärder, skript, mallar) med andra. Det finns två sätt att göra det: Skicka med e-postResurser kan skickas med e-post till vänner, kollegor eller till vem du vill. Du ser menyalternativet Skicka med e-post på olika ställen, som DTDSkicka DTD-paket (DTEP) med e-post, VerktygsraderSkicka verktygsrad med e-post, och i den sammanhangsberoende menyn för filer och kataloger i träden Mallar och Skript. Ladda upp till huvudservernResurser kan laddas upp till vårt huvudarkiv, där alla andra användare av &quantaplus; kan ladda ner dem. Bidragen granskas och görs bara tillgängliga om vår grupp anser dem riktiga och användbara. För att skapa ett giltigt bidrag, föreslår vi att du signerar resursen. Därför behöver du en GPG/PGP-nyckel. Informationen används för att verifiera resursens ursprung, både av vår grupp och av de som laddar ner den.Om hur resurser hämtas från huvudservern, se .När du laddar upp blir du tillfrågad om att ange lösenordsfrasen för din hemliga GPG-nyckel (lösenordsfrasen lagras inte), och i fallet med flera hemliga nycklar, kommer du att kunna välja den du vill använda. Fyll i indatafälten i dialogrutan Dela heta nyheter (Webbadress för förhandsgranskning kan få förbli tom) och starta uppladdningen genom att klicka på Ok.Uppladdningen kan startas från DTDLadda upp DTD-paket (DTEP), VerktygsraderLadda upp verktygsrad, och i den sammanhangsberoende menyn för filer och kataloger i träden Mallar och Skript. Hämta resurserDet är möjligt att uppgradera &quantaplus; utan att skaffa en ny version, genom att hämta nya resurser som DTEP-paket, verktygsrader med åtgärder, mallar, skript och dokumentation. En möjlighet är att du fick resurser med e-post, eller har laddad ner dem från en webbserver. Då måste du oftast installera dem för hand. Om du har tur får du också ett installationsskript när du laddar ner resursen. Men &quantaplus; har en dedicerad server som lagrar resurser som antingen inte finns med i huvuddistributionen på grund av deras storlek eller att de sällan används, eller var senare bidrag av användare. Dessa resurser installeras automatiskt. Ladda ner sådana resurser i de olika menyalternativen Ladda ner. Du hittar dem under DTDLadda ner DTD-paket (DTEP), VerktygsraderLadda ner verktygsrad, och i den sammanhangsberoende menyn i ett tomt område eller topnivåobjekt i träden Mallar, Skript och Dokumentation. Efter en resurs har laddats ner, men innan den installeras, verifierar &quantaplus; om resursen är giltig genom att kontrollera integriteten och signaturen. I händelse av problem varnas du, och kan bestämma om du vill fortsätta eller inte. Läs varningsdialogrutorna noggrant. Om integriteten är riktig och resursen är rätt signerad, visas ändå en informationsdialogruta så att du kan se vem som skapade resursen. Försäkra dig om att du bara installerar resurser från pålitliga källor, särskilt verktygsrader och skript!Konvertera en DTD till en &DTEP;Det är möjligt att arbeta med XML-språk som för närvarande inte stöds av &quantaplus; genom att skapa ett DTEP-paket. Men det kan ta tid att skapa den, eftersom du kan behöva skriva hundratals taggfiler med tagXML-format. Det finns förstås ett trevligare sätt att göra det på, genom att automatiskt konvertera en DTD till ett DTEP-paket. Konverteringen kan startas från menyn DTDLadda och konvertera DTD. Välj .dtd-filen som definierar den DTD du vill använda, och därefter visas följande dialogruta: Posterna är:Målkatalognamn: Den nyskapade &DTEP; kommer att få detta namn i katalogen $TDEHOME/share/apps/quanta/dtep. Namn: Namnet (definitionssträngen) på DTD:nSmeknamn: Namnet på en &DTEP; synligt för användaren!DOCTYPE-definitionsrad: Strängen som ska finnas i taggen !DOCTYPE, som HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"DTD-webbadress: Webbadressen som pekar på DTD-filenStandardändelse: Filändelsen som oftast används för filer som skrevs med denna DTDSkiftlägeskänsliga taggar och egenskaper: Självförklarande. Oftast sant för XML-språksvarianterFinjustera DTEP efter konvertering: Om markerad, öppnar &quantaplus; editorn för &descriptionrc; när konverteringen är klar, så att du kan finjustera din nyskapade &DTEP;. Det rekommenderas att alternativet lämnas markerat.