drf-to-mkdoc 0.2.3__py3-none-any.whl → 0.2.4__py3-none-any.whl

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.

Potentially problematic release.


This version of drf-to-mkdoc might be problematic. Click here for more details.

Files changed (33) hide show
  1. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/field-sections-loader.js +29 -0
  2. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/query-parameters-loader.js +16 -0
  3. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/field-extractor.js +200 -0
  4. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js +307 -14
  5. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js +39 -11
  6. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js +298 -18
  7. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/query-parameters-extractor.js +94 -0
  8. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js +278 -62
  9. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/response-modal.js +173 -0
  10. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js +59 -152
  11. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js +52 -9
  12. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/badges.css +13 -5
  13. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/theme-toggle.css +297 -25
  14. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/fab.css +204 -0
  15. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/response.css +323 -0
  16. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/variables.css +139 -0
  17. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/field-sections.css +136 -0
  18. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css +539 -0
  19. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css +239 -17
  20. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css +503 -43
  21. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css +71 -19
  22. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css +71 -15
  23. drf_to_mkdoc/templates/endpoints/detail/request_body.html +2 -0
  24. drf_to_mkdoc/templates/try-out/fab.html +67 -3
  25. drf_to_mkdoc/templates/try-out/form.html +221 -74
  26. drf_to_mkdoc/templates/try-out/modal.html +75 -7
  27. drf_to_mkdoc/templates/try-out/response-modal.html +138 -9
  28. drf_to_mkdoc/utils/endpoint_detail_generator.py +1 -0
  29. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.2.4.dist-info}/METADATA +68 -9
  30. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.2.4.dist-info}/RECORD +33 -24
  31. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.2.4.dist-info}/WHEEL +0 -0
  32. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.2.4.dist-info}/licenses/LICENSE +0 -0
  33. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.2.4.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,82 @@
1
1
  <!-- Try Out Modal -->
2
- <div id="tryOutModal" class="try-out-modal" role="dialog" aria-modal="true" aria-label="Try It Out">
3
- <div class="modal-overlay" onclick="TryOutSidebar.closeTryOut()"></div>
4
- <div class="modal-content">
2
+ <div
3
+ id="tryOutModal"
4
+ class="try-out-modal"
5
+ role="dialog"
6
+ aria-modal="true"
7
+ aria-labelledby="modalTitle"
8
+ aria-describedby="modalDescription"
9
+ >
10
+ <!-- Backdrop with blur effect -->
11
+ <div
12
+ class="modal-overlay"
13
+ data-action="close"
14
+ onclick="TryOutSidebar.closeTryOut()"
15
+ style="backdrop-filter: blur(var(--try-out-backdrop-blur));"
16
+ ></div>
17
+
18
+ <!-- Modal Container with Grid Layout -->
19
+ <div class="modal-content" role="document">
5
20
  <div class="modal-header">
6
- <span>🚀</span>
7
- <h3>Try It Out</h3>
8
- <button class="modal-close" aria-label="Close" onclick="TryOutSidebar.closeTryOut()">✕</button>
21
+ <div class="modal-title-group">
22
+ <span class="modal-icon" aria-hidden="true">🚀</span>
23
+ <h3 id="modalTitle">Try It Out</h3>
24
+ <span id="modalDescription" class="visually-hidden">API endpoint testing interface</span>
25
+ </div>
26
+
27
+ <!-- Accessibility Controls -->
28
+ <div class="modal-controls">
29
+ <button
30
+ class="modal-close"
31
+ aria-label="Close modal"
32
+ onclick="TryOutSidebar.closeTryOut()"
33
+ data-action="close"
34
+ >
35
+ <span aria-hidden="true">✕</span>
36
+ </button>
37
+ </div>
9
38
  </div>
39
+
40
+ <!-- Main Content with Grid Layout -->
10
41
  <div class="modal-body">
11
- {% include 'try-out/form.html' %}
42
+ <div class="modal-grid">
43
+ <!-- Form Section -->
44
+ <div class="modal-section request-section">
45
+ {% include 'try-out/form.html' %}
46
+ </div>
47
+
48
+ <!-- Response Section (Initially Hidden) -->
49
+ <div class="modal-section response-section" aria-live="polite" hidden>
50
+ {% include 'try-out/response-modal.html' %}
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+ <!-- Footer with Actions -->
56
+ <div class="modal-footer">
57
+ <div class="modal-actions">
58
+ <button
59
+ type="button"
60
+ class="secondary-button"
61
+ data-action="reset"
62
+ onclick="resetForm()"
63
+ >
64
+ <span class="icon">↺</span> Reset
65
+ </button>
66
+ <button
67
+ type="button"
68
+ class="primary-button"
69
+ data-action="send"
70
+ onclick="executeRequest()"
71
+ >
72
+ <span class="icon">▶</span> Send Request
73
+ <div class="loading-spinner" style="display: none;"></div>
74
+ </button>
75
+ </div>
12
76
  </div>
