-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild.rs
More file actions
44 lines (38 loc) · 2.27 KB
/
build.rs
File metadata and controls
44 lines (38 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use std::fs;
use std::path::Path;
use reqwest::blocking::Client;
fn main() {
println!("cargo:rerun-if-changed=build.rs");
let docs_dir = Path::new("src").join("embedded_docs");
fs::create_dir_all(&docs_dir).expect("Failed to create embedded_docs directory");
let wiki_pages = [
// vec of all docs on wiki
("Home", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Home.md"),
("Get Started", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Get-Started.md"),
("Brain Rot Mode", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Brain-Rot-Mode-☠%EF%B8%8F.md"),
("Control Flow", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Control-Flow.md"),
("Data Types", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Data-Types.md"),
("File Extension", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/File-Extension.md"),
("Libraries", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Libraries.md"),
("Loops", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Loops.md"),
("Operators", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Operators.md"),
("Syntax", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Syntax.md"),
("Variables", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Variables.md"),
("Functions", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Functions.md"),
("Verbose Mode", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/Verbose-Mode.md"),
("For Developers", "https://raw.githubusercontent.com/wiki/Tidal-Lang/Tidal/For-Developers.md"),
];
let client = Client::new();
for (name, url) in wiki_pages.iter() {
println!("Fetching documentation: {}", name);
let content = client.get(*url)
.send()
.expect(&format!("Failed to fetch {}", name))
.text()
.expect(&format!("Failed to read content for {}", name));
let file_path = docs_dir.join(format!("{}.md", name.replace(" ", "_")));
fs::write(&file_path, content)
.expect(&format!("Failed to write {}", file_path.display()));
}
println!("Successfully fetched all documentation files");
}