mkdocstrings-matlab 0.3.3__tar.gz → 0.4.1__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. mkdocstrings_matlab-0.4.1/.github/CODEOWNERS +1 -0
  2. mkdocstrings_matlab-0.4.1/.github/workflows/docs.yaml +69 -0
  3. mkdocstrings_matlab-0.4.1/.github/workflows/qualify.yaml +88 -0
  4. mkdocstrings_matlab-0.4.1/.github/workflows/release.yaml +105 -0
  5. mkdocstrings_matlab-0.4.1/.python-version +1 -0
  6. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/.vscode/launch.json +4 -4
  7. mkdocstrings_matlab-0.4.1/.vscode/settings.json +11 -0
  8. mkdocstrings_matlab-0.4.1/CHANGELOG.md +84 -0
  9. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/LICENSE +1 -1
  10. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/PKG-INFO +7 -8
  11. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/README.md +5 -4
  12. mkdocstrings_matlab-0.4.1/docs/changelog.md +1 -0
  13. mkdocstrings_matlab-0.4.1/docs/credits.md +7 -0
  14. {mkdocstrings_matlab-0.3.3/test → mkdocstrings_matlab-0.4.1/docs}/debug.py +2 -3
  15. mkdocstrings_matlab-0.4.1/docs/logo.svg +57 -0
  16. mkdocstrings_matlab-0.4.1/docs/snippets/+module/+submodule/Contents.m +1 -0
  17. mkdocstrings_matlab-0.4.1/docs/snippets/+module/+submodule/subfunction.m +3 -0
  18. mkdocstrings_matlab-0.4.1/docs/snippets/+module/aClass.m +15 -0
  19. mkdocstrings_matlab-0.4.1/docs/snippets/+module/do_something.m +3 -0
  20. mkdocstrings_matlab-0.4.1/docs/snippets/+module/module.md +43 -0
  21. mkdocstrings_matlab-0.4.1/docs/snippets/+module/readme.md +10 -0
  22. mkdocstrings_matlab-0.4.1/docs/snippets/+mymembers/BaseClass.m +8 -0
  23. mkdocstrings_matlab-0.4.1/docs/snippets/+mymembers/Contents.m +1 -0
  24. mkdocstrings_matlab-0.4.1/docs/snippets/+mymembers/ThisClass.m +38 -0
  25. mkdocstrings_matlab-0.4.1/docs/snippets/+mymembers/mymembers.md +35 -0
  26. mkdocstrings_matlab-0.4.1/docs/snippets/+mymembers/this_function.m +3 -0
  27. mkdocstrings_matlab-0.4.1/docs/snippets/+mynamespace/classA.m +9 -0
  28. mkdocstrings_matlab-0.4.1/docs/snippets/+mynamespace/classB.m +11 -0
  29. mkdocstrings_matlab-0.4.1/docs/snippets/+mynamespace/mynamespace.md +35 -0
  30. mkdocstrings_matlab-0.4.1/docs/snippets/+mynamespace/readme.md +1 -0
  31. mkdocstrings_matlab-0.4.1/docs/snippets/+mynamespace/typed_function.m +11 -0
  32. mkdocstrings_matlab-0.4.1/docs/snippets/+undocumented/ClassWithoutDocstring.m +10 -0
  33. mkdocstrings_matlab-0.4.1/docs/snippets/+undocumented/function_with_docstring.m +3 -0
  34. mkdocstrings_matlab-0.4.1/docs/snippets/+undocumented/function_without_docstring.m +2 -0
  35. mkdocstrings_matlab-0.4.1/docs/snippets/+undocumented/undocumented.md +28 -0
  36. mkdocstrings_matlab-0.4.1/docs/snippets/Class.m +15 -0
  37. mkdocstrings_matlab-0.4.1/docs/snippets/OtherClass.m +14 -0
  38. mkdocstrings_matlab-0.4.1/docs/snippets/Thing.m +18 -0
  39. mkdocstrings_matlab-0.4.1/docs/snippets/do_output.m +6 -0
  40. mkdocstrings_matlab-0.4.1/docs/snippets/do_something.m +9 -0
  41. mkdocstrings_matlab-0.4.1/docs/snippets/do_varargin.m +6 -0
  42. mkdocstrings_matlab-0.4.1/docs/snippets/myClass.m +3 -0
  43. mkdocstrings_matlab-0.4.1/docs/snippets/myParent.m +3 -0
  44. mkdocstrings_matlab-0.4.1/docs/snippets/myfunction.m +6 -0
  45. mkdocstrings_matlab-0.4.1/docs/snippets/print_hello.m +8 -0
  46. mkdocstrings_matlab-0.4.1/docs/stylesheets/extra.css +44 -0
  47. mkdocstrings_matlab-0.4.1/docs/usage/configuration/docstrings.md +928 -0
  48. mkdocstrings_matlab-0.4.1/docs/usage/configuration/general.md +160 -0
  49. mkdocstrings_matlab-0.4.1/docs/usage/configuration/headings.md +637 -0
  50. mkdocstrings_matlab-0.4.1/docs/usage/configuration/members.md +699 -0
  51. mkdocstrings_matlab-0.4.1/docs/usage/configuration/signatures.md +241 -0
  52. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/usage/index.md +34 -21
  53. mkdocstrings_matlab-0.4.1/logo.svg +57 -0
  54. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/mkdocs.yml +32 -36
  55. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/pyproject.toml +64 -9
  56. mkdocstrings_matlab-0.4.1/renovate.json +6 -0
  57. mkdocstrings_matlab-0.4.1/src/mkdocstrings_handlers/matlab/__init__.py +26 -0
  58. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocstrings_handlers/matlab/collect.py +160 -58
  59. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocstrings_handlers/matlab/handler.py +113 -36
  60. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocstrings_handlers/matlab/models.py +77 -58
  61. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocstrings_handlers/matlab/treesitter.py +6 -5
  62. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/uv.lock +306 -20
  63. mkdocstrings_matlab-0.3.3/.python-version +0 -1
  64. mkdocstrings_matlab-0.3.3/.vscode/settings.json +0 -3
  65. mkdocstrings_matlab-0.3.3/docs/stylesheets/extra.css +0 -3
  66. mkdocstrings_matlab-0.3.3/logo.png +0 -0
  67. mkdocstrings_matlab-0.3.3/src/mkdocstrings_handlers/matlab/__init__.py +0 -5
  68. mkdocstrings_matlab-0.3.3/test/docs/api.md +0 -16
  69. mkdocstrings_matlab-0.3.3/test/docs/index.md +0 -5
  70. mkdocstrings_matlab-0.3.3/test/docs/namespace.md +0 -6
  71. mkdocstrings_matlab-0.3.3/test/mkdocs.yml +0 -32
  72. mkdocstrings_matlab-0.3.3/test/src/+myNamespace/+subpackage/nested.m +0 -18
  73. mkdocstrings_matlab-0.3.3/test/src/+myNamespace/@myClass/customMethod.m +0 -21
  74. mkdocstrings_matlab-0.3.3/test/src/+myNamespace/@myClass/myClass.m +0 -47
  75. mkdocstrings_matlab-0.3.3/test/src/+myNamespace/namespacefunction.m +0 -21
  76. mkdocstrings_matlab-0.3.3/test/src/AbstractFramework.m +0 -9
  77. mkdocstrings_matlab-0.3.3/test/src/DocumentationFramework.m +0 -141
  78. mkdocstrings_matlab-0.3.3/test/src/myfunction.m +0 -40
  79. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/.gitignore +0 -0
  80. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/index.md +0 -0
  81. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/license.md +0 -0
  82. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/logo.png +0 -0
  83. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/usage/docstrings/google.md +0 -0
  84. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/usage/docstrings/numpy.md +0 -0
  85. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/docs/usage/docstrings/sphinx.md +0 -0
  86. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/requirements.lock +0 -0
  87. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocs_material_matlab/__init__.py +0 -0
  88. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocs_material_matlab/css/style.css +0 -0
  89. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocs_material_matlab/mkdocs_material_matlab.py +0 -0
  90. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocstrings_handlers/matlab/enums.py +0 -0
  91. {mkdocstrings_matlab-0.3.3 → mkdocstrings_matlab-0.4.1}/src/mkdocstrings_handlers/matlab/py.typed +0 -0
@@ -0,0 +1 @@
1
+ * @watermarkhu
@@ -0,0 +1,69 @@
1
+ name: Docs
2
+
3
+ # Controls when the workflow will run
4
+ on:
5
+ workflow_call:
6
+ inputs:
7
+ version:
8
+ description: >-
9
+ Version of the documentation to publish
10
+ type: string
11
+ required: true
12
+ alias:
13
+ description: >-
14
+ (Versioned) Alias to use when publishing the versioned documentation with mike
15
+ type: string
16
+ default: "latest"
17
+ set-default:
18
+ description: >-
19
+ Set the alias as the default version
20
+ type: boolean
21
+ default: true
22
+ push:
23
+ description: >-
24
+ Push the documentation to the remote branch
25
+ type: boolean
26
+ default: true
27
+
28
+ permissions:
29
+ contents: write
30
+
31
+ jobs:
32
+ build:
33
+ runs-on: ubuntu-latest
34
+
35
+ steps:
36
+ - uses: actions/checkout@v4
37
+ with:
38
+ fetch-depth: 0 # Required to push to the documentation branch
39
+
40
+ - name: Install the latest version of uv
41
+ uses: astral-sh/setup-uv@v5
42
+ with:
43
+ version: "latest"
44
+
45
+ - name: Sync dependencies
46
+ run: |
47
+ uv sync --no-dev --group docs
48
+
49
+ - name: Configure Git Credentials
50
+ run: |
51
+ git config --global user.name github-actions[bot]
52
+ git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
53
+
54
+ - name: Build documentation with mike
55
+ env:
56
+ PUSH_DEPLOY: ${{ fromJson(inputs.push) && '--push' || '' }}
57
+ run: >
58
+ uv run mike deploy ${PUSH_DEPLOY}
59
+ --branch gh-pages
60
+ --alias-type symlink
61
+ ${{ inputs.version }} ${{ inputs.alias }}
62
+
63
+ - name: Set default alias for mike
64
+ if: ${{ fromJson(inputs.set-default) }}
65
+ run: >
66
+ uv run mike set-default
67
+ --branch gh-pages
68
+ --push
69
+ ${{ inputs.alias }}
@@ -0,0 +1,88 @@
1
+ name: Qualify
2
+
3
+ on:
4
+ merge_group:
5
+ pull_request:
6
+ types:
7
+ - opened
8
+ - closed
9
+ - reopened
10
+ - synchronize
11
+ - labeled
12
+ - unlabeled
13
+ branches:
14
+ - main
15
+
16
+ permissions:
17
+ contents: write
18
+ pull-requests: write
19
+
20
+ jobs:
21
+ docs:
22
+ if: github.event.pull_request.draft == false
23
+ name: Test deploy documentation
24
+ uses: ./.github/workflows/docs.yaml
25
+ secrets: inherit
26
+ with:
27
+ version: __test__
28
+ alias: ""
29
+ set-default: false
30
+ push: false
31
+
32
+ check-semantic-version:
33
+ name: Check semantic version
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+
37
+ - name: Checkout repository
38
+ uses: actions/checkout@v4
39
+ with:
40
+ fetch-depth: 0
41
+ ref: ${{ github.sha }}
42
+
43
+ - name: Force correct release branch on workflow sha
44
+ run: |
45
+ git checkout -B ${{ github.ref_name }} ${{ github.sha }}
46
+
47
+ - name: Install the latest version of uv
48
+ uses: astral-sh/setup-uv@v5
49
+ with:
50
+ version: "latest"
51
+
52
+ - name: Check next semantic version
53
+ run: |
54
+ uv sync --dev
55
+ OUTPUT=$(uv run semantic-release --noop version --print)
56
+ echo "$OUTPUT"
57
+ if [ -z "$OUTPUT" ]; then
58
+ echo "comment=No release will be made." >> $GITHUB_ENV
59
+ else
60
+ echo "comment=The next release will be v$OUTPUT" >> $GITHUB_ENV
61
+ fi
62
+
63
+ - name: Find Comment
64
+ id: fc
65
+ uses: peter-evans/find-comment@v3
66
+ with:
67
+ issue-number: ${{ github.event.pull_request.number }}
68
+ comment-author: 'github-actions[bot]'
69
+ body-includes: This comment was written by a bot!
70
+
71
+ - name: Create comment
72
+ if: steps.fc.outputs.comment-id == ''
73
+ uses: peter-evans/create-or-update-comment@v4
74
+ with:
75
+ issue-number: ${{ github.event.pull_request.number }}
76
+ body: |
77
+ ${{ env.comment }}
78
+ <!-- This comment was written by a bot! -->
79
+
80
+ - name: Update comment
81
+ if: steps.fc.outputs.comment-id != ''
82
+ uses: peter-evans/create-or-update-comment@v4
83
+ with:
84
+ comment-id: ${{ steps.fc.outputs.comment-id }}
85
+ edit-mode: replace
86
+ body: |
87
+ ${{ env.comment }}
88
+ <!-- This comment was written by a bot! -->
@@ -0,0 +1,105 @@
1
+ name: Release
2
+
3
+ on:
4
+ pull_request:
5
+ types: [closed]
6
+ branches: [main]
7
+
8
+ permissions:
9
+ contents: write
10
+ id-token: write
11
+
12
+ jobs:
13
+ publish:
14
+ if: github.event.pull_request.merged == true
15
+ name: Semantic version release
16
+ runs-on: ubuntu-latest
17
+ environment: release
18
+ outputs:
19
+ released: ${{ steps.release.outputs.released }}
20
+ tag: ${{ steps.release.outputs.tag }}
21
+ concurrency: release
22
+ permissions:
23
+ id-token: write
24
+ contents: write
25
+
26
+ steps:
27
+
28
+
29
+ - uses: actions/create-github-app-token@v1
30
+ id: app-token
31
+ with:
32
+ app-id: ${{ vars.APP_ID }}
33
+ private-key: ${{ secrets.APP_PRIVATE_KEY }}
34
+
35
+ - name: Get GitHub App User ID
36
+ id: get-user-id
37
+ env:
38
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
39
+ run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT"
40
+
41
+ - run: |
42
+ git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]'
43
+ git config --global user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com'
44
+
45
+ - name: Checkout repository
46
+ uses: actions/checkout@v4
47
+ with:
48
+ fetch-depth: 0
49
+ ref: ${{ github.sha }}
50
+ token: ${{ steps.app-token.outputs.token }}
51
+ persist-credentials: true
52
+
53
+ - name: Force correct release branch on workflow sha
54
+ run: |
55
+ git checkout -B ${{ github.ref_name }} ${{ github.sha }}
56
+
57
+ - name: Install the latest version of uv
58
+ uses: astral-sh/setup-uv@v5
59
+ with:
60
+ version: "latest"
61
+
62
+ - name: Setup environment with UV
63
+ run: |
64
+ uv sync --dev
65
+ CURRENT_VERSION=$(uv run semantic-release --noop version --print-last-released)
66
+ NEXT_VERSION=$(uv run semantic-release --noop version --print)
67
+
68
+ if [ "$CURRENT_VERSION" = "$NEXT_VERSION" ]; then
69
+ echo "deploy=false" >> $GITHUB_ENV
70
+ else
71
+ echo "deploy=true" >> $GITHUB_ENV
72
+ fi
73
+
74
+ - name: Update version and changelogs
75
+ if: env.deploy
76
+ env:
77
+ GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
78
+ run: >
79
+ uv run semantic-release -vv version
80
+ --commit --tag --changelog --push
81
+ --skip-build --no-vcs-release
82
+
83
+ - name: Build and publish package distributions
84
+ if: env.deploy
85
+ run: |
86
+ uv build
87
+ uv publish
88
+
89
+ - name: Publish package distributions to GitHub Releases
90
+ if: env.deploy
91
+ env:
92
+ GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
93
+ run: |
94
+ uv run semantic-release -vv publish
95
+
96
+ mkdocs:
97
+ name: Deploy documentation
98
+ needs: [publish]
99
+ uses: ./.github/workflows/docs.yaml
100
+ secrets: inherit
101
+ with:
102
+ version: ${{ needs.publish.outputs.tag }}
103
+ alias: latest
104
+ set-default: true
105
+ push: true
@@ -0,0 +1 @@
1
+ 3.13
@@ -14,13 +14,13 @@
14
14
  "jinja": true
