-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRakefile
More file actions
37 lines (28 loc) · 1002 Bytes
/
Rakefile
File metadata and controls
37 lines (28 loc) · 1002 Bytes
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
require "fileutils"
desc "Copy documentation files from projects to docs"
task :sync_docs do
projects = {
"ferrum" => { source: "projects/ferrum/docs", dest: "docs/ferrum" },
"cuprite" => { source: "projects/cuprite/docs", dest: "docs/cuprite" },
"vessel" => { source: "projects/vessel/docs", dest: "docs/vessel" }
}
projects.each do |name, paths|
source_dir, dest_dir = paths.values_at(:source, :dest)
unless Dir.exist?(source_dir)
puts "⚠️ Skipping #{name}: #{source_dir} does not exist"
next
end
puts "📄 Syncing #{name} docs..."
# Ensure destination directory exists
FileUtils.mkdir_p(dest_dir)
# Copy all Markdown files
Dir.glob(File.join(source_dir, '*.md')).each do |file|
filename = File.basename(file)
dest_file = File.join(dest_dir, filename)
FileUtils.cp(file, dest_file)
puts " ✓ Copied #{filename}"
end
end
puts "✅ Documentation sync complete!"
end
task default: :sync_docs