summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-06-08 06:08:32 +0300
committerLars Wirzenius <liw@liw.fi>2020-06-08 06:21:52 +0300
commit4eaf5080ce8f2bbece3110b196c6e4fa83f4e0d7 (patch)
tree26a3f44c7aacc94370c30427e00696275a2240a9
parentbba22e1f86967feebf94ebac327f7489c1029afd (diff)
downloadsubplot-4eaf5080ce8f2bbece3110b196c6e4fa83f4e0d7.tar.gz
feat(sp-meta): list names of embedded files in output
-rw-r--r--src/bin/sp-meta.rs8
-rw-r--r--subplot.md25
2 files changed, 33 insertions, 0 deletions
diff --git a/src/bin/sp-meta.rs b/src/bin/sp-meta.rs
index 49f6173..b693d26 100644
--- a/src/bin/sp-meta.rs
+++ b/src/bin/sp-meta.rs
@@ -45,6 +45,7 @@ struct Metadata {
function_files: Vec<String>,
bibliographies: Vec<String>,
scenarios: Vec<String>,
+ files: Vec<String>,
}
impl TryFrom<&mut Document> for Metadata {
@@ -79,6 +80,11 @@ impl TryFrom<&mut Document> for Metadata {
.into_iter()
.map(|s| s.title().to_owned())
.collect();
+ let files = doc
+ .files()
+ .iter()
+ .map(|f| f.filename().to_owned())
+ .collect();
Ok(Self {
sources,
title,
@@ -86,6 +92,7 @@ impl TryFrom<&mut Document> for Metadata {
function_files,
bibliographies,
scenarios,
+ files,
})
}
}
@@ -101,6 +108,7 @@ impl Metadata {
Self::write_list(&self.binding_files, "bindings");
Self::write_list(&self.function_files, "functions");
Self::write_list(&self.bibliographies, "bibliography");
+ Self::write_list(&self.files, "file");
Self::write_list(&self.scenarios, "scenario");
}
}
diff --git a/subplot.md b/subplot.md
index b2cdecf..bf8d651 100644
--- a/subplot.md
+++ b/subplot.md
@@ -1609,6 +1609,7 @@ bibliography: [foo.bib, bar.bib]
"foo.bib",
"bar.bib"
],
+ "files": [],
"scenarios": []
}
~~~
@@ -1812,6 +1813,30 @@ This is another embedded file, and has the same name in uppercase.
~~~~
+### List embedded files
+
+The `sp-meta` command lists embedded files in its output.
+
+~~~scenario
+given file two-embedded.md
+when I run sp-meta two-embedded.md
+then output matches /foo.txt/
+and output matches /bar.yaml/
+~~~
+
+~~~~~~{#two-embedded.md .file .markdown .numberLines}
+---
+title: Two embedded files
+...
+
+~~~{#foo.txt .file}
+~~~
+
+~~~{#bar.yaml. .file}
+~~~
+~~~~~~
+
+
## Embedded graphs
Subplot allows embedding markup to generate graphs into the Markdown document.