musclingo 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. musclingo-0.1.2/.envrc +11 -0
  2. musclingo-0.1.2/.github/workflows/deploy.yml +48 -0
  3. musclingo-0.1.2/.github/workflows/doc.yml +51 -0
  4. musclingo-0.1.2/.github/workflows/test.yml +37 -0
  5. musclingo-0.1.2/.gitignore +40 -0
  6. musclingo-0.1.2/.pre-commit-config.yaml +28 -0
  7. musclingo-0.1.2/CHANGES.md +5 -0
  8. musclingo-0.1.2/CONTRIBUTING.md +31 -0
  9. musclingo-0.1.2/DEPLOYMENT.md +28 -0
  10. musclingo-0.1.2/DEVELOPMENT.md +63 -0
  11. musclingo-0.1.2/LICENSE +21 -0
  12. musclingo-0.1.2/PKG-INFO +83 -0
  13. musclingo-0.1.2/README.md +24 -0
  14. musclingo-0.1.2/docs/SUMMARY.md +17 -0
  15. musclingo-0.1.2/docs/_custom/css/extra.css +181 -0
  16. musclingo-0.1.2/docs/_custom/css/mkdocstrings.css +50 -0
  17. musclingo-0.1.2/docs/_custom/javascripts/mathjax.js +19 -0
  18. musclingo-0.1.2/docs/_custom/overrides/.icons/potassco-logo.svg +12 -0
  19. musclingo-0.1.2/docs/_custom/overrides/partials/logo.html +29 -0
  20. musclingo-0.1.2/docs/assets/images/potassco-logo.svg +10 -0
  21. musclingo-0.1.2/docs/assets/images/pt_rgb_green_digital.svg +9 -0
  22. musclingo-0.1.2/docs/community/CHANGES.md +11 -0
  23. musclingo-0.1.2/docs/community/CONTRIBUTING.md +5 -0
  24. musclingo-0.1.2/docs/community/DEPLOYMENT.md +5 -0
  25. musclingo-0.1.2/docs/community/DEVELOPMENT.md +5 -0
  26. musclingo-0.1.2/docs/community/index.md +30 -0
  27. musclingo-0.1.2/docs/examples/index.md +100 -0
  28. musclingo-0.1.2/docs/index.md +68 -0
  29. musclingo-0.1.2/docs/reference/api/algorithms.md +12 -0
  30. musclingo-0.1.2/docs/reference/api/shrink.md +12 -0
  31. musclingo-0.1.2/docs/reference/api/utils.md +12 -0
  32. musclingo-0.1.2/docs/reference/index.md +31 -0
  33. musclingo-0.1.2/docs/reference/overview.md +35 -0
  34. musclingo-0.1.2/docs/use/help.md +53 -0
  35. musclingo-0.1.2/docs/use/installation.md +12 -0
  36. musclingo-0.1.2/docs/use/quick-start.md +26 -0
  37. musclingo-0.1.2/init.py +109 -0
  38. musclingo-0.1.2/mkdocs.yml +129 -0
  39. musclingo-0.1.2/noxfile.py +62 -0
  40. musclingo-0.1.2/pyproject.toml +105 -0
  41. musclingo-0.1.2/setup.cfg +4 -0
  42. musclingo-0.1.2/src/musclingo/__init__.py +3 -0
  43. musclingo-0.1.2/src/musclingo/algorithms/__init__.py +19 -0
  44. musclingo-0.1.2/src/musclingo/algorithms/camus.py +57 -0
  45. musclingo-0.1.2/src/musclingo/algorithms/checkers.py +34 -0
  46. musclingo-0.1.2/src/musclingo/algorithms/ihs.py +57 -0
  47. musclingo-0.1.2/src/musclingo/algorithms/marco.py +48 -0
  48. musclingo-0.1.2/src/musclingo/heuristic_utils.py +27 -0
  49. musclingo-0.1.2/src/musclingo/hitting_set.py +73 -0
  50. musclingo-0.1.2/src/musclingo/lattice.py +139 -0
  51. musclingo-0.1.2/src/musclingo/py.typed +0 -0
  52. musclingo-0.1.2/src/musclingo/shrink/__init__.py +41 -0
  53. musclingo-0.1.2/src/musclingo/shrink/linear_elimination.py +57 -0
  54. musclingo-0.1.2/src/musclingo/shrink/protocol.py +51 -0
  55. musclingo-0.1.2/src/musclingo/shrink/quickxplain.py +88 -0
  56. musclingo-0.1.2/src/musclingo/utils/__init__.py +3 -0
  57. musclingo-0.1.2/src/musclingo/utils/logging.py +88 -0
  58. musclingo-0.1.2/src/musclingo/utils/parser.py +53 -0
  59. musclingo-0.1.2/src/musclingo.egg-info/PKG-INFO +83 -0
  60. musclingo-0.1.2/src/musclingo.egg-info/SOURCES.txt +68 -0
  61. musclingo-0.1.2/src/musclingo.egg-info/dependency_links.txt +1 -0
  62. musclingo-0.1.2/src/musclingo.egg-info/requires.txt +27 -0
  63. musclingo-0.1.2/src/musclingo.egg-info/scm_file_list.json +65 -0
  64. musclingo-0.1.2/src/musclingo.egg-info/scm_version.json +8 -0
  65. musclingo-0.1.2/src/musclingo.egg-info/top_level.txt +1 -0
  66. musclingo-0.1.2/tests/__init__.py +3 -0
  67. musclingo-0.1.2/tests/gc_cores.lp +23 -0
  68. musclingo-0.1.2/tests/py.typed +0 -0
  69. musclingo-0.1.2/tests/test_gc_cores.py +55 -0
  70. musclingo-0.1.2/tests/test_main.py +34 -0
