201 lines
7.2 KiB
Ruby
201 lines
7.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "fileutils"
|
|
|
|
require_relative "./.vuepress/process_file.rb"
|
|
require_relative "./.vuepress/add_placeholders.rb"
|
|
|
|
$verbose = false
|
|
|
|
def verbose(message)
|
|
puts message if $verbose
|
|
end
|
|
|
|
if Dir.exist?("docs") then
|
|
puts "➡️ Removing processed docs"
|
|
FileUtils.rm_rf("docs")
|
|
end
|
|
if Dir.exist?("addons/integrations") then
|
|
puts "➡️ Removing processed addons"
|
|
FileUtils.rm_rf("docs")
|
|
end
|
|
|
|
puts "➡️ Migrating the introduction article"
|
|
process_file(".", "introduction.md", "docs", "https://github.com/openhab/openhab-docs/blob/main/introduction.md")
|
|
FileUtils.mv("docs/introduction.md", "docs/readme.md")
|
|
|
|
# puts "➡️ Migrating common images"
|
|
# FileUtils.mkdir_p("docs/images")
|
|
|
|
puts "➡️ Migrating logos"
|
|
FileUtils.cp_r("./images/addons", ".vuepress/public/logos")
|
|
|
|
puts "➡️ Migrating the Concepts section"
|
|
Dir.glob("./concepts/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./concepts", file, "docs/concepts", "#{$docs_repo_root}/concepts/#{file}")
|
|
end
|
|
verbose " ➡️ images and diagrams"
|
|
FileUtils.cp_r("./concepts/images", "docs/concepts")
|
|
FileUtils.cp_r("./concepts/diagrams", "docs/concepts")
|
|
|
|
puts "➡️ Migrating the Installation section"
|
|
Dir.glob("./installation/*.md") do |path|
|
|
file = File.basename(path)
|
|
next if file == "designer.md"
|
|
|
|
verbose " ➡️ #{file}"
|
|
process_file("./installation", file, "docs/installation",
|
|
"#{$docs_repo_root}/installation/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./installation/images", "docs/installation")
|
|
|
|
puts "➡️ Migrating the Tutorial section"
|
|
Dir.glob("./tutorials/getting_started/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./tutorials/getting_started", file, "docs/tutorial",
|
|
"#{$docs_repo_root}/tutorials/getting_started/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./tutorials/getting_started/images", "docs/tutorial")
|
|
|
|
puts "➡️ Migrating the Configuration section"
|
|
Dir.glob("./configuration/*.md") do |path|
|
|
file = File.basename(path)
|
|
next if file == "transform.md" # Useless, copy the one from addons
|
|
|
|
verbose " ➡️ #{file}"
|
|
process_file("./configuration", file, "docs/configuration",
|
|
"#{$docs_repo_root}/configuration/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./configuration/images", "docs/configuration")
|
|
|
|
puts "➡️ Migrating the Main UI section"
|
|
Dir.glob("./mainui/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./mainui", file, "docs/mainui", "#{$docs_repo_root}/mainui/#{file}")
|
|
end
|
|
%w[developer settings].each do |subsection|
|
|
Dir.glob("./mainui/#{subsection}/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{subsection}/#{file}"
|
|
process_file("./mainui/#{subsection}", file, "docs/mainui/#{subsection}",
|
|
"#{$docs_repo_root}/mainui/#{subsection}/#{file}")
|
|
end
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./mainui/images", "docs/mainui")
|
|
|
|
puts "➡️ Migrating the Migration Tutorial section"
|
|
Dir.glob("./configuration/migration/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./configuration/migration", file, "docs/configuration/migration",
|
|
"#{$docs_repo_root}/configuration/migration/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
# FileUtils.cp_r("./configuration/migration/images", "docs/configuration/migration/") // no images placed yet
|
|
|
|
puts "➡️ Migrating the Blockly Tutorial section"
|
|
Dir.glob("./configuration/blockly/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./configuration/blockly", file, "docs/configuration/blockly",
|
|
"#{$docs_repo_root}/configuration/blockly/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
# FileUtils.cp_r("./configuration/blockly/images", "docs/configuration/blockly/") // no images placed yet
|
|
|
|
puts "➡️ Migrating the UI section"
|
|
Dir.glob("./ui/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./ui", file, "docs/ui", "#{$docs_repo_root}/ui/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./ui/images", "docs/ui")
|
|
|
|
verbose " ➡️ habpanel"
|
|
FileUtils.mkdir_p("docs/ui/habpanel")
|
|
process_file("./_addons_uis/habpanel/doc", "habpanel.md", "docs/ui/habpanel", "")
|
|
verbose " ➡️ images"
|
|
if Dir.exist?("./_addons_uis/habpanel/doc/images")
|
|
FileUtils.cp_r("./_addons_uis/habpanel/doc/images",
|
|
"docs/ui/habpanel")
|
|
end
|
|
|
|
verbose " ➡️ habot"
|
|
FileUtils.mkdir_p("docs/ui/habot")
|
|
process_file("./_addons_uis/habot", "readme.md", "docs/ui/habot", "")
|
|
verbose " ➡️ images"
|
|
|
|
verbose " ➡️ components"
|
|
FileUtils.mkdir_p("docs/ui/components")
|
|
Dir.glob("./_addons_uis/org.openhab.ui/doc/components/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./_addons_uis/org.openhab.ui/doc/components", file, "docs/ui/components", "https://github.com/openhab/openhab-webui/blob/main/bundles/org.openhab.ui/doc/components/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
if Dir.exist?("./_addons_uis/org.openhab.ui/doc/components/images")
|
|
FileUtils.cp_r("./_addons_uis/org.openhab.ui/doc/components/images",
|
|
"docs/ui/components")
|
|
end
|
|
|
|
puts "➡️ Migrating the Apps section"
|
|
Dir.glob("./addons/uis/apps/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./addons/uis/apps", file, "docs/apps",
|
|
"#{$docs_repo_root}/addons/uis/apps/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./addons/uis/apps/images", "docs/apps")
|
|
|
|
puts "➡️ Migrating the Administration section"
|
|
Dir.glob("./administration/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./administration", file, "docs/administration",
|
|
"#{$docs_repo_root}/administration/#{file}")
|
|
end
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./administration/images", "docs/administration")
|
|
|
|
puts "➡️ Migrating the Developer section"
|
|
Dir.glob("./developers/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{file}"
|
|
process_file("./developers", file, "docs/developer", "#{$docs_repo_root}/developer/#{file}")
|
|
end
|
|
%w[audio bindings ioservices legacy module-types osgi persistence transformations utils
|
|
ide].each do |subsection|
|
|
Dir.glob("./developers/#{subsection}/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{subsection}/#{file}"
|
|
process_file("./developers/#{subsection}", file, "docs/developer/#{subsection}",
|
|
"#{$docs_repo_root}/developer/#{subsection}/#{file}")
|
|
end
|
|
end
|
|
|
|
verbose " ➡️ images"
|
|
FileUtils.cp_r("./developers/bindings/images", "docs/developer/bindings")
|
|
FileUtils.cp_r("./developers/osgi/images", "docs/developer/osgi")
|
|
FileUtils.cp_r("./developers/ide/images", "docs/developer/ide")
|
|
|
|
["addons"].each do |subsection|
|
|
Dir.glob("./developers/#{subsection}/*.md") do |path|
|
|
file = File.basename(path)
|
|
verbose " ➡️ #{subsection}/#{file}"
|
|
process_file("./developers/#{subsection}", file, "docs/developer/#{subsection}",
|
|
"#{$docs_repo_root}/developer/#{subsection}/#{file}")
|
|
end
|
|
end
|
|
|
|
add_placeholder_pages()
|