summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers+gitlab@digital-scurf.org>2022-04-26 11:07:50 +0000
committerDaniel Silverstone <dsilvers+gitlab@digital-scurf.org>2022-04-26 11:07:50 +0000
commit12059fcb1ce8237e5587773043cd442e036531c2 (patch)
tree8940d4eca8c663e72cf051b22b9232eb6a84b056
parent924e05bc3d109340eeee7e06c6badeae12d45c10 (diff)
parent3422999e5a4fc6b08637d00cae11f523c747f036 (diff)
downloadsubplot-12059fcb1ce8237e5587773043cd442e036531c2.tar.gz
Merge branch 'liw/diagram' into 'main'
refactor: use "diagram" instead of "graph" Closes #255 See merge request subplot/subplot!273
-rw-r--r--src/diagrams.rs (renamed from src/graphmarkup.rs)16
-rw-r--r--src/lib.rs4
-rw-r--r--src/typeset.rs20
-rw-r--r--src/visitor/typesetting.rs4
-rw-r--r--subplot.md24
5 files changed, 34 insertions, 34 deletions
diff --git a/src/graphmarkup.rs b/src/diagrams.rs
index dc0a37e..96f5d70 100644
--- a/src/graphmarkup.rs
+++ b/src/diagrams.rs
@@ -60,7 +60,7 @@ lazy_static! {
static ref JAVA_PATH: Mutex<PathBuf> = Mutex::new(env!("BUILTIN_JAVA_PATH").into());
}
-/// A code block with markup for a graph.
+/// A code block with markup for a diagram.
///
/// The code block will be converted to an SVG image using an external
/// filter such as Graphviz dot or plantuml. SVG is the chosen image
@@ -70,7 +70,7 @@ lazy_static! {
/// This trait defines the interface for different kinds of markup
/// conversions. There's only one function that needs to be defined
/// for the trait.
-pub trait GraphMarkup {
+pub trait DiagramMarkup {
/// Convert the markup into an SVG.
fn as_svg(&self) -> Result<Vec<u8>>;
}
@@ -78,7 +78,7 @@ pub trait GraphMarkup {
/// A code block with pikchr markup.
///
/// ~~~~
-/// use subplot::{GraphMarkup, PikchrMarkup};
+/// use subplot::{DiagramMarkup, PikchrMarkup};
/// let markup = r#"line; box "Hello," "World!"; arrow"#;
/// let svg = PikchrMarkup::new(markup, None).as_svg().unwrap();
/// assert!(svg.len() > 0);
@@ -98,7 +98,7 @@ impl PikchrMarkup {
}
}
-impl GraphMarkup for PikchrMarkup {
+impl DiagramMarkup for PikchrMarkup {
fn as_svg(&self) -> Result<Vec<u8>> {
let mut flags = pikchr::PikchrFlags::default();
flags.generate_plain_errors();
@@ -111,7 +111,7 @@ impl GraphMarkup for PikchrMarkup {
/// A code block with Dot markup.
///
/// ~~~~
-/// use subplot::{GraphMarkup, DotMarkup};
+/// use subplot::{DiagramMarkup, DotMarkup};
/// let markup = r#"digraph "foo" { a -> b }"#;
/// let svg = DotMarkup::new(&markup).as_svg().unwrap();
/// assert!(svg.len() > 0);
@@ -129,7 +129,7 @@ impl DotMarkup {
}
}
-impl GraphMarkup for DotMarkup {
+impl DiagramMarkup for DotMarkup {
fn as_svg(&self) -> Result<Vec<u8>> {
let mut child = Command::new(DOT_PATH.lock().unwrap().clone())
.arg("-Tsvg")
@@ -154,7 +154,7 @@ impl GraphMarkup for DotMarkup {
/// A code block with PlantUML markup.
///
/// ~~~~
-/// use subplot::{GraphMarkup, PlantumlMarkup};
+/// use subplot::{DiagramMarkup, PlantumlMarkup};
/// let markup = "@startuml\nAlice -> Bob\n@enduml";
/// let svg = PlantumlMarkup::new(&markup).as_svg().unwrap();
/// assert!(svg.len() > 0);
@@ -190,7 +190,7 @@ impl PlantumlMarkup {
// Acquire path to JAR for pandoc
}
-impl GraphMarkup for PlantumlMarkup {
+impl DiagramMarkup for PlantumlMarkup {
fn as_svg(&self) -> Result<Vec<u8>> {
let mut cmd = Command::new(JAVA_PATH.lock().unwrap().clone());
cmd.arg("-Djava.awt.headless=true")
diff --git a/src/lib.rs b/src/lib.rs
index 4bef83a..d253765 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -21,8 +21,8 @@ pub use error::Warnings;
pub mod resource;
-mod graphmarkup;
-pub use graphmarkup::{DotMarkup, GraphMarkup, MarkupOpts, PikchrMarkup, PlantumlMarkup};
+mod diagrams;
+pub use diagrams::{DiagramMarkup, DotMarkup, MarkupOpts, PikchrMarkup, PlantumlMarkup};
mod datafiles;
pub use datafiles::DataFile;
diff --git a/src/typeset.rs b/src/typeset.rs
index bc86ef8..18e5a44 100644
--- a/src/typeset.rs
+++ b/src/typeset.rs
@@ -4,7 +4,7 @@ use crate::PartialStep;
use crate::ScenarioStep;
use crate::StepKind;
use crate::SubplotError;
-use crate::{DotMarkup, GraphMarkup, PikchrMarkup, PlantumlMarkup};
+use crate::{DiagramMarkup, DotMarkup, PikchrMarkup, PlantumlMarkup};
use crate::{Warning, Warnings};
use pandoc_ast::Attr;
@@ -147,10 +147,10 @@ pub fn link_as_note(attr: Attr, text: Vec<Inline>, target: Target) -> Inline {
Inline::Span(attr, text)
}
-/// Take a pikchr graph, render it as SVG, and return an AST block element.
+/// Take a pikchr diagram, render it as SVG, and return an AST block element.
///
-/// The `Block` will contain the SVG data. This allows the graph to be
-/// rendered without referencing external entities.
+/// The `Block` will contain the SVG data. This allows the diagram to
+/// be rendered without referencing external entities.
///
/// If the code block which contained the pikchr contains other classes, they
/// can be added to the SVG for use in later typesetting etc.
@@ -164,9 +164,9 @@ pub fn pikchr_to_block(pikchr: &str, class: Option<&str>, warnings: &mut Warning
}
}
-// Take a dot graph, render it as SVG, and return an AST Block
-// element. The Block will contain the SVG data. This allows the graph
-// to be rendered without referending external entities.
+// Take a dot diagram, render it as SVG, and return an AST Block
+// element. The Block will contain the SVG data. This allows the
+// diagram to be rendered without referending external entities.
pub fn dot_to_block(dot: &str, warnings: &mut Warnings) -> Block {
match DotMarkup::new(dot).as_svg() {
Ok(svg) => typeset_svg(svg),
@@ -177,9 +177,9 @@ pub fn dot_to_block(dot: &str, warnings: &mut Warnings) -> Block {
}
}
-// Take a PlantUML graph, render it as SVG, and return an AST Block
-// element. The Block will contain the SVG data. This allows the graph
-// to be rendered without referending external entities.
+// Take a PlantUML diagram, render it as SVG, and return an AST Block
+// element. The Block will contain the SVG data. This allows the
+// diagram to be rendered without referending external entities.
pub fn plantuml_to_block(markup: &str, warnings: &mut Warnings) -> Block {
match PlantumlMarkup::new(markup).as_svg() {
Ok(svg) => typeset_svg(svg),
diff --git a/src/visitor/typesetting.rs b/src/visitor/typesetting.rs
index 6f82c24..8d73f3e 100644
--- a/src/visitor/typesetting.rs
+++ b/src/visitor/typesetting.rs
@@ -30,8 +30,8 @@ impl<'a> TypesettingVisitor<'a> {
// Visit interesting parts of the Pandoc abstract syntax tree. The
// document top level is a vector of blocks and we visit that and
// replace any fenced code block with the scenario tag with a typeset
-// paragraph. Also, replace fenced code blocks with known graph markup
-// with the rendered SVG image.
+// paragraph. Also, replace fenced code blocks with known diagram
+// markup with the rendered SVG image.
impl<'a> MutVisitor for TypesettingVisitor<'a> {
fn visit_vec_block(&mut self, vec_block: &mut Vec<Block>) {
use panhelper::is_class;
diff --git a/subplot.md b/subplot.md
index 18fe8d5..3d4fb91 100644
--- a/subplot.md
+++ b/subplot.md
@@ -87,7 +87,7 @@ Subplot also generates a test program, in Python, that verifies the
acceptance criteria are met, for developers and testers and auditors
to verify the system under test meets its acceptance criteria. The
generated program uses code written by the Subplot user to implement
-the verification steps. The graph below illustrates this and shows how
+the verification steps. The diagram below illustrates this and shows how
data flows through the system.
```dot
@@ -588,7 +588,7 @@ syntax highlighting, if the language is specified: `.markdown`,
Subplot also understands the `dot` and `roadmap` tags, and can use the
Graphviz dot program, or the [roadmap][] Rust crate, to produce
-graphs. These can useful for describing things visually.
+diagrams. These can useful for describing things visually.
When typesetting files, Subplot will automatically number the lines in
the file so that documentation prose can refer to sections of embedded
@@ -2922,9 +2922,9 @@ title: Two embedded files
~~~~~~
-## Embedded graphs
+## Embedded diagrams
-Subplot allows embedding markup to generate graphs into the Markdown document.
+Subplot allows embedding markup to generate diagrams into the Markdown document.
### Pikchr
@@ -2942,7 +2942,7 @@ arrow <-> down 70% from last box.s
box same "Pikchr" "Formatter" "(docs.rs/pikchr)" fit
~~~
-The scenario checks that a graph is generated and embedded into the HTML output,
+The scenario checks that a diagram is generated and embedded into the HTML output,
and is not referenced as an external image.
~~~scenario
@@ -2972,7 +2972,7 @@ box same "Pikchr" "Formatter" "(docs.rs/pikchr)" fit
[Graphviz]: http://www.graphviz.org/
Dot is a program from the [Graphviz][] suite to generate directed
-graphs, such as this one.
+diagrams, such as this one.
~~~dot
digraph "example" {
@@ -2980,7 +2980,7 @@ thing -> other
}
~~~
-The scenario checks that a graph is generated and embedded into the
+The scenario checks that a diagram is generated and embedded into the
HTML output, not referenced as an external image.
~~~scenario
@@ -2994,7 +2994,7 @@ then file dot.html matches regex /img src="data:image/svg\+xml;base64,/
The sample input file **dot.md**:
~~~~~~~~{#dot.md .file .markdown .numberLines}
-This is an example Markdown file, which embeds a graph using dot markup.
+This is an example Markdown file, which embeds a diagram using dot markup.
~~~dot
digraph "example" {
@@ -3009,7 +3009,7 @@ thing -> other
[PlantUML]: https://plantuml.com/
-[PlantUML][] is a program to generate various kinds of graphs for
+[PlantUML][] is a program to generate various kinds of diagrams for
describing software, such as this one:
~~~plantuml
@@ -3022,7 +3022,7 @@ Alice <-- Bob: Another authentication Response
@enduml
~~~
-The scenario below checks that a graph is generated and embedded into
+The scenario below checks that a diagram is generated and embedded into
the HTML output, not referenced as an external image.
~~~scenario
@@ -3036,7 +3036,7 @@ then file plantuml.html matches regex /img src="data:image/svg\+xml;base64,/
The sample input file **plantuml.md**:
~~~~~~~~{#plantuml.md .file .markdown .numberLines}
-This is an example Markdown file, which embeds a graph using
+This is an example Markdown file, which embeds a diagram using
PlantUML markup.
~~~plantuml
@@ -3103,7 +3103,7 @@ blocked:
- next
~~~
-This scenario checks that a graph is generated and embedded into the
+This scenario checks that a diagram is generated and embedded into the
HTML output, not referenced as an external image.
~~~scenario