mkdocs-partial 1.2.1__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.
- mkdocs_partial/__init__.py +24 -0
- mkdocs_partial/argparse_types.py +14 -0
- mkdocs_partial/docs_package_plugin.py +224 -0
- mkdocs_partial/entry_point.py +199 -0
- mkdocs_partial/integrations/__init__.py +0 -0
- mkdocs_partial/integrations/macros_plugin_shim.py +36 -0
- mkdocs_partial/integrations/material_blog_integration.py +149 -0
- mkdocs_partial/integrations/redirect_plugin_shim.py +23 -0
- mkdocs_partial/integrations/spellcheck_plugin_shim.py +46 -0
- mkdocs_partial/mkdcos_helpers.py +97 -0
- mkdocs_partial/packages/__init__.py +0 -0
- mkdocs_partial/packages/packager.py +218 -0
- mkdocs_partial/packages/templates/docs-package/dist-info/METADATA.j2 +7 -0
- mkdocs_partial/packages/templates/docs-package/dist-info/WHEEL.j2 +4 -0
- mkdocs_partial/packages/templates/docs-package/dist-info/entry_points.txt.j2 +2 -0
- mkdocs_partial/packages/templates/docs-package/package/__init__.py.j2 +3 -0
- mkdocs_partial/packages/templates/docs-package/package/__pyinstaller/__init__.py.j2 +5 -0
- mkdocs_partial/packages/templates/docs-package/package/__pyinstaller/hook-{{module_name}}.py.j2 +31 -0
- mkdocs_partial/packages/templates/docs-package/package/plugin.py.j2 +5 -0
- mkdocs_partial/packages/templates/site-package/dist-info/METADATA.j2 +7 -0
- mkdocs_partial/packages/templates/site-package/dist-info/WHEEL.j2 +4 -0
- mkdocs_partial/packages/templates/site-package/dist-info/entry_points.txt.j2 +5 -0
- mkdocs_partial/packages/templates/site-package/package/__init__.py.j2 +3 -0
- mkdocs_partial/packages/templates/site-package/package/__main__.py.j2 +4 -0
- mkdocs_partial/packages/templates/site-package/package/__pyinstaller/__init__.py.j2 +5 -0
- mkdocs_partial/packages/templates/site-package/package/__pyinstaller/hook-{{module_name}}.py.j2 +30 -0
- mkdocs_partial/packages/templates/site-package/package/entry_point.py.j2 +11 -0
- mkdocs_partial/partial_docs_plugin.py +92 -0
- mkdocs_partial/site_entry_point.py +151 -0
- mkdocs_partial/templating/__init__.py +5 -0
- mkdocs_partial/templating/markdown_extension.py +38 -0
- mkdocs_partial/templating/templater.py +76 -0
- mkdocs_partial/templating/templater_extension.py +17 -0
- mkdocs_partial/templating/version.py +5 -0
- mkdocs_partial/version.py +1 -0
- mkdocs_partial-1.2.1.dist-info/LICENSE +19 -0
- mkdocs_partial-1.2.1.dist-info/METADATA +31 -0
- mkdocs_partial-1.2.1.dist-info/RECORD +41 -0
- mkdocs_partial-1.2.1.dist-info/WHEEL +5 -0
- mkdocs_partial-1.2.1.dist-info/entry_points.txt +6 -0
- mkdocs_partial-1.2.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# pylint: disable=duplicate-code
|
|
2
|
+
import glob
|
|
3
|
+
import inspect
|
|
4
|
+
import logging
|
|
5
|
+
import os
|
|
6
|
+
import shutil
|
|
7
|
+
import sys
|
|
8
|
+
from abc import ABC
|
|
9
|
+
from argparse import ArgumentParser, ArgumentTypeError
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
import yaml
|
|
13
|
+
from mkdocs.__main__ import build_command as mkdocs_build_command, serve_command as mkdocs_serve_command
|
|
14
|
+
|
|
15
|
+
from mkdocs_partial.argparse_types import directory
|
|
16
|
+
from mkdocs_partial.entry_point import add_command_parser
|
|
17
|
+
from mkdocs_partial.mkdcos_helpers import normalize_path
|
|
18
|
+
from mkdocs_partial.partial_docs_plugin import PartialDocsPlugin
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def local_docs(value: str):
|
|
22
|
+
values = value.split("=", maxsplit=1)
|
|
23
|
+
plugin = values[0]
|
|
24
|
+
path = "/docs" if len(values) <= 1 else values[1]
|
|
25
|
+
if not os.path.isdir(path):
|
|
26
|
+
raise ArgumentTypeError(f"directory '{path}' for plugin '{plugin}' does not exist")
|
|
27
|
+
return plugin, normalize_path(path)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class SiteEntryPoint(ABC):
|
|
31
|
+
|
|
32
|
+
def __init__(self, version, site_root=None, prog=None):
|
|
33
|
+
self.__prog = prog
|
|
34
|
+
self.__version = version
|
|
35
|
+
if site_root is None:
|
|
36
|
+
script_dir = os.path.dirname(os.path.realpath(inspect.getfile(self.__class__)))
|
|
37
|
+
self.__default_site_root = os.path.join(script_dir, "site")
|
|
38
|
+
else:
|
|
39
|
+
self.__default_site_root = site_root
|
|
40
|
+
logging.basicConfig(
|
|
41
|
+
level=logging.INFO,
|
|
42
|
+
format="{asctime} [{levelname}] {message}",
|
|
43
|
+
style="{",
|
|
44
|
+
)
|
|
45
|
+
self.logger = logging.getLogger(__name__)
|
|
46
|
+
|
|
47
|
+
def run(self):
|
|
48
|
+
|
|
49
|
+
parser = ArgumentParser(description=f"v{self.__version}", prog=self.__prog)
|
|
50
|
+
subparsers = parser.add_subparsers(help="commands")
|
|
51
|
+
self.add_mkdocs_command_parser(
|
|
52
|
+
subparsers,
|
|
53
|
+
"serve",
|
|
54
|
+
"execute mkdocs serve",
|
|
55
|
+
func=lambda args, argv: self.mkdocs(mkdocs_serve_command, args, argv),
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
self.add_mkdocs_command_parser(
|
|
59
|
+
subparsers,
|
|
60
|
+
"build",
|
|
61
|
+
"execute mkdocs build",
|
|
62
|
+
func=lambda args, argv: self.mkdocs(mkdocs_build_command, args, argv),
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
dump_command = self.add_command_parser(subparsers, "dump", "dump site files to the dir", func=self.dump)
|
|
66
|
+
dump_command.add_argument(
|
|
67
|
+
"--output", required=False, type=directory, help="Output directory. Default - Current directory"
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
args, argv = parser.parse_known_args()
|
|
71
|
+
|
|
72
|
+
if not hasattr(args, "func"):
|
|
73
|
+
parser.print_help()
|
|
74
|
+
sys.exit(0)
|
|
75
|
+
try:
|
|
76
|
+
success, message = args.func(args, argv)
|
|
77
|
+
if not success:
|
|
78
|
+
print(message, file=sys.stderr)
|
|
79
|
+
elif message is not None:
|
|
80
|
+
print(message)
|
|
81
|
+
except Exception as e: # pylint: disable=broad-exception-caught
|
|
82
|
+
self.logger.exception(f"FAIL! {e}")
|
|
83
|
+
success = False
|
|
84
|
+
|
|
85
|
+
sys.exit(0 if success else 1)
|
|
86
|
+
|
|
87
|
+
@staticmethod
|
|
88
|
+
def add_command_parser(subparsers, name, help_text, func):
|
|
89
|
+
command_parser = subparsers.add_parser(name, help=help_text)
|
|
90
|
+
command_parser.set_defaults(func=func, commandName=name)
|
|
91
|
+
return command_parser
|
|
92
|
+
|
|
93
|
+
@staticmethod
|
|
94
|
+
def add_mkdocs_command_parser(subparsers, name, help_text, func):
|
|
95
|
+
command_parser = add_command_parser(subparsers, name, help_text, func)
|
|
96
|
+
command_parser.add_argument("--local-docs", required=False, type=local_docs)
|
|
97
|
+
command_parser.add_argument("--site-root", required=False, type=directory)
|
|
98
|
+
return command_parser
|
|
99
|
+
|
|
100
|
+
def mkdocs(self, command, args, argv):
|
|
101
|
+
|
|
102
|
+
site_root_path = args.site_root
|
|
103
|
+
if site_root_path is None:
|
|
104
|
+
site_root_path = self.__default_site_root
|
|
105
|
+
|
|
106
|
+
self.logger.info(f"site root: {site_root_path}")
|
|
107
|
+
mkdocs_yaml_path = os.path.join(site_root_path, "mkdocs.yml")
|
|
108
|
+
if not os.path.isfile(mkdocs_yaml_path):
|
|
109
|
+
return False, "Site root does not have mkdocs.yml"
|
|
110
|
+
with open(mkdocs_yaml_path) as file:
|
|
111
|
+
mkdocs_yaml = yaml.safe_load(file)
|
|
112
|
+
plugins = mkdocs_yaml.get("plugins", [])
|
|
113
|
+
if not any("partial_docs" in plugin for plugin in plugins):
|
|
114
|
+
return False, f"{mkdocs_yaml_path} must define 'partial_docs' plugin"
|
|
115
|
+
|
|
116
|
+
if args.local_docs is not None:
|
|
117
|
+
plugin, docs_path = args.local_docs
|
|
118
|
+
PartialDocsPlugin.docs_path_overrides[plugin] = docs_path
|
|
119
|
+
|
|
120
|
+
current_dir = os.getcwd()
|
|
121
|
+
os.chdir(site_root_path)
|
|
122
|
+
try:
|
|
123
|
+
os.chdir(site_root_path)
|
|
124
|
+
Path(site_root_path).mkdir(parents=True, exist_ok=True)
|
|
125
|
+
command(argv) # pylint: disable=too-many-function-args
|
|
126
|
+
finally:
|
|
127
|
+
os.chdir(current_dir)
|
|
128
|
+
return False, ""
|
|
129
|
+
|
|
130
|
+
def dump(self, args, argv): # pylint: disable=unused-argument
|
|
131
|
+
output = args.output
|
|
132
|
+
if output is None:
|
|
133
|
+
output = os.getcwd()
|
|
134
|
+
output = normalize_path(output)
|
|
135
|
+
|
|
136
|
+
for path in glob.glob(os.path.join(self.__default_site_root, "**/*"), recursive=True):
|
|
137
|
+
path = normalize_path(path)
|
|
138
|
+
dest = os.path.relpath(path, self.__default_site_root)
|
|
139
|
+
dest = os.path.join(output, dest)
|
|
140
|
+
dest = normalize_path(dest)
|
|
141
|
+
if os.path.isdir(path):
|
|
142
|
+
os.makedirs(dest, exist_ok=True)
|
|
143
|
+
else:
|
|
144
|
+
os.makedirs(os.path.dirname(dest), exist_ok=True)
|
|
145
|
+
shutil.copy(path, dest)
|
|
146
|
+
|
|
147
|
+
return True, ""
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
if __name__ == "__main__":
|
|
151
|
+
SiteEntryPoint("1.0", r"d:\CODE\cy\subsystems\documentation\docs-site-documentation-inceptum").run()
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from html import escape
|
|
3
|
+
from typing import Callable, Dict
|
|
4
|
+
|
|
5
|
+
from mkdocs_partial.templating.templater_extension import TemplaterExtension
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TemplaterMarkdownExtension(TemplaterExtension):
|
|
9
|
+
@property
|
|
10
|
+
def filters(self) -> Dict[str, Callable]:
|
|
11
|
+
yield "escape_markdown", self.escape_markdown
|
|
12
|
+
yield "escape_new_lines", self.escape_new_lines
|
|
13
|
+
yield "nowrap", self.nowrap
|
|
14
|
+
yield "table_safe", self.table_safe
|
|
15
|
+
yield "eclipse", self.eclipse
|
|
16
|
+
yield "remove_tags", self.remove_tags
|
|
17
|
+
|
|
18
|
+
def escape_markdown(self, text):
|
|
19
|
+
text = escape(str(text))
|
|
20
|
+
return text.replace("|", "|").replace("_", "_").replace("*", "*")
|
|
21
|
+
|
|
22
|
+
def escape_new_lines(self, text):
|
|
23
|
+
return text.replace("\r\n", "<br/>").replace("\n", "<br/>").rstrip("<br/>")
|
|
24
|
+
|
|
25
|
+
def nowrap(self, text):
|
|
26
|
+
return text.replace("-", "‑").replace(" ", " ")
|
|
27
|
+
|
|
28
|
+
def table_safe(self, text):
|
|
29
|
+
return text.replace("|", "\\|")
|
|
30
|
+
|
|
31
|
+
def eclipse(self, value, length=48, add_spaces=False):
|
|
32
|
+
if len(value) > length:
|
|
33
|
+
return value[: length - 3] + "..."
|
|
34
|
+
|
|
35
|
+
return value.ljust(length) if add_spaces else value
|
|
36
|
+
|
|
37
|
+
def remove_tags(self, value):
|
|
38
|
+
return re.sub("\\[.*?\\]\\s*", "", value)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from abc import ABC
|
|
3
|
+
from argparse import ArgumentError
|
|
4
|
+
from io import StringIO
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Callable, Dict
|
|
7
|
+
|
|
8
|
+
import jinja2
|
|
9
|
+
|
|
10
|
+
from mkdocs_partial.templating.templater_extension import TemplaterExtension
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Templater(ABC):
|
|
14
|
+
def __init__(self, templates_dir, template_filters: Dict[str, Callable] = None, output_path=None, **template_args):
|
|
15
|
+
if template_filters is None:
|
|
16
|
+
template_filters = {}
|
|
17
|
+
if output_path is None:
|
|
18
|
+
output_path = os.getcwd()
|
|
19
|
+
self.output_path = output_path
|
|
20
|
+
self.templates_dir = templates_dir
|
|
21
|
+
template_loader = jinja2.FileSystemLoader(searchpath=templates_dir)
|
|
22
|
+
self.__template_environment = jinja2.Environment(
|
|
23
|
+
loader=template_loader, trim_blocks=True, lstrip_blocks=False, newline_sequence="\r\n"
|
|
24
|
+
)
|
|
25
|
+
self.__template_args = template_args
|
|
26
|
+
filters = {}
|
|
27
|
+
filters.update(template_filters)
|
|
28
|
+
for name, method in filters.items():
|
|
29
|
+
self.__template_environment.filters[name] = method
|
|
30
|
+
|
|
31
|
+
def extend(self, extension: TemplaterExtension):
|
|
32
|
+
for name, method in extension.filters:
|
|
33
|
+
self.__template_environment.filters[name] = method
|
|
34
|
+
self.__template_args.update(extension.args)
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def write_template(self, template: str, /, *, path=None, **args):
|
|
38
|
+
if template is None or template == "":
|
|
39
|
+
raise ArgumentError(template, "template should not be None")
|
|
40
|
+
template_vars = {}
|
|
41
|
+
if path is None:
|
|
42
|
+
path = template
|
|
43
|
+
template_vars.update(args)
|
|
44
|
+
report_file = path
|
|
45
|
+
if not os.path.isabs(path):
|
|
46
|
+
report_file = os.path.normpath(os.path.join(self.output_path, path))
|
|
47
|
+
Path(os.path.dirname(report_file)).mkdir(parents=True, exist_ok=True)
|
|
48
|
+
with open(report_file, "w", encoding="utf-8") as file:
|
|
49
|
+
self.__template(template, file, **args)
|
|
50
|
+
return report_file
|
|
51
|
+
|
|
52
|
+
def template(self, template, **args):
|
|
53
|
+
stream = StringIO()
|
|
54
|
+
self.__template(template, stream, **args)
|
|
55
|
+
stream.seek(0)
|
|
56
|
+
return stream.read()
|
|
57
|
+
|
|
58
|
+
def template_string(self, template, **args):
|
|
59
|
+
stream = StringIO()
|
|
60
|
+
self.__template(template, stream, is_str=True, **args)
|
|
61
|
+
stream.seek(0)
|
|
62
|
+
return stream.read()
|
|
63
|
+
|
|
64
|
+
def __template(self, template, stream, is_str=False, **args):
|
|
65
|
+
template_vars = {}
|
|
66
|
+
if args is None:
|
|
67
|
+
args = {}
|
|
68
|
+
args = dict(args)
|
|
69
|
+
args.update(self.__template_args)
|
|
70
|
+
template_vars.update(args)
|
|
71
|
+
template = (
|
|
72
|
+
self.__template_environment.from_string(template)
|
|
73
|
+
if is_str
|
|
74
|
+
else self.__template_environment.get_template(template)
|
|
75
|
+
)
|
|
76
|
+
template.stream(template_vars).dump(stream)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from abc import ABC
|
|
2
|
+
from typing import Any, Callable, Dict
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class TemplaterExtension(ABC):
|
|
6
|
+
|
|
7
|
+
def __init__(self, **kwargs):
|
|
8
|
+
self.__args = kwargs
|
|
9
|
+
super().__init__()
|
|
10
|
+
|
|
11
|
+
@property
|
|
12
|
+
def filters(self) -> Dict[str, Callable]:
|
|
13
|
+
return {}
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def args(self) -> Dict[str, Any]:
|
|
17
|
+
return self.__args
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.2.1"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2024 Exordis
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: mkdocs-partial
|
|
3
|
+
Version: 1.2.1
|
|
4
|
+
Summary: Mkdocs Partial Documentation
|
|
5
|
+
Author: Exorids
|
|
6
|
+
Project-URL: Homepage, https://github.com/exordis/mkdocs-partial
|
|
7
|
+
Project-URL: Documentation, https://docs.exordis.com/Partial%20Documentation/
|
|
8
|
+
Keywords: mkdocs,partial
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Requires-Python: >=3.12
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Requires-Dist: setuptools <75,>=74
|
|
15
|
+
Requires-Dist: PyYAML <6.1,>=6.0.1
|
|
16
|
+
Requires-Dist: mkdocs <1.7,>=1.6
|
|
17
|
+
Requires-Dist: python-frontmatter <1.2,>=1.1.0
|
|
18
|
+
Requires-Dist: argparse <1.5,>=1.4
|
|
19
|
+
Requires-Dist: packaging >=24.0
|
|
20
|
+
Provides-Extra: lint
|
|
21
|
+
Requires-Dist: black <25,>=24.8 ; extra == 'lint'
|
|
22
|
+
Requires-Dist: flake8 <8.0.0,>=7.0.0 ; extra == 'lint'
|
|
23
|
+
Requires-Dist: isort <6.0.0,>=5.13.0 ; extra == 'lint'
|
|
24
|
+
Requires-Dist: pylint ==3.3.0 ; extra == 'lint'
|
|
25
|
+
Provides-Extra: test
|
|
26
|
+
Requires-Dist: pytest <8.0.0,>=7.1.3 ; extra == 'test'
|
|
27
|
+
Requires-Dist: pytest-cov <4.0.0,>=3.0.0 ; extra == 'test'
|
|
28
|
+
Requires-Dist: pytest-mock <4.0.0,>=3.0.0 ; extra == 'test'
|
|
29
|
+
Requires-Dist: pytest-resource-path ==1.3.0 ; extra == 'test'
|
|
30
|
+
|
|
31
|
+
Mkdocs Partial Documentation
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
mkdocs_partial/__init__.py,sha256=clmwB5riEm0TL650ufjrDAcyIHyKWpeG7rJzhWY_qus,1292
|
|
2
|
+
mkdocs_partial/argparse_types.py,sha256=0_DEhGfbs8rCqGRnyMVInTuakfZ07_9-xLub_23H2rk,332
|
|
3
|
+
mkdocs_partial/docs_package_plugin.py,sha256=OvkgIouMEFv_OsydmeFm3Mv289dTOHTBdBV1AKylR3k,9640
|
|
4
|
+
mkdocs_partial/entry_point.py,sha256=RIjzz_YXPvy4dLTf7q4TwmoaPs2zKUHUqbrBKLe4iRo,7007
|
|
5
|
+
mkdocs_partial/mkdcos_helpers.py,sha256=Ihi8Fxe2KiN6qGroaMHKl0XZSk9XRr6Q1E0HcCXOQBY,3681
|
|
6
|
+
mkdocs_partial/partial_docs_plugin.py,sha256=CNgudgX8ztjITAAyPonc4smNUBIJlLFOIek19syN2a4,3743
|
|
7
|
+
mkdocs_partial/site_entry_point.py,sha256=lmevOAab7VknT2Mo7biUuiiCk8Rj45VD78o-SgLkVTM,5696
|
|
8
|
+
mkdocs_partial/version.py,sha256=Mlm4Gvmb_6yQxwUbv2Ksc-BJFXLPg9H1Vt2iV7wXrA4,22
|
|
9
|
+
mkdocs_partial/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
mkdocs_partial/integrations/macros_plugin_shim.py,sha256=FI1lwMDHhPTDvEs6RwPPScgkNrprgA24hX2Ys8RfXOg,1451
|
|
11
|
+
mkdocs_partial/integrations/material_blog_integration.py,sha256=oyIAM69w9n5S8JSltHg7nX1KUIUDA-Htn67ny9BkLbk,6577
|
|
12
|
+
mkdocs_partial/integrations/redirect_plugin_shim.py,sha256=l5rzNnYSDiBXe39zeKLamClTfS1beDFXLhYWPl26y8U,1057
|
|
13
|
+
mkdocs_partial/integrations/spellcheck_plugin_shim.py,sha256=IDX_bdBxvbdH6fYTrcNRIIILjn0kOHMWM75GNVefnTE,1959
|
|
14
|
+
mkdocs_partial/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
mkdocs_partial/packages/packager.py,sha256=hDThinVAyvufBr390rTZcpNyNHSSaQCb9s3vUkG58co,9358
|
|
16
|
+
mkdocs_partial/packages/templates/docs-package/dist-info/METADATA.j2,sha256=jP5exCZ02fHV5CZUSOglXC1fpR1aOu2End2UF142MwU,200
|
|
17
|
+
mkdocs_partial/packages/templates/docs-package/dist-info/WHEEL.j2,sha256=oqtHCHiufqw6DYjrSjrApk-sRVBDzXyYro5YVCSEvGE,83
|
|
18
|
+
mkdocs_partial/packages/templates/docs-package/dist-info/entry_points.txt.j2,sha256=1W6F_2bOdyyYsND6ghRt53DkRpW3Ujv1x41wdfSTos4,66
|
|
19
|
+
mkdocs_partial/packages/templates/docs-package/package/__init__.py.j2,sha256=tk9gDtreAfgnAcuBkmzAVKWiUaW-wDPltHV3PPgqzAM,88
|
|
20
|
+
mkdocs_partial/packages/templates/docs-package/package/plugin.py.j2,sha256=Vn_ONwaJz5WRqsjbyc2zx-Va9RGZQQup8GNfObduTpA,379
|
|
21
|
+
mkdocs_partial/packages/templates/docs-package/package/__pyinstaller/__init__.py.j2,sha256=n3qUujxBN7F1dvga4UNc5VQQ0L3GL4kp6ilu8Fbn-8E,75
|
|
22
|
+
mkdocs_partial/packages/templates/docs-package/package/__pyinstaller/hook-{{module_name}}.py.j2,sha256=x5JKrRwq5aGIq-BbDMoWGS60ZEZM9MfWfr4J8fm6HpU,965
|
|
23
|
+
mkdocs_partial/packages/templates/site-package/dist-info/METADATA.j2,sha256=jP5exCZ02fHV5CZUSOglXC1fpR1aOu2End2UF142MwU,200
|
|
24
|
+
mkdocs_partial/packages/templates/site-package/dist-info/WHEEL.j2,sha256=oqtHCHiufqw6DYjrSjrApk-sRVBDzXyYro5YVCSEvGE,83
|
|
25
|
+
mkdocs_partial/packages/templates/site-package/dist-info/entry_points.txt.j2,sha256=zeQVaJ8wUjDbFmvPJx1In2-zeCj-jObGpAsx5Xbz4ek,145
|
|
26
|
+
mkdocs_partial/packages/templates/site-package/package/__init__.py.j2,sha256=tk9gDtreAfgnAcuBkmzAVKWiUaW-wDPltHV3PPgqzAM,88
|
|
27
|
+
mkdocs_partial/packages/templates/site-package/package/__main__.py.j2,sha256=olncNMUUaIZ1L6b4QKd1Ep0czGiYH6_g-3VgFHUbF1U,94
|
|
28
|
+
mkdocs_partial/packages/templates/site-package/package/entry_point.py.j2,sha256=n9-sPkBWLyYqpWFlxnTrOweC0NADh0JFArvkJ-bh570,332
|
|
29
|
+
mkdocs_partial/packages/templates/site-package/package/__pyinstaller/__init__.py.j2,sha256=n3qUujxBN7F1dvga4UNc5VQQ0L3GL4kp6ilu8Fbn-8E,75
|
|
30
|
+
mkdocs_partial/packages/templates/site-package/package/__pyinstaller/hook-{{module_name}}.py.j2,sha256=pyrikIqSRRbw7YNOnSpDVPYNxZjbXRbxatroyxM2skM,1021
|
|
31
|
+
mkdocs_partial/templating/__init__.py,sha256=4w62VvjHdoB8ThB6Z6BLw61xP2p8rXjyfds-3vjnurg,185
|
|
32
|
+
mkdocs_partial/templating/markdown_extension.py,sha256=j24tTTRZkS_kZt5hD7P-O3AaZHJYdURSzDv7purKZGI,1310
|
|
33
|
+
mkdocs_partial/templating/templater.py,sha256=jFk-LRSnVrMyOZE46lDih-XOc4GTzZrOtb81jO27ovY,2893
|
|
34
|
+
mkdocs_partial/templating/templater_extension.py,sha256=CqP092ZB3OCSCIZNSAJYwovicVjEkxUm3BdscvfycOc,359
|
|
35
|
+
mkdocs_partial/templating/version.py,sha256=K1EbhMYUkog0O4znEW0NoISmA-SGFEjhlLvvOxTvdrc,39
|
|
36
|
+
mkdocs_partial-1.2.1.dist-info/LICENSE,sha256=L2U87H2Agcp9ERUZyQ3u3GNzXlp5JBSom8QTRsvmDxI,1068
|
|
37
|
+
mkdocs_partial-1.2.1.dist-info/METADATA,sha256=N8_QRXRbG7v0umAgC3BQv-HNF5ja1EUKzfunA3q18PM,1205
|
|
38
|
+
mkdocs_partial-1.2.1.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
|
|
39
|
+
mkdocs_partial-1.2.1.dist-info/entry_points.txt,sha256=kl-tZYlorEy6jL1ua0YYFVw9suKUDBQM00D9BSLKpbs,220
|
|
40
|
+
mkdocs_partial-1.2.1.dist-info/top_level.txt,sha256=Sgy37fgFOY3--xaLzfu5MAPTOUeUTbK-LOQ1K9xrNWw,15
|
|
41
|
+
mkdocs_partial-1.2.1.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
mkdocs_partial
|