package Ġgy . roach . asci id oc . extensions Ċ Ċ import Ġnet . sourceforge . plant uml . File Format Ċ import Ġnet . sourceforge . plant uml . File Format Option Ċ import Ġnet . sourceforge . plant uml . Source String Reader Ċ import Ġorg . asci ido ctor . ast . Content Model Ċ import Ġorg . asci ido ctor . ast . Structural Node Ċ import Ġorg . asci ido ctor . extension . Block Processor Ċ import Ġorg . asci ido ctor . extension . Contexts Ċ import Ġorg . asci ido ctor . extension . Name Ċ import Ġorg . asci ido ctor . extension . Reader Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . nio . charset . Charset ĊĊ Ċ @ Name (" latex ") Ċ @ Contexts ( Contexts . LIST ING ) Ċ @ Content Model ( Content Model . COMP O UND ) Ċ class ĠLat ex Block Processor Ġ: ĠĠ ĠBlock Processor (){ ĊĠĠĠ Ġoverride Ġfun Ġprocess ( parent : ĠStructural Node , Ġreader : ĠReader , Ġattributes : ĠMutable Map < String , ĠAny >): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġreader . read () ĊĠĠĠĠĠĠĠ Ġval Ġsource Reader Ġ= ĠSource String Reader ( content ) ĊĠĠĠĠĠĠĠ Ġval Ġfilename Ġ= Ġattributes . get OrDefault (" 2 ", Ġ"${ System . currentTimeMillis ()} _ unk ") ĊĠĠĠĠĠĠĠ Ġval Ġparent f Ġ= ĠFile ("${ reader . dir }/ images /") ĊĠĠĠĠĠĠĠ Ġif (! parent f . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent f . mkdir s () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġf Ġ= ĠFile ("${ reader . dir }/ images /$ filename . svg ") ĊĠĠĠĠĠĠĠ Ġif ( f . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf . delete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġos Ġ= ĠFileOutputStream ( f ) ĊĊĠĠĠĠĠĠĠ Ġsource Reader . output Image ( os , ĠFile Format Option ( File Format . SVG )) ĊĊĠĠĠĠĠĠĠ Ġ// val Ġdesc Ġ= Ġreader . generate Image ( os , ĠFile Format Option ( File Format . SVG )) ĊĠĠĠĠĠĠĠ Ġos . close () ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Lines Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġcontent Lines . add (" .$ filename "); ĊĠĠĠĠĠĠĠ Ġcontent Lines . add (" image :: images /$ filename . svg [ Interactive , opts = interactive ]"); ĊĊĠĠĠĠĠĠĠ Ġparse Content ( parent , Ġcontent Lines ) ĊĠĠĠĠĠĠ Ġ// Ġval Ġsvg Ġ= ĠString ( os . toByteArray (), ĠCharset . forName (" UTF - 8 ")) ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ }