Skip to content

Commit f876428

Browse files
committed
Update link path.
1 parent 0cb4f33 commit f876428

File tree

7 files changed

+1166
-357
lines changed

7 files changed

+1166
-357
lines changed

docs/stdlib-reference/config.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
@titile: Slang Standard Library Reference
1+
@title: Slang Standard Library Reference
22
@libname: Slang's Standard Library
3+
@rootdir: /docs/stdlib-reference/
34

45
@preamble:
56
---

docs/stdlib-reference/global-decls/index.md

+284-284
Large diffs are not rendered by default.

docs/stdlib-reference/interfaces/index.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ layout: stdlib-reference
55

66
Slang's Standard Library defines the following interfaces:
77

8-
- [IArithmetic](interfaces/IArithmetic/index)
9-
- [IArithmeticAtomicable](interfaces/IArithmeticAtomicable/index)
10-
- [IAtomicable](interfaces/IAtomicable/index)
11-
- [IBitAtomicable](interfaces/IBitAtomicable/index)
12-
- [IBufferDataLayout](interfaces/IBufferDataLayout/index)
13-
- [IComparable](interfaces/IComparable/index)
14-
- [IDefaultInitializable](interfaces/IDefaultInitializable/index)
15-
- [IDifferentiable](interfaces/IDifferentiable/index)
16-
- [IDifferentiableFunc](interfaces/IDifferentiableFunc/index)
17-
- [IDifferentiableMutatingFunc](interfaces/IDifferentiableMutatingFunc/index)
18-
- [IDifferentiablePtrType](interfaces/IDifferentiablePtrType/index)
19-
- [IFloat](interfaces/IFloat/index)
20-
- [IFunc](interfaces/IFunc/index)
21-
- [IInteger](interfaces/IInteger/index)
22-
- [ILogical](interfaces/ILogical/index)
23-
- [IMutatingFunc](interfaces/IMutatingFunc/index)
24-
- [IRangedValue](interfaces/IRangedValue/index)
8+
- [IArithmetic](/docs/stdlib-reference/interfaces/IArithmetic/index)
9+
- [IArithmeticAtomicable](/docs/stdlib-reference/interfaces/IArithmeticAtomicable/index)
10+
- [IAtomicable](/docs/stdlib-reference/interfaces/IAtomicable/index)
11+
- [IBitAtomicable](/docs/stdlib-reference/interfaces/IBitAtomicable/index)
12+
- [IBufferDataLayout](/docs/stdlib-reference/interfaces/IBufferDataLayout/index)
13+
- [IComparable](/docs/stdlib-reference/interfaces/IComparable/index)
14+
- [IDefaultInitializable](/docs/stdlib-reference/interfaces/IDefaultInitializable/index)
15+
- [IDifferentiable](/docs/stdlib-reference/interfaces/IDifferentiable/index)
16+
- [IDifferentiableFunc](/docs/stdlib-reference/interfaces/IDifferentiableFunc/index)
17+
- [IDifferentiableMutatingFunc](/docs/stdlib-reference/interfaces/IDifferentiableMutatingFunc/index)
18+
- [IDifferentiablePtrType](/docs/stdlib-reference/interfaces/IDifferentiablePtrType/index)
19+
- [IFloat](/docs/stdlib-reference/interfaces/IFloat/index)
20+
- [IFunc](/docs/stdlib-reference/interfaces/IFunc/index)
21+
- [IInteger](/docs/stdlib-reference/interfaces/IInteger/index)
22+
- [ILogical](/docs/stdlib-reference/interfaces/ILogical/index)
23+
- [IMutatingFunc](/docs/stdlib-reference/interfaces/IMutatingFunc/index)
24+
- [IRangedValue](/docs/stdlib-reference/interfaces/IRangedValue/index)

docs/stdlib-reference/toc.html

+796
Large diffs are not rendered by default.

docs/stdlib-reference/types/index.md

+46-46
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,49 @@ layout: stdlib-reference
55

66
Slang's Standard Library defines the following types:
77

