Module: Stratus

Defined in:
lib/stratus.rb,
lib/stratus/cli.rb,
lib/stratus/filters.rb,
lib/stratus/logging.rb,
lib/stratus/version.rb,
lib/stratus/settings.rb,
lib/stratus/tags/textile.rb,
lib/stratus/tags/markdown.rb,
lib/stratus/tags/sourcecode.rb

Defined Under Namespace

Modules: Filters, Generator, Logging, Resources Classes: CLI, MarkdownTag, SourcecodeTag, TextileTag

Constant Summary collapse

LIBPATH =
::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
PATH =
::File.dirname(LIBPATH) + ::File::SEPARATOR
VERSION =
"0.3.1"

Class Method Summary collapse

Class Method Details

.argsObject



7
8
9
# File 'lib/stratus.rb', line 7

def args
  @args || []
end

.args=(value) ⇒ Object



10
11
12
# File 'lib/stratus.rb', line 10

def args=(value)
  @args = value
end

.content_setting(type, key, default = nil) ⇒ Object



35
36
37
38
39
40
41
42
43
# File 'lib/stratus/settings.rb', line 35

def content_setting(type, key, default=nil)
  if content_settings.has_key?(type) and content_settings[type].has_key?(key)
    content_settings[type][key]
  elsif content_settings.has_key?('content') and content_settings['content'].has_key?(key)
    content_settings['content'][key]
  else
    default
  end
end

.content_settingsObject



25
26
27
28
29
30
# File 'lib/stratus/settings.rb', line 25

def content_settings
  @content_settings ||= returning({}) do |conf|
    conf.merge! YAML::load( File.open(::Stratus.site_path('config', 'content.yaml')) )
    validate_content_settings
  end
end

.libpath(*args) ⇒ Object



27
28
29
# File 'lib/stratus.rb', line 27

def libpath( *args )
  args.empty? ? LIBPATH : ::File.join(LIBPATH, args.flatten)
end

.output_dir(*args) ⇒ Object



22
23
24
25
# File 'lib/stratus.rb', line 22

def output_dir(*args)
  @output_dir ||= settings['generator'].fetch('output', 'www')
  args.empty? ? @output_dir : ::File.join(@output_dir, args.flatten)
end

.setting(key, default = nil, section = 'site') ⇒ Object



17
18
19
20
21
22
23
# File 'lib/stratus/settings.rb', line 17

def setting(key, default=nil, section='site')
  if settings.has_key?(section) and settings[section].has_key?(key)
    settings[section][key]
  else
    default
  end
end

.settingsObject



5
6
7
8
9
10
11
12
# File 'lib/stratus/settings.rb', line 5

def settings
  # Use Mash for these?
  @settings ||= returning({}) do |conf|
    conf.merge! YAML::load( File.open(::Stratus.site_path('config', 'site.yaml')) )
    validate_settings
    conf['site']['time'] = Time.now
  end
end

.site_path(*args) ⇒ Object



14
15
16
17
# File 'lib/stratus.rb', line 14

def site_path(*args)
  @site_path ||= File.expand_path('.')
  args.empty? ? @site_path : ::File.join(@site_path, args.flatten)
end

.site_path=(value) ⇒ Object



18
19
20
# File 'lib/stratus.rb', line 18

def site_path=(value)
  @site_path = value
end

.validate_content_settingsObject



32
33
# File 'lib/stratus/settings.rb', line 32

def validate_content_settings
end

.validate_settingsObject



14
15
# File 'lib/stratus/settings.rb', line 14

def validate_settings
end