diff --git a/__main__.py b/__main__.py index b4e730e..de433c8 100644 --- a/__main__.py +++ b/__main__.py @@ -28,6 +28,8 @@ for root, subdirs, files in os.walk(src): p = p.setdefault(x, {}) p[''] = [] for file in files: + if file.endswith(".embed.md"): + continue fpath = os.path.join(root, file) with open(fpath,"r") as f: rawmarkdown = f.read() @@ -67,37 +69,56 @@ def FindFile(name): return os.path.join(root[lensrc:],name) raise SyntaxError(f"Could not find file {name}!") +def ConvertToHtml(fpath): + with open(fpath,"r") as f: + rawmarkdown = f.read().replace("\r\n","\n") + smalls = re.findall(r"^\$\_SMALL\s[\s\S]+\s\_\$$",rawmarkdown,re.MULTILINE) + for small in smalls: + rawmarkdown = rawmarkdown.replace(small, ""+small[2:-2]+"") + frames = re.findall(r"^\$_FRAME\s[\S\s]+\s_\$$",rawmarkdown,re.MULTILINE) + for frame in frames: + framed_string = frame[8:-3] + rawmarkdown = rawmarkdown.replace(frame,f"
{framed_string}
") + links = re.findall(r'\[\[[^\[^\]]+\]\]', rawmarkdown) + for link in links: + if os.path.exists(os.path.join(src,link[2:-2]+".md")): + rawmarkdown = rawmarkdown.replace(link, ""+link[2:-2].split("/")[-1]+"") + else: + foundpath = FindFile(link[2:-2]+".md").replace(".md","").replace("\\","/") + rawmarkdown = rawmarkdown.replace(link, ""+foundpath.split("/")[-1]+"") + embeds = re.findall(r'\{\{[^\{^\}]+\}\}', rawmarkdown) + for embed in embeds: + if os.path.exists(os.path.join(src,embed[2:-2]+".embed.md")): + rawmarkdown = rawmarkdown.replace(embed, ConvertToHtml(src+embed[2:-2]+".embed.md")) + else: + foundpath = FindFile(embed[2:-2]+".embed.md").replace("\\","/") + rawmarkdown = rawmarkdown.replace(embed, ConvertToHtml(src+foundpath)) + links = re.findall(r'\[[^\[^\]]+\]\[[^\[^\]]+\]',rawmarkdown) + for link in links: + name = link[1:].split("]",1)[0] + href = link[1:].split("[",1)[1].split("]",1)[0] + if(href.startswith("http://") or href.startswith("https://")): + rawmarkdown = rawmarkdown.replace(link, ""+name+"") + elif os.path.exists(os.path.join(src,href+".md")): + rawmarkdown = rawmarkdown.replace(link, ""+name+"") + else: + foundpath = FindFile(href+".md").replace(".md","").replace("\\","/") + rawmarkdown = rawmarkdown.replace(link, ""+name+"") + converted = mark.convert(rawmarkdown) + return converted + + template = template.replace("@DOCUMENTLIST",str(documentlist)).replace("@NAMELIST",str(namelist)) + for root, subdirs, files in os.walk(src): if(not os.path.exists(dst+root[len(src):])): os.mkdir(dst+root[lensrc:]) for file in files: + if file.endswith(".embed.md"): + continue fpath = os.path.join(root, file) filetree = "" IterateFileTree(filetreedict,"/"+os.path.join(root[lensrc:], file).replace("\\","/"), True) - with open(fpath,"r") as f: - with open(dst+fpath[len(src):].replace(".md",".html"), "w") as r: - rawmarkdown = f.read().replace("\r\n","\n") - smalls = re.findall(r"^\$\_[\s\S]+\_\$$",rawmarkdown,re.MULTILINE) - for small in smalls: - rawmarkdown = rawmarkdown.replace(small, ""+small[2:-2]+"") - links = re.findall(r'\[\[[^\[^\]]+\]\]', rawmarkdown) - for link in links: - if os.path.exists(os.path.join(src,link[2:-2]+".md")): - rawmarkdown = rawmarkdown.replace(link, ""+link[2:-2].split("/")[-1]+"") - else: - foundpath = FindFile(link[2:-2]+".md").replace(".md","").replace("\\","/") - rawmarkdown = rawmarkdown.replace(link, ""+foundpath.split("/")[-1]+"") - links = re.findall(r'\[[^\[^\]]+\]\[[^\[^\]]+\]',rawmarkdown) - for link in links: - name = link[1:].split("]",1)[0] - href = link[1:].split("[",1)[1].split("]",1)[0] - if(href.startswith("http://") or href.startswith("https://")): - rawmarkdown = rawmarkdown.replace(link, ""+name+"") - elif os.path.exists(os.path.join(src,href+".md")): - rawmarkdown = rawmarkdown.replace(link, ""+name+"") - else: - foundpath = FindFile(href+".md").replace(".md","").replace("\\","/") - rawmarkdown = rawmarkdown.replace(link, ""+name+"") - converted = mark.convert(rawmarkdown) - r.write(template.replace("@CONTENT",converted).replace("@FILETREE",filetree)) \ No newline at end of file + with open(dst+fpath[len(src):].replace(".md",".html"), "w") as r: + converted = ConvertToHtml(fpath) + r.write(template.replace("@CONTENT",converted).replace("@FILETREE",filetree)) \ No newline at end of file diff --git a/assets/default.css b/assets/default.css index e9d2bc4..9b5077f 100644 --- a/assets/default.css +++ b/assets/default.css @@ -1,6 +1,6 @@ .codehilite .hll { background-color: #ffffcc } .codehilite .c { color: #0099FF; font-style: italic } /* Comment */ -.codehilite .err { color: #AA0000; background-color: #FFAAAA } /* Error */ +.codehilite .err { color: #FF0000; background-color: #FFAAAA } /* Error */ .codehilite .k { color: #006699; font-weight: bold } /* Keyword */ .codehilite .o { color: #FFAAFF } /* Operator */ .codehilite .ch { color: #0099FF; font-style: italic } /* Comment.Hashbang */ @@ -26,14 +26,14 @@ .codehilite .kr { color: #00BBFF; font-weight: bold } /* Keyword.Reserved */ .codehilite .kt { color: #00DDFF; font-weight: bold } /* Keyword.Type */ .codehilite .m { color: #FF6600 } /* Literal.Number */ -.codehilite .s { color: #CC3300 } /* Literal.String */ +.codehilite .s { color: #FF3300 } /* Literal.String */ .codehilite .na { color: #330099 } /* Name.Attribute */ .codehilite .nb { color: #336666 } /* Name.Builtin */ .codehilite .nc { color: #00AA88; font-weight: bold } /* Name.Class */ .codehilite .no { color: #336600 } /* Name.Constant */ .codehilite .nd { color: #9999FF } /* Name.Decorator */ .codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ +.codehilite .ne { color: #FF0000; font-weight: bold } /* Name.Exception */ .codehilite .nf { color: #CC00FF } /* Name.Function */ .codehilite .nl { color: #9999FF } /* Name.Label */ .codehilite .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ @@ -46,18 +46,18 @@ .codehilite .mh { color: #FF6600 } /* Literal.Number.Hex */ .codehilite .mi { color: #FF6600 } /* Literal.Number.Integer */ .codehilite .mo { color: #FF6600 } /* Literal.Number.Oct */ -.codehilite .sa { color: #CC3300 } /* Literal.String.Affix */ -.codehilite .sb { color: #CC3300 } /* Literal.String.Backtick */ -.codehilite .sc { color: #CC3300 } /* Literal.String.Char */ -.codehilite .dl { color: #CC3300 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #CC3300 } /* Literal.String.Double */ -.codehilite .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #CC3300 } /* Literal.String.Heredoc */ -.codehilite .si { color: #AA0000 } /* Literal.String.Interpol */ -.codehilite .sx { color: #CC3300 } /* Literal.String.Other */ +.codehilite .sa { color: #FF3300 } /* Literal.String.Affix */ +.codehilite .sb { color: #FF3300 } /* Literal.String.Backtick */ +.codehilite .sc { color: #FF3300 } /* Literal.String.Char */ +.codehilite .dl { color: #FF3300 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #FF3300; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #FF3300 } /* Literal.String.Double */ +.codehilite .se { color: #FF3300; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #FF3300 } /* Literal.String.Heredoc */ +.codehilite .si { color: #FF0000 } /* Literal.String.Interpol */ +.codehilite .sx { color: #FF3300 } /* Literal.String.Other */ .codehilite .sr { color: #33AAAA } /* Literal.String.Regex */ -.codehilite .s1 { color: #CC3300 } /* Literal.String.Single */ +.codehilite .s1 { color: #FF3300 } /* Literal.String.Single */ .codehilite .ss { color: #FFCC33 } /* Literal.String.Symbol */ .codehilite .bp { color: #336666 } /* Name.Builtin.Pseudo */ .codehilite .fm { color: #CC00FF } /* Name.Function.Magic */ diff --git a/dst/QScript/Contributing/API/Structs/QCFunc.html b/dst/QScript/Contributing/API/Structs/QCFunc.html index 54e0b1b..6c182a0 100644 --- a/dst/QScript/Contributing/API/Structs/QCFunc.html +++ b/dst/QScript/Contributing/API/Structs/QCFunc.html @@ -1,8 +1,8 @@ SourceBox Wiki + + +
+
+ + +
+

QScriptFunction

+ +
This page is a stub. You should expand it by making a pull request on our GitHub repository
+ +

QScriptFunction is a handle to a QFunction which represents a scripting language function.

+ +
\ No newline at end of file diff --git a/dst/QScript/Contributing/API/Structs/QScriptObject.html b/dst/QScript/Contributing/API/Structs/QScriptObject.html new file mode 100644 index 0000000..c3546ae --- /dev/null +++ b/dst/QScript/Contributing/API/Structs/QScriptObject.html @@ -0,0 +1,403 @@ + +SourceBox Wiki + + + +
+
+ + +
+

QScriptObject

+ +
This page is a stub. You should expand it by making a pull request on our GitHub repository
+ +

QScriptObject is a handle to a QObject struct.

+ +
\ No newline at end of file diff --git a/dst/QScript/Contributing/API/Structs/QType.html b/dst/QScript/Contributing/API/Structs/QType.html index c50e2e8..91d81c5 100644 --- a/dst/QScript/Contributing/API/Structs/QType.html +++ b/dst/QScript/Contributing/API/Structs/QType.html @@ -1,8 +1,8 @@ SourceBox Wiki