My aggregated monorepo of OCaml code, automaintained
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Switch site build from @doc to @doc-full

Use @doc-full instead of @doc so the reference docs include the full
dependency tree (source pages, all library docs). Update:

- build-site.sh: @doc-full and _html_full output path
- gen_rules.ml: (alias ../doc-full) dependency
- site/dune.inc: regenerated

Sidebar: filter ungrouped packages to a whitelist of monorepo
packages under an "Other" group, since @doc-full includes hundreds
of opam dependencies that would clutter the sidebar.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+23 -6
+3 -3
build-site.sh
··· 15 15 MONO=$(cd "$(dirname "$0")" && pwd) 16 16 SITE="$MONO/_site" 17 17 DUNE_SITE="$MONO/_build/default/site/_html" 18 - DUNE_DOC="$MONO/_build/default/_doc/_html" 18 + DUNE_DOC="$MONO/_build/default/_doc/_html_full" 19 19 SERVE=false 20 20 FRESH=false 21 21 ··· 63 63 64 64 echo "" 65 65 echo "=== Step 3: Build reference docs ===" 66 - dune build @doc 67 - echo " dune @doc done" 66 + dune build @doc-full 67 + echo " dune @doc-full done" 68 68 69 69 echo "" 70 70 echo "=== Step 4: Assemble site ==="
+18 -1
odoc-jons-plugins/src/odoc_jons_plugins_js.ml
··· 66 66 }); 67 67 } 68 68 }); 69 - return result.concat(ungrouped); 69 + // With @doc-full, there are hundreds of opam packages. Only show 70 + // ungrouped packages that belong to the monorepo (have a known prefix 71 + // or are explicitly listed). 72 + var MONOREPO_PACKAGES = [ 73 + 'code-mirror', 'day10', 'day10-web', 'merlin-js', 'mime_printer', 74 + 'onnxrt', 'x-ocaml', 'note', 'zarr-v3', 'zarr-v3-unix' 75 + ]; 76 + var monorepoUngrouped = ungrouped.filter(function(entry) { 77 + var pkg = pkgName(entry); 78 + return MONOREPO_PACKAGES.indexOf(pkg) >= 0; 79 + }); 80 + if (monorepoUngrouped.length > 0) { 81 + result.push({ 82 + node: { content: 'Other', kind: 'group', url: null }, 83 + children: monorepoUngrouped 84 + }); 85 + } 86 + return result; 70 87 } 71 88 72 89 // Sidebar rendering
+1 -1
site-builder/gen_rules.ml
··· 165 165 List.iter (fun rel -> prl " %s" rel) mld_files; 166 166 List.iter (fun rel -> prl " %s" rel) content_assets; 167 167 if has_doc_flags then 168 - prl " (alias ../doc)"; 168 + prl " (alias ../doc-full)"; 169 169 prl " )"; 170 170 prl " (action"; 171 171 prl " (progn";
+1 -1
site/dune.inc
··· 96 96 blog/2026/03/old.png 97 97 blog/2026/03/search.png 98 98 blog/2026/03/tessera.png 99 - (alias ../doc)) 99 + (alias ../doc-full)) 100 100 (action 101 101 (progn 102 102 (run