Method: Lookbook::Config#initialize

Defined in:
lib/lookbook/config.rb

#initializeConfig

Returns a new instance of Config.



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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/lookbook/config.rb', line 7

def initialize
  @options = Store.new({}, true)

  @options.set({
    project_name: "Lookbook",
    log_level: 2,
    auto_refresh: true,

    components_path: "app/components",

    page_controller: "Lookbook::PageController",
    page_route: "pages",
    page_paths: ["test/components/docs"],
    page_options: {},
    markdown_options: Markdown::DEFAULT_OPTIONS,

    preview_paths: [],
    preview_display_params: {},
    preview_srcdoc: nil,
    preview_tags: {},
    preview_disable_action_view_annotations: true,
    sort_examples: false,

    listen: Rails.env.development?,
    listen_paths: [],
    listen_extensions: ["rb", "html.*"],
    listen_use_polling: false,

    cable_mount_path: "/cable",
    cable_logger: Lookbook.logger,

    parser_registry_path: "tmp/storage/.yardoc",

    ui_theme: "indigo",
    ui_theme_overrides: {},
    ui_favicon: true,

    hooks: {
      after_initialize: [],
      before_exit: [],
      after_change: []
    },

    debug_menu: Rails.env.development?,

    experimental_features: false,

    inspector_panels: {
      preview: {
        pane: :main,
        position: 1,
        partial: "lookbook/previews/panels/preview",
        hotkey: "v",
        panel_classes: "overflow-hidden",
        padded: false,
        system: true
      },
      output: {
        pane: :main,
        position: 2,
        partial: "lookbook/previews/panels/output",
        label: "HTML",
        hotkey: "h",
        padded: false,
        system: true
      },
      source: {
        pane: :drawer,
        position: 1,
        partial: "lookbook/previews/panels/source",
        label: "Source",
        hotkey: "s",
        copy: ->(data) { data.examples.map { |e| e.source }.join("\n") },
        padded: false,
        system: true
      },
      notes: {
        pane: :drawer,
        position: 2,
        partial: "lookbook/previews/panels/notes",
        label: "Notes",
        hotkey: "n",
        disabled: ->(data) { data.examples.select { |e| e.notes.present? }.none? },
        padded: false,
        system: true
      },
      params: {
        pane: :drawer,
        position: 3,
        partial: "lookbook/previews/panels/params",
        label: "Params",
        hotkey: "p",
        disabled: ->(data) { data.preview.params.none? },
        padded: false,
        system: true
      }
    }
  })
end