Compare commits
13 Commits
Author | SHA1 | Date |
---|---|---|
Glen Whitney | 4a4241a4e4 | |
Glen Whitney | 3b97489374 | |
Glen Whitney | b1203327ad | |
Glen Whitney | 86010351b7 | |
Glen Whitney | c87dd60c5e | |
Glen Whitney | f85c5fc6eb | |
Glen Whitney | 04a410a85b | |
Glen Whitney | 6247034203 | |
Glen Whitney | 9d75fefb81 | |
Glen Whitney | 06cce2edc3 | |
Glen Whitney | 73329df1b7 | |
Glen Whitney | 8e156df41b | |
Glen Whitney | 14de19f10c |
12
.drone.yml
|
@ -33,7 +33,7 @@ steps:
|
||||||
### develop
|
### develop
|
||||||
# ### Testing
|
# ### Testing
|
||||||
#
|
#
|
||||||
# If you have a a Docker daemon running on your local machine and the Drone
|
# If you have a Docker daemon running on your local machine and the Drone
|
||||||
# [command-line](https://readme.drone.io/cli/install) installed, you can run all
|
# [command-line](https://readme.drone.io/cli/install) installed, you can run all
|
||||||
# of the tests via `drone exec`. If not, or if you don't want to wait for the
|
# of the tests via `drone exec`. If not, or if you don't want to wait for the
|
||||||
# Docker container to spin up and install all of the prerequisites, you can make
|
# Docker container to spin up and install all of the prerequisites, you can make
|
||||||
|
@ -86,5 +86,13 @@ steps:
|
||||||
# [repository site](https://code.studioinfinity.org/glen/mkdocs-semiliterate).
|
# [repository site](https://code.studioinfinity.org/glen/mkdocs-semiliterate).
|
||||||
# Pull requests are welcome as well. If you're new to contributing to open-source
|
# Pull requests are welcome as well. If you're new to contributing to open-source
|
||||||
# projects, `mkdocs-simple-plugin` has a very nice
|
# projects, `mkdocs-simple-plugin` has a very nice
|
||||||
# [tutorial](https://athackst.github.io/mkdocs-simple-plugin/CONTRIBUTING/).
|
# [tutorial](https://althack.dev/mkdocs-simple-plugin/v{! setup.cfg { extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'}, ensurelines: false} !}/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.
|
||||||
###
|
###
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
# MkDocs semiliterate Plugin
|
# ![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://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.
|
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.
|
||||||
<!-- repo: --><!-- site: The current version of mkdocs-semiliterate is {! setup.cfg { extract: {start: name}, terminate: '(\d*\.\d*\.\d*)', ensurelines: false} !}. -->
|
<!-- 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
|
## Rationale
|
||||||
|
|
||||||
|
@ -28,6 +29,6 @@ or of course if your `pip` is already set up to use a Python 3.5 (or later) inst
|
||||||
|
|
||||||
`pip install mkdocs-semiliterate`
|
`pip install mkdocs-semiliterate`
|
||||||
|
|
||||||
## License
|
## License and Acknowledgments
|
||||||
|
|
||||||
This software is licensed under [Apache 2.0](LICENSE).
|
This software is licensed under [Apache 2.0](LICENSE). [Icons8](https://icons8.com/icon/115368/ask-question) provided the icon.
|
||||||
|
|
After Width: | Height: | Size: 6.0 KiB |
|
@ -8,7 +8,8 @@ plugins:
|
||||||
- semiliterate:
|
- semiliterate:
|
||||||
merge_docs_dir: false
|
merge_docs_dir: false
|
||||||
ignore_folders: [build, dist, tests, semiliterate]
|
ignore_folders: [build, dist, tests, semiliterate]
|
||||||
include_extensions: [LICENSE]
|
ignore_hidden: false
|
||||||
|
include_extensions: [LICENSE, '.png']
|
||||||
extract_standard_markdown:
|
extract_standard_markdown:
|
||||||
extract:
|
extract:
|
||||||
replace: [['^(.*)<!-- repo: -->.*<!-- site:(.*?) -->(.*\s*)$', '\1\2\3']]
|
replace: [['^(.*)<!-- repo: -->.*<!-- site:(.*?) -->(.*\s*)$', '\1\2\3']]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" md
|
r""" md
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Once this plugin is [installed](../README.md#installation), just replace
|
Once this plugin is [installed](../README.md#installation), just replace
|
||||||
|
@ -6,19 +6,25 @@ 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,
|
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.
|
and you will have immediate access to all of the following extensions.
|
||||||
(Note that this documentation assumes a familiarity with the
|
(Note that this documentation assumes a familiarity with the
|
||||||
[usage](https://athackst.github.io/mkdocs-simple-plugin/mkdocs_simple_plugin/plugin/)
|
[usage](https://althack.dev/mkdocs-simple-plugin/v{! ../setup.cfg {
|
||||||
|
extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'},
|
||||||
|
ensurelines: false
|
||||||
|
} !}/mkdocs_simple_plugin/plugin/)
|
||||||
of the `simple` plugin.)
|
of the `simple` plugin.)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from mkdocs import utils
|
from mkdocs import utils
|
||||||
from mkdocs.config import config_options
|
from mkdocs.config import config_options
|
||||||
from mkdocs_simple_plugin.semiliterate import (
|
from mkdocs_simple_plugin.semiliterate import (
|
||||||
Semiliterate, LazyFile, ExtractionPattern, StreamExtract, get_line)
|
Semiliterate, LazyFile, ExtractionPattern, StreamExtract,
|
||||||
|
get_line, get_match)
|
||||||
|
from mkdocs_simple_plugin.simple import Simple
|
||||||
from mkdocs_simple_plugin.plugin import SimplePlugin
|
from mkdocs_simple_plugin.plugin import SimplePlugin
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
@ -31,6 +37,15 @@ to replace_line method.
|
||||||
# except as marked:
|
# except as marked:
|
||||||
def replace_line(self, line, ensure_line=True):
|
def replace_line(self, line, ensure_line=True):
|
||||||
"""Apply the specified replacements to the line and return it."""
|
"""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:
|
if not self.replace:
|
||||||
return line
|
return line
|
||||||
for item in self.replace:
|
for item in self.replace:
|
||||||
|
@ -71,7 +86,7 @@ enclosed in single or double quotes. Note that FILENAME is interpreted relative
|
||||||
to the directory in which the file containing the `{! .. !}` expression
|
to the directory in which the file containing the `{! .. !}` expression
|
||||||
resides. The YAML is interpreted exactly as the extraction options to a
|
resides. The YAML is interpreted exactly as the extraction options to a
|
||||||
`semiliterate` item as
|
`semiliterate` item as
|
||||||
[documented](https://athackst.github.io/mkdocs-simple-plugin/mkdocs_simple_plugin/plugin/index.html#semiliterate)
|
[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)
|
||||||
for the `simple` extension, subject to the extensions below. The text
|
for the `simple` extension, subject to the extensions below. The text
|
||||||
extracted from FILENAME is interpolated at the current location in the file
|
extracted from FILENAME is interpolated at the current location in the file
|
||||||
currently being written. Recursive inclusion is supported.
|
currently being written. Recursive inclusion is supported.
|
||||||
|
@ -85,9 +100,7 @@ For an example that uses more of the extraction parameters, the current
|
||||||
version number of mkdocs-semiliterate is extracted into the
|
version number of mkdocs-semiliterate is extracted into the
|
||||||
[Overview](../README.md) of this documentation via
|
[Overview](../README.md) of this documentation via
|
||||||
|
|
||||||
` {! ../README.md extract: { start: 'repo:.*(\{!.*!\})', stop: '' }
|
` {! ../README.md extract: { start: 'repo:.*(\{!.*!\})', stop: 'repo' } !}`
|
||||||
terminate: Rationale
|
|
||||||
!}`
|
|
||||||
|
|
||||||
to take advantage of the beginning of the `setup.cfg` file:
|
to take advantage of the beginning of the `setup.cfg` file:
|
||||||
```
|
```
|
||||||
|
@ -164,9 +177,8 @@ is checked for `{! ... !}`.
|
||||||
utils.log.error(errmsg)
|
utils.log.error(errmsg)
|
||||||
raise EOFError(errmsg)
|
raise EOFError(errmsg)
|
||||||
filename = body_match['fn']
|
filename = body_match['fn']
|
||||||
gitextract = False
|
|
||||||
r""" md
|
r""" md
|
||||||
### Double-quoted filenames and Git extraction
|
### Double-quoted filenames and special extraction
|
||||||
|
|
||||||
Standard Python escape sequences in double-quoted filenames are interpreted
|
Standard Python escape sequences in double-quoted filenames are interpreted
|
||||||
as usual; for example you can write
|
as usual; for example you can write
|
||||||
|
@ -179,9 +191,13 @@ as usual; for example you can write
|
||||||
to include a file whose name (`snippet/Say "Don't"`, in this case) has both
|
to include a file whose name (`snippet/Say "Don't"`, in this case) has both
|
||||||
double and single quotes.
|
double and single quotes.
|
||||||
|
|
||||||
Further, `semiliterate` supports a special escape to extract a file from the
|
Further, `semiliterate` supports some special escape sequences for
|
||||||
Git archive of the project (presuming it is under Git version control) and then
|
doublequoted file names to include text from other places than current files
|
||||||
include content from that file. For example, you could write
|
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
|
||||||
```
|
```
|
||||||
{! ../tests/fixtures/git-inclusion/README.md extract:
|
{! ../tests/fixtures/git-inclusion/README.md extract:
|
||||||
start: '(.*!.*)'
|
start: '(.*!.*)'
|
||||||
|
@ -206,14 +222,32 @@ form
|
||||||
|
|
||||||
is that the output of `git show SPECIFIER` is written to a temporary file,
|
is that the output of `git show SPECIFIER` is written to a temporary file,
|
||||||
and that file is extracted from.
|
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 doublequoted:
|
||||||
if filename[:5] == r'\git ':
|
if filename[:5] == r'\git ':
|
||||||
gitextract = True
|
gitextract = True
|
||||||
filename = filename[5:]
|
filename = filename[5:]
|
||||||
|
elif filename[:9] == r'\syspath ':
|
||||||
|
syspathextract = True
|
||||||
|
filename = filename[9:]
|
||||||
filename = (filename.encode('latin-1', 'backslashreplace')
|
filename = (filename.encode('latin-1', 'backslashreplace')
|
||||||
.decode('unicode-escape'))
|
.decode('unicode-escape'))
|
||||||
include_path = self.include_root + '/' + filename
|
include_path = os.path.join(self.include_root, filename)
|
||||||
if gitextract:
|
if gitextract:
|
||||||
(write_handle, include_path) = tempfile.mkstemp()
|
(write_handle, include_path) = tempfile.mkstemp()
|
||||||
utils.log.info(
|
utils.log.info(
|
||||||
|
@ -221,7 +255,13 @@ and that file is extracted from.
|
||||||
contents = subprocess.check_output(['git', 'show', filename])
|
contents = subprocess.check_output(['git', 'show', filename])
|
||||||
os.write(write_handle, contents)
|
os.write(write_handle, contents)
|
||||||
os.close(write_handle)
|
os.close(write_handle)
|
||||||
new_root = re.match(r'(.*)/', include_path)[1]
|
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)
|
||||||
try:
|
try:
|
||||||
include_parameters = yaml.safe_load(body_match['yml'])
|
include_parameters = yaml.safe_load(body_match['yml'])
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
|
@ -242,19 +282,17 @@ and that file is extracted from.
|
||||||
self.wrote_something = True
|
self.wrote_something = True
|
||||||
self.transcribe(remainder[body_match.end():])
|
self.transcribe(remainder[body_match.end():])
|
||||||
|
|
||||||
# ## The following has to be identical to StreamExtract.check_pattern
|
# ## The following has to be identical to StreamExtract.try_extract_match
|
||||||
# ## except for the marked bit handling ensure_lines
|
# ## except for the marked bit handling ensure_lines
|
||||||
def check_pattern(self, pattern, line, emit_last=True):
|
def try_extract_match(
|
||||||
"""Check if pattern is contained in line.
|
self,
|
||||||
|
match_object: re.Match,
|
||||||
|
emit_last: bool = True) -> bool:
|
||||||
|
"""Extract match into output.
|
||||||
|
|
||||||
If _pattern_ is not false-y and is contained in _line_,
|
If _match_object_ is not false-y, returns true.
|
||||||
returns true (and if the _emit_last_ flag is true,
|
If extract flag is true, emits the last group of the match if any.
|
||||||
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:
|
if not match_object:
|
||||||
return False
|
return False
|
||||||
if match_object.lastindex and emit_last:
|
if match_object.lastindex and emit_last:
|
||||||
|
@ -269,24 +307,6 @@ and that file is extracted from.
|
||||||
|
|
||||||
class SemiliteratePlugin(SimplePlugin):
|
class SemiliteratePlugin(SimplePlugin):
|
||||||
r""" md An extension of the mkdocs-simple-plugin
|
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
|
### Additional plugin parameters
|
||||||
|
|
||||||
`semiliterate` adds a couple of new plugin parameters to further tailor its
|
`semiliterate` adds a couple of new plugin parameters to further tailor its
|
||||||
|
@ -294,17 +314,22 @@ behavior as compared to `simple`. They are described in this section, with
|
||||||
default values in parentheses at the beginning of each entry.
|
default values in parentheses at the beginning of each entry.
|
||||||
|
|
||||||
{! plugin.py extract:
|
{! plugin.py extract:
|
||||||
start: '[*]altered_config_scheme'
|
start: '[*]super_config_scheme'
|
||||||
replace:
|
replace:
|
||||||
- ["\\('(.*)',\\s*$", '\1\n']
|
- ["\\('(.*)',\\s*$", '\1\n']
|
||||||
- ['config_options.Type.*?default=([^\)]*)', ': (\1)']
|
- ['config_options.Type.*?default=([^\)]*)', ': (\1)']
|
||||||
- '^\s*#(.*\s*)$'
|
- '^\s*#(.*\s*)$'
|
||||||
terminate: '^\s*\)'
|
terminate: '^\s*\)'
|
||||||
|
!}
|
||||||
|
{! plugin.py extract:
|
||||||
|
start: 'r["]{3}Extend'
|
||||||
|
stop: '["]{3}'
|
||||||
!}
|
!}
|
||||||
"""
|
"""
|
||||||
|
super_config_scheme = SimplePlugin.config_scheme
|
||||||
config_scheme = (
|
config_scheme = (
|
||||||
# Note documentation of each new parameter **follows** the parameter.
|
# Note documentation of each new parameter **follows** the parameter.
|
||||||
*altered_config_scheme,
|
*super_config_scheme,
|
||||||
('exclude_extensions',
|
('exclude_extensions',
|
||||||
config_options.Type(list, default=['.o'])),
|
config_options.Type(list, default=['.o'])),
|
||||||
# Files whose name contains a string in this list will not be
|
# Files whose name contains a string in this list will not be
|
||||||
|
@ -320,7 +345,7 @@ terminate: '^\s*\)'
|
||||||
# `semiliterate` still incorporates all standard Markdown files
|
# `semiliterate` still incorporates all standard Markdown files
|
||||||
# because of the following `extract_standard_markdown` parameter.
|
# because of the following `extract_standard_markdown` parameter.
|
||||||
('extract_standard_markdown',
|
('extract_standard_markdown',
|
||||||
config_options.Type(dict, default={}))
|
config_options.Type(dict, default={})),
|
||||||
# If the `enable` key of this dict parameter is true
|
# If the `enable` key of this dict parameter is true
|
||||||
# (it defaults to the opposite of `copy_standard_markdown`),
|
# (it defaults to the opposite of `copy_standard_markdown`),
|
||||||
# it adds a semiliterate block causing extraction (and hence
|
# it adds a semiliterate block causing extraction (and hence
|
||||||
|
@ -333,43 +358,125 @@ terminate: '^\s*\)'
|
||||||
# (which is also the default when `copy_standard_markdown` is true)
|
# (which is also the default when `copy_standard_markdown` is true)
|
||||||
# will prevent automatic extraction (and hence disable
|
# will prevent automatic extraction (and hence disable
|
||||||
# inclusion-directive processing) from standard Markdown files.
|
# inclusion-directive processing) from standard Markdown files.
|
||||||
|
('extract_on_copy',
|
||||||
|
config_options.Type(bool, default=False)),
|
||||||
|
# Whether to also attempt extraction from a file that is copied
|
||||||
|
# verbatim (because of matching the `include_extensions`).
|
||||||
)
|
)
|
||||||
|
|
||||||
def on_config(self, config, **kwargs):
|
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
|
# Since we have extensions in Demiliterate, suppress the semiliterate
|
||||||
# configuration until we handle it ourselves:
|
# configuration until we handle it ourselves:
|
||||||
semi = self.config['semiliterate']
|
super().__init__(semiliterate=[], **kwargs)
|
||||||
self.config['semiliterate'] = []
|
self.semiliterate = [Demiliterate(**item) for item in semiliterate]
|
||||||
new_config = super().on_config(config, **kwargs)
|
self.exclude_extensions = exclude_extensions
|
||||||
self.config['semiliterate'] = semi
|
self.extract_on_copy = extract_on_copy
|
||||||
self.semiliterate = [Demiliterate(**item) for item in semi]
|
|
||||||
self.exclude_extensions = self.config['exclude_extensions']
|
|
||||||
dflt_enable = False
|
dflt_enable = False
|
||||||
if not self.config['copy_standard_markdown']:
|
if not copy_standard_markdown:
|
||||||
self.include_extensions = self.config['include_extensions']
|
self.copy_glob = set(saved_includes)
|
||||||
dflt_enable = True
|
dflt_enable = True
|
||||||
if self.config['extract_standard_markdown'].get('enable', dflt_enable):
|
if extract_standard_markdown.get('enable', dflt_enable):
|
||||||
ext_pat = '|'.join(re.escape(s) for s in utils.markdown_extensions)
|
ext_pat = '|'.join(re.escape(s) for s in utils.markdown_extensions)
|
||||||
self.semiliterate.append(
|
self.semiliterate.append(
|
||||||
Demiliterate(
|
Demiliterate(
|
||||||
pattern=re.compile(f"^(.*(?:{ext_pat}))$"),
|
pattern=re.compile(f"^(.*(?:{ext_pat}))$"),
|
||||||
destination=r'\1',
|
destination=r'\1',
|
||||||
**self.config['extract_standard_markdown']))
|
**extract_standard_markdown))
|
||||||
return new_config
|
|
||||||
|
|
||||||
def in_extensions(self, file):
|
def should_copy_file(self, file):
|
||||||
if any(ext in file for ext in self.exclude_extensions):
|
if any(ext in file for ext in self.exclude_extensions):
|
||||||
return False
|
return False
|
||||||
return super().in_extensions(file)
|
return super().should_copy_file(file)
|
||||||
|
|
||||||
def extract_from(self, from_directory, name, to_directory):
|
def try_extract(self, from_directory, name, to_directory):
|
||||||
if any(ext in name for ext in self.exclude_extensions):
|
if any(ext in name for ext in self.exclude_extensions):
|
||||||
return False
|
return False
|
||||||
return super().extract_from(from_directory, name, to_directory)
|
if not self.extract_on_copy and self.should_copy_file(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
|
||||||
|
|
||||||
|
|
||||||
class Demiliterate(Semiliterate):
|
class Demiliterate(Semiliterate):
|
||||||
r""" md Extends Semiliterate to use StreamInclusion, not StreamExtract
|
r"""Extends Semiliterate to use StreamInclusion, not StreamExtract
|
||||||
|
|
||||||
semiliterate.ensurelines
|
semiliterate.ensurelines
|
||||||
: (true) Guarantees that a newline is trancribed for each line of the input,
|
: (true) Guarantees that a newline is trancribed for each line of the input,
|
||||||
|
@ -395,9 +502,12 @@ semiliterate.ensurelines
|
||||||
if len(self.patterns) == 0:
|
if len(self.patterns) == 0:
|
||||||
self.patterns = [FlextractionPattern()]
|
self.patterns = [FlextractionPattern()]
|
||||||
|
|
||||||
# Note this needs to be identical to Semiliterate.try_extraction
|
# Note that this has diverged noticeably from the
|
||||||
# except with StreamInclusion in place of StreamExtract in the
|
# Semiliterate.try_extraction method that it overrides, especially
|
||||||
# `extraction =` line, and a couple of options as noted below:
|
# in regards to adjusting the destination directory.
|
||||||
|
# Hence, great care must be taken when mkdocs-simple-plugin is updated
|
||||||
|
# to make sure that any changes to this method are reflected in the
|
||||||
|
# code below:
|
||||||
def try_extraction(
|
def try_extraction(
|
||||||
self,
|
self,
|
||||||
from_directory,
|
from_directory,
|
||||||
|
@ -408,14 +518,17 @@ semiliterate.ensurelines
|
||||||
|
|
||||||
Returns True if extraction was successful.
|
Returns True if extraction was successful.
|
||||||
"""
|
"""
|
||||||
to_file = self.filenname_match(from_file)
|
to_file = self.filename_match(from_file)
|
||||||
if not to_file:
|
if not to_file:
|
||||||
return False
|
return False
|
||||||
from_file_path = os.path.join(from_directory, from_file)
|
from_file_path = os.path.join(from_directory, from_file)
|
||||||
|
to_file_path = os.path.join(destination_directory, to_file) # ## ADDED
|
||||||
|
(destination_directory, to_file) = os.path.split(to_file_path) # ADDED
|
||||||
try:
|
try:
|
||||||
with open(from_file_path) as original_file:
|
with open(from_file_path) as original_file:
|
||||||
utils.log.debug(
|
utils.log.debug(
|
||||||
"mkdocs-simple-plugin: Scanning {}...".format(from_file))
|
f"mkdocs-semiliterate: In {from_directory}, "
|
||||||
|
+ f"scanning {from_file}...")
|
||||||
# extraction = StreamExtract(
|
# extraction = StreamExtract(
|
||||||
extraction = StreamInclusion(
|
extraction = StreamInclusion(
|
||||||
input_stream=original_file,
|
input_stream=original_file,
|
||||||
|
@ -426,7 +539,11 @@ semiliterate.ensurelines
|
||||||
patterns=self.patterns,
|
patterns=self.patterns,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
return extraction.extract()
|
return extraction.extract()
|
||||||
except BaseException:
|
except (UnicodeDecodeError) as error:
|
||||||
utils.log.error("mkdocs-simple-plugin: could not build {}".format(
|
utils.log.info("mkdocs-semiliterate: skipping %s\n %s",
|
||||||
from_file_path))
|
from_file_path, str(error))
|
||||||
|
except BaseException as error:
|
||||||
|
utils.log.error(
|
||||||
|
f"mkdocs-semiliterate: could not build {from_file_path}:\n "
|
||||||
|
+ str(error))
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[metadata]
|
[metadata]
|
||||||
name = mkdocs-semiliterate
|
name = mkdocs-semiliterate
|
||||||
version = 0.3.0
|
version = 0.7.0
|
||||||
description = Extension of mkdocs-simple-plugin adding easy content inclusion
|
description = Extension of mkdocs-simple-plugin adding easy content inclusion
|
||||||
long_description = file: README.md
|
long_description = file: README.md
|
||||||
long_description_content_type = text/markdown
|
long_description_content_type = text/markdown
|
||||||
|
@ -10,6 +10,7 @@ project_urls =
|
||||||
Issues = https://code.studioinfinity.org/glen/mkdocs-semiliterate/issues
|
Issues = https://code.studioinfinity.org/glen/mkdocs-semiliterate/issues
|
||||||
Documentation = http://studioinfinity.org/semiliterate
|
Documentation = http://studioinfinity.org/semiliterate
|
||||||
Source Code = http://code.studioinfinity.org/glen/mkdocs-semiliterate
|
Source Code = http://code.studioinfinity.org/glen/mkdocs-semiliterate
|
||||||
|
Source = http://code.studioinfinity.org/glen/mkdocs-semiliterate
|
||||||
author = Glen Whitney
|
author = Glen Whitney
|
||||||
author_email = glen@studioinfinity.org
|
author_email = glen@studioinfinity.org
|
||||||
classifiers =
|
classifiers =
|
||||||
|
@ -23,8 +24,8 @@ license = Apache-2.0
|
||||||
[options]
|
[options]
|
||||||
packages = mkdocs_semiliterate
|
packages = mkdocs_semiliterate
|
||||||
install_requires =
|
install_requires =
|
||||||
mkdocs
|
mkdocs~=1.4
|
||||||
mkdocs-simple-plugin>=0.4.0
|
mkdocs-simple-plugin==2.1.2
|
||||||
|
|
||||||
[options.entry_points]
|
[options.entry_points]
|
||||||
mkdocs.plugins =
|
mkdocs.plugins =
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
site
|
site
|
||||||
site/404.html
|
site/404.html
|
||||||
|
site/assets
|
||||||
|
site/assets/icons8-ask-question-100.png
|
||||||
site/css
|
site/css
|
||||||
site/css/theme.css
|
site/css/theme.css
|
||||||
site/css/theme_extra.css
|
site/css/theme_extra.css
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Want to copy and extract
|
||||||
|
|
||||||
|
The [whole text](raw.txt).
|
||||||
|
|
||||||
|
The [extracted markdown](polished.md).
|
||||||
|
|
After Width: | Height: | Size: 6.0 KiB |
|
@ -0,0 +1,12 @@
|
||||||
|
site_name: Enable extraction from included files
|
||||||
|
docs_dir: refsite # dummy
|
||||||
|
plugins:
|
||||||
|
- semiliterate:
|
||||||
|
ignore_folders: [refsite]
|
||||||
|
merge_docs_dir: false
|
||||||
|
include_extensions: ['.txt']
|
||||||
|
extract_on_copy: true
|
||||||
|
semiliterate:
|
||||||
|
- pattern: '\.txt'
|
||||||
|
extract: {start: '---', stop: '---'}
|
||||||
|
destination: 'polished.md'
|
|
@ -0,0 +1,7 @@
|
||||||
|
This is a free-form file, used as an example
|
||||||
|
---
|
||||||
|
# Internals
|
||||||
|
|
||||||
|
But this is __markdown__ hidden within.
|
||||||
|
---
|
||||||
|
There can of course be stuff after it.
|
|
@ -0,0 +1,104 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Enable extraction from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="/.">Enable extraction from included files</a>
|
||||||
|
<!-- Expander button -->
|
||||||
|
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
<!-- Main navigation -->
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="navitem">
|
||||||
|
<a href="/." class="nav-link">Want to copy and extract</a>
|
||||||
|
</li>
|
||||||
|
<li class="navitem">
|
||||||
|
<a href="/polished/" class="nav-link">Internals</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div id="main-content" class="span12">
|
||||||
|
<h1 id="404-page-not-found" style="text-align: center">404</h1>
|
||||||
|
<p style="text-align: center"><strong>Page not found</strong></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = "/",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,322 @@
|
||||||
|
html {
|
||||||
|
/* csslint ignore:start */
|
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the
|
||||||
|
main container. */
|
||||||
|
scroll-padding-top: calc(3.5rem + 20px);
|
||||||
|
/* csslint ignore:end */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Replacement for `body { background-attachment: fixed; }`, which has
|
||||||
|
performance issues when scrolling on large displays. See #1394. */
|
||||||
|
body::before {
|
||||||
|
content: ' ';
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
background: url(../img/grid.png) repeat-x;
|
||||||
|
will-change: transform;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > .container {
|
||||||
|
margin-top: 20px;
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar.fixed-top { /* csslint allow: adjoining-classes */
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
}
|
||||||
|
|
||||||
|
.source-links {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-md-9 img {
|
||||||
|
max-width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px;
|
||||||
|
line-height: 1.428571429;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 20px auto 30px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 42px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2, h3, h4, h5, h6 {
|
||||||
|
color: #444;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-top: 1px solid #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre, .rst-content tt {
|
||||||
|
max-width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #e1e4e5;
|
||||||
|
color: #333;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
code.code-large, .rst-content tt.code-large {
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding: 2px 5px;
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #e1e4e5;
|
||||||
|
color: #333;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
display: block;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
white-space: pre;
|
||||||
|
word-wrap: normal;
|
||||||
|
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
kbd {
|
||||||
|
padding: 2px 4px;
|
||||||
|
font-size: 90%;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #333;
|
||||||
|
border-radius: 3px;
|
||||||
|
-webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
||||||
|
box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
a code {
|
||||||
|
color: #2FA4E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover code, a:focus code {
|
||||||
|
color: #157AB5;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog {
|
||||||
|
margin-top: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Side navigation
|
||||||
|
*
|
||||||
|
* Scrollspy and affixed enhanced navigation to highlight sections and secondary
|
||||||
|
* sections of docs content.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.bs-sidebar.affix { /* csslint allow: adjoining-classes */
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the
|
||||||
|
main container. */
|
||||||
|
top: calc(3.5rem + 20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar.card { /* csslint allow: adjoining-classes */
|
||||||
|
padding: 0;
|
||||||
|
max-height: 90%;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Toggle (vertically flip) sidebar collapse icon */
|
||||||
|
.bs-sidebar .navbar-toggler span {
|
||||||
|
-moz-transform: scale(1, -1);
|
||||||
|
-webkit-transform: scale(1, -1);
|
||||||
|
-o-transform: scale(1, -1);
|
||||||
|
-ms-transform: scale(1, -1);
|
||||||
|
transform: scale(1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .navbar-toggler.collapsed span { /* csslint allow: adjoining-classes */
|
||||||
|
-moz-transform: scale(1, 1);
|
||||||
|
-webkit-transform: scale(1, 1);
|
||||||
|
-o-transform: scale(1, 1);
|
||||||
|
-ms-transform: scale(1, 1);
|
||||||
|
transform: scale(1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First level of nav */
|
||||||
|
.bs-sidebar > .navbar-collapse > .nav {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All levels of nav */
|
||||||
|
.bs-sidebar .nav > li > a {
|
||||||
|
display: block;
|
||||||
|
padding: 5px 20px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.bs-sidebar .nav > li > a:hover,
|
||||||
|
.bs-sidebar .nav > li > a:focus {
|
||||||
|
text-decoration: none;
|
||||||
|
border-right: 1px solid;
|
||||||
|
}
|
||||||
|
.bs-sidebar .nav > li > a.active,
|
||||||
|
.bs-sidebar .nav > li > a.active:hover,
|
||||||
|
.bs-sidebar .nav > li > a.active:focus {
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: transparent;
|
||||||
|
border-right: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav .nav .nav {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav > li > a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav .nav > li > a {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headerlink {
|
||||||
|
font-family: FontAwesome;
|
||||||
|
font-size: 14px;
|
||||||
|
display: none;
|
||||||
|
padding-left: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.admonition, details {
|
||||||
|
padding: 15px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: 4px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
|
color: #2e6b89;
|
||||||
|
background-color: #e2f0f7;
|
||||||
|
border-color: #bce8f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
|
color: #7a6032;
|
||||||
|
background-color: #fffae5;
|
||||||
|
border-color: #fbeed5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
|
color: #7f3130;
|
||||||
|
background-color: #fde3e3;
|
||||||
|
border-color: #eed3d7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition-title, summary {
|
||||||
|
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;
|
||||||
|
max-height: calc(100vh - 3.5rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-item.open { /* csslint allow: adjoining-classes */
|
||||||
|
color: #fff;
|
||||||
|
background-color: #2FA4E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu {
|
||||||
|
margin: 0 0 0 1.5rem;
|
||||||
|
padding: 0;
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > a::after {
|
||||||
|
display: block;
|
||||||
|
content: " ";
|
||||||
|
float: right;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-color: transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 0 5px 5px;
|
||||||
|
border-left-color: #ccc;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu:hover > a::after {
|
||||||
|
border-left-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.dropdown-menu {
|
||||||
|
overflow-y: auto;
|
||||||
|
max-height: calc(100vh - 3.5rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu {
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: fixed !important;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
margin-top: -9px;
|
||||||
|
margin-left: -2px;
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu.pull-left { /* csslint allow: adjoining-classes */
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu.pull-left > .dropdown-menu { /* csslint allow: adjoining-classes */
|
||||||
|
left: -100%;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
/* Remove sidebar when print */
|
||||||
|
.col-md-3 { display: none; }
|
||||||
|
}
|
|
@ -0,0 +1,131 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Enable extraction from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="homepage">
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href=".">Enable extraction from included files</a>
|
||||||
|
<!-- Expander button -->
|
||||||
|
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
<!-- Main navigation -->
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="navitem active">
|
||||||
|
<a href="." class="nav-link">Want to copy and extract</a>
|
||||||
|
</li>
|
||||||
|
<li class="navitem">
|
||||||
|
<a href="polished/" class="nav-link">Internals</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="prev" class="nav-link disabled">
|
||||||
|
<i class="fa fa-arrow-left"></i> Previous
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="next" href="polished/" class="nav-link">
|
||||||
|
Next <i class="fa fa-arrow-right"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
|
||||||
|
<span class="fa fa-angle-down"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item" data-level="1"><a href="#want-to-copy-and-extract" class="nav-link">Want to copy and extract</a>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div></div>
|
||||||
|
<div class="col-md-9" role="main">
|
||||||
|
|
||||||
|
<h1 id="want-to-copy-and-extract">Want to copy and extract</h1>
|
||||||
|
<p>The <a href="raw.txt">whole text</a>.</p>
|
||||||
|
<p>The <a href="polished/">extracted markdown</a>.</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = ".",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
-->
|
|
@ -0,0 +1,127 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Internals - Enable extraction from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="..">Enable extraction from included files</a>
|
||||||
|
<!-- Expander button -->
|
||||||
|
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
<!-- Main navigation -->
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="navitem">
|
||||||
|
<a href=".." class="nav-link">Want to copy and extract</a>
|
||||||
|
</li>
|
||||||
|
<li class="navitem active">
|
||||||
|
<a href="./" class="nav-link">Internals</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="prev" href=".." class="nav-link">
|
||||||
|
<i class="fa fa-arrow-left"></i> Previous
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="next" class="nav-link disabled">
|
||||||
|
Next <i class="fa fa-arrow-right"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
|
||||||
|
<span class="fa fa-angle-down"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item" data-level="1"><a href="#internals" class="nav-link">Internals</a>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div></div>
|
||||||
|
<div class="col-md-9" role="main">
|
||||||
|
|
||||||
|
<h1 id="internals">Internals</h1>
|
||||||
|
<p>But this is <strong>markdown</strong> hidden within.</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = "..",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
This is a free-form file, used as an example
|
||||||
|
---
|
||||||
|
# Internals
|
||||||
|
|
||||||
|
But this is __markdown__ hidden within.
|
||||||
|
---
|
||||||
|
There can of course be stuff after it.
|
|
@ -209,13 +209,13 @@ footer {
|
||||||
padding-left: .5em;
|
padding-left: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.admonition {
|
.admonition, details {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
|
@ -223,29 +223,33 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.note { /* csslint allow: adjoining-classes */
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
color: #3a87ad;
|
color: #2e6b89;
|
||||||
background-color: #d9edf7;
|
background-color: #e2f0f7;
|
||||||
border-color: #bce8f1;
|
border-color: #bce8f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
color: #c09853;
|
color: #7a6032;
|
||||||
background-color: #fcf8e3;
|
background-color: #fffae5;
|
||||||
border-color: #fbeed5;
|
border-color: #fbeed5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
color: #b94a48;
|
color: #7f3130;
|
||||||
background-color: #f2dede;
|
background-color: #fde3e3;
|
||||||
border-color: #eed3d7;
|
border-color: #eed3d7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition-title {
|
.admonition-title, summary {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.admonition>p:last-child, details>p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 991.98px) {
|
@media (max-width: 991.98px) {
|
||||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
|
@ -209,13 +209,13 @@ footer {
|
||||||
padding-left: .5em;
|
padding-left: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.admonition {
|
.admonition, details {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
|
@ -223,29 +223,33 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.note { /* csslint allow: adjoining-classes */
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
color: #3a87ad;
|
color: #2e6b89;
|
||||||
background-color: #d9edf7;
|
background-color: #e2f0f7;
|
||||||
border-color: #bce8f1;
|
border-color: #bce8f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
color: #c09853;
|
color: #7a6032;
|
||||||
background-color: #fcf8e3;
|
background-color: #fffae5;
|
||||||
border-color: #fbeed5;
|
border-color: #fbeed5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
color: #b94a48;
|
color: #7f3130;
|
||||||
background-color: #f2dede;
|
background-color: #fde3e3;
|
||||||
border-color: #eed3d7;
|
border-color: #eed3d7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition-title {
|
.admonition-title, summary {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.admonition>p:last-child, details>p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 991.98px) {
|
@media (max-width: 991.98px) {
|
||||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Just want the image
|
||||||
|
|
||||||
|
It's a dream: ![Dreamy question](assets/icons8-ask-question-100.png)
|
After Width: | Height: | Size: 6.0 KiB |
|
@ -0,0 +1,6 @@
|
||||||
|
site_name: Do not extract from included files
|
||||||
|
docs_dir: refsite # dummy
|
||||||
|
plugins:
|
||||||
|
- semiliterate:
|
||||||
|
ignore_folders: [refsite]
|
||||||
|
merge_docs_dir: false
|
|
@ -0,0 +1,91 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Do not extract from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="/.">Do not extract from included files</a>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div id="main-content" class="span12">
|
||||||
|
<h1 id="404-page-not-found" style="text-align: center">404</h1>
|
||||||
|
<p style="text-align: center"><strong>Page not found</strong></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = "/",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
tests/fixtures/no-extract-inclusion/refsite/assets/icons8-ask-question-100.png
vendored
Normal file
After Width: | Height: | Size: 6.0 KiB |
|
@ -0,0 +1,322 @@
|
||||||
|
html {
|
||||||
|
/* csslint ignore:start */
|
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the
|
||||||
|
main container. */
|
||||||
|
scroll-padding-top: calc(3.5rem + 20px);
|
||||||
|
/* csslint ignore:end */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Replacement for `body { background-attachment: fixed; }`, which has
|
||||||
|
performance issues when scrolling on large displays. See #1394. */
|
||||||
|
body::before {
|
||||||
|
content: ' ';
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
background: url(../img/grid.png) repeat-x;
|
||||||
|
will-change: transform;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > .container {
|
||||||
|
margin-top: 20px;
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar.fixed-top { /* csslint allow: adjoining-classes */
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
}
|
||||||
|
|
||||||
|
.source-links {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-md-9 img {
|
||||||
|
max-width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px;
|
||||||
|
line-height: 1.428571429;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 20px auto 30px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 42px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2, h3, h4, h5, h6 {
|
||||||
|
color: #444;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-top: 1px solid #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre, .rst-content tt {
|
||||||
|
max-width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #e1e4e5;
|
||||||
|
color: #333;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
code.code-large, .rst-content tt.code-large {
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding: 2px 5px;
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #e1e4e5;
|
||||||
|
color: #333;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
display: block;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
white-space: pre;
|
||||||
|
word-wrap: normal;
|
||||||
|
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
kbd {
|
||||||
|
padding: 2px 4px;
|
||||||
|
font-size: 90%;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #333;
|
||||||
|
border-radius: 3px;
|
||||||
|
-webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
||||||
|
box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
a code {
|
||||||
|
color: #2FA4E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover code, a:focus code {
|
||||||
|
color: #157AB5;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog {
|
||||||
|
margin-top: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Side navigation
|
||||||
|
*
|
||||||
|
* Scrollspy and affixed enhanced navigation to highlight sections and secondary
|
||||||
|
* sections of docs content.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.bs-sidebar.affix { /* csslint allow: adjoining-classes */
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the
|
||||||
|
main container. */
|
||||||
|
top: calc(3.5rem + 20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar.card { /* csslint allow: adjoining-classes */
|
||||||
|
padding: 0;
|
||||||
|
max-height: 90%;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Toggle (vertically flip) sidebar collapse icon */
|
||||||
|
.bs-sidebar .navbar-toggler span {
|
||||||
|
-moz-transform: scale(1, -1);
|
||||||
|
-webkit-transform: scale(1, -1);
|
||||||
|
-o-transform: scale(1, -1);
|
||||||
|
-ms-transform: scale(1, -1);
|
||||||
|
transform: scale(1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .navbar-toggler.collapsed span { /* csslint allow: adjoining-classes */
|
||||||
|
-moz-transform: scale(1, 1);
|
||||||
|
-webkit-transform: scale(1, 1);
|
||||||
|
-o-transform: scale(1, 1);
|
||||||
|
-ms-transform: scale(1, 1);
|
||||||
|
transform: scale(1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First level of nav */
|
||||||
|
.bs-sidebar > .navbar-collapse > .nav {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All levels of nav */
|
||||||
|
.bs-sidebar .nav > li > a {
|
||||||
|
display: block;
|
||||||
|
padding: 5px 20px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.bs-sidebar .nav > li > a:hover,
|
||||||
|
.bs-sidebar .nav > li > a:focus {
|
||||||
|
text-decoration: none;
|
||||||
|
border-right: 1px solid;
|
||||||
|
}
|
||||||
|
.bs-sidebar .nav > li > a.active,
|
||||||
|
.bs-sidebar .nav > li > a.active:hover,
|
||||||
|
.bs-sidebar .nav > li > a.active:focus {
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: transparent;
|
||||||
|
border-right: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav .nav .nav {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav > li > a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav .nav > li > a {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headerlink {
|
||||||
|
font-family: FontAwesome;
|
||||||
|
font-size: 14px;
|
||||||
|
display: none;
|
||||||
|
padding-left: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.admonition, details {
|
||||||
|
padding: 15px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: 4px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
|
color: #2e6b89;
|
||||||
|
background-color: #e2f0f7;
|
||||||
|
border-color: #bce8f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
|
color: #7a6032;
|
||||||
|
background-color: #fffae5;
|
||||||
|
border-color: #fbeed5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
|
color: #7f3130;
|
||||||
|
background-color: #fde3e3;
|
||||||
|
border-color: #eed3d7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition-title, summary {
|
||||||
|
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;
|
||||||
|
max-height: calc(100vh - 3.5rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-item.open { /* csslint allow: adjoining-classes */
|
||||||
|
color: #fff;
|
||||||
|
background-color: #2FA4E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu {
|
||||||
|
margin: 0 0 0 1.5rem;
|
||||||
|
padding: 0;
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > a::after {
|
||||||
|
display: block;
|
||||||
|
content: " ";
|
||||||
|
float: right;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-color: transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 0 5px 5px;
|
||||||
|
border-left-color: #ccc;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu:hover > a::after {
|
||||||
|
border-left-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.dropdown-menu {
|
||||||
|
overflow-y: auto;
|
||||||
|
max-height: calc(100vh - 3.5rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu {
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: fixed !important;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
margin-top: -9px;
|
||||||
|
margin-left: -2px;
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu.pull-left { /* csslint allow: adjoining-classes */
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu.pull-left > .dropdown-menu { /* csslint allow: adjoining-classes */
|
||||||
|
left: -100%;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
/* Remove sidebar when print */
|
||||||
|
.col-md-3 { display: none; }
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Do not extract from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="homepage">
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href=".">Do not extract from included files</a>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
|
||||||
|
<span class="fa fa-angle-down"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item" data-level="1"><a href="#just-want-the-image" class="nav-link">Just want the image</a>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div></div>
|
||||||
|
<div class="col-md-9" role="main">
|
||||||
|
|
||||||
|
<h1 id="just-want-the-image">Just want the image</h1>
|
||||||
|
<p>It's a dream: <img alt="Dreamy question" src="assets/icons8-ask-question-100.png" /></p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = ".",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
-->
|
|
@ -209,13 +209,13 @@ footer {
|
||||||
padding-left: .5em;
|
padding-left: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.admonition {
|
.admonition, details {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
|
@ -223,29 +223,33 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.note { /* csslint allow: adjoining-classes */
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
color: #3a87ad;
|
color: #2e6b89;
|
||||||
background-color: #d9edf7;
|
background-color: #e2f0f7;
|
||||||
border-color: #bce8f1;
|
border-color: #bce8f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
color: #c09853;
|
color: #7a6032;
|
||||||
background-color: #fcf8e3;
|
background-color: #fffae5;
|
||||||
border-color: #fbeed5;
|
border-color: #fbeed5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
color: #b94a48;
|
color: #7f3130;
|
||||||
background-color: #f2dede;
|
background-color: #fde3e3;
|
||||||
border-color: #eed3d7;
|
border-color: #eed3d7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition-title {
|
.admonition-title, summary {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.admonition>p:last-child, details>p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 991.98px) {
|
@media (max-width: 991.98px) {
|
||||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
|
@ -209,13 +209,13 @@ footer {
|
||||||
padding-left: .5em;
|
padding-left: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.admonition {
|
.admonition, details {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
|
@ -223,29 +223,33 @@ h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .head
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.note { /* csslint allow: adjoining-classes */
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
color: #3a87ad;
|
color: #2e6b89;
|
||||||
background-color: #d9edf7;
|
background-color: #e2f0f7;
|
||||||
border-color: #bce8f1;
|
border-color: #bce8f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.warning { /* csslint allow: adjoining-classes */
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
color: #c09853;
|
color: #7a6032;
|
||||||
background-color: #fcf8e3;
|
background-color: #fffae5;
|
||||||
border-color: #fbeed5;
|
border-color: #fbeed5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition.danger { /* csslint allow: adjoining-classes */
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
color: #b94a48;
|
color: #7f3130;
|
||||||
background-color: #f2dede;
|
background-color: #fde3e3;
|
||||||
border-color: #eed3d7;
|
border-color: #eed3d7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admonition-title {
|
.admonition-title, summary {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.admonition>p:last-child, details>p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 991.98px) {
|
@media (max-width: 991.98px) {
|
||||||
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
.navbar-collapse.show { /* csslint allow: adjoining-classes */
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Want to extract to a sibling directory
|
||||||
|
|
||||||
|
The [extracted markdown](finished/polished.md).
|
||||||
|
|
After Width: | Height: | Size: 6.0 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
site_name: Enable extraction from included files
|
||||||
|
docs_dir: refsite # dummy
|
||||||
|
plugins:
|
||||||
|
- semiliterate:
|
||||||
|
ignore_folders: [refsite]
|
||||||
|
merge_docs_dir: false
|
||||||
|
semiliterate:
|
||||||
|
- pattern: 'raw\.txt'
|
||||||
|
extract: {start: '---', stop: '---'}
|
||||||
|
destination: '../finished/polished.md'
|
|
@ -0,0 +1,110 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Enable extraction from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="/.">Enable extraction from included files</a>
|
||||||
|
<!-- Expander button -->
|
||||||
|
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
<!-- Main navigation -->
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="navitem">
|
||||||
|
<a href="/." class="nav-link">Want to extract to a sibling directory</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Finished <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="/finished/polished/" class="dropdown-item">Internals</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div id="main-content" class="span12">
|
||||||
|
<h1 id="404-page-not-found" style="text-align: center">404</h1>
|
||||||
|
<p style="text-align: center"><strong>Page not found</strong></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = "/",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
tests/fixtures/sibling-destination/refsite/assets/icons8-ask-question-100.png
vendored
Normal file
After Width: | Height: | Size: 6.0 KiB |
|
@ -0,0 +1,322 @@
|
||||||
|
html {
|
||||||
|
/* csslint ignore:start */
|
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the
|
||||||
|
main container. */
|
||||||
|
scroll-padding-top: calc(3.5rem + 20px);
|
||||||
|
/* csslint ignore:end */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Replacement for `body { background-attachment: fixed; }`, which has
|
||||||
|
performance issues when scrolling on large displays. See #1394. */
|
||||||
|
body::before {
|
||||||
|
content: ' ';
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
background: url(../img/grid.png) repeat-x;
|
||||||
|
will-change: transform;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > .container {
|
||||||
|
margin-top: 20px;
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar.fixed-top { /* csslint allow: adjoining-classes */
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
}
|
||||||
|
|
||||||
|
.source-links {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-md-9 img {
|
||||||
|
max-width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px;
|
||||||
|
line-height: 1.428571429;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 20px auto 30px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 42px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2, h3, h4, h5, h6 {
|
||||||
|
color: #444;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-top: 1px solid #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre, .rst-content tt {
|
||||||
|
max-width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #e1e4e5;
|
||||||
|
color: #333;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
code.code-large, .rst-content tt.code-large {
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding: 2px 5px;
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #e1e4e5;
|
||||||
|
color: #333;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
display: block;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
white-space: pre;
|
||||||
|
word-wrap: normal;
|
||||||
|
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
kbd {
|
||||||
|
padding: 2px 4px;
|
||||||
|
font-size: 90%;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #333;
|
||||||
|
border-radius: 3px;
|
||||||
|
-webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
||||||
|
box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
a code {
|
||||||
|
color: #2FA4E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover code, a:focus code {
|
||||||
|
color: #157AB5;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog {
|
||||||
|
margin-top: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Side navigation
|
||||||
|
*
|
||||||
|
* Scrollspy and affixed enhanced navigation to highlight sections and secondary
|
||||||
|
* sections of docs content.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.bs-sidebar.affix { /* csslint allow: adjoining-classes */
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the
|
||||||
|
main container. */
|
||||||
|
top: calc(3.5rem + 20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar.card { /* csslint allow: adjoining-classes */
|
||||||
|
padding: 0;
|
||||||
|
max-height: 90%;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Toggle (vertically flip) sidebar collapse icon */
|
||||||
|
.bs-sidebar .navbar-toggler span {
|
||||||
|
-moz-transform: scale(1, -1);
|
||||||
|
-webkit-transform: scale(1, -1);
|
||||||
|
-o-transform: scale(1, -1);
|
||||||
|
-ms-transform: scale(1, -1);
|
||||||
|
transform: scale(1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .navbar-toggler.collapsed span { /* csslint allow: adjoining-classes */
|
||||||
|
-moz-transform: scale(1, 1);
|
||||||
|
-webkit-transform: scale(1, 1);
|
||||||
|
-o-transform: scale(1, 1);
|
||||||
|
-ms-transform: scale(1, 1);
|
||||||
|
transform: scale(1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First level of nav */
|
||||||
|
.bs-sidebar > .navbar-collapse > .nav {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All levels of nav */
|
||||||
|
.bs-sidebar .nav > li > a {
|
||||||
|
display: block;
|
||||||
|
padding: 5px 20px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.bs-sidebar .nav > li > a:hover,
|
||||||
|
.bs-sidebar .nav > li > a:focus {
|
||||||
|
text-decoration: none;
|
||||||
|
border-right: 1px solid;
|
||||||
|
}
|
||||||
|
.bs-sidebar .nav > li > a.active,
|
||||||
|
.bs-sidebar .nav > li > a.active:hover,
|
||||||
|
.bs-sidebar .nav > li > a.active:focus {
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: transparent;
|
||||||
|
border-right: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav .nav .nav {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav > li > a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar .nav .nav > li > a {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headerlink {
|
||||||
|
font-family: FontAwesome;
|
||||||
|
font-size: 14px;
|
||||||
|
display: none;
|
||||||
|
padding-left: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.admonition, details {
|
||||||
|
padding: 15px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: 4px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */
|
||||||
|
color: #2e6b89;
|
||||||
|
background-color: #e2f0f7;
|
||||||
|
border-color: #bce8f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */
|
||||||
|
color: #7a6032;
|
||||||
|
background-color: #fffae5;
|
||||||
|
border-color: #fbeed5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */
|
||||||
|
color: #7f3130;
|
||||||
|
background-color: #fde3e3;
|
||||||
|
border-color: #eed3d7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition-title, summary {
|
||||||
|
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;
|
||||||
|
max-height: calc(100vh - 3.5rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-item.open { /* csslint allow: adjoining-classes */
|
||||||
|
color: #fff;
|
||||||
|
background-color: #2FA4E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu {
|
||||||
|
margin: 0 0 0 1.5rem;
|
||||||
|
padding: 0;
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > a::after {
|
||||||
|
display: block;
|
||||||
|
content: " ";
|
||||||
|
float: right;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-color: transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 0 5px 5px;
|
||||||
|
border-left-color: #ccc;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu:hover > a::after {
|
||||||
|
border-left-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.dropdown-menu {
|
||||||
|
overflow-y: auto;
|
||||||
|
max-height: calc(100vh - 3.5rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu {
|
||||||
|
/* csslint ignore:start */
|
||||||
|
position: fixed !important;
|
||||||
|
/* csslint ignore:end */
|
||||||
|
margin-top: -9px;
|
||||||
|
margin-left: -2px;
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu.pull-left { /* csslint allow: adjoining-classes */
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-submenu.pull-left > .dropdown-menu { /* csslint allow: adjoining-classes */
|
||||||
|
left: -100%;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
/* Remove sidebar when print */
|
||||||
|
.col-md-3 { display: none; }
|
||||||
|
}
|
133
tests/fixtures/sibling-destination/refsite/finished/polished/index.html.cropped
vendored
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Internals - Enable extraction from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="../..">Enable extraction from included files</a>
|
||||||
|
<!-- Expander button -->
|
||||||
|
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
<!-- Main navigation -->
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="navitem">
|
||||||
|
<a href="../.." class="nav-link">Want to extract to a sibling directory</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown active">
|
||||||
|
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Finished <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="./" class="dropdown-item active">Internals</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="prev" href="../.." class="nav-link">
|
||||||
|
<i class="fa fa-arrow-left"></i> Previous
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="next" class="nav-link disabled">
|
||||||
|
Next <i class="fa fa-arrow-right"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
|
||||||
|
<span class="fa fa-angle-down"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item" data-level="1"><a href="#internals" class="nav-link">Internals</a>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div></div>
|
||||||
|
<div class="col-md-9" role="main">
|
||||||
|
|
||||||
|
<h1 id="internals">Internals</h1>
|
||||||
|
<p>But this is <strong>markdown</strong> hidden within.</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = "../..",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
After Width: | Height: | Size: 434 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,136 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html 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>Enable extraction from included files</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="homepage">
|
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href=".">Enable extraction from included files</a>
|
||||||
|
<!-- Expander button -->
|
||||||
|
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Expanded navigation -->
|
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse">
|
||||||
|
<!-- Main navigation -->
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="navitem active">
|
||||||
|
<a href="." class="nav-link">Want to extract to a sibling directory</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Finished <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="finished/polished/" class="dropdown-item">Internals</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="prev" class="nav-link disabled">
|
||||||
|
<i class="fa fa-arrow-left"></i> Previous
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a rel="next" href="finished/polished/" class="nav-link">
|
||||||
|
Next <i class="fa fa-arrow-right"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
|
||||||
|
<span class="fa fa-angle-down"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item" data-level="1"><a href="#want-to-extract-to-a-sibling-directory" class="nav-link">Want to extract to a sibling directory</a>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div></div>
|
||||||
|
<div class="col-md-9" role="main">
|
||||||
|
|
||||||
|
<h1 id="want-to-extract-to-a-sibling-directory">Want to extract to a sibling directory</h1>
|
||||||
|
<p>The <a href="finished/polished/">extracted markdown</a>.</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="col-md-12">
|
||||||
|
<hr>
|
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
|
||||||
|
</footer>
|
||||||
|
var base_url = ".",
|
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
|
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%;">Keys</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="help shortcut"><kbd>?</kbd></td>
|
||||||
|
<td>Open this help</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="next shortcut"><kbd>n</kbd></td>
|
||||||
|
<td>Next page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td>
|
||||||
|
<td>Previous page</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="search shortcut"><kbd>s</kbd></td>
|
||||||
|
<td>Search</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
-->
|
|
@ -0,0 +1,283 @@
|
||||||
|
function getSearchTerm() {
|
||||||
|
var sPageURL = window.location.search.substring(1);
|
||||||
|
var sURLVariables = sPageURL.split('&');
|
||||||
|
for (var i = 0; i < sURLVariables.length; i++) {
|
||||||
|
var sParameterName = sURLVariables[i].split('=');
|
||||||
|
if (sParameterName[0] == 'q') {
|
||||||
|
return sParameterName[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function applyTopPadding() {
|
||||||
|
// Update various absolute positions to match where the main container
|
||||||
|
// starts. This is necessary for handling multi-line nav headers, since
|
||||||
|
// that pushes the main container down.
|
||||||
|
var offset = $('body > .container').offset();
|
||||||
|
$('html').css('scroll-padding-top', offset.top + 'px');
|
||||||
|
$('.bs-sidebar.affix').css('top', offset.top + 'px');
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
applyTopPadding();
|
||||||
|
|
||||||
|
var search_term = getSearchTerm(),
|
||||||
|
$search_modal = $('#mkdocs_search_modal'),
|
||||||
|
$keyboard_modal = $('#mkdocs_keyboard_modal');
|
||||||
|
|
||||||
|
if (search_term) {
|
||||||
|
$search_modal.modal();
|
||||||
|
}
|
||||||
|
|
||||||
|
// make sure search input gets autofocus every time modal opens.
|
||||||
|
$search_modal.on('shown.bs.modal', function() {
|
||||||
|
$search_modal.find('#mkdocs-search-query').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Close search modal when result is selected
|
||||||
|
// The links get added later so listen to parent
|
||||||
|
$('#mkdocs-search-results').click(function(e) {
|
||||||
|
if ($(e.target).is('a')) {
|
||||||
|
$search_modal.modal('hide');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Populate keyboard modal with proper Keys
|
||||||
|
$keyboard_modal.find('.help.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.help];
|
||||||
|
$keyboard_modal.find('.prev.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.previous];
|
||||||
|
$keyboard_modal.find('.next.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.next];
|
||||||
|
$keyboard_modal.find('.search.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.search];
|
||||||
|
|
||||||
|
// Keyboard navigation
|
||||||
|
document.addEventListener("keydown", function(e) {
|
||||||
|
if ($(e.target).is(':input')) return true;
|
||||||
|
var key = e.which || e.keyCode || window.event && window.event.keyCode;
|
||||||
|
var page;
|
||||||
|
switch (key) {
|
||||||
|
case shortcuts.next:
|
||||||
|
page = $('.navbar a[rel="next"]:first').prop('href');
|
||||||
|
break;
|
||||||
|
case shortcuts.previous:
|
||||||
|
page = $('.navbar a[rel="prev"]:first').prop('href');
|
||||||
|
break;
|
||||||
|
case shortcuts.search:
|
||||||
|
e.preventDefault();
|
||||||
|
$keyboard_modal.modal('hide');
|
||||||
|
$search_modal.modal('show');
|
||||||
|
$search_modal.find('#mkdocs-search-query').focus();
|
||||||
|
break;
|
||||||
|
case shortcuts.help:
|
||||||
|
$search_modal.modal('hide');
|
||||||
|
$keyboard_modal.modal('show');
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
if (page) {
|
||||||
|
$keyboard_modal.modal('hide');
|
||||||
|
window.location.href = page;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('table').addClass('table table-striped table-hover');
|
||||||
|
|
||||||
|
// Improve the scrollspy behaviour when users click on a TOC item.
|
||||||
|
$(".bs-sidenav a").on("click", function() {
|
||||||
|
var clicked = this;
|
||||||
|
setTimeout(function() {
|
||||||
|
var active = $('.nav li.active a');
|
||||||
|
active = active[active.length - 1];
|
||||||
|
if (clicked !== active) {
|
||||||
|
$(active).parent().removeClass("active");
|
||||||
|
$(clicked).parent().addClass("active");
|
||||||
|
}
|
||||||
|
}, 50);
|
||||||
|
});
|
||||||
|
|
||||||
|
function showInnerDropdown(item) {
|
||||||
|
var popup = $(item).next('.dropdown-menu');
|
||||||
|
popup.addClass('show');
|
||||||
|
$(item).addClass('open');
|
||||||
|
|
||||||
|
// First, close any sibling dropdowns.
|
||||||
|
var container = $(item).parent().parent();
|
||||||
|
container.find('> .dropdown-submenu > a').each(function(i, el) {
|
||||||
|
if (el !== item) {
|
||||||
|
hideInnerDropdown(el);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var popupMargin = 10;
|
||||||
|
var maxBottom = $(window).height() - popupMargin;
|
||||||
|
var bounds = item.getBoundingClientRect();
|
||||||
|
|
||||||
|
popup.css('left', bounds.right + 'px');
|
||||||
|
if (bounds.top + popup.height() > maxBottom &&
|
||||||
|
bounds.top > $(window).height() / 2) {
|
||||||
|
popup.css({
|
||||||
|
'top': (bounds.bottom - popup.height()) + 'px',
|
||||||
|
'max-height': (bounds.bottom - popupMargin) + 'px',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
popup.css({
|
||||||
|
'top': bounds.top + 'px',
|
||||||
|
'max-height': (maxBottom - bounds.top) + 'px',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideInnerDropdown(item) {
|
||||||
|
var popup = $(item).next('.dropdown-menu');
|
||||||
|
popup.removeClass('show');
|
||||||
|
$(item).removeClass('open');
|
||||||
|
|
||||||
|
popup.scrollTop(0);
|
||||||
|
popup.find('.dropdown-menu').scrollTop(0).removeClass('show');
|
||||||
|
popup.find('.dropdown-submenu > a').removeClass('open');
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.dropdown-submenu > a').on('click', function(e) {
|
||||||
|
if ($(this).next('.dropdown-menu').hasClass('show')) {
|
||||||
|
hideInnerDropdown(this);
|
||||||
|
} else {
|
||||||
|
showInnerDropdown(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.dropdown-menu').parent().on('hide.bs.dropdown', function(e) {
|
||||||
|
$(this).find('.dropdown-menu').scrollTop(0);
|
||||||
|
$(this).find('.dropdown-submenu > a').removeClass('open');
|
||||||
|
$(this).find('.dropdown-menu .dropdown-menu').removeClass('show');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$(window).on('resize', applyTopPadding);
|
||||||
|
|
||||||
|
$('body').scrollspy({
|
||||||
|
target: '.bs-sidebar',
|
||||||
|
offset: 100
|
||||||
|
});
|
||||||
|
|
||||||
|
/* Prevent disabled links from causing a page reload */
|
||||||
|
$("li.disabled a").click(function() {
|
||||||
|
event.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
// See https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
|
||||||
|
// We only list common keys below. Obscure keys are omitted and their use is discouraged.
|
||||||
|
var keyCodes = {
|
||||||
|
8: 'backspace',
|
||||||
|
9: 'tab',
|
||||||
|
13: 'enter',
|
||||||
|
16: 'shift',
|
||||||
|
17: 'ctrl',
|
||||||
|
18: 'alt',
|
||||||
|
19: 'pause/break',
|
||||||
|
20: 'caps lock',
|
||||||
|
27: 'escape',
|
||||||
|
32: 'spacebar',
|
||||||
|
33: 'page up',
|
||||||
|
34: 'page down',
|
||||||
|
35: 'end',
|
||||||
|
36: 'home',
|
||||||
|
37: '←',
|
||||||
|
38: '↑',
|
||||||
|
39: '→',
|
||||||
|
40: '↓',
|
||||||
|
45: 'insert',
|
||||||
|
46: 'delete',
|
||||||
|
48: '0',
|
||||||
|
49: '1',
|
||||||
|
50: '2',
|
||||||
|
51: '3',
|
||||||
|
52: '4',
|
||||||
|
53: '5',
|
||||||
|
54: '6',
|
||||||
|
55: '7',
|
||||||
|
56: '8',
|
||||||
|
57: '9',
|
||||||
|
65: 'a',
|
||||||
|
66: 'b',
|
||||||
|
67: 'c',
|
||||||
|
68: 'd',
|
||||||
|
69: 'e',
|
||||||
|
70: 'f',
|
||||||
|
71: 'g',
|
||||||
|
72: 'h',
|
||||||
|
73: 'i',
|
||||||
|
74: 'j',
|
||||||
|
75: 'k',
|
||||||
|
76: 'l',
|
||||||
|
77: 'm',
|
||||||
|
78: 'n',
|
||||||
|
79: 'o',
|
||||||
|
80: 'p',
|
||||||
|
81: 'q',
|
||||||
|
82: 'r',
|
||||||
|
83: 's',
|
||||||
|
84: 't',
|
||||||
|
85: 'u',
|
||||||
|
86: 'v',
|
||||||
|
87: 'w',
|
||||||
|
88: 'x',
|
||||||
|
89: 'y',
|
||||||
|
90: 'z',
|
||||||
|
91: 'Left Windows Key / Left ⌘',
|
||||||
|
92: 'Right Windows Key',
|
||||||
|
93: 'Windows Menu / Right ⌘',
|
||||||
|
96: 'numpad 0',
|
||||||
|
97: 'numpad 1',
|
||||||
|
98: 'numpad 2',
|
||||||
|
99: 'numpad 3',
|
||||||
|
100: 'numpad 4',
|
||||||
|
101: 'numpad 5',
|
||||||
|
102: 'numpad 6',
|
||||||
|
103: 'numpad 7',
|
||||||
|
104: 'numpad 8',
|
||||||
|
105: 'numpad 9',
|
||||||
|
106: 'multiply',
|
||||||
|
107: 'add',
|
||||||
|
109: 'subtract',
|
||||||
|
110: 'decimal point',
|
||||||
|
111: 'divide',
|
||||||
|
112: 'f1',
|
||||||
|
113: 'f2',
|
||||||
|
114: 'f3',
|
||||||
|
115: 'f4',
|
||||||
|
116: 'f5',
|
||||||
|
117: 'f6',
|
||||||
|
118: 'f7',
|
||||||
|
119: 'f8',
|
||||||
|
120: 'f9',
|
||||||
|
121: 'f10',
|
||||||
|
122: 'f11',
|
||||||
|
123: 'f12',
|
||||||
|
124: 'f13',
|
||||||
|
125: 'f14',
|
||||||
|
126: 'f15',
|
||||||
|
127: 'f16',
|
||||||
|
128: 'f17',
|
||||||
|
129: 'f18',
|
||||||
|
130: 'f19',
|
||||||
|
131: 'f20',
|
||||||
|
132: 'f21',
|
||||||
|
133: 'f22',
|
||||||
|
134: 'f23',
|
||||||
|
135: 'f24',
|
||||||
|
144: 'num lock',
|
||||||
|
145: 'scroll lock',
|
||||||
|
186: ';',
|
||||||
|
187: '=',
|
||||||
|
188: ',',
|
||||||
|
189: '‐',
|
||||||
|
190: '.',
|
||||||
|
191: '?',
|
||||||
|
192: '`',
|
||||||
|
219: '[',
|
||||||
|
220: '\',
|
||||||
|
221: ']',
|
||||||
|
222: ''',
|
||||||
|
};
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
<url>
|
||||||
|
<loc>None</loc>
|
||||||
|
<lastmod>2022-08-02</lastmod>
|
||||||
|
<changefreq>daily</changefreq>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>None</loc>
|
||||||
|
<lastmod>2022-08-02</lastmod>
|
||||||
|
<changefreq>daily</changefreq>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
|
@ -0,0 +1,7 @@
|
||||||
|
This is a free-form file, used as an example
|
||||||
|
---
|
||||||
|
# Internals
|
||||||
|
|
||||||
|
But this is __markdown__ hidden within.
|
||||||
|
---
|
||||||
|
There can of course be stuff after it.
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Test of syspath extraction
|
||||||
|
|
||||||
|
Hopefully Kilroy magically visited above.
|
|
@ -0,0 +1,4 @@
|
||||||
|
{! "\syspath mkdocs/themes/readthedocs/base.html"
|
||||||
|
extract:
|
||||||
|
replace: [ ['([<]body.*$)', '\1\n<p>Kilroy was here.</p>\n'] ]
|
||||||
|
!}
|
|
@ -0,0 +1,14 @@
|
||||||
|
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'
|
|
@ -0,0 +1,89 @@
|
||||||
|
<!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>
|
||||||
|
|
BIN
tests/fixtures/theme-modification/refsite/css/fonts/Roboto-Slab-Regular.woff
vendored
Normal file
BIN
tests/fixtures/theme-modification/refsite/css/fonts/Roboto-Slab-Regular.woff2
vendored
Normal file
BIN
tests/fixtures/theme-modification/refsite/css/fonts/fontawesome-webfont.eot
vendored
Normal file
2671
tests/fixtures/theme-modification/refsite/css/fonts/fontawesome-webfont.svg
vendored
Normal file
After Width: | Height: | Size: 434 KiB |
BIN
tests/fixtures/theme-modification/refsite/css/fonts/fontawesome-webfont.ttf
vendored
Normal file
BIN
tests/fixtures/theme-modification/refsite/css/fonts/fontawesome-webfont.woff
vendored
Normal file
BIN
tests/fixtures/theme-modification/refsite/css/fonts/fontawesome-webfont.woff2
vendored
Normal file
BIN
tests/fixtures/theme-modification/refsite/css/fonts/lato-normal-italic.woff
vendored
Normal file
BIN
tests/fixtures/theme-modification/refsite/css/fonts/lato-normal-italic.woff2
vendored
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
}
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,97 @@
|
||||||
|
<!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>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
-->
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
/**
|
||||||
|
* @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);
|
|
@ -0,0 +1,8 @@
|
||||||
|
/*
|
||||||
|
* 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');
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?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>
|
|
@ -4,7 +4,7 @@ startdir=$PWD
|
||||||
for file in tests/fixtures/*
|
for file in tests/fixtures/*
|
||||||
do
|
do
|
||||||
cd "$startdir/$file"
|
cd "$startdir/$file"
|
||||||
mkdocs -v build
|
mkdocs -v build -s
|
||||||
# unfortunately MkDocs writes the run date in the last few lines of index
|
# unfortunately MkDocs writes the run date in the last few lines of index
|
||||||
# and has version numbers in some of the scripts that are irrelevant:
|
# and has version numbers in some of the scripts that are irrelevant:
|
||||||
for hml in **/*.html
|
for hml in **/*.html
|
||||||
|
|