13
77
  </div>
14
78
  </div>
79
+
80
+ <!-- Keyboard trap functionality is now handled in modal.js -->
81
+
82
+ <!-- Modal styles are now in modal.css -->
@@ -1,20 +1,149 @@
1
1
  <!-- Response Modal -->
2
- <div id="responseModal" class="response-modal" role="dialog" aria-modal="true" aria-label="API Response">
2
+ <div
3
+ id="responseModal"
4
+ class="response-modal"
5
+ role="dialog"
6
+ aria-modal="true"
7
+ aria-labelledby="responseTitle"
8
+ aria-describedby="responseDescription"
9
+ >
3
10
  <div class="modal-overlay" onclick="TryOutSidebar.closeResponseModal()"></div>
4
11
  <div class="modal-content">
12
+ <!-- Modal Header -->
5
13
  <div class="modal-header">
6
- <h3>API Response</h3>
7
- <button class="modal-close" aria-label="Close" onclick="TryOutSidebar.closeResponseModal()">✕</button>
14
+ <div class="header-content">
15
+ <h3 id="responseTitle">API Response</h3>
16
+ <span id="responseDescription" class="visually-hidden">Displays the API response details and content</span>
17
+ <div class="header-actions">
18
+ <button
19
+ class="action-btn"
20
+ onclick="copyResponse()"
21
+ aria-label="Copy response"
22
+ data-tooltip="Copy to clipboard"
23
+ >
24
+ <span class="icon">📋</span>
25
+ </button>
26
+ <button
27
+ class="action-btn"
28
+ onclick="downloadResponse()"
29
+ aria-label="Download response"
30
+ data-tooltip="Download as JSON"
31
+ >
32
+ <span class="icon">💾</span>
33
+ </button>
34
+ <button
35
+ class="modal-close"
36
+ aria-label="Close response modal"
37
+ onclick="TryOutSidebar.closeResponseModal()"
38
+ >
39
+ <span class="icon">✕</span>
40
+ </button>
41
+ </div>
42
+ </div>
8
43
  </div>
9
- <div class="modal-body">
10
- <div class="response-header">
11
- <div class="response-info">
12
- <span>Status:</span>
44
+
45
+ <!-- Response Stats -->
46
+ <div class="response-stats">
47
+ <div class="stat-group">
48
+ <div class="stat-item">
49
+ <span class="stat-label">Status</span>
13
50
  <span class="status-badge" id="modalStatusBadge"></span>
14
51
  </div>
15
- <div class="response-info" id="responseInfo"></div>
52
+ <div class="stat-item">
53
+ <span class="stat-label">Time</span>
54
+ <span class="stat-value" id="responseTime">0 ms</span>
55
+ </div>
56
+ <div class="stat-item">
57
+ <span class="stat-label">Size</span>
58
+ <span class="stat-value" id="responseSize">0 KB</span>
59
+ </div>
60
+ </div>
61
+ <div class="response-info" id="responseInfo"></div>
62
+ </div>
63
+
64
+ <!-- Response Content -->
65
+ <div class="modal-body">
66
+ <!-- Response Tabs -->
67
+ <div class="response-tabs" role="tablist">
68
+ <button
69
+ class="tab active"
70
+ role="tab"
71
+ aria-selected="true"
72
+ aria-controls="responseBody"
73
+ data-tab="body"
74
+ >
75
+ <span class="icon">📄</span>
76
+ Response
77
+ </button>
78
+ <button
79
+ class="tab"
80
+ role="tab"
81
+ aria-selected="false"
82
+ aria-controls="responseHeaders"
83
+ data-tab="headers"
84
+ >
85
+ <span class="icon">📋</span>
86
+ Headers
87
+ </button>
88
+ </div>
89
+
90
+ <!-- Response Body Tab -->
91
+ <div
92
+ id="responseBody"
93
+ class="tab-content active"
94
+ role="tabpanel"
95
+ >
96
+ <div class="response-toolbar">
97
+ <div class="toolbar-group">
98
+ <button
99
+ class="tool-btn"
100
+ onclick="formatResponse()"
101
+ data-tooltip="Format JSON"
102
+ >
103
+ <span class="icon">🔧</span>
104
+ </button>
105
+ <button
106
+ class="tool-btn"
107
+ onclick="collapseAll()"
108
+ data-tooltip="Collapse all"
109
+ >
110
+ <span class="icon">📦</span>
111
+ </button>
112
+ <button
113
+ class="tool-btn"
114
+ onclick="expandAll()"
115
+ data-tooltip="Expand all"
116
+ >
117
+ <span class="icon">📂</span>
118
+ </button>
119
+ </div>
120
+ </div>
121
+ <div class="response-viewer" role="region" aria-live="polite">
122
+ <div class="response-content" id="modalResponseBody" tabindex="0"></div>
123
+ </div>
124
+ </div>
125
+
126
+ <!-- Response Headers Tab -->
127
+ <div
128
+ id="responseHeaders"
129
+ class="tab-content"
130
+ role="tabpanel"
131
+ >
132
+ <div class="headers-list" id="responseHeadersList"></div>
16
133
  </div>
