diff --git a/dumpwiki.py b/dumpwiki.py index 9fed667..12336cb 100644 --- a/dumpwiki.py +++ b/dumpwiki.py @@ -66,15 +66,26 @@ def filenameforlink(href): href = urlquote(href) return href -def rewritelinks (html): - t = html5lib.parseFragment(html, treebuilder = "etree", namespaceHTMLElements = False) - # remove links to wiki File: pages - for a in t.findall(".//a[@class='image']"): # select img wrapping a - href = a.attrib.get('href') - if a.findall(".//img") and 'File:' in href: # ensure a has child: img - a.attrib['href'] = 'javascript:void(0);' # disable href +def rewriteimglinks(tree, page): + # invoke after img src has been rewritten + # To: remove links to wiki File on all pages + # but Overview_main_page page where link to publication page is added + if page.name == 'Overview main page': + for div_parent in tree.findall(".//div[@class='tooltip']"): + anchor_of_img = div_parent.find(".//div/a") + if anchor_of_img.find(".//img") is not None: # needs child + a_tag = div_parent.find(".//p/span/a") + publication_href = a_tag.attrib.get('href') + anchor_of_img.attrib['href'] = publication_href + else: + for a in tree.findall(".//a[@class='image']"): # select img wrapping a + if a.findall(".//img"): # ensure a has child: img + a.attrib['href'] = 'javascript:void(0);' # disable href + return tree +def rewritelinks(html): + t = html5lib.parseFragment(html, treebuilder = "etree", namespaceHTMLElements = False) for a in t.findall(".//*[@href]"): linkclass = a.attrib.get("class", "") href = a.attrib.get("href") @@ -89,7 +100,7 @@ def rewritelinks (html): return html -def rewriteimgs(html): +def rewriteimgs(html, page): t = html5lib.parseFragment(html, treebuilder = "etree", namespaceHTMLElements = False) # replace images url with local image in ../images @@ -119,6 +130,9 @@ def rewriteimgs(html): img.attrib['srcset'] = "" # rm srcset value:it prevent imgs displaying img.attrib['width'] = "" img.attrib['height'] = "" + + t = rewriteimglinks(tree=t, page=page) + html = ET.tostring(t, method="html", encoding="unicode") return html @@ -126,7 +140,7 @@ def dumppage(p, template, rewrite_images=True): htmlsrc = site.parse(page=p.name)['text']['*'] htmlsrc = rewritelinks(htmlsrc) if rewrite_images: - htmlsrc = rewriteimgs(htmlsrc) + htmlsrc = rewriteimgs(html=htmlsrc, page=p) html = template.render(page=p, body=htmlsrc, staticpath='.') with open(os.path.join(args.output, filenameforpage(p)), 'w') as f: f.write(html) diff --git a/static/index.css b/static/index.css index 98c23ba..084402c 100644 --- a/static/index.css +++ b/static/index.css @@ -293,3 +293,5 @@ margin-left: 40px; height: 2px; background-color: #0BEFEB; } + +a.image {cursor: pointer!important;} /* KEEP THIS: show imgs as link in Overview */ \ No newline at end of file diff --git a/static/orgs.css b/static/orgs.css index 7e4b8e1..8110433 100644 --- a/static/orgs.css +++ b/static/orgs.css @@ -1,151 +1,115 @@ + +#top { + padding-top: 20px; + padding-left: 50px; +} + body { background-color: #F4EBE8; font-family: Roboto Mono; - font-size:11.5px; - + font-size:14px; } +/* Page title */ h1 { position: fixed; right:0%; - top:3%; + top:5%; text-align: right; background-color: #0BEFEB; - padding: 15px 85px 15px 30px; - z-index: 10; - color: #371F10; - font-size: 28px; - opacity: 0.7; -} - -/* -h1 { - position: fixed; - right:0%; - top:3%; - text-align: right; - background-color: transparent; - padding: 10px 30px 30px 20px; + padding: 3px 35px 3px 10px; z-index: 10; color: black; font-size: 28px; - border: 1px solid blue; - border-right: none; + opacity: 0.7; + color: #371F10; } -*/ +/* Organizations list */ .collapsible{ padding-left: 70px; - line-height: 0%; + line-height: 1; color: #371F10; } .active, .collapsible:hover { - color: red; + color: blue; cursor: pointer; } .active, .collapsible:after { padding-top: 10px; - color: #054646; padding-left: 85px; + color: #371F10; + font-weight: bold; } +/* Droped-down publication links */ .content { max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; padding-left: 50px; - background-color: #86a2a2; + background-color: #371F10; position: relative; line-height: 30px; margin-left: 85px; + color: white; + font-size: 14px; } -.up { - position: fixed; - font-weight: bolder; - bottom: 0%; - right: 15.1%; - background-color: blue; - z-index: 10; - padding: 10px; - border: none; +.content a { + color:white; + text-decoration: none; } -.down { - position: fixed; - font-weight: bolder; - bottom: 0%; - right: 12.8%; - background-color: blue; - z-index: 10; - padding: 10px; - border: none; +.content a:hover { + color: blue; + cursor: pointer; } -.top { +/* Scroll column */ +.scrollcolumn { position: fixed; - font-weight: bolder; - bottom: 0%; - right: 17.3%; - background-color: blue; + display: inline; + top:35%; + right:0%; + width: 60px; + outline: none; z-index: 10; - padding: 10px; - border: none; + text-align: center; } -.bottom { - position: fixed; - font-weight: bolder; - bottom: 0%; - right: 10%; - background-color: blue; - z-index: 10; - padding: 10px; - border: none; +/* Scroll buttons */ +.scrl { + background-color: white; + cursor: pointer; + border:none; + font-size: 15px; + margin-top: 10px; + height: 60px; + width: 60px; } -.indexlink { - position: fixed; - text-decoration: none; - font-size: 40px; - bottom: 0%; - right: 0%; - background-color: transparent; - border: none; - border-right-color: transparent; - z-index: 10; - padding: 0px 20px 10px 10px; - border: none; +.scrl:hover { + background-color: #0BEFEB; } -.timeline { - position: fixed; - font-size: 20px; - bottom: 0%; - right: 3%; - background-color: transparent; - border: none; - border-right-color: transparent; +/* Scroll button title */ +.scbt { + visibility: hidden; + width: 120px; + background-color: black; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px 0; + font-size: 15px; + right: 50px; z-index: 10; - padding: 0px 30px 20px 10px; - border: none; -} - -.timeline a { - text-decoration: none; -} - -.indexlink a { - text-decoration: none; + position: absolute; } -#top { - padding-top: 42px; -} - -.up:hover, .down:hover, .top:hover, .bottom:hover { - cursor: pointer; - color: white; +.scrl:hover > .scbt { + visibility: visible; } \ No newline at end of file diff --git a/static/title.css b/static/title.css index a9e8614..8a36c99 100644 --- a/static/title.css +++ b/static/title.css @@ -59,6 +59,7 @@ h1 { color: black; font-size: 27px; color: #371F10; + max-width: 90%; } h2{ diff --git a/templates/orgs.html b/templates/orgs.html index c36f762..a8dec84 100644 --- a/templates/orgs.html +++ b/templates/orgs.html @@ -10,13 +10,15 @@ {{ page.name }} -

▤   {{ page.name }}

- - - - - +

▤ {{ page.name }}

+
+ + + + +
+
{{ body|safe }}