1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
Check resolution works
$ cat top1.mld
{0 Top1}
{!childpage-sub1}
{!childpage:sub2}
$ cat sub1.mld
{0 Sub1}
{!childmodule:M1}
$ cat sub2.mld
{0 Sub2}
{!childpage:m1}
$ cat m1.mld
{0 M1}
$ ocamlc -c -bin-annot m1.mli
$ odoc compile top1.mld --child page-sub1 --child page-sub2
$ odoc compile sub1.mld -I . --parent top1 --child M1
$ odoc compile sub2.mld -I . --parent top1 --child page-m1
$ odoc compile m1.cmti -I . --parent sub1
$ odoc compile m1.mld -I . --parent sub2
$ for i in *.odoc; do odoc link -I . $i; done
$ for i in *.odocl; do odoc html-generate -o html $i; done
If everything has worked to plan, we'll have resolved references for all of the 'child' refs in the various pages. Additionally, the
references should be to the correct identifiers - so top1 should be a RootPage, sub1 is a Page, sub2 is a LeafPage, and m1 is a Root.
This is the '{!childpage-sub1}' reference
$ odoc_print page-top1.odocl | jq '.content.elements[1]["`Paragraph"][0]["`Reference"][0]'
{
"`Resolved": {
"`Identifier": {
"`Page": [
{
"Some": {
"`Page": [
"None",
"top1"
]
}
},
"sub1"
]
}
}
}
This is the '{!childpage:sub2}' reference
$ odoc_print page-top1.odocl | jq '.content.elements[1]["`Paragraph"][2]["`Reference"][0]'
{
"`Resolved": {
"`Identifier": {
"`Page": [
{
"Some": {
"`Page": [
"None",
"top1"
]
}
},
"sub2"
]
}
}
}
This is the '{!childmodule:M1}' reference
$ odoc_print page-sub1.odocl | jq '.content.elements[1]["`Paragraph"][0]["`Reference"][0]'
{
"`Resolved": {
"`Identifier": {
"`Root": [
{
"Some": {
"`Page": [
{
"Some": {
"`Page": [
"None",
"top1"
]
}
},
"sub1"
]
}
},
"M1"
]
}
}
}
Let's also check the hierarchy of files produced:
$ odoc support-files -o html
$ find html -type f | sort
html/fonts/KaTeX_AMS-Regular.woff2
html/fonts/KaTeX_Caligraphic-Bold.woff2
html/fonts/KaTeX_Caligraphic-Regular.woff2
html/fonts/KaTeX_Fraktur-Bold.woff2
html/fonts/KaTeX_Fraktur-Regular.woff2
html/fonts/KaTeX_Main-Bold.woff2
html/fonts/KaTeX_Main-BoldItalic.woff2
html/fonts/KaTeX_Main-Italic.woff2
html/fonts/KaTeX_Main-Regular.woff2
html/fonts/KaTeX_Math-BoldItalic.woff2
html/fonts/KaTeX_Math-Italic.woff2
html/fonts/KaTeX_SansSerif-Bold.woff2
html/fonts/KaTeX_SansSerif-Italic.woff2
html/fonts/KaTeX_SansSerif-Regular.woff2
html/fonts/KaTeX_Script-Regular.woff2
html/fonts/KaTeX_Size1-Regular.woff2
html/fonts/KaTeX_Size2-Regular.woff2
html/fonts/KaTeX_Size3-Regular.woff2
html/fonts/KaTeX_Size4-Regular.woff2
html/fonts/KaTeX_Typewriter-Regular.woff2
html/fonts/fira-mono-v14-latin-500.woff2
html/fonts/fira-mono-v14-latin-regular.woff2
html/fonts/fira-sans-v17-latin-500.woff2
html/fonts/fira-sans-v17-latin-500italic.woff2
html/fonts/fira-sans-v17-latin-700.woff2
html/fonts/fira-sans-v17-latin-700italic.woff2
html/fonts/fira-sans-v17-latin-italic.woff2
html/fonts/fira-sans-v17-latin-regular.woff2
html/fonts/noticia-text-v15-latin-700.woff2
html/fonts/noticia-text-v15-latin-italic.woff2
html/fonts/noticia-text-v15-latin-regular.woff2
html/highlight.pack.js
html/katex.min.css
html/katex.min.js
html/odoc.css
html/odoc_search.js
html/top1/index.html
html/top1/sub1/M1/index.html
html/top1/sub1/index.html
html/top1/sub2/index.html
html/top1/sub2/m1.html
|