%global _empty_manifest_terminate_build 0
Name: python-mkdocs-drawio-exporter
Version: 0.8.0
Release: 1
Summary: Exports your Draw.io diagrams at build time for easier embedding into your documentation
License: MIT
URL: https://github.com/LukeCarrier/mkdocs-drawio-exporter
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/17/4c/d5bea00fe919c24257af50e475abe3b30decc039ea22d13ea1de532a8756/mkdocs-drawio-exporter-0.8.0.tar.gz
BuildArch: noarch
Requires: python3-mkdocs
%description
## Quick start
First install the package:
```
$ pip install mkdocs-drawio-exporter
```
Then enable it:
```yaml
plugins:
- drawio-exporter
```
## Configuration
For the default configuration, just add the plugin to the `plugins` key:
```yaml
plugins:
- drawio-exporter
```
You can override the default configuration:
```yaml
plugins:
- drawio-exporter:
# Diagrams are cached to speed up site generation. The default path is
# drawio-exporter, relative to the documentation directory.
cache_dir: 'drawio-exporter'
# Path to the Draw.io executable:
# * drawio on Linux
# * draw.io on macOS
# * or draw.io.exe on Windows
# We'll look for it on your system's PATH, then default installation
# paths. If we can't find it we'll warn you.
drawio_executable: null
# Additional Draw.io CLI args
drawio_args: []
# Output format (see draw.io --help | grep format)
format: svg
# Embed format
# * The default is to embed via the tag, only rewriting the
# value of the src attribute.
# * Consider
# to enable interactive elements (like hyperlinks) in SVGs.
embed_format: '{img_open}{img_src}{img_close}'
# Glob pattern for matching source files
sources: '*.drawio'
```
## Usage
With the plugin configured, you can now proceed to embed images by simply embedding the `*.drawio` diagram file as you would with any image file:
```markdown
![My alt text](my-diagram.drawio)
```
If you're working with multi-page documents, append the index of the page as an anchor in the URL:
```markdown
![Page 1](my-diagram.drawio#0)
```
The plugin will export the diagram to the `format` specified in your configuration and will rewrite the `` tag in the generated page to match. To speed up your documentation rebuilds, the generated output will be placed into `cache_dir` and then copied to the desired destination. The cached images will only be updated if the source diagram's modification date is newer than the cached export. Thus, bear in mind caching works per file - with large multi-page documents a change to one page will rebuild all pages, which will be slower than separate files per page.
### Headless usage
In addition to the above, if you're running in a headless environment (e.g. in integration, or inside a Docker container), you may need to ensure a display server is running and that the necessary dependencies are installed.
On Debian and Ubuntu, the following should install the dependencies:
```console
sudo apt install libasound2 xvfb
```
To run MkDocs with an automatically assigned X display, wrap the command as follows:
```console
xvfb-run -a mkdocs build
```
### Running without the sandbox
If you're seeing messages like the following it's likely that you're running MkDocs as root:
```text
[22:0418/231827.169035:FATAL:electron_main_delegate.cc(211)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
```
If possible, consider running MkDocs as a non-privileged user. Depending on the circumstances (e.g. running within an unprivileged container) it may be appropriate to disable the Chrome sandbox by adding the following option to `mkdocs.yml`:
```yaml
plugins:
- drawio-exporter:
drawio_args:
- --no-sandbox
```
## Hacking
To get completion working in your editor, set up a virtual environment in the root of this repository and install MkDocs:
```
$ pip3 install --user --upgrade setuptools twine wheel
$ python3 -m venv venv
$ . venv/bin/activate
$ pip install -r requirements.txt
```
To install the plugin onto a local MkDocs site in editable form:
```
$ pip install --editable /path/to/mkdocs-drawio-exporter
```
Note that you'll need to repeat this step if you make any changes to the `entry_points` listed in `setup.py`.
Run the tests with the Python `unittest` module:
```
$ python -m unittest mkdocsdrawioexporter.tests
```
## Upgrading dependencies
To upgrade the dependencies, install `pip-upgrader`:
```console
. venv/bin/activate
pip install -r requirements.dev.txt
```
Then proceed to update the dependencies:
```console
pip-upgrade requirements.dev.txt
```
## Releasing
Build the distributable package:
```
$ python3 setup.py sdist bdist_wheel
```
Push it to the PyPI test instance:
```
$ python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
```
Test it inside a virtual environment:
```
$ pip install --index-url https://test.pypi.org/simple/ --no-deps mkdocs-drawio-exporter
```
Let's go live:
```
$ python3 -m twine upload dist/*
```
%package -n python3-mkdocs-drawio-exporter
Summary: Exports your Draw.io diagrams at build time for easier embedding into your documentation
Provides: python-mkdocs-drawio-exporter
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-mkdocs-drawio-exporter
## Quick start
First install the package:
```
$ pip install mkdocs-drawio-exporter
```
Then enable it:
```yaml
plugins:
- drawio-exporter
```
## Configuration
For the default configuration, just add the plugin to the `plugins` key:
```yaml
plugins:
- drawio-exporter
```
You can override the default configuration:
```yaml
plugins:
- drawio-exporter:
# Diagrams are cached to speed up site generation. The default path is
# drawio-exporter, relative to the documentation directory.
cache_dir: 'drawio-exporter'
# Path to the Draw.io executable:
# * drawio on Linux
# * draw.io on macOS
# * or draw.io.exe on Windows
# We'll look for it on your system's PATH, then default installation
# paths. If we can't find it we'll warn you.
drawio_executable: null
# Additional Draw.io CLI args
drawio_args: []
# Output format (see draw.io --help | grep format)
format: svg
# Embed format
# * The default is to embed via the tag, only rewriting the
# value of the src attribute.
# * Consider
# to enable interactive elements (like hyperlinks) in SVGs.
embed_format: '{img_open}{img_src}{img_close}'
# Glob pattern for matching source files
sources: '*.drawio'
```
## Usage
With the plugin configured, you can now proceed to embed images by simply embedding the `*.drawio` diagram file as you would with any image file:
```markdown
![My alt text](my-diagram.drawio)
```
If you're working with multi-page documents, append the index of the page as an anchor in the URL:
```markdown
![Page 1](my-diagram.drawio#0)
```
The plugin will export the diagram to the `format` specified in your configuration and will rewrite the `` tag in the generated page to match. To speed up your documentation rebuilds, the generated output will be placed into `cache_dir` and then copied to the desired destination. The cached images will only be updated if the source diagram's modification date is newer than the cached export. Thus, bear in mind caching works per file - with large multi-page documents a change to one page will rebuild all pages, which will be slower than separate files per page.
### Headless usage
In addition to the above, if you're running in a headless environment (e.g. in integration, or inside a Docker container), you may need to ensure a display server is running and that the necessary dependencies are installed.
On Debian and Ubuntu, the following should install the dependencies:
```console
sudo apt install libasound2 xvfb
```
To run MkDocs with an automatically assigned X display, wrap the command as follows:
```console
xvfb-run -a mkdocs build
```
### Running without the sandbox
If you're seeing messages like the following it's likely that you're running MkDocs as root:
```text
[22:0418/231827.169035:FATAL:electron_main_delegate.cc(211)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
```
If possible, consider running MkDocs as a non-privileged user. Depending on the circumstances (e.g. running within an unprivileged container) it may be appropriate to disable the Chrome sandbox by adding the following option to `mkdocs.yml`:
```yaml
plugins:
- drawio-exporter:
drawio_args:
- --no-sandbox
```
## Hacking
To get completion working in your editor, set up a virtual environment in the root of this repository and install MkDocs:
```
$ pip3 install --user --upgrade setuptools twine wheel
$ python3 -m venv venv
$ . venv/bin/activate
$ pip install -r requirements.txt
```
To install the plugin onto a local MkDocs site in editable form:
```
$ pip install --editable /path/to/mkdocs-drawio-exporter
```
Note that you'll need to repeat this step if you make any changes to the `entry_points` listed in `setup.py`.
Run the tests with the Python `unittest` module:
```
$ python -m unittest mkdocsdrawioexporter.tests
```
## Upgrading dependencies
To upgrade the dependencies, install `pip-upgrader`:
```console
. venv/bin/activate
pip install -r requirements.dev.txt
```
Then proceed to update the dependencies:
```console
pip-upgrade requirements.dev.txt
```
## Releasing
Build the distributable package:
```
$ python3 setup.py sdist bdist_wheel
```
Push it to the PyPI test instance:
```
$ python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
```
Test it inside a virtual environment:
```
$ pip install --index-url https://test.pypi.org/simple/ --no-deps mkdocs-drawio-exporter
```
Let's go live:
```
$ python3 -m twine upload dist/*
```
%package help
Summary: Development documents and examples for mkdocs-drawio-exporter
Provides: python3-mkdocs-drawio-exporter-doc
%description help
## Quick start
First install the package:
```
$ pip install mkdocs-drawio-exporter
```
Then enable it:
```yaml
plugins:
- drawio-exporter
```
## Configuration
For the default configuration, just add the plugin to the `plugins` key:
```yaml
plugins:
- drawio-exporter
```
You can override the default configuration:
```yaml
plugins:
- drawio-exporter:
# Diagrams are cached to speed up site generation. The default path is
# drawio-exporter, relative to the documentation directory.
cache_dir: 'drawio-exporter'
# Path to the Draw.io executable:
# * drawio on Linux
# * draw.io on macOS
# * or draw.io.exe on Windows
# We'll look for it on your system's PATH, then default installation
# paths. If we can't find it we'll warn you.
drawio_executable: null
# Additional Draw.io CLI args
drawio_args: []
# Output format (see draw.io --help | grep format)
format: svg
# Embed format
# * The default is to embed via the tag, only rewriting the
# value of the src attribute.
# * Consider
# to enable interactive elements (like hyperlinks) in SVGs.
embed_format: '{img_open}{img_src}{img_close}'
# Glob pattern for matching source files
sources: '*.drawio'
```
## Usage
With the plugin configured, you can now proceed to embed images by simply embedding the `*.drawio` diagram file as you would with any image file:
```markdown
![My alt text](my-diagram.drawio)
```
If you're working with multi-page documents, append the index of the page as an anchor in the URL:
```markdown
![Page 1](my-diagram.drawio#0)
```
The plugin will export the diagram to the `format` specified in your configuration and will rewrite the `` tag in the generated page to match. To speed up your documentation rebuilds, the generated output will be placed into `cache_dir` and then copied to the desired destination. The cached images will only be updated if the source diagram's modification date is newer than the cached export. Thus, bear in mind caching works per file - with large multi-page documents a change to one page will rebuild all pages, which will be slower than separate files per page.
### Headless usage
In addition to the above, if you're running in a headless environment (e.g. in integration, or inside a Docker container), you may need to ensure a display server is running and that the necessary dependencies are installed.
On Debian and Ubuntu, the following should install the dependencies:
```console
sudo apt install libasound2 xvfb
```
To run MkDocs with an automatically assigned X display, wrap the command as follows:
```console
xvfb-run -a mkdocs build
```
### Running without the sandbox
If you're seeing messages like the following it's likely that you're running MkDocs as root:
```text
[22:0418/231827.169035:FATAL:electron_main_delegate.cc(211)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
```
If possible, consider running MkDocs as a non-privileged user. Depending on the circumstances (e.g. running within an unprivileged container) it may be appropriate to disable the Chrome sandbox by adding the following option to `mkdocs.yml`:
```yaml
plugins:
- drawio-exporter:
drawio_args:
- --no-sandbox
```
## Hacking
To get completion working in your editor, set up a virtual environment in the root of this repository and install MkDocs:
```
$ pip3 install --user --upgrade setuptools twine wheel
$ python3 -m venv venv
$ . venv/bin/activate
$ pip install -r requirements.txt
```
To install the plugin onto a local MkDocs site in editable form:
```
$ pip install --editable /path/to/mkdocs-drawio-exporter
```
Note that you'll need to repeat this step if you make any changes to the `entry_points` listed in `setup.py`.
Run the tests with the Python `unittest` module:
```
$ python -m unittest mkdocsdrawioexporter.tests
```
## Upgrading dependencies
To upgrade the dependencies, install `pip-upgrader`:
```console
. venv/bin/activate
pip install -r requirements.dev.txt
```
Then proceed to update the dependencies:
```console
pip-upgrade requirements.dev.txt
```
## Releasing
Build the distributable package:
```
$ python3 setup.py sdist bdist_wheel
```
Push it to the PyPI test instance:
```
$ python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
```
Test it inside a virtual environment:
```
$ pip install --index-url https://test.pypi.org/simple/ --no-deps mkdocs-drawio-exporter
```
Let's go live:
```
$ python3 -m twine upload dist/*
```
%prep
%autosetup -n mkdocs-drawio-exporter-0.8.0
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-mkdocs-drawio-exporter -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue May 30 2023 Python_Bot - 0.8.0-1
- Package Spec generated