226: #line 251 "html_weaver.ipk" 227: def new_heading(self,level): 228: while level>len(self.hcount): self.hcount.append(0) 229: while level<len(self.hcount): del self.hcount[-1] 230: counter = self.hcount[level-1]+1 231: self.hcount[level-1] = counter 232: return counter 233: 234: def get_formatted_heading_number(self, sep): 235: hnumber = '' 236: for i in range(0,len(self.hcount)-1): 237: hnumber = hnumber + str(self.hcount[i])+sep 238: hnumber = hnumber + str(self.hcount[-1]) 239: return hnumber 240: 241: 242: def head(self,level, text, atext='', anchor=''): 243: self._endmode() 244: myanchor = anchor 245: if myanchor == '': myanchor = atext 246: if myanchor == '': 247: myanchor = 'h'+str(self.acount) 248: self.acount = self.acount + 1 249: 250: self.new_heading(level) 251: hnumber = self.get_formatted_heading_number('.')+'. ' 252: hprefix = '' 253: if self.keywords.has_key('heading_prefix'): 254: hprefix = self.keywords['heading_prefix'] 255: ahref = '<A HREF=#'+anchor+'>'+hprefix+hnumber+str(text)+'</A>' 256: 257: html_level = level + self.heading_level_offset 258: if html_level > 6: html_level = 6 259: if anchor: atag = ' ID="'+anchor+'" TITLE="'+anchor+'"' 260: else: atag = ' ID="'+myanchor+'"' 261: self._writeline( '<H'+str(html_level)+atag+'>'+ 262: hprefix+hnumber+str(text)+\ 263: '</H'+str(html_level)+'>') 264: 265: counter = self.hcount[level-1] 266: self.toc.append((level,ahref)) 267: