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
|
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
|
line_length = 128
|
||||||
column_ratio= 0.28
|
column_ratio= 0.28
|
||||||
|
@ -32,7 +32,7 @@ class MarkdownGenerator:
|
||||||
d_len = line_length-h_len
|
d_len = line_length-h_len
|
||||||
|
|
||||||
if title:
|
if title:
|
||||||
print('#',ti[0][1],'\n')
|
print('#' * header_level,ti[0][1],'\n')
|
||||||
|
|
||||||
print(''.join(['+',"".ljust(h_len,'-'),'+',"".ljust(d_len,'-'),'+']))
|
print(''.join(['+',"".ljust(h_len,'-'),'+',"".ljust(d_len,'-'),'+']))
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ class CourseBuilder:
|
||||||
return [k,', '.join(parts)]
|
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 = []
|
table_items = []
|
||||||
|
|
||||||
|
@ -177,12 +177,12 @@ class CourseBuilder:
|
||||||
case 'multikey': table_items.append(self.process_multikey(meta,field,lang))
|
case 'multikey': table_items.append(self.process_multikey(meta,field,lang))
|
||||||
|
|
||||||
mdg = MarkdownGenerator()
|
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'):
|
def process_book_section(self,section,lang='de'):
|
||||||
pass
|
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 = []
|
actual_fields = []
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ class CourseBuilder:
|
||||||
mod_path = os.path.join(os.path.dirname(bookpath),m)
|
mod_path = os.path.join(os.path.dirname(bookpath),m)
|
||||||
|
|
||||||
with open(mod_path) as fm:
|
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
|
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('-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('-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('-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
|
# get arguments
|
||||||
|
@ -231,7 +232,7 @@ def main():
|
||||||
cb.set_schema(yaml.load(sf,Loader=yaml.Loader))
|
cb.set_schema(yaml.load(sf,Loader=yaml.Loader))
|
||||||
|
|
||||||
with open(args.book) as bf:
|
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
|
# verbose command line mode
|
||||||
|
@ -253,7 +254,7 @@ def main():
|
||||||
|
|
||||||
for m in args.meta:
|
for m in args.meta:
|
||||||
with open(m) as fm:
|
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:
|
else:
|
||||||
parser.print_help()
|
parser.print_help()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue