diff --git a/kibot/out_navigate_results.py b/kibot/out_navigate_results.py
index 2167bbef..769ad65a 100644
--- a/kibot/out_navigate_results.py
+++ b/kibot/out_navigate_results.py
@@ -150,25 +150,30 @@ class Navigate_ResultsOptions(BaseOptions):
prev += '.html'
f.write('
')
f.write(' ')
- f.write('  | '.
+ f.write('  | '.
format(prev, MID_ICON, MID_ICON))
- f.write('  | '.
+ f.write('  | '.
format(self.home, MID_ICON, MID_ICON))
f.write('
')
f.write('
')
f.write('Generated by KiBot v{}
'.
format(__version__))
- def generate_cat_page_for(self, name, node, prev):
+ def write_head(self, f, title):
+ f.write('\n')
+ f.write('\n')
+ f.write('\n')
+ f.write(' {}\n'.format(title if title else 'Main page'))
+ f.write(' \n') # UTF-8 encoding for unicode support
+ f.write(' \n')
+ f.write(' \n')
+ f.write('\n')
+ f.write('\n')
+
+ def generate_cat_page_for(self, name, node, prev, category):
logger.debug('- Categories: '+str(node.keys()))
with open(os.path.join(self.out_dir, name), 'wt') as f:
- f.write('\n')
- f.write('\n')
- f.write(' \n') # UTF-8 encoding for unicode support
- f.write(' \n')
- f.write(' \n')
- f.write('\n')
- f.write('\n')
+ self.write_head(f, category)
name, ext = os.path.splitext(name)
# Limit to 5 categories by row
c_cats = len(node)
@@ -177,28 +182,22 @@ class Navigate_ResultsOptions(BaseOptions):
acc = 0
f.write('\n\n')
for cat, content in node.items():
- pname = name+'_'+cat+ext
- self.generate_page_for(content, pname, name)
- f.write(' | {} | \n'.format(pname, self.get_image_for_cat(cat)))
- acc += 1
if acc >= by_row:
# Flush the table and create another
acc = 0
f.write('
\n
\n\n\n')
+ pname = name+'_'+cat+ext
+ self.generate_page_for(content, pname, name, category+'/'+cat)
+ f.write(' | {} | \n'.format(pname, self.get_image_for_cat(cat)))
+ acc += 1
f.write('
\n
\n')
self.add_back_home(f, prev)
f.write('\n\n')
- def generate_end_page_for(self, name, node, prev):
+ def generate_end_page_for(self, name, node, prev, category):
logger.debug('- Outputs: '+str(node.keys()))
with open(os.path.join(self.out_dir, name), 'wt') as f:
- f.write('\n')
- f.write('\n')
- f.write(' \n') # UTF-8 encoding for unicode support
- f.write(' \n')
- f.write(' \n')
- f.write('\n')
- f.write('\n')
+ self.write_head(f, category)
name, ext = os.path.splitext(name)
for oname, out in node.items():
f.write('\n')
@@ -212,24 +211,26 @@ class Navigate_ResultsOptions(BaseOptions):
f.write('\n')
c = 0
for tg in out.get_targets(out_dir):
+ if c == OUT_COLS:
+ f.write('
\n\n')
+ c = 0
tg = os.path.relpath(os.path.abspath(tg), start=self.out_dir)
f.write('| {} | \n'.
format(tg, self.get_image_for_file(os.path.basename(tg))))
c = c+1
- if c == OUT_COLS:
- f.write('
\n\n')
- c = 0
+ for _ in range(c, OUT_COLS):
+ f.write(' | \n')
f.write('
\n')
f.write('
\n')
self.add_back_home(f, prev)
f.write('\n\n')
- def generate_page_for(self, node, name, prev=None):
+ def generate_page_for(self, node, name, prev=None, category=''):
logger.debug('Generating page for '+name)
if isinstance(list(node.values())[0], dict):
- self.generate_cat_page_for(name, node, prev)
+ self.generate_cat_page_for(name, node, prev, category)
else:
- self.generate_end_page_for(name, node, prev)
+ self.generate_end_page_for(name, node, prev, category)
def run(self, name):
self.out_dir = os.path.dirname(name)