Compare commits
175 Commits
Author | SHA1 | Date | |
---|---|---|---|
6d75bc433e | |||
8bb7fbd1c4 | |||
ad03e655e9 | |||
61d3974a47 | |||
3d852c87e2 | |||
0e46528f32 | |||
bb8fa1f6a8 | |||
9fdaa810c0 | |||
4083ac0c14 | |||
b9e0b7ccd0 | |||
4b9e428abb | |||
63ad13e09a | |||
cc06a308a1 | |||
e9fdd20181 | |||
8692686cb5 | |||
db29ad36fe | |||
0710b25317 | |||
cbd2964f42 | |||
f51118f13c | |||
323e363b42 | |||
e8a4fe6142 | |||
587d9b359c | |||
c2632253ac | |||
45be77dd10 | |||
78ffbcc33d | |||
d83d1a244e | |||
fa002a50ac | |||
32507afae9 | |||
6de3bbdaf4 | |||
6e50d0cb22 | |||
9e978f3ece | |||
32478926c8 | |||
2925788d01 | |||
c0789cf4f7 | |||
89d591ce0a | |||
77c560b40c | |||
dad4913bcd | |||
9b56650d4b | |||
9fca2018e5 | |||
e5dd890931 | |||
beadbf8e91 | |||
ff5f9b833d | |||
162f06001a | |||
348fad24c7 | |||
f9748cdb76 | |||
56380763a9 | |||
3a1630b687 | |||
a593f34cde | |||
49cce5fa1a | |||
df7bd06629 | |||
e0da77fd4b | |||
833dd83008 | |||
ce0ad4013f | |||
698f80adfe | |||
d0b0f4bfcb | |||
d23ea86ccf | |||
15d938b172 | |||
6c1d7a3b29 | |||
c28f551682 | |||
def92c78c8 | |||
ddff9dec11 | |||
9e0e85d646 | |||
b05ca7e980 | |||
8f8a9f7dd7 | |||
df32978a31 | |||
79b51cf8c5 | |||
a72dd0dc2e | |||
d937c4c0e6 | |||
46cceb0910 | |||
e74e39c189 | |||
c2706c7737 | |||
d0e66d24bd | |||
c1a1849ad2 | |||
0675105731 | |||
7ee0b951a8 | |||
d8168f024c | |||
2654dc7c69 | |||
4224960837 | |||
907c3a8fff | |||
28505479ba | |||
84d3abce3f | |||
9050dffc53 | |||
e0f69c9bdf | |||
bbd0a60f98 | |||
e23f4187fe | |||
15f200df3a | |||
a1a3ad6fb5 | |||
d6677d53a3 | |||
07e43b50d1 | |||
ac83555b24 | |||
1ab358059c | |||
5bf83c0d77 | |||
03ac00c6e3 | |||
0122d8fc78 | |||
a66ce96dbf | |||
6da8e30446 | |||
539ed13be4 | |||
036a553f64 | |||
976a14584b | |||
ed69f52927 | |||
98847495e6 | |||
40f132da33 | |||
5feb44595a | |||
48c6941f1a | |||
a8756d493a | |||
9f4077a073 | |||
3e7a3d75c5 | |||
477d2d87d3 | |||
7a65dbe39b | |||
f83755ac77 | |||
a590cfd066 | |||
f317035342 | |||
8900bdd446 | |||
35ecf158a2 | |||
353c1d30ec | |||
1c94fb5bd1 | |||
cf305aeebb | |||
90e97433e0 | |||
125a85a0af | |||
cfb8838c73 | |||
824d491ebc | |||
d694c408c0 | |||
d1bb266d49 | |||
419fcc3d29 | |||
24ab6a51c1 | |||
dec4a45d98 | |||
d11c56db03 | |||
fc23315cc7 | |||
1f503fe20d | |||
4564f7ac0e | |||
7b823e1141 | |||
dac3d9c6bb | |||
ccca904cb8 | |||
c66a81c0ec | |||
fb810e2943 | |||
5cc663dedc | |||
593372699b | |||
1899cb5b86 | |||
0a285f2d28 | |||
94c82e6701 | |||
0d37c86061 | |||
6c8e9ccd89 | |||
e7cf545502 | |||
44182eec86 | |||
0f5b1b7586 | |||
4fe073580a | |||
2fed654c16 | |||
8ebd4864d3 | |||
a495532a4d | |||
d87ce72f07 | |||
50201346e2 | |||
773b154371 | |||
5b59d1d384 | |||
dcd8583183 | |||
97e52b39c0 | |||
581013b61a | |||
fd68d25a1d | |||
588f93f7b1 | |||
96f402dcdd | |||
c1b7fca8d5 | |||
2e4e7ccc57 | |||
ada3d133df | |||
61e7b9d684 | |||
24172c658c | |||
62ac976b99 | |||
1f445a99b2 | |||
025286052b | |||
32a856f8e8 | |||
21f50f3b24 | |||
ce77d41246 | |||
dec137220c | |||
01c7e155c3 | |||
dcbcb67ce8 | |||
d57fd10718 | |||
2b91db5d81 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -106,6 +106,7 @@ celerybeat.pid
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
venv_*/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
@@ -134,3 +135,6 @@ dmypy.json
|
||||
# IDE
|
||||
.idea/
|
||||
PythonImportHelper-v2-Completion.json
|
||||
|
||||
# cpl unittest stuff
|
||||
unittests/test_*_playground
|
||||
|
2
LICENSE
2
LICENSE
@@ -1,4 +1,4 @@
|
||||
MIT License Copyright (c) 2020 - 2021 sh-edraft.de
|
||||
MIT License Copyright (c) 2020 - 2022 sh-edraft.de
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
47
README.md
47
README.md
@@ -13,6 +13,7 @@
|
||||
## Table of Contents
|
||||
<!-- TABLE OF CONTENTS -->
|
||||
<ol>
|
||||
<li><a href="#Features">Features</a></li>
|
||||
<li>
|
||||
<a href="#getting-started">Getting Started</a>
|
||||
<ul>
|
||||
@@ -26,6 +27,52 @@
|
||||
<li><a href="#contact">Contact</a></li>
|
||||
</ol>
|
||||
|
||||
## Features
|
||||
<!-- FEATURE OVERVIEW -->
|
||||
- Expandle
|
||||
- Application base
|
||||
- Standardized application classes
|
||||
- Application object builder
|
||||
- Application extension classes
|
||||
- Startup classes
|
||||
- Startup extension classes
|
||||
- Configuration
|
||||
- Configure via object mapped JSON
|
||||
- Console argument handling
|
||||
- Console class for in and output
|
||||
- Banner
|
||||
- Spinner
|
||||
- Options (menu)
|
||||
- Table
|
||||
- Write
|
||||
- Write_at
|
||||
- Write_line
|
||||
- Write_line_at
|
||||
- Dependency injection
|
||||
- Service lifetimes: singleton, scoped and transient
|
||||
- Providing of application environment
|
||||
- Environment (development, staging, testing, production)
|
||||
- Appname
|
||||
- Customer
|
||||
- Hostname
|
||||
- Runtime directory
|
||||
- Working directory
|
||||
- Logging
|
||||
- Standardized logger
|
||||
- Log-level (FATAL, ERROR, WARN, INFO, DEBUG & TRACE)
|
||||
- Mail handling
|
||||
- Send mails
|
||||
- Pipe classes
|
||||
- Convert input
|
||||
- Utils
|
||||
- Credential manager
|
||||
- Encryption via BASE64
|
||||
- PIP wrapper class based on subprocess
|
||||
- Run pip commands
|
||||
- String converter to different variants
|
||||
- to_lower_case
|
||||
- to_camel_case
|
||||
- ...
|
||||
|
||||
<!-- GETTING STARTED -->
|
||||
## Getting Started
|
||||
|
@@ -1,13 +1,95 @@
|
||||
{
|
||||
"WorkspaceSettings": {
|
||||
"DefaultProject": "cpl_cli",
|
||||
"DefaultProject": "cpl-cli",
|
||||
"Projects": {
|
||||
"cpl_core": "src/cpl_core/cpl_core.json",
|
||||
"cpl_cli": "src/cpl_cli/cpl_cli.json",
|
||||
"cpl_query": "src/cpl_query/cpl_query.json"
|
||||
"cpl-core": "src/cpl_core/cpl-core.json",
|
||||
"cpl-cli": "src/cpl_cli/cpl-cli.json",
|
||||
"cpl-query": "src/cpl_query/cpl-query.json",
|
||||
"set-version": "tools/set_version/set-version.json",
|
||||
"set-pip-urls": "tools/set_pip_urls/set-pip-urls.json",
|
||||
"unittests": "unittests/unittests/unittests.json",
|
||||
"unittests_cli": "unittests/unittests_cli/unittests_cli.json",
|
||||
"unittests_core": "unittests/unittests_core/unittests_core.json",
|
||||
"unittests_query": "unittests/unittests_query/unittests_query.json",
|
||||
"unittests_shared": "unittests/unittests_shared/unittests_shared.json"
|
||||
},
|
||||
"Scripts": {
|
||||
"hello-world": "echo 'Hello World'"
|
||||
"hello-world": "echo 'Hello World'",
|
||||
|
||||
"sv": "cpl set-version",
|
||||
"set-version": "cpl run set-version $ARGS; echo '';",
|
||||
|
||||
"spu": "cpl set-pip-urls",
|
||||
"set-pip-urls": "cpl run set-pip-urls $ARGS; echo '';",
|
||||
|
||||
"docs-build": "echo 'Build Documentation'; cd docs/; sphinx-apidoc -o source/ ../src/cpl_core; sphinx-apidoc -o source/ ../src/cpl_query; make clean; make html; rm source/cpl_query.tests.rst;",
|
||||
"db": "cpl docs-build",
|
||||
"docs-open": "xdg-open $PWD/docs/build/html/index.html &",
|
||||
"do": "cpl docs-open",
|
||||
|
||||
"test": "cpl run unittests",
|
||||
|
||||
"pre-build-all": "cpl sv $ARGS; cpl spu $ARGS;",
|
||||
"build-all": "cpl build-cli; cpl build-core; cpl build-query; cpl build-set-pip-urls; cpl build-set-version",
|
||||
"ba": "cpl build-all $ARGS",
|
||||
"build-cli": "echo 'Build cpl-cli'; cd ./src/cpl_cli; cpl build; cd ../../;",
|
||||
"build-core": "echo 'Build cpl-core'; cd ./src/cpl_core; cpl build; cd ../../;",
|
||||
"build-query": "echo 'Build cpl-query'; cd ./src/cpl_query; cpl build; cd ../../;",
|
||||
"build-set-pip-urls": "echo 'Build set-pip-urls'; cd ./tools/set_pip_urls; cpl build; cd ../../;",
|
||||
"build-set-version": "echo 'Build set-version'; cd ./tools/set_version; cpl build; cd ../../;",
|
||||
|
||||
"pre-publish-all": "cpl sv $ARGS; cpl spu $ARGS;",
|
||||
"publish-all": "cpl publish-cli; cpl publish-core; cpl publish-query;",
|
||||
"pa": "cpl build-all $ARGS",
|
||||
"publish-cli": "echo 'Publish cpl-cli'; cd ./src/cpl_cli; cpl publish; cd ../../;",
|
||||
"publish-core": "echo 'Publish cpl-core'; cd ./src/cpl_core; cpl publish; cd ../../;",
|
||||
"publish-query": "echo 'Publish cpl_query'; cd ./src/cpl_query; cpl publish; cd ../../;",
|
||||
|
||||
"upload-prod-cli": "echo 'PROD Upload cpl-cli'; cpl upl-prod-cli;",
|
||||
"upl-prod-cli": "twine upload -r pip.sh-edraft.de dist/cpl-cli/publish/setup/*",
|
||||
"upload-prod-core": "echo 'PROD Upload cpl-core'; cpl upl-prod-core;",
|
||||
"upl-prod-core": "twine upload -r pip.sh-edraft.de dist/cpl-core/publish/setup/*",
|
||||
"upload-prod-query": "echo 'PROD Upload cpl_query'; cpl upl-prod-query;",
|
||||
"upl-prod-query": "twine upload -r pip.sh-edraft.de dist/cpl-query/publish/setup/*",
|
||||
"upload-exp-cli": "echo 'EXP Upload cpl-cli'; cpl upl-exp-cli;",
|
||||
"upl-exp-cli": "twine upload -r pip-exp.sh-edraft.de dist/cpl-cli/publish/setup/*",
|
||||
"upload-exp-core": "echo 'EXP Upload cpl-core'; cpl upl-exp-core;",
|
||||
"upl-exp-core": "twine upload -r pip-exp.sh-edraft.de dist/cpl-core/publish/setup/*",
|
||||
"upload-exp-query": "echo 'EXP Upload cpl_query'; cpl upl-exp-query;",
|
||||
"upl-exp-query": "twine upload -r pip-exp.sh-edraft.de dist/cpl-query/publish/setup/*",
|
||||
"upload-dev-cli": "echo 'DEV Upload cpl-cli'; cpl upl-dev-cli;",
|
||||
"upl-dev-cli": "twine upload -r pip-dev.sh-edraft.de dist/cpl-cli/publish/setup/*",
|
||||
"upload-dev-core": "echo 'DEV Upload cpl-core'; cpl upl-dev-core;",
|
||||
"upl-dev-core": "twine upload -r pip-dev.sh-edraft.de dist/cpl-core/publish/setup/*",
|
||||
"upload-dev-query": "echo 'DEV Upload cpl_query'; cpl upl-dev-query;",
|
||||
"upl-dev-query": "twine upload -r pip-dev.sh-edraft.de dist/cpl-query/publish/setup/*",
|
||||
|
||||
"pre-deploy-prod": "cpl sv $ARGS; cpl spu --environment=production;",
|
||||
"deploy-prod": "cpl deploy-prod-cli; cpl deploy-prod-core; cpl deploy-prod-query;",
|
||||
"dp": "cpl deploy-prod $ARGS",
|
||||
"deploy-prod-cli": "cpl publish-cli; cpl upload-prod-cli",
|
||||
"deploy-prod-core": "cpl publish-core; cpl upload-prod-core",
|
||||
"deploy-prod-query": "cpl publish-query; cpl upload-prod-query",
|
||||
|
||||
"pre-deploy-exp": "cpl sv $ARGS; cpl spu --environment=staging;",
|
||||
"deploy-exp": "cpl deploy-exp-cli; cpl deploy-exp-core; cpl deploy-exp-query;",
|
||||
"de": "cpl deploy-exp $ARGS",
|
||||
"deploy-exp-cli": "cpl publish-cli; cpl upload-exp-cli",
|
||||
"deploy-exp-core": "cpl publish-core; cpl upload-exp-core",
|
||||
"deploy-exp-query": "cpl publish-query; cpl upload-exp-query",
|
||||
|
||||
"pre-deploy-dev": "cpl sv $ARGS; cpl spu --environment=development;",
|
||||
"deploy-dev": "cpl deploy-dev-cli; cpl deploy-dev-core; cpl deploy-dev-query;",
|
||||
"dd": "cpl deploy-dev $ARGS",
|
||||
"deploy-dev-cli": "cpl publish-cli; cpl upload-dev-cli",
|
||||
"deploy-dev-core": "cpl publish-core; cpl upload-dev-core",
|
||||
"deploy-dev-query": "cpl publish-query; cpl upload-dev-query",
|
||||
|
||||
"dev-install": "cpl di-core; cpl di-cli; cpl di-query;",
|
||||
"di": "cpl dev-install",
|
||||
"di-core": "pip install cpl-core --pre --upgrade --extra-index-url https://pip-dev.sh-edraft.de",
|
||||
"di-cli": "pip install cpl-cli --pre --upgrade --extra-index-url https://pip-dev.sh-edraft.de",
|
||||
"di-query": "pip install cpl-query --pre --upgrade --extra-index-url https://pip-dev.sh-edraft.de"
|
||||
}
|
||||
}
|
||||
}
|
BIN
docs/build/doctrees/cli.add.doctree
vendored
BIN
docs/build/doctrees/cli.add.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.build.doctree
vendored
BIN
docs/build/doctrees/cli.build.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.generate.doctree
vendored
BIN
docs/build/doctrees/cli.generate.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.help.doctree
vendored
BIN
docs/build/doctrees/cli.help.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.install.doctree
vendored
BIN
docs/build/doctrees/cli.install.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.new.doctree
vendored
BIN
docs/build/doctrees/cli.new.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.overview.doctree
vendored
BIN
docs/build/doctrees/cli.overview.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.publish.doctree
vendored
BIN
docs/build/doctrees/cli.publish.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.remove.doctree
vendored
BIN
docs/build/doctrees/cli.remove.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.start.doctree
vendored
BIN
docs/build/doctrees/cli.start.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.uninstall.doctree
vendored
BIN
docs/build/doctrees/cli.uninstall.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.update.doctree
vendored
BIN
docs/build/doctrees/cli.update.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cli.version.doctree
vendored
BIN
docs/build/doctrees/cli.version.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/contributing.doctree
vendored
BIN
docs/build/doctrees/contributing.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_cli.doctree
vendored
BIN
docs/build/doctrees/cpl_cli.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.application.doctree
vendored
BIN
docs/build/doctrees/cpl_core.application.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.configuration.doctree
vendored
BIN
docs/build/doctrees/cpl_core.configuration.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.console.doctree
vendored
BIN
docs/build/doctrees/cpl_core.console.doctree
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.database.doctree
vendored
BIN
docs/build/doctrees/cpl_core.database.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.doctree
vendored
BIN
docs/build/doctrees/cpl_core.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.environment.doctree
vendored
BIN
docs/build/doctrees/cpl_core.environment.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.logging.doctree
vendored
BIN
docs/build/doctrees/cpl_core.logging.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.mailing.doctree
vendored
BIN
docs/build/doctrees/cpl_core.mailing.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.pipes.doctree
vendored
Normal file
BIN
docs/build/doctrees/cpl_core.pipes.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.time.doctree
vendored
BIN
docs/build/doctrees/cpl_core.time.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_core.utils.doctree
vendored
BIN
docs/build/doctrees/cpl_core.utils.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_query.doctree
vendored
BIN
docs/build/doctrees/cpl_query.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_query.exceptions.doctree
vendored
BIN
docs/build/doctrees/cpl_query.exceptions.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_query.extension.doctree
vendored
BIN
docs/build/doctrees/cpl_query.extension.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/cpl_query.tests.doctree
vendored
BIN
docs/build/doctrees/cpl_query.tests.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/environment.pickle
vendored
BIN
docs/build/doctrees/environment.pickle
vendored
Binary file not shown.
BIN
docs/build/doctrees/getting_started.doctree
vendored
BIN
docs/build/doctrees/getting_started.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/index.doctree
vendored
BIN
docs/build/doctrees/index.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/introduction.doctree
vendored
BIN
docs/build/doctrees/introduction.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/modules.doctree
vendored
BIN
docs/build/doctrees/modules.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/quickstart.doctree
vendored
BIN
docs/build/doctrees/quickstart.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/setup.doctree
vendored
BIN
docs/build/doctrees/setup.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/tutorials.appsettings.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.appsettings.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.console-arguments.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.console-arguments.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.console.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.console.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.create-startup.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.create-startup.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.extend-application.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.extend-application.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.extend-startup.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.extend-startup.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.logging.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.logging.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/tutorials.mail.doctree
vendored
Normal file
BIN
docs/build/doctrees/tutorials.mail.doctree
vendored
Normal file
Binary file not shown.
2
docs/build/html/.buildinfo
vendored
2
docs/build/html/.buildinfo
vendored
@@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: e947378348368955f94cb62626664e15
|
||||
config: 9ea51a00cf3559575c97b7efd7a002e5
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
14
docs/build/html/_sources/cli.add.md.txt
vendored
14
docs/build/html/_sources/cli.add.md.txt
vendored
@@ -19,7 +19,13 @@ If you call the command in a CPL workspace, you can use the project names. Other
|
||||
|
||||
## Arguments
|
||||
|
||||
| Argument | Description | Value type |
|
||||
| ------------------------- |:---------------------------------------------------------------:|:----------------:|
|
||||
| ```<source-project>``` | Name of the project to which the reference has to be added | ```str```
|
||||
| ```<target-project>``` | Name of the project to be referenced | ```str```
|
||||
| Argument | Description | Value type |
|
||||
|------------------------|:----------------------------------------------------------:|:----------:|
|
||||
| ```<source-project>``` | Name of the project to which the reference has to be added | ```str``` |
|
||||
| ```<target-project>``` | Name of the project to be referenced | ```str``` |
|
||||
|
||||
## Flags
|
||||
|
||||
| Argument | Description |
|
||||
|------------------|:------------------------------------------:|
|
||||
| ```--simulate``` | Specifies whether the command is simulated |
|
||||
|
19
docs/build/html/_sources/cli.generate.md.txt
vendored
19
docs/build/html/_sources/cli.generate.md.txt
vendored
@@ -25,11 +25,14 @@ Generates files based on a schematic.
|
||||
|
||||
## Schematics
|
||||
|
||||
| Schematic | Description | Arguments |
|
||||
| ----------------- |:-------------------:|:----------------:|
|
||||
| ```abc``` | Abstract base class | ```<name>```
|
||||
| ```class``` | Class | ```<name>```
|
||||
| ```enum``` | Enum class | ```<name>```
|
||||
| ```service``` | Service class | ```<name>```
|
||||
| ```settings``` | [Configmodel](cpl_core.configuration) | ```<name>```
|
||||
| ```thread``` | Thread class | ```<name>```
|
||||
| Schematic | Description | Arguments |
|
||||
|-----------------|:-------------------------------------:|:------------:|
|
||||
| ```abc``` | Abstract base class | ```<name>``` |
|
||||
| ```class``` | Class | ```<name>``` |
|
||||
| ```enum``` | Enum class | ```<name>``` |
|
||||
| ```pipe``` | Pipe class | ```<name>``` |
|
||||
| ```service``` | Service class | ```<name>``` |
|
||||
| ```settings``` | [Configmodel](cpl_core.configuration) | ```<name>``` |
|
||||
| ```test``` | Test class | ```<name>``` |
|
||||
| ```thread``` | Thread class | ```<name>``` |
|
||||
| ```validator``` | Validator class | ```<name>``` |
|
||||
|
14
docs/build/html/_sources/cli.install.md.txt
vendored
14
docs/build/html/_sources/cli.install.md.txt
vendored
@@ -18,6 +18,14 @@ Without given package it will install the depedencies of the CPL project your in
|
||||
|
||||
## Arguments
|
||||
|
||||
| Argument | Description | Value type |
|
||||
| ----------------- |:-----------------------------:|:-------------:|
|
||||
| ```<package>``` | The package to install | ```str``` |
|
||||
| Argument | Description | Value type |
|
||||
|-----------------|:----------------------:|:----------:|
|
||||
| ```<package>``` | The package to install | ```str``` |
|
||||
|
||||
## Flags
|
||||
|
||||
| Argument | Description |
|
||||
|------------------|:----------------------------------------------------:|
|
||||
| ```--dev``` | Specifies whether the command is in development mode |
|
||||
| ```--virtual``` | Specifies whether the command is virtual mode |
|
||||
| ```--simulate``` | Specifies whether the command is simulated |
|
||||
|
27
docs/build/html/_sources/cli.new.md.txt
vendored
27
docs/build/html/_sources/cli.new.md.txt
vendored
@@ -18,14 +18,25 @@ Generates a workspace and initial project or add a project to workspace.
|
||||
|
||||
If the command is running in a CPL workspace, it will add the new project to the workspace.
|
||||
|
||||
| Argument | Description | Value type |
|
||||
| ----------------- |:-----------------------------------------------------:|:-------------:|
|
||||
| ```<type>``` | The type of the project, see [types](#project-types) | ```str``` |
|
||||
| ```<name>``` | The name of the project | ```str``` |
|
||||
| Argument | Description | Value type |
|
||||
|--------------|:----------------------------------------------------:|:----------:|
|
||||
| ```<type>``` | The type of the project, see [types](#project-types) | ```str``` |
|
||||
| ```<name>``` | The name of the project | ```str``` |
|
||||
|
||||
## Project types
|
||||
|
||||
| Project type | Description |
|
||||
| ----------------- |:-----------------------------:|
|
||||
| ```console``` | A simple console application |
|
||||
| ```library``` | A package |
|
||||
| Project type | Description |
|
||||
|---------------|:----------------------------:|
|
||||
| ```console``` | A simple console application |
|
||||
| ```library``` | A package |
|
||||
|
||||
## Flags
|
||||
|
||||
| Argument | Description |
|
||||
|---------------------------|:-------------------------------------------:|
|
||||
| ```--async``` | Specifies whether async is used |
|
||||
| ```--application-base``` | Specifies whether application base is used |
|
||||
| ```--startup``` | Specifies whether startup is used |
|
||||
| ```--service-providing``` | Specifies whether service-providing is used |
|
||||
| ```--nothing``` | Specifies whether nothing is used |
|
||||
| ```--venv``` | Specifies whether venv is used |
|
||||
|
12
docs/build/html/_sources/cli.remove.md.txt
vendored
12
docs/build/html/_sources/cli.remove.md.txt
vendored
@@ -19,6 +19,12 @@ If you call the command in a CPL workspace, you can use the project names. Other
|
||||
|
||||
## Arguments
|
||||
|
||||
| Argument | Description | Value type |
|
||||
| ------------------------- |:-------------------------------------:|:----------------:|
|
||||
| ```<project>``` | The name of the project to delete | ```str```
|
||||
| Argument | Description | Value type |
|
||||
|-----------------|:---------------------------------:|:----------:|
|
||||
| ```<project>``` | The name of the project to delete | ```str``` |
|
||||
|
||||
## Flags
|
||||
|
||||
| Argument | Description |
|
||||
|------------------|:----------------------------------------------------:|
|
||||
| ```--simulate``` | Specifies whether the command is simulated |
|
||||
|
14
docs/build/html/_sources/cli.uninstall.md.txt
vendored
14
docs/build/html/_sources/cli.uninstall.md.txt
vendored
@@ -17,6 +17,14 @@ Uninstall given package from project via pip.
|
||||
|
||||
## Arguments
|
||||
|
||||
| Argument | Description | Value type |
|
||||
| ----------------- |:-----------------------------:|:-------------:|
|
||||
| ```<package>``` | The package to uninstall | ```str``` |
|
||||
| Argument | Description | Value type |
|
||||
|-----------------|:------------------------:|:----------:|
|
||||
| ```<package>``` | The package to uninstall | ```str``` |
|
||||
|
||||
## Flags
|
||||
|
||||
| Argument | Description |
|
||||
|------------------|:----------------------------------------------------:|
|
||||
| ```--dev``` | Specifies whether the command is in development mode |
|
||||
| ```--virtual``` | Specifies whether the command is virtual mode |
|
||||
| ```--simulate``` | Specifies whether the command is simulated |
|
||||
|
6
docs/build/html/_sources/cli.update.md.txt
vendored
6
docs/build/html/_sources/cli.update.md.txt
vendored
@@ -5,3 +5,9 @@ Updates the CPL and project dependencies.
|
||||
cpl **update** <br>
|
||||
cpl **u** <br>
|
||||
cpl **U**
|
||||
|
||||
## Flags
|
||||
|
||||
| Argument | Description |
|
||||
|------------------|:----------------------------------------------------:|
|
||||
| ```--simulate``` | Specifies whether the command is simulated |
|
||||
|
77
docs/build/html/_sources/cpl_core.pipes.rst.txt
vendored
Normal file
77
docs/build/html/_sources/cpl_core.pipes.rst.txt
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
cpl\_core.pipes
|
||||
=======================
|
||||
|
||||
Submodules
|
||||
----------
|
||||
|
||||
cpl\_core.pipes.bool\_pipe module
|
||||
---------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.bool_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.first\_char\_to\_lower\_pipe module
|
||||
---------------------------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.first_char_to_lower_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.first\_to\_upper\_pipe module
|
||||
---------------------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.first_to_upper_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.ip\_address\_pipe module
|
||||
----------------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.ip_address_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.pipe\_abc module
|
||||
--------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.pipe_abc
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.to\_camel\_case\_pipe module
|
||||
--------------------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.to_camel_case_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.to\_snake\_case\_pipe module
|
||||
--------------------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.to_snake_case_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_core.pipes.version\_pipe module
|
||||
------------------------------------
|
||||
|
||||
.. automodule:: cpl_core.pipes.version_pipe
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
Module contents
|
||||
---------------
|
||||
|
||||
.. automodule:: cpl_core.pipes
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
1
docs/build/html/_sources/cpl_core.rst.txt
vendored
1
docs/build/html/_sources/cpl_core.rst.txt
vendored
@@ -12,5 +12,6 @@ API Reference
|
||||
cpl_core.environment
|
||||
cpl_core.logging
|
||||
cpl_core.mailing
|
||||
cpl_core.pipes
|
||||
cpl_core.time
|
||||
cpl_core.utils
|
||||
|
45
docs/build/html/_sources/cpl_query.tests.rst.txt
vendored
45
docs/build/html/_sources/cpl_query.tests.rst.txt
vendored
@@ -1,45 +0,0 @@
|
||||
cpl\_query.tests package
|
||||
========================
|
||||
|
||||
Submodules
|
||||
----------
|
||||
|
||||
cpl\_query.tests.iterable\_test module
|
||||
--------------------------------------
|
||||
|
||||
.. automodule:: cpl_query.tests.iterable_test
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_query.tests.models module
|
||||
------------------------------
|
||||
|
||||
.. automodule:: cpl_query.tests.models
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_query.tests.query\_test module
|
||||
-----------------------------------
|
||||
|
||||
.. automodule:: cpl_query.tests.query_test
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
cpl\_query.tests.tester module
|
||||
------------------------------
|
||||
|
||||
.. automodule:: cpl_query.tests.tester
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
Module contents
|
||||
---------------
|
||||
|
||||
.. automodule:: cpl_query.tests
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
@@ -6,4 +6,5 @@ Getting started
|
||||
|
||||
quickstart
|
||||
setup
|
||||
tutorials
|
||||
|
||||
|
47
docs/build/html/_sources/introduction.md.txt
vendored
47
docs/build/html/_sources/introduction.md.txt
vendored
@@ -4,6 +4,53 @@ The Common Python Library (CPL) is a package for python and a development platfo
|
||||
|
||||
This CPL docs help you learn, understand and use the package. From your first application to complex apps for enterprises.
|
||||
|
||||
## Feature overview
|
||||
|
||||
- Expandle
|
||||
- Application base
|
||||
- Standardized application classes
|
||||
- Application object builder
|
||||
- Application extension classes
|
||||
- Startup classes
|
||||
- Startup extension classes
|
||||
- Configuration
|
||||
- Configure via object mapped JSON
|
||||
- Console argument handling
|
||||
- Console class for in and output
|
||||
- Banner
|
||||
- Spinner
|
||||
- Options (menu)
|
||||
- Table
|
||||
- Write
|
||||
- Write_at
|
||||
- Write_line
|
||||
- Write_line_at
|
||||
- Dependency injection
|
||||
- Service lifetimes: singleton, scoped and transient
|
||||
- Providing of application environment
|
||||
- Environment (development, staging, testing, production)
|
||||
- Appname
|
||||
- Customer
|
||||
- Hostname
|
||||
- Runtime directory
|
||||
- Working directory
|
||||
- Logging
|
||||
- Standardized logger
|
||||
- Log-level (FATAL, ERROR, WARN, INFO, DEBUG & TRACE)
|
||||
- Mail handling
|
||||
- Send mails
|
||||
- Pipe classes
|
||||
- Convert input
|
||||
- Utils
|
||||
- Credential manager
|
||||
- Encryption via BASE64
|
||||
- PIP wrapper class based on subprocess
|
||||
- Run pip commands
|
||||
- String converter to different variants
|
||||
- to_lower_case
|
||||
- to_camel_case
|
||||
- ...
|
||||
|
||||
## Explore
|
||||
|
||||
- [Getting started](quickstart)
|
||||
|
11
docs/build/html/_sources/setup.md.txt
vendored
11
docs/build/html/_sources/setup.md.txt
vendored
@@ -5,6 +5,7 @@
|
||||
1. [Prerequisites](#prerequisites)
|
||||
2. [Install the package](#install-the-package)
|
||||
3. [Install the CLI](#install-the-cli)
|
||||
3. [Install the query](#install-the-query)
|
||||
4. [Create a initial application](#create-initial-console-app)
|
||||
5. [Create a initial library](#create-initial-library)
|
||||
6. [Start the application](#start-the-app)
|
||||
@@ -26,7 +27,7 @@ Also you need to have the following installed.
|
||||
To install the package, open a terminal window and run the following command:
|
||||
|
||||
```sh
|
||||
pip install sh_cpl --extra-index-url https://pip.sh-edraft.de
|
||||
pip install sh_cpl-core --extra-index-url https://pip.sh-edraft.de
|
||||
```
|
||||
|
||||
## Install the CLI
|
||||
@@ -39,6 +40,14 @@ To install the CLI, open a terminal window and run the following command:
|
||||
pip install sh_cpl-cli --extra-index-url https://pip.sh-edraft.de
|
||||
```
|
||||
|
||||
## Install the query
|
||||
|
||||
To install the package, open a terminal window and run the following command:
|
||||
|
||||
```sh
|
||||
pip install sh_cpl-query --extra-index-url https://pip.sh-edraft.de
|
||||
```
|
||||
|
||||
## Create initial console app
|
||||
|
||||
You develop apps and packages in the context of an CPL project which is defined in an cpl_core.json.
|
||||
|
3
docs/build/html/_sources/tutorials.appsettings.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.appsettings.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Using appsettings.json
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.console-arguments.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.console-arguments.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Handle console arguments
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.console.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.console.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Use cpl_core.console.Console
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.create-startup.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.create-startup.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Create startup class
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.extend-application.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.extend-application.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Extend application
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.extend-startup.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.extend-startup.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Extend startup
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.logging.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.logging.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Use builtin logger
|
||||
|
||||
## Comming soon
|
3
docs/build/html/_sources/tutorials.mail.md.txt
vendored
Normal file
3
docs/build/html/_sources/tutorials.mail.md.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Send mails
|
||||
|
||||
## Comming soon
|
14
docs/build/html/_sources/tutorials.rst.txt
vendored
Normal file
14
docs/build/html/_sources/tutorials.rst.txt
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
Tutorials
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 4
|
||||
|
||||
tutorials.extend-application
|
||||
tutorials.create-startup
|
||||
tutorials.extend-startup
|
||||
tutorials.appsettings
|
||||
tutorials.console-arguments
|
||||
tutorials.console
|
||||
tutorials.logging
|
||||
tutorials.mail
|
134
docs/build/html/_static/_sphinx_javascript_frameworks_compat.js
vendored
Normal file
134
docs/build/html/_static/_sphinx_javascript_frameworks_compat.js
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
* _sphinx_javascript_frameworks_compat.js
|
||||
* ~~~~~~~~~~
|
||||
*
|
||||
* Compatability shim for jQuery and underscores.js.
|
||||
*
|
||||
* WILL BE REMOVED IN Sphinx 6.0
|
||||
* xref RemovedInSphinx60Warning
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* select a different prefix for underscore
|
||||
*/
|
||||
$u = _.noConflict();
|
||||
|
||||
|
||||
/**
|
||||
* small helper function to urldecode strings
|
||||
*
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
||||
*/
|
||||
jQuery.urldecode = function(x) {
|
||||
if (!x) {
|
||||
return x
|
||||
}
|
||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
||||
};
|
||||
|
||||
/**
|
||||
* small helper function to urlencode strings
|
||||
*/
|
||||
jQuery.urlencode = encodeURIComponent;
|
||||
|
||||
/**
|
||||
* This function returns the parsed url parameters of the
|
||||
* current request. Multiple values per key are supported,
|
||||
* it will always return arrays of strings for the value parts.
|
||||
*/
|
||||
jQuery.getQueryParameters = function(s) {
|
||||
if (typeof s === 'undefined')
|
||||
s = document.location.search;
|
||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||
var result = {};
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var tmp = parts[i].split('=', 2);
|
||||
var key = jQuery.urldecode(tmp[0]);
|
||||
var value = jQuery.urldecode(tmp[1]);
|
||||
if (key in result)
|
||||
result[key].push(value);
|
||||
else
|
||||
result[key] = [value];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* highlight a given string on a jquery object by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
jQuery.fn.highlightText = function(text, className) {
|
||||
function highlight(node, addItems) {
|
||||
if (node.nodeType === 3) {
|
||||
var val = node.nodeValue;
|
||||
var pos = val.toLowerCase().indexOf(text);
|
||||
if (pos >= 0 &&
|
||||
!jQuery(node.parentNode).hasClass(className) &&
|
||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
||||
var span;
|
||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.className = className;
|
||||
}
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling));
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
if (isInSVG) {
|
||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
var bbox = node.parentElement.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute('class', className);
|
||||
addItems.push({
|
||||
"parent": node.parentNode,
|
||||
"target": rect});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!jQuery(node).is("button, select, textarea")) {
|
||||
jQuery.each(node.childNodes, function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
}
|
||||
}
|
||||
var addItems = [];
|
||||
var result = this.each(function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
for (var i = 0; i < addItems.length; ++i) {
|
||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* backward compatibility for jQuery.browser
|
||||
* This will be supported until firefox bug is fixed.
|
||||
*/
|
||||
if (!jQuery.browser) {
|
||||
jQuery.uaMatch = function(ua) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(msie) ([\w.]+)/.exec(ua) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
jQuery.browser = {};
|
||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
||||
}
|
44
docs/build/html/_static/basic.css
vendored
44
docs/build/html/_static/basic.css
vendored
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
@@ -222,7 +222,7 @@ table.modindextable td {
|
||||
/* -- general body styles --------------------------------------------------- */
|
||||
|
||||
div.body {
|
||||
min-width: 450px;
|
||||
min-width: 360px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
@@ -236,7 +236,6 @@ div.body p, div.body dd, div.body li, div.body blockquote {
|
||||
a.headerlink {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
a.brackets:before,
|
||||
span.brackets > a:before{
|
||||
content: "[";
|
||||
@@ -247,6 +246,7 @@ span.brackets > a:after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
|
||||
h1:hover > a.headerlink,
|
||||
h2:hover > a.headerlink,
|
||||
h3:hover > a.headerlink,
|
||||
@@ -334,13 +334,11 @@ aside.sidebar {
|
||||
p.sidebar-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.admonition, div.topic, blockquote {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- topics ---------------------------------------------------------------- */
|
||||
|
||||
div.topic {
|
||||
border: 1px solid #ccc;
|
||||
padding: 7px;
|
||||
@@ -428,10 +426,6 @@ table.docutils td, table.docutils th {
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
table.footnote td, table.footnote th {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
padding-right: 5px;
|
||||
@@ -615,6 +609,7 @@ ul.simple p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Docutils 0.17 and older (footnotes & citations) */
|
||||
dl.footnote > dt,
|
||||
dl.citation > dt {
|
||||
float: left;
|
||||
@@ -632,6 +627,33 @@ dl.citation > dd:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* Docutils 0.18+ (footnotes & citations) */
|
||||
aside.footnote > span,
|
||||
div.citation > span {
|
||||
float: left;
|
||||
}
|
||||
aside.footnote > span:last-of-type,
|
||||
div.citation > span:last-of-type {
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
aside.footnote > p {
|
||||
margin-left: 2em;
|
||||
}
|
||||
div.citation > p {
|
||||
margin-left: 4em;
|
||||
}
|
||||
aside.footnote > p:last-of-type,
|
||||
div.citation > p:last-of-type {
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
aside.footnote > p:last-of-type:after,
|
||||
div.citation > p:last-of-type:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* Footnotes & citations ends */
|
||||
|
||||
dl.field-list {
|
||||
display: grid;
|
||||
grid-template-columns: fit-content(30%) auto;
|
||||
@@ -731,8 +753,9 @@ dl.glossary dt {
|
||||
|
||||
.classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0.5em;
|
||||
margin: 0 0.5em;
|
||||
content: ":";
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
abbr, acronym {
|
||||
@@ -756,6 +779,7 @@ span.pre {
|
||||
-ms-hyphens: none;
|
||||
-webkit-hyphens: none;
|
||||
hyphens: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div[class*="highlight-"] {
|
||||
|
451
docs/build/html/_static/doctools.js
vendored
451
docs/build/html/_static/doctools.js
vendored
@@ -2,322 +2,263 @@
|
||||
* doctools.js
|
||||
* ~~~~~~~~~~~
|
||||
*
|
||||
* Sphinx JavaScript utilities for all documentation.
|
||||
* Base JavaScript utilities for all Sphinx HTML documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* select a different prefix for underscore
|
||||
*/
|
||||
$u = _.noConflict();
|
||||
|
||||
/**
|
||||
* make the code below compatible with browsers without
|
||||
* an installed firebug like debugger
|
||||
if (!window.console || !console.firebug) {
|
||||
var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
|
||||
"dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
|
||||
"profile", "profileEnd"];
|
||||
window.console = {};
|
||||
for (var i = 0; i < names.length; ++i)
|
||||
window.console[names[i]] = function() {};
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* small helper function to urldecode strings
|
||||
*
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
||||
*/
|
||||
jQuery.urldecode = function(x) {
|
||||
if (!x) {
|
||||
return x
|
||||
const _ready = (callback) => {
|
||||
if (document.readyState !== "loading") {
|
||||
callback();
|
||||
} else {
|
||||
document.addEventListener("DOMContentLoaded", callback);
|
||||
}
|
||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
||||
};
|
||||
|
||||
/**
|
||||
* small helper function to urlencode strings
|
||||
*/
|
||||
jQuery.urlencode = encodeURIComponent;
|
||||
|
||||
/**
|
||||
* This function returns the parsed url parameters of the
|
||||
* current request. Multiple values per key are supported,
|
||||
* it will always return arrays of strings for the value parts.
|
||||
*/
|
||||
jQuery.getQueryParameters = function(s) {
|
||||
if (typeof s === 'undefined')
|
||||
s = document.location.search;
|
||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||
var result = {};
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var tmp = parts[i].split('=', 2);
|
||||
var key = jQuery.urldecode(tmp[0]);
|
||||
var value = jQuery.urldecode(tmp[1]);
|
||||
if (key in result)
|
||||
result[key].push(value);
|
||||
else
|
||||
result[key] = [value];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* highlight a given string on a jquery object by wrapping it in
|
||||
* highlight a given string on a node by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
jQuery.fn.highlightText = function(text, className) {
|
||||
function highlight(node, addItems) {
|
||||
if (node.nodeType === 3) {
|
||||
var val = node.nodeValue;
|
||||
var pos = val.toLowerCase().indexOf(text);
|
||||
if (pos >= 0 &&
|
||||
!jQuery(node.parentNode).hasClass(className) &&
|
||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
||||
var span;
|
||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.className = className;
|
||||
}
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||
const _highlight = (node, addItems, text, className) => {
|
||||
if (node.nodeType === Node.TEXT_NODE) {
|
||||
const val = node.nodeValue;
|
||||
const parent = node.parentNode;
|
||||
const pos = val.toLowerCase().indexOf(text);
|
||||
if (
|
||||
pos >= 0 &&
|
||||
!parent.classList.contains(className) &&
|
||||
!parent.classList.contains("nohighlight")
|
||||
) {
|
||||
let span;
|
||||
|
||||
const closestNode = parent.closest("body, svg, foreignObject");
|
||||
const isInSVG = closestNode && closestNode.matches("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.classList.add(className);
|
||||
}
|
||||
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
parent.insertBefore(
|
||||
span,
|
||||
parent.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling));
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
if (isInSVG) {
|
||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
var bbox = node.parentElement.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute('class', className);
|
||||
addItems.push({
|
||||
"parent": node.parentNode,
|
||||
"target": rect});
|
||||
}
|
||||
node.nextSibling
|
||||
)
|
||||
);
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
|
||||
if (isInSVG) {
|
||||
const rect = document.createElementNS(
|
||||
"http://www.w3.org/2000/svg",
|
||||
"rect"
|
||||
);
|
||||
const bbox = parent.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute("class", className);
|
||||
addItems.push({ parent: parent, target: rect });
|
||||
}
|
||||
}
|
||||
else if (!jQuery(node).is("button, select, textarea")) {
|
||||
jQuery.each(node.childNodes, function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
}
|
||||
} else if (node.matches && !node.matches("button, select, textarea")) {
|
||||
node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
|
||||
}
|
||||
var addItems = [];
|
||||
var result = this.each(function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
for (var i = 0; i < addItems.length; ++i) {
|
||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* backward compatibility for jQuery.browser
|
||||
* This will be supported until firefox bug is fixed.
|
||||
*/
|
||||
if (!jQuery.browser) {
|
||||
jQuery.uaMatch = function(ua) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(msie) ([\w.]+)/.exec(ua) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
jQuery.browser = {};
|
||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
||||
}
|
||||
const _highlightText = (thisNode, text, className) => {
|
||||
let addItems = [];
|
||||
_highlight(thisNode, addItems, text, className);
|
||||
addItems.forEach((obj) =>
|
||||
obj.parent.insertAdjacentElement("beforebegin", obj.target)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Small JavaScript module for the documentation.
|
||||
*/
|
||||
var Documentation = {
|
||||
|
||||
init : function() {
|
||||
this.fixFirefoxAnchorBug();
|
||||
this.highlightSearchWords();
|
||||
this.initIndexTable();
|
||||
if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
|
||||
this.initOnKeyListeners();
|
||||
}
|
||||
const Documentation = {
|
||||
init: () => {
|
||||
Documentation.highlightSearchWords();
|
||||
Documentation.initDomainIndexTable();
|
||||
Documentation.initOnKeyListeners();
|
||||
},
|
||||
|
||||
/**
|
||||
* i18n support
|
||||
*/
|
||||
TRANSLATIONS : {},
|
||||
PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
|
||||
LOCALE : 'unknown',
|
||||
TRANSLATIONS: {},
|
||||
PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
|
||||
LOCALE: "unknown",
|
||||
|
||||
// gettext and ngettext don't access this so that the functions
|
||||
// can safely bound to a different name (_ = Documentation.gettext)
|
||||
gettext : function(string) {
|
||||
var translated = Documentation.TRANSLATIONS[string];
|
||||
if (typeof translated === 'undefined')
|
||||
return string;
|
||||
return (typeof translated === 'string') ? translated : translated[0];
|
||||
gettext: (string) => {
|
||||
const translated = Documentation.TRANSLATIONS[string];
|
||||
switch (typeof translated) {
|
||||
case "undefined":
|
||||
return string; // no translation
|
||||
case "string":
|
||||
return translated; // translation exists
|
||||
default:
|
||||
return translated[0]; // (singular, plural) translation tuple exists
|
||||
}
|
||||
},
|
||||
|
||||
ngettext : function(singular, plural, n) {
|
||||
var translated = Documentation.TRANSLATIONS[singular];
|
||||
if (typeof translated === 'undefined')
|
||||
return (n == 1) ? singular : plural;
|
||||
return translated[Documentation.PLURALEXPR(n)];
|
||||
ngettext: (singular, plural, n) => {
|
||||
const translated = Documentation.TRANSLATIONS[singular];
|
||||
if (typeof translated !== "undefined")
|
||||
return translated[Documentation.PLURAL_EXPR(n)];
|
||||
return n === 1 ? singular : plural;
|
||||
},
|
||||
|
||||
addTranslations : function(catalog) {
|
||||
for (var key in catalog.messages)
|
||||
this.TRANSLATIONS[key] = catalog.messages[key];
|
||||
this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
|
||||
this.LOCALE = catalog.locale;
|
||||
},
|
||||
|
||||
/**
|
||||
* add context elements like header anchor links
|
||||
*/
|
||||
addContextElements : function() {
|
||||
$('div[id] > :header:first').each(function() {
|
||||
$('<a class="headerlink">\u00B6</a>').
|
||||
attr('href', '#' + this.id).
|
||||
attr('title', _('Permalink to this headline')).
|
||||
appendTo(this);
|
||||
});
|
||||
$('dt[id]').each(function() {
|
||||
$('<a class="headerlink">\u00B6</a>').
|
||||
attr('href', '#' + this.id).
|
||||
attr('title', _('Permalink to this definition')).
|
||||
appendTo(this);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* workaround a firefox stupidity
|
||||
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
|
||||
*/
|
||||
fixFirefoxAnchorBug : function() {
|
||||
if (document.location.hash && $.browser.mozilla)
|
||||
window.setTimeout(function() {
|
||||
document.location.href += '';
|
||||
}, 10);
|
||||
addTranslations: (catalog) => {
|
||||
Object.assign(Documentation.TRANSLATIONS, catalog.messages);
|
||||
Documentation.PLURAL_EXPR = new Function(
|
||||
"n",
|
||||
`return (${catalog.plural_expr})`
|
||||
);
|
||||
Documentation.LOCALE = catalog.locale;
|
||||
},
|
||||
|
||||
/**
|
||||
* highlight the search words provided in the url in the text
|
||||
*/
|
||||
highlightSearchWords : function() {
|
||||
var params = $.getQueryParameters();
|
||||
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
|
||||
if (terms.length) {
|
||||
var body = $('div.body');
|
||||
if (!body.length) {
|
||||
body = $('body');
|
||||
}
|
||||
window.setTimeout(function() {
|
||||
$.each(terms, function() {
|
||||
body.highlightText(this.toLowerCase(), 'highlighted');
|
||||
});
|
||||
}, 10);
|
||||
$('<p class="highlight-link"><a href="javascript:Documentation.' +
|
||||
'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
|
||||
.appendTo($('#searchbox'));
|
||||
}
|
||||
},
|
||||
highlightSearchWords: () => {
|
||||
const highlight =
|
||||
new URLSearchParams(window.location.search).get("highlight") || "";
|
||||
const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
|
||||
if (terms.length === 0) return; // nothing to do
|
||||
|
||||
/**
|
||||
* init the domain index toggle buttons
|
||||
*/
|
||||
initIndexTable : function() {
|
||||
var togglers = $('img.toggler').click(function() {
|
||||
var src = $(this).attr('src');
|
||||
var idnum = $(this).attr('id').substr(7);
|
||||
$('tr.cg-' + idnum).toggle();
|
||||
if (src.substr(-9) === 'minus.png')
|
||||
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
|
||||
else
|
||||
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
|
||||
}).css('display', '');
|
||||
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
|
||||
togglers.click();
|
||||
}
|
||||
// There should never be more than one element matching "div.body"
|
||||
const divBody = document.querySelectorAll("div.body");
|
||||
const body = divBody.length ? divBody[0] : document.querySelector("body");
|
||||
window.setTimeout(() => {
|
||||
terms.forEach((term) => _highlightText(body, term, "highlighted"));
|
||||
}, 10);
|
||||
|
||||
const searchBox = document.getElementById("searchbox");
|
||||
if (searchBox === null) return;
|
||||
searchBox.appendChild(
|
||||
document
|
||||
.createRange()
|
||||
.createContextualFragment(
|
||||
'<p class="highlight-link">' +
|
||||
'<a href="javascript:Documentation.hideSearchWords()">' +
|
||||
Documentation.gettext("Hide Search Matches") +
|
||||
"</a></p>"
|
||||
)
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to hide the search marks again
|
||||
*/
|
||||
hideSearchWords : function() {
|
||||
$('#searchbox .highlight-link').fadeOut(300);
|
||||
$('span.highlighted').removeClass('highlighted');
|
||||
hideSearchWords: () => {
|
||||
document
|
||||
.querySelectorAll("#searchbox .highlight-link")
|
||||
.forEach((el) => el.remove());
|
||||
document
|
||||
.querySelectorAll("span.highlighted")
|
||||
.forEach((el) => el.classList.remove("highlighted"));
|
||||
const url = new URL(window.location);
|
||||
url.searchParams.delete("highlight");
|
||||
window.history.replaceState({}, "", url);
|
||||
},
|
||||
|
||||
/**
|
||||
* make the url absolute
|
||||
* helper function to focus on search bar
|
||||
*/
|
||||
makeURL : function(relativeURL) {
|
||||
return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
|
||||
focusSearchBar: () => {
|
||||
document.querySelectorAll("input[name=q]")[0]?.focus();
|
||||
},
|
||||
|
||||
/**
|
||||
* get the current relative url
|
||||
* Initialise the domain index toggle buttons
|
||||
*/
|
||||
getCurrentURL : function() {
|
||||
var path = document.location.pathname;
|
||||
var parts = path.split(/\//);
|
||||
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
|
||||
if (this === '..')
|
||||
parts.pop();
|
||||
});
|
||||
var url = parts.join('/');
|
||||
return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
|
||||
initDomainIndexTable: () => {
|
||||
const toggler = (el) => {
|
||||
const idNumber = el.id.substr(7);
|
||||
const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
|
||||
if (el.src.substr(-9) === "minus.png") {
|
||||
el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
|
||||
toggledRows.forEach((el) => (el.style.display = "none"));
|
||||
} else {
|
||||
el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
|
||||
toggledRows.forEach((el) => (el.style.display = ""));
|
||||
}
|
||||
};
|
||||
|
||||
const togglerElements = document.querySelectorAll("img.toggler");
|
||||
togglerElements.forEach((el) =>
|
||||
el.addEventListener("click", (event) => toggler(event.currentTarget))
|
||||
);
|
||||
togglerElements.forEach((el) => (el.style.display = ""));
|
||||
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
|
||||
},
|
||||
|
||||
initOnKeyListeners: function() {
|
||||
$(document).keydown(function(event) {
|
||||
var activeElementType = document.activeElement.tagName;
|
||||
// don't navigate when in search box, textarea, dropdown or button
|
||||
if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT'
|
||||
&& activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey
|
||||
&& !event.shiftKey) {
|
||||
switch (event.keyCode) {
|
||||
case 37: // left
|
||||
var prevHref = $('link[rel="prev"]').prop('href');
|
||||
if (prevHref) {
|
||||
window.location.href = prevHref;
|
||||
return false;
|
||||
initOnKeyListeners: () => {
|
||||
// only install a listener if it is really needed
|
||||
if (
|
||||
!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
|
||||
!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
|
||||
)
|
||||
return;
|
||||
|
||||
const blacklistedElements = new Set([
|
||||
"TEXTAREA",
|
||||
"INPUT",
|
||||
"SELECT",
|
||||
"BUTTON",
|
||||
]);
|
||||
document.addEventListener("keydown", (event) => {
|
||||
if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements
|
||||
if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys
|
||||
|
||||
if (!event.shiftKey) {
|
||||
switch (event.key) {
|
||||
case "ArrowLeft":
|
||||
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
||||
|
||||
const prevLink = document.querySelector('link[rel="prev"]');
|
||||
if (prevLink && prevLink.href) {
|
||||
window.location.href = prevLink.href;
|
||||
event.preventDefault();
|
||||
}
|
||||
break;
|
||||
case 39: // right
|
||||
var nextHref = $('link[rel="next"]').prop('href');
|
||||
if (nextHref) {
|
||||
window.location.href = nextHref;
|
||||
return false;
|
||||
case "ArrowRight":
|
||||
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
||||
|
||||
const nextLink = document.querySelector('link[rel="next"]');
|
||||
if (nextLink && nextLink.href) {
|
||||
window.location.href = nextLink.href;
|
||||
event.preventDefault();
|
||||
}
|
||||
break;
|
||||
case "Escape":
|
||||
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
||||
Documentation.hideSearchWords();
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
// some keyboard layouts may need Shift to get /
|
||||
switch (event.key) {
|
||||
case "/":
|
||||
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
||||
Documentation.focusSearchBar();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
// quick alias for translations
|
||||
_ = Documentation.gettext;
|
||||
const _ = Documentation.gettext;
|
||||
|
||||
$(document).ready(function() {
|
||||
Documentation.init();
|
||||
});
|
||||
_ready(Documentation.init);
|
||||
|
@@ -1,12 +1,14 @@
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||
VERSION: '',
|
||||
LANGUAGE: 'None',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
FILE_SUFFIX: '.html',
|
||||
LINK_SUFFIX: '.html',
|
||||
HAS_SOURCE: true,
|
||||
SOURCELINK_SUFFIX: '.txt',
|
||||
NAVIGATION_WITH_KEYS: false
|
||||
NAVIGATION_WITH_KEYS: false,
|
||||
SHOW_SEARCH_SUMMARY: true,
|
||||
ENABLE_SEARCH_SHORTCUTS: false,
|
||||
};
|
@@ -1,15 +1,15 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v3.5.1
|
||||
* jQuery JavaScript Library v3.6.0
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright JS Foundation and other contributors
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2020-05-04T22:49Z
|
||||
* Date: 2021-03-02T17:08Z
|
||||
*/
|
||||
( function( global, factory ) {
|
||||
|
||||
@@ -76,12 +76,16 @@ var support = {};
|
||||
|
||||
var isFunction = function isFunction( obj ) {
|
||||
|
||||
// Support: Chrome <=57, Firefox <=52
|
||||
// In some browsers, typeof returns "function" for HTML <object> elements
|
||||
// (i.e., `typeof document.createElement( "object" ) === "function"`).
|
||||
// We don't want to classify *any* DOM node as a function.
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
// Support: Chrome <=57, Firefox <=52
|
||||
// In some browsers, typeof returns "function" for HTML <object> elements
|
||||
// (i.e., `typeof document.createElement( "object" ) === "function"`).
|
||||
// We don't want to classify *any* DOM node as a function.
|
||||
// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
|
||||
// Plus for old WebKit, typeof returns "function" for HTML collections
|
||||
// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number" &&
|
||||
typeof obj.item !== "function";
|
||||
};
|
||||
|
||||
|
||||
var isWindow = function isWindow( obj ) {
|
||||
@@ -147,7 +151,7 @@ function toType( obj ) {
|
||||
|
||||
|
||||
var
|
||||
version = "3.5.1",
|
||||
version = "3.6.0",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
@@ -401,7 +405,7 @@ jQuery.extend( {
|
||||
if ( isArrayLike( Object( arr ) ) ) {
|
||||
jQuery.merge( ret,
|
||||
typeof arr === "string" ?
|
||||
[ arr ] : arr
|
||||
[ arr ] : arr
|
||||
);
|
||||
} else {
|
||||
push.call( ret, arr );
|
||||
@@ -496,9 +500,9 @@ if ( typeof Symbol === "function" ) {
|
||||
|
||||
// Populate the class2type map
|
||||
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
|
||||
function( _i, name ) {
|
||||
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
||||
} );
|
||||
function( _i, name ) {
|
||||
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
||||
} );
|
||||
|
||||
function isArrayLike( obj ) {
|
||||
|
||||
@@ -518,14 +522,14 @@ function isArrayLike( obj ) {
|
||||
}
|
||||
var Sizzle =
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.3.5
|
||||
* Sizzle CSS Selector Engine v2.3.6
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright JS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://js.foundation/
|
||||
*
|
||||
* Date: 2020-03-14
|
||||
* Date: 2021-02-16
|
||||
*/
|
||||
( function( window ) {
|
||||
var i,
|
||||
@@ -1108,8 +1112,8 @@ support = Sizzle.support = {};
|
||||
* @returns {Boolean} True iff elem is a non-HTML XML node
|
||||
*/
|
||||
isXML = Sizzle.isXML = function( elem ) {
|
||||
var namespace = elem.namespaceURI,
|
||||
docElem = ( elem.ownerDocument || elem ).documentElement;
|
||||
var namespace = elem && elem.namespaceURI,
|
||||
docElem = elem && ( elem.ownerDocument || elem ).documentElement;
|
||||
|
||||
// Support: IE <=8
|
||||
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
|
||||
@@ -3024,9 +3028,9 @@ var rneedsContext = jQuery.expr.match.needsContext;
|
||||
|
||||
function nodeName( elem, name ) {
|
||||
|
||||
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
|
||||
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
|
||||
|
||||
};
|
||||
}
|
||||
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
|
||||
|
||||
|
||||
@@ -3997,8 +4001,8 @@ jQuery.extend( {
|
||||
resolveContexts = Array( i ),
|
||||
resolveValues = slice.call( arguments ),
|
||||
|
||||
// the master Deferred
|
||||
master = jQuery.Deferred(),
|
||||
// the primary Deferred
|
||||
primary = jQuery.Deferred(),
|
||||
|
||||
// subordinate callback factory
|
||||
updateFunc = function( i ) {
|
||||
@@ -4006,30 +4010,30 @@ jQuery.extend( {
|
||||
resolveContexts[ i ] = this;
|
||||
resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
|
||||
if ( !( --remaining ) ) {
|
||||
master.resolveWith( resolveContexts, resolveValues );
|
||||
primary.resolveWith( resolveContexts, resolveValues );
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
// Single- and empty arguments are adopted like Promise.resolve
|
||||
if ( remaining <= 1 ) {
|
||||
adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
|
||||
adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
|
||||
!remaining );
|
||||
|
||||
// Use .then() to unwrap secondary thenables (cf. gh-3000)
|
||||
if ( master.state() === "pending" ||
|
||||
if ( primary.state() === "pending" ||
|
||||
isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
|
||||
|
||||
return master.then();
|
||||
return primary.then();
|
||||
}
|
||||
}
|
||||
|
||||
// Multiple arguments are aggregated like Promise.all array elements
|
||||
while ( i-- ) {
|
||||
adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
|
||||
adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
|
||||
}
|
||||
|
||||
return master.promise();
|
||||
return primary.promise();
|
||||
}
|
||||
} );
|
||||
|
||||
@@ -4180,8 +4184,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
|
||||
for ( ; i < len; i++ ) {
|
||||
fn(
|
||||
elems[ i ], key, raw ?
|
||||
value :
|
||||
value.call( elems[ i ], i, fn( elems[ i ], key ) )
|
||||
value :
|
||||
value.call( elems[ i ], i, fn( elems[ i ], key ) )
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -5089,10 +5093,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
|
||||
}
|
||||
|
||||
|
||||
var
|
||||
rkeyEvent = /^key/,
|
||||
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
|
||||
rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
|
||||
var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
|
||||
|
||||
function returnTrue() {
|
||||
return true;
|
||||
@@ -5387,8 +5388,8 @@ jQuery.event = {
|
||||
event = jQuery.event.fix( nativeEvent ),
|
||||
|
||||
handlers = (
|
||||
dataPriv.get( this, "events" ) || Object.create( null )
|
||||
)[ event.type ] || [],
|
||||
dataPriv.get( this, "events" ) || Object.create( null )
|
||||
)[ event.type ] || [],
|
||||
special = jQuery.event.special[ event.type ] || {};
|
||||
|
||||
// Use the fix-ed jQuery.Event rather than the (read-only) native event
|
||||
@@ -5512,12 +5513,12 @@ jQuery.event = {
|
||||
get: isFunction( hook ) ?
|
||||
function() {
|
||||
if ( this.originalEvent ) {
|
||||
return hook( this.originalEvent );
|
||||
return hook( this.originalEvent );
|
||||
}
|
||||
} :
|
||||
function() {
|
||||
if ( this.originalEvent ) {
|
||||
return this.originalEvent[ name ];
|
||||
return this.originalEvent[ name ];
|
||||
}
|
||||
},
|
||||
|
||||
@@ -5656,7 +5657,13 @@ function leverageNative( el, type, expectSync ) {
|
||||
// Cancel the outer synthetic event
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
return result.value;
|
||||
|
||||
// Support: Chrome 86+
|
||||
// In Chrome, if an element having a focusout handler is blurred by
|
||||
// clicking outside of it, it invokes the handler synchronously. If
|
||||
// that handler calls `.remove()` on the element, the data is cleared,
|
||||
// leaving `result` undefined. We need to guard against this.
|
||||
return result && result.value;
|
||||
}
|
||||
|
||||
// If this is an inner synthetic event for an event with a bubbling surrogate
|
||||
@@ -5821,34 +5828,7 @@ jQuery.each( {
|
||||
targetTouches: true,
|
||||
toElement: true,
|
||||
touches: true,
|
||||
|
||||
which: function( event ) {
|
||||
var button = event.button;
|
||||
|
||||
// Add which for key events
|
||||
if ( event.which == null && rkeyEvent.test( event.type ) ) {
|
||||
return event.charCode != null ? event.charCode : event.keyCode;
|
||||
}
|
||||
|
||||
// Add which for click: 1 === left; 2 === middle; 3 === right
|
||||
if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
|
||||
if ( button & 1 ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( button & 2 ) {
|
||||
return 3;
|
||||
}
|
||||
|
||||
if ( button & 4 ) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return event.which;
|
||||
}
|
||||
which: true
|
||||
}, jQuery.event.addProp );
|
||||
|
||||
jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
|
||||
@@ -5874,6 +5854,12 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
|
||||
return true;
|
||||
},
|
||||
|
||||
// Suppress native focus or blur as it's already being fired
|
||||
// in leverageNative.
|
||||
_default: function() {
|
||||
return true;
|
||||
},
|
||||
|
||||
delegateType: delegateType
|
||||
};
|
||||
} );
|
||||
@@ -6541,6 +6527,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
||||
// set in CSS while `offset*` properties report correct values.
|
||||
// Behavior in IE 9 is more subtle than in newer versions & it passes
|
||||
// some versions of this test; make sure not to make it pass there!
|
||||
//
|
||||
// Support: Firefox 70+
|
||||
// Only Firefox includes border widths
|
||||
// in computed dimensions. (gh-4529)
|
||||
reliableTrDimensions: function() {
|
||||
var table, tr, trChild, trStyle;
|
||||
if ( reliableTrDimensionsVal == null ) {
|
||||
@@ -6548,17 +6538,32 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
||||
tr = document.createElement( "tr" );
|
||||
trChild = document.createElement( "div" );
|
||||
|
||||
table.style.cssText = "position:absolute;left:-11111px";
|
||||
table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
|
||||
tr.style.cssText = "border:1px solid";
|
||||
|
||||
// Support: Chrome 86+
|
||||
// Height set through cssText does not get applied.
|
||||
// Computed height then comes back as 0.
|
||||
tr.style.height = "1px";
|
||||
trChild.style.height = "9px";
|
||||
|
||||
// Support: Android 8 Chrome 86+
|
||||
// In our bodyBackground.html iframe,
|
||||
// display for all div elements is set to "inline",
|
||||
// which causes a problem only in Android 8 Chrome 86.
|
||||
// Ensuring the div is display: block
|
||||
// gets around this issue.
|
||||
trChild.style.display = "block";
|
||||
|
||||
documentElement
|
||||
.appendChild( table )
|
||||
.appendChild( tr )
|
||||
.appendChild( trChild );
|
||||
|
||||
trStyle = window.getComputedStyle( tr );
|
||||
reliableTrDimensionsVal = parseInt( trStyle.height ) > 3;
|
||||
reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
|
||||
parseInt( trStyle.borderTopWidth, 10 ) +
|
||||
parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
|
||||
|
||||
documentElement.removeChild( table );
|
||||
}
|
||||
@@ -7022,10 +7027,10 @@ jQuery.each( [ "height", "width" ], function( _i, dimension ) {
|
||||
// Running getBoundingClientRect on a disconnected node
|
||||
// in IE throws an error.
|
||||
( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
|
||||
swap( elem, cssShow, function() {
|
||||
return getWidthOrHeight( elem, dimension, extra );
|
||||
} ) :
|
||||
getWidthOrHeight( elem, dimension, extra );
|
||||
swap( elem, cssShow, function() {
|
||||
return getWidthOrHeight( elem, dimension, extra );
|
||||
} ) :
|
||||
getWidthOrHeight( elem, dimension, extra );
|
||||
}
|
||||
},
|
||||
|
||||
@@ -7084,7 +7089,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
|
||||
swap( elem, { marginLeft: 0 }, function() {
|
||||
return elem.getBoundingClientRect().left;
|
||||
} )
|
||||
) + "px";
|
||||
) + "px";
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -7223,7 +7228,7 @@ Tween.propHooks = {
|
||||
if ( jQuery.fx.step[ tween.prop ] ) {
|
||||
jQuery.fx.step[ tween.prop ]( tween );
|
||||
} else if ( tween.elem.nodeType === 1 && (
|
||||
jQuery.cssHooks[ tween.prop ] ||
|
||||
jQuery.cssHooks[ tween.prop ] ||
|
||||
tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
|
||||
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
||||
} else {
|
||||
@@ -7468,7 +7473,7 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
|
||||
anim.done( function() {
|
||||
|
||||
/* eslint-enable no-loop-func */
|
||||
/* eslint-enable no-loop-func */
|
||||
|
||||
// The final step of a "hide" animation is actually hiding the element
|
||||
if ( !hidden ) {
|
||||
@@ -7588,7 +7593,7 @@ function Animation( elem, properties, options ) {
|
||||
tweens: [],
|
||||
createTween: function( prop, end ) {
|
||||
var tween = jQuery.Tween( elem, animation.opts, prop, end,
|
||||
animation.opts.specialEasing[ prop ] || animation.opts.easing );
|
||||
animation.opts.specialEasing[ prop ] || animation.opts.easing );
|
||||
animation.tweens.push( tween );
|
||||
return tween;
|
||||
},
|
||||
@@ -7761,7 +7766,8 @@ jQuery.fn.extend( {
|
||||
anim.stop( true );
|
||||
}
|
||||
};
|
||||
doAnimation.finish = doAnimation;
|
||||
|
||||
doAnimation.finish = doAnimation;
|
||||
|
||||
return empty || optall.queue === false ?
|
||||
this.each( doAnimation ) :
|
||||
@@ -8401,8 +8407,8 @@ jQuery.fn.extend( {
|
||||
if ( this.setAttribute ) {
|
||||
this.setAttribute( "class",
|
||||
className || value === false ?
|
||||
"" :
|
||||
dataPriv.get( this, "__className__" ) || ""
|
||||
"" :
|
||||
dataPriv.get( this, "__className__" ) || ""
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -8417,7 +8423,7 @@ jQuery.fn.extend( {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
if ( elem.nodeType === 1 &&
|
||||
( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8707,9 +8713,7 @@ jQuery.extend( jQuery.event, {
|
||||
special.bindType || type;
|
||||
|
||||
// jQuery handler
|
||||
handle = (
|
||||
dataPriv.get( cur, "events" ) || Object.create( null )
|
||||
)[ event.type ] &&
|
||||
handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
|
||||
dataPriv.get( cur, "handle" );
|
||||
if ( handle ) {
|
||||
handle.apply( cur, data );
|
||||
@@ -8856,7 +8860,7 @@ var rquery = ( /\?/ );
|
||||
|
||||
// Cross-browser xml parsing
|
||||
jQuery.parseXML = function( data ) {
|
||||
var xml;
|
||||
var xml, parserErrorElem;
|
||||
if ( !data || typeof data !== "string" ) {
|
||||
return null;
|
||||
}
|
||||
@@ -8865,12 +8869,17 @@ jQuery.parseXML = function( data ) {
|
||||
// IE throws on parseFromString with invalid input.
|
||||
try {
|
||||
xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
|
||||
} catch ( e ) {
|
||||
xml = undefined;
|
||||
}
|
||||
} catch ( e ) {}
|
||||
|
||||
if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
|
||||
jQuery.error( "Invalid XML: " + data );
|
||||
parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
|
||||
if ( !xml || parserErrorElem ) {
|
||||
jQuery.error( "Invalid XML: " + (
|
||||
parserErrorElem ?
|
||||
jQuery.map( parserErrorElem.childNodes, function( el ) {
|
||||
return el.textContent;
|
||||
} ).join( "\n" ) :
|
||||
data
|
||||
) );
|
||||
}
|
||||
return xml;
|
||||
};
|
||||
@@ -8971,16 +8980,14 @@ jQuery.fn.extend( {
|
||||
// Can add propHook for "elements" to filter or add form elements
|
||||
var elements = jQuery.prop( this, "elements" );
|
||||
return elements ? jQuery.makeArray( elements ) : this;
|
||||
} )
|
||||
.filter( function() {
|
||||
} ).filter( function() {
|
||||
var type = this.type;
|
||||
|
||||
// Use .is( ":disabled" ) so that fieldset[disabled] works
|
||||
return this.name && !jQuery( this ).is( ":disabled" ) &&
|
||||
rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
|
||||
( this.checked || !rcheckableType.test( type ) );
|
||||
} )
|
||||
.map( function( _i, elem ) {
|
||||
} ).map( function( _i, elem ) {
|
||||
var val = jQuery( this ).val();
|
||||
|
||||
if ( val == null ) {
|
||||
@@ -9033,7 +9040,8 @@ var
|
||||
|
||||
// Anchor tag for parsing the document origin
|
||||
originAnchor = document.createElement( "a" );
|
||||
originAnchor.href = location.href;
|
||||
|
||||
originAnchor.href = location.href;
|
||||
|
||||
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
|
||||
function addToPrefiltersOrTransports( structure ) {
|
||||
@@ -9414,8 +9422,8 @@ jQuery.extend( {
|
||||
// Context for global events is callbackContext if it is a DOM node or jQuery collection
|
||||
globalEventContext = s.context &&
|
||||
( callbackContext.nodeType || callbackContext.jquery ) ?
|
||||
jQuery( callbackContext ) :
|
||||
jQuery.event,
|
||||
jQuery( callbackContext ) :
|
||||
jQuery.event,
|
||||
|
||||
// Deferreds
|
||||
deferred = jQuery.Deferred(),
|
||||
@@ -9727,8 +9735,10 @@ jQuery.extend( {
|
||||
response = ajaxHandleResponses( s, jqXHR, responses );
|
||||
}
|
||||
|
||||
// Use a noop converter for missing script
|
||||
if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) {
|
||||
// Use a noop converter for missing script but not if jsonp
|
||||
if ( !isSuccess &&
|
||||
jQuery.inArray( "script", s.dataTypes ) > -1 &&
|
||||
jQuery.inArray( "json", s.dataTypes ) < 0 ) {
|
||||
s.converters[ "text script" ] = function() {};
|
||||
}
|
||||
|
||||
@@ -10466,12 +10476,6 @@ jQuery.offset = {
|
||||
options.using.call( elem, props );
|
||||
|
||||
} else {
|
||||
if ( typeof props.top === "number" ) {
|
||||
props.top += "px";
|
||||
}
|
||||
if ( typeof props.left === "number" ) {
|
||||
props.left += "px";
|
||||
}
|
||||
curElem.css( props );
|
||||
}
|
||||
}
|
||||
@@ -10640,8 +10644,11 @@ jQuery.each( [ "top", "left" ], function( _i, prop ) {
|
||||
|
||||
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
|
||||
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
||||
jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
|
||||
function( defaultExtra, funcName ) {
|
||||
jQuery.each( {
|
||||
padding: "inner" + name,
|
||||
content: type,
|
||||
"": "outer" + name
|
||||
}, function( defaultExtra, funcName ) {
|
||||
|
||||
// Margin is only for outerHeight, outerWidth
|
||||
jQuery.fn[ funcName ] = function( margin, value ) {
|
||||
@@ -10726,7 +10733,8 @@ jQuery.fn.extend( {
|
||||
}
|
||||
} );
|
||||
|
||||
jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
|
||||
jQuery.each(
|
||||
( "blur focus focusin focusout resize scroll click dblclick " +
|
||||
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
|
||||
"change select submit keydown keypress keyup contextmenu" ).split( " " ),
|
||||
function( _i, name ) {
|
||||
@@ -10737,7 +10745,8 @@ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
|
||||
this.on( name, null, data, fn ) :
|
||||
this.trigger( name );
|
||||
};
|
||||
} );
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
4
docs/build/html/_static/jquery.js
vendored
4
docs/build/html/_static/jquery.js
vendored
File diff suppressed because one or more lines are too long
102
docs/build/html/_static/language_data.js
vendored
102
docs/build/html/_static/language_data.js
vendored
@@ -5,12 +5,12 @@
|
||||
* This script contains the language-specific data used by searchtools.js,
|
||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
|
||||
var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
|
||||
|
||||
|
||||
/* Non-minified version is copied as a separate JS file, is available */
|
||||
@@ -197,101 +197,3 @@ var Stemmer = function() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var splitChars = (function() {
|
||||
var result = {};
|
||||
var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
|
||||
1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
|
||||
2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
|
||||
2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
|
||||
3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
|
||||
3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
|
||||
4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
|
||||
8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
|
||||
11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
|
||||
43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
|
||||
var i, j, start, end;
|
||||
for (i = 0; i < singles.length; i++) {
|
||||
result[singles[i]] = true;
|
||||
}
|
||||
var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
|
||||
[722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
|
||||
[1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
|
||||
[1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
|
||||
[1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
|
||||
[2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
|
||||
[2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
|
||||
[2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
|
||||
[2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
|
||||
[2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
|
||||
[2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
|
||||
[2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
|
||||
[3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
|
||||
[3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
|
||||
[3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
|
||||
[3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
|
||||
[3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
|
||||
[3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
|
||||
[4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
|
||||
[4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
|
||||
[4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
|
||||
[4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
|
||||
[5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
|
||||
[6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
|
||||
[6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
|
||||
[6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
|
||||
[6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
|
||||
[7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
|
||||
[7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
|
||||
[8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
|
||||
[8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
|
||||
[8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
|
||||
[10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
|
||||
[11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
|
||||
[12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
|
||||
[12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
|
||||
[12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
|
||||
[19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
|
||||
[42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
|
||||
[42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
|
||||
[43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
|
||||
[43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
|
||||
[43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
|
||||
[43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
|
||||
[44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
|
||||
[57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
|
||||
[64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
|
||||
[65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
|
||||
[65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
|
||||
for (i = 0; i < ranges.length; i++) {
|
||||
start = ranges[i][0];
|
||||
end = ranges[i][1];
|
||||
for (j = start; j <= end; j++) {
|
||||
result[j] = true;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
})();
|
||||
|
||||
function splitQuery(query) {
|
||||
var result = [];
|
||||
var start = -1;
|
||||
for (var i = 0; i < query.length; i++) {
|
||||
if (splitChars[query.charCodeAt(i)]) {
|
||||
if (start !== -1) {
|
||||
result.push(query.slice(start, i));
|
||||
start = -1;
|
||||
}
|
||||
} else if (start === -1) {
|
||||
start = i;
|
||||
}
|
||||
}
|
||||
if (start !== -1) {
|
||||
result.push(query.slice(start));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
34
docs/build/html/_static/pygments.css
vendored
34
docs/build/html/_static/pygments.css
vendored
@@ -5,22 +5,22 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
|
||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #f8f8f8; }
|
||||
.highlight .c { color: #408080; font-style: italic } /* Comment */
|
||||
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gr { color: #E40000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #888888 } /* Generic.Output */
|
||||
.highlight .gi { color: #008400 } /* Generic.Inserted */
|
||||
.highlight .go { color: #717171 } /* Generic.Output */
|
||||
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
@@ -33,15 +33,15 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
.highlight .kt { color: #B00040 } /* Keyword.Type */
|
||||
.highlight .m { color: #666666 } /* Literal.Number */
|
||||
.highlight .s { color: #BA2121 } /* Literal.String */
|
||||
.highlight .na { color: #7D9029 } /* Name.Attribute */
|
||||
.highlight .na { color: #687822 } /* Name.Attribute */
|
||||
.highlight .nb { color: #008000 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #880000 } /* Name.Constant */
|
||||
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
||||
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #0000FF } /* Name.Function */
|
||||
.highlight .nl { color: #A0A000 } /* Name.Label */
|
||||
.highlight .nl { color: #767600 } /* Name.Label */
|
||||
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #19177C } /* Name.Variable */
|
||||
@@ -58,11 +58,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
|
773
docs/build/html/_static/searchtools.js
vendored
773
docs/build/html/_static/searchtools.js
vendored
@@ -4,22 +4,24 @@
|
||||
*
|
||||
* Sphinx JavaScript utilities for the full-text search.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
if (!Scorer) {
|
||||
/**
|
||||
* Simple result scoring code.
|
||||
*/
|
||||
/**
|
||||
* Simple result scoring code.
|
||||
*/
|
||||
if (typeof Scorer === "undefined") {
|
||||
var Scorer = {
|
||||
// Implement the following function to further tweak the score for each result
|
||||
// The function takes a result array [filename, title, anchor, descr, score]
|
||||
// The function takes a result array [docname, title, anchor, descr, score, filename]
|
||||
// and returns the new score.
|
||||
/*
|
||||
score: function(result) {
|
||||
return result[4];
|
||||
score: result => {
|
||||
const [docname, title, anchor, descr, score, filename] = result
|
||||
return score
|
||||
},
|
||||
*/
|
||||
|
||||
@@ -28,9 +30,11 @@ if (!Scorer) {
|
||||
// or matches in the last dotted part of the object name
|
||||
objPartialMatch: 6,
|
||||
// Additive scores depending on the priority of the object
|
||||
objPrio: {0: 15, // used to be importantResults
|
||||
1: 5, // used to be objectResults
|
||||
2: -5}, // used to be unimportantResults
|
||||
objPrio: {
|
||||
0: 15, // used to be importantResults
|
||||
1: 5, // used to be objectResults
|
||||
2: -5, // used to be unimportantResults
|
||||
},
|
||||
// Used when the priority is not in the mapping.
|
||||
objPrioDefault: 0,
|
||||
|
||||
@@ -39,455 +43,455 @@ if (!Scorer) {
|
||||
partialTitle: 7,
|
||||
// query found in terms
|
||||
term: 5,
|
||||
partialTerm: 2
|
||||
partialTerm: 2,
|
||||
};
|
||||
}
|
||||
|
||||
if (!splitQuery) {
|
||||
function splitQuery(query) {
|
||||
return query.split(/\s+/);
|
||||
const _removeChildren = (element) => {
|
||||
while (element && element.lastChild) element.removeChild(element.lastChild);
|
||||
};
|
||||
|
||||
/**
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
|
||||
*/
|
||||
const _escapeRegExp = (string) =>
|
||||
string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
|
||||
|
||||
const _displayItem = (item, highlightTerms, searchTerms) => {
|
||||
const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
|
||||
const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
|
||||
const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
|
||||
const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
|
||||
const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
|
||||
|
||||
const [docName, title, anchor, descr] = item;
|
||||
|
||||
let listItem = document.createElement("li");
|
||||
let requestUrl;
|
||||
let linkUrl;
|
||||
if (docBuilder === "dirhtml") {
|
||||
// dirhtml builder
|
||||
let dirname = docName + "/";
|
||||
if (dirname.match(/\/index\/$/))
|
||||
dirname = dirname.substring(0, dirname.length - 6);
|
||||
else if (dirname === "index/") dirname = "";
|
||||
requestUrl = docUrlRoot + dirname;
|
||||
linkUrl = requestUrl;
|
||||
} else {
|
||||
// normal html builders
|
||||
requestUrl = docUrlRoot + docName + docFileSuffix;
|
||||
linkUrl = docName + docLinkSuffix;
|
||||
}
|
||||
const params = new URLSearchParams();
|
||||
params.set("highlight", [...highlightTerms].join(" "));
|
||||
let linkEl = listItem.appendChild(document.createElement("a"));
|
||||
linkEl.href = linkUrl + "?" + params.toString() + anchor;
|
||||
linkEl.innerHTML = title;
|
||||
if (descr)
|
||||
listItem.appendChild(document.createElement("span")).innerText =
|
||||
" (" + descr + ")";
|
||||
else if (showSearchSummary)
|
||||
fetch(requestUrl)
|
||||
.then((responseData) => responseData.text())
|
||||
.then((data) => {
|
||||
if (data)
|
||||
listItem.appendChild(
|
||||
Search.makeSearchSummary(data, searchTerms, highlightTerms)
|
||||
);
|
||||
});
|
||||
Search.output.appendChild(listItem);
|
||||
};
|
||||
const _finishSearch = (resultCount) => {
|
||||
Search.stopPulse();
|
||||
Search.title.innerText = _("Search Results");
|
||||
if (!resultCount)
|
||||
Search.status.innerText = Documentation.gettext(
|
||||
"Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
|
||||
);
|
||||
else
|
||||
Search.status.innerText = _(
|
||||
`Search finished, found ${resultCount} page(s) matching the search query.`
|
||||
);
|
||||
};
|
||||
const _displayNextItem = (
|
||||
results,
|
||||
resultCount,
|
||||
highlightTerms,
|
||||
searchTerms
|
||||
) => {
|
||||
// results left, load the summary and display it
|
||||
// this is intended to be dynamic (don't sub resultsCount)
|
||||
if (results.length) {
|
||||
_displayItem(results.pop(), highlightTerms, searchTerms);
|
||||
setTimeout(
|
||||
() => _displayNextItem(results, resultCount, highlightTerms, searchTerms),
|
||||
5
|
||||
);
|
||||
}
|
||||
// search finished, update title and status message
|
||||
else _finishSearch(resultCount);
|
||||
};
|
||||
|
||||
/**
|
||||
* Default splitQuery function. Can be overridden in ``sphinx.search`` with a
|
||||
* custom function per language.
|
||||
*
|
||||
* The regular expression works by splitting the string on consecutive characters
|
||||
* that are not Unicode letters, numbers, underscores, or emoji characters.
|
||||
* This is the same as ``\W+`` in Python, preserving the surrogate pair area.
|
||||
*/
|
||||
if (typeof splitQuery === "undefined") {
|
||||
var splitQuery = (query) => query
|
||||
.split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
|
||||
.filter(term => term) // remove remaining empty strings
|
||||
}
|
||||
|
||||
/**
|
||||
* Search Module
|
||||
*/
|
||||
var Search = {
|
||||
const Search = {
|
||||
_index: null,
|
||||
_queued_query: null,
|
||||
_pulse_status: -1,
|
||||
|
||||
_index : null,
|
||||
_queued_query : null,
|
||||
_pulse_status : -1,
|
||||
|
||||
htmlToText : function(htmlString) {
|
||||
var virtualDocument = document.implementation.createHTMLDocument('virtual');
|
||||
var htmlElement = $(htmlString, virtualDocument);
|
||||
htmlElement.find('.headerlink').remove();
|
||||
docContent = htmlElement.find('[role=main]')[0];
|
||||
if(docContent === undefined) {
|
||||
console.warn("Content block not found. Sphinx search tries to obtain it " +
|
||||
"via '[role=main]'. Could you check your theme or template.");
|
||||
return "";
|
||||
}
|
||||
return docContent.textContent || docContent.innerText;
|
||||
htmlToText: (htmlString) => {
|
||||
const htmlElement = document
|
||||
.createRange()
|
||||
.createContextualFragment(htmlString);
|
||||
_removeChildren(htmlElement.querySelectorAll(".headerlink"));
|
||||
const docContent = htmlElement.querySelector('[role="main"]');
|
||||
if (docContent !== undefined) return docContent.textContent;
|
||||
console.warn(
|
||||
"Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
|
||||
);
|
||||
return "";
|
||||
},
|
||||
|
||||
init : function() {
|
||||
var params = $.getQueryParameters();
|
||||
if (params.q) {
|
||||
var query = params.q[0];
|
||||
$('input[name="q"]')[0].value = query;
|
||||
this.performSearch(query);
|
||||
}
|
||||
init: () => {
|
||||
const query = new URLSearchParams(window.location.search).get("q");
|
||||
document
|
||||
.querySelectorAll('input[name="q"]')
|
||||
.forEach((el) => (el.value = query));
|
||||
if (query) Search.performSearch(query);
|
||||
},
|
||||
|
||||
loadIndex : function(url) {
|
||||
$.ajax({type: "GET", url: url, data: null,
|
||||
dataType: "script", cache: true,
|
||||
complete: function(jqxhr, textstatus) {
|
||||
if (textstatus != "success") {
|
||||
document.getElementById("searchindexloader").src = url;
|
||||
}
|
||||
}});
|
||||
},
|
||||
loadIndex: (url) =>
|
||||
(document.body.appendChild(document.createElement("script")).src = url),
|
||||
|
||||
setIndex : function(index) {
|
||||
var q;
|
||||
this._index = index;
|
||||
if ((q = this._queued_query) !== null) {
|
||||
this._queued_query = null;
|
||||
Search.query(q);
|
||||
setIndex: (index) => {
|
||||
Search._index = index;
|
||||
if (Search._queued_query !== null) {
|
||||
const query = Search._queued_query;
|
||||
Search._queued_query = null;
|
||||
Search.query(query);
|
||||
}
|
||||
},
|
||||
|
||||
hasIndex : function() {
|
||||
return this._index !== null;
|
||||
},
|
||||
hasIndex: () => Search._index !== null,
|
||||
|
||||
deferQuery : function(query) {
|
||||
this._queued_query = query;
|
||||
},
|
||||
deferQuery: (query) => (Search._queued_query = query),
|
||||
|
||||
stopPulse : function() {
|
||||
this._pulse_status = 0;
|
||||
},
|
||||
stopPulse: () => (Search._pulse_status = -1),
|
||||
|
||||
startPulse : function() {
|
||||
if (this._pulse_status >= 0)
|
||||
return;
|
||||
function pulse() {
|
||||
var i;
|
||||
startPulse: () => {
|
||||
if (Search._pulse_status >= 0) return;
|
||||
|
||||
const pulse = () => {
|
||||
Search._pulse_status = (Search._pulse_status + 1) % 4;
|
||||
var dotString = '';
|
||||
for (i = 0; i < Search._pulse_status; i++)
|
||||
dotString += '.';
|
||||
Search.dots.text(dotString);
|
||||
if (Search._pulse_status > -1)
|
||||
window.setTimeout(pulse, 500);
|
||||
}
|
||||
Search.dots.innerText = ".".repeat(Search._pulse_status);
|
||||
if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
|
||||
};
|
||||
pulse();
|
||||
},
|
||||
|
||||
/**
|
||||
* perform a search for something (or wait until index is loaded)
|
||||
*/
|
||||
performSearch : function(query) {
|
||||
performSearch: (query) => {
|
||||
// create the required interface elements
|
||||
this.out = $('#search-results');
|
||||
this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
|
||||
this.dots = $('<span></span>').appendTo(this.title);
|
||||
this.status = $('<p class="search-summary"> </p>').appendTo(this.out);
|
||||
this.output = $('<ul class="search"/>').appendTo(this.out);
|
||||
const searchText = document.createElement("h2");
|
||||
searchText.textContent = _("Searching");
|
||||
const searchSummary = document.createElement("p");
|
||||
searchSummary.classList.add("search-summary");
|
||||
searchSummary.innerText = "";
|
||||
const searchList = document.createElement("ul");
|
||||
searchList.classList.add("search");
|
||||
|
||||
$('#search-progress').text(_('Preparing search...'));
|
||||
this.startPulse();
|
||||
const out = document.getElementById("search-results");
|
||||
Search.title = out.appendChild(searchText);
|
||||
Search.dots = Search.title.appendChild(document.createElement("span"));
|
||||
Search.status = out.appendChild(searchSummary);
|
||||
Search.output = out.appendChild(searchList);
|
||||
|
||||
const searchProgress = document.getElementById("search-progress");
|
||||
// Some themes don't use the search progress node
|
||||
if (searchProgress) {
|
||||
searchProgress.innerText = _("Preparing search...");
|
||||
}
|
||||
Search.startPulse();
|
||||
|
||||
// index already loaded, the browser was quick!
|
||||
if (this.hasIndex())
|
||||
this.query(query);
|
||||
else
|
||||
this.deferQuery(query);
|
||||
if (Search.hasIndex()) Search.query(query);
|
||||
else Search.deferQuery(query);
|
||||
},
|
||||
|
||||
/**
|
||||
* execute search (requires search index to be loaded)
|
||||
*/
|
||||
query : function(query) {
|
||||
var i;
|
||||
query: (query) => {
|
||||
// stem the search terms and add them to the correct list
|
||||
const stemmer = new Stemmer();
|
||||
const searchTerms = new Set();
|
||||
const excludedTerms = new Set();
|
||||
const highlightTerms = new Set();
|
||||
const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
|
||||
splitQuery(query.trim()).forEach((queryTerm) => {
|
||||
const queryTermLower = queryTerm.toLowerCase();
|
||||
|
||||
// stem the searchterms and add them to the correct list
|
||||
var stemmer = new Stemmer();
|
||||
var searchterms = [];
|
||||
var excluded = [];
|
||||
var hlterms = [];
|
||||
var tmp = splitQuery(query);
|
||||
var objectterms = [];
|
||||
for (i = 0; i < tmp.length; i++) {
|
||||
if (tmp[i] !== "") {
|
||||
objectterms.push(tmp[i].toLowerCase());
|
||||
}
|
||||
// maybe skip this "word"
|
||||
// stopwords array is from language_data.js
|
||||
if (
|
||||
stopwords.indexOf(queryTermLower) !== -1 ||
|
||||
queryTerm.match(/^\d+$/)
|
||||
)
|
||||
return;
|
||||
|
||||
if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i] === "") {
|
||||
// skip this "word"
|
||||
continue;
|
||||
}
|
||||
// stem the word
|
||||
var word = stemmer.stemWord(tmp[i].toLowerCase());
|
||||
// prevent stemmer from cutting word smaller than two chars
|
||||
if(word.length < 3 && tmp[i].length >= 3) {
|
||||
word = tmp[i];
|
||||
}
|
||||
var toAppend;
|
||||
let word = stemmer.stemWord(queryTermLower);
|
||||
// select the correct list
|
||||
if (word[0] == '-') {
|
||||
toAppend = excluded;
|
||||
word = word.substr(1);
|
||||
}
|
||||
if (word[0] === "-") excludedTerms.add(word.substr(1));
|
||||
else {
|
||||
toAppend = searchterms;
|
||||
hlterms.push(tmp[i].toLowerCase());
|
||||
searchTerms.add(word);
|
||||
highlightTerms.add(queryTermLower);
|
||||
}
|
||||
// only add if not already in the list
|
||||
if (!$u.contains(toAppend, word))
|
||||
toAppend.push(word);
|
||||
}
|
||||
var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
|
||||
});
|
||||
|
||||
// console.debug('SEARCH: searching for:');
|
||||
// console.info('required: ', searchterms);
|
||||
// console.info('excluded: ', excluded);
|
||||
// console.debug("SEARCH: searching for:");
|
||||
// console.info("required: ", [...searchTerms]);
|
||||
// console.info("excluded: ", [...excludedTerms]);
|
||||
|
||||
// prepare search
|
||||
var terms = this._index.terms;
|
||||
var titleterms = this._index.titleterms;
|
||||
|
||||
// array of [filename, title, anchor, descr, score]
|
||||
var results = [];
|
||||
$('#search-progress').empty();
|
||||
// array of [docname, title, anchor, descr, score, filename]
|
||||
let results = [];
|
||||
_removeChildren(document.getElementById("search-progress"));
|
||||
|
||||
// lookup as object
|
||||
for (i = 0; i < objectterms.length; i++) {
|
||||
var others = [].concat(objectterms.slice(0, i),
|
||||
objectterms.slice(i+1, objectterms.length));
|
||||
results = results.concat(this.performObjectSearch(objectterms[i], others));
|
||||
}
|
||||
objectTerms.forEach((term) =>
|
||||
results.push(...Search.performObjectSearch(term, objectTerms))
|
||||
);
|
||||
|
||||
// lookup as search terms in fulltext
|
||||
results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
|
||||
results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
|
||||
|
||||
// let the scorer override scores with a custom scoring function
|
||||
if (Scorer.score) {
|
||||
for (i = 0; i < results.length; i++)
|
||||
results[i][4] = Scorer.score(results[i]);
|
||||
}
|
||||
if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
|
||||
|
||||
// now sort the results by score (in opposite order of appearance, since the
|
||||
// display function below uses pop() to retrieve items) and then
|
||||
// alphabetically
|
||||
results.sort(function(a, b) {
|
||||
var left = a[4];
|
||||
var right = b[4];
|
||||
if (left > right) {
|
||||
return 1;
|
||||
} else if (left < right) {
|
||||
return -1;
|
||||
} else {
|
||||
results.sort((a, b) => {
|
||||
const leftScore = a[4];
|
||||
const rightScore = b[4];
|
||||
if (leftScore === rightScore) {
|
||||
// same score: sort alphabetically
|
||||
left = a[1].toLowerCase();
|
||||
right = b[1].toLowerCase();
|
||||
return (left > right) ? -1 : ((left < right) ? 1 : 0);
|
||||
const leftTitle = a[1].toLowerCase();
|
||||
const rightTitle = b[1].toLowerCase();
|
||||
if (leftTitle === rightTitle) return 0;
|
||||
return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
|
||||
}
|
||||
return leftScore > rightScore ? 1 : -1;
|
||||
});
|
||||
|
||||
// remove duplicate search results
|
||||
// note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
|
||||
let seen = new Set();
|
||||
results = results.reverse().reduce((acc, result) => {
|
||||
let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
|
||||
if (!seen.has(resultStr)) {
|
||||
acc.push(result);
|
||||
seen.add(resultStr);
|
||||
}
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
results = results.reverse();
|
||||
|
||||
// for debugging
|
||||
//Search.lastresults = results.slice(); // a copy
|
||||
//console.info('search results:', Search.lastresults);
|
||||
// console.info("search results:", Search.lastresults);
|
||||
|
||||
// print the results
|
||||
var resultCount = results.length;
|
||||
function displayNextItem() {
|
||||
// results left, load the summary and display it
|
||||
if (results.length) {
|
||||
var item = results.pop();
|
||||
var listItem = $('<li></li>');
|
||||
var requestUrl = "";
|
||||
var linkUrl = "";
|
||||
if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
|
||||
// dirhtml builder
|
||||
var dirname = item[0] + '/';
|
||||
if (dirname.match(/\/index\/$/)) {
|
||||
dirname = dirname.substring(0, dirname.length-6);
|
||||
} else if (dirname == 'index/') {
|
||||
dirname = '';
|
||||
}
|
||||
requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + dirname;
|
||||
linkUrl = requestUrl;
|
||||
|
||||
} else {
|
||||
// normal html builders
|
||||
requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
|
||||
linkUrl = item[0] + DOCUMENTATION_OPTIONS.LINK_SUFFIX;
|
||||
}
|
||||
listItem.append($('<a/>').attr('href',
|
||||
linkUrl +
|
||||
highlightstring + item[2]).html(item[1]));
|
||||
if (item[3]) {
|
||||
listItem.append($('<span> (' + item[3] + ')</span>'));
|
||||
Search.output.append(listItem);
|
||||
setTimeout(function() {
|
||||
displayNextItem();
|
||||
}, 5);
|
||||
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
|
||||
$.ajax({url: requestUrl,
|
||||
dataType: "text",
|
||||
complete: function(jqxhr, textstatus) {
|
||||
var data = jqxhr.responseText;
|
||||
if (data !== '' && data !== undefined) {
|
||||
var summary = Search.makeSearchSummary(data, searchterms, hlterms);
|
||||
if (summary) {
|
||||
listItem.append(summary);
|
||||
}
|
||||
}
|
||||
Search.output.append(listItem);
|
||||
setTimeout(function() {
|
||||
displayNextItem();
|
||||
}, 5);
|
||||
}});
|
||||
} else {
|
||||
// no source available, just display title
|
||||
Search.output.append(listItem);
|
||||
setTimeout(function() {
|
||||
displayNextItem();
|
||||
}, 5);
|
||||
}
|
||||
}
|
||||
// search finished, update title and status message
|
||||
else {
|
||||
Search.stopPulse();
|
||||
Search.title.text(_('Search Results'));
|
||||
if (!resultCount)
|
||||
Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
|
||||
else
|
||||
Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
|
||||
Search.status.fadeIn(500);
|
||||
}
|
||||
}
|
||||
displayNextItem();
|
||||
_displayNextItem(results, results.length, highlightTerms, searchTerms);
|
||||
},
|
||||
|
||||
/**
|
||||
* search for object names
|
||||
*/
|
||||
performObjectSearch : function(object, otherterms) {
|
||||
var filenames = this._index.filenames;
|
||||
var docnames = this._index.docnames;
|
||||
var objects = this._index.objects;
|
||||
var objnames = this._index.objnames;
|
||||
var titles = this._index.titles;
|
||||
performObjectSearch: (object, objectTerms) => {
|
||||
const filenames = Search._index.filenames;
|
||||
const docNames = Search._index.docnames;
|
||||
const objects = Search._index.objects;
|
||||
const objNames = Search._index.objnames;
|
||||
const titles = Search._index.titles;
|
||||
|
||||
var i;
|
||||
var results = [];
|
||||
const results = [];
|
||||
|
||||
for (var prefix in objects) {
|
||||
for (var name in objects[prefix]) {
|
||||
var fullname = (prefix ? prefix + '.' : '') + name;
|
||||
var fullnameLower = fullname.toLowerCase()
|
||||
if (fullnameLower.indexOf(object) > -1) {
|
||||
var score = 0;
|
||||
var parts = fullnameLower.split('.');
|
||||
// check for different match types: exact matches of full name or
|
||||
// "last name" (i.e. last dotted part)
|
||||
if (fullnameLower == object || parts[parts.length - 1] == object) {
|
||||
score += Scorer.objNameMatch;
|
||||
// matches in last name
|
||||
} else if (parts[parts.length - 1].indexOf(object) > -1) {
|
||||
score += Scorer.objPartialMatch;
|
||||
}
|
||||
var match = objects[prefix][name];
|
||||
var objname = objnames[match[1]][2];
|
||||
var title = titles[match[0]];
|
||||
// If more than one term searched for, we require other words to be
|
||||
// found in the name/title/description
|
||||
if (otherterms.length > 0) {
|
||||
var haystack = (prefix + ' ' + name + ' ' +
|
||||
objname + ' ' + title).toLowerCase();
|
||||
var allfound = true;
|
||||
for (i = 0; i < otherterms.length; i++) {
|
||||
if (haystack.indexOf(otherterms[i]) == -1) {
|
||||
allfound = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!allfound) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var descr = objname + _(', in ') + title;
|
||||
const objectSearchCallback = (prefix, match) => {
|
||||
const name = match[4]
|
||||
const fullname = (prefix ? prefix + "." : "") + name;
|
||||
const fullnameLower = fullname.toLowerCase();
|
||||
if (fullnameLower.indexOf(object) < 0) return;
|
||||
|
||||
var anchor = match[3];
|
||||
if (anchor === '')
|
||||
anchor = fullname;
|
||||
else if (anchor == '-')
|
||||
anchor = objnames[match[1]][1] + '-' + fullname;
|
||||
// add custom score for some objects according to scorer
|
||||
if (Scorer.objPrio.hasOwnProperty(match[2])) {
|
||||
score += Scorer.objPrio[match[2]];
|
||||
} else {
|
||||
score += Scorer.objPrioDefault;
|
||||
}
|
||||
results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
|
||||
}
|
||||
let score = 0;
|
||||
const parts = fullnameLower.split(".");
|
||||
|
||||
// check for different match types: exact matches of full name or
|
||||
// "last name" (i.e. last dotted part)
|
||||
if (fullnameLower === object || parts.slice(-1)[0] === object)
|
||||
score += Scorer.objNameMatch;
|
||||
else if (parts.slice(-1)[0].indexOf(object) > -1)
|
||||
score += Scorer.objPartialMatch; // matches in last name
|
||||
|
||||
const objName = objNames[match[1]][2];
|
||||
const title = titles[match[0]];
|
||||
|
||||
// If more than one term searched for, we require other words to be
|
||||
// found in the name/title/description
|
||||
const otherTerms = new Set(objectTerms);
|
||||
otherTerms.delete(object);
|
||||
if (otherTerms.size > 0) {
|
||||
const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
|
||||
if (
|
||||
[...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
|
||||
)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
let anchor = match[3];
|
||||
if (anchor === "") anchor = fullname;
|
||||
else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
|
||||
|
||||
const descr = objName + _(", in ") + title;
|
||||
|
||||
// add custom score for some objects according to scorer
|
||||
if (Scorer.objPrio.hasOwnProperty(match[2]))
|
||||
score += Scorer.objPrio[match[2]];
|
||||
else score += Scorer.objPrioDefault;
|
||||
|
||||
results.push([
|
||||
docNames[match[0]],
|
||||
fullname,
|
||||
"#" + anchor,
|
||||
descr,
|
||||
score,
|
||||
filenames[match[0]],
|
||||
]);
|
||||
};
|
||||
Object.keys(objects).forEach((prefix) =>
|
||||
objects[prefix].forEach((array) =>
|
||||
objectSearchCallback(prefix, array)
|
||||
)
|
||||
);
|
||||
return results;
|
||||
},
|
||||
|
||||
/**
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
|
||||
*/
|
||||
escapeRegExp : function(string) {
|
||||
return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
||||
},
|
||||
|
||||
/**
|
||||
* search for full-text terms in the index
|
||||
*/
|
||||
performTermsSearch : function(searchterms, excluded, terms, titleterms) {
|
||||
var docnames = this._index.docnames;
|
||||
var filenames = this._index.filenames;
|
||||
var titles = this._index.titles;
|
||||
performTermsSearch: (searchTerms, excludedTerms) => {
|
||||
// prepare search
|
||||
const terms = Search._index.terms;
|
||||
const titleTerms = Search._index.titleterms;
|
||||
const docNames = Search._index.docnames;
|
||||
const filenames = Search._index.filenames;
|
||||
const titles = Search._index.titles;
|
||||
|
||||
var i, j, file;
|
||||
var fileMap = {};
|
||||
var scoreMap = {};
|
||||
var results = [];
|
||||
const scoreMap = new Map();
|
||||
const fileMap = new Map();
|
||||
|
||||
// perform the search on the required terms
|
||||
for (i = 0; i < searchterms.length; i++) {
|
||||
var word = searchterms[i];
|
||||
var files = [];
|
||||
var _o = [
|
||||
{files: terms[word], score: Scorer.term},
|
||||
{files: titleterms[word], score: Scorer.title}
|
||||
searchTerms.forEach((word) => {
|
||||
const files = [];
|
||||
const arr = [
|
||||
{ files: terms[word], score: Scorer.term },
|
||||
{ files: titleTerms[word], score: Scorer.title },
|
||||
];
|
||||
// add support for partial matches
|
||||
if (word.length > 2) {
|
||||
var word_regex = this.escapeRegExp(word);
|
||||
for (var w in terms) {
|
||||
if (w.match(word_regex) && !terms[word]) {
|
||||
_o.push({files: terms[w], score: Scorer.partialTerm})
|
||||
}
|
||||
}
|
||||
for (var w in titleterms) {
|
||||
if (w.match(word_regex) && !titleterms[word]) {
|
||||
_o.push({files: titleterms[w], score: Scorer.partialTitle})
|
||||
}
|
||||
}
|
||||
const escapedWord = _escapeRegExp(word);
|
||||
Object.keys(terms).forEach((term) => {
|
||||
if (term.match(escapedWord) && !terms[word])
|
||||
arr.push({ files: terms[term], score: Scorer.partialTerm });
|
||||
});
|
||||
Object.keys(titleTerms).forEach((term) => {
|
||||
if (term.match(escapedWord) && !titleTerms[word])
|
||||
arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
|
||||
});
|
||||
}
|
||||
|
||||
// no match but word was a required one
|
||||
if ($u.every(_o, function(o){return o.files === undefined;})) {
|
||||
break;
|
||||
}
|
||||
if (arr.every((record) => record.files === undefined)) return;
|
||||
|
||||
// found search word in contents
|
||||
$u.each(_o, function(o) {
|
||||
var _files = o.files;
|
||||
if (_files === undefined)
|
||||
return
|
||||
arr.forEach((record) => {
|
||||
if (record.files === undefined) return;
|
||||
|
||||
if (_files.length === undefined)
|
||||
_files = [_files];
|
||||
files = files.concat(_files);
|
||||
let recordFiles = record.files;
|
||||
if (recordFiles.length === undefined) recordFiles = [recordFiles];
|
||||
files.push(...recordFiles);
|
||||
|
||||
// set score for the word in each file to Scorer.term
|
||||
for (j = 0; j < _files.length; j++) {
|
||||
file = _files[j];
|
||||
if (!(file in scoreMap))
|
||||
scoreMap[file] = {};
|
||||
scoreMap[file][word] = o.score;
|
||||
}
|
||||
// set score for the word in each file
|
||||
recordFiles.forEach((file) => {
|
||||
if (!scoreMap.has(file)) scoreMap.set(file, {});
|
||||
scoreMap.get(file)[word] = record.score;
|
||||
});
|
||||
});
|
||||
|
||||
// create the mapping
|
||||
for (j = 0; j < files.length; j++) {
|
||||
file = files[j];
|
||||
if (file in fileMap && fileMap[file].indexOf(word) === -1)
|
||||
fileMap[file].push(word);
|
||||
else
|
||||
fileMap[file] = [word];
|
||||
}
|
||||
}
|
||||
files.forEach((file) => {
|
||||
if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
|
||||
fileMap.get(file).push(word);
|
||||
else fileMap.set(file, [word]);
|
||||
});
|
||||
});
|
||||
|
||||
// now check if the files don't contain excluded terms
|
||||
for (file in fileMap) {
|
||||
var valid = true;
|
||||
|
||||
const results = [];
|
||||
for (const [file, wordList] of fileMap) {
|
||||
// check if all requirements are matched
|
||||
var filteredTermCount = // as search terms with length < 3 are discarded: ignore
|
||||
searchterms.filter(function(term){return term.length > 2}).length
|
||||
|
||||
// as search terms with length < 3 are discarded
|
||||
const filteredTermCount = [...searchTerms].filter(
|
||||
(term) => term.length > 2
|
||||
).length;
|
||||
if (
|
||||
fileMap[file].length != searchterms.length &&
|
||||
fileMap[file].length != filteredTermCount
|
||||
) continue;
|
||||
wordList.length !== searchTerms.size &&
|
||||
wordList.length !== filteredTermCount
|
||||
)
|
||||
continue;
|
||||
|
||||
// ensure that none of the excluded terms is in the search result
|
||||
for (i = 0; i < excluded.length; i++) {
|
||||
if (terms[excluded[i]] == file ||
|
||||
titleterms[excluded[i]] == file ||
|
||||
$u.contains(terms[excluded[i]] || [], file) ||
|
||||
$u.contains(titleterms[excluded[i]] || [], file)) {
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (
|
||||
[...excludedTerms].some(
|
||||
(term) =>
|
||||
terms[term] === file ||
|
||||
titleTerms[term] === file ||
|
||||
(terms[term] || []).includes(file) ||
|
||||
(titleTerms[term] || []).includes(file)
|
||||
)
|
||||
)
|
||||
break;
|
||||
|
||||
// if we have still a valid result we can add it to the result list
|
||||
if (valid) {
|
||||
// select one (max) score for the file.
|
||||
// for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
|
||||
var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
|
||||
results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
|
||||
}
|
||||
// select one (max) score for the file.
|
||||
const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
|
||||
// add result to the result list
|
||||
results.push([
|
||||
docNames[file],
|
||||
titles[file],
|
||||
"",
|
||||
null,
|
||||
score,
|
||||
filenames[file],
|
||||
]);
|
||||
}
|
||||
return results;
|
||||
},
|
||||
@@ -495,34 +499,33 @@ var Search = {
|
||||
/**
|
||||
* helper function to return a node containing the
|
||||
* search summary for a given text. keywords is a list
|
||||
* of stemmed words, hlwords is the list of normal, unstemmed
|
||||
* of stemmed words, highlightWords is the list of normal, unstemmed
|
||||
* words. the first one is used to find the occurrence, the
|
||||
* latter for highlighting it.
|
||||
*/
|
||||
makeSearchSummary : function(htmlText, keywords, hlwords) {
|
||||
var text = Search.htmlToText(htmlText);
|
||||
if (text == "") {
|
||||
return null;
|
||||
}
|
||||
var textLower = text.toLowerCase();
|
||||
var start = 0;
|
||||
$.each(keywords, function() {
|
||||
var i = textLower.indexOf(this.toLowerCase());
|
||||
if (i > -1)
|
||||
start = i;
|
||||
});
|
||||
start = Math.max(start - 120, 0);
|
||||
var excerpt = ((start > 0) ? '...' : '') +
|
||||
$.trim(text.substr(start, 240)) +
|
||||
((start + 240 - text.length) ? '...' : '');
|
||||
var rv = $('<p class="context"></p>').text(excerpt);
|
||||
$.each(hlwords, function() {
|
||||
rv = rv.highlightText(this, 'highlighted');
|
||||
});
|
||||
return rv;
|
||||
}
|
||||
makeSearchSummary: (htmlText, keywords, highlightWords) => {
|
||||
const text = Search.htmlToText(htmlText).toLowerCase();
|
||||
if (text === "") return null;
|
||||
|
||||
const actualStartPosition = [...keywords]
|
||||
.map((k) => text.indexOf(k.toLowerCase()))
|
||||
.filter((i) => i > -1)
|
||||
.slice(-1)[0];
|
||||
const startWithContext = Math.max(actualStartPosition - 120, 0);
|
||||
|
||||
const top = startWithContext === 0 ? "" : "...";
|
||||
const tail = startWithContext + 240 < text.length ? "..." : "";
|
||||
|
||||
let summary = document.createElement("div");
|
||||
summary.classList.add("context");
|
||||
summary.innerText = top + text.substr(startWithContext, 240).trim() + tail;
|
||||
|
||||
highlightWords.forEach((highlightWord) =>
|
||||
_highlightText(summary, highlightWord, "highlighted")
|
||||
);
|
||||
|
||||
return summary;
|
||||
},
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
Search.init();
|
||||
});
|
||||
_ready(Search.init);
|
||||
|
60
docs/build/html/cli.add.html
vendored
60
docs/build/html/cli.add.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl add — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -45,6 +47,7 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#contents">Contents</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#arguments">Arguments</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.build.html">cpl build</a></li>
|
||||
@@ -89,46 +92,61 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-add">
|
||||
<h1>cpl add<a class="headerlink" href="#cpl-add" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-add">
|
||||
<h1>cpl add<a class="headerlink" href="#cpl-add" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><a class="reference external" href="#arguments">Arguments</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
<li><p><span class="xref myst">Arguments</span></p></li>
|
||||
</ul>
|
||||
<p>Removes a project from workspace.</p>
|
||||
<p>cpl <strong>add</strong> <em><source-project></em> <em><target-project></em> <br>
|
||||
cpl <strong>a</strong> <em><source-project></em> <em><target-project></em> <br>
|
||||
cpl <strong>A</strong> <em><source-project></em> <em><target-project></em></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Adds a project reference to given project.</p>
|
||||
<p>If you call the command in a CPL workspace, you can use the project names. Otherwise the paths of the projects must be specified.</p>
|
||||
</div>
|
||||
<div class="section" id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><source-project></span></code></p></td>
|
||||
<td class="text-align:center"><p>Name of the project to which the reference has to be added</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>Name of the project to which the reference has to be added</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre"><target-project></span></code></p></td>
|
||||
<td class="text-align:center"><p>Name of the project to be referenced</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>Name of the project to be referenced</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="flags">
|
||||
<h2>Flags<a class="headerlink" href="#flags" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--simulate</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is simulated</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
24
docs/build/html/cli.build.html
vendored
24
docs/build/html/cli.build.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl build — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -88,21 +90,21 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-build">
|
||||
<h1>cpl build<a class="headerlink" href="#cpl-build" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-build">
|
||||
<h1>cpl build<a class="headerlink" href="#cpl-build" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
</ul>
|
||||
<!-- - [Arguments](#arguments) -->
|
||||
<p>Copies an python app into an output directory named build/ at the given output path. Must be executed within a CPL workspace or project directory</p>
|
||||
<p>cpl <strong>build</strong> <br>
|
||||
cpl <strong>b</strong> <br>
|
||||
cpl <strong>B</strong></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>The command can be used to build a project of type “console” or “library”.</p>
|
||||
<p>The build command copies all included source files to the output directory. You can run the source files in the output directory directly.</p>
|
||||
<p>The command is used to prepare the source files for the publish command or to copy them to an target for execution.</p>
|
||||
@@ -111,8 +113,8 @@ cpl <strong>B</strong></p>
|
||||
| Argument | Description | Value type |
|
||||
| ------------- |:-------------:|:----------------:|
|
||||
| ```<project>``` | The name of the project to build. Can be an console or a library. | ```str``` -->
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
96
docs/build/html/cli.generate.html
vendored
96
docs/build/html/cli.generate.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl generate — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -90,83 +92,95 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-generate">
|
||||
<h1>cpl generate<a class="headerlink" href="#cpl-generate" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-generate">
|
||||
<h1>cpl generate<a class="headerlink" href="#cpl-generate" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><a class="reference external" href="#arguments">Arguments</a></p></li>
|
||||
<li><p><a class="reference external" href="#schematics">Schematics</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
<li><p><span class="xref myst">Arguments</span></p></li>
|
||||
<li><p><span class="xref myst">Schematics</span></p></li>
|
||||
</ul>
|
||||
<p>Generate a file based on schematic.</p>
|
||||
<p>cpl <strong>generate</strong> <em><schematic></em> <em><name></em> <br>
|
||||
cpl <strong>g</strong> <em><schematic></em> <em><name></em> <br>
|
||||
cpl <strong>G</strong> <em><schematic></em> <em><name></em></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Generates files based on a schematic.</p>
|
||||
</div>
|
||||
<div class="section" id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><schematic></span></code></p></td>
|
||||
<td class="text-align:center"><p>The schematic to generate.</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The schematic to generate.</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<td class="text-align:center"><p>The name of the generated file.</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The name of the generated file.</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="schematics">
|
||||
<h2>Schematics<a class="headerlink" href="#schematics" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="schematics">
|
||||
<h2>Schematics<a class="headerlink" href="#schematics" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Schematic</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Arguments</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Arguments</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">abc</span></code></p></td>
|
||||
<td class="text-align:center"><p>Abstract base class</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<td class="text-center"><p>Abstract base class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">class</span></code></p></td>
|
||||
<td class="text-align:center"><p>Class</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<td class="text-center"><p>Class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">enum</span></code></p></td>
|
||||
<td class="text-align:center"><p>Enum class</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<td class="text-center"><p>Enum class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">service</span></code></p></td>
|
||||
<td class="text-align:center"><p>Service class</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">pipe</span></code></p></td>
|
||||
<td class="text-center"><p>Pipe class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">settings</span></code></p></td>
|
||||
<td class="text-align:center"><p><a class="reference internal" href="cpl_core.configuration.html"><span class="doc std std-doc">Configmodel</span></a></p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">service</span></code></p></td>
|
||||
<td class="text-center"><p>Service class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">settings</span></code></p></td>
|
||||
<td class="text-center"><p><a class="reference internal" href="cpl_core.configuration.html"><span class="doc std std-doc">Configmodel</span></a></p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">test</span></code></p></td>
|
||||
<td class="text-center"><p>Test class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">thread</span></code></p></td>
|
||||
<td class="text-align:center"><p>Thread class</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<td class="text-center"><p>Thread class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">validator</span></code></p></td>
|
||||
<td class="text-center"><p>Validator class</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
30
docs/build/html/cli.help.html
vendored
30
docs/build/html/cli.help.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl help — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -88,8 +90,8 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-help">
|
||||
<h1>cpl help<a class="headerlink" href="#cpl-help" title="Permalink to this headline"></a></h1>
|
||||
<section id="cpl-help">
|
||||
<h1>cpl help<a class="headerlink" href="#cpl-help" title="Permalink to this heading"></a></h1>
|
||||
<!-- ## Contents
|
||||
|
||||
- [Description](#description) -->
|
||||
@@ -98,28 +100,28 @@
|
||||
<p>cpl <strong>help</strong> <em><command></em> <br>
|
||||
cpl <strong>h</strong> <em><command></em> <br>
|
||||
cpl <strong>H</strong> <em><command></em></p>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Lists available command and their short descriptions.</p>
|
||||
</div>
|
||||
<div class="section" id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><command></span></code></p></td>
|
||||
<td class="text-align:center"><p>Shows a help message for this command in the console.</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>Shows a help message for this command in the console.</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
62
docs/build/html/cli.install.html
vendored
62
docs/build/html/cli.install.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl install — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -49,6 +51,7 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#contents">Contents</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#arguments">Arguments</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.new.html">cpl new</a></li>
|
||||
@@ -89,42 +92,63 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-install">
|
||||
<h1>cpl install<a class="headerlink" href="#cpl-install" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-install">
|
||||
<h1>cpl install<a class="headerlink" href="#cpl-install" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><a class="reference external" href="#arguments">Arguments</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
<li><p><span class="xref myst">Arguments</span></p></li>
|
||||
</ul>
|
||||
<p>Installs given package via pip</p>
|
||||
<p>cpl <strong>install</strong> <em><package></em> <br>
|
||||
cpl <strong>i</strong> <em><package></em> <br>
|
||||
cpl <strong>I</strong> <em><package></em></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Install given package to project via pip.
|
||||
Without given package it will install the depedencies of the CPL project your in.</p>
|
||||
</div>
|
||||
<div class="section" id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><package></span></code></p></td>
|
||||
<td class="text-align:center"><p>The package to install</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The package to install</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="flags">
|
||||
<h2>Flags<a class="headerlink" href="#flags" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--dev</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is in development mode</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">--virtual</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is virtual mode</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--simulate</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is simulated</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
83
docs/build/html/cli.new.html
vendored
83
docs/build/html/cli.new.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl new — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -50,6 +52,7 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#contents">Contents</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#project-types">Project types</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.publish.html">cpl publish</a></li>
|
||||
@@ -89,62 +92,92 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-new">
|
||||
<h1>cpl new<a class="headerlink" href="#cpl-new" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-new">
|
||||
<h1>cpl new<a class="headerlink" href="#cpl-new" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><a class="reference external" href="#arguments">Arguments</a></p></li>
|
||||
<li><p><a class="reference external" href="#project-types">Project types</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
<li><p><span class="xref myst">Arguments</span></p></li>
|
||||
<li><p><span class="xref myst">Project types</span></p></li>
|
||||
</ul>
|
||||
<p>Generates a workspace and initial project or add a project to workspace.</p>
|
||||
<p>cpl <strong>new</strong> <em><type></em> <em><name></em><br>
|
||||
cpl <strong>n</strong> <em><type></em> <em><name></em> <br>
|
||||
cpl <strong>N</strong> <em><type></em> <em><name></em></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Generates a workspace and initial project or add a project to workspace.</p>
|
||||
<p>If the command is running in a CPL workspace, it will add the new project to the workspace.</p>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><type></span></code></p></td>
|
||||
<td class="text-align:center"><p>The type of the project, see <a class="reference external" href="#project-types">types</a></p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The type of the project, see <span class="xref myst">types</span></p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre"><name></span></code></p></td>
|
||||
<td class="text-align:center"><p>The name of the project</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The name of the project</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="project-types">
|
||||
<h2>Project types<a class="headerlink" href="#project-types" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="project-types">
|
||||
<h2>Project types<a class="headerlink" href="#project-types" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Project type</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">console</span></code></p></td>
|
||||
<td class="text-align:center"><p>A simple console application</p></td>
|
||||
<td class="text-center"><p>A simple console application</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">library</span></code></p></td>
|
||||
<td class="text-align:center"><p>A package</p></td>
|
||||
<td class="text-center"><p>A package</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="flags">
|
||||
<h2>Flags<a class="headerlink" href="#flags" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--async</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether async is used</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">--application-base</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether application base is used</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--startup</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether startup is used</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">--service-providing</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether service-providing is used</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--nothing</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether nothing is used</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">--venv</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether venv is used</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
110
docs/build/html/cli.overview.html
vendored
110
docs/build/html/cli.overview.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>CLI Overview and Command Reference — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -94,20 +96,20 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cli-overview-and-command-reference">
|
||||
<h1>CLI Overview and Command Reference<a class="headerlink" href="#cli-overview-and-command-reference" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="table-of-contents">
|
||||
<h2>Table of Contents<a class="headerlink" href="#table-of-contents" title="Permalink to this headline"></a></h2>
|
||||
<ol class="simple">
|
||||
<li><p><a class="reference external" href="setup#install-the-package">Install CPL</a></p></li>
|
||||
<li><p><a class="reference external" href="setup#install-the-cli">Install CPL CLI</a></p></li>
|
||||
<li><p><a class="reference external" href="#basic-workflow">Basic workflow</a></p></li>
|
||||
<li><p><a class="reference external" href="#cli-command-language-syntax">CLI command-language syntax</a></p></li>
|
||||
<li><p><a class="reference external" href="#command-overview">Command overview</a></p></li>
|
||||
<section id="cli-overview-and-command-reference">
|
||||
<h1>CLI Overview and Command Reference<a class="headerlink" href="#cli-overview-and-command-reference" title="Permalink to this heading"></a></h1>
|
||||
<section id="table-of-contents">
|
||||
<h2>Table of Contents<a class="headerlink" href="#table-of-contents" title="Permalink to this heading"></a></h2>
|
||||
<ol class="arabic simple">
|
||||
<li><p><span class="xref myst">Install CPL</span></p></li>
|
||||
<li><p><span class="xref myst">Install CPL CLI</span></p></li>
|
||||
<li><p><span class="xref myst">Basic workflow</span></p></li>
|
||||
<li><p><span class="xref myst">CLI command-language syntax</span></p></li>
|
||||
<li><p><span class="xref myst">Command overview</span></p></li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="section" id="basic-workflow">
|
||||
<h2>Basic workflow<a class="headerlink" href="#basic-workflow" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="basic-workflow">
|
||||
<h2>Basic workflow<a class="headerlink" href="#basic-workflow" title="Permalink to this heading"></a></h2>
|
||||
<p>To create, build, and serve a new, basic CPL project on a development server, go to the parent directory of your new workspace use the following commands:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>cpl new console my-first-project
|
||||
<span class="nb">cd</span> my-first-project
|
||||
@@ -115,85 +117,85 @@ cpl start
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>In the terminal you will the output of the app.</p>
|
||||
</div>
|
||||
<div class="section" id="cli-command-language-syntax">
|
||||
<h2>CLI command-language syntax<a class="headerlink" href="#cli-command-language-syntax" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="cli-command-language-syntax">
|
||||
<h2>CLI command-language syntax<a class="headerlink" href="#cli-command-language-syntax" title="Permalink to this heading"></a></h2>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">cpl</span></code> commandNameOrAlias requiredArg <code class="docutils literal notranslate"><span class="pre">[optionalsArgs]</span></code></p>
|
||||
<ul class="simple">
|
||||
<li><p>Most commands, and some options, have aliases. Aliases are shown in the syntax statement for each command.</p></li>
|
||||
<li><p>Arguments are not prefixed.</p></li>
|
||||
</ul>
|
||||
<div class="section" id="relative-paths">
|
||||
<h3>Relative paths<a class="headerlink" href="#relative-paths" title="Permalink to this headline"></a></h3>
|
||||
<section id="relative-paths">
|
||||
<h3>Relative paths<a class="headerlink" href="#relative-paths" title="Permalink to this heading"></a></h3>
|
||||
<p>Options that specify files can be given as absolute paths, or as paths relative to the current working directory, which is generally either the workspace or project root.</p>
|
||||
</div>
|
||||
<div class="section" id="schematics">
|
||||
<h3>Schematics<a class="headerlink" href="#schematics" title="Permalink to this headline"></a></h3>
|
||||
</section>
|
||||
<section id="schematics">
|
||||
<h3>Schematics<a class="headerlink" href="#schematics" title="Permalink to this heading"></a></h3>
|
||||
<p>The cpl generate command takes as an argument the artifact to be generated. In addition to any general options, each artifact defines its own options in a schematic. Schematic options are supplied to the command in the same format as immediate command options.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="command-overview">
|
||||
<h2>Command overview<a class="headerlink" href="#command-overview" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
</section>
|
||||
<section id="command-overview">
|
||||
<h2>Command overview<a class="headerlink" href="#command-overview" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Command</p></th>
|
||||
<th class="text-align:center head"><p>Alias</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Alias</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="cli.add.html"><span class="doc std std-doc">add</span></a></p></td>
|
||||
<td class="text-align:center"><p>a or a</p></td>
|
||||
<td class="text-align:center"><p>Adds a project reference to given project.</p></td>
|
||||
<td class="text-center"><p>a or a</p></td>
|
||||
<td class="text-center"><p>Adds a project reference to given project.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="cli.build.html"><span class="doc std std-doc">build</span></a></p></td>
|
||||
<td class="text-align:center"><p>b or B</p></td>
|
||||
<td class="text-align:center"><p>Prepares files for publish into an output directory named dist/ at the given output path. Must be executed from within a workspace directory.</p></td>
|
||||
<td class="text-center"><p>b or B</p></td>
|
||||
<td class="text-center"><p>Prepares files for publish into an output directory named dist/ at the given output path. Must be executed from within a workspace directory.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="cli.generate.html"><span class="doc std std-doc">generate</span></a></p></td>
|
||||
<td class="text-align:center"><p>g or G</p></td>
|
||||
<td class="text-align:center"><p>Generate a new file.</p></td>
|
||||
<td class="text-center"><p>g or G</p></td>
|
||||
<td class="text-center"><p>Generate a new file.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="cli.help.html"><span class="doc std std-doc">help</span></a></p></td>
|
||||
<td class="text-align:center"><p>h or H</p></td>
|
||||
<td class="text-align:center"><p>Lists available command and their short descriptions.</p></td>
|
||||
<td class="text-center"><p>h or H</p></td>
|
||||
<td class="text-center"><p>Lists available command and their short descriptions.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="cli.install.html"><span class="doc std std-doc">install</span></a></p></td>
|
||||
<td class="text-align:center"><p>i or I</p></td>
|
||||
<td class="text-align:center"><p>With argument installs packages to project, without argument installs project dependencies.</p></td>
|
||||
<td class="text-center"><p>i or I</p></td>
|
||||
<td class="text-center"><p>With argument installs packages to project, without argument installs project dependencies.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="cli.new.html"><span class="doc std std-doc">new</span></a></p></td>
|
||||
<td class="text-align:center"><p>n or N</p></td>
|
||||
<td class="text-align:center"><p>Creates new CPL project.</p></td>
|
||||
<td class="text-center"><p>n or N</p></td>
|
||||
<td class="text-center"><p>Creates new CPL project.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="cli.publish.html"><span class="doc std std-doc">publish</span></a></p></td>
|
||||
<td class="text-align:center"><p>p or P</p></td>
|
||||
<td class="text-align:center"><p>Prepares files for publish into an output directory named dist/ at the given output path and executes <code class="docutils literal notranslate"><span class="pre">setup.py</span></code>. Must be executed from within a library workspace directory.</p></td>
|
||||
<td class="text-center"><p>p or P</p></td>
|
||||
<td class="text-center"><p>Prepares files for publish into an output directory named dist/ at the given output path and executes <code class="docutils literal notranslate"><span class="pre">setup.py</span></code>. Must be executed from within a library workspace directory.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="cli.remove.html"><span class="doc std std-doc">remove</span></a></p></td>
|
||||
<td class="text-align:center"><p>r or R</p></td>
|
||||
<td class="text-align:center"><p>Removes a project from workspace.</p></td>
|
||||
<td class="text-center"><p>r or R</p></td>
|
||||
<td class="text-center"><p>Removes a project from workspace.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="cli.start.html"><span class="doc std std-doc">start</span></a></p></td>
|
||||
<td class="text-align:center"><p>s or S</p></td>
|
||||
<td class="text-align:center"><p>Starts CPL project, restarting on file changes.</p></td>
|
||||
<td class="text-center"><p>s or S</p></td>
|
||||
<td class="text-center"><p>Starts CPL project, restarting on file changes.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="cli.uninstall.html"><span class="doc std std-doc">uninstall</span></a></p></td>
|
||||
<td class="text-align:center"><p>ui or UI</p></td>
|
||||
<td class="text-align:center"><p>Uninstalls packages from project.</p></td>
|
||||
<td class="text-center"><p>ui or UI</p></td>
|
||||
<td class="text-center"><p>Uninstalls packages from project.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="cli.update.html"><span class="doc std std-doc">update</span></a></p></td>
|
||||
<td class="text-align:center"><p>u or U</p></td>
|
||||
<td class="text-align:center"><p>Update CPL and project dependencies.</p></td>
|
||||
<td class="text-center"><p>u or U</p></td>
|
||||
<td class="text-center"><p>Update CPL and project dependencies.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="cli.version.html"><span class="doc std std-doc">version</span></a></p></td>
|
||||
<td class="text-align:center"><p>v or V</p></td>
|
||||
<td class="text-align:center"><p>Outputs CPL CLI version.</p></td>
|
||||
<td class="text-center"><p>v or V</p></td>
|
||||
<td class="text-center"><p>Outputs CPL CLI version.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
24
docs/build/html/cli.publish.html
vendored
24
docs/build/html/cli.publish.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl publish — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -88,21 +90,21 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-publish">
|
||||
<h1>cpl publish<a class="headerlink" href="#cpl-publish" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-publish">
|
||||
<h1>cpl publish<a class="headerlink" href="#cpl-publish" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
</ul>
|
||||
<!-- - [Arguments](#arguments) -->
|
||||
<p>Prepares files for publish into an output directory named dist/ at the given output path and executes <code class="docutils literal notranslate"><span class="pre">setup.py</span></code>.</p>
|
||||
<p>cpl <strong>publish</strong> <br>
|
||||
cpl <strong>p</strong> <br>
|
||||
cpl <strong>P</strong></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>The command can be used to publish a project of type “console” or “library”.</p>
|
||||
<p>The publish command builds the source files and then creates an <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> with data from <code class="docutils literal notranslate"><span class="pre">cpl_core.json</span></code>.
|
||||
The command executes the <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> and removes all source files with the <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> from the ‘publish/’ directory.</p>
|
||||
@@ -111,8 +113,8 @@ The command executes the <code class="docutils literal notranslate"><span class=
|
||||
|
||||
| Argument | Description | Value type |
|
||||
| ------------- |:-------------:|:----------------:|
|
||||
| ```<project>``` | The name of the project to build. Can be an console or a library. | ```str``` --></div>
|
||||
</div>
|
||||
| ```<project>``` | The name of the project to build. Can be an console or a library. | ```str``` --></section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
56
docs/build/html/cli.remove.html
vendored
56
docs/build/html/cli.remove.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl remove — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -52,6 +54,7 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#contents">Contents</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#arguments">Arguments</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.start.html">cpl start</a></li>
|
||||
@@ -89,42 +92,57 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-remove">
|
||||
<h1>cpl remove<a class="headerlink" href="#cpl-remove" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-remove">
|
||||
<h1>cpl remove<a class="headerlink" href="#cpl-remove" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><a class="reference external" href="#arguments">Arguments</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
<li><p><span class="xref myst">Arguments</span></p></li>
|
||||
</ul>
|
||||
<p>Removes a project from workspace.</p>
|
||||
<p>cpl <strong>remove</strong> <em><project></em> <br>
|
||||
cpl <strong>r</strong> <em><project></em> <br>
|
||||
cpl <strong>R</strong> <em><project></em></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Removes a project reference and the files from workspace.</p>
|
||||
<p>If you call the command in a CPL workspace, you can use the project names. Otherwise the paths of the projects must be specified.</p>
|
||||
</div>
|
||||
<div class="section" id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><project></span></code></p></td>
|
||||
<td class="text-align:center"><p>The name of the project to delete</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The name of the project to delete</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="flags">
|
||||
<h2>Flags<a class="headerlink" href="#flags" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--simulate</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is simulated</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
10
docs/build/html/cli.start.html
vendored
10
docs/build/html/cli.start.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl start — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -84,13 +86,13 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-start">
|
||||
<h1>cpl start<a class="headerlink" href="#cpl-start" title="Permalink to this headline"></a></h1>
|
||||
<section id="cpl-start">
|
||||
<h1>cpl start<a class="headerlink" href="#cpl-start" title="Permalink to this heading"></a></h1>
|
||||
<p>Starts your application, restarting on file changes.</p>
|
||||
<p>cpl <strong>start</strong> <br>
|
||||
cpl <strong>s</strong> <br>
|
||||
cpl <strong>S</strong></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
62
docs/build/html/cli.uninstall.html
vendored
62
docs/build/html/cli.uninstall.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl uninstall — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -54,6 +56,7 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#contents">Contents</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#arguments">Arguments</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.update.html">cpl update</a></li>
|
||||
@@ -89,41 +92,62 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-uninstall">
|
||||
<h1>cpl uninstall<a class="headerlink" href="#cpl-uninstall" title="Permalink to this headline"></a></h1>
|
||||
<div class="section" id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
|
||||
<section id="cpl-uninstall">
|
||||
<h1>cpl uninstall<a class="headerlink" href="#cpl-uninstall" title="Permalink to this heading"></a></h1>
|
||||
<section id="contents">
|
||||
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#description">Description</a></p></li>
|
||||
<li><p><a class="reference external" href="#arguments">Arguments</a></p></li>
|
||||
<li><p><span class="xref myst">Description</span></p></li>
|
||||
<li><p><span class="xref myst">Arguments</span></p></li>
|
||||
</ul>
|
||||
<p>Uninstalls given package via pip</p>
|
||||
<p>cpl <strong>uninstall</strong> <em><package></em> <br>
|
||||
cpl <strong>ui</strong> <em><package></em> <br>
|
||||
cpl <strong>UI</strong> <em><package></em></p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
|
||||
<p>Uninstall given package from project via pip.</p>
|
||||
</div>
|
||||
<div class="section" id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="arguments">
|
||||
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-align:center head"><p>Description</p></th>
|
||||
<th class="text-align:center head"><p>Value type</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
<th class="text-center head"><p>Value type</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre"><package></span></code></p></td>
|
||||
<td class="text-align:center"><p>The package to uninstall</p></td>
|
||||
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
<td class="text-center"><p>The package to uninstall</p></td>
|
||||
<td class="text-center"><p><code class="docutils literal notranslate"><span class="pre">str</span></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="flags">
|
||||
<h2>Flags<a class="headerlink" href="#flags" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--dev</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is in development mode</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">--virtual</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is virtual mode</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--simulate</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is simulated</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
30
docs/build/html/cli.update.html
vendored
30
docs/build/html/cli.update.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl update — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -51,7 +53,10 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.remove.html">cpl remove</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.start.html">cpl start</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.uninstall.html">cpl uninstall</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">cpl update</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">cpl update</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.version.html">cpl version</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -84,13 +89,28 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-update">
|
||||
<h1>cpl update<a class="headerlink" href="#cpl-update" title="Permalink to this headline"></a></h1>
|
||||
<section id="cpl-update">
|
||||
<h1>cpl update<a class="headerlink" href="#cpl-update" title="Permalink to this heading"></a></h1>
|
||||
<p>Updates the CPL and project dependencies.</p>
|
||||
<p>cpl <strong>update</strong> <br>
|
||||
cpl <strong>u</strong> <br>
|
||||
cpl <strong>U</strong></p>
|
||||
</div>
|
||||
<section id="flags">
|
||||
<h2>Flags<a class="headerlink" href="#flags" title="Permalink to this heading"></a></h2>
|
||||
<table class="colwidths-auto docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Argument</p></th>
|
||||
<th class="text-center head"><p>Description</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">--simulate</span></code></p></td>
|
||||
<td class="text-center"><p>Specifies whether the command is simulated</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
10
docs/build/html/cli.version.html
vendored
10
docs/build/html/cli.version.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>cpl version — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -84,13 +86,13 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="cpl-version">
|
||||
<h1>cpl version<a class="headerlink" href="#cpl-version" title="Permalink to this headline"></a></h1>
|
||||
<section id="cpl-version">
|
||||
<h1>cpl version<a class="headerlink" href="#cpl-version" title="Permalink to this heading"></a></h1>
|
||||
<p>Lists the version of CPL, CPL CLI and all installed packages from pip.</p>
|
||||
<p>cpl <strong>version</strong> <br>
|
||||
cpl <strong>v</strong> <br>
|
||||
cpl <strong>V</strong></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
86
docs/build/html/contributing.html
vendored
86
docs/build/html/contributing.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Contributing to CPL — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,6 +14,7 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -66,41 +68,41 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="tex2jax_ignore mathjax_ignore section" id="contributing-to-cpl">
|
||||
<h1>Contributing to CPL<a class="headerlink" href="#contributing-to-cpl" title="Permalink to this headline"></a></h1>
|
||||
<section id="contributing-to-cpl">
|
||||
<h1>Contributing to CPL<a class="headerlink" href="#contributing-to-cpl" title="Permalink to this heading"></a></h1>
|
||||
<p>We would love for you to contribute to CPL and help make it even better than it is today! As a contributor, here are the guidelines we would like you to follow:</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="#found-a-bug">Issuses and Bugs</a></p></li>
|
||||
<li><p><a class="reference external" href="#feature-request">Feature Request</a></p></li>
|
||||
<li><p><a class="reference external" href="#submission-guidelines">Submission Guidelines</a></p></li>
|
||||
<li><p><a class="reference external" href="#coding-rules">Coding Rules</a></p></li>
|
||||
<li><p><a class="reference external" href="#license">License</a></p></li>
|
||||
<li><p><span class="xref myst">Issuses and Bugs</span></p></li>
|
||||
<li><p><span class="xref myst">Feature Request</span></p></li>
|
||||
<li><p><span class="xref myst">Submission Guidelines</span></p></li>
|
||||
<li><p><span class="xref myst">Coding Rules</span></p></li>
|
||||
<li><p><span class="xref myst">License</span></p></li>
|
||||
</ul>
|
||||
<div class="section" id="found-a-bug">
|
||||
<h2>Found a Bug?<a class="headerlink" href="#found-a-bug" title="Permalink to this headline"></a></h2>
|
||||
<p>If you find a bug in the source code, you can help us by <a class="reference external" href="#submitting-an-issue">submitting an issue</a> to our <a class="reference external" href="https://git.sh-edraft.de/sh-edraft.de/sh_cpl/">Gitea Repository</a>. Even better, you can <a class="reference external" href="#submitting-a-pull-request">submit a Pull Request</a> with a fix.</p>
|
||||
</div>
|
||||
<div class="section" id="feature-request">
|
||||
<h2>Feature Request<a class="headerlink" href="#feature-request" title="Permalink to this headline"></a></h2>
|
||||
<section id="found-a-bug">
|
||||
<h2>Found a Bug?<a class="headerlink" href="#found-a-bug" title="Permalink to this heading"></a></h2>
|
||||
<p>If you find a bug in the source code, you can help us by <span class="xref myst">submitting an issue</span> to our <a class="reference external" href="https://git.sh-edraft.de/sh-edraft.de/sh_cpl/">Gitea Repository</a>. Even better, you can <span class="xref myst">submit a Pull Request</span> with a fix.</p>
|
||||
</section>
|
||||
<section id="feature-request">
|
||||
<h2>Feature Request<a class="headerlink" href="#feature-request" title="Permalink to this heading"></a></h2>
|
||||
<p>You can request a new feature by submitting an issue to our <a class="reference external" href="https://git.sh-edraft.de/sh-edraft.de/sh_cpl/">Gitea Repository</a>. If you would like to implement a new feature, please consider the size of the change in order to determine the right steps to proceed:</p>
|
||||
<p>For a Major Feature, first open an issue and outline your proposal so that it can be discussed. This process allows us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project.</p>
|
||||
<p>Note: Adding a new topic to the documentation, or significantly re-writing a topic, counts as a major feature.</p>
|
||||
<p>Small Features can be crafted and directly submitted as a <a class="reference external" href="#submit-pr">Pull Request</a>.</p>
|
||||
</div>
|
||||
<div class="section" id="submission-guidelines">
|
||||
<h2>Submission Guidelines<a class="headerlink" href="#submission-guidelines" title="Permalink to this headline"></a></h2>
|
||||
<div class="section" id="submitting-an-issue">
|
||||
<h3>Submitting an Issue<a class="headerlink" href="#submitting-an-issue" title="Permalink to this headline"></a></h3>
|
||||
<p>Small Features can be crafted and directly submitted as a <span class="xref myst">Pull Request</span>.</p>
|
||||
</section>
|
||||
<section id="submission-guidelines">
|
||||
<h2>Submission Guidelines<a class="headerlink" href="#submission-guidelines" title="Permalink to this heading"></a></h2>
|
||||
<section id="submitting-an-issue">
|
||||
<h3>Submitting an Issue<a class="headerlink" href="#submitting-an-issue" title="Permalink to this heading"></a></h3>
|
||||
<p>Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.</p>
|
||||
<p>We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs, we require that you provide a minimal reproduction. Having a minimal reproducible scenario gives us a wealth of important information without going back and forth to you with additional questions.</p>
|
||||
<p>A minimal reproduction allows us to quickly confirm a bug (or point out a coding problem) as well as confirm that we are fixing the right problem.</p>
|
||||
<p>We require a minimal reproduction to save maintainers’ time and ultimately be able to fix more bugs. Often, developers find coding problems themselves while preparing a minimal reproduction. We understand that sometimes it might be hard to extract essential bits of code from a larger codebase but we really need to isolate the problem before we can fix it.</p>
|
||||
<p>Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don’t hear back from you, we are going to close an issue that doesn’t have enough info to be reproduced.</p>
|
||||
</div>
|
||||
<div class="section" id="submitting-a-pull-request">
|
||||
<h3>Submitting a Pull Request<a class="headerlink" href="#submitting-a-pull-request" title="Permalink to this headline"></a></h3>
|
||||
</section>
|
||||
<section id="submitting-a-pull-request">
|
||||
<h3>Submitting a Pull Request<a class="headerlink" href="#submitting-a-pull-request" title="Permalink to this heading"></a></h3>
|
||||
<p>Before you submit your Pull Request (PR) consider the following guidelines:</p>
|
||||
<ol>
|
||||
<ol class="arabic">
|
||||
<li><p>Search the <a class="reference external" href="https://git.sh-edraft.de/sh-edraft.de/sh_cpl/">repository</a> for an open or closed PR that relates to your submission. You don’t want to duplicate existing efforts.</p></li>
|
||||
<li><p>Be sure that an issue describes the problem you’re fixing, or documents the design for the feature you’d like to add. Discussing the design upfront helps to ensure that we’re ready to accept your work.</p></li>
|
||||
<li><p>Fork the sh-edraft.de/sh_cpl repo.</p></li>
|
||||
@@ -112,7 +114,7 @@
|
||||
<li><p>Create your patch, including appropriate test cases.</p></li>
|
||||
</ol>
|
||||
<!-- 6. Follow our [Coding Rules](coding-rules). -->
|
||||
<ol>
|
||||
<ol class="arabic" start="6">
|
||||
<li><p>Commit your changes.</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>git commit --all
|
||||
</pre></div>
|
||||
@@ -126,14 +128,14 @@
|
||||
</li>
|
||||
<li><p>In Gitea, send a pull request to sh_cpl:master</p></li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="section" id="reviewing-a-pull-request">
|
||||
<h3>Reviewing a Pull Request<a class="headerlink" href="#reviewing-a-pull-request" title="Permalink to this headline"></a></h3>
|
||||
<p>The sh-edraft.de team reserves the right not to accept pull requests from community members who haven’t been good citizens of the community. Such behavior includes not following the CPL <a class="reference external" href="#coding-rules">coding rules</a> and applies within or outside of CPL managed channels.</p>
|
||||
<div class="section" id="addressing-review-feedback">
|
||||
<h4>Addressing review feedback<a class="headerlink" href="#addressing-review-feedback" title="Permalink to this headline"></a></h4>
|
||||
</section>
|
||||
<section id="reviewing-a-pull-request">
|
||||
<h3>Reviewing a Pull Request<a class="headerlink" href="#reviewing-a-pull-request" title="Permalink to this heading"></a></h3>
|
||||
<p>The sh-edraft.de team reserves the right not to accept pull requests from community members who haven’t been good citizens of the community. Such behavior includes not following the CPL <span class="xref myst">coding rules</span> and applies within or outside of CPL managed channels.</p>
|
||||
<section id="addressing-review-feedback">
|
||||
<h4>Addressing review feedback<a class="headerlink" href="#addressing-review-feedback" title="Permalink to this heading"></a></h4>
|
||||
<p>If we ask for changes via code reviews then:</p>
|
||||
<ol>
|
||||
<ol class="arabic">
|
||||
<li><p>Make the required updates to the code.</p></li>
|
||||
<li><p>Create a fixup commit and push to your repository (this will update your Pull Request):</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>git commit --all --fixup HEAD
|
||||
@@ -143,25 +145,25 @@ git push
|
||||
</li>
|
||||
</ol>
|
||||
<p>That’s it! Thank you for your contribution!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="coding-rules">
|
||||
<h2>Coding Rules<a class="headerlink" href="#coding-rules" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
<section id="coding-rules">
|
||||
<h2>Coding Rules<a class="headerlink" href="#coding-rules" title="Permalink to this heading"></a></h2>
|
||||
<p>To ensure consistency throughout the source code, keep these rules in mind as you are working:</p>
|
||||
<ul class="simple">
|
||||
<li><p>All features or bug fixes must be tested by one or more unit-tests.</p></li>
|
||||
<li><p>All public API methods must be documented.</p></li>
|
||||
<li><p>We follow <a class="reference external" href="https://www.python.org/dev/peps/pep-0008/">PEP 8 – Style Guide for Python Code</a>.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="license">
|
||||
<h2>License<a class="headerlink" href="#license" title="Permalink to this headline"></a></h2>
|
||||
</section>
|
||||
<section id="license">
|
||||
<h2>License<a class="headerlink" href="#license" title="Permalink to this heading"></a></h2>
|
||||
<p>By contributing, you agree that your contributions will be licensed under its MIT License.
|
||||
See <a class="reference external" href="https://git.sh-edraft.de/sh-edraft.de/sh_cpl/src/branch/master/LICENSE">LICENSE</a></p>
|
||||
<!-- LINKS -->
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
24
docs/build/html/cpl_cli.html
vendored
24
docs/build/html/cpl_cli.html
vendored
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>CLI Reference — Common Python Library documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
@@ -13,12 +14,13 @@
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="CLI Overview and Command Reference" href="cli.overview.html" />
|
||||
<link rel="prev" title="Setting up the local environment and workspace" href="setup.html" />
|
||||
<link rel="prev" title="Send mails" href="tutorials.mail.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
@@ -83,8 +85,8 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="cli-reference">
|
||||
<h1>CLI Reference<a class="headerlink" href="#cli-reference" title="Permalink to this headline"></a></h1>
|
||||
<section id="cli-reference">
|
||||
<h1>CLI Reference<a class="headerlink" href="#cli-reference" title="Permalink to this heading"></a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a><ul>
|
||||
@@ -102,6 +104,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.add.html#contents">Contents</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.add.html#description">Description</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.add.html#arguments">Arguments</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.add.html#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.build.html">cpl build</a><ul>
|
||||
@@ -125,12 +128,14 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.install.html#contents">Contents</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.install.html#description">Description</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.install.html#arguments">Arguments</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.install.html#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.new.html">cpl new</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.new.html#contents">Contents</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.new.html#description">Description</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.new.html#project-types">Project types</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.new.html#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.publish.html">cpl publish</a><ul>
|
||||
@@ -142,6 +147,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.remove.html#contents">Contents</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.remove.html#description">Description</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.remove.html#arguments">Arguments</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.remove.html#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.start.html">cpl start</a></li>
|
||||
@@ -149,19 +155,23 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.uninstall.html#contents">Contents</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.uninstall.html#description">Description</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.uninstall.html#arguments">Arguments</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.uninstall.html#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.update.html">cpl update</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.update.html#flags">Flags</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.update.html">cpl update</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.version.html">cpl version</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="setup.html" class="btn btn-neutral float-left" title="Setting up the local environment and workspace" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="tutorials.mail.html" class="btn btn-neutral float-left" title="Send mails" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="cli.overview.html" class="btn btn-neutral float-right" title="CLI Overview and Command Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user