diff options
| author | Yong He <yonghe@outlook.com> | 2021-04-29 14:20:20 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 14:20:20 -0700 |
| commit | 23d0c8910dfeab0bfa6fd8fa6c2450452bc25d3c (patch) | |
| tree | d5ef50892149c73d398acc47aff303aad164470f /docs/user-guide | |
| parent | 2482271fffbe85efc1bd7efcf74a76f6ed436012 (diff) | |
Add gfx user's guide. (#1824)
* Add gfx user's guide.
* Add getting started chapter in gfx-guide
* Fixes
* Fix
* Polishing doc template
Diffstat (limited to 'docs/user-guide')
| -rw-r--r-- | docs/user-guide/build_toc.ps1 | 2 | ||||
| -rw-r--r-- | docs/user-guide/nav.html | 6 | ||||
| -rw-r--r-- | docs/user-guide/scripts/Program.cs | 164 | ||||
| -rw-r--r-- | docs/user-guide/toc.html (renamed from docs/user-guide/user-guide-toc.html) | 3 |
4 files changed, 9 insertions, 166 deletions
diff --git a/docs/user-guide/build_toc.ps1 b/docs/user-guide/build_toc.ps1 index 15603c8cb..567a73988 100644 --- a/docs/user-guide/build_toc.ps1 +++ b/docs/user-guide/build_toc.ps1 @@ -1,6 +1,6 @@ $job = Start-Job -ArgumentList $PSScriptRoot -ScriptBlock { Set-Location $args[0] - $code = (Get-Content -Raw -Path "scripts/Program.cs").ToString() + $code = (Get-Content -Raw -Path "../scripts/Program.cs").ToString() $assemblies = ("System.Core", "System.IO", "System.Collections") Add-Type -ReferencedAssemblies $assemblies -TypeDefinition $code -Language CSharp [toc.Builder]::Run($args[0]) diff --git a/docs/user-guide/nav.html b/docs/user-guide/nav.html new file mode 100644 index 000000000..9a29f99f7 --- /dev/null +++ b/docs/user-guide/nav.html @@ -0,0 +1,6 @@ +<nav> + <li><a href="../../">Docs</a></li> + <li><a href="../slang/">Slang</a></li> + <li><a href="index.html">User's Guide</a></li> + +</nav>
\ No newline at end of file diff --git a/docs/user-guide/scripts/Program.cs b/docs/user-guide/scripts/Program.cs deleted file mode 100644 index 4ed2d18a6..000000000 --- a/docs/user-guide/scripts/Program.cs +++ /dev/null @@ -1,164 +0,0 @@ -using System; -using System.IO; -using System.Text; -using System.Collections.Generic; -namespace toc -{ - public class Builder - { - public static string getAnchorId(string title) - { - StringBuilder sb = new StringBuilder(); - title = title.Trim().ToLower(); - foreach (var ch in title) - { - if (ch >= 'a' && ch <= 'z' || ch >= '0' && ch <= '9' - || ch == '-') - sb.Append(ch); - else if (ch==' ' || ch =='_') - sb.Append('-'); - } - return sb.ToString(); - } - - public class Node - { - public List<string> fileNamePrefix = new List<string>(); - public string title; - public string fileID; - public List<string> sections = new List<string>(); - public List<Node> children = new List<Node>(); - } - - public static void buildTOC(StringBuilder sb, Node n) - { - sb.AppendFormat("<li data-link=\"{0}\"><span>{1}</span>\n", n.fileID, n.title); - if (n.children.Count != 0) - { - sb.AppendLine("<ul class=\"toc_list\">"); - foreach(var c in n.children) - buildTOC(sb, c); - sb.AppendLine("</ul>"); - } - else if (n.sections.Count != 0) - { - sb.AppendLine("<ul class=\"toc_list\">"); - foreach (var s in n.sections) - { - sb.AppendFormat("<li data-link=\"{0}#{1}\"><span>{2}</span></li>\n", n.fileID, getAnchorId(s), s); - } - sb.AppendLine("</ul>"); - } - sb.AppendLine("</li>"); - } - public static string buildTOC(Node n) - { - StringBuilder sb = new StringBuilder(); - sb.Append(@"<ul class=""toc_root_list"">"); - buildTOC(sb, n); - sb.Append(@"</ul>"); - return sb.ToString(); - } - - public static bool isChild(Node parent, Node child) - { - if (parent.fileNamePrefix.Count < child.fileNamePrefix.Count) - { - bool equal = true; - for (int k = 0; k < parent.fileNamePrefix.Count; k++) - { - if (parent.fileNamePrefix[k] != child.fileNamePrefix[k]) - { - equal = false; - break; - } - } - return equal; - } - return false; - } - public static string Run(string path) - { - StringBuilder outputSB = new StringBuilder(); - outputSB.AppendFormat("Building table of contents from {0}...\n", path); - var files = System.IO.Directory.EnumerateFiles(path, "*.md"); - List<Node> nodes = new List<Node>(); - foreach (var f in files) - { - var content = File.ReadAllLines(f); - Node node = new Node(); - node.fileID = Path.GetFileNameWithoutExtension(f); - outputSB.AppendFormat(" {0}.md\n", node.fileID); - for (int i = 1; i < content.Length; i++) - { - if (content[i-1].StartsWith("layout: ")) - continue; - if (content[i].StartsWith("===")) - node.title = content[i-1]; - if (content[i].StartsWith("---")) - node.sections.Add(content[i-1]); - if (content[i].StartsWith("#") && !content[i].StartsWith("##") && node.title == null) - node.title = content[i].Substring(1, content[i].Length - 1).Trim(); - if (content[i].StartsWith("##") && !content[i].StartsWith("###")) - node.sections.Add(content[i].Substring(2, content[i].Length - 2).Trim()); - } - if (node.title == null) - { - outputSB.AppendFormat("Error: {0} does not define a title.", f); - node.title = "Untitiled"; - } - var titleSecs = Path.GetFileName(f).Split('-'); - foreach (var s in titleSecs) - { - if (s.Length == 2 && s[1]>='0' && s[1] <= '9') - { - node.fileNamePrefix.Add(s); - } - else - { - break; - } - } - // Find parent node. - Node parent=null; - for (int l = nodes.Count-1; l>=0; l--) - { - var n = nodes[l]; - if (isChild(n, node)) - { - parent = n; - break; - } - } - if (parent != null) - parent.children.Add(node); - else - { - // find child - foreach (var other in nodes) - { - if (isChild(node, other)) - { - node.children.Add(other); - } - } - foreach (var c in node.children) - { - nodes.Remove(c); - - } - nodes.Add(node); - } - } - var root = nodes.Find(x=>x.fileID=="index"); - if (root != null) - { - var html = buildTOC(root); - var outPath = Path.Combine(path, "user-guide-toc.html"); - File.WriteAllText(outPath, html); - outputSB.AppendFormat("Output written to: {0}\n", outPath); - } - return outputSB.ToString(); - } - } -}
\ No newline at end of file diff --git a/docs/user-guide/user-guide-toc.html b/docs/user-guide/toc.html index 0847fcc3e..314c786aa 100644 --- a/docs/user-guide/user-guide-toc.html +++ b/docs/user-guide/toc.html @@ -76,8 +76,9 @@ <li data-link="a1-01-matrix-layout"><span>Handling Matrix Layout Differences on Different Platforms</span> <ul class="toc_list"> <li data-link="a1-01-matrix-layout#two-conventions-of-matrix-transform-math"><span>Two conventions of matrix transform math</span></li> +<li data-link="a1-01-matrix-layout#discussion"><span>Discussion</span></li> +<li data-link="a1-01-matrix-layout#matrix-layout"><span>Matrix Layout</span></li> <li data-link="a1-01-matrix-layout#overriding-default-matrix-layout"><span>Overriding default matrix layout</span></li> -<li data-link="a1-01-matrix-layout#summary"><span>Summary</span></li> </ul> </li> </ul> |
