package Ġlink . kotlin . scripts Ċ Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Category Impl Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Content Impl Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Entry Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Entry Impl Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Feed Impl Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Image Impl Ċ import Ġcom . rome tools . rome . io . Syn d Feed Output Ċ import Ġjava . io . String Writer Ċ import Ġjava . time . Instant Ċ import Ġjava . util . Date ĊĊĊ Ċ interface ĠR ss Generator Ġ{ ĊĠĠĠ Ġfun Ġgenerate ( name : ĠString , Ġlimit : ĠInt ): ĠString Ċ } Ċ Ċ class ĠDefault R ss Generator ( ĊĠĠĠ Ġprivate Ġval Ġarticles : ĠList < Article > Ċ ) Ġ: ĠR ss Generator Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġgenerate ( name : ĠString , Ġlimit : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfeed Ġ= ĠSyn d Feed Impl (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Kotlin ĠProgramming ĠLanguage " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġ" https :// kotlin . link /" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuri Ġ= Ġ" https :// kotlin . link /$ name " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" News , Ġblog Ġposts , Ġprojects , Ġpod casts , Ġvideos Ġand Ġother . ĠAll Ġinformation Ġabout ĠKotlin ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfeed Type Ġ= Ġ" atom _ 1 . 0 " Ġ// Ġor ĠRSS 2 ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ġ= ĠSyn d Image Impl (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġ" https :// kotlin . link / favicon . ico " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdocs Ġ= Ġ" https :// validator . w 3 . org / feed / docs / rss 2 . html " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Ġ= Ġ" rus lan @ ibr ag im ov . by Ġ( R us lan ĠI br ag im ov )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb Master Ġ= Ġ" rus lan @ ibr ag im ov . by Ġ( R us lan ĠI br ag im ov )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright Ġ= Ġ" CC 0 Ġ 1 . 0 ĠUniversal Ġ( CC 0 Ġ 1 . 0 )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Ġ= Ġ" en " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSyn d Category Impl (). apply Ġ{ Ġthis . name Ġ= Ġ" Kotlin " Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSyn d Category Impl (). apply Ġ{ Ġthis . name Ġ= Ġ" JVM " Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSyn d Category Impl (). apply Ġ{ Ġthis . name Ġ= Ġ" Programming " Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSyn d Category Impl (). apply Ġ{ Ġthis . name Ġ= Ġ" Android " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerator Ġ= Ġ" Kotlin Ġ 1 . 1 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublished Date Ġ= ĠDate . from ( Instant . now ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentries Ġ= Ġarticles . take ( limit ). map (:: to Syn d Entry ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠString Writer () ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠSyn d Feed Output () ĊĠĠĠĠĠĠĠ Ġoutput . output ( feed , Ġwriter ) ĊĠĠĠĠĠĠĠ Ġreturn Ġwriter . buffer . toString () ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġto Syn d Entry ( article : ĠArticle ): ĠSyn d Entry Ġ{ ĊĠĠĠ Ġreturn ĠSyn d Entry Impl (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġuri Ġ= Ġarticle . url ĊĠĠĠĠĠĠĠ Ġlink Ġ= Ġ" https :// kotlin . link / articles /${ article . filename }" ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġarticle . title ĊĠĠĠĠĠĠĠ Ġauthor Ġ= Ġarticle . author ĊĠĠĠĠĠĠĠ Ġdescription Ġ= ĠSyn d Content Impl (). also Ġ{ Ġcontent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent . value Ġ= Ġarticle . description ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