-
Notifications
You must be signed in to change notification settings - Fork 233
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' into add_html_link_support
- Loading branch information
Showing
19 changed files
with
759 additions
and
123 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# Change Log | ||
|
||
## [0.2](https://github.com/formatc1702/WireViz/tree/v0.2) (2020-XX-XX) | ||
|
||
### Backward incompatible changes | ||
|
||
- Change names of connector attributes ([#77](https://github.com/formatc1702/WireViz/issues/77), [#105](https://github.com/formatc1702/WireViz/pull/105)) | ||
- `pinnumbers` is now `pins` | ||
- `pinout` is now `pinlabels` | ||
- Remove ferrules as a separate connector type ([#78](https://github.com/formatc1702/WireViz/issues/78), [#102](https://github.com/formatc1702/WireViz/pull/102)) | ||
- Simple connectors like ferrules are now defined using the `style: simple` attribute | ||
- Change the way loops are defined ([#79](https://github.com/formatc1702/WireViz/issues/79), [#75](https://github.com/formatc1702/WireViz/pull/75)) | ||
- Wires looping between two pins of the same connector are now handled via the connector's `loops` attribute. | ||
|
||
See the [syntax description](syntax.md) for details. | ||
|
||
|
||
### New features | ||
- Add bidirectional AWG/mm2 conversion ([#40](https://github.com/formatc1702/WireViz/issues/40), [#41](https://github.com/formatc1702/WireViz/pull/41)) | ||
- Add support for part numbers ([#11](https://github.com/formatc1702/WireViz/pull/11), [#114](https://github.com/formatc1702/WireViz/issues/114), [#121](https://github.com/formatc1702/WireViz/pull/121)) | ||
- Add support for multicolored wires ([#12](https://github.com/formatc1702/WireViz/issues/12), [#17](https://github.com/formatc1702/WireViz/pull/17), [#96](https://github.com/formatc1702/WireViz/pull/96), [#131](https://github.com/formatc1702/WireViz/issues/131), [#132](https://github.com/formatc1702/WireViz/pull/132)) | ||
- Add support for images ([#27](https://github.com/formatc1702/WireViz/issues/27), [#153](https://github.com/formatc1702/WireViz/pull/153)) | ||
- Add ability to export data directly to other programs ([#55](https://github.com/formatc1702/WireViz/pull/55)) | ||
- Add support for line breaks in various fields ([#49](https://github.com/formatc1702/WireViz/issues/49), [#64](https://github.com/formatc1702/WireViz/pull/64)) | ||
- Allow using connector pin names to define connections ([#72](https://github.com/formatc1702/WireViz/issues/72), [#139](https://github.com/formatc1702/WireViz/issues/139), [#140](https://github.com/formatc1702/WireViz/pull/140)) | ||
- Make defining connection sets easier and more flexible ([#67](https://github.com/formatc1702/WireViz/issues/67), [#75](https://github.com/formatc1702/WireViz/pull/75)) | ||
- Add new command line options ([#167](https://github.com/formatc1702/WireViz/issues/167), [#173](https://github.com/formatc1702/WireViz/pull/173)) | ||
- Add new features to `build_examples.py` ([#118](https://github.com/formatc1702/WireViz/pull/118)) | ||
- Add new colors ([#103](https://github.com/formatc1702/WireViz/pull/103), [#113](https://github.com/formatc1702/WireViz/pull/113), [#144](https://github.com/formatc1702/WireViz/issues/144), [#145](https://github.com/formatc1702/WireViz/pull/145)) | ||
- Improve documentation ([#107](https://github.com/formatc1702/WireViz/issues/107), [#111](https://github.com/formatc1702/WireViz/pull/111)) | ||
|
||
|
||
### Misc. fixes | ||
|
||
- Improve BOM generation | ||
- Add various input sanity checks | ||
- Improve HTML output ([#66](https://github.com/formatc1702/WireViz/issues/66), [#136](https://github.com/formatc1702/WireViz/pull/136), [#95](https://github.com/formatc1702/WireViz/pull/95)) | ||
- Fix node rendering bug ([#69](https://github.com/formatc1702/WireViz/issues/69), [#104](https://github.com/formatc1702/WireViz/pull/104)) | ||
- Improve shield rendering ([#125](https://github.com/formatc1702/WireViz/issues/125), [#126](https://github.com/formatc1702/WireViz/pull/126)) | ||
- Add GitHub Linguist overrides ([#146](https://github.com/formatc1702/WireViz/issues/146), [#154](https://github.com/formatc1702/WireViz/pull/154)) | ||
|
||
|
||
## [0.1](https://github.com/formatc1702/WireViz/tree/v0.1) (2020-06-29) | ||
|
||
- Initial release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Contribution Guidelines | ||
|
||
When contributing to this repository, please [submit a new issue](https://github.com/formatc1702/WireViz/issues) first to discuss the proposed change, before submitting a pull request. | ||
|
||
## Submitting a new Issue | ||
|
||
- First, search existing (open and closed) issues for any related issues. | ||
- You might then find an existing answer or suggested solution to your issue, possibly also an existing PR you can test. | ||
- When finding existing issues that seem related to your issue, please include references (# followed by issue number) to related issues in your new issue description, or if a very similar issue is still open, consider adding a comment in that issue instead of creating a new one. | ||
- When appropriate, please prefix your issue title with one of these category prefixes followed by a space: | ||
- **[bug]** When the issue seems to be caused by a bug. | ||
- **[feature]** When requesting a feature change or new feature. | ||
- **[internal]** When suggesting code improvements that doesn't change any output. | ||
- **[doc]** For documentation issues. | ||
- **[meta]** For issues about the development or contribution process. | ||
- Please include enough information in the description to enable another user to reproduce any error state described in your issue: | ||
- The versions of your WireViz, Graphviz (`dot -V`), Python (`python -V`), and operating system. | ||
- The relevant input files unless (preferably) you can demonstrate the same issue using one of the example files. If your input file is large or complex, please try to find a smaller/simplified input that still can reproduce the same issue. | ||
- Any warnings or error messages you get. | ||
- See also [How We Write Github Issues](https://wiredcraft.com/blog/how-we-write-our-github-issues/) in general. | ||
|
||
## Submitting a new Pull Request | ||
|
||
1. Fork this repository and clone it on your local machine. | ||
1. Create a new feature branch on top of the `dev` branch. | ||
1. Commit your code changes to this feature branch. | ||
1. Push the changes to your fork. | ||
1. Submit a new pull request, using `dev` as the base branch. | ||
1. Please include in the PR description (and optionally also in the commit message body) a reference (# followed by issue number) to the issue where the suggested changes are discussed. | ||
|
||
### Hints | ||
|
||
- Make sure to [write good commit messages](https://chris.beams.io/posts/git-commit/). | ||
- Always consider `git rebase` before `git merge` when joining commits from different branches, to keep the commit history simple and easier to read. | ||
- If the `dev` branch has advanced since your fork, consider rebasing onto the current state to avoid merge conflicts. | ||
- Avoid committing changes to generated files in PRs (examples, tutorials, etc.) to reduce merging conflicts. The owner will rebuild them. | ||
- For complex PRs, consider [interactively rebasing](https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history) your contribution to remove intermediate commits and clean up the commit history. | ||
- Feel free to submit a [draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests/) for your work-in-progress. This lets other contributors comment on and review your code, while clearly marking it as not ready for merging. | ||
|
||
|
||
## Documentation Strings | ||
|
||
Documentation strings are to follow the Google Style ([examples](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Advanced Image Usage | ||
|
||
In rare cases when the [ordinary image scaling functionality](syntax.md#images) is insufficient, a couple of extra optional image attributes can be set to offer extra image cell space and scaling functionality when combined with the image dimension attributes `width` and `height`, but in most cases their default values below are sufficient: | ||
- `scale: <str>` (how an image will use the available cell space) is default `false` if no dimension is set, or `true` if only one dimension is set, or `both` if both dimensions are set. | ||
- `fixedsize: <bool>` (scale to fixed size or expand to minimum size) is default `false` when no dimension is set or if a `scale` value is set, and `true` otherwise. | ||
- When `fixedsize` is true and only one dimension is set, then the other dimension is calculated using the image aspect ratio. If reading the aspect ratio fails, then 1:1 ratio is assumed. | ||
|
||
See explanations of all supported values for these attributes in subsections below. | ||
|
||
## The effect of `fixedsize` boolean values | ||
|
||
- When `false`, any `width` or `height` values are _minimum_ values used to expand the image cell size for more available space, but cell contents or other size demands in the table might expand this cell even more than specified by `width` or `height`. | ||
- When `true`, both `width` and `height` values are required by Graphwiz and specify the fixed size of the image cell, distorting any image inside if it don't fit. Any borders are normally drawn around the fixed size, and therefore, WireViz enclose the image cell in an extra table without borders when `fixedsize` is true to keep the borders around the outer non-fixed cell. | ||
|
||
## The effect of `scale` string values: | ||
|
||
- When `false`, the image is not scaled. | ||
- When `true`, the image is scaled proportionally to fit within the available image cell space. | ||
- When `width`, the image width is expanded (height is normally unchanged) to fill the available image cell space width. | ||
- When `height`, the image height is expanded (width is normally unchanged) to fill the available image cell space height. | ||
- When `both`, both image width and height are expanded independently to fill the available image cell space. | ||
|
||
In all cases (except `true`) the image might get distorted when a specified fixed image cell size limits the available space to less than what an unscaled image needs. | ||
|
||
In the WireViz diagrams there are no other space demanding cells in the same row, and hence, there are never extra available image cell space height unless a greater image cell `height` also is set. | ||
|
||
## Usage examples | ||
|
||
All examples of `image` attribute combinations below also require the mandatory `src` attribute to be set. | ||
|
||
- Expand the image proportionally to fit within a minimum height and the node width: | ||
```yaml | ||
height: 100 # Expand image cell to this minimum height | ||
fixedsize: false # Avoid scaling to a fixed size | ||
# scale default value is true in this case | ||
``` | ||
|
||
- Increase the space around the image by expanding the image cell space (width and/or height) to a larger value without scaling the image: | ||
```yaml | ||
width: 200 # Expand image cell to this minimum width | ||
height: 100 # Expand image cell to this minimum height | ||
scale: false # Avoid scaling the image | ||
# fixedsize default value is false in this case | ||
``` | ||
|
||
- Stretch the image width to fill the available space in the node: | ||
```yaml | ||
scale: width # Expand image width to fill the available image cell space | ||
# fixedsize default value is false in this case | ||
``` | ||
|
||
- Stretch the image height to a minimum value: | ||
```yaml | ||
height: 100 # Expand image cell to this minimum height | ||
scale: height # Expand image height to fill the available image cell space | ||
# fixedsize default value is false in this case | ||
``` | ||
|
||
## How Graphviz support this image scaling | ||
|
||
The connector and cable nodes are rendered using a HTML `<table>` containing an image cell `<td>` with `width`, `height`, and `fixedsize` attributes containing an image `<img>` with `src` and `scale` attributes. See also the [Graphviz doc](https://graphviz.org/doc/info/shapes.html#html), but note that WireViz uses default values as described above. |
Oops, something went wrong.