mkdocs 2.0.dev3__tar.gz → 2.0.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. mkdocs-2.0.dev5/PKG-INFO +74 -0
  2. mkdocs-2.0.dev5/docs/CHANGELOG.md +11 -0
  3. mkdocs-2.0.dev5/docs/LICENSE.md +9 -0
  4. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/docs/README.md +5 -3
  5. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/css/theme.css +100 -57
  6. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/templates/base.html +6 -16
  7. mkdocs-2.0.dev5/docs/templates/navigation.html +3 -0
  8. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/pyproject.toml +2 -1
  9. mkdocs-2.0.dev5/src/mkdocs/__version__.py +2 -0
  10. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/extensions/relative_urls.py +2 -4
  11. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/mkdocs.py +83 -18
  12. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/theme/base.html +57 -1
  13. mkdocs-2.0.dev5/src/mkdocs/theme/navigation.html +3 -0
  14. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/uv.lock +14 -4
  15. mkdocs-2.0.dev3/PKG-INFO +0 -20
  16. mkdocs-2.0.dev3/src/mkdocs/__version__.py +0 -2
  17. mkdocs-2.0.dev3/themes/edtufte/static/custom.css +0 -1148
  18. mkdocs-2.0.dev3/themes/edtufte/static/tufte/tufte.css +0 -451
  19. mkdocs-2.0.dev3/themes/edtufte/templates/base.html +0 -2049
  20. mkdocs-2.0.dev3/themes/kelp/css/kelp.css +0 -2517
  21. mkdocs-2.0.dev3/themes/kelp/img/favicon.ico +0 -0
  22. mkdocs-2.0.dev3/themes/kelp/js/kelp.js +0 -1894
  23. mkdocs-2.0.dev3/themes/kelp/templates/base.html +0 -52
  24. mkdocs-2.0.dev3/themes/material/404.html +0 -28
  25. mkdocs-2.0.dev3/themes/material/__init__.py +0 -19
  26. mkdocs-2.0.dev3/themes/material/assets/images/favicon.png +0 -0
  27. mkdocs-2.0.dev3/themes/material/assets/javascripts/_/index.ts +0 -155
  28. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/document/index.ts +0 -48
  29. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/_/.eslintrc +0 -6
  30. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/_/index.ts +0 -122
  31. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/focus/index.ts +0 -81
  32. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/hover/index.ts +0 -64
  33. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/index.ts +0 -28
  34. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/offset/_/index.ts +0 -125
  35. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/offset/content/index.ts +0 -77
  36. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/offset/index.ts +0 -24
  37. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/size/_/index.ts +0 -159
  38. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/size/content/index.ts +0 -104
  39. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/size/index.ts +0 -24
  40. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/element/visibility/index.ts +0 -131
  41. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/index.ts +0 -32
  42. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/keyboard/index.ts +0 -148
  43. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/location/_/index.ts +0 -85
  44. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/location/hash/index.ts +0 -104
  45. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/location/index.ts +0 -24
  46. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/media/index.ts +0 -95
  47. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/request/index.ts +0 -179
  48. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/script/index.ts +0 -70
  49. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/toggle/index.ts +0 -102
  50. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/viewport/_/index.ts +0 -69
  51. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/viewport/at/index.ts +0 -84
  52. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/viewport/index.ts +0 -26
  53. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/viewport/offset/index.ts +0 -78
  54. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/viewport/size/index.ts +0 -71
  55. mkdocs-2.0.dev3/themes/material/assets/javascripts/browser/worker/index.ts +0 -112
  56. mkdocs-2.0.dev3/themes/material/assets/javascripts/bundle.ts +0 -326
  57. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/_/index.ts +0 -138
  58. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/announce/index.ts +0 -110
  59. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/consent/index.ts +0 -116
  60. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/_/index.ts +0 -172
  61. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/annotation/_/index.ts +0 -272
  62. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/annotation/block/index.ts +0 -88
  63. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/annotation/index.ts +0 -25
  64. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/annotation/list/index.ts +0 -232
  65. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/code/_/index.ts +0 -514
  66. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/code/index.ts +0 -23
  67. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/details/index.ts +0 -138
  68. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/index.ts +0 -30
  69. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/link/index.ts +0 -241
  70. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/mermaid/index.css +0 -415
  71. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/mermaid/index.ts +0 -132
  72. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/table/index.ts +0 -70
  73. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/content/tabs/index.ts +0 -305
  74. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/dialog/index.ts +0 -128
  75. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/header/_/index.ts +0 -208
  76. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/header/index.ts +0 -24
  77. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/header/title/index.ts +0 -144
  78. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/index.ts +0 -38
  79. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/main/index.ts +0 -125
  80. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/palette/index.ts +0 -212
  81. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/progress/index.ts +0 -87
  82. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/_/index.ts +0 -239
  83. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/highlight/.eslintrc +0 -5
  84. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/highlight/index.ts +0 -115
  85. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/index.ts +0 -28
  86. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/query/index.ts +0 -206
  87. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/result/index.ts +0 -198
  88. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/share/index.ts +0 -135
  89. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/search/suggest/index.ts +0 -154
  90. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/sidebar/index.ts +0 -239
  91. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/source/_/index.ts +0 -142
  92. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/source/facts/_/index.ts +0 -88
  93. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/source/facts/github/index.ts +0 -103
  94. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/source/facts/gitlab/index.ts +0 -90
  95. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/source/facts/index.ts +0 -25
  96. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/source/index.ts +0 -24
  97. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/tabs/index.ts +0 -144
  98. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/toc/index.ts +0 -379
  99. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/tooltip/index.ts +0 -264
  100. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/tooltip2/index.ts +0 -369
  101. mkdocs-2.0.dev3/themes/material/assets/javascripts/components/top/index.ts +0 -184
  102. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/alternate/index.ts +0 -140
  103. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/clipboard/index.ts +0 -99
  104. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/index.ts +0 -28
  105. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/instant/.eslintrc +0 -6
  106. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/instant/index.ts +0 -471
  107. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/_/index.ts +0 -332
  108. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/config/index.ts +0 -123
  109. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/highlighter/index.ts +0 -94
  110. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/index.ts +0 -27
  111. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/internal/.eslintrc +0 -6
  112. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/internal/_/index.ts +0 -74
  113. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/internal/extract/index.ts +0 -107
  114. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/internal/highlight/index.ts +0 -162
  115. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/internal/index.ts +0 -26
  116. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/internal/tokenize/index.ts +0 -136
  117. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/query/.eslintrc +0 -6
  118. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/query/_/index.ts +0 -172
  119. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/query/index.ts +0 -25
  120. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/query/segment/index.ts +0 -81
  121. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/query/transform/index.ts +0 -99
  122. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/worker/_/index.ts +0 -95
  123. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/worker/index.ts +0 -24
  124. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/worker/main/.eslintrc +0 -6
  125. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/worker/main/index.ts +0 -195
  126. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/search/worker/message/index.ts +0 -112
  127. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/sitemap/.eslintrc +0 -5
  128. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/sitemap/index.ts +0 -136
  129. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/version/.eslintrc +0 -5
  130. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/version/findurl/index.ts +0 -135
  131. mkdocs-2.0.dev3/themes/material/assets/javascripts/integrations/version/index.ts +0 -191
  132. mkdocs-2.0.dev3/themes/material/assets/javascripts/patches/ellipsis/index.ts +0 -112
  133. mkdocs-2.0.dev3/themes/material/assets/javascripts/patches/indeterminate/index.ts +0 -85
  134. mkdocs-2.0.dev3/themes/material/assets/javascripts/patches/index.ts +0 -26
  135. mkdocs-2.0.dev3/themes/material/assets/javascripts/patches/scrollfix/index.ts +0 -100
  136. mkdocs-2.0.dev3/themes/material/assets/javascripts/patches/scrolllock/index.ts +0 -89
  137. mkdocs-2.0.dev3/themes/material/assets/javascripts/polyfills/index.ts +0 -96
  138. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/annotation/index.tsx +0 -65
  139. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/clipboard/index.tsx +0 -62
  140. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/index.ts +0 -30
  141. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/search/index.tsx +0 -175
  142. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/source/index.tsx +0 -47
  143. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/tabbed/index.tsx +0 -56
  144. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/table/index.tsx +0 -44
  145. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/tooltip/index.tsx +0 -97
  146. mkdocs-2.0.dev3/themes/material/assets/javascripts/templates/version/index.tsx +0 -112
  147. mkdocs-2.0.dev3/themes/material/assets/javascripts/utilities/h/.eslintrc +0 -7
  148. mkdocs-2.0.dev3/themes/material/assets/javascripts/utilities/h/index.ts +0 -132
  149. mkdocs-2.0.dev3/themes/material/assets/javascripts/utilities/index.ts +0 -24
  150. mkdocs-2.0.dev3/themes/material/assets/javascripts/utilities/round/index.ts +0 -50
  151. mkdocs-2.0.dev3/themes/material/assets/javascripts/workers/search.ts +0 -23
  152. mkdocs-2.0.dev3/themes/material/assets/stylesheets/_config.scss +0 -42
  153. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/_colors.scss +0 -157
  154. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/_icons.scss +0 -37
  155. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/_resets.scss +0 -118
  156. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/_typeset.scss +0 -623
  157. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_author.scss +0 -89
  158. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_banner.scss +0 -68
  159. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_base.scss +0 -182
  160. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_clipboard.scss +0 -102
  161. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_code.scss +0 -115
  162. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_consent.scss +0 -127
  163. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_content.scss +0 -97
  164. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_dialog.scss +0 -65
  165. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_feedback.scss +0 -114
  166. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_footer.scss +0 -201
  167. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_form.scss +0 -83
  168. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_header.scss +0 -269
  169. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_meta.scss +0 -67
  170. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_nav.scss +0 -784
  171. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_pagination.scss +0 -85
  172. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_path.scss +0 -89
  173. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_post.scss +0 -234
  174. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_progress.scss +0 -53
  175. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_search.scss +0 -707
  176. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_select.scss +0 -115
  177. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_sidebar.scss +0 -213
  178. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_source.scss +0 -214
  179. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_status.scss +0 -73
  180. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_tabs.scss +0 -133
  181. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_tag.scss +0 -110
  182. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_tooltip.scss +0 -320
  183. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_tooltip2.scss +0 -253
  184. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_top.scss +0 -83
  185. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/components/_version.scss +0 -156
  186. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/markdown/_admonition.scss +0 -195
  187. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/markdown/_footnotes.scss +0 -142
  188. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/markdown/_toc.scss +0 -92
  189. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss +0 -67
  190. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_critic.scss +0 -76
  191. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_details.scss +0 -124
  192. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_emoji.scss +0 -75
  193. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_highlight.scss +0 -399
  194. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_keys.scss +0 -115
  195. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss +0 -422
  196. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss +0 -78
  197. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/integrations/_giscus.scss +0 -39
  198. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/integrations/_mermaid.scss +0 -67
  199. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/modifiers/_grid.scss +0 -129
  200. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main/modifiers/_inline.scss +0 -48
  201. mkdocs-2.0.dev3/themes/material/assets/stylesheets/main.scss +0 -91
  202. mkdocs-2.0.dev3/themes/material/assets/stylesheets/palette/_accent.scss +0 -61
  203. mkdocs-2.0.dev3/themes/material/assets/stylesheets/palette/_primary.scss +0 -203
  204. mkdocs-2.0.dev3/themes/material/assets/stylesheets/palette/_scheme.scss +0 -150
  205. mkdocs-2.0.dev3/themes/material/assets/stylesheets/palette.scss +0 -40
  206. mkdocs-2.0.dev3/themes/material/assets/stylesheets/utilities/_break.scss +0 -219
  207. mkdocs-2.0.dev3/themes/material/assets/stylesheets/utilities/_convert.scss +0 -91
  208. mkdocs-2.0.dev3/themes/material/blog-post.html +0 -194
  209. mkdocs-2.0.dev3/themes/material/blog.html +0 -48
  210. mkdocs-2.0.dev3/themes/material/fragments/tags/default/listing.html +0 -41
  211. mkdocs-2.0.dev3/themes/material/fragments/tags/default/tag.html +0 -38
  212. mkdocs-2.0.dev3/themes/material/main.html +0 -23
  213. mkdocs-2.0.dev3/themes/material/mkdocs_theme.yml +0 -50
  214. mkdocs-2.0.dev3/themes/material/redirect.html +0 -41
  215. mkdocs-2.0.dev3/themes/material/templates/base.html +0 -334
  216. mkdocs-2.0.dev3/themes/material/templates/partials/actions.html +0 -55
  217. mkdocs-2.0.dev3/themes/material/templates/partials/alternate.html +0 -49
  218. mkdocs-2.0.dev3/themes/material/templates/partials/comments.html +0 -23
  219. mkdocs-2.0.dev3/themes/material/templates/partials/consent.html +0 -124
  220. mkdocs-2.0.dev3/themes/material/templates/partials/content.html +0 -47
  221. mkdocs-2.0.dev3/themes/material/templates/partials/copyright.html +0 -39
  222. mkdocs-2.0.dev3/themes/material/templates/partials/feedback.html +0 -84
  223. mkdocs-2.0.dev3/themes/material/templates/partials/footer.html +0 -98
  224. mkdocs-2.0.dev3/themes/material/templates/partials/header.html +0 -122
  225. mkdocs-2.0.dev3/themes/material/templates/partials/icons.html +0 -76
  226. mkdocs-2.0.dev3/themes/material/templates/partials/integrations/analytics/google.html +0 -97
  227. mkdocs-2.0.dev3/themes/material/templates/partials/integrations/analytics.html +0 -49
  228. mkdocs-2.0.dev3/themes/material/templates/partials/javascripts/announce.html +0 -31
  229. mkdocs-2.0.dev3/themes/material/templates/partials/javascripts/base.html +0 -48
  230. mkdocs-2.0.dev3/themes/material/templates/partials/javascripts/consent.html +0 -61
  231. mkdocs-2.0.dev3/themes/material/templates/partials/javascripts/content.html +0 -46
  232. mkdocs-2.0.dev3/themes/material/templates/partials/javascripts/outdated.html +0 -30
  233. mkdocs-2.0.dev3/themes/material/templates/partials/javascripts/palette.html +0 -47
  234. mkdocs-2.0.dev3/themes/material/templates/partials/language.html +0 -28
  235. mkdocs-2.0.dev3/themes/material/templates/partials/languages/af.html +0 -76
  236. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ar.html +0 -77
  237. mkdocs-2.0.dev3/themes/material/templates/partials/languages/az.html +0 -75
  238. mkdocs-2.0.dev3/themes/material/templates/partials/languages/be.html +0 -77
  239. mkdocs-2.0.dev3/themes/material/templates/partials/languages/bg.html +0 -76
  240. mkdocs-2.0.dev3/themes/material/templates/partials/languages/bn.html +0 -76
  241. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ca.html +0 -75
  242. mkdocs-2.0.dev3/themes/material/templates/partials/languages/cs.html +0 -75
  243. mkdocs-2.0.dev3/themes/material/templates/partials/languages/cy.html +0 -75
  244. mkdocs-2.0.dev3/themes/material/templates/partials/languages/da.html +0 -76
  245. mkdocs-2.0.dev3/themes/material/templates/partials/languages/de.html +0 -77
  246. mkdocs-2.0.dev3/themes/material/templates/partials/languages/el.html +0 -75
  247. mkdocs-2.0.dev3/themes/material/templates/partials/languages/en.html +0 -80
  248. mkdocs-2.0.dev3/themes/material/templates/partials/languages/eo.html +0 -76
  249. mkdocs-2.0.dev3/themes/material/templates/partials/languages/es.html +0 -76
  250. mkdocs-2.0.dev3/themes/material/templates/partials/languages/et.html +0 -75
  251. mkdocs-2.0.dev3/themes/material/templates/partials/languages/eu.html +0 -75
  252. mkdocs-2.0.dev3/themes/material/templates/partials/languages/fa.html +0 -77
  253. mkdocs-2.0.dev3/themes/material/templates/partials/languages/fi.html +0 -76
  254. mkdocs-2.0.dev3/themes/material/templates/partials/languages/fr.html +0 -76
  255. mkdocs-2.0.dev3/themes/material/templates/partials/languages/gl.html +0 -76
  256. mkdocs-2.0.dev3/themes/material/templates/partials/languages/he.html +0 -77
  257. mkdocs-2.0.dev3/themes/material/templates/partials/languages/hi.html +0 -76
  258. mkdocs-2.0.dev3/themes/material/templates/partials/languages/hr.html +0 -75
  259. mkdocs-2.0.dev3/themes/material/templates/partials/languages/hu.html +0 -76
  260. mkdocs-2.0.dev3/themes/material/templates/partials/languages/hy.html +0 -76
  261. mkdocs-2.0.dev3/themes/material/templates/partials/languages/id.html +0 -76
  262. mkdocs-2.0.dev3/themes/material/templates/partials/languages/is.html +0 -75
  263. mkdocs-2.0.dev3/themes/material/templates/partials/languages/it.html +0 -76
  264. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ja.html +0 -78
  265. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ka.html +0 -68
  266. mkdocs-2.0.dev3/themes/material/templates/partials/languages/kn.html +0 -75
  267. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ko.html +0 -76
  268. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ku-IQ.html +0 -64
  269. mkdocs-2.0.dev3/themes/material/templates/partials/languages/lb.html +0 -76
  270. mkdocs-2.0.dev3/themes/material/templates/partials/languages/lt.html +0 -76
  271. mkdocs-2.0.dev3/themes/material/templates/partials/languages/lv.html +0 -75
  272. mkdocs-2.0.dev3/themes/material/templates/partials/languages/mk.html +0 -76
  273. mkdocs-2.0.dev3/themes/material/templates/partials/languages/mn.html +0 -75
  274. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ms.html +0 -75
  275. mkdocs-2.0.dev3/themes/material/templates/partials/languages/my.html +0 -76
  276. mkdocs-2.0.dev3/themes/material/templates/partials/languages/nb.html +0 -76
  277. mkdocs-2.0.dev3/themes/material/templates/partials/languages/nl.html +0 -76
  278. mkdocs-2.0.dev3/themes/material/templates/partials/languages/nn.html +0 -76
  279. mkdocs-2.0.dev3/themes/material/templates/partials/languages/pl.html +0 -76
  280. mkdocs-2.0.dev3/themes/material/templates/partials/languages/pt-BR.html +0 -76
  281. mkdocs-2.0.dev3/themes/material/templates/partials/languages/pt.html +0 -76
  282. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ro.html +0 -76
  283. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ru.html +0 -76
  284. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sa.html +0 -75
  285. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sh.html +0 -75
  286. mkdocs-2.0.dev3/themes/material/templates/partials/languages/si.html +0 -51
  287. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sk.html +0 -75
  288. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sl.html +0 -76
  289. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sq.html +0 -76
  290. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sr.html +0 -75
  291. mkdocs-2.0.dev3/themes/material/templates/partials/languages/sv.html +0 -76
  292. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ta.html +0 -76
  293. mkdocs-2.0.dev3/themes/material/templates/partials/languages/te.html +0 -75
  294. mkdocs-2.0.dev3/themes/material/templates/partials/languages/th.html +0 -76
  295. mkdocs-2.0.dev3/themes/material/templates/partials/languages/tl.html +0 -72
  296. mkdocs-2.0.dev3/themes/material/templates/partials/languages/tr.html +0 -76
  297. mkdocs-2.0.dev3/themes/material/templates/partials/languages/uk.html +0 -75
  298. mkdocs-2.0.dev3/themes/material/templates/partials/languages/ur.html +0 -77
  299. mkdocs-2.0.dev3/themes/material/templates/partials/languages/uz.html +0 -76
  300. mkdocs-2.0.dev3/themes/material/templates/partials/languages/vi.html +0 -76
  301. mkdocs-2.0.dev3/themes/material/templates/partials/languages/zh-Hant.html +0 -77
  302. mkdocs-2.0.dev3/themes/material/templates/partials/languages/zh-TW.html +0 -77
  303. mkdocs-2.0.dev3/themes/material/templates/partials/languages/zh.html +0 -77
  304. mkdocs-2.0.dev3/themes/material/templates/partials/logo.html +0 -29
  305. mkdocs-2.0.dev3/themes/material/templates/partials/nav-item.html +0 -309
  306. mkdocs-2.0.dev3/themes/material/templates/partials/nav.html +0 -69
  307. mkdocs-2.0.dev3/themes/material/templates/partials/pagination.html +0 -42
  308. mkdocs-2.0.dev3/themes/material/templates/partials/palette.html +0 -55
  309. mkdocs-2.0.dev3/themes/material/templates/partials/path-item.html +0 -59
  310. mkdocs-2.0.dev3/themes/material/templates/partials/path.html +0 -52
  311. mkdocs-2.0.dev3/themes/material/templates/partials/post.html +0 -110
  312. mkdocs-2.0.dev3/themes/material/templates/partials/progress.html +0 -24
  313. mkdocs-2.0.dev3/themes/material/templates/partials/search.html +0 -109
  314. mkdocs-2.0.dev3/themes/material/templates/partials/social.html +0 -67
  315. mkdocs-2.0.dev3/themes/material/templates/partials/source-file.html +0 -172
  316. mkdocs-2.0.dev3/themes/material/templates/partials/source.html +0 -37
  317. mkdocs-2.0.dev3/themes/material/templates/partials/tabs-item.html +0 -73
  318. mkdocs-2.0.dev3/themes/material/templates/partials/tabs.html +0 -38
  319. mkdocs-2.0.dev3/themes/material/templates/partials/tags.html +0 -59
  320. mkdocs-2.0.dev3/themes/material/templates/partials/toc-item.html +0 -51
  321. mkdocs-2.0.dev3/themes/material/templates/partials/toc.html +0 -56
  322. mkdocs-2.0.dev3/themes/material/templates/partials/top.html +0 -28
  323. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/.github/workflows/docs.yml +0 -0
  324. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/.github/workflows/test-suite.yml +0 -0
  325. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/.gitignore +0 -0
  326. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/css/highlightjs-copy.min.css +0 -0
  327. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/css/highlightjs.min.css +0 -0
  328. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/docs/img/codercat.png +0 -0
  329. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/js/highlightjs-copy.min.js +0 -0
  330. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/js/highlightjs.min.js +0 -0
  331. {mkdocs-2.0.dev3/themes/default → mkdocs-2.0.dev5/docs}/js/theme.js +0 -0
  332. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/requirements.txt +0 -0
  333. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/scripts/install +0 -0
  334. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/scripts/test +0 -0
  335. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/__init__.py +0 -0
  336. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/extensions/__init__.py +0 -0
  337. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/extensions/short_codes.py +0 -0
  338. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/src/mkdocs/extensions/strike_thru.py +0 -0
  339. {mkdocs-2.0.dev3 → mkdocs-2.0.dev5}/tests/test_mkdocs.py +0 -0
