Module: Rakit::Hugo
- Defined in:
- lib/rakit/hugo.rb
Overview
Build Hugo static sites from source. Used by publish_docs and tests. Contract: specs/008-hugo-docs-site/contracts/ruby-api.md
Class Attribute Summary collapse
-
.hugo_path ⇒ Object
Returns the value of attribute hugo_path.
Class Method Summary collapse
- .build(site_dir:, out_dir:) ⇒ true, false
-
.valid_site?(site_dir) ⇒ Boolean
True if config.toml or config.yaml exists under site_dir.
Class Attribute Details
.hugo_path ⇒ Object
Returns the value of attribute hugo_path.
10 11 12 |
# File 'lib/rakit/hugo.rb', line 10 def hugo_path @hugo_path end |
Class Method Details
.build(site_dir:, out_dir:) ⇒ true, false
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rakit/hugo.rb', line 20 def build(site_dir:, out_dir:) site_dir = ::File.(site_dir) out_dir = ::File.(out_dir) return false unless ::File.directory?(site_dir) return false if ::File.file?(site_dir) FileUtils.mkdir_p(out_dir) success = system(hugo_path, "-s", site_dir, "-d", out_dir, out: $stdout, err: $stderr) return false unless success return false unless ::File.directory?(out_dir) && (Dir.entries(out_dir) - %w[. ..]).any? true end |
.valid_site?(site_dir) ⇒ Boolean
Returns true if config.toml or config.yaml exists under site_dir.
36 37 38 39 40 |
# File 'lib/rakit/hugo.rb', line 36 def valid_site?(site_dir) dir = ::File.(site_dir) return false unless ::File.directory?(dir) ::File.file?(::File.join(dir, "config.toml")) || ::File.file?(::File.join(dir, "config.yaml")) end |