Upload failed. Maybe wrong permissions?

User Tools

Site Tools






Ninda-program

Ez a Ninda programom felhasználói dokumentációja, abból a célból, hogy egyszer majd lehessen írni egy olyat, ami bármely regényhez alkalmas. Megérné a bíbelődést, mert ez a mostani nagyon sokat segít a Ninda írásában. Fejlesztői dokumentációt nem írok, mert a föld legrosszabb programozója vagyok, és ennek a programnak a kódja még az én szintemhez képest is hihetetlenül borzalmas, olyan rémületesen agyonbonyolított adatstruktúrákat ködösít össze, hogy én se tudok rajta elmenni, nem tudok már mit tenni, ilyenre sikerült.

A szöveg szerkezete

Tehát a jelenleg már 26 kilobyte-os programka inputja az a két (később majd több) szövegfile, amiket Sweetie-ről egy nyomógombbal töltök föl a szerver egy adott pontjára, és e pillanatban 680 K-ban tartalmazzák a Ninda szövegét, ezt hívjuk nyersnek. A file-ok sorrendjét majd külön kell megadni, amikor elérjük a második részt, mert az első rész jele N (mint Ninda), a második rész pedig az ábécében előrébb álló betű lesz, L vagy A, még nem döntöttem el, melyik jön előbb, ezért a program onnantól nem tudná magától helyesen.
  A szöveg szerkezete a következő.
  1. Az alfaparancs, ezt a kifejezést most loptam az Orion űrhajóból, lásd később.
  2. Egy bevezető szövegrész, ami tartalmazza a makródefiníciókat, a regény szennycímnegyedét, ezekkel a programnak nincsen dolga.
  3. A regényszöveg, ami pillanatnyilag 89 részből áll. Ebből 84-nek szövege is van, a többi csak cím, illetve cím előtti idézet. Minden cím előtt áll egy idézet. Ebben a Ninda teljesen eltér az összes többi regényemtől. Ebben is.
  4. A szöveg jelenleg 84 szakaszból áll, amiket az Ílgaszaumiból vett kifejezéssel sómirnak hívok, de ez megtetszett és más műveknél is alkalmazni fogom. Minden sómir szerkezete a következő.
  – Egy sorszámmakró, ami a kész rendereltben egy sorszámot helyez a sómir elé.
  – Egy ID makró, ami azonosítja a sómirt. Paramétere két szó: a sómir ID-je és egy leírás, például nb-3 janníhaum.
  – Egy idézetmakró, aminek két paramétere van: az idézet szövege és a forrása.
  – Egy opcionális időbélyegző-makró, aminek négy paramétere van, ezek közlik, hogy hol és mikor vagyunk, de a sorrendjük nincs rögzítve, az idővonal elkészítésénél magára a paraméterek szövegére támaszkodunk.
  – Végül a sómir szövege.

A program két outputot generál. Az egyik egy weboldal, a kapott URL-paramétereknek megfelelően; a másik egy renderelhető Vicky-nyelvű oldal a szerver egyik rejtett zugában; voltaképpen egyszerű másolat a nyers szövegről, a file-okat egybefűzve, épp csak kidobja az alfaparancsot és tesz a szöveg elejére egy időjelet, hogy mikor készült a szövegpéldány.
  Persze valahányszor egy linket megnyomunk a weboldal bármelyik pontján, az egész program újra lefut, tehát mindig a szöveg friss változatát dolgozza fel, nem tárol semmit.

Az oldal szerkezete

Főmenü – tartalom – a főmenü még egyszer – lábléc.
  A főmenü hat pontból áll, abban a sorrendben, ahogy eszembe jutott implementálni a funkciókat: sómirtábla, sómirhossz, irodalom, szótár, jelek, idővonal. Az első háromnak a tetején van egy színes táblázat, e pillanatban így néz ki:
  nip1.jpg
  Szerintem csinos. Az idézetek forrásait jelöli, minden szerzőnek saját színe van (Aini lila, Lí-Nindaran zöld, Ninda kék, Sileni sárga, Szinensi piros, az Ílgaszaumi szürke, barna és levendulaszín), ezen belül minden műnek más árnyalata. Ugyanakkor ezek linkek is, mint mindenhol az oldalon, ahol sómirazonosító jelenik meg, az link egy külön oldalra, ahol az illető sómir szövege jelenik meg.

Sómirtábla

Ez kábé a regény tartalomjegyzéke. A címeket balra kiemeli, aztán jönnek az idézetek forrásszínnel és ID-vel, és a jobb szélen a hosszuk relatív és abszolút szószámlálóval.
  nip2.jpg

Sómirhossz