15
15
  },
16
16
  {
17
- "name": "Python Debugger: mkdocstrings test",
17
+ "name": "Python Debugger: mkdocstrings debug docs",
18
18
  "type": "debugpy",
19
19
  "request": "launch",
20
- "program": "test/debug.py",
20
+ "program": "docs/debug.py",
21
21
  "console": "integratedTerminal",
22
22
  "justMyCode": false,
23
- "jinja": true
23
+ "jinja": true,
24
24
  }
25
25
  ]
26
- }
26
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "material-icon-theme.languages.associations": {
3
+ "jinja-html": "html"
4
+ },
5
+ "files.associations": {
6
+ "*.html": "jinja-html"
7
+ },
8
+ "emmet.includeLanguages": {
9
+ "jinja-html": "html"
10
+ },
11
+ }
@@ -0,0 +1,84 @@
1
+ # CHANGELOG
2
+
3
+
4
+ ## v0.4.1 (2025-01-03)
5
+
6
+ ### Bug Fixes
7
+
8
+ - Default value of parameter_headings
9
+ ([#11](https://github.com/watermarkhu/mkdocstrings-matlab/pull/11),
10
+ [`651e25d`](https://github.com/watermarkhu/mkdocstrings-matlab/commit/651e25db05fad867d51f360ab4b1c49ececce814))
11
+
12
+ * fix default value of `parameter_headings` * add qualify workflow * documentation upgrades
13
+
14
+
15
+ ## v0.4.0 (2025-01-02)
16
+
17
+ ### Features
18
+
19
+ - All options working ([#4](https://github.com/watermarkhu/mkdocstrings-matlab/pull/4),
20
+ [`83d1588`](https://github.com/watermarkhu/mkdocstrings-matlab/commit/83d15882e0a00252b91d2d88a19bb2f903674ca4))
21
+
22
+ * add general docs
23
+
24
+ * add back parameter_headings option
25
+
26
+ * improve headings section
27
+
28
+ * bump mkdocstrings-python
29
+
30
+ * done with headings section
31
+
32
+ * fix inherited members, member order
33
+
34
+ * better docs
35
+
36
+ * fix docstring parameter handling
37
+
38
+ * fixes
39
+
40
+ * first attempt at hiding hidden and private members
41
+
42
+ * working hidden and private members
43
+
44
+ * finalize hidden and private members
45
+
46
+ * first attempt summaries
47
+
48
+ * summaries almost working
49
+
50
+ * comments
51
+
52
+ * updates
53
+
54
+ * merge constructor
55
+
56
+ * docs
57
+
58
+ * hide previews
59
+
60
+ * docstrings section done
61
+
62
+ * finalize signatures
63
+
64
+ * update logo
65
+
66
+ * first attempt at workflows
67
+
68
+ * finalize workflow
69
+
70
+ - Fix workflows ([#6](https://github.com/watermarkhu/mkdocstrings-matlab/pull/6),
71
+ [`d90cf92`](https://github.com/watermarkhu/mkdocstrings-matlab/commit/d90cf925c992f83bb7102e22981968615310328e))
72
+
73
+ * fix workflows
74
+
75
+ * set dummy git credentials
76
+
77
+ * set permission
78
+
79
+ * forgotten input
80
+
81
+ * fix
82
+
83
+
84
+ ## v0.3.3 (2024-12-19)
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Mark Shui Hu
3
+ Copyright (c) 2025 Mark Shui Hu
4
4
 
5
5
  Permission to use, copy, modify, and/or distribute this software for any
6
6
  purpose with or without fee is hereby granted, provided that the above
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkdocstrings-matlab
3
- Version: 0.3.3
3
+ Version: 0.4.1
4
4
  Summary: A MATLAB handler for mkdocstrings
5
5
  Author-email: Mark Hu <watermarkhu@gmail.com>
6
6
  License: ISC
@@ -22,9 +22,7 @@ Classifier: Topic :: Utilities
22
22
  Classifier: Typing :: Typed
23
23
  Requires-Python: >=3.10
24
24
  Requires-Dist: charset-normalizer>=3.3.2
25
- Requires-Dist: griffe>=1.5.1
26
- Requires-Dist: mkdocs==1.6.1
27
- Requires-Dist: mkdocstrings-python==1.10.9
25
+ Requires-Dist: mkdocstrings-python==1.13.0
28
26
  Requires-Dist: mkdocstrings==0.27.0
29
27
  Requires-Dist: tree-sitter-matlab>=1.0.2
30
28
  Requires-Dist: tree-sitter>=0.23.2
@@ -34,10 +32,11 @@ Description-Content-Type: text/markdown
34
32
 
35
33
  <p align="center">A MATLAB handler for <a href="https://github.com/mkdocstrings/mkdocstrings"><i>mkdocstrings</i></a>.</p>
36
34
 
35
+ [![qualify](https://github.com/watermarkhu/mkdocstrings-matlab/actions/workflows/qualify.yaml/badge.svg)](https://github.com/watermarkhu/mkdocstrings-matlab/actions/workflows/qualify.yaml)
36
+ [![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://watermarkhu.nl/mkdocstrings-matlab)
37
+ [![pypi version](https://img.shields.io/pypi/v/mkdocstrings-matlab.svg)](https://pypi.org/project/mkdocstrings-matlab/)
37
38
 
38
- ---
39
-
40
- <p align="center"><img src="logo.png"></p>
39
+ <p align="center"><img width=300px src="logo.svg"></p>
41
40
 
42
41
  The MATLAB handler uses [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) and its [MATLAB parser](https://github.com/acristoffers/tree-sitter-matlab) to collect documentation from MATLAB source code. Via the python bindings the Abstract Syntax Tree (AST) of the source code is traversed to extract useful information. The imported objected are imported as custom [Griffe](https://mkdocstrings.github.io/griffe/) objects and mocked for the [python handler](https://mkdocstrings.github.io/python/).
43
42
 
@@ -50,7 +49,7 @@ You can install this handler by specifying it as a dependency:
50
49
  # adapt to your dependencies manager
51
50
  [project]
52
51
  dependencies = [
53
- "mkdocstrings-matlab>=0.3",
52
+ "mkdocstrings-matlab>=0.4.0",
54
53
  ]
55
54
  ```
56
55
 
@@ -2,10 +2,11 @@
2
2
 
3
3
  <p align="center">A MATLAB handler for <a href="https://github.com/mkdocstrings/mkdocstrings"><i>mkdocstrings</i></a>.</p>
4
4
 
5
+ [![qualify](https://github.com/watermarkhu/mkdocstrings-matlab/actions/workflows/qualify.yaml/badge.svg)](https://github.com/watermarkhu/mkdocstrings-matlab/actions/workflows/qualify.yaml)
6
+ [![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://watermarkhu.nl/mkdocstrings-matlab)
7
+ [![pypi version](https://img.shields.io/pypi/v/mkdocstrings-matlab.svg)](https://pypi.org/project/mkdocstrings-matlab/)
5
8
 
6
- ---
7
-
8
- <p align="center"><img src="logo.png"></p>
9
+ <p align="center"><img width=300px src="logo.svg"></p>
9
10
 
10
11
  The MATLAB handler uses [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) and its [MATLAB parser](https://github.com/acristoffers/tree-sitter-matlab) to collect documentation from MATLAB source code. Via the python bindings the Abstract Syntax Tree (AST) of the source code is traversed to extract useful information. The imported objected are imported as custom [Griffe](https://mkdocstrings.github.io/griffe/) objects and mocked for the [python handler](https://mkdocstrings.github.io/python/).
11
12
 
@@ -18,7 +19,7 @@ You can install this handler by specifying it as a dependency:
18
19
  # adapt to your dependencies manager
19
20
  [project]
20
21
  dependencies = [
21
- "mkdocstrings-matlab>=0.3",
22
+ "mkdocstrings-matlab>=0.4.0",
22
23
  ]
23
24
  ```
24
25
 
@@ -0,0 +1 @@
1
+ --8<-- "CHANGELOG.md"
@@ -0,0 +1,7 @@
1
+ # Credits
2
+
3
+ This project owes its existence to the incredible [`mkdocstrings`](https://mkdocstrings.github.io/), its primary extension [`mkdocstrings-python`](https://mkdocstrings.github.io/python/), and [`griffe`](https://github.com/mkdocstrings/griffe). These tools handle the templating of parsed content into HTML elements using Jinja templates, allowing much of the code and documentation to be reused and adapted for *mkdocstrings-matlab*. Special thanks to [@paramoy](https://fosstodon.org/@pawamoy) for his efforts.
4
+
5
+ Moreover, `mkdocstrings` itself extends [`mkdocs`](https://www.mkdocs.org/) and [`mkdocs-material`](https://squidfunk.github.io/mkdocs-material/), which form the foundation of the entire mkdoc* suite of documentation tools.
6
+
7
+ Finally, the parsing of MATLAB docstrings is powered by [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) and its [MATLAB parser](https://github.com/acristoffers/tree-sitter-matlab). These libraries enable the parsing of MATLAB source code with exceptional speed and accuracy.
@@ -15,17 +15,16 @@ def set_directory(path: Path):
15
15
  os.chdir(origin)
16
16
 
17
17
 
18
- config_path = Path(__file__).parent.resolve() / "mkdocs.yml"
18
+ config_path = Path(__file__).parent.parent.resolve() / "mkdocs.yml"
19
19
 
20
20
  kwargs = {
21
21
  "dev_addr": None,
22
22
  "open_in_browser": False,
23
- "livereload": True,
23
+ "livereload": False,
24
24
  "build_type": None,
25
25
  "watch_theme": True,
26
26
  "config_file": str(config_path),
27
27
  "strict": None,
28
- "theme": None,
29
28
  "use_directory_urls": None,
30
29
  }
31
30
 
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ viewBox="0 0 24 24"
5
+ version="1.1"
6
+ id="svg6"
7
+ sodipodi:docname="mkdocstrings-matlab.svg"
8
+ inkscape:version="1.1.2 (b8e25be833, 2022-02-05)"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ xmlns:svg="http://www.w3.org/2000/svg"
13
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
14
+ xmlns:cc="http://creativecommons.org/ns#"
15
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
16
+ <defs
17
+ id="defs10" />
18
+ <sodipodi:namedview
19
+ id="namedview8"
20
+ pagecolor="#ffffff"
21
+ bordercolor="#666666"
22
+ borderopacity="1.0"
23
+ inkscape:pageshadow="2"
24
+ inkscape:pageopacity="0.0"
25
+ inkscape:pagecheckerboard="0"
26
+ showgrid="false"
27
+ inkscape:zoom="36.375"
28
+ inkscape:cx="11.986254"
29
+ inkscape:cy="14.185567"
30
+ inkscape:window-width="3760"
31
+ inkscape:window-height="2126"
32
+ inkscape:window-x="-11"
33
+ inkscape:window-y="-11"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="svg6" />
36
+ <title
37
+ id="title2">Material for MkDocs</title>
38
+ <path
39
+ d="m 17.029,18.772 c -6.314,-9.47 0,0 -6.314,-9.47 L 18.582,4.062 24,1.354 V 16.84 l -5.417,2.709 z M 19.052,4.945 v 13.253 l 3.949,-1.975 V 2.97 Z"
40
+ id="path4"
41
+ style="display:inline;fill:#2777aa;fill-opacity:1"
42
+ sodipodi:nodetypes="cccccccccccc" />
43
+ <metadata
44
+ id="metadata71">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:title>Material for MkDocs</dc:title>
49
+ </cc:Work>
50
+ </rdf:RDF>
51
+ </metadata>
52
+ <path
53
+ d="M 17.806,19.938 12.389,22.647 0,16.451 V 4.063 L 5.417,1.354 c 12.389,18.584 0,0 12.389,18.584 z M 5.076,2.642 1.458,4.45 12.73,21.358 16.348,19.549 Z"
54
+ id="path148"
55
+ style="display:inline;fill:#ba5500;fill-opacity:1"
56
+ sodipodi:nodetypes="ccccccccccc" />
57
+ </svg>
@@ -0,0 +1 @@
1
+ % This is a submodule
@@ -0,0 +1,3 @@
1
+ function subfunction
2
+ % This is a subfunction.
3
+ end
@@ -0,0 +1,15 @@
1
+ classdef aClass
2
+ % Summary.
3
+ %
4
+ % Long description.
5
+ %
6
+ % Methods:
7
+ % foo: Some method.
8
+
9
+ methods
10
+ function foo()
11
+ % Summary.
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,3 @@
1
+ function do_something()
2
+ % Do something.
3
+ end
@@ -0,0 +1,43 @@
1
+ ??? code "Source files"
2
+
3
+ === ":material-file-tree: tree"
4
+
5
+ ```tree
6
+ +module
7
+ +submodule
8
+ Contents.m
9
+ subfunction.m
10
+ aClass.m
11
+ do_something.m
12
+ readme.m
13
+ ```
14
+
15
+ === ":material-file-code: `readme.md`"
16
+
17
+ ```matlab
18
+ --8<-- "docs/snippets/+module/readme.md"
19
+ ```
20
+
21
+ === ":material-file-code: `do_something.m`"
22
+
23
+ ```matlab
24
+ --8<-- "docs/snippets/+module/do_something.m"
25
+ ```
26
+
27
+ === ":material-file-code: `aClass.m`"
28
+
29
+ ```matlab
30
+ --8<-- "docs/snippets/+module/aClass.m"
31
+ ```
32
+
33
+ === ":material-file-code: `subfunction.m`"
34
+
35
+ ```matlab
36
+ --8<-- "docs/snippets/+module/+submodule/subfunction.m"
37
+ ```
38
+
39
+ === ":material-file-code: `Contents.m`"
40
+
41
+ ```matlab
42
+ --8<-- "docs/snippets/+module/+submodule/Contents.m"
43
+ ```
@@ -0,0 +1,10 @@
1
+ Docstring of module.
2
+
3
+ Functions:
4
+ do_something: Do something.
5
+
6
+ Classes:
7
+ aClass: Summary
8
+
9
+ Namespaces:
10
+ submodule: This is a submodule
@@ -0,0 +1,8 @@
1
+ classdef (Abstract) BaseClass
2
+ % Base class docstring.
3
+ methods
4
+ function obj = from_base(obj, input)
5
+ % Base method docstring
6
+ end
7
+ end
8
+ end
@@ -0,0 +1 @@
1
+ % This is the namespace docstring.