Skip to main content

demo/
demo.rs

1// ./examples/demo.rs
2
3use plot::lib::logic::{
4	DocEngine,
5	DocEngineMultiple,
6	IoConfig,
7	MX,
8	ScanSpec,
9	TabPathStructure,
10	TabSortBy,
11	TabSortOrder,
12	TabSpec,
13};
14
15fn main() -> Result<(), Box<dyn std::error::Error>> {
16	println!("=== TEST API BEZPOŚREDNIEGO ===");
17
18	// 1. Zamiast ręcznie wpisywać potężny wektor wzorców i ścieżek, korzystamy z
19	//    wbudowanego, idealnie skrojonego pod Rusta Defaulta!
20	// let scan_config = ScanSpec::default();
21	// Jeśli chciałbyś inną ścieżkę, po prostu: ScanSpec::new("./src")
22
23	// 2. Konfiguracja tabeli (bierzemy domyślne kolumny i tylko nadpisujemy
24	//    sortowanie)
25	// let table_config = TabSpec::default()
26	//    .sort(TabSortBy::Name, TabSortOrder::Desc, TabPathStructure::List);
27
28	// 3. Odpalenie głównego silnika
29	// DocEngine::new(scan_config)
30	//    .spec(table_config)
31	//    .view(MX::M, false, false)
32	//    .save_structure_of_the_content("./docs/raport-file", Some("file"))
33	//    .view(MX::M, true, false)
34	//    .save_content_of_the_structure("./docs/raport-docs", Some("docs"));
35
36	// println!("\n=== TEST API KONFIGURACYJNEGO (TOML) ===");
37
38	// 4. Inicjalizacja pliku TOML za pomocą nowej, bezpiecznej struktury IoConfig
39	// Tworzy ./.x-do.toml, jeśli jeszcze go nie ma (i ładuje do niego domyślne
40	// JobSpec)
41	IoConfig::default_config_init_if_missing(IoConfig::DEFAULT_PATH)?;
42
43	// 5. Wczytywanie konfiguracji i wykonanie zadań
44	let orchestrator = DocEngineMultiple::loader_default()?;
45	println!("{}", orchestrator.manifest);
46	// Jeśli chcesz odpalić konkretne zadanie (pamiętaj, w Default nazywa się
47	// "default_job", a nie "p1"!): orchestrator.job_id("default_job")?;
48
49	// A najprościej odpalić po prostu wszystkie zadania z pliku z automatu:
50	orchestrator.jobs()?;
51
52	Ok(())
53}