• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

panglesd / odoc / 932
73%
master: 56%

Build:
Build:
LAST BUILD BRANCH: include-libs-from-packages
DEFAULT BRANCH: master
Ran 18 Oct 2024 10:05AM UTC
Jobs 1
Files 90
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Oct 2024 07:23AM UTC coverage: 72.999% (+0.003%) from 72.996%
932

push

github

panglesd
Sidebar and index overhaul

This commit includes multiple modifications:

Trees
=====

Odoc used to have several representations of trees: one for the page sidebar in
the model, one for the document sidebar, and (in a squashed commit) one for the
unit sidebar.

All trees now have the same type, making the different passes (eg model ->
document for pages and units) much easier, at a small cost (the type is less
tailored to the usecase, eg the payload cannot be different in leafs than in
node, which was the case before in the page hierarchy).

Trees (and forests) have basic iterators defined.

The index for units
=====================

The index for the units values used to be a hashtable from ID to entry. The
problem was that you lose the information needed when building a sidebar: a tree
where nodes have ordered children.

The sidebar for units now includes more information than just the root module,
using the tree type.

The sidebar for units
=====================

The sidebar for units finally shows more than just the root module.

However, it does not show the full hierarchy either, as that would be
overwhelming in the case of big modules.

The sidebar shows:
- Only entries that could have had an expansion: modules, modules types, classes
and class types.
- The current page, highlighted,
- The children of the current page, highlighted (differently),
- The ancestors of the current page,
- The children of the ancestors of the current page,
- Nothing else.

In other word, the things shown in the sidebar consist of the smallest set $S$
that:
- Contains only modules, modules types, classes and class types.
- Contains the current page
- Is ancestor-closed: if $e\in S$ then $parent(e)\in S$,
- Is siblings-closed: if $e\in S$ and $parent(e)=parent(f)$, then $f\in S$

The last property is important to avoid displaying only part of the children of
a parent, requiring to display some `...` to show that some entries were
omitted.

Organization in directories a... (continued)

96 of 127 new or added lines in 7 files covered. (75.59%)

5 existing lines in 3 files now uncovered.

10171 of 13933 relevant lines covered (73.0%)

2990.86 hits per line

Jobs
ID Job ID Ran Files Coverage
1 932.1 18 Oct 2024 10:05AM UTC 0
73.0
GitHub Action Run
Source Files on build 932
Detailed source file information is not available for this build.
  • Back to Repo
  • d6b4fbed on github
  • Prev Build on complete-sidebar (#909)
  • Next Build on complete-sidebar (#933)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc