245: #line 270 "html_weaver.ipk" 246: def new_heading(self,level): 247: while level>len(self.hcount): self.hcount.append(0) 248: while level<len(self.hcount): del self.hcount[-1] 249: counter = self.hcount[level-1]+1 250: self.hcount[level-1] = counter 251: return counter 252: 253: def get_formatted_heading_number(self, sep): 254: hnumber = '' 255: for i in range(0,len(self.hcount)-1): 256: hnumber = hnumber + str(self.hcount[i])+sep 257: hnumber = hnumber + str(self.hcount[-1]) 258: return hnumber 259: 260: 261: def head(self,level, text, **kwds): 262: atext=kwds.get('short_text',text) 263: anchor=kwds.get('key','') 264: self._endmode() 265: myanchor = anchor 266: if myanchor == '': myanchor = atext 267: if myanchor == '': 268: myanchor = 'h'+str(self.acount) 269: self.acount = self.acount + 1 270: 271: self.new_heading(level) 272: hnumber = self.get_formatted_heading_number('.')+'. ' 273: hprefix = '' 274: if self.keywords.has_key('heading_prefix'): 275: hprefix = self.keywords['heading_prefix'] 276: ahref = '<A HREF="#'+anchor+'">'+hprefix+hnumber+str(text)+'</A>' 277: 278: html_level = level + self.heading_level_offset 279: if html_level > 6: html_level = 6 280: if anchor: atag = ' ID="'+anchor+'" TITLE="'+anchor+'"' 281: else: atag = ' ID="'+myanchor+'"' 282: self._writeline( '<H'+str(html_level)+atag+'>'+ 283: hprefix+hnumber+str(text)+\ 284: '</H'+str(html_level)+'>') 285: 286: counter = self.hcount[level-1] 287: self.toc.append((level,ahref)) 288: