Module: Middleman::Presentation

Defined in:
lib/middleman-presentation-core/main.rb,
lib/middleman-presentation-core/list.rb,
lib/middleman-presentation-core/ruby.rb,
lib/middleman-presentation-core/asset.rb,
lib/middleman-presentation-core/cache.rb,
lib/middleman-presentation-core/start.rb,
lib/middleman-presentation-core/utils.rb,
lib/middleman-presentation-core/errors.rb,
lib/middleman-presentation-core/logger.rb,
lib/middleman-presentation-core/plugin.rb,
lib/middleman-presentation-core/version.rb,
lib/middleman-presentation-core/cli/base.rb,
lib/middleman-presentation-core/cli/edit.rb,
lib/middleman-presentation-core/cli/init.rb,
lib/middleman-presentation-core/cli/list.rb,
lib/middleman-presentation-core/cli/show.rb,
lib/middleman-presentation-core/cli/build.rb,
lib/middleman-presentation-core/cli/serve.rb,
lib/middleman-presentation-core/component.rb,
lib/middleman-presentation-core/new_slide.rb,
lib/middleman-presentation-core/asset_list.rb,
lib/middleman-presentation-core/cli/change.rb,
lib/middleman-presentation-core/cli/create.rb,
lib/middleman-presentation-core/cli/export.rb,
lib/middleman-presentation-core/cli/runner.rb,
lib/middleman-presentation-core/cli/shared.rb,
lib/middleman-presentation-core/plugin_api.rb,
lib/middleman-presentation-core/slide_list.rb,
lib/middleman-presentation-core/slide_name.rb,
lib/middleman-presentation-core/asset_store.rb,
lib/middleman-presentation-core/ignore_file.rb,
lib/middleman-presentation-core/slide_group.rb,
lib/middleman-presentation-core/erb_template.rb,
lib/middleman-presentation-core/assets_loader.rb,
lib/middleman-presentation-core/assets_manager.rb,
lib/middleman-presentation-core/cli/base_group.rb,
lib/middleman-presentation-core/cli/edit_slide.rb,
lib/middleman-presentation-core/existing_slide.rb,
lib/middleman-presentation-core/group_template.rb,
lib/middleman-presentation-core/asset_component.rb,
lib/middleman-presentation-core/custom_template.rb,
lib/middleman-presentation-core/helpers_manager.rb,
lib/middleman-presentation-core/liquid_template.rb,
lib/middleman-presentation-core/plugins_manager.rb,
lib/middleman-presentation-core/cli/change_slide.rb,
lib/middleman-presentation-core/cli/create_slide.rb,
lib/middleman-presentation-core/cli/create_theme.rb,
lib/middleman-presentation-core/comparable_slide.rb,
lib/middleman-presentation-core/cli/create_plugin.rb,
lib/middleman-presentation-core/markdown_template.rb,
lib/middleman-presentation-core/application_config.rb,
lib/middleman-presentation-core/components_manager.rb,
lib/middleman-presentation-core/configuration_file.rb,
lib/middleman-presentation-core/frontend_component.rb,
lib/middleman-presentation-core/css_class_extracter.rb,
lib/middleman-presentation-core/locale_configurator.rb,
lib/middleman-presentation-core/middleman_extension.rb,
lib/middleman-presentation-core/presentation_helper.rb,
lib/middleman-presentation-core/cli/init_application.rb,
lib/middleman-presentation-core/build_readme_template.rb,
lib/middleman-presentation-core/middleman_environment.rb,
lib/middleman-presentation-core/cli/build_presentation.rb,
lib/middleman-presentation-core/cli/serve_presentation.rb,
lib/middleman-presentation-core/cli/create_presentation.rb,
lib/middleman-presentation-core/cli/export_presentation.rb,
lib/middleman-presentation-core/roles/comparable_by_name.rb,
lib/middleman-presentation-core/transformers/file_keeper.rb,
lib/middleman-presentation-core/transformers/sort_slides.rb,
lib/middleman-presentation-core/transformers/group_slides.rb,
lib/middleman-presentation-core/cli/init_predefined_slides.rb,
lib/middleman-presentation-core/transformers/ignore_slides.rb,
lib/middleman-presentation-core/presentation_license_template.rb,
lib/middleman-presentation-core/predefined_slide_templates_directory.rb,
lib/middleman-presentation-core/transformers/remove_duplicate_slides.rb

Overview

Presentation

Defined Under Namespace

Modules: Cli, ComparableByName, ComparableSlide, PluginApi, Transformers, Utils Classes: ApplicationConfig, Asset, AssetComponent, AssetList, AssetStore, AssetsLoader, AssetsManager, BuildReadmeTemplate, Cache, Component, ComponentsManager, ConfigurationFile, CssClassExtracter, CustomTemplate, ErbTemplate, ExistingSlide, FixtureNotFoundError, FrontendComponent, GroupTemplate, HelpersManager, IgnoreFile, LiquidTemplate, List, LocaleConfigurator, Logger, MarkdownTemplate, MiddlemanEnvironment, MiddlemanExtension, NewSlide, Plugin, PluginNotFoundError, PluginsManager, PredefinedSlideTemplateDirectory, PresentationHelper, PresentationLicenseTemplate, SlideGroup, SlideList, SlideName

Constant Summary collapse

REQUIRED_RUBY_VERSION =
'>= 2.1.0'
VERSION =
'0.17.7'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.assets_managerObject (readonly)

Returns the value of attribute assets_manager.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def assets_manager
  @assets_manager
end

.components_managerObject (readonly)

Returns the value of attribute components_manager.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def components_manager
  @components_manager
end

.configObject (readonly)

Returns the value of attribute config.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def config
  @config
end

.helpers_managerObject (readonly)

Returns the value of attribute helpers_manager.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def helpers_manager
  @helpers_manager
end

.locale_configuratorObject (readonly)

Returns the value of attribute locale_configurator.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def locale_configurator
  @locale_configurator
end

.loggerObject (readonly)

Returns the value of attribute logger.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def logger
  @logger
end

.plugins_managerObject (readonly)

Returns the value of attribute plugins_manager.



16
17
18
# File 'lib/middleman-presentation-core/main.rb', line 16

def plugins_manager
  @plugins_manager
end

Class Method Details

.debug_mode_enabled?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/middleman-presentation-core/main.rb', line 32

def debug_mode_enabled?
  debug_mode == true
end

.enable_debug_modeObject



36
37
38
39
# File 'lib/middleman-presentation-core/main.rb', line 36

def enable_debug_mode
  self.debug_mode = true
  Middleman::Presentation.config.debugging_libraries.each { |l| require l }
end

.start(environment) ⇒ Object



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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/middleman-presentation-core/start.rb', line 7

def start(environment)
  environment.instance_eval do
    activate :sprockets unless respond_to? :sprockets

    # For testing only otherwise config = Middleman::Pre...::Config.new
    # is run before the new home is set and the config file is created
    # and there is not used.
    Middleman::Presentation.config.redetect if ENV['MP_ENV'] == 'test'

    set :js_dir, Middleman::Presentation.config.scripts_directory
    set :images_dir, Middleman::Presentation.config.images_directory
    set :build_dir, Middleman::Presentation.config.build_directory
    set :css_dir, Middleman::Presentation.config.stylesheets_directory
    set :source_dir, Middleman::Presentation.config.sources_directory

    Middleman::Presentation::AssetsLoader.new(bower_directory: Middleman::Presentation::MiddlemanEnvironment.new.bower_path).load_at_presentation_runtime

    helpers Middleman::Presentation.helpers_manager.available_helpers

    set :markdown_engine, :kramdown
    set :markdown,
        parse_block_html: true,
        tables: true,
        syntax_highlighter: 'middleman_presentation',
        syntax_highlighter_opts: {
          code_block_class: 'mp-code-block',
          inline_code_class: 'mp-code-inline'
        },
        smartypants: true,
        smart_quotes: Middleman::Presentation.config.smart_quotes

    # ignore slides so that a user doesn't need to prepend slide names
    # with an underscore
    ignore 'slides/*'

    # all fetchable components reside in the bower directory. Their
    # assets are required with "component_name/path/to/asset.scss".
    # Therefore it's suffice enough to add the bower directory only.
    sprockets.append_path Pathname.new(File.join(root, Middleman::Presentation::MiddlemanEnvironment.new.bower_directory))

    # all non fetchable components can be hidden in rubygems and
    # therefor the full path to that components needs to be added
    Middleman::Presentation.components_manager.each_nonfetchable_component do |c|
      next if sprockets.appended_paths.include? c.path

      sprockets.append_path c.path
    end

    Middleman::Presentation.assets_manager.each_loadable_asset do |a|
      sprockets.import_asset a.load_path, &a.destination_path_resolver
    end

    activate :autoprefixer

    configure :build do
      if Middleman::Presentation.config.minify_assets
        activate :minify_css
        activate :minify_javascript
        activate :minify_html
      end
    end
  end
end

.stylable_filesObject



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/middleman-presentation-core/main.rb', line 41

def stylable_files
  paths = []

  paths << '../../../templates/slides/*.tt'
  paths << '../../../templates/predefined_slides.d/*.tt'

  paths.concat ['../../../templates/source/'].product(%w(layout.erb index.html.erb)).map(&:join)

  Rake::FileList.new(
    paths.map { |f| File.expand_path(f, __FILE__) }
  )
end

.t(*args, &block) ⇒ Object



24
25
26
# File 'lib/middleman-presentation-core/main.rb', line 24

def t(*args, &block)
  locale_configurator.t(*args, &block)
end

.underline_characterObject



28
29
30
# File 'lib/middleman-presentation-core/main.rb', line 28

def underline_character
  '#'
end