8-
- [AppendStructuredBuffer](types/AppendStructuredBuffer/index)
9-
- [Array](types/Array/index)
10-
- [Atomic](types/Atomic/index)
11-
- [BuiltInTriangleIntersectionAttributes](types/BuiltInTriangleIntersectionAttributes/index)
12-
- [ByteAddressBuffer](types/ByteAddressBuffer/index)
13-
- [ConstantBuffer](types/ConstantBuffer/index)
14-
- [ConsumeStructuredBuffer](types/ConsumeStructuredBuffer/index)
15-
- [DefaultDataLayout](types/DefaultDataLayout/index)
16-
- [DifferentialPair](types/DifferentialPair/index)
17-
- [DifferentialPtrPair](types/DifferentialPtrPair/index)
18-
- [HitObject](types/HitObject/index)
19-
- [InputPatch](types/InputPatch/index)
20-
- [LineStream](types/LineStream/index)
21-
- [MemoryOrder](types/MemoryOrder/index)
22-
- [NativeString](types/NativeString/index)
23-
- [Optional](types/Optional/index)
24-
- [OutputIndices](types/OutputIndices/index)
25-
- [OutputPatch](types/OutputPatch/index)
26-
- [OutputPrimitives](types/OutputPrimitives/index)
27-
- [OutputVertices](types/OutputVertices/index)
28-
- [ParameterBlock](types/ParameterBlock/index)
29-
- [PointStream](types/PointStream/index)
30-
- [Ptr](types/Ptr/index)
31-
- [RWByteAddressBuffer](types/RWByteAddressBuffer/index)
32-
- [RWStructuredBuffer](types/RWStructuredBuffer/index)
33-
- [RasterizerOrderedByteAddressBuffer](types/RasterizerOrderedByteAddressBuffer/index)
34-
- [RasterizerOrderedStructuredBuffer](types/RasterizerOrderedStructuredBuffer/index)
35-
- [RayDesc](types/RayDesc/index)
36-
- [RayQuery](types/RayQuery/index)
37-
- [RaytracingAccelerationStructure](types/RaytracingAccelerationStructure/index)
38-
- [SAMPLER_FEEDBACK_MIN_MIP](types/SAMPLER_FEEDBACK_MIN_MIP/index)
39-
- [SAMPLER_FEEDBACK_MIP_REGION_USED](types/SAMPLER_FEEDBACK_MIP_REGION_USED/index)
40-
- [SamplerComparisonState](types/SamplerComparisonState/index)
41-
- [SamplerState](types/SamplerState/index)
42-
- [ScalarDataLayout](types/ScalarDataLayout/index)
43-
- [Std140DataLayout](types/Std140DataLayout/index)
44-
- [Std430DataLayout](types/Std430DataLayout/index)
45-
- [String](types/String/index)
46-
- [StructuredBuffer](types/StructuredBuffer/index)
47-
- [TextureBuffer](types/TextureBuffer/index)
48-
- [TextureFootprint](types/TextureFootprint/index)
49-
- [TriangleStream](types/TriangleStream/index)
50-
- [Tuple](types/Tuple/index)
51-
- [_Texture](types/_Texture/index)
52-
- [matrix](types/matrix/index)
53-
- [vector](types/vector/index)
8+
- [AppendStructuredBuffer](/docs/stdlib-reference/types/AppendStructuredBuffer/index)
9+
- [Array](/docs/stdlib-reference/types/Array/index)
10+
- [Atomic](/docs/stdlib-reference/types/Atomic/index)
11+
- [BuiltInTriangleIntersectionAttributes](/docs/stdlib-reference/types/BuiltInTriangleIntersectionAttributes/index)
12+
- [ByteAddressBuffer](/docs/stdlib-reference/types/ByteAddressBuffer/index)
13+
- [ConstantBuffer](/docs/stdlib-reference/types/ConstantBuffer/index)
14+
- [ConsumeStructuredBuffer](/docs/stdlib-reference/types/ConsumeStructuredBuffer/index)
15+
- [DefaultDataLayout](/docs/stdlib-reference/types/DefaultDataLayout/index)
16+
- [DifferentialPair](/docs/stdlib-reference/types/DifferentialPair/index)
17+
- [DifferentialPtrPair](/docs/stdlib-reference/types/DifferentialPtrPair/index)
18+
- [HitObject](/docs/stdlib-reference/types/HitObject/index)
19+
- [InputPatch](/docs/stdlib-reference/types/InputPatch/index)
20+
- [LineStream](/docs/stdlib-reference/types/LineStream/index)
21+
- [MemoryOrder](/docs/stdlib-reference/types/MemoryOrder/index)
22+
- [NativeString](/docs/stdlib-reference/types/NativeString/index)
23+
- [Optional](/docs/stdlib-reference/types/Optional/index)
24+
- [OutputIndices](/docs/stdlib-reference/types/OutputIndices/index)
25+
- [OutputPatch](/docs/stdlib-reference/types/OutputPatch/index)
26+
- [OutputPrimitives](/docs/stdlib-reference/types/OutputPrimitives/index)
27+
- [OutputVertices](/docs/stdlib-reference/types/OutputVertices/index)
28+
- [ParameterBlock](/docs/stdlib-reference/types/ParameterBlock/index)
29+
- [PointStream](/docs/stdlib-reference/types/PointStream/index)
30+
- [Ptr](/docs/stdlib-reference/types/Ptr/index)
31+
- [RWByteAddressBuffer](/docs/stdlib-reference/types/RWByteAddressBuffer/index)
32+
- [RWStructuredBuffer](/docs/stdlib-reference/types/RWStructuredBuffer/index)
33+
- [RasterizerOrderedByteAddressBuffer](/docs/stdlib-reference/types/RasterizerOrderedByteAddressBuffer/index)
34+
- [RasterizerOrderedStructuredBuffer](/docs/stdlib-reference/types/RasterizerOrderedStructuredBuffer/index)
35+
- [RayDesc](/docs/stdlib-reference/types/RayDesc/index)
36+
- [RayQuery](/docs/stdlib-reference/types/RayQuery/index)
37+
- [RaytracingAccelerationStructure](/docs/stdlib-reference/types/RaytracingAccelerationStructure/index)
38+
- [SAMPLER_FEEDBACK_MIN_MIP](/docs/stdlib-reference/types/SAMPLER_FEEDBACK_MIN_MIP/index)
39+
- [SAMPLER_FEEDBACK_MIP_REGION_USED](/docs/stdlib-reference/types/SAMPLER_FEEDBACK_MIP_REGION_USED/index)
40+
- [SamplerComparisonState](/docs/stdlib-reference/types/SamplerComparisonState/index)
41+
- [SamplerState](/docs/stdlib-reference/types/SamplerState/index)
42+
- [ScalarDataLayout](/docs/stdlib-reference/types/ScalarDataLayout/index)
43+
- [Std140DataLayout](/docs/stdlib-reference/types/Std140DataLayout/index)
44+
- [Std430DataLayout](/docs/stdlib-reference/types/Std430DataLayout/index)
45+
- [String](/docs/stdlib-reference/types/String/index)
46+
- [StructuredBuffer](/docs/stdlib-reference/types/StructuredBuffer/index)
47+
- [TextureBuffer](/docs/stdlib-reference/types/TextureBuffer/index)
48+
- [TextureFootprint](/docs/stdlib-reference/types/TextureFootprint/index)
49+
- [TriangleStream](/docs/stdlib-reference/types/TriangleStream/index)
50+
- [Tuple](/docs/stdlib-reference/types/Tuple/index)
51+
- [_Texture](/docs/stdlib-reference/types/_Texture/index)
52+
- [matrix](/docs/stdlib-reference/types/matrix/index)
53+
- [vector](/docs/stdlib-reference/types/vector/index)