Ez az oldal nagyjából ugyanolyan, mint az előző, csak a címeket nem tartalmazza, és a sómirokat hosszúság szerint rendezi, abból a törekvésből fakadóan, hogy szeretném a hosszúságukat nagyjából egy szinten tartani. E pillanatban átlagosan 1019 szavasak, amihez képest –118 és +141 szó között vannak az egyes sómirok; nem számítva ide az egyiket, amit nemrég szétválasztottam kétfelé, és az egyikhez elkezdtem hozzáírni.
  Ebben a listában sárgával kiemeljük az utolsó sómir azonosítóját, hiszen ez valahol a lista közepén van aszerint, hogy milyen hosszú, és írás közben időnként meg akarom nézni, hogy hosszúság szerint hol foglal éppen helyet. S itt van az alfaparancs egyik funkciója is: ha alfaparancsként benne van a szövegben egy sómirazonosító, akkor azt is kiemeljük zölddel. Az egy már korábban írt sómir, aminek a szövegén éppen javítgatok, és látni akarom, hogy ennek hatására hová kerül hosszúság szerint.

Irodalom

A regény valójában két fonálon manifesztálja magát. Az egyik maga a regény, a másik az idézetek sora, amik egyfelől kötődnek a regény tartalmához (de lazán, sok sómir tartalmához olyan idézet kapcsolódik, ami egy egészen másik sómirnál szerepel), másfelől ők maguk is tartalmi láncot alkotnak, egymással is meg egy-egy művön belül is. Ezért kell az irodalomjegyzék. Hat szerzőtől vannak idézeteink (technikailag az Ílgaszaumit egyetlen szerzőnek tekintve), összesen huszonkét műből – pillanatnyilag –, és nyolcvankét helyről vettünk nyolcvankilenc idézetet, merthogy vannak helyek, ahonnan többet is. Az irodalomjegyzék két részből áll. Először leírjuk csak a címeket, számlálókkal, forrásszínekkel:
  nip3.jpg
  Aztán ezt az egészet még egyszer, most már az idézetek teljes szövegével, forráshelyek szerint rendezve:
  nip4.jpg

Szótár

Ez a legkevésbé fontos. A szindor (és sielunt) nyelvű szavakat tartalmazza, annak érdekében, hogy a tömérdek ékezetes betűt többedszeri említéskor is helyesen írjam le. Egyszerűen a kérdéses ékezetes betűket tartalmazó szavak kikeresésével áll elő. 436 szó van benne e pillanatban, ami jóval több a valóságosnál, hiszen a magyar ragozott alakok elkülönítésével nem vacakoltam, és azért ilyen kevés mégis, mert hát Szindoria másodlagos szerepű.
  vỳriĩs Vÿssâkaùḩĩ Vÿssâkaùḩĩra Vỹssůań Vỳssuń Vỹtuń-tenger vỳurd Vỳurd Vỹŷda-hegy Vỹŷdaiśśéir Vỹŷdaiśśéirt Vỹỳl výŷrtïḩ ẘ Wɬaŷtìħ ŵndïìṙ ŵùɬèyṭ ẂẀnd ẂẀndĩń ẂẀndĩńban ẂẀndĩńról ẂẀnnaĩm-tóba ŵwt ẁẅuyn Ẅỳḩandâ Ẅỹlliâp Ŵỳorń Ỳ Ỳlîap Ylń Ÿlnâ Ÿlnânak Ÿlnât ỳlvīiś Ỳŋiɬ Yòdï ŷom ŷomot ỹoṙtièn ýṙn ỳṙnliêp ýrvý ỳt ŷw ŶÝ ỹỳ ÝŶdaśïèẽn ỸŶkin ȲYlmã ŶỲltrìi ŶȲmanãḩỳ ỲŸpi ỲŶpu ŶỸrsïń ŷỳs ŷỳsért ȳỹsin ȳỹsint ŶỸssinâàn ŷỳst ŶÝt ŶÝvel

Jelek

