package Ġco . nums . intellij . a em . ht l . documentation Ċ Ċ import Ġco . nums . intellij . a em . ht l . definitions . H tl Block Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . xml . XmlAttribute Ċ Ċ object ĠH tl Block Doc Generator Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġblocks Docs Ġ= ĠH tl Block . values (). associate Ġ{ ĠPair ( it . type , Ġit . get Doc String ()) Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠH tl Block . get Doc String () Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< code >${ this . type }</ code > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< p >${ this . doc . description }</ p > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ block Detail (" Element ", Ġthis . doc . element )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ block Detail (" Content Ġof Ġelement ", Ġthis . doc . element Content )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ block Detail (" Attribute Ġvalue ", Ġthis . doc . attribute Value )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ block Detail (" Attribute Ġidentifier ", Ġthis . doc . attribute Identifier )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ ul > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġprivate Ġfun Ġblock Detail ( name : ĠString , Ġvalue : ĠString ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull Ġ&& Ġvalue . isNotBlank ()) Ġ"< li >< strong >$ name :</ strong > Ġ$ value </ li >" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ"" ĊĊĠĠĠ Ġfun Ġgenerate Doc ( element : ĠPsi Element ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġht l Block Element Ġ= Ġelement ?. context Ġas ĠXml Attribute ĊĠĠĠĠĠĠĠ Ġval Ġblock Type Ġ= Ġht l Block Element . name Element . text . substring Before ('.') ĊĠĠĠĠĠĠĠ Ġreturn Ġblocks Docs [ block Type ] ĊĠĠĠ Ġ} Ċ Ċ } Ċ