source/slang/slang-doc-markdown-writer.cpp

+20-9
Original file line numberDiff line numberDiff line change
@@ -1332,6 +1332,10 @@ void DocumentationConfig::parse(UnownedStringSlice config)
13321332
{
13331333
libName = line.tail(9).trim();
13341334
}
1335+
else if (line.startsWith(toSlice("@rootdir:")))
1336+
{
1337+
rootDir = line.tail(9).trim();
1338+
}
13351339
}
13361340
}
13371341

@@ -1340,6 +1344,11 @@ void sortPages(DocumentPage* page)
13401344
page->children.sort([](DocumentPage* a, DocumentPage* b) -> bool { return a->shortName < b->shortName; });
13411345
}
13421346

1347+
String getDocPath(const DocumentationConfig& config, String path)
1348+
{
1349+
return config.rootDir + Path::getPathWithoutExt(path);
1350+
}
1351+
13431352
void generateSectionIndexPage(DocumentationConfig& config, DocumentPage* page)
13441353
{
13451354
// Generate the content for meta section index page.
@@ -1353,7 +1362,7 @@ void generateSectionIndexPage(DocumentationConfig& config, DocumentPage* page)
13531362

13541363
for (auto child : page->children)
13551364
{
1356-
sb << "- [" << child->shortName << "](" << Path::getPathWithoutExt(child->path) << ")\n";
1365+
sb << "- [" << child->shortName << "](" << getDocPath(config, child->path) << ")\n";
13571366
}
13581367
}
13591368