17
- <div class="response-body" id="modalResponseBody"></div>
134
+
18
135
  </div>
19
136
  </div>
20
137
  </div>
138
+
139
+ <script>
140
+ // Update event handlers to use the ResponseModalManager
141
+ document.addEventListener('DOMContentLoaded', function() {
142
+ // Update button click handlers
143
+ document.querySelector('button[onclick="copyResponse()"]').setAttribute('onclick', 'ResponseModalManager.copyResponse()');
144
+ document.querySelector('button[onclick="downloadResponse()"]').setAttribute('onclick', 'ResponseModalManager.downloadResponse()');
145
+ document.querySelector('button[onclick="formatResponse()"]').setAttribute('onclick', 'ResponseModalManager.formatResponse()');
146
+ document.querySelector('button[onclick="collapseAll()"]').setAttribute('onclick', 'ResponseModalManager.collapseAll()');
147
+ document.querySelector('button[onclick="expandAll()"]').setAttribute('onclick', 'ResponseModalManager.expandAll()');
148
+ });
149
+ </script>
@@ -693,6 +693,7 @@ def create_endpoint_page(
693
693
  ],
694
694
  "scripts": [
695
695
  "javascripts/try-out/modal.js",
696
+ "javascripts/try-out/response-modal.js",
696
697
  "javascripts/try-out/tabs.js",
697
698
  "javascripts/try-out/form-manager.js",
698
699
  "javascripts/try-out/request-executor.js",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drf-to-mkdoc
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Generate Markdown API docs from Django/DRF OpenAPI schema for MkDocs
5
5
  Author-email: Hossein Shayesteh <shayestehhs1@gmail.com>
6
6
  Maintainer-email: Hossein Shayesteh <shayestehhs1@gmail.com>
@@ -56,6 +56,8 @@ Generate beautiful, interactive Markdown API documentation from Django REST Fram
56
56
  - **Zero-hassle docs**: Beautiful, always-in-sync API docs straight from your codebase
57
57
  - **Model deep dive**: Auto-generated model pages with fields, relationships, and choices
58
58
  - **Lightning-fast discovery**: Interactive endpoint index with powerful filters and search
59
+ - **Try-it-out**: Interactive API testing directly in the documentation with request/response examples
60
+ - **AI-powered**: Optional AI-generated documentation with custom field generators(Wait for it...)
59
61
  - **DRF-native**: Works with DRF Spectacular; no custom schema wiring needed
60
62
  - **MkDocs Material**: Looks great out of the box with the Material theme
61
63
 
@@ -76,7 +78,7 @@ INSTALLED_APPS = [
76
78
 
77
79
  # Required for OpenAPI schema generation
78
80
  REST_FRAMEWORK = {
79
- 'DEFAULT_SCHEMA_CLASS': 'drf_to_mkdoc.utils.schema.AutoSchema', # Use our custom AutoSchema
81
+ 'DEFAULT_SCHEMA_CLASS': 'drf_to_mkdoc.utils.schema.AutoSchema',
80
82
  }
81
83
 
82
84
  SPECTACULAR_SETTINGS = {
@@ -99,6 +101,12 @@ DRF_TO_MKDOC = {
99
101
  # 'MODEL_DOCS_FILE': 'docs/model-docs.json',
100
102
  # 'DOC_CONFIG_FILE': 'docs/configs/doc_config.json',
101
103
  # 'CUSTOM_SCHEMA_FILE': 'docs/configs/custom_schema.json',
104
+ # 'FIELD_GENERATORS': {
105
+ # 'email': 'faker.email',
106
+ # 'name': 'faker.name',
107
+ # 'created_at': 'datetime.now',
108
+ # },
109
+ # 'ENABLE_AI_DOCS': False,
102
110
  }
103
111
  ```
104
112
 
@@ -111,18 +119,54 @@ DRF_TO_MKDOC = {
111
119
  python manage.py build_docs --settings=docs_settings
112
120
  ```
113
121
 
122
+ ### Configuration Options
123
+
124
+ The `DRF_TO_MKDOC` setting supports several configuration options:
125
+
126
+ - **`DJANGO_APPS`** (required): List of Django app names to process
127
+ - **`DOCS_DIR`**: Directory where docs will be generated (default: `docs`)
128
+ - **`CONFIG_DIR`**: Directory for configuration files (default: `docs/configs`)
129
+ - **`FIELD_GENERATORS`**: Custom field value generators for better examples
130
+ - **`ENABLE_AI_DOCS`**: Enable AI-powered documentation features (default: `False`)
131
+ - **`PATH_PARAM_SUBSTITUTE_FUNCTION`**: Custom function for path parameter substitution
132
+ - **`PATH_PARAM_SUBSTITUTE_MAPPING`**: Mapping for path parameter substitution
133
+
114
134
  ## Available Commands
115
135
 
116
136
  - `build_docs`: Build the complete documentation site with MkDocs
117
137
  - `build_endpoint_docs`: Build endpoint documentation from OpenAPI schema
118
138
  - `build_model_docs`: Build model documentation from model JSON data
119
139
  - `extract_model_data`: Extract model data from Django model introspection and save as JSON
140
+ - `generate_doc_json`: Generate JSON context for new API endpoints to be documented
120
141
  - `update_doc_schema`: Update the final schema by copying the documented schema
121
142
 
122
143
  ## What you get
123
144
 
124
145
  See a detailed overview of generated files in `docs/structure.md` and a feature breakdown in `docs/features.md`.
125
146
 
147
+ ## Key Features
148
+
149
+ ### 🚀 Interactive API Testing (Try-Out)
150
+ - **Live API testing**: Test endpoints directly from the documentation
151
+ - **Request builder**: Interactive forms for parameters, headers, and request body
152
+ - **Response viewer**: Real-time response display with syntax highlighting
153
+ - **Floating action button**: Easy access to testing interface
154
+ - **Multiple examples**: Support for both empty and populated response examples
155
+
156
+ ### 🤖 AI-Powered Documentation
157
+ - **Custom field generators**: Define custom value generators for specific fields
158
+ - **AI documentation**: Optional AI-generated documentation with context analysis
159
+ - **Smart examples**: Enhanced example generation for better API understanding
160
+
161
+ ### 📊 Advanced Filtering & Search
162
+ - **Multi-criteria filtering**: Filter by app, HTTP method, path, and search terms
163
+ - **Real-time search**: Instant search across all endpoints
164
+ - **Smart suggestions**: Auto-complete for query parameters and field names
165
+
166
+ ### 🎨 Beautiful UI
167
+ - **Material Design**: Modern, responsive interface with dark/light themes
168
+ - **Interactive elements**: Hover effects, animations, and smooth transitions
169
+ - **Mobile-friendly**: Fully responsive design for all devices
126
170
 
127
171
  ## How it works
128
172
 
@@ -167,13 +211,29 @@ drf-to-mkdoc/
167
211
  │ │ ├── build_endpoint_docs.py # Build endpoint documentation
168
212
  │ │ ├── build_model_docs.py # Build model documentation
169
213
  │ │ ├── extract_model_data.py # Extract model data from Django
214
+ │ │ ├── generate_doc_json.py # Generate JSON context for AI docs
170
215
  │ │ └── update_doc_schema.py # Schema updates
216
+ │ ├── static/
217
+ │ │ └── drf-to-mkdoc/
218
+ │ │ ├── javascripts/
219
+ │ │ │ ├── try-out/ # Interactive API testing
220
+ │ │ │ └── endpoints-filter.js # Endpoint filtering
221
+ │ │ └── stylesheets/ # CSS for styling
222
+ │ ├── templates/
223
+ │ │ ├── endpoints/ # Endpoint documentation templates
224
+ │ │ ├── model_detail/ # Model documentation templates
225
+ │ │ └── try-out/ # Interactive testing templates
171
226
  │ └── utils/
172
- │ ├── common.py # Shared utilities
173
- │ ├── endpoint_generator.py # Endpoint documentation
174
- │ ├── model_generator.py # Model documentation
175
- └── extractors/ # Query parameter extraction
176
- ├── pyproject.toml # Project configuration
227
+ │ ├── ai_tools/ # AI-powered documentation features
228
+ │ ├── commons/ # Shared utilities
229
+ │ ├── extractors/ # Query parameter extraction
230
+ ├── endpoint_detail_generator.py
231
+ ├── endpoint_list_generator.py
232
+ │ ├── model_detail_generator.py
233
+ │ ├── model_list_generator.py
234
+ │ └── schema.py
235
+ ├── docs/ # Generated documentation
236
+ ├── pyproject.toml # Project configuration
177
237
  └── README.md
178
238
  ```
179
239
 
@@ -232,5 +292,4 @@ your-project/
232
292
 
233
293
  ## Contributing
234
294
 
235
- See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines.
236
- This will ensure that only the source configuration and scripts are versioned, while the generated documentation is excluded.
295
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines.
@@ -12,15 +12,21 @@ drf_to_mkdoc/management/commands/extract_model_data.py,sha256=XoMO4C22ZPKQ99bh1W
12
12
  drf_to_mkdoc/management/commands/generate_doc_json.py,sha256=mWdYgMbSeLP4iQZeUm2DxwYQmdGy8w05XTEfbT_nOJo,19833
13
13
  drf_to_mkdoc/management/commands/update_doc_schema.py,sha256=TtHVQxnVpB_VELRkVcdsDXDU5zXdguFleB1mXCDMAbg,2009
14
14
  drf_to_mkdoc/static/drf-to-mkdoc/javascripts/endpoints-filter.js,sha256=KtfWroqsXg-wwmk36hpoH--M9WIW85EFNGeswMjFu4g,6138
15
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js,sha256=QUzoAHGt1g72eLpZOv2crzyBs3VjRzqI8KJP4Z4wtt4,5702
16
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js,sha256=_kXQhucJexV0_AuOJPQiNda-ACUI0ZyUep-vYXlsvsM,898
17
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js,sha256=3jbjFoizmZmeiV3uGeQyzcLzUUrRecw3qCw-wxwEH44,2585
18
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js,sha256=hIApsQ6gaXqNjgCyghZF3F6YqLHuLvG56AyLDzoVtjk,4150
19
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js,sha256=J3YskiK24jTDkO2sY5ye4AsLM79F5_AriE1G5NqndPw,7883
20
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js,sha256=mlaZ3vYze3-XXNT6XlgUwOXR8uvyylePXSfmHFDu6Is,1107
15
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/field-sections-loader.js,sha256=kSR_CDZTjRtsow1dDd6JN5I5rJjvnv10XmTItExdGas,1001
16
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/query-parameters-loader.js,sha256=W_ITwF2UwvODJBzcSQBdJ--upVFYXcOler8i0jqsabI,635
17
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/field-extractor.js,sha256=f_QTpuQgJprmoVqyT5HfnfFTH4q5rWzio3Rt0wYsHNE,8580
18
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js,sha256=6KIedOp1OSazcPLYbj7Zu4xtXBWu0XMcobTo3pTJbDY,16269
19
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js,sha256=W0Vv9jdCturToACs_wapZ37ux0nRXy1d3GqfXq-0NuI,1821
20
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js,sha256=IUg33Er2cF6qzIbxgnvlj8C_fSjNariyfFd3zswu3wU,14238
21
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/query-parameters-extractor.js,sha256=3b6XshRFdf5TeZNktgxEBenEFWTTEsKjYZll0xMUv3Q,3542
22
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js,sha256=CsIusYZ5RIJXQFN3eh3ZcTLgf6hoZJ7E9BP1_EGsSiA,11904
23
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/response-modal.js,sha256=D8Xd9rEAJpMPExVxSmJ7PaQXCmIfRPhyv6t93A0AP0w,5671
24
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js,sha256=WOXppK1HgYFDbVkCvchBKxL8rc_974roJAxZE2EBdDo,4396
25
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js,sha256=WwAjbisNap0lOQ3pZyWkW0G7hXvy_gFjHMCCPUu50a8,2791
26
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/field-sections.css,sha256=-EAXNd0h6OHMo0kViUfUxMp3uBdQrbb6YOphSLnlfXo,2654
21
27
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/accessibility.css,sha256=DwCGPoaxaUvyifryrKqmkFDH06XBNf65kYsflMTbi0M,494
22
28
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/animations.css,sha256=61m9SLAbatVUNuFeTUTxktoMu9SskYcwFjTsHYbsCRo,393
23
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/badges.css,sha256=kUlUcf72uRw6x6Gn7cUq_aTuSGBbhumZ4Us-eBDM7DM,1251
29
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/badges.css,sha256=gti54y-IoZEpK5xUn92OD55sDqwvWUa0HjsHvoEHmKM,1438
24
30
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/base.css,sha256=K9lEjO-TEaUsFCaiuBwqDGrrjIJP8oBDh7igBGRTD3g,1839
25
31
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/endpoint-content.css,sha256=1EKHfDeOSpNJe6l3mHzsBlLqLVCJn_1TKtEVfV7Dp88,3452
26
32
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/endpoints-grid.css,sha256=Ct4H_ma3tC_1ogw9IeSNmUDZFJwzQWjCM6GomNXV8ig,4115
@@ -32,8 +38,11 @@ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/responsive.css,sha256=mzR
32
38
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/sections.css,sha256=xdrO6vUpthFFN1ESummoGuG5MPtE2d2lPsBOWuv-T6o,705
33
39
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/stats.css,sha256=0cDD8s63r6zQid_O1schNvfIwys1Y526xO6-B6s4Lxc,667
34
40
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/tags.css,sha256=dOw13qsvVjx9cibzgzXlOutXVosNp6LzFfEFKvumG8w,1785
35
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/theme-toggle.css,sha256=j1P5xDQDfos8jeVYz5s1jjEeujMlZtLi39OC6VeuMcA,1034
41
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/theme-toggle.css,sha256=kaG0KZXa2uYmyIJfl4hd30Tj4pvDijJKthUXQ9WovJs,7839
36
42
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/variables.css,sha256=Sg2vcQOHdpmEFDn43OeZcMIKxtr5EOEI_wISkCmtcSU,1895
43
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/fab.css,sha256=y3lhPO09oFaGeBywhd9C2d3LolX0xhbYTD-gIvmM24I,4505
44
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/response.css,sha256=QiYLRVT8mb5rCMh-CJEOsrG20BqY-sFtNtsTsKm4tRo,7807
45
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/variables.css,sha256=bzjsnT-GQ_30cQz-CUKLYKELWYakhyaQ9a6b8EmpcXI,5350
37
46
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/animations.css,sha256=IrqN9vJKgaHAWk2PBRKKmFHgH-lQlw5YZvEOGDqYk_g,656
38
47
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/base.css,sha256=qdXDVScWoEvFbSRfjDlnxvQZBy2JFX9yXPngMWNSZ7o,1849
39
48
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/model-cards.css,sha256=IppCOptBoFeQCz2sc-exPrnxvsdDxcwYGM-foQrZoVU,2779
@@ -42,18 +51,18 @@ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/responsive.css,sha256=ygqyUt
42
51
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/variables.css,sha256=2HvyjnJrygSzdzpE-FYpo6FGhrYhmZ7NwDFAkADXQNg,1094
43
52
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/buttons.css,sha256=dqQVg-_TtT84aitXZAOC3eq8MvuWP3NMf_Ub63wK2mg,1771
44
53
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/fab.css,sha256=dWUODpavNQq-LkjKb-E7iEiPYd45tuRPME_w1bq5Nic,1060
45
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css,sha256=vwk2Y-BznJkic3_07Izk-NfL7uYWgGhXbVmyuh9Ml9w,3093
54
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css,sha256=-XIgZ99XIpiqh_h5wu4Yo7S1UTpP87LHRz129K-IWaY,15908
46
55
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/key-value.css,sha256=dldQo9OZh5-9n0Xa9eaL8FA5ggKSBsXslOnxbtp39RE,3844
47
56
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/main.css,sha256=i5-b7eUAqw35AavIe-kSeMPz1RejEaA9S7ZFHtITjsA,938
48
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css,sha256=xPTJoGm2FrM1aqJ8S6abF58aA93S0sKuGm0N0PyfXys,2425
49
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css,sha256=RJLs1BAyVBaqds1EgQiZGWG8patHzT4QPk8cVv3oDQM,3751
50
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css,sha256=i-Z-teVEVmLWzHY5b7DdrVROyNjRoQ4EjOsSkGJP2ig,1215
51
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css,sha256=tWw8GDrLQv70IIIIiDSMBU9n22cg_civnTSM2dmSXDk,1110
57
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css,sha256=LD9dzn-4DDtw1xNb8NRJ8PJMYf2Am3ldoDh3DF2mV-g,7371
58
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css,sha256=C8zJj_L0BFZR8tFumQxtvRsPfh2YPZTuPTXA43f1CuM,14133
59
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css,sha256=lN17XT5XBX-_M7M9jm-IQkIaKVI4nAVeKvzXhZdb95E,2340
60
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css,sha256=hU-nKNdVpD6a6tpSzhSJIMk8gOUA7G_EDsTBksrmlXY,3117
52
61
  drf_to_mkdoc/templates/models_index.html,sha256=A_Lu3wFMG2Nf8Bv4zttz3e0gZpxBcvDjSvX_rfOYdeI,837
53
62
  drf_to_mkdoc/templates/endpoints/detail/base.html,sha256=HdLdl-OEkpcF56vK5pvduWZbqdzjmrehI2_B8KYf6y0,857
54
63
  drf_to_mkdoc/templates/endpoints/detail/path_parameters.html,sha256=M7OPUg88e3bw01rZpZUVahZzlq3JFaxZDsnDx2Xizx8,310
55
64
  drf_to_mkdoc/templates/endpoints/detail/query_parameters.html,sha256=PlkL3HDiyvwEcDC-QFTc4xunV32TzGX5yyqhSS0YyOY,879
56
- drf_to_mkdoc/templates/endpoints/detail/request_body.html,sha256=-9wacJIQOS-lC2zE31rPaeGs_SkOVm1tAJvebLW6zME,149
65
+ drf_to_mkdoc/templates/endpoints/detail/request_body.html,sha256=oDMymuZyAbWF2aDAvd-jyrRxTLM3fOZgYM3UpTRDbKo,235
57
66
  drf_to_mkdoc/templates/endpoints/detail/responses.html,sha256=j5TayLw3r3BCM2ZN0lvO4Tv9Wf-xViG6a-c8-LzeeUI,297
58
67
  drf_to_mkdoc/templates/endpoints/list/base.html,sha256=l4A4VmDvDkMKim15feh0DoJkCf2V83EoI4wISUjf4Kc,602
59
68
  drf_to_mkdoc/templates/endpoints/list/endpoint_card.html,sha256=PesI9Dlt2kAU1AKcMNGUzIA3lzGcncX-Na0HYiwbR28,1114
@@ -68,14 +77,14 @@ drf_to_mkdoc/templates/model_detail/fields.html,sha256=dOYhfwFJThAuG65r8i6_A9bud
68
77
  drf_to_mkdoc/templates/model_detail/meta.html,sha256=idbnQhV1dT_zLQDD3jZ21vXqLjCxLXIk4rdCiWHm04s,109
69
78
  drf_to_mkdoc/templates/model_detail/methods.html,sha256=QZzp8sGKxuyM6_6GXDNnpKUJw0n_cF5CljklduyALTo,143
70
79
  drf_to_mkdoc/templates/model_detail/relationships.html,sha256=GK7mip_-_4qxxM7MGmV3HXqiV6X9QkeBtz7oy4xZs4Q,796
71
- drf_to_mkdoc/templates/try-out/fab.html,sha256=lkC40-0ww9H1peKhMIbr0HhstpJy7N0q95sVyRb5c58,194
72
- drf_to_mkdoc/templates/try-out/form.html,sha256=U_InNi18IMAxLdIrLE5pksj0xliF7kb5Tag_pFrpe_4,4555
80
+ drf_to_mkdoc/templates/try-out/fab.html,sha256=_LdcSS0kroedCrWDg44frNIAA1x2RCYa8RHgZiKL434,2158
81
+ drf_to_mkdoc/templates/try-out/form.html,sha256=WmdP6V89awfN1OQc3yUHOzhkLkwRNQSogGVboEv0-KA,11211
73
82
  drf_to_mkdoc/templates/try-out/main.html,sha256=SbSS989mhcJ46DwAKePjdCnpL1KuCDG8LcuERvRgh1U,144
74
- drf_to_mkdoc/templates/try-out/modal.html,sha256=KuIMp6Y_PvOgAMp_Qloa8zAlG0JdGmwPf_A3KYM8ZAc,566
75
- drf_to_mkdoc/templates/try-out/response-modal.html,sha256=o-sLhsKL9Rh23kJ93VTBmXfxONqDuMDfWvkmQrkyH2s,895
83
+ drf_to_mkdoc/templates/try-out/modal.html,sha256=G3Ye6DntMVVYUnmbwkrf-YcYmw7AxtCAzPUZUFlsUe8,2782
84
+ drf_to_mkdoc/templates/try-out/response-modal.html,sha256=mjt1bud07Y3BXp7716mQMlrv8xGRaQr4W2XRNKJWwGA,5980
76
85
  drf_to_mkdoc/templatetags/custom_filters.py,sha256=b_0ExGgBKUIlNkJ8nXlc6mrhhiUUxtdq9thXH-yzEq4,3761
77
86
  drf_to_mkdoc/utils/__init__.py,sha256=6dFTb07S6yIf-INMy0Mlgf5purNir687ZU9WZtITh4k,68
78
- drf_to_mkdoc/utils/endpoint_detail_generator.py,sha256=7G1NXiCBFU0Pm5j4E7wM-scYYNhyGbQuEttlwYv5TKA,28322
87
+ drf_to_mkdoc/utils/endpoint_detail_generator.py,sha256=qYFM84KuiygNMNGQ_aiT6nxVexWtM8mZb3WfFrV8zVU,28375
79
88
  drf_to_mkdoc/utils/endpoint_list_generator.py,sha256=yVX7qVUTuKF3TPFgm6FI-vVsVZQ7XHMXmZZalgSN8pk,3579
80
89
  drf_to_mkdoc/utils/model_detail_generator.py,sha256=_ac2PYSzSwRUgUn-J-nmg7mfQGn8SU_4vkMpMRIxgEU,2619
81
90
  drf_to_mkdoc/utils/model_list_generator.py,sha256=Ki-CwIYKmUbPm3_jUPLPosPfppyVLrZMkqbuPPO3Ycw,1988
@@ -96,8 +105,8 @@ drf_to_mkdoc/utils/commons/path_utils.py,sha256=Pi9g1xXDPsRzmn4kTeNSVtXG9v6n1h2Z
96
105
  drf_to_mkdoc/utils/commons/schema_utils.py,sha256=1mQxzo08J6tlVmTIJ0hCQ6wCZUWMuV82POhLWUfOYtI,7567
97
106
  drf_to_mkdoc/utils/extractors/__init__.py,sha256=BvC8gKOPVI9gU1Piw0jRhKQ2ER5s1moAxgq7ZYkJWNI,86
98
107
  drf_to_mkdoc/utils/extractors/query_parameter_extractors.py,sha256=xELPYI6tcqfkxOa475JPMaxRzRGUX--Z9oYRlKgXb7w,7964
99
- drf_to_mkdoc-0.2.3.dist-info/licenses/LICENSE,sha256=3n9_ckIREsH8ogCxWW6dFsw_WfGcluG2mHcgl9i_UU0,1068
100
- drf_to_mkdoc-0.2.3.dist-info/METADATA,sha256=4yYOErLRQKonE5Z73pKOwhYU1V09TY5VYE1e0dkr7YM,7563
101
- drf_to_mkdoc-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
102
- drf_to_mkdoc-0.2.3.dist-info/top_level.txt,sha256=ZzJecR6j_tvLZiubUBEgawHflozC4DQy9ooNf1yDJ3Q,13
103
- drf_to_mkdoc-0.2.3.dist-info/RECORD,,
108
+ drf_to_mkdoc-0.2.4.dist-info/licenses/LICENSE,sha256=3n9_ckIREsH8ogCxWW6dFsw_WfGcluG2mHcgl9i_UU0,1068
109
+ drf_to_mkdoc-0.2.4.dist-info/METADATA,sha256=utbuKPyj_A2eYjnpTln_O1CzjC-OPfzGcaxoZWz1ryY,10652
110
+ drf_to_mkdoc-0.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
111
+ drf_to_mkdoc-0.2.4.dist-info/top_level.txt,sha256=ZzJecR6j_tvLZiubUBEgawHflozC4DQy9ooNf1yDJ3Q,13
112
+ drf_to_mkdoc-0.2.4.dist-info/RECORD,,