Egna mallar
Från DisWiki
Innehåll |
Egna mallar
Du kan skapa helt egna mallar eller egna varianter av mallar.
Enklast kopieras en mall som du vill utgå ifrån för att sedan redigera denna.
I mallarna används standard HTML-kod som kompletteras med Disgen-funktioner. Disgen-funktionerna beskrivs nedan.
Ändringar av typsnitt, färger och liknande kan enkelt göras i den Style Sheet (css-fil)[1] som finns för resp mall.
Används HTML-koden för kommentarstext , <!-- valfri kommentarstext --> , kommer denna att exporteras och därmed visas i de skapade HTML-filerna. Kommentarer som endast ska visas i mall-filen, ex.vis som hjälp vid ändringar av själva mallen, kan man använda Disgens egen kommentarsmarkering <!--! Valfri kommentarstext -->, dessa kommentarer exporteras inte till HTML-filerna.
Egen katalog
Egna mallar, eller varianter av mallar, skapas alltid i din data-mapp, ex-vis C:\Users\Users\anvandarnamn\Disgen\Stand.
Här skapar du först en mapp som heter HtmlMallar, i denna mapp skapar du sedan en mapp med din egen mall.
Denna bör ges ett annat ett namn än de redan existerande mallarna då den annars kommer att ersätta den som är installerad med programmet.
Den egna mappen under HtmlMallar i datamappen döps till lämpligt namn, exempelvis Egen mall 1, Kalle1 eller annat valfritt namn.
Namnet kan innehålla mellanslag.
Filstruktur
Disgen söker på två ställen efter mallar, den letar först efter mallarna i din datamapp, du ser var den ligger någonstans längst ner till höger i Disgen-fönstret. Det är här ev. egendefinierade HTML-mallar placeras.
sedan tittar Disgen i program-mappen, C:\Program (X86)\Dis\Disgen2019\HtmlMallar. Här ligger den version av mallarna som kom med installationen av den aktuella Disgen-versionen
Finns exempelvis mallen Disgen01 i båda dessa mappar så använder Disgen den från din datamapp
Följande filer behövs för att Disgen ska kunna göra en HTML-export:
Beskrivning.ini
Innehåller 4 sektioner,
- Description - som med text beskriver mallen och dess utseende. Denna text visas i beskrivningsrutan vid mall-val i Disgen.
- Files - definierar vilka filer förutom Disgens standardfiler som ska bearbetas och exporteras.
- FileCopy - Filerna kopieras som de är utan någon bearbetning,till mappen dit HTML-exporten sker.
- Ident - Några variabler som definierar namn, version, versionsdatum samt bild att visa vid mallval.
exempel från mall Disgen01:
[Description]
Typsnitt Arial.
Ljusbrun bakgrund i ansedlar och tavlor.
Blå bakgrund i register.
Stilmallar (style sheet) W3C-validerade till nivå 3.
Anpassad för W3C Validering
Namn klickbart för länk till ansedel
[Files]
Index.htm
[Filecopy]
ansedel2.gif
screen.css
print.css
autorun.inf
bg.jpg
bg2.jpg
nextarrow.jpg
prevarrow.jpg
tavla1.gif
tavla2.gif
[Ident]
Name=Disgen 01
Version=1
issuedate=20190222
pic=Disgen01.jpg
De texter som är skrivna med kursiv stil ovan ändras till eget namn, datum för senaste ändringen av mallen resp filnamn på bildfil som visar utseende på mallen. Variablen Version och ska normalt INTE ändras, dessa ändras av Disgenutvecklarna om Disgenprogrammet görs om så att de gamla mallarna inte längre är kompatibla (inte fungerar) med programmet.
Filerna i sektionen Files bearbetas av Disgen vid HTML-exporten, d.v.s. Disgens funktioner och variabler kan användas.
Filerna i sektionen FileCopy kopieras som de är, utan någon bearbetning alls.
Själva mall-filerna:
- Antavla2.htm - Antavla med 2 generationer i tavlan
- Antavla3.htm - Antavla med 3 generationer i tavlan
- Antavla4.htm - Antavla med 4 generationer i tavlan
- OversiktAn1.htm - Översikt med 1 generation i tavlan
- OversiktAn2.htm - Översikt med 2 generationer i tavlan
- OversiktAn3.htm - Översikt med 3 generationer i tavlan
- OversiktAn4.htm - Översikt med 4 generationer i tavlan
- Stamtavla2.htm - Stamtavla med 2 generationer i tavlan
- Stamtavla3.htm - Stamtavla med 3 generationer i tavlan
- Stamtavla4.htm - Stamtavla med 4 generationer i tavlan
- PersonIndex.htm - Indexsida där personerna räknas upp i alfabetisk ordning sorterat på efternamn
- EfternamnsIndex.htm - Efternamnsförteckning
- OrtsIndex.htm - Ortsregister, med personer med koppling till respektive ort listas.
- OrtsBeskrivning.htm - Beskrivning av orter, information om Disgenorter.
Övriga filer som bör/kan finnas i mall-mappen:
- ikon-filer som ex.vis ansedel.gif, stamtavla.gif, tavla.gif som man använder i mallarna
- CSS-fil (Style sheet)
- Egenxx.jpg - en jpg-bild som visar hur mallen ser ut när man väljer mallar i Disgen.
- autorun.inf
I Disgen 2016.5 och tidigare versioner användes funktionen [DGKopiera] i respektive mall-fil de används i, från och med Disgen 2016.6 skrivs filnamnen istället in i Beskrivning.ini under sektionen FileCopy.
Variabler
Följande variabler kan användas för att skriva ut information från Disgen på HTML-sidorna.
- [DGAllaOrtsIndexBokstaver]
- [DGAllaPersonIndexBokstaver]
- [DGFfmm]
- [DGIndexBokstav]
- [DGIndexIntervall]
- [DGIndexPunkt]
- [DGOrtnamn]
Textvariabler från språkfil, helt oberoende av aktuell person.
- [DGText(Textvariabel)] – Hämtar text från språkfilen för valt språk och skriver ut denna vid HTML-exporten. I den svenska språkfilen finns t.ex. denna rad: Namereg=Efternamnsregister. Ett anrop till funktionen [DGText(Namereg)] skriver då ut texten Efternamnsregister vid HTML-exporten.
Utskrift av information från notiser för aktuell person
- [DGTilltalsnamn] – Skriver ut det namn som markerats som tilltalsnamn (markerad med * direkt efter namnet för aktuell person vid HTML-exporten. Exempelvis är Beata tilltalsnamn för Anna Beata* Cecilia Andersdotter) .
- [DGForeTilltal] – Skriver ut de namn som angetts före namn markerats som tilltalsnamn, i exemplet ovan blir det Anna
- [DGEfterTilltal] – Skriver ut de namn som angetts efter namn markerats som tilltalsnamn, i exemplet ovan blir det Cecilia
- [DGEfternamn] – Skriver ut efternamnet på aktuell person, , i exemplet ovan blir det Andersdotter
- [DGYrken] – Hämtar innehållet från yrkesnotiserna för aktuell person och skriver ut dessa vid HTML-exporten.
- [DGAndraNotiserAnsedel]
- [DGBiografiNotiserAnsedel]
- [DGDodEllerBegravd]
- [DGFoddEllerDopt]
- [DGFotnotNummer]
- [DGFotnotText]
- [DGGifteNotis]
- [DGGifteNotiserAnsedel]
- [DGGiftPortrettFilnamn]
- [DGGiftPortrettText]
- [DGHuvudNotiserAnsedel]
- [DGKellText]
- [DGLevnadsar]
- [DGNamnAnsedel]
- [DGPortrettBredd]
- [DGPortrettFilnamn]
- [DGPortrettHojd]
- [DGPortrettText]
- [DGReferensAnBak]
- [DGReferensAnsedel]
- [DGReferensAnsedel2]
- [DGReferensTavla1]
- [DGReferensTavla2]
- [DGRelativGen0]
- [DGRelativGen1]
- [DGRelativGen2]
Utskrift av information om aktuell ort
- [DGKortOrtNamn] – Skriver ut ortsnamn (Ex.vis Ekås)
- [DGOrtNamn] - Skriver ut ortsnamn (Ex.vis Ekås, Skara Domkyrkoförsamling (R))
- [DGOrtTyp] - Skriver ut typ av ort (Gård, Stad, Land...)
- [DGRSVKod]- Skriver ut RSVkoden om sådan finns
- [DGLandskap] - Skriver ut Landskapom detta är satt
- [DGLatitud] - Skriver ut Latitud i Grader, minuter och sekunder
- [DGLongitud] - Skriver ut Longitud i Grader, minuter och sekunder
- [DGLatitudDec] - Skriver ut Latitud i deimal form
- [DGLongitudDec] - Skriver ut Longitud i deimal form
- [DGRT90X] - skriver ut position i X-led i RT90-format
- [DGRT90Y] - skriver ut position i Y-led i RT90-format
- [DGSWEREF99N] - skriver ut nordlig position i SWEREF99-format
- [DGSWEREF99E] - skriver ut östlig position i SWEREF99-format
- [DGMapZoom] - skriver ut inställd zoomfaktor for orten
- [DGOrtBeskrivning] - skriver ut ortsbeskrivningen
- [DGOrtBild] - filnamn för bild på orten
Funktioner
Följande funktioner är fördefinierade i Disgen och kan anropas från valfri mall
- [DGStartBild] – Hämtar namnet på den bildfil som angetts som startbild vid HTML-exporten. Exempel på änvändning: <IMG SRC="[DGStartBild]" WIDTH="60%" ALT=" ">
- [DGSidFot] – Skriver ut sidfot enlig de inställningar som gjorts vid HTML-exporten.
- [DGMallDef(Namn)] – Definierar början på en sub-rutin, i detta exemplet med namnet ”namn”. Namnet måste vara unikt.
- [/DGMallDef] – Definierar slut på en subrutin
- [DGMall(Namn)] – Anropar subrutin . Exempel på hur dessa funktioner används finns här DGMall
Följande 3 funktioner används inte fr.o.m Disgen 2016.6
- [DGHtmlCharset] - Hämtar aktuellt teckenuppsättning från vald språkfil, ex.vis "iso-8859-1" för svenska, och skriver ut raden <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> i htm-filen.
- [DGHtmlStart] - Läser in koden för valt språk från språkfilen och skriver in denna i raden <HTML Lang="sv">
- [DGKopiera filnamn1.gif, filnamn2.jpg, filnamn3.css] - kopierar filer till målkatalogen vid HTML-exporten, filnamnen separas med kommatecken och alla filerna skrivs på en rad.
Nedanstående funktioner kontrollerar om aktuell notistyp valts för utskrift vid HTML-exporten samt om det i så fall finns någon notis av denna typ. Anropar i så fall funktion som anges som argument nr två, denna funktion måste finnas definierad i mallen och det är i den man hämtar in informationen från notisen med hjälp av någon av funktionerna i föregående avsnitt (ex-vis [DGFotnotText]). Är villkoret inte uppfylls görs inget anrop.
- [DGMall(AllaFotnoter,FotnotMall)] - Fotnotsnotiser
- [DGMall(AllaGiften,GifteMall)] - Giftesnotiser
- [DGMall(AllaGiftetsBarn,BarnMall)] - Barn
- [DGMall(AllaIndexOrter,IndexOrt)]
- [DGMall(AllaIndexPersoner,IndexPerson)]
- [DGMall(AllaKellor,KellMall)] - Källor
- [DGMall(AllaMultiMedia,MultiMediaMall)] - Multimedianotiser
- [DGMall(BasProband,Titel)]
- [DGMall(BasProband,Överskrift)]
- [DGMall(f,AnPerson)]
- [DGMall(f,FarochMor)]
- [DGMall(ff,AnPersonForts)]
- [DGMall(fm,AnPersonForts)]
- [DGMall(m,AnPerson)]
- [DGMall(m,FarochMor)]
- [DGMall(mf,AnPersonForts)]
- [DGMall(mm,AnPersonForts)]
- [DGMall(proband,AnPerson)]
- [DGMall(TestAnsedel2Referens,RefAnsedel2)]
- [DGMall(TestAnsedelReferens,RefAnsedel)]
- [DGMall(TestAnsedelReferens,RefAnsedelSlut)]
- [DGMall(TestAnsedelReferens,RefAnsedelStart)]
- [DGMall(TestBiografiNotiserAnsedel,BiografiNotiserAnsedel)]
- [DGMall(TestEfternamnsRegister,EfternamnsRegisterMall)]
- [DGMall(TestFotnot,TestFotnotMall)]
- [DGMall(TestGiften,TestGifteMall)]
- [DGMall(TestGiftPortrett,GiftPortrettMall)]
- [DGMall(TestHuvudNotiserAnsedel,HuvudNotiserAnsedel)]
- [DGMall(TestKellor,TestKellMall)]
- [DGMall(TestMultiMedia,TestMultiMediaMall)]
- [DGMall(TestOrtsRegister,OrtsRegisterMall)]
- [DGMall(TestPersonRegister,PersonRegisterMall)]
- [DGMall(TestPortrett,PortrettMall)]
- [DGMall(TestReferensAnBak,RefBak)]
- [DGMall(TestReferensAnForts,RefForts)]
- [DGMall(TestTabellUpprepning,RefTabellUpprepning)]
- [DGMall(TestTavla1Referens,RefTavla1)]
- [DGMall(TestTavla2Referens,RefTavla2)]
- [DGMall(TestOrtBeskrivning,DGStartOrtReferens)] - Testar om man valt att skapa ortebeskrivningar, anropar i så fall subrutinen DGStartOrtReferens
- [DGMall(TestOrtNamn,UnderRubrik)] - Testar om [DGKortOrtNamn] och [DGOrtNamn] är lika, om inte anropas subrutinen UnderRubrik
- [DGMall(TestOrtBild,OrtBild)] - Testar om det finns någon bild kopplad till orten, anropar i så fall subrutinen OrtBild
- [DGMall(TestOrtTyp,OrtSlag)] - Testar om [DGOrtTyp] har något värde, anropar i så fall subrutinen OrtSlag
- [DGMall(TestRSVkod,RSVKod)] - Testar om [DGOrtTyp] har något värde, anropar i så fall subrutinen OrtSlag
- [DGMall(TestLandskap,Landskap)] - Testar om [DGOrtTyp] har något värde, anropar i så fall subrutinen OrtSlag
- [DGMall(TestLatLong,LongLat)] - Testar om [DGOrtTyp] har något värde, anropar i så fall subrutinen OrtSlag
- [DGMall(TestRT90,RT90)] - Testar om RT90-koordinaterna är satta för aktuell ort, anropar i så fall subrutinen RT90.
Första argumentet i anropet, t.ex. TestGiftPortrett, kontrollerar i om det finns något porträtt kopplat till giftesnotisen för aktuell person och anropar i så fall funktionen GiftPortrettMall, som ska finnas definierad i mallfilen.
Det första argumentet är definierat i Disgenprogrammet så nya sådana måste programmeras av DISGEN-utvecklarna. Det andra argumentet kan man däremot ändra vilket gör att man kan anropa funktionen på flera ställen i mallen och göra olika saker med hjälp av olika definierade funktioner.
Exempelvis:
[DGMall(TestGiften,TestGifteMall)]
[DGMall(TestGiften,GifteMall)]
Dessa två anrop kontrollerar samma argument, om aktuell person har en ett porträtt kopplat till sin giftesnotis och anropar då för funktionen TestGifteMall och sedan funktionen GifteMall. Båda dessa funktioner måste finnas definierade i mall-filen.