musclingo-0.1.2/.envrc ADDED
@@ -0,0 +1,11 @@
1
+ # automatically activate dev environment when in project tree using direnv.
2
+ ACT=".nox/dev/bin/activate"
3
+
4
+ if [[ -f "${ACT}" ]]; then
5
+ source "${ACT}"
6
+ else
7
+ cat <<EOF
8
+ Activation script "${ACT}" not found for dev environment.
9
+ Run 'nox -s dev' to install dev environment
10
+ EOF
11
+ fi
@@ -0,0 +1,48 @@
1
+ name: deploy to pypi
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ tags:
7
+ - "v[0-9]+.[0-9]+.[0-9]+"
8
+
9
+ jobs:
10
+ test:
11
+ uses: ./.github/workflows/test.yml
12
+
13
+ deploy:
14
+ name: deploy
15
+ needs: test
16
+ permissions:
17
+ id-token: write
18
+ environment: release
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v6
22
+ with:
23
+ fetch-depth: 0
24
+
25
+ - uses: actions/setup-python@v6
26
+ with:
27
+ python-version: 3.11
28
+
29
+ - name: install build dependencies
30
+ run: python3 -m pip install build
31
+
32
+ - name: build package
33
+ run: python3 -m build --sdist --wheel --outdir dist/
34
+
35
+ - name: upload package
36
+ uses: actions/upload-artifact@v7
37
+ with:
38
+ name: package
39
+ path: dist/
40
+ - name: publish package (pypi)
41
+ if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
42
+ uses: pypa/gh-action-pypi-publish@release/v1
43
+
44
+ - name: publish package (test.pypi)
45
+ if: ${{ github.event_name == 'workflow_dispatch' }}
46
+ uses: pypa/gh-action-pypi-publish@release/v1
47
+ with:
48
+ repository-url: "https://test.pypi.org/legacy/"
@@ -0,0 +1,51 @@
1
+ name: Deploy Documentation
2
+ on:
3
+ workflow_dispatch:
4
+ push:
5
+ tags:
6
+ - "v[0-9]+.[0-9]+.[0-9]+"
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
14
+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
15
+ concurrency:
16
+ group: "pages"
17
+ cancel-in-progress: false
18
+
19
+ jobs:
20
+ build:
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - name: Checkout
24
+ uses: actions/checkout@v6
25
+ - name: Set up Python 3.12
26
+ uses: actions/setup-python@v6
27
+ with:
28
+ python-version: 3.12
29
+ - name: Install dependencies
30
+ run: |
31
+ python -m pip install --upgrade pip
32
+ python -m pip install -e .[doc]
33
+ - name: Build the documentation
34
+ run: mkdocs build
35
+ - name: Setup Pages
36
+ id: pages
37
+ uses: actions/configure-pages@v6
38
+ - name: Upload artifact
39
+ uses: actions/upload-pages-artifact@v5
40
+ with:
41
+ path: "./site"
42
+ deploy:
43
+ runs-on: ubuntu-latest
44
+ environment:
45
+ name: github-pages
46
+ url: ${{ steps.deployment.outputs.page_url }}
47
+ needs: build
48
+ steps:
49
+ - name: Deploy to GitHub Pages
50
+ id: deployment
51
+ uses: actions/deploy-pages@v5
@@ -0,0 +1,37 @@
1
+ name: run CI test
2
+
3
+ on:
4
+ push:
5
+ branches: [devel, main, master, wip]
6
+ pull_request:
7
+ workflow_call:
8
+
9
+ env:
10
+ FORCE_COLOR: "3"
11
+
12
+ jobs:
13
+ build:
14
+ name: test on ${{ matrix.os }}
15
+ runs-on: ${{ matrix.os }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ os: [ubuntu-latest, macos-latest, windows-latest]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v6
23
+ - uses: actions/setup-python@v6
24
+ with:
25
+ python-version: |
26
+ 3.11
27
+ 3.14
28
+
29
+ - name: install requirements
30
+ run: python -m pip install .[dev] nox pre-commit
31
+
32
+ - name: run pre-commit
33
+ if: ${{ matrix.os == 'ubuntu-latest' }}
34
+ run: pre-commit run --all --show-diff-on-failure
35
+
36
+ - name: run tests
37
+ run: nox
@@ -0,0 +1,40 @@
1
+ # Editors
2
+ .vscode/
3
+ *~
4
+ \#*\#
5
+ .\#*
6
+
7
+ # Mac/OSX
8
+ .DS_Store
9
+
10
+ # Byte-compiled / optimized / DLL files
11
+ __pycache__/
12
+ *.py[cod]
13
+ *$py.class
14
+
15
+ # Installer logs
16
+ pip-log.txt
17
+ pip-delete-this-directory.txt
18
+
19
+ # Unit test / coverage reports
20
+ .pytest_cache/
21
+
22
+ # pyenv
23
+ .python-version
24
+
25
+ # mypy
26
+ .mypy_cache/
27
+ .dmypy.json
28
+ dmypy.json
29
+ *egg-info*
30
+
31
+ # uv
32
+ uv.lock
33
+
34
+ # unclassified
35
+ dist
36
+ build
37
+ .coverage
38
+ _build
39
+ _autosummary
40
+ site
@@ -0,0 +1,28 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.15.8
4
+ hooks:
5
+ - id: ruff-check
6
+ args: [--fix]
7
+ - id: ruff-format
8
+
9
+ - repo: https://github.com/pre-commit/pre-commit-hooks
10
+ rev: v6.0.0
11
+ hooks:
12
+ - id: end-of-file-fixer
13
+ - id: trailing-whitespace
14
+ exclude: ^.github/
15
+
16
+ - repo: https://github.com/executablebooks/mdformat
17
+ rev: 1.0.0
18
+ hooks:
19
+ - id: mdformat
20
+ args: ["--wrap", "79"]
21
+ exclude: ^docs/
22
+ additional_dependencies:
23
+ - mdformat-gfm
24
+
25
+ - repo: https://github.com/astral-sh/ty-pre-commit
26
+ rev: v0.0.65
27
+ hooks:
28
+ - id: ty
@@ -0,0 +1,5 @@
1
+ # Changes
2
+
3
+ ## v0.1.0
4
+
5
+ - create project
@@ -0,0 +1,31 @@
1
+ # Contributing
2
+
3
+ Thanks for considering a contribution to musclingo.
4
+
5
+ ## How to get help or discuss possible contributions
6
+
7
+ To avoid duplicating issues, please search our [issue tracker][issues] and our
8
+ [mailing list][mailing_list] before filing a new issue.
9
+
10
+ - Open an [issue][new_issue] describing your problem.
11
+ - [Subscribe] to our mailing list on SourceForge.
12
+
13
+ ## How to make a contribution
14
+
15
+ - Fork the [musclingo][project_url] repository and create a branch for your
16
+ changes.
17
+ - Submit a pull request to the master branch with your changes.
18
+ - Respond to feedback on your pull request.
19
+ - If everything is fine your pull request is merged!
20
+
21
+ ## License
22
+
23
+ When contributing to this project, you agree that you have authored 100% of the
24
+ content, that you have the necessary rights to the content and that the content
25
+ you contribute may be provided under the project license.
26
+
27
+ [issues]: https://github.com/potassco/musclingo.git/issues/
28
+ [mailing_list]: https://sourceforge.net/p/potassco/mailman/potassco-users/
29
+ [new_issue]: https://github.com/potassco/musclingo.git/issues/new/
30
+ [project_url]: https://github.com/potassco/musclingo.git/
31
+ [subscribe]: https://sourceforge.net/projects/potassco/lists/potassco-users/
@@ -0,0 +1,28 @@
1
+ # Deployment
2
+
3
+ Releases are deployed on [pypi] whenever a tag of form `vMajor.Minor.Revision`
4
+ is pushed. Furthermore, the deployment workflow can be triggered manually to
5
+ deploy test releases on [test.pypi].
6
+
7
+ For this to work, the workflow has to be granted permission to deploy on the
8
+ two services. Please follow this packaging [guide] to setup your accounts
9
+ accordingly. We also recommend to setup a github [environment] to restrict
10
+ which contributors can deploy packages.
11
+
12
+ ## Automatic Documentation Deployment
13
+
14
+ You can automatically publish project documentation to GitHub Pages on every
15
+ new tag. To enable this:
16
+
17
+ - Go to your repository on GitHub.
18
+ - Navigate to **Settings** > **Pages**.
19
+ - Under **Build and deployment**, set **Source** to **GitHub Actions**.
20
+
21
+ This setup ensures your documentation is updated whenever you create a new
22
+ release tag via GitHub workflows. The final documentation will be made
23
+ available at `https://potassco.org/musclingo/docs`.
24
+
25
+ [environment]: https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment/
26
+ [guide]: https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
27
+ [pypi]: https://pypi.org/
28
+ [test.pypi]: https://test.pypi.org/
@@ -0,0 +1,63 @@
1
+ # Development
2
+
3
+ To install the project in development mode, use the following command:
4
+
5
+ ```bash
6
+ pip install -e .[dev]
7
+ ```
8
+
9
+ To improve code quality, we use [nox] to run linters, type checkers, unit
10
+ tests, and more. We recommend installing nox using [pipx] to have it available
11
+ globally.
12
+
13
+ ```bash
14
+ # install
15
+ python -m pip install pipx
16
+ python -m pipx install nox
17
+
18
+ # run all sessions
19
+ nox
20
+
21
+ # list all sessions
22
+ nox -l
23
+
24
+ # run individual session
25
+ nox -s session_name
26
+
27
+ # run individual session (reuse install)
28
+ nox -Rs session_name
29
+ ```
30
+
31
+ Note that the nox sessions create [editable] installs. In case there are
32
+ issues, try recreating environments by dropping the `-R` option. If your
33
+ project is incompatible with editable installs, adjust the `noxfile.py` to
34
+ disable them.
35
+
36
+ We also provide a [pre-commit][pre] config to autoformat code upon commits. It
37
+ can be set up using the following commands:
38
+
39
+ ```bash
40
+ python -m pipx install pre-commit
41
+ pre-commit install
42
+ ```
43
+
44
+ ## Documentation
45
+
46
+ Make sure the documentation dependencies for the project are properly installed
47
+ with
48
+
49
+ ```bash
50
+ pip install .[doc]
51
+ ```
52
+
53
+ To run the documentation locally use the following command and click the
54
+ provided link to open it in the browser.
55
+
56
+ ```bash
57
+ mkdocs serve
58
+ ```
59
+
60
+ [editable]: https://setuptools.pypa.io/en/latest/userguide/development_mode.html
61
+ [nox]: https://nox.thea.codes/en/stable/index.html
62
+ [pipx]: https://pypa.github.io/pipx/
63
+ [pre]: https://pre-commit.com/
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Potassco
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,83 @@
1
+ Metadata-Version: 2.4
2
+ Name: musclingo
3
+ Version: 0.1.2
4
+ Summary: A package to compute MUSes of ASP programs.
5
+ Author-email: Susana Hahn <susuhahnml@yahoo.com.mx>, Antonio Ielo <antonio.ielo@unical.it>, Hannes Weichelt <hweichelt@uni-potsdam.de>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2024 Potassco
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/potassco/musclingo.git/
29
+ Project-URL: Documentation, https://docs.potassco.org/musclingo/
30
+ Project-URL: Repository, https://github.com/potassco/musclingo
31
+ Project-URL: Issues, https://github.com/potassco/musclingo/issues
32
+ Project-URL: Changelog, https://github.com/potassco/musclingo/blob/master/CHANGES.md
33
+ Requires-Python: >=3.11
34
+ Description-Content-Type: text/markdown
35
+ License-File: LICENSE
36
+ Requires-Dist: bidict>=0.23.1
37
+ Requires-Dist: clingo>=5.8.0
38
+ Provides-Extra: lint
39
+ Requires-Dist: ruff; extra == "lint"
40
+ Provides-Extra: typecheck
41
+ Requires-Dist: pytest; extra == "typecheck"
42
+ Requires-Dist: ty; extra == "typecheck"
43
+ Requires-Dist: nox; extra == "typecheck"
44
+ Provides-Extra: test
45
+ Requires-Dist: pytest; extra == "test"
46
+ Requires-Dist: pytest-cov; extra == "test"
47
+ Requires-Dist: coverage[toml]; extra == "test"
48
+ Provides-Extra: doc
49
+ Requires-Dist: mkdocs; extra == "doc"
50
+ Requires-Dist: mkdocs-material; extra == "doc"
51
+ Requires-Dist: mkdocstrings>=1.0.4; extra == "doc"
52
+ Requires-Dist: mkdocstrings-python>=2.0; extra == "doc"
53
+ Requires-Dist: clindocs>=1.5.1; extra == "doc"
54
+ Requires-Dist: mkdocs-literate-nav; extra == "doc"
55
+ Requires-Dist: pygments_clingo; extra == "doc"
56
+ Provides-Extra: dev
57
+ Requires-Dist: musclingo[lint,test,typecheck]; extra == "dev"
58
+ Dynamic: license-file
59
+
60
+ [![Documentation](https://img.shields.io/badge/docs-potassco.org-blue)](https://docs.potassco.org/musclingo/)
61
+ [![PyPI version](https://img.shields.io/pypi/v/musclingo)](https://pypi.org/project/musclingo/)
62
+ [![License](https://img.shields.io/github/license/potassco/musclingo)](LICENSE)
63
+
64
+ # musclingo
65
+
66
+ ## Installation
67
+
68
+ To install the project from the repository, run
69
+
70
+ ```bash
71
+ pip install .
72
+ ```
73
+
74
+ To install the project from pypi run
75
+
76
+ ```bash
77
+ pip install musclingo
78
+ ```
79
+
80
+ ## Documentation
81
+
82
+ Full documentation is available at
83
+ **[docs.potassco.org/musclingo](https://docs.potassco.org/musclingo/)**.
@@ -0,0 +1,24 @@
1
+ [![Documentation](https://img.shields.io/badge/docs-potassco.org-blue)](https://docs.potassco.org/musclingo/)
2
+ [![PyPI version](https://img.shields.io/pypi/v/musclingo)](https://pypi.org/project/musclingo/)
3
+ [![License](https://img.shields.io/github/license/potassco/musclingo)](LICENSE)
4
+
5
+ # musclingo
6
+
7
+ ## Installation
8
+
9
+ To install the project from the repository, run
10
+
11
+ ```bash
12
+ pip install .
13
+ ```
14
+
15
+ To install the project from pypi run
16
+
17
+ ```bash
18
+ pip install musclingo
19
+ ```
20
+
21
+ ## Documentation
22
+
23
+ Full documentation is available at
24
+ **[docs.potassco.org/musclingo](https://docs.potassco.org/musclingo/)**.
@@ -0,0 +1,17 @@
1
+ * Getting Started
2
+ * [Quick Start Guide](use/quick-start.md)
3
+ * [Installation](use/installation.md)
4
+ * [Help](use/help.md)
5
+ * Reference
6
+ * [Reference](reference/index.md)
7
+ * API Documentation
8
+ * [Algorithms](reference/api/algorithms.md)
9
+ * [Shrinking](reference/api/shrink.md)
10
+ * [Utils](reference/api/utils.md)
11
+ * [Examples](examples/index.md)
12
+ * Community
13
+ * [Community](community/index.md)
14
+ * [Contributing](community/CONTRIBUTING.md)
15
+ * [Changes](community/CHANGES.md)
16
+ * [Development](community/DEVELOPMENT.md)
17
+ * [Deployment](community/DEPLOYMENT.md)
@@ -0,0 +1,181 @@
1
+ /* ============================================================
2
+ Brand colors
3
+ ============================================================ */
4
+
5
+ :root {
6
+ --md-primary-fg-color: #6495ED;
7
+ }
8
+
9
+ [data-md-color-scheme="default"] .md-header,
10
+ [data-md-color-scheme="default"] .md-tabs,
11
+ [data-md-color-scheme="slate"] .md-header,
12
+ [data-md-color-scheme="slate"] .md-tabs {
13
+ --md-primary-fg-color: #2E3360;
14
+ }
15
+
16
+ [data-md-color-scheme="default"] .md-nav--primary .md-nav__title,
17
+ [data-md-color-scheme="slate"] .md-nav--primary .md-nav__title {
18
+ background-color: #2E3360;
19
+ }
20
+
21
+
22
+ [data-md-color-scheme="default"] {
23
+ --md-footer-bg-color: #00000005;
24
+ --md-footer-bg-color--dark: #00000005;
25
+ --md-footer-fg-color--lighter: #000000;
26
+ --md-footer-fg-color--light: #000000;
27
+ /* --md-footer-fg-color: #000000; */
28
+ }
29
+
30
+
31
+ [data-md-color-scheme="slate"] {
32
+ --md-footer-bg-color: #00000060;
33
+ --md-footer-bg-color--dark: #00000060;
34
+ --md-footer-fg-color--lighter: #FFFFFF;
35
+ --md-footer-fg-color--light: #FFFFFF90;
36
+ }
37
+
38
+ /* ============================================================
39
+ Code highlight colors
40
+ ============================================================ */
41
+
42
+ [data-md-color-scheme="default"] {
43
+ --md-code-hl-number-color: hsl(11, 80%, 40%);
44
+ --md-code-hl-special-color: hsl(340, 75%, 45%);
45
+ --md-code-hl-function-color: hsl(271, 55%, 45%);
46
+ --md-code-hl-constant-color: hsl(220, 70%, 45%);
47
+ --md-code-hl-keyword-color: var(--md-primary-fg-color);
48
+ --md-code-hl-string-color: hsl(160, 50%, 30%);
49
+ --md-code-hl-name-color: hsl(43, 90%, 32%);
50
+ --md-code-hl-operator-color: hsl(0, 0%, 30%);
51
+ --md-code-hl-punctuation-color: hsl(271, 45%, 45%);
52
+ --md-code-hl-comment-color: hsl(210, 15%, 50%);
53
+ --md-code-hl-generic-color: hsl(210, 15%, 45%);
54
+ --md-code-hl-variable-color: hsl(24, 70%, 38%);
55
+ }
56
+
57
+ [data-md-color-scheme="slate"] {
58
+ --md-code-hl-number-color: hsl(11, 85%, 68%);
59
+ --md-code-hl-special-color: hsl(340, 82%, 72%);
60
+ --md-code-hl-function-color: hsl(271, 70%, 78%);
61
+ --md-code-hl-constant-color: hsl(220, 80%, 75%);
62
+ --md-code-hl-keyword-color: #6fa3f7;
63
+ --md-code-hl-string-color: hsl(160, 55%, 60%);
64
+ --md-code-hl-name-color: hsl(43, 100%, 65%);
65
+ --md-code-hl-operator-color: hsl(0, 0%, 72%);
66
+ --md-code-hl-punctuation-color: hsl(271, 60%, 78%);
67
+ --md-code-hl-comment-color: hsl(210, 15%, 55%);
68
+ --md-code-hl-generic-color: hsl(210, 15%, 62%);
69
+ --md-code-hl-variable-color: hsl(24, 80%, 68%);
70
+ }
71
+
72
+
73
+ /* ============================================================
74
+ Layout
75
+ ============================================================ */
76
+
77
+ .md-grid {
78
+ max-width: 1350px;
79
+ }
80
+
81
+
82
+ /* ============================================================
83
+ Header
84
+ ============================================================ */
85
+
86
+ .md-header__title {
87
+ font-size: 1.2rem;
88
+ height: 2.5rem;
89
+ line-height: 2.5rem;
90
+ margin-left: 0 !important;
91
+ }
92
+
93
+ .md-header__button.md-logo {
94
+ padding-bottom: 0.8rem;
95
+ }
96
+
97
+ .md-header__button.md-logo img,
98
+ .md-header__button.md-logo svg {
99
+ height: 1.5rem;
100
+ width: 1.5rem;
101
+ }
102
+
103
+
104
+ /* ============================================================
105
+ Admonitions
106
+ ============================================================ */
107
+
108
+ .md-typeset .admonition,
109
+ .md-typeset details {
110
+ border-width: 0;
111
+ border-left-width: 3px;
112
+ }
113
+
114
+ /* info / note / abstract / tip — primary color */
115
+ .md-typeset .info>.admonition-title,
116
+ .md-typeset .info>summary,
117
+ .md-typeset .note>.admonition-title,
118
+ .md-typeset .note>summary,
119
+ .md-typeset .abstract>.admonition-title,
120
+ .md-typeset .abstract>summary,
121
+ .md-typeset .tip>.admonition-title,
122
+ .md-typeset .tip>summary {
123
+ border-color: var(--md-primary-fg-color);
124
+ background-color: color-mix(in srgb, var(--md-primary-fg-color) 10%, transparent);
125
+ }
126
+
127
+ .md-typeset .admonition.info,
128
+ .md-typeset details.info,
129
+ .md-typeset .admonition.note,
130
+ .md-typeset details.note,
131
+ .md-typeset .admonition.abstract,
132
+ .md-typeset details.abstract,
133
+ .md-typeset .admonition.tip,
134
+ .md-typeset details.tip {
135
+ border-color: var(--md-primary-fg-color);
136
+ }
137
+
138
+ .md-typeset .info>.admonition-title::before,
139
+ .md-typeset .info>summary::before,
140
+ .md-typeset .note>.admonition-title::before,
141
+ .md-typeset .note>summary::before,
142
+ .md-typeset .abstract>.admonition-title::before,
143
+ .md-typeset .abstract>summary::before,
144
+ .md-typeset .tip>.admonition-title::before,
145
+ .md-typeset .tip>summary::before {
146
+ background-color: var(--md-primary-fg-color);
147
+ }
148
+
149
+ /* question — yellow */
150
+ .md-typeset .question>.admonition-title,
151
+ .md-typeset .question>summary {
152
+ border-color: #A8AD00;
153
+ background-color: color-mix(in srgb, #A8AD00 10%, transparent);
154
+ }
155
+
156
+ .md-typeset .admonition.question,
157
+ .md-typeset details.question {
158
+ border-color: #A8AD00;
159
+ }
160
+
161
+ .md-typeset .question>.admonition-title::before,
162
+ .md-typeset .question>summary::before {
163
+ background-color: #A8AD00;
164
+ }
165
+
166
+ /* success — green */
167
+ .md-typeset .success>.admonition-title,
168
+ .md-typeset .success>summary {
169
+ border-color: #A8AD00;
170
+ background-color: color-mix(in srgb, #A8AD00 10%, transparent);
171
+ }
172
+
173
+ .md-typeset .admonition.success,
174
+ .md-typeset details.success {
175
+ border-color: #A8AD00;
176
+ }
177
+
178
+ .md-typeset .success>.admonition-title::before,
179
+ .md-typeset .success>summary::before {
180
+ background-color: #A8AD00;
181
+ }