import Ġjava . io . File ĊĠ ĊĊĠĠĠ Ġval Ġicon Dir Ġ= ĠFile (" icons ") ĊĠĠĠ Ġval Ġout File Ġ= ĠFile (" news _ t ube . html ") ĊĊĠĠĠ Ġval Ġlink File Ġ= ĠFile (" links . txt ") ĊĠĠĠ Ġvar Ġlines Ġ: ĠList < String > Ġ Ġ= Ġlink File . read Lines () ĊĊĠĠĠ Ġvar Ġhtml Ġ= Ġget Html Header () ĊĊĠĠĠ Ġlines . forEach Ġ{ Ġ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( line . trim (). contains (" ĠĠ Ġ" )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġ( name , url ) Ġ= Ġline . trim (). split ( Regex (" Ġ+ ")) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon Ġ= ĠFile ( icon Dir ," $ name . jpg ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( icon . exists ()){ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! Ġurl . contains (" http ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// $ url " ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhtml +="< a Ġhref ='$ url ' ĠĠ Ġtarget ='_ blank ' Ġ Ġ>< img Ġsrc ='$ icon ' Ġ Ġ></ a >\ n " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// println ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} else Ġif ( line . contains (" span ") Ġ&& Ġline . contains ("< ")){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhtml += line +"\ n " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprintln ( html ) ĊĊĠĠĠ Ġout File . write Text ( html ) ĊĊĊĠ ĊĊĊ Ċ fun Ġget Html Header () Ġ= Ġ""" Ċ Ċ < html > Ċ < head > Ċ < meta Ġname =" viewport " Ġcontent =" width = device - width , Ġinitial - scale = 1 "> Ċ < title > News ĠChannels </ title > Ċ < style > Ċ img Ġ{ ĊĠĠ Ġborder : Ġ 3 px Ġsolid Ġ# ddd ; ĊĠĠ Ġheight : Ġ 1 2 0 ; ĊĠĠ Ġwidth : Ġ 1 2 0 ; ĊĠĠ Ġpadding : Ġ 4 px ; ĊĠĠ Ġmargin : Ġ 6 px ; ĊĠĠ Ġborder - radius : Ġ 5 %; ĊĠĠ Ġbox - shadow : Ġ 8 px Ġ 8 px Ġ 8 px Ġ- 5 px Ġ Ġblack ; Ċ } Ċ Ċ . tab Ġ{ ĊĠ Ġoverflow : Ġhidden ; ĊĠ Ġborder : Ġ 1 px Ġsolid Ġ# ccc ; ĊĠ Ġbackground - color : Ġ# f 1 f 1 f 1 ; Ċ } Ċ Ċ /* ĠStyle Ġthe Ġbuttons Ġinside Ġthe Ġtab Ġ*/ Ċ . tab Ġbutton Ġ{ ĊĠ Ġbackground - color : Ġinherit ; ĊĠ Ġfloat : Ġleft ; ĊĠ Ġborder : Ġnone ; ĊĠ Ġoutline : Ġnone ; ĊĠ Ġcursor : Ġpointer ; ĊĠ Ġpadding : ĠĠ 8 px Ġ 1 4 px ; ĊĠ Ġtransition : Ġ 0 . 3 s ; ĊĠ Ġfont - size : Ġ 1 5 px ; Ċ } Ċ Ċ /* ĠChange Ġbackground Ġcolor Ġof Ġbuttons Ġon Ġhover Ġ*/ Ċ . tab Ġbutton : hover Ġ{ ĊĠ Ġbackground - color : Ġ# ddd ; Ċ } Ċ Ċ /* ĠCreate Ġan Ġactive / current Ġtab link Ġclass Ġ*/ Ċ . tab Ġbutton . active Ġ{ ĊĠ Ġbackground - color : Ġ# ccc ; Ċ } Ċ Ċ /* ĠStyle Ġthe Ġtab Ġcontent Ġ*/ Ċ . tab content Ġ{ ĊĠĠ Ġ/* ĠĠĊĠĠ Ġdisplay : Ġnone ; ĠĠĊĠ Ġpadding : Ġ 4 px Ġ 4 px ; ĊĠ Ġborder : Ġ 0 px Ġsolid Ġ# ccc ; ĊĠ Ġborder - top : Ġnone ; ĊĠ Ġ*/ Ċ } Ċ Ċ </ style > Ċ < script > Ċ function Ġopen City ( evt , Ġcity Name ) Ġ{ ĊĠ Ġvar Ġi , Ġtab content , Ġtab links ; ĊĠ Ġtab content Ġ= Ġdocument . getElementsByClassName (" tab content "); ĊĠ Ġfor Ġ( i Ġ= Ġ 0 ; Ġi Ġ< Ġtab content . length ; Ġi ++) Ġ{ ĊĠĠĠ Ġtab content [ i ]. style . display Ġ= Ġ" none "; ĊĠ Ġ} ĊĠ Ġtab links Ġ= Ġdocument . getElementsByClassName (" tab links "); ĊĠ Ġfor Ġ( i Ġ= Ġ 0 ; Ġi Ġ< Ġtab links . length ; Ġi ++) Ġ{ ĊĠĠĠ Ġtab links [ i ]. className Ġ= Ġtab links [ i ]. className . replace (" Ġactive ", Ġ""); ĊĠ Ġ} ĊĠ Ġdocument . getElementById ( city Name ). style . display Ġ= Ġ" block "; ĊĠ Ġevt . currentTarget . className Ġ+= Ġ" Ġactive "; Ċ } Ċ </ script > Ċ Ġ</ head > ĠĠĊĠ ĊĠ Ċ < body Ġ Ġ> Ċ Ċ < div Ġclass =" tab "> ĊĠ Ġ< button Ġclass =" tab links " Ġonclick =" open City ( event , Ġ' Can ada ')"> Can ada </ button > ĊĠ Ġ< button Ġclass =" tab links " Ġonclick =" open City ( event , Ġ' Business ')"> Business </ button > ĊĠ Ġ< button Ġclass =" tab links " Ġonclick =" open City ( event , Ġ' English ')"> English </ button > ĊĠ Ġ< button Ġclass =" tab links " Ġonclick =" open City ( event , Ġ' US ĠLocal ')"> US ĠLocal </ button > ĊĠĠ Ġ< button Ġclass =" tab links " Ġonclick =" open City ( event , Ġ' UK ')"> UK </ button > ĊĠĠ Ġ< button Ġclass =" tab links " Ġonclick =" open City ( event , Ġ' Other ')"> Other </ button > ĊĠ Ċ </ div > Ċ Ċ """. trim Indent () ĊĊĊ