From 6c068657267fc3a0f1ed47078eda99483bf14080 Mon Sep 17 00:00:00 2001 From: Govindas Date: Fri, 4 Feb 2022 19:29:07 +0200 Subject: [PATCH] Improve navbar, unfinished dropdown support --- gsitegen/generate.py | 28 ++++++++++++++++++++-------- gsitegen/navbar | 5 +++++ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/gsitegen/generate.py b/gsitegen/generate.py index 7a37ed3..c6088b8 100644 --- a/gsitegen/generate.py +++ b/gsitegen/generate.py @@ -10,6 +10,7 @@ def generateNavigationBar(lines, pagetitle): navbar = E rawhtml = False htmlstring = "" + dropdown = False for id, line in enumerate(lines): #parse raw HTML @@ -25,27 +26,38 @@ def generateNavigationBar(lines, pagetitle): # contents.append(line.split("|")) #else: # contents.append(line) - #for entry in contents: title, link = line.split(";", 1) + if line.strip().endswith("|"): + dropdown = True + line = line.strip()[-1] + dphtml = E + dphtml = dphtml(HTML("")) + navbar = navbar.li(dphtml) + dropdown = False #mark currently open tab as active when it is open if link.strip() == pagetitle + ".page": - navbar = navbar(HTML("
")) link = "#" elif link.strip() == homepage + ".page": link = "/" else: link = link.replace(" ", "-").replace(".page", "").lower() - #div class for styling - navbar = navbar(HTML("
")) - - #link and end of div + #currently open tab in navbar if link == "#": - navbar = navbar.li(HTML("" + title + "
")) + navbar = navbar.li(HTML("
" + "" + title + "
")) else: - navbar = navbar.li(HTML("" + title + "")) + navbar = navbar.li(HTML("" + title + "")) + print(navbar) else: print("Error: invalid navbar entry, line " + str(id + 1) + " content: " + line) exit() diff --git a/gsitegen/navbar b/gsitegen/navbar index f13db9e..e2f650b 100644 --- a/gsitegen/navbar +++ b/gsitegen/navbar @@ -1,2 +1,7 @@ About;About.page Home;Home.page +More;#| + Site 1;https://duckduckgo.com + Site 2;https://duckduckgo.com + Site 3;https://duckduckgo.com +Test;/test