Skip to content

Commit 20aba08

Browse files
committed
feat: Enable backlinks in API docs
1 parent 152924d commit 20aba08

File tree

3 files changed

+48
-2
lines changed

3 files changed

+48
-2
lines changed

project/docs/css/mkdocstrings.css.jinja

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,49 @@ a.autorefs-external::after {
2424
a.external:hover::after,
2525
a.autorefs-external:hover::after {
2626
background-color: var(--md-accent-fg-color);
27-
}
27+
}
28+
29+
/* Tree-like output for backlinks. */
30+
.doc-backlink-list {
31+
--tree-clr: var(--md-default-fg-color);
32+
--tree-font-size: 1rem;
33+
--tree-item-height: 1;
34+
--tree-offset: 1rem;
35+
--tree-thickness: 1px;
36+
--tree-style: solid;
37+
display: grid;
38+
list-style: none !important;
39+
}
40+
41+
.doc-backlink-list li > span:first-child {
42+
text-indent: .3rem;
43+
}
44+
.doc-backlink-list li {
45+
padding-inline-start: var(--tree-offset);
46+
border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr);
47+
position: relative;
48+
margin-left: 0 !important;
49+
50+
&:last-child {
51+
border-color: transparent;
52+
}
53+
&::before{
54+
content: '';
55+
position: absolute;
56+
top: calc(var(--tree-item-height) / 2 * -1 * var(--tree-font-size) + var(--tree-thickness));
57+
left: calc(var(--tree-thickness) * -1);
58+
width: calc(var(--tree-offset) + var(--tree-thickness) * 2);
59+
height: calc(var(--tree-item-height) * var(--tree-font-size));
60+
border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr);
61+
border-bottom: var(--tree-thickness) var(--tree-style) var(--tree-clr);
62+
}
63+
&::after{
64+
content: '';
65+
position: absolute;
66+
border-radius: 50%;
67+
background-color: var(--tree-clr);
68+
top: calc(var(--tree-item-height) / 2 * 1rem);
69+
left: var(--tree-offset) ;
70+
translate: calc(var(--tree-thickness) * -1) calc(var(--tree-thickness) * -1);
71+
}
72+
}

project/mkdocs.yml.jinja

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ plugins:
125125
- https://docs.python.org/3/objects.inv
126126
paths: [src]
127127
options:
128+
backlinks: tree
128129
docstring_options:
129130
ignore_init_summary: true
130131
docstring_section_style: list

project/pyproject.toml.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ ci = [
104104
"mkdocs-material>=9.5",
105105
"mkdocs-minify-plugin>=0.8",
106106
"mkdocs-section-index>=0.3",
107-
"mkdocstrings[python]>=0.25",
107+
"mkdocstrings[python]>=0.29",
108108
# YORE: EOL 3.10: Remove line.
109109
"tomli>=2.0; python_version < '3.11'",
110110
]

0 commit comments

Comments
 (0)