mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-08-04 02:08:17 +00:00
feat: add more kinds of export task (#1152)
This commit is contained in:
parent
da16d14d2d
commit
6fa10f63fc
2 changed files with 45 additions and 1 deletions
|
@ -35,6 +35,11 @@ pub enum TaskWhen {
|
|||
OnSave,
|
||||
/// Run task on type.
|
||||
OnType,
|
||||
/// [DEPRECATED] Run task when a document has a title and on saved, which is
|
||||
/// useful to filter out template files.
|
||||
///
|
||||
/// Note: this is deprecating.
|
||||
OnDocumentHasTitle,
|
||||
}
|
||||
|
||||
impl TaskWhen {
|
||||
|
|
|
@ -365,6 +365,12 @@ pub enum ProjectTask {
|
|||
ExportPng(ExportPngTask),
|
||||
/// An export SVG task.
|
||||
ExportSvg(ExportSvgTask),
|
||||
/// An export HTML task.
|
||||
ExportHtml(ExportHtmlTask),
|
||||
/// An export Markdown task.
|
||||
ExportMarkdown(ExportMarkdownTask),
|
||||
/// An export Text task.
|
||||
ExportText(ExportTextTask),
|
||||
// todo: compatibility
|
||||
// An export task of another type.
|
||||
// Other(serde_json::Value),
|
||||
|
@ -378,6 +384,9 @@ impl ProjectTask {
|
|||
ProjectTask::ExportPdf(task) => &task.export.document,
|
||||
ProjectTask::ExportPng(task) => &task.export.document,
|
||||
ProjectTask::ExportSvg(task) => &task.export.document,
|
||||
ProjectTask::ExportHtml(task) => &task.export.document,
|
||||
ProjectTask::ExportMarkdown(task) => &task.export.document,
|
||||
ProjectTask::ExportText(task) => &task.export.document,
|
||||
// ProjectTask::Other(_) => return None,
|
||||
}
|
||||
}
|
||||
|
@ -389,6 +398,9 @@ impl ProjectTask {
|
|||
ProjectTask::ExportPdf(task) => &task.export.id,
|
||||
ProjectTask::ExportPng(task) => &task.export.id,
|
||||
ProjectTask::ExportSvg(task) => &task.export.id,
|
||||
ProjectTask::ExportHtml(task) => &task.export.id,
|
||||
ProjectTask::ExportMarkdown(task) => &task.export.id,
|
||||
ProjectTask::ExportText(task) => &task.export.id,
|
||||
// ProjectTask::Other(_) => return None,
|
||||
}
|
||||
}
|
||||
|
@ -452,7 +464,7 @@ pub struct ExportPngTask {
|
|||
pub ppi: f32,
|
||||
}
|
||||
|
||||
/// An export png task specifier.
|
||||
/// An export svg task specifier.
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub struct ExportSvgTask {
|
||||
|
@ -461,6 +473,33 @@ pub struct ExportSvgTask {
|
|||
pub export: ExportTask,
|
||||
}
|
||||
|
||||
/// An export html task specifier.
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub struct ExportHtmlTask {
|
||||
/// The shared export arguments
|
||||
#[serde(flatten)]
|
||||
pub export: ExportTask,
|
||||
}
|
||||
|
||||
/// An export markdown task specifier.
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub struct ExportMarkdownTask {
|
||||
/// The shared export arguments
|
||||
#[serde(flatten)]
|
||||
pub export: ExportTask,
|
||||
}
|
||||
|
||||
/// An export text task specifier.
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub struct ExportTextTask {
|
||||
/// The shared export arguments
|
||||
#[serde(flatten)]
|
||||
pub export: ExportTask,
|
||||
}
|
||||
|
||||
/// A project route specifier.
|
||||
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue