Compare commits
No commits in common. "main" and "0.5.0" have entirely different histories.
|
@ -86,13 +86,12 @@ steps:
|
|||
# [repository site](https://code.studioinfinity.org/glen/mkdocs-semiliterate).
|
||||
# Pull requests are welcome as well. If you're new to contributing to open-source
|
||||
# projects, `mkdocs-simple-plugin` has a very nice
|
||||
# [tutorial](https://althack.dev/mkdocs-simple-plugin/v{! setup.cfg { extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'}, ensurelines: false} !}/CONTRIBUTING/).
|
||||
# [tutorial](https://athackst.github.io/mkdocs-simple-plugin/CONTRIBUTING/).
|
||||
#
|
||||
# ### Publishing
|
||||
#
|
||||
# This package is published to [PyPI](https://pypi.org/project/mkdocs-semiliterate/)
|
||||
# using [twine](https://twine.readthedocs.io). Mostly to jog the developer's
|
||||
# memory, when a new release is freshly built, the command to update PyPI is
|
||||
# `twine upload dist/*`. Also don't forget to create a fresh release on the
|
||||
# repository site as well.
|
||||
# `twine upload dist/*`.
|
||||
###
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
# ![Dreaming of integrated documentation](assets/icons8-ask-question-100.png) MkDocs semiliterate Plugin
|
||||
|
||||
This plugin for [MkDocs](http://mkdocs.org) is an extension of Allison Thackston's excellent [mkdocs-simple-plugin](https://www.althack.dev/mkdocs-simple-plugin/). It allows you to include content from one file into another (via `{! ... !}` syntax), using exactly the same extraction specification that the `simple` plugin already uses for identifying documentation in source files.
|
||||
This plugin for [MkDocs](http://mkdocs.org) is an extension of Allison Thackston's excellent [mkdocs-simple-plugin](https://athackst.github.io/mkdocs-simple-plugin). It allows you to include content from one file into another (via `{! ... !}` syntax), using exactly the same extraction specification that the `simple` plugin already uses for identifying documentation in source files.
|
||||
<!-- repo: --><!-- site: The current version of mkdocs-semiliterate is {! setup.cfg { extract: {start: name}, terminate: '(\d*\.\d*\.\d*)', ensurelines: false} !}. -->
|
||||
<!-- repo: --><!-- site: It is built on mkdocs-simple-plugin v{! setup.cfg { extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'}, ensurelines: false} !}. -->
|
||||
|
||||
## Rationale
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ plugins:
|
|||
- semiliterate:
|
||||
merge_docs_dir: false
|
||||
ignore_folders: [build, dist, tests, semiliterate]
|
||||
ignore_hidden: false
|
||||
include_extensions: [LICENSE, '.png']
|
||||
extract_standard_markdown:
|
||||
extract:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
r""" md
|
||||
""" md
|
||||
## Usage
|
||||
|
||||
Once this plugin is [installed](../README.md#installation), just replace
|
||||
|
@ -6,25 +6,19 @@ the plugin name `simple` with `semiliterate` in your `mkdocs.yml` file.
|
|||
It accepts all of the same parameters, so `mkdocs` will still work as before,
|
||||
and you will have immediate access to all of the following extensions.
|
||||
(Note that this documentation assumes a familiarity with the
|
||||
[usage](https://althack.dev/mkdocs-simple-plugin/v{! ../setup.cfg {
|
||||
extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'},
|
||||
ensurelines: false
|
||||
} !}/mkdocs_simple_plugin/plugin/)
|
||||
[usage](https://athackst.github.io/mkdocs-simple-plugin/mkdocs_simple_plugin/plugin/)
|
||||
of the `simple` plugin.)
|
||||
"""
|
||||
|
||||
from mkdocs import utils
|
||||
from mkdocs.config import config_options
|
||||
from mkdocs_simple_plugin.semiliterate import (
|
||||
Semiliterate, LazyFile, ExtractionPattern, StreamExtract,
|
||||
get_line, get_match)
|
||||
from mkdocs_simple_plugin.simple import Simple
|
||||
Semiliterate, LazyFile, ExtractionPattern, StreamExtract, get_line)
|
||||
from mkdocs_simple_plugin.plugin import SimplePlugin
|
||||
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import yaml
|
||||
|
||||
|
@ -37,15 +31,6 @@ to replace_line method.
|
|||
# except as marked:
|
||||
def replace_line(self, line, ensure_line=True):
|
||||
"""Apply the specified replacements to the line and return it."""
|
||||
# Process trimming
|
||||
if self._trim:
|
||||
line = line[self._trim:]
|
||||
# Process inline content regex
|
||||
if self._content:
|
||||
match_object = get_match(self._content, line)
|
||||
if match_object.lastindex:
|
||||
return match_object[match_object.lastindex]
|
||||
# Perform replace operations:
|
||||
if not self.replace:
|
||||
return line
|
||||
for item in self.replace:
|
||||
|
@ -86,7 +71,7 @@ enclosed in single or double quotes. Note that FILENAME is interpreted relative
|
|||
to the directory in which the file containing the `{! .. !}` expression
|
||||
resides. The YAML is interpreted exactly as the extraction options to a
|
||||
`semiliterate` item as
|
||||
[documented](https://althack.dev/mkdocs-simple-plugin/v{! ../setup.cfg { extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'}, ensurelines: false} !}/mkdocs_simple_plugin/plugin/index.html#semiliterate)
|
||||
[documented](https://athackst.github.io/mkdocs-simple-plugin/mkdocs_simple_plugin/plugin/index.html#semiliterate)
|
||||
for the `simple` extension, subject to the extensions below. The text
|
||||
extracted from FILENAME is interpolated at the current location in the file
|
||||
currently being written. Recursive inclusion is supported.
|
||||
|
@ -100,7 +85,9 @@ For an example that uses more of the extraction parameters, the current
|
|||
version number of mkdocs-semiliterate is extracted into the
|
||||
[Overview](../README.md) of this documentation via
|
||||
|
||||
` {! ../README.md extract: { start: 'repo:.*(\{!.*!\})', stop: 'repo' } !}`
|
||||
` {! ../README.md extract: { start: 'repo:.*(\{!.*!\})', stop: '' }
|
||||
terminate: Rationale
|
||||
!}`
|
||||
|
||||
to take advantage of the beginning of the `setup.cfg` file:
|
||||
```
|
||||
|
@ -177,8 +164,9 @@ is checked for `{! ... !}`.
|
|||
utils.log.error(errmsg)
|
||||
raise EOFError(errmsg)
|
||||
filename = body_match['fn']
|
||||
gitextract = False
|
||||
r""" md
|
||||
### Double-quoted filenames and special extraction
|
||||
### Double-quoted filenames and Git extraction
|
||||
|
||||
Standard Python escape sequences in double-quoted filenames are interpreted
|
||||
as usual; for example you can write
|
||||
|
@ -191,13 +179,9 @@ as usual; for example you can write
|
|||
to include a file whose name (`snippet/Say "Don't"`, in this case) has both
|
||||
double and single quotes.
|
||||
|
||||
Further, `semiliterate` supports some special escape sequences for
|
||||
doublequoted file names to include text from other places than current files
|
||||
in the project tree:
|
||||
|
||||
`\git`: extracts a version of a file from the Git archive of the project
|
||||
(presuming it is under Git version control) and then
|
||||
includes content from that file. For example, you could write
|
||||
Further, `semiliterate` supports a special escape to extract a file from the
|
||||
Git archive of the project (presuming it is under Git version control) and then
|
||||
include content from that file. For example, you could write
|
||||
```
|
||||
{! ../tests/fixtures/git-inclusion/README.md extract:
|
||||
start: '(.*!.*)'
|
||||
|
@ -222,32 +206,14 @@ form
|
|||
|
||||
is that the output of `git show SPECIFIER` is written to a temporary file,
|
||||
and that file is extracted from.
|
||||
|
||||
`\syspath`: searches for the remainder of the doublequoted filename in the
|
||||
python `sys.path` and includes content from the found file. For example, you
|
||||
could write
|
||||
```
|
||||
{! ../tests/fixtures/theme-modification/doc_theme/.base.generator extract:
|
||||
start: '(.*!.*)'
|
||||
!}
|
||||
```
|
||||
to create a version of the "base.html" of the "readthedocs" theme with
|
||||
additional content at the very top of the body. As the example suggests, this
|
||||
mechanism is primarily useful to tweak an mkdocs theme in ways not
|
||||
anticipated by the `{%- block ... %}` directives placed by the theme writer.
|
||||
"""
|
||||
gitextract = False
|
||||
syspathextract = False
|
||||
if doublequoted:
|
||||
if filename[:5] == r'\git ':
|
||||
gitextract = True
|
||||
filename = filename[5:]
|
||||
elif filename[:9] == r'\syspath ':
|
||||
syspathextract = True
|
||||
filename = filename[9:]
|
||||
filename = (filename.encode('latin-1', 'backslashreplace')
|
||||
.decode('unicode-escape'))
|
||||
include_path = os.path.join(self.include_root, filename)
|
||||
include_path = self.include_root + '/' + filename
|
||||
if gitextract:
|
||||
(write_handle, include_path) = tempfile.mkstemp()
|
||||
utils.log.info(
|
||||
|
@ -255,13 +221,7 @@ anticipated by the `{%- block ... %}` directives placed by the theme writer.
|
|||
contents = subprocess.check_output(['git', 'show', filename])
|
||||
os.write(write_handle, contents)
|
||||
os.close(write_handle)
|
||||
if syspathextract:
|
||||
for dirname in sys.path:
|
||||
candidate = os.path.join(dirname, filename)
|
||||
if os.path.isfile(candidate):
|
||||
include_path = candidate
|
||||
break
|
||||
new_root = os.path.dirname(include_path)
|
||||
new_root = re.match(r'(.*)/', include_path)[1]
|
||||
try:
|
||||
include_parameters = yaml.safe_load(body_match['yml'])
|
||||
except Exception as err:
|
||||
|
@ -282,17 +242,19 @@ anticipated by the `{%- block ... %}` directives placed by the theme writer.
|
|||
self.wrote_something = True
|
||||
self.transcribe(remainder[body_match.end():])
|
||||
|
||||
# ## The following has to be identical to StreamExtract.try_extract_match
|
||||
# ## The following has to be identical to StreamExtract.check_pattern
|
||||
# ## except for the marked bit handling ensure_lines
|
||||
def try_extract_match(
|
||||
self,
|
||||
match_object: re.Match,
|
||||
emit_last: bool = True) -> bool:
|
||||
"""Extract match into output.
|
||||
def check_pattern(self, pattern, line, emit_last=True):
|
||||
"""Check if pattern is contained in line.
|
||||
|
||||
If _match_object_ is not false-y, returns true.
|
||||
If extract flag is true, emits the last group of the match if any.
|
||||
If _pattern_ is not false-y and is contained in _line_,
|
||||
returns true (and if the _emit_last_ flag is true,
|
||||
emits the last group of the match if any). Otherwise,
|
||||
check_pattern does nothing but return false.
|
||||
"""
|
||||
if not pattern:
|
||||
return False
|
||||
match_object = pattern.search(line)
|
||||
if not match_object:
|
||||
return False
|
||||
if match_object.lastindex and emit_last:
|
||||
|
@ -307,6 +269,24 @@ anticipated by the `{%- block ... %}` directives placed by the theme writer.
|
|||
|
||||
class SemiliteratePlugin(SimplePlugin):
|
||||
r""" md An extension of the mkdocs-simple-plugin
|
||||
|
||||
### Universal block-comment markdown
|
||||
|
||||
By default, `semiliterate` scans for block-comment markdown `/** md` ... `**/`
|
||||
in all files with _any_ extension, as it's valid in so many disparate languages.
|
||||
(As opposed to `simple`, which defaults to searching for such markdown in a
|
||||
specific list of file types.)
|
||||
"""
|
||||
|
||||
super_sdict = dict(SimplePlugin.config_scheme)
|
||||
super_semi_dflt = super_sdict['semiliterate'].default
|
||||
semi_dflt = [b if 'js' not in b['pattern'] else dict(b, pattern=r'\.')
|
||||
for b in super_semi_dflt]
|
||||
altered_config_scheme = dict(
|
||||
super_sdict,
|
||||
semiliterate=config_options.Type(list, default=semi_dflt)).items()
|
||||
|
||||
add_param_doc = r""" md
|
||||
### Additional plugin parameters
|
||||
|
||||
`semiliterate` adds a couple of new plugin parameters to further tailor its
|
||||
|
@ -314,22 +294,17 @@ behavior as compared to `simple`. They are described in this section, with
|
|||
default values in parentheses at the beginning of each entry.
|
||||
|
||||
{! plugin.py extract:
|
||||
start: '[*]super_config_scheme'
|
||||
start: '[*]altered_config_scheme'
|
||||
replace:
|
||||
- ["\\('(.*)',\\s*$", '\1\n']
|
||||
- ['config_options.Type.*?default=([^\)]*)', ': (\1)']
|
||||
- '^\s*#(.*\s*)$'
|
||||
terminate: '^\s*\)'
|
||||
!}
|
||||
{! plugin.py extract:
|
||||
start: 'r["]{3}Extend'
|
||||
stop: '["]{3}'
|
||||
!}
|
||||
"""
|
||||
super_config_scheme = SimplePlugin.config_scheme
|
||||
config_scheme = (
|
||||
# Note documentation of each new parameter **follows** the parameter.
|
||||
*super_config_scheme,
|
||||
*altered_config_scheme,
|
||||
('exclude_extensions',
|
||||
config_options.Type(list, default=['.o'])),
|
||||
# Files whose name contains a string in this list will not be
|
||||
|
@ -365,118 +340,42 @@ terminate: '^\s*\)'
|
|||
)
|
||||
|
||||
def on_config(self, config, **kwargs):
|
||||
r""" md
|
||||
### Adjusting the mkdocs theme
|
||||
|
||||
`semiliterate` also makes it possible to add generated files to the mkdocs
|
||||
theme. It does this by detecting if a `theme.custom_dir` parameter has been set
|
||||
in the mkdocs configuration, and if so, it adds the corresponding directory
|
||||
in the generated docs dir to the theme search path. (Note this means that
|
||||
files in the corresponding subdirectory of your project will be copied into
|
||||
the resulting doc site unless their names start with a '.')
|
||||
"""
|
||||
# Save the include extensions before SimplePlugin modifies them:
|
||||
self.config['saved_includes'] = self.config['include_extensions']
|
||||
new_config = super().on_config(config, **kwargs)
|
||||
cfpath = os.path.dirname(config.config_file_path)
|
||||
self.custom_dir = None
|
||||
for themedir in config['theme'].dirs:
|
||||
common = os.path.commonpath([cfpath, themedir])
|
||||
if common == cfpath:
|
||||
self.custom_dir = os.path.relpath(themedir, cfpath)
|
||||
newthemedir = os.path.join(
|
||||
self.config['build_docs_dir'], self.custom_dir)
|
||||
utils.log.debug(
|
||||
'mkdocs-semiliterate: found theme.custom_dir = '
|
||||
+ self.custom_dir
|
||||
+ f"; adding theme directory {newthemedir}")
|
||||
config['theme'].dirs.insert(0, newthemedir)
|
||||
break
|
||||
return new_config
|
||||
|
||||
def on_files(self, files, config):
|
||||
# If we designated a subdirectory for the theme, ignore files in it
|
||||
if self.custom_dir:
|
||||
sources = files.src_paths
|
||||
for path in sources:
|
||||
if path.startswith(self.custom_dir):
|
||||
utils.log.debug(
|
||||
f"mkdocs-semiliterate: ignoring {path} "
|
||||
+ f"from theme directory {self.custom_dir}")
|
||||
files.remove(sources[path])
|
||||
|
||||
def on_pre_build(self, *, config):
|
||||
"""Build documentation directory with files according to settings."""
|
||||
semisimple = Semisimple(**self.config)
|
||||
|
||||
# Merge docs
|
||||
if self.config["merge_docs_dir"]:
|
||||
semisimple.merge_docs(self.orig_docs_dir)
|
||||
# Copy all of the valid doc files into build_docs_dir
|
||||
self.paths = semisimple.build_docs()
|
||||
|
||||
|
||||
class Semisimple(Simple):
|
||||
"""Mkdocs Semisimple Plugin"""
|
||||
def __init__(self, semiliterate, exclude_extensions, saved_includes,
|
||||
copy_standard_markdown, extract_standard_markdown,
|
||||
extract_on_copy, **kwargs):
|
||||
# Since we have extensions in Demiliterate, suppress the semiliterate
|
||||
# configuration until we handle it ourselves:
|
||||
super().__init__(semiliterate=[], **kwargs)
|
||||
self.semiliterate = [Demiliterate(**item) for item in semiliterate]
|
||||
self.exclude_extensions = exclude_extensions
|
||||
self.extract_on_copy = extract_on_copy
|
||||
semi = self.config['semiliterate']
|
||||
self.config['semiliterate'] = []
|
||||
new_config = super().on_config(config, **kwargs)
|
||||
self.config['semiliterate'] = semi
|
||||
self.semiliterate = [Demiliterate(**item) for item in semi]
|
||||
self.exclude_extensions = self.config['exclude_extensions']
|
||||
dflt_enable = False
|
||||
if not copy_standard_markdown:
|
||||
self.copy_glob = set(saved_includes)
|
||||
if not self.config['copy_standard_markdown']:
|
||||
self.include_extensions = self.config['include_extensions']
|
||||
dflt_enable = True
|
||||
if extract_standard_markdown.get('enable', dflt_enable):
|
||||
if self.config['extract_standard_markdown'].get('enable', dflt_enable):
|
||||
ext_pat = '|'.join(re.escape(s) for s in utils.markdown_extensions)
|
||||
self.semiliterate.append(
|
||||
Demiliterate(
|
||||
pattern=re.compile(f"^(.*(?:{ext_pat}))$"),
|
||||
destination=r'\1',
|
||||
**extract_standard_markdown))
|
||||
**self.config['extract_standard_markdown']))
|
||||
return new_config
|
||||
|
||||
def should_copy_file(self, file):
|
||||
def in_extensions(self, file):
|
||||
if any(ext in file for ext in self.exclude_extensions):
|
||||
return False
|
||||
return super().should_copy_file(file)
|
||||
return super().in_extensions(file)
|
||||
|
||||
def try_extract(self, from_directory, name, to_directory):
|
||||
def extract_from(self, from_directory, name, to_directory):
|
||||
if any(ext in name for ext in self.exclude_extensions):
|
||||
return False
|
||||
if not self.extract_on_copy and self.should_copy_file(name):
|
||||
if not self.config['extract_on_copy'] and self.in_extensions(name):
|
||||
return False
|
||||
return super().try_extract(from_directory, name, to_directory)
|
||||
|
||||
# Had to override this because the simple version hardcoded that if a file
|
||||
# was copied, it could not be extracted. So check carefully for changes in
|
||||
# simple. Only the lines between # # START and # # END differ.
|
||||
def build_docs(self) -> list:
|
||||
"""Build the docs directory from workspace files."""
|
||||
paths = []
|
||||
files = self.get_files()
|
||||
for file in files:
|
||||
if not os.path.isfile(file):
|
||||
continue
|
||||
from_dir = os.path.dirname(file)
|
||||
name = os.path.basename(file)
|
||||
build_prefix = os.path.normpath(
|
||||
os.path.join(self.build_dir, from_dir))
|
||||
|
||||
# # START
|
||||
copied = self.try_copy_file(from_dir, name, build_prefix)
|
||||
extracted = self.try_extract(from_dir, name, build_prefix)
|
||||
if (copied or extracted):
|
||||
paths.append(file)
|
||||
# # END
|
||||
return paths
|
||||
return super().extract_from(from_directory, name, to_directory)
|
||||
|
||||
|
||||
class Demiliterate(Semiliterate):
|
||||
r"""Extends Semiliterate to use StreamInclusion, not StreamExtract
|
||||
r""" md Extends Semiliterate to use StreamInclusion, not StreamExtract
|
||||
|
||||
semiliterate.ensurelines
|
||||
: (true) Guarantees that a newline is trancribed for each line of the input,
|
||||
|
@ -518,7 +417,7 @@ semiliterate.ensurelines
|
|||
|
||||
Returns True if extraction was successful.
|
||||
"""
|
||||
to_file = self.filename_match(from_file)
|
||||
to_file = self.filenname_match(from_file)
|
||||
if not to_file:
|
||||
return False
|
||||
from_file_path = os.path.join(from_directory, from_file)
|
||||
|
@ -526,9 +425,7 @@ semiliterate.ensurelines
|
|||
(destination_directory, to_file) = os.path.split(to_file_path) # ADDED
|
||||
try:
|
||||
with open(from_file_path) as original_file:
|
||||
utils.log.debug(
|
||||
f"mkdocs-semiliterate: In {from_directory}, "
|
||||
+ f"scanning {from_file}...")
|
||||
utils.log.debug(f"mkdocs-semiliterate: Scanning {from_file}...")
|
||||
# extraction = StreamExtract(
|
||||
extraction = StreamInclusion(
|
||||
input_stream=original_file,
|
||||
|
@ -539,9 +436,6 @@ semiliterate.ensurelines
|
|||
patterns=self.patterns,
|
||||
**kwargs)
|
||||
return extraction.extract()
|
||||
except (UnicodeDecodeError) as error:
|
||||
utils.log.info("mkdocs-semiliterate: skipping %s\n %s",
|
||||
from_file_path, str(error))
|
||||
except BaseException as error:
|
||||
utils.log.error(
|
||||
f"mkdocs-semiliterate: could not build {from_file_path}:\n "
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[metadata]
|
||||
name = mkdocs-semiliterate
|
||||
version = 0.7.0
|
||||
version = 0.5.0
|
||||
description = Extension of mkdocs-simple-plugin adding easy content inclusion
|
||||
long_description = file: README.md
|
||||
long_description_content_type = text/markdown
|
||||
|
@ -24,8 +24,8 @@ license = Apache-2.0
|
|||
[options]
|
||||
packages = mkdocs_semiliterate
|
||||
install_requires =
|
||||
mkdocs~=1.4
|
||||
mkdocs-simple-plugin==2.1.2
|
||||
mkdocs~=1.3.1
|
||||
mkdocs-simple-plugin~=1.0
|
||||
|
||||
[options.entry_points]
|
||||
mkdocs.plugins =
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -215,7 +215,7 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
|
||||
|
||||
|
||||
.admonition, details {
|
||||
.admonition {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
|
@ -223,33 +223,29 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||
color: #2e6b89;
|
||||
background-color: #e2f0f7;
|
||||
.admonition.note { /* csslint allow: adjoining-classes */
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||
color: #7a6032;
|
||||
background-color: #fffae5;
|
||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||
color: #7f3130;
|
||||
background-color: #fde3e3;
|
||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.admonition-title, summary {
|
||||
.admonition-title {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.admonition>p:last-child, details>p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||
overflow-y: auto;
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# Test of syspath extraction
|
||||
|
||||
Hopefully Kilroy magically visited above.
|
|
@ -1,4 +0,0 @@
|
|||
{! "\syspath mkdocs/themes/readthedocs/base.html"
|
||||
extract:
|
||||
replace: [ ['([<]body.*$)', '\1\n<p>Kilroy was here.</p>\n'] ]
|
||||
!}
|
|
@ -1,14 +0,0 @@
|
|||
site_name: syspath inclusion
|
||||
docs_dir: refsite # dummy
|
||||
theme:
|
||||
name: readthedocs
|
||||
custom_dir: doc_theme/
|
||||
plugins:
|
||||
- semiliterate:
|
||||
ignore_folders: [refsite]
|
||||
ignore_hidden: false
|
||||
merge_docs_dir: false
|
||||
include_extensions: []
|
||||
semiliterate:
|
||||
- pattern: '[.](base).generator$' # Amend readthedocs theme
|
||||
destination: '\1.html'
|
|
@ -1,89 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>syspath inclusion</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
<p>Kilroy was here.</p>
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="/." class="icon icon-home"> syspath inclusion
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/.">Test of syspath extraction</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="/.">syspath inclusion</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="/." class="icon icon-home" alt="Docs"></a> »</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
|
||||
<h1 id="404-page-not-found">404</h1>
|
||||
|
||||
<p><strong>Page not found</strong></p>
|
||||
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
window.onload = function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
};
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,191 +0,0 @@
|
|||
/*
|
||||
* Wrap inline code samples otherwise they shoot of the side and
|
||||
* can't be read at all.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/313
|
||||
* https://github.com/mkdocs/mkdocs/issues/233
|
||||
* https://github.com/mkdocs/mkdocs/issues/834
|
||||
*/
|
||||
.rst-content code {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make code blocks display as blocks and give them the appropriate
|
||||
* font size and padding.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/855
|
||||
* https://github.com/mkdocs/mkdocs/issues/834
|
||||
* https://github.com/mkdocs/mkdocs/issues/233
|
||||
*/
|
||||
.rst-content pre code {
|
||||
white-space: pre;
|
||||
word-wrap: normal;
|
||||
display: block;
|
||||
padding: 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix code colors
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2027
|
||||
*/
|
||||
.rst-content code {
|
||||
color: #E74C3C;
|
||||
}
|
||||
|
||||
.rst-content pre code {
|
||||
color: #000;
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fix link colors when the link text is inline code.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/718
|
||||
*/
|
||||
a code {
|
||||
color: #2980B9;
|
||||
}
|
||||
a:hover code {
|
||||
color: #3091d1;
|
||||
}
|
||||
a:visited code {
|
||||
color: #9B59B6;
|
||||
}
|
||||
|
||||
/*
|
||||
* The CSS classes from highlight.js seem to clash with the
|
||||
* ReadTheDocs theme causing some code to be incorrectly made
|
||||
* bold and italic.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/411
|
||||
*/
|
||||
pre .cs, pre .c {
|
||||
font-weight: inherit;
|
||||
font-style: inherit;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fix some issues with the theme and non-highlighted code
|
||||
* samples. Without and highlighting styles attached the
|
||||
* formatting is broken.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/319
|
||||
*/
|
||||
.rst-content .no-highlight {
|
||||
display: block;
|
||||
padding: 0.5em;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Additions specific to the search functionality provided by MkDocs
|
||||
*/
|
||||
|
||||
.search-results {
|
||||
margin-top: 23px;
|
||||
}
|
||||
|
||||
.search-results article {
|
||||
border-top: 1px solid #E1E4E5;
|
||||
padding-top: 24px;
|
||||
}
|
||||
|
||||
.search-results article:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
form .search-query {
|
||||
width: 100%;
|
||||
border-radius: 50px;
|
||||
padding: 6px 12px; /* csslint allow: box-model */
|
||||
border-color: #D1D4D5;
|
||||
}
|
||||
|
||||
/*
|
||||
* Improve inline code blocks within admonitions.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/656
|
||||
*/
|
||||
.rst-content .admonition code {
|
||||
color: #404040;
|
||||
border: 1px solid #c7c9cb;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
background: #f8fbfd;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
/*
|
||||
* Account for wide tables which go off the side.
|
||||
* Override borders to avoid weirdness on narrow tables.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/834
|
||||
* https://github.com/mkdocs/mkdocs/pull/1034
|
||||
*/
|
||||
.rst-content .section .docutils {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
display: block;
|
||||
border: none;
|
||||
}
|
||||
|
||||
td, th {
|
||||
border: 1px solid #e1e4e5 !important; /* csslint allow: important */
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/*
|
||||
* Without the following amendments, the navigation in the theme will be
|
||||
* slightly cut off. This is due to the fact that the .wy-nav-side has a
|
||||
* padding-bottom of 2em, which must not necessarily align with the font-size of
|
||||
* 90 % on the .rst-current-version container, combined with the padding of 12px
|
||||
* above and below. These amendments fix this in two steps: First, make sure the
|
||||
* .rst-current-version container has a fixed height of 40px, achieved using
|
||||
* line-height, and then applying a padding-bottom of 40px to this container. In
|
||||
* a second step, the items within that container are re-aligned using flexbox.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
||||
*/
|
||||
.wy-nav-side {
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
|
||||
/*
|
||||
* The second step of above amendment: Here we make sure the items are aligned
|
||||
* correctly within the .rst-current-version container. Using flexbox, we
|
||||
* achieve it in such a way that it will look like the following:
|
||||
*
|
||||
* [No repo_name]
|
||||
* Next >> // On the first page
|
||||
* << Previous Next >> // On all subsequent pages
|
||||
*
|
||||
* [With repo_name]
|
||||
* <repo_name> Next >> // On the first page
|
||||
* <repo_name> << Previous Next >> // On all subsequent pages
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
||||
*/
|
||||
.rst-versions .rst-current-version {
|
||||
padding: 0 12px;
|
||||
display: flex;
|
||||
font-size: initial;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Please note that this amendment also involves removing certain inline-styles
|
||||
* from the file ./mkdocs/themes/readthedocs/versions.html.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
||||
*/
|
||||
.rst-current-version span {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,97 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="description" content="None" />
|
||||
<title>syspath inclusion</title>
|
||||
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Test of syspath extraction";
|
||||
var mkdocs_page_input_path = "README.md";
|
||||
var mkdocs_page_url = null;
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
<p>Kilroy was here.</p>
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="." class="icon icon-home"> syspath inclusion
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href=".">Test of syspath extraction</a>
|
||||
<ul class="current">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href=".">syspath inclusion</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="." class="icon icon-home" alt="Docs"></a> »</li>
|
||||
<li>Test of syspath extraction</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="test-of-syspath-extraction">Test of syspath extraction</h1>
|
||||
<p>Hopefully Kilroy magically visited above.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
window.onload = function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
};
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!--
|
||||
-->
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,8 +0,0 @@
|
|||
/*
|
||||
* Assign 'docutils' class to tables so styling and
|
||||
* JavaScript behavior is applied.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2028
|
||||
*/
|
||||
|
||||
$('div.rst-content table').addClass('docutils');
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2022-08-09</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
</urlset>
|
Binary file not shown.
Loading…
Reference in New Issue