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}