Docusaurus 1.x has no config hook for arbitrary <head> tags, and the
verifier reads the served HTML without running JS, so the homepage tag is
injected during the deploy assemble step. The playground ships it in its
own index.html, in case /playground/ is registered as a separate property.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
The playground had no page copy for search engines to match: the title
said "Diagram as Code in your browser" and the app itself is a tool UI
with almost no prose, so queries like "python diagrams online" had
nothing to rank against.
- Retitle to "Diagrams Playground — Online Python Diagram Editor" and
rewrite the description around what people actually search for
- Add WebApplication structured data (free, browser-based dev tool)
- Add a docs page, Online Playground, with real content about the tool,
linking to it and back to the installation guide
- Use descriptive anchor text ("online playground") in the README and docs
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Search engines and social crawlers previously saw an empty page: the
playground shipped a bare <div id="root"> with no description, canonical,
or Open Graph tags — so shared links (the playground's own core feature)
rendered without a preview card.
- Add meta description, canonical URL, and Open Graph / Twitter cards
with a generated 1200x630 preview image
- Ship static fallback content inside #root, replaced by React on mount,
so crawlers and card bots (which never run JS) read real content
- Promote the app title to a proper <h1>
- Register /playground/ in the sitemap during deploy
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
A browser-based playground for the diagrams library: write Python, see
the rendered diagram instantly. Runs the real diagrams package
client-side via Pyodide (WASM) — fully static, no backend.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Upstream ships this icon as promethus.svg, so the generated class inherits
the misspelling. Adding the alias now keeps the correct spelling available
without a breaking rename later.
The note in autogen.sh saying the Azure set is out of date no longer
applies now that the icons have been refreshed.
autogen.sh copies resources/ into website/static/img/ and that copy is
tracked in the repo, so the docs site serves icons from there. Without it
the 71 new entries in docs/nodes/azure.md point at files that do not exist
and render as broken images.
The test job installs from the source tree, where diagrams/cli.py and
resources/ are always present, so two broken releases went out green:
- 0.24.1-0.24.4 declared a `diagrams = diagrams.cli:main` console script
while diagrams/cli.py did not exist, so `pipx install diagrams` installed
an executable that could only raise ModuleNotFoundError (#1149).
- 0.25.0 moved to a PEP 621 [project] table with no [build-system] table,
so pip built with setuptools and shipped a wheel with zero icons. It does
not raise: the CLI exits 0 and renders an 8 KB image of empty boxes.
Separately, the v0.24.4 tag was placed one commit before the version bump,
so the tag said 0.24.4 while pyproject.toml said 0.24.3 (#1183). Nothing
compared the two.
Add tests/test_packaging.py, which asserts against installed metadata and
on-disk files rather than the checkout: every declared console-script entry
point imports, every Node subclass's icon resolves through the production
Node._load_icon path, and diagrams.__version__ matches the distribution
metadata. A setUpModule guard skips the module, with an instruction, when
`import diagrams` does not resolve to the installed distribution, so an
unpacked sdist or a shadowed checkout cannot pass it vacuously.
Add .github/workflows/package.yml to build both artifacts, inspect the
sdist listing, install the wheel into a clean venv and run those invariants
against the install, plus the console script end to end.
Add scripts/check_release_version.py and a tag-version job that fails a
release whose tag does not name the version in pyproject.toml. The version
stays a single literal in pyproject.toml; diagrams.__version__ now reads it
back via importlib.metadata, reporting 0.0.0.dev0 when the imported package
is not the installed copy rather than echoing the wrong release number.
Split [tool.hatch.build] into per-target tables so the sdist also carries
tests/ and scripts/check_release_version.py, letting packagers verify a
build from the tarball without cloning.
Turn diagrams/gis/cplusplus.py into a deprecation shim aliasing
diagrams.gis.cli.Mapnik. The new icon test caught it: resources/gis/cplusplus
was never committed alongside the generated module in #847, so
gis.cplusplus.Mapnik has always rendered a blank node. docs/nodes/gis.md,
generated by the same autogen.sh run, already omits the module and documents
Mapnik at diagrams.gis.cli.Mapnik, which has a real icon.
The diagram image doesn't show correctly.
There is a typo in the image URI.
Instead of `/img/advanced_web_service_with_on-premise_colored.png` should be
`/img/advanced_web_service_with_on-premises_colored.png`
Update all Azure service icons from the latest Microsoft Azure Architecture
Icons package (https://learn.microsoft.com/en-us/azure/architecture/icons/).
Changes:
- Updated 632 existing icons with latest designs
- Added 71 new icons across categories (compute, identity, networking, etc.)
- Regenerated Python modules and documentation
New service classes include: AksAutomatic, ComputeFleet,
ContentSafety, ManagedDevopsPools, EntraConnectHealth,
ApplicationGatewayContainers, ServiceGroupRelationships, and more.
* Initial plan
* Initial plan for removing pre-commit from main dependencies
Co-authored-by: mingrammer <6178510+mingrammer@users.noreply.github.com>
* Remove pre-commit from main dependencies and clean up test artifacts
Co-authored-by: mingrammer <6178510+mingrammer@users.noreply.github.com>
* Move pre-commit to dev dependencies and revert .gitignore changes
Co-authored-by: mingrammer <6178510+mingrammer@users.noreply.github.com>
* Update poetry.lock to reflect dependency changes
Co-authored-by: mingrammer <6178510+mingrammer@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mingrammer <6178510+mingrammer@users.noreply.github.com>
- Add Azure_Icons to v18
- Update Contributing.md file to include Azure specific instructions
- Add DevContainer.json file to make further development easier
- Thanks @rfernandezdo for the initial v12 commit and approach