@@ -1399,9 +1408,9 @@ DocumentPage* DocMarkdownWriter::writeAll(UnownedStringSlice configStr)
13991408
return m_rootPage.get();
14001409
}
14011410

1402-
void writeTOCImpl(StringBuilder& sb, DocumentPage* page);
1411+
void writeTOCImpl(StringBuilder& sb, DocumentationConfig& config, DocumentPage* page);
14031412

1404-
void writeTOCChildren(StringBuilder& sb, DocumentPage* page)
1413+
void writeTOCChildren(StringBuilder& sb, DocumentationConfig& config, DocumentPage* page)
14051414
{
14061415
if (page->children.getCount() == 0)
14071416
return;
@@ -1413,7 +1422,7 @@ void writeTOCChildren(StringBuilder& sb, DocumentPage* page)
14131422
sortPages(page);
14141423
for (auto child : page->children)
14151424
{
1416-
writeTOCImpl(sb, child);
1425+
writeTOCImpl(sb, config, child);
14171426
}
14181427
sb << "</ul>\n";
14191428
}
@@ -1433,20 +1442,22 @@ void escapeHTMLContent(StringBuilder& sb, UnownedStringSlice str)
14331442
}
14341443
}
14351444

1436-
void writeTOCImpl(StringBuilder& sb, DocumentPage* page)
1445+
void writeTOCImpl(StringBuilder& sb, DocumentationConfig& config, DocumentPage* page)
14371446
{
1438-
sb << R"(<li data-link=")" << Path::getPathWithoutExt(page->path) << R"("><span>)";
1447+
sb << R"(<li data-link=")" << getDocPath(config, page->path) << R"("><span>)";
14391448
escapeHTMLContent(sb, page->shortName.getUnownedSlice());
14401449
sb << "</span>\n";
1441-
writeTOCChildren(sb, page);
1450+
writeTOCChildren(sb, config, page);
14421451
sb << "</li>";
14431452
}
14441453

14451454
String DocMarkdownWriter::writeTOC()
14461455
{
14471456
StringBuilder sb;
1448-
sb << R"(<ul class="toc_root_list"><li data-link="index"><span>)" << m_config.title << "</span>\n";
1449-
writeTOCChildren(sb, m_rootPage);
1457+
sb << R"(<ul class="toc_root_list"><li data-link=")"
1458+
<< m_config.rootDir << R"(index"><span>)"
1459+
<< m_config.title << "</span>\n";
1460+
writeTOCChildren(sb, m_config, m_rootPage);
14501461
sb << "</li></ul>\n";
14511462
return sb.produceString();
14521463
}

source/slang/slang-doc-markdown-writer.h

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ struct DocumentationConfig
2929
String preamble;
3030
String title;
3131
String libName;
32+
String rootDir;
3233
void parse(UnownedStringSlice configStr);
3334
};
3435

0 commit comments

Comments
 (0)