@@ -0,0 +1,74 @@
1
+ Metadata-Version: 2.5
2
+ Name: mkdocs
3
+ Version: 2.0.dev5
4
+ Summary: HTTP, for Python.
5
+ Author-email: Kim Christie <noreply@lovelydinosaur.com>
6
+ Classifier: Development Status :: 4 - Beta
7
+ Classifier: Environment :: Web Environment
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Topic :: Internet :: WWW/HTTP
16
+ Requires-Python: >=3.10
17
+ Requires-Dist: click
18
+ Requires-Dist: httpx>=1.0.dev6
19
+ Requires-Dist: jinja2
20
+ Requires-Dist: markdown
21
+ Description-Content-Type: text/markdown
22
+
23
+ # MkDocs
24
+
25
+ MkDocs is a smart, simple, website design tool.
26
+
27
+ ## Installation
28
+
29
+ To install MkDocs, run the following command from the command line:
30
+
31
+ ```shell
32
+ pip install mkdocs --pre
33
+ ```
34
+
35
+ This will install the version 2.0 pre-release.
36
+
37
+ ## Getting started
38
+
39
+ 1. Create a `docs/README.md` page.
40
+ 2. Run `mkdocs serve` to view your documentation in a browser.
41
+ 3. Run `mkdocs build` to build a static website ready to host.
42
+
43
+ ## Writing your docs
44
+
45
+ 1. Create additional markdown pages.
46
+ 2. Use relative interlinking between pages.
47
+ 3. Include images and use relative interlinking from pages.
48
+
49
+ *MkDocs supports [GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) for page authoring.*
50
+
51
+ ## Styling your docs
52
+
53
+ 1. Create a `templates/base.html` to customise the styling.
54
+ 2. Include css and javascript to serve static files.
55
+
56
+ *MkDocs uses [Jinja templating](https://jinja.palletsprojects.com/en/stable/templates/) for HTML rendering.*
57
+
58
+ A starting point can be as simple as...
59
+
60
+ ```html
61
+ <html>
62
+ <head>
63
+ <meta charset="utf-8">
64
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
65
+ <title>{{ page.toc.title }}</title>
66
+ <link rel="stylesheet" href="{{ '/css/default.css' | url }}">
67
+ </head>
68
+ <body>
69
+ <main>
70
+ {{ page.html }}
71
+ </main>
72
+ </body>
73
+ </html>
74
+ ```
@@ -0,0 +1,11 @@
1
+ ## 2.0.dev5
2
+
3
+ **Navigation Support Bugfix**
4
+
5
+ Use relative URLs for site navigation. Ensures that sites hosted on a subpath still link correctly. [#54](https://github.com/encode/mkdocs/pull/54), [#55](https://github.com/encode/mkdocs/pull/55)
6
+
7
+ ## 2.0.dev4
8
+
9
+ **Navigation Support**
10
+
11
+ Preliminary support for site navigation. [#49](https://github.com/encode/mkdocs/pull/49)
@@ -0,0 +1,9 @@
1
+ Copyright © 2026, Encode OSS Ltd.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8
+
9
+ <p align="center">&mdash; 💖 &mdash;</p>
@@ -2,13 +2,15 @@
2
2
 
3
3
  MkDocs is a smart, simple, website design tool.
4
4
 
5
- Getting started is easy...
5
+ ## Installation
6
+
7
+ To install MkDocs, run the following command from the command line:
6
8
 
7
9
  ```shell
8
- $ pip install mkdocs --pre
10
+ pip install mkdocs --pre
9
11
  ```
10
12
 
11
- *This will install the version 2.0 pre-release.*
13
+ This will install the version 2.0 pre-release.
12
14
 
13
15
  ## Getting started
14
16
 
@@ -27,55 +27,34 @@
27
27
 
28
28
  /* Layout... */
29
29
 
30
- nav.left {
31
- position: fixed;
32
- width : 20%;
33
- padding: 2rem 1rem 1rem 2rem;
34
- height: 100%;
35
- overflow-y: scroll;
36
- }
37
-
38
30
  main {
39
- margin-left: 20%;
31
+ margin: 0 auto 0 auto;
40
32
  width: 60%;
41
33
  padding: 1rem;
42
34
  }
43
35
 
44
- nav.right {
45
- position: fixed;
46
- margin-left: 80%;
47
- width : 20%;
48
- padding: 2rem 2rem 1rem 1rem;
49
- height: 100%;
50
- overflow-y: scroll;
51
- }
52
-
53
36
  @media (max-width: 1000px) {
54
37
  main {
55
38
  padding: 1.5rem 1rem;
56
39
  width: 75%;
57
- margin-left: 25%;
58
- }
59
- nav.left {
60
- padding: 2rem 1rem 1rem 2rem;
61
- width: 25%;
62
- position: fixed;
63
40
  }
64
- nav.right {
41
+
42
+ nav.toc {
65
43
  display: none;
66
44
  }
67
45
  }
68
46
 
69
- @media (max-width: 800px) {
47
+ @media (max-width: 750px) {
70
48
  main {
71
49
  padding: 1.5rem 1rem;
72
50
  width: 100%;
73
- margin-left: 0;
74
51
  }
75
- nav.left {
52
+
53
+ nav.toc {
76
54
  display: none;
77
55
  }
78
- nav.right {
56
+
57
+ nav.site {
79
58
  display: none;
80
59
  }
81
60
  }
@@ -91,20 +70,31 @@ body {
91
70
  color: var(--fg-color);
92
71
  background-color: var(--bg-color);
93
72
  font-family: Helvetica, sans-serif;
73
+ --border-color: linear-gradient(to right, #ffafc7 10%, #73d7ee 10% 20%, #613915 20% 30%, #000000 30% 40%, #e50000 40% 50%, #ff8d00 50% 60%, #ffee00 60% 70%, #028121 70% 80%, #004cff 80% 90%, #760088 90%);
74
+ border-top: 0.5em solid;
75
+ border-bottom: 0.5em solid;
76
+ border-image: var(--border-color) 1;
94
77
  }
95
78
 
96
- h1, h2 {
97
- border-bottom: 1px solid var(--neutral-color);
98
- padding-bottom: 0.3rem;
99
- }
100
79
  h1, h2, h3, h4, h5 {
101
80
  margin-top: 1.5rem;
102
81
  margin-bottom: 1.5rem;
103
82
  line-height: 1.3;
104
83
  }
105
84
 
106
- h1 { font-size: 2rem; }
107
- h2 { font-size: 1.5rem; margin-top: 3.5rem; }
85
+ h1 {
86
+ font-family: courier;
87
+ text-align: center;
88
+ font-size: 3.5rem;
89
+ border-top: 1px solid var(--neutral-color);
90
+ border-bottom: 1px solid var(--neutral-color);
91
+ }
92
+ h2 {
93
+ border-bottom: 1px solid var(--neutral-color);
94
+ padding-bottom: 0.3rem;
95
+ font-size: 1.5rem;
96
+ margin-top: 3.5rem;
97
+ }
108
98
  h3 { font-size: 1.25rem; }
109
99
  h4 { font-size: 1rem; }
110
100
 
@@ -117,12 +107,11 @@ strong {
117
107
  }
118
108
 
119
109
  ul, ol {
120
- margin-bottom: 1.5rem;
121
110
  padding-left: 2rem;
122
111
  }
123
112
 
124
113
  li {
125
- margin-bottom: 0.5rem;
114
+ margin: 0.5rem 0;
126
115
  }
127
116
 
128
117
  hr {
@@ -152,6 +141,14 @@ pre code {
152
141
  color: var(--code-bg-color);
153
142
  }
154
143
 
144
+ h1 a {
145
+ color: inherit;
146
+ }
147
+
148
+ h1 a:hover {
149
+ text-decoration: none;
150
+ }
151
+
155
152
  a {
156
153
  color: var(--link-color);
157
154
  text-decoration: none;
@@ -179,7 +176,7 @@ a.toclink {
179
176
  text-decoration: none;
180
177
  }
181
178
 
182
- a.toclink:hover::after {
179
+ h2 a.toclink:hover::after {
183
180
  content: "#";
184
181
  margin: 0 0.8rem;
185
182
  color: var(--neutral-color);
@@ -203,55 +200,101 @@ a.toclink:hover::after {
203
200
  .admonition.warning .admonition-title { color: var(--accent-warning); }
204
201
  .admonition.caution .admonition-title { color: var(--accent-caution); }
205
202
 
203
+ /* Pagination styling */
204
+
205
+ div.pagination {
206
+ height: 1.5rem;
207
+ border-top: 3px solid var(--neutral-color);
208
+ padding: 1rem 0;
209
+ }
210
+
211
+ div.pagination a.previous {
212
+ float: left;
213
+ text-decoration: none;
214
+ }
215
+
216
+ div.pagination a.next {
217
+ float: right;
218
+ text-decoration: none;
219
+ }
220
+
206
221
  /* Navigation styling */
207
222
 
208
- nav ul {
223
+ nav.site {
224
+ position: fixed;
225
+ width : 20%;
226
+ padding: 2rem;
227
+ height: 100%;
228
+ overflow-y: scroll;
229
+ }
230
+
231
+ nav.site ul {
209
232
  padding: 0;
210
233
  margin: 0;
211
234
  }
212
235
 
213
- nav li {
236
+ nav.site li {
214
237
  padding: 0;
215
238
  margin: 0.5rem 0;
216
239
  display: block;
217
240
  }
218
241
 
219
- nav li a {
220
- color: var(--fg-color);
221
- }
222
-
223
- nav li a.active {
242
+ nav.site li a.active {
224
243
  color: var(--link-color);
225
244
  }
226
245
 
227
- nav li a:hover {
246
+ nav.site li a:hover {
228
247
  color: var(--link-color);
229
248
  text-decoration: none;
230
249
  }
231
250
 
232
- nav.right li a {
251
+ nav.site li a {
233
252
  color: var(--muted-fg-color);
234
253
  }
235
254
 
236
- nav.right li a:hover {
255
+ nav.site li a:hover {
237
256
  color: var(--fg-color);
238
257
  text-decoration: none;
239
258
  }
240
259
 
241
- /* Pagination styling */
260
+ /* Table of contents styling */
242
261
 
243
- div.pagination {
244
- height: 1.5rem;
245
- border-top: 3px solid var(--neutral-color);
246
- padding: 1rem 0;
262
+ nav.toc {
263
+ position: fixed;
264
+ margin-left: 80%;
265
+ width : 20%;
266
+ padding: 2rem;
267
+ height: 100%;
268
+ overflow-y: scroll;
247
269
  }
248
270
 
249
- div.pagination a.previous {
250
- float: left;
271
+ nav.toc ul {
272
+ padding: 0;
273
+ margin: 0;
274
+ }
275
+
276
+ nav.toc li {
277
+ padding: 0;
278
+ margin: 0.5rem 0;
279
+ display: block;
280
+ }
281
+
282
+ nav.toc li a.active {
283
+ color: var(--link-color);
284
+ }
285
+
286
+ nav.toc li a:hover {
287
+ color: var(--link-color);
251
288
  text-decoration: none;
252
289
  }
253
290
 
254
- div.pagination a.next {
255
- float: right;
291
+ nav.toc li a {
292
+ color: var(--muted-fg-color);
293
+ }
294
+
295
+ nav.toc li a:hover {
296
+ color: var(--fg-color);
256
297
  text-decoration: none;
257
298
  }
299
+
300
+ /* Navigation styling */
@@ -2,8 +2,8 @@
2
2
  <head>
3
3
  <meta charset="utf-8">
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
- <title>{{ nav.current.title or page.title }}{{ " - " ~ config.context.title if config.context.title }}</title>
6
- <link rel="icon" href="data:image/svg+xml,&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 100 100&quot;&gt;&lt;text y=&quot;.9em&quot; font-size=&quot;90&quot;&gt;{{ config.context.favicon or '📘' }}&lt;/text&gt;&lt;/svg&gt;">
5
+ <title>{{ page.title }}</title>
6
+ <link rel="icon" href="data:image/svg+xml,&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 100 100&quot;&gt;&lt;text y=&quot;.9em&quot; font-size=&quot;90&quot;&gt;🦋&lt;/text&gt;&lt;/svg&gt;">
7
7
  <link rel="stylesheet" href="{{ '/css/highlightjs.min.css' | url }}">
8
8
  <link rel="stylesheet" href="{{ '/css/highlightjs-copy.min.css' | url }}">
9
9
  <link rel="stylesheet" href="{{ '/css/theme.css' | url }}">
@@ -12,24 +12,14 @@
12
12
  <script src="{{ '/js/theme.js' | url }}"></script>
13
13
  </head>
14
14
  <body>
15
- <nav class="left">
16
- {{ nav.html }}
15
+ <nav class="site">
16
+ {% include "navigation.html" %}
17
17
  </nav>
18
- <nav class="right">
19
- {{ page.toc }}
18
+ <nav class="toc">
19
+ {{ page.toc.html }}
20
20
  </nav>
21
21
  <main>
22
22
  {{ page.html }}
23
- {% if nav.previous or nav.next %}
24
- <div class="pagination">
25
- {% if nav.previous %}
26
- <a class="previous" href="{{ nav.previous.url }}">← {{ nav.previous.title }}</a>
27
- {% endif %}
28
- {% if nav.next %}
29
- <a class="next" href="{{ nav.next.url }}">{{ nav.next.title }} →</a>
30
- {% endif %}
31
- </div>
32
- {% endif %}
33
23
  </main>
34
24
  </body>
35
25
  </html>
@@ -0,0 +1,3 @@
1
+ <ul>
2
+ {% for item in nav %}<li><a href="{{ item.page.url | url }}"{% if item.page.url == page.url %} class="active"{% endif %}>{{ item.title }}</a></li>{% endfor %}
3
+ </ul>
@@ -5,6 +5,7 @@ build-backend = "hatchling.build"
5
5
  [project]
6
6
  name = "mkdocs"
7
7
  description = "HTTP, for Python."
8
+ readme = "docs/README.md"
8
9
  requires-python = ">=3.10"
9
10
  authors = [
10
11
  { name = "Kim Christie", email = "noreply@lovelydinosaur.com" },
@@ -22,7 +23,7 @@ classifiers = [
22
23
  "Topic :: Internet :: WWW/HTTP",
23
24
  ]
24
25
  dependencies = [
25
- "httpx>=1.0.dev5",
26
+ "httpx>=1.0.dev6",
26
27
  "click",
27
28
  "jinja2",
28
29
  "markdown",
@@ -0,0 +1,2 @@
1
+ __title__ = "mkdocs"
2
+ __version__ = "2.0.dev5"
@@ -34,15 +34,13 @@ class URLProcessor(markdown.treeprocessors.Treeprocessor):
34
34
  path_from = page.path
35
35
  path_to = os.path.normpath(path_from.parent.joinpath(url.path))
36
36
 
37
- target = site.lookup.get(path_to)
37
+ target = site.lookup_by_path(path_to)
38
38
  if target is None:
39
39
  continue # Broken link!
40
40
 
41
41
  url_from = page.url
42
42
  url_to = target.url
43
- rewrite = posixpath.relpath(url_to, url_from)
44
- if url_to.endswith('/') and rewrite != '.':
45
- rewrite += '/'
43
+ rewrite = mkdocs.link_to(url_from, url_to)
46
44
  if url.query:
47
45
  rewrite += f'?{url.query}'
48
46
  if url.fragment:
@@ -20,7 +20,7 @@ RESET = '\033[0m'
20
20
  # The build context is used to ensure the current page and the site index
21
21
  # are available to the RelativeURLs markdown extension.
22
22
  _current_page = contextvars.ContextVar('current_page')
23
- _site_index = contextvars.ContextVar('site_index')
23
+ _site = contextvars.ContextVar('site')
24
24
 
25
25
 
26
26
  def get_current_page():
@@ -31,12 +31,24 @@ def get_current_page():
31
31
 
32
32
 
33
33
  def get_site():
34
- ctx = _site_index.get()
34
+ ctx = _site.get()
35
35
  if ctx is None:
36
36
  raise RuntimeError("No current context")
37
37
  return ctx
38
38
 
39
39
 
40
+ def link_to(path_from, path_to):
41
+ if path_from == path_to:
42
+ return '.'
43
+ p0 = path_from.split('/')
44
+ p1 = path_to.split('/')
45
+ for idx, pair in enumerate(zip(p0, p1)):
46
+ if pair[0] != pair[1]:
47
+ break
48
+ p = ['..' for i in p0[idx+1:]] + p1[idx:]
49
+ return '/'.join(p)
50
+
51
+
40
52
  class Page:
41
53
  def __init__(self, path):
42
54
  self.path = path
@@ -64,13 +76,19 @@ class Site:
64
76
  self._pages = pages
65
77
  self._statics = statics
66
78
 
67
- self.lookup = {
79
+ self._paths = {
68
80
  str(resource.path): resource for resource in pages + statics
69
81
  }
70
- self.lookup_by_url = {
82
+ self._urls = {
71
83
  str(resource.url): resource for resource in pages + statics
72
84
  }
73
85
 
86
+ def lookup_by_path(self, path) -> Page | Static | None:
87
+ return self._paths.get(path)
88
+
89
+ def lookup_by_url(self, url) -> Page | Static | None:
90
+ return self._urls.get(url)
91
+
74
92
  @property
75
93
  def pages(self) -> list[Page]:
76
94
  return list(self._pages)
@@ -93,6 +111,26 @@ class TableOfContents:
93
111
  return bool(self._items)
94
112
 
95
113
 
114
+ class NavItem:
115
+ def __init__(self, title: str, page: Page):
116
+ self.title = title
117
+ self.page = page
118
+
119
+
120
+ class Navigation:
121
+ def __init__(self, nav_items):
122
+ self._items = nav_items
123
+
124
+ def __iter__(self):
125
+ return iter(self._items)
126
+
127
+ @property
128
+ def html(self):
129
+ page = get_current_page()
130
+ t = jinja2.Template("""<ul>{% for item in nav %}<li><a href="{{ item.page.url }}" {% if item.page == page %}class="active"{% endif %}>{{ item.title }}</a></li>{% endfor %}</ul>""")
131
+ return t.render({"nav": self, "page": page})
132
+
133
+
96
134
  class PageContext:
97
135
  def __init__(self, page, text, html, toc):
98
136
  self.path = page.path
@@ -110,7 +148,8 @@ class PageContext:
110
148
 
111
149
  class MkDocs:
112
150
  def __init__(self, input_dir):
113
- self.site_index = self.load_site(input_dir)
151
+ self.site = self.load_site(input_dir)
152
+ self.nav = self.load_nav({}, self.site)
114
153
  self.env = self.init_env(input_dir)
115
154
  self.md = self.init_md()
116
155
  self.base = self.env.get_template('base.html')
@@ -140,12 +179,34 @@ class MkDocs:
140
179
  statics = sorted(statics, key=lambda x: x.url)
141
180
  return Site(pages, statics)
142
181
 
182
+ def load_nav(self, config, site):
183
+ if not config:
184
+ config = {"nav": [
185
+ {"title": page.path.stem, "path": str(page.path)}
186
+ for page in site.pages
187
+ ]}
188
+
189
+ nav_config = config.get('nav', [])
190
+ nav_config = nav_config if isinstance(nav_config, list) else []
191
+ nav_items = []
192
+ for item in nav_config:
193
+ if not isinstance(item, dict):
194
+ continue
195
+ path = item.get('path', '')
196
+ title = item.get('title', '')
197
+ if not path:
198
+ continue
199
+ if path:
200
+ page = site.lookup_by_path(path)
201
+ nav_item = NavItem(title, page)
202
+ nav_items.append(nav_item)
203
+ return Navigation(nav_items)
204
+
143
205
  def init_env(self, input_dir) -> jinja2.Environment:
144
206
  @jinja2.pass_context
145
207
  def url(ctx, url_to):
146
208
  url_from = ctx['page'].url
147
- url_rel = posixpath.relpath(url_to, url_from) # This isn't correct
148
- return url_rel
209
+ return link_to(url_from, url_to)
149
210
 
150
211
  dir = pathlib.Path(input_dir)
151
212
  loader = jinja2.ChoiceLoader([
@@ -178,19 +239,21 @@ class MkDocs:
178
239
  @contextlib.contextmanager
179
240
  def set_context(self, current_page):
180
241
  token_page = _current_page.set(current_page)
181
- token_site = _site_index.set(self.site_index)
242
+ token_site = _site.set(self.site)
182
243
  try:
183
244
  yield
184
245
  finally:
185
246
  _current_page.reset(token_page)
186
- _site_index.reset(token_site)
247
+ _site.reset(token_site)
248
+
249
+ # Commands...
187
250
 
188
251
  def build(self, input, output):
189
252
  input_dir = pathlib.Path(input)
190
253
  output_dir = pathlib.Path(output)
191
254
 
192
- print(DARK_GRAY + "Collected %d resources" % len(self.site_index) + RESET)
193
- for page in self.site_index.pages:
255
+ print(DARK_GRAY + "Collected %d resources" % len(self.site) + RESET)
256
+ for page in self.site.pages:
194
257
  print(GREEN + " + " + RESET + BOLD + str(page.path) + RESET + DARK_GRAY + " [markdown]" + RESET)
195
258
  input_path = input_dir.joinpath(page.path)
196
259
  output_path = output_dir.joinpath(page.build_path)
@@ -200,12 +263,12 @@ class MkDocs:
200
263
  html = self.md.reset().convert(text)
201
264
  toc = TableOfContents(self.md)
202
265
  page_ctx = PageContext(page=page, text=text, html=html, toc=toc)
203
- output = self.base.render(page=page_ctx)
266
+ output = self.base.render(page=page_ctx, nav=self.nav)
204
267
 
205
268
  output_path.parent.mkdir(parents=True, exist_ok=True)
206
269
  output_path.write_text(output)
207
270
 
208
- for static in self.site_index.statics:
271
+ for static in self.site.statics:
209
272
  print(GREEN + " + " + RESET + BOLD + str(static.path) + RESET + DARK_GRAY + " [static]" + RESET)
210
273
  input_path = input_dir.joinpath(static.path)
211
274
  output_path = output_dir.joinpath(static.path)
@@ -216,15 +279,15 @@ class MkDocs:
216
279
  def serve(self, input):
217
280
  input_dir = pathlib.Path(input)
218
281
 
219
- print(DARK_GRAY + "Serving %d resources" % len(self.site_index) + RESET)
220
- for page in self.site_index.pages:
282
+ print(DARK_GRAY + "Serving %d resources" % len(self.site) + RESET)
283
+ for page in self.site.pages:
221
284
  print(GREEN + " + " + RESET + BOLD + str(page.url) + RESET + DARK_GRAY + " [markdown]" + RESET)
222
- for static in self.site_index.statics:
285
+ for static in self.site.statics:
223
286
  print(GREEN + " + " + RESET + BOLD + str(static.url) + RESET + DARK_GRAY + " [static]" + RESET)
224
287
  print()
225
288
 
226
289
  def app(request):
227
- resource = self.site_index.lookup_by_url.get(request.url.path)
290
+ resource = self.site.lookup_by_url(request.url.path)
228
291
 
229
292
  if isinstance(resource, Page):
230
293
  input_path = input_dir.joinpath(resource.path)
@@ -233,7 +296,7 @@ class MkDocs:
233
296
  html = self.md.reset().convert(text)
234
297
  toc = TableOfContents(self.md)
235
298
  page_ctx = PageContext(page=resource, text=text, html=html, toc=toc)
236
- output = self.base.render(page=page_ctx)
299
+ output = self.base.render(page=page_ctx, nav=self.nav)
237
300
  return httpx.Response(200, content=httpx.HTML(output))
238
301
  elif isinstance(resource, Static):
239
302
  input_path = input_dir.joinpath(resource.path)
@@ -244,6 +307,8 @@ class MkDocs:
244
307
  server.serve()
245
308
 
246
309
 
310
+ # Command line client...
311
+
247
312
  @click.group()
248
313
  def cli():
249
314
  if pathlib.Path('mkdocs.yml').exists():