Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-06-15 | FIXME: Add comment about char::escape_default()wip/stop_mangling_non-ascii | cos | |
2021-06-15 | Bugfix: Allow ID Strings | seancarroll | |
A user, Martin, reached out about a bug with IDs specifically with quoting. Dotavious initially just used the string provided by caller however this is problematic for a few different scenarios amongst others 1. Strings with spaces 2. Double-quoted strings 3. Strings with non-alphanumerical content Details about IDs can be found at https://graphviz.org/doc/info/lang.html This commit conditional formats IDs based on the following 1. Wrap string in quotes if containing non alpha-numerical characters 2. Escape quotes found in string My rationale for conditionally formatting is mostly around keeping previous behavior intact. Quote from the link above An ID is just a string; the lack of quote characters in the first two forms is just for simplicity. There is no semantic difference between abc_2 and "abc_2", or between 2.34 and "2.34" Given these IDs are semantically the same I wanted to keep the same formatting which is unquoted. NOTE: This does not address HTML strings as IDs which needs to be addressed at a later date. | |||
2021-06-15 | Allow any ID string | cos | |
According to the grammar of The DOT Language[1], an ID can be given in one of four possible formats. Where the most permissive format is any string quoted within double quotes. For generated output to be valid, the ID strings better use that format. Since dotavious does not, and should not, enforce that the ID only contains characters from any of the more limited forms. [1]: https://www.graphviz.org/doc/info/lang.html | |||
2021-03-23 | support Into<String> in more scenarios to remove the need for users to ↵ | seancarroll | |
always have to perform a .to_string | |||
2021-03-22 | fix html_root_url | seancarroll | |
2021-03-22 | some minor tweaks | seancarroll | |
2021-03-20 | adds ViewPort struct | seancarroll | |
2021-01-20 | Attribute Constraints | seancarroll | |
This adds some attribute constraints. We validate certain constraints based on information from http://www.graphviz.org/doc/info/attrs.html. Validation errors are collected as part of builders, we still add the attribute regardless or not if it fails validation, and build methods return ValidationResult<T> where errors is a Vec<ValidationError>. We still add attributes even if the validation fails so that users can ignore validation errors and build appropriate struct. | |||
2021-01-17 | flushing out more complex example for docs | seancarroll | |
2021-01-16 | fix some docs | seancarroll | |
2021-01-16 | Remove Attribute Statement Structs for IndexMap | seancarroll | |
I didnt think we were getting a ton of benefit from the AttributeStatement abstraction so I replaced it with IndexMap which the attribute statement impl were using internally. While the DOT language docs (https://graphviz.org/doc/info/lang.html) do call out attr_stmt as part of the language definition the overhead of the related traits, impl, structs, etc felt a bit heavy. In particular, supporting the ability to create them as part of a build as well as allowing users to add to them via other bulid fns was a bit awkward. For now I think removing the abstraction makes sense and provides for a simpler implementation. Can revisit this down the road if other requirements come up that perhaps warrant the addittional code. | |||
2021-01-12 | support subgraphs | seancarroll | |
2021-01-10 | improve rust docs | seancarroll | |
2021-01-10 | ditch render options for now | seancarroll | |
2021-01-09 | cargo fmt | seancarroll | |
2021-01-08 | working through how to make it easier to render DOT to string | seancarroll | |
2021-01-08 | improving docs | seancarroll | |
2021-01-07 | adding rustdocs | seancarroll | |
2021-01-06 | trying to organize files and use declarations | seancarroll | |
2021-01-03 | more organization | seancarroll | |
2021-01-03 | starting some work on improving organization | seancarroll | |
2021-01-03 | we arent using Config and i'm not 100% sure what if any configuration or ↵ | seancarroll | |
rendering options I want to support so for now delete | |||
2021-01-02 | adding rustfmt.toml and ran cargo fmt on project | seancarroll | |
2021-01-02 | tidy up some shared code and docs | seancarroll | |
2021-01-02 | tweak Point constructors | seancarroll | |
2021-01-02 | adds rectangle struct | seancarroll | |
2021-01-02 | minor tweaks | seancarroll | |
2021-01-02 | allows to specify port positions on edge statements | seancarroll | |
2021-01-02 | adding port position attribute | seancarroll | |
2021-01-02 | ditch custom trait for converting struct/enums to AttributeText and instead ↵ | seancarroll | |
use Rust's From trait | |||
2021-01-01 | start using From trait to convert u32, f32, bool, etc to AttributeText | seancarroll | |
2021-01-01 | split out attribute_text from DotString into own trait called Attribute | seancarroll | |
2021-01-01 | fix typo | seancarroll | |
2021-01-01 | adds tests. still working through some DotString implementations | seancarroll | |
2020-12-30 | alter dot rendering to fix issue when graph id not provided | seancarroll | |
2020-12-30 | moving more things over to DotString trait | seancarroll | |
2020-12-29 | cant spell. quotted -> quoted | seancarroll | |
2020-12-29 | adding more colorlist and point methods. adding Ratio enum. Thinking about a ↵ | seancarroll | |
new trait that will provide attribute text and string | |||
2020-12-29 | trying some usability changes for fill_color by accepting vec of tuples | seancarroll | |
2020-12-28 | bit of cleanup. adding colorlist fns | seancarroll | |
2020-12-26 | remove NamedColor for &str | seancarroll | |
2020-12-26 | change name of X11 to NamedColor and adding WeightedColor/ColorList | seancarroll | |
2020-12-24 | Use &self for as_slice to resolve following warning. 'methods called ↵ | seancarroll | |
usually take self by reference or self by mutable reference; consider choosing a less ambiguous name' | |||
2020-12-24 | dont think to use String::from now that we use Cow. Adding Color struct | seancarroll | |
2020-12-22 | trying some things to reduce some duplication when building node/edge ↵ | seancarroll | |
statements and nodes/edges | |||
2020-12-20 | finishing up edge attribute fns | seancarroll | |
2020-12-20 | start work on edge attribute fns | seancarroll | |
2020-12-19 | adding more fns for nodes | seancarroll | |
2020-12-18 | working on additional node functions | seancarroll | |
2020-12-18 | adds typed graph functions | seancarroll | |