pub struct OkfDocument {
pub front: Yaml,
pub sections: BTreeMap<String, String>,
pub section_order: Vec<String>,
}Expand description
A parsed OKF file.
Fields§
§front: YamlMachine-readable front matter.
sections: BTreeMap<String, String>Body sections, keyed by their # heading text.
section_order: Vec<String>Heading order as it appeared, so emitting is stable.
Implementations§
Source§impl OkfDocument
impl OkfDocument
Sourcepub fn new(front: Yaml, sections: Vec<(&str, String)>) -> Self
pub fn new(front: Yaml, sections: Vec<(&str, String)>) -> Self
Build a document from front matter and ordered sections.
Sourcepub fn section_list(&self, heading: &str) -> Vec<String>
pub fn section_list(&self, heading: &str) -> Vec<String>
Read a section as a - item list.
Sourcepub fn parse_many(source: &str, path: &str) -> Result<Vec<Self>, MemoryError>
pub fn parse_many(source: &str, path: &str) -> Result<Vec<Self>, MemoryError>
Parse a category file holding several records back to back.
Records are delimited by --- fences in pairs: open, front matter,
close, body, then the next record’s open fence. A body line that is
exactly --- would therefore be read as a record boundary, so
Self::render_many refuses to write one.
Sourcepub fn render_many(docs: &[Self], path: &str) -> Result<String, MemoryError>
pub fn render_many(docs: &[Self], path: &str) -> Result<String, MemoryError>
Render several records into one category file.
Sourcepub fn to_markdown(&self) -> String
pub fn to_markdown(&self) -> String
Render the document back to text.
Trait Implementations§
Source§impl Clone for OkfDocument
impl Clone for OkfDocument
Source§fn clone(&self) -> OkfDocument
fn clone(&self) -> OkfDocument
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OkfDocument
impl Debug for OkfDocument
Source§impl PartialEq for OkfDocument
impl PartialEq for OkfDocument
impl StructuralPartialEq for OkfDocument
Auto Trait Implementations§
impl Freeze for OkfDocument
impl RefUnwindSafe for OkfDocument
impl Send for OkfDocument
impl Sync for OkfDocument
impl Unpin for OkfDocument
impl UnwindSafe for OkfDocument
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].