Ez a legterjedelmesebb és leguniverzálisabb rész. A szövegben jeleket lehet elhelyezni, amik három infót tartalmazhatnak: 1. egy fogalmat, ami szerepel a szövegben, 2. ennek magyarázatát vagy bármit, ami vele kapcsolatban feljegyzendő, 3. címkéket, amik segítenek a fogalmak csoportosításában. Például
  @j[hipnopédia|karisszinan|tech]
  Ezzel a hipnopédia címszavához beírtuk, hogy „karisszinan”, és elláttuk egy olyan címkével, hogy „tech”. Ez történetesen a na-10 sómirban van. A hipnopédia fogalma három helyen kapott jelet, ezért a bejegyzése így néz ki:
  nip5.jpg
  Ez akkor fog megjelenni, ha a jelek menüjében a H betűt vagy a tech szót választjuk; a menü így néz ki:
  nip6.jpg
  A bejegyzések tartalma automatikusan generálódik a fenti típusú makróhivatkozások segítségével (bár ezek makrói minőségükben nem tesznek semmit, a feldolgozóprogram csinál mindent). Zölddel a fogalom, barnával a címkék, lilával a sómirjelek (vagy ha ugyanabból a sómirból több is van, akkor „uo.”), fehérrel a magyarázat, ha van, mert az sem kötelező; ha a fogalomtár egy másik fogalma szerepel a magyarázatban, akkor az link lesz. S ha leírok egy címkét egy jelmakróban, akkor az a címke rögtön megjelenik a menü második sorában. A címkéket persze elég az adott fogalom egyik ismétlésénél kitenni, és ha egy másik ismétlésnél más címkéket írok, azok is érvényesek lesznek meg a korábbiak is.
  A magyarázat első jele lehet egy parancsjel, ami csinál valamit. A magyarázatban van, mert azt a makró egyszerűen eldobja, de a fogalomra hat. Mármint a feldolgozóprogramban. A renderelt szöveg nem változik.
   – a szó végi á, é betűt a, e-re cseréli (magyar ragozott szóalakok szótári formájához)
   – kisbetűsre cseréli (mondatkezdő helyzetű köznév)
   – nagy kezdőbetűre cseréli (van egy végig kisbetűs szövegrész, ami a tulajdonneveket is kisbetűvel tartalmazza)
   – minden szót nagy kezdőbetűre cserél (ugyanott, többszavas tulajdonnévhez)
  =valami= – a „valami” szót teszi a fogalom helyére
  / – a fogalmat kikurziválja, és mivel ezek hajók nevei, egyúttal a „hajó” címkét is ráteszi
  ®mit/mire – a fogalom nevében a „mit” kicseréli „mire”
  < – fölcseréli a két szót és vesszőt tesz közé (a szövegben Åmmaĩt ÎÌdaṙa áll, de a fogalomtárba úgy kerül, hogy ÎÌdaṙa, Åmmaĩt)
  A jelek némelyike normál billentyűzetről nem érhető el, de az enyémről igen, így gond nélkül igénybe vettem őket.
  Speciális címkék is vannak. Ilyen az „útvonal”. Ha ez a címke szerepel egy fogalomnál, akkor a magyarázatban legyen benne, hogy „útvonal 7.”, vagy akármilyen más szám, és akkor ábécé helyett ezeknek a számoknak alapján fogja rendezni az ehhez a címkéhez tartozó fogalmakat, így az Aulang Laip útvonala időrendben követhető. Szintén speciális címke a „nincs”, ami automatikusan kerül rá azokra a fogalmakra, amik még nem kaptak címkét.
  Speciális fogalmak is vannak. Ha egy fogalom első jele - vagy !, akkor az speciális. Ezeket külön kiteszi a láblécbe, és kiszámítja hozzá, hogy a teljes szöveghez képest hol találhatók, százalékban. Eddig egyetlenegy ilyet használok, a --- jelet, ami azt jelzi, hogy ezek a jelek meddig vannak beírva a szövegbe. E pillanatban a szöveg 88%-ában megvannak.

Idővonal

nip7.jpg
  Ez kétféle táblázatot készít a szövegben található időbélyegzőkről. Az első csak a feltüntetett időpontokat tartalmazza, ezért csak néhány sómirazonosító jelenik meg; a többinél nincs időbélyegző. Aztán közli a dátumot, az időpontot és a helyet, illetve ami ezek közül fel van tüntetve az időbélyegzőben. Mivel az időbélyegzők paramétereinek sorrendjét nem rögzítettem, nem sorrend alapján ismeri fel, hogy mi micsoda, hanem felismeri a szúni és szindor dátumokat meg a helyszíneket, amik eddig előfordultak.
  A másik táblázat viszont minden napot feltüntet szúni időszámítás szerint (egyelőre kilencven napot írtam bele, a harminckilencedik napon járunk), és ahol van időbélyegző, ott jelzi a sómirazonosítót. Ez segít átlátni, hogy két eseménysor között mennyi idő telt el.

Backdoor

Bizonyos URL-paraméterek hatására az egész oldal helyett csak egyetlen adatmorzsa jelenik meg, ezeket Sweetie-n egy KWGT-widget elemeiként jelentetem meg.
  a – a sómirok átlagos szószáma
  s – az utolsó vagy az alfaparancsban megnevezett sómir szószáma
  u – az utolsó vagy az alfaparancsban megnevezett sómir jele
  w – a teljes szöveg szószáma :: az idézetek szószáma

»»»»»»