Module: Lookbook
- Defined in:
- lib/lookbook.rb,
lib/lookbook/lang.rb,
lib/lookbook/page.rb,
lib/lookbook/error.rb,
lib/lookbook/param.rb,
lib/lookbook/theme.rb,
lib/lookbook/utils.rb,
lib/lookbook/engine.rb,
lib/lookbook/entity.rb,
lib/lookbook/preview.rb,
lib/lookbook/process.rb,
lib/lookbook/version.rb,
lib/lookbook/features.rb,
lib/lookbook/component.rb,
lib/lookbook/websocket.rb,
lib/lookbook/collection.rb,
lib/lookbook/tags/id_tag.rb,
lib/lookbook/file_watcher.rb,
lib/lookbook/page_section.rb,
lib/lookbook/preview_group.rb,
lib/lookbook/support/store.rb,
lib/lookbook/tags/yard_tag.rb,
lib/lookbook/preview_parser.rb,
lib/lookbook/tags/label_tag.rb,
lib/lookbook/tags/param_tag.rb,
lib/lookbook/page_collection.rb,
lib/lookbook/preview_actions.rb,
lib/lookbook/preview_example.rb,
lib/lookbook/support/service.rb,
lib/lookbook/tags/custom_tag.rb,
lib/lookbook/tags/hidden_tag.rb,
lib/lookbook/source_inspector.rb,
lib/lookbook/stores/tag_store.rb,
lib/lookbook/tags/display_tag.rb,
lib/lookbook/stores/hook_store.rb,
lib/lookbook/tags/position_tag.rb,
lib/lookbook/tags/tag_provider.rb,
lib/lookbook/preview_collection.rb,
lib/lookbook/stores/input_store.rb,
lib/lookbook/stores/panel_store.rb,
lib/lookbook/tags/component_tag.rb,
app/channels/lookbook/connection.rb,
app/helpers/lookbook/page_helper.rb,
lib/lookbook/stores/config_store.rb,
lib/lookbook/support/null_object.rb,
app/helpers/lookbook/output_helper.rb,
lib/lookbook/tags/logical_path_tag.rb,
app/helpers/lookbook/preview_helper.rb,
lib/lookbook/services/config_loader.rb,
app/channels/lookbook/reload_channel.rb,
app/components/lookbook/nav/component.rb,
app/components/lookbook/tag_component.rb,
app/helpers/lookbook/component_helper.rb,
lib/lookbook/support/utils/path_utils.rb,
app/components/lookbook/base_component.rb,
app/components/lookbook/code/component.rb,
app/components/lookbook/icon/component.rb,
app/components/lookbook/tabs/component.rb,
app/components/lookbook/embed/component.rb,
app/components/lookbook/prose/component.rb,
app/helpers/lookbook/application_helper.rb,
lib/lookbook/services/markdown_renderer.rb,
app/components/lookbook/button/component.rb,
app/components/lookbook/filter/component.rb,
app/components/lookbook/header/component.rb,
app/controllers/lookbook/page_controller.rb,
lib/lookbook/support/errors/config_error.rb,
lib/lookbook/support/errors/parser_error.rb,
app/components/lookbook/toolbar/component.rb,
app/controllers/lookbook/pages_controller.rb,
lib/lookbook/services/string_value_caster.rb,
app/components/lookbook/nav/item/component.rb,
app/components/lookbook/tabs/tab/component.rb,
app/components/lookbook/viewport/component.rb,
lib/lookbook/services/code/code_beautifier.rb,
lib/lookbook/support/errors/lookbook_error.rb,
lib/lookbook/support/utils/attribute_utils.rb,
app/components/lookbook/page_tabs/component.rb,
lib/lookbook/services/code/code_highlighter.rb,
app/components/lookbook/debug_menu/component.rb,
app/components/lookbook/tab_panels/component.rb,
app/controllers/lookbook/previews_controller.rb,
app/components/lookbook/copy_button/component.rb,
app/controllers/lookbook/inspector_controller.rb,
lib/lookbook/services/tags/tag_options_parser.rb,
app/components/lookbook/button_group/component.rb,
app/components/lookbook/params/field/component.rb,
app/components/lookbook/split_layout/component.rb,
lib/lookbook/services/data/parsers/data_parser.rb,
lib/lookbook/services/data/parsers/json_parser.rb,
lib/lookbook/services/data/parsers/yaml_parser.rb,
lib/lookbook/services/urls/search_param_parser.rb,
app/components/lookbook/params/editor/component.rb,
app/controllers/lookbook/application_controller.rb,
lib/lookbook/services/tags/key_value_tag_parser.rb,
lib/lookbook/services/urls/search_param_builder.rb,
lib/lookbook/services/templates/styles_extractor.rb,
app/components/lookbook/inspector_panel/component.rb,
app/components/lookbook/tab_panels/panel/component.rb,
lib/lookbook/services/data/resolvers/data_resolver.rb,
lib/lookbook/services/data/resolvers/eval_resolver.rb,
lib/lookbook/services/data/resolvers/file_resolver.rb,
lib/lookbook/services/data/resolvers/yaml_resolver.rb,
app/components/lookbook/tabs/dropdown_tab/component.rb,
app/components/lookbook/dimensions_display/component.rb,
app/controllers/concerns/lookbook/targetable_concern.rb,
lib/lookbook/services/data/resolvers/method_resolver.rb,
lib/lookbook/services/templates/frontmatter_extractor.rb,
app/components/lookbook/display_options/field/component.rb,
app/components/lookbook/display_options/editor/component.rb,
lib/lookbook/services/templates/action_view_annotations_handler.rb,
lib/lookbook/services/templates/action_view_annotations_stripper.rb,
app/controllers/concerns/lookbook/with_preview_controller_concern.rb
Defined Under Namespace
Modules: ApplicationHelper, AttributeUtils, ComponentHelper, DisplayOptions, Features, Lang, OutputHelper, PageHelper, Params, PathUtils, PreviewActions, PreviewHelper, TargetableConcern, Utils, WithPreviewControllerConcern
Classes: ActionViewAnnotationsHandler, ActionViewAnnotationsStripper, ApplicationController, BaseComponent, CodeBeautifier, CodeHighlighter, Collection, Component, ComponentTag, ConfigError, ConfigLoader, ConfigStore, Connection, CustomTag, DataParser, DataResolver, DisplayTag, Engine, Entity, Error, EvalResolver, FileResolver, FileWatcher, FrontmatterExtractor, HiddenTag, HookStore, IdTag, InputStore, InspectorController, JsonParser, KeyValueTagParser, LabelTag, LogicalPathTag, LookbookError, MarkdownRenderer, MethodResolver, NullObject, NullWebsocket, Page, PageCollection, PageController, PageSection, PagesController, PanelStore, Param, ParamTag, ParserError, PositionTag, Preview, PreviewCollection, PreviewExample, PreviewGroup, PreviewParser, PreviewsController, Process, ReloadChannel, SearchParamBuilder, SearchParamParser, Service, SourceInspector, Store, StringValueCaster, StylesExtractor, TagComponent, TagOptionsParser, TagProvider, TagStore, Theme, Websocket, YamlParser, YamlResolver, YardTag
Constant Summary
collapse
- VERSION =
"1.3.1"
Class Method Summary
collapse
Class Method Details
.after_change(&block) ⇒ Object
104
105
106
|
# File 'lib/lookbook.rb', line 104
def after_change(&block)
Engine.hooks.add_hook(:after_change, block)
end
|
.after_initialize(&block) ⇒ Object
96
97
98
|
# File 'lib/lookbook.rb', line 96
def after_initialize(&block)
Engine.hooks.add_hook(:after_initialize, block)
end
|
.amend_panel(*args) ⇒ Object
81
82
83
|
# File 'lib/lookbook.rb', line 81
def amend_panel(*args)
Engine.panels.update_panel(*args)
end
|
.before_exit(&block) ⇒ Object
100
101
102
|
# File 'lib/lookbook.rb', line 100
def before_exit(&block)
Engine.hooks.add_hook(:before_exit, block)
end
|
.broadcast(event_name, data = {}) ⇒ Object
65
66
67
|
# File 'lib/lookbook.rb', line 65
def broadcast(event_name, data = {})
Engine.websocket&.broadcast(event_name.to_s, data)
end
|
22
23
24
|
# File 'lib/lookbook.rb', line 22
def configure
yield(config)
end
|
.data ⇒ Object
26
27
28
|
# File 'lib/lookbook.rb', line 26
def data
@data ||= Store.new
end
|
.data=(new_data) ⇒ Object
30
31
32
|
# File 'lib/lookbook.rb', line 30
def data=(new_data)
@data = Store.new(new_data)
end
|
.debug_data ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/lookbook.rb', line 44
def debug_data
{
version: version,
env: Rails.env.to_s,
config: [
config.to_h,
{panels: Engine.panels.to_h},
{inputs: Engine.inputs.to_h},
{tags: Engine.tags.to_h}
].inject(:merge)
}
end
|
.define_panel(name, *args) ⇒ Object
77
78
79
|
# File 'lib/lookbook.rb', line 77
def define_panel(name, *args)
Engine.panels.add_panel(name, :drawer, *args)
end
|
73
74
75
|
# File 'lib/lookbook.rb', line 73
def define_param_input(*args)
Engine.inputs.add_input(*args)
end
|
.define_tag(name, args = nil, &block) ⇒ Object
89
90
91
92
93
94
|
# File 'lib/lookbook.rb', line 89
def define_tag(name, args = nil, &block)
Engine.tags.add_tag(name, {
named_args: args.to_a,
after_parse: block
})
end
|
.logger ⇒ Object
34
35
36
37
38
39
40
41
42
|
# File 'lib/lookbook.rb', line 34
def logger
@logger ||= if Rails.logger.present? && config.log_use_rails_logger
Rails.logger
else
logger = Logger.new($stdout)
logger.level = config.log_level
logger
end
end
|
.pages ⇒ Object
61
62
63
|
# File 'lib/lookbook.rb', line 61
def pages
Page.all
end
|
.previews ⇒ Object
57
58
59
|
# File 'lib/lookbook.rb', line 57
def previews
Preview.all
end
|
.remove_panel(name) ⇒ Object
85
86
87
|
# File 'lib/lookbook.rb', line 85
def remove_panel(name)
Engine.panels.remove_panel(name)
end
|
.theme ⇒ Object
69
70
71
|
# File 'lib/lookbook.rb', line 69
def theme
@theme ||= Lookbook::Theme.new(config.ui_theme, config.ui_theme_overrides)
end
|
.version ⇒ Object
14
15
16
|
# File 'lib/lookbook.rb', line 14
def version
Lookbook::VERSION
end
|