Broken project to implement a cross-protocol browser in textual
Diffstat (limited to 'gemtext.py')
| -rw-r--r-- | gemtext.py | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -4,17 +4,26 @@ from textual.containers import Container class Gemtext(Static): """Gemtext widget.""" + inPre = False def __init__(self, fp, id): super().__init__(id=id) self.addlines(fp) + def addlines(self, fp): for lin in fp: line = lin if type(line) is bytes: line = line.decode("UTF-8") line = line.rstrip("\r\n") - if line.startswith("=>"): + if line.startswith("```"): + self.inPre = not self.inPre + if self.inPre: + self.inPre = Preformatted() + self.mount(self.inPre) + elif self.inPre: + self.inPre.mount(Static(line, markup=False)) + elif line.startswith("=>"): path = line[2:].lstrip().split(' ')[0] text = ' '.join(line[2:].lstrip().split(' ')[1:]) self.mount(Button(text or path, name=path)) @@ -25,6 +34,9 @@ class Gemtext(Static): else: self.mount(Static(line, markup=False)) +class Preformatted(Container): + pass + if __name__ == "__main__": from textual.app import App class Test(App): |