added headerlevel feature
This commit is contained in:
parent
5e73a5ff95
commit
787f551b2c
1 changed files with 9 additions and 8 deletions
|
@ -23,7 +23,7 @@ class MarkdownGenerator:
|
|||
pass
|
||||
|
||||
|
||||
def generate_markdown(self,ti,pagebreak = False,title = False) -> str:
|
||||
def generate_markdown(self,ti,pagebreak = False,title = False,header_level = 1) -> str:
|
||||
|
||||
line_length = 128
|
||||
column_ratio= 0.28
|
||||
|
@ -32,7 +32,7 @@ class MarkdownGenerator:
|
|||
d_len = line_length-h_len
|
||||
|
||||
if title:
|
||||
print('#',ti[0][1],'\n')
|
||||
print('#' * header_level,ti[0][1],'\n')
|
||||
|
||||
print(''.join(['+',"".ljust(h_len,'-'),'+',"".ljust(d_len,'-'),'+']))
|
||||
|
||||
|
@ -165,7 +165,7 @@ class CourseBuilder:
|
|||
return [k,', '.join(parts)]
|
||||
|
||||
|
||||
def process(self,meta,fields = [],lang = 'de',pagebreak = False,createTitle=False):
|
||||
def process(self,meta,fields = [],lang = 'de',pagebreak = False,createTitle=False,header_level=1):
|
||||
|
||||
table_items = []
|
||||
|
||||
|
@ -177,12 +177,12 @@ class CourseBuilder:
|
|||
case 'multikey': table_items.append(self.process_multikey(meta,field,lang))
|
||||
|
||||
mdg = MarkdownGenerator()
|
||||
mdg.generate_markdown(table_items,pagebreak,createTitle)
|
||||
mdg.generate_markdown(table_items,pagebreak,createTitle,header_level=header_level)
|
||||
|
||||
def process_book_section(self,section,lang='de'):
|
||||
pass
|
||||
|
||||
def process_book(self,book,bookpath,create_title,pagebreak,lang='de'):
|
||||
def process_book(self,book,bookpath,create_title,pagebreak,lang='de',header_level=2):
|
||||
|
||||
actual_fields = []
|
||||
|
||||
|
@ -198,7 +198,7 @@ class CourseBuilder:
|
|||
mod_path = os.path.join(os.path.dirname(bookpath),m)
|
||||
|
||||
with open(mod_path) as fm:
|
||||
self.process(yaml.load(fm,Loader=yaml.Loader),fields=actual_fields,lang=lang,pagebreak=pagebreak,createTitle=create_title)
|
||||
self.process(yaml.load(fm,Loader=yaml.Loader),fields=actual_fields,lang=lang,pagebreak=pagebreak,createTitle=create_title,header_level=header_level)
|
||||
|
||||
pass
|
||||
|
||||
|
@ -217,6 +217,7 @@ def main():
|
|||
parser.add_argument('-p','--pagebreak',action="store_true",help="add a pagebreak after each module")
|
||||
parser.add_argument('-t','--title',action="store_true",help="take first value in list as title")
|
||||
parser.add_argument('-b','--book',type=str,help="process a whole curriculum book with sections")
|
||||
parser.add_argument('--level',type=int,default=1,help="level of header tags")
|
||||
|
||||
|
||||
# get arguments
|
||||
|
@ -231,7 +232,7 @@ def main():
|
|||
cb.set_schema(yaml.load(sf,Loader=yaml.Loader))
|
||||
|
||||
with open(args.book) as bf:
|
||||
cb.process_book(yaml.load(bf,Loader=yaml.Loader),os.path.abspath(args.book),lang=args.lang,pagebreak=args.pagebreak,create_title=args.title)
|
||||
cb.process_book(yaml.load(bf,Loader=yaml.Loader),os.path.abspath(args.book),lang=args.lang,pagebreak=args.pagebreak,create_title=args.title,header_level=args.level)
|
||||
|
||||
|
||||
# verbose command line mode
|
||||
|
@ -253,7 +254,7 @@ def main():
|
|||
|
||||
for m in args.meta:
|
||||
with open(m) as fm:
|
||||
cb.process(yaml.load(fm,Loader=yaml.Loader),fields=actual_fields,lang=args.lang,pagebreak=args.pagebreak,createTitle=args.title)
|
||||
cb.process(yaml.load(fm,Loader=yaml.Loader),fields=actual_fields,lang=args.lang,pagebreak=args.pagebreak,createTitle=args.title,header_level=args.level)
|
||||
else:
|
||||
parser.print_help()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue