lookbook 1.2.1 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +47 -14
- data/app/assets/lookbook/css/themes/blue.css +4 -2
- data/app/assets/lookbook/css/themes/green.css +66 -0
- data/app/assets/lookbook/css/themes/indigo.css +4 -2
- data/app/assets/lookbook/css/themes/rose.css +66 -0
- data/app/assets/lookbook/css/themes/zinc.css +4 -2
- data/app/components/lookbook/base_component.rb +2 -2
- data/app/components/lookbook/code/component.css +2 -2
- data/app/components/lookbook/code/component.html.erb +3 -2
- data/app/components/lookbook/code/component.rb +13 -2
- data/app/components/lookbook/code/highlight_github.css +406 -0
- data/app/components/lookbook/header/component.html.erb +1 -1
- data/app/components/lookbook/inspector_panel/component.rb +4 -6
- data/app/components/lookbook/nav/component.rb +8 -15
- data/app/components/lookbook/nav/directory/component.html.erb +28 -0
- data/app/components/lookbook/nav/directory/component.rb +4 -0
- data/app/components/lookbook/nav/{item → entity}/component.html.erb +8 -8
- data/app/components/lookbook/nav/entity/component.rb +49 -0
- data/app/components/lookbook/nav/item/component.css +15 -0
- data/app/components/lookbook/nav/item/component.js +4 -0
- data/app/components/lookbook/nav/item/component.rb +13 -56
- data/app/components/lookbook/params/editor/component.html.erb +2 -2
- data/app/components/lookbook/params/editor/component.rb +3 -10
- data/app/components/lookbook/params/field/component.css +3 -3
- data/app/components/lookbook/params/field/component.html.erb +8 -8
- data/app/components/lookbook/params/field/component.rb +21 -72
- data/app/components/lookbook/split_layout/component.html.erb +1 -1
- data/app/components/lookbook/tabs/component.html.erb +1 -1
- data/app/components/lookbook/tabs/component.js +4 -0
- data/app/components/lookbook/tag_component.rb +1 -1
- data/app/components/lookbook/viewport/component.css +1 -1
- data/app/components/lookbook/viewport/component.html.erb +1 -1
- data/app/components/lookbook/viewport/component.rb +1 -1
- data/app/controllers/concerns/lookbook/targetable_concern.rb +131 -0
- data/app/controllers/concerns/lookbook/with_preview_controller_concern.rb +13 -0
- data/app/controllers/lookbook/application_controller.rb +21 -9
- data/app/controllers/lookbook/inspector_controller.rb +45 -0
- data/app/controllers/lookbook/page_controller.rb +13 -9
- data/app/controllers/lookbook/pages_controller.rb +9 -15
- data/app/controllers/lookbook/previews_controller.rb +4 -210
- data/app/helpers/lookbook/application_helper.rb +2 -2
- data/app/helpers/lookbook/output_helper.rb +5 -5
- data/app/helpers/lookbook/page_helper.rb +7 -4
- data/app/views/layouts/lookbook/application.html.erb +40 -38
- data/app/views/layouts/lookbook/page.html.erb +2 -2
- data/app/views/layouts/lookbook/shell.html.erb +3 -2
- data/app/views/layouts/lookbook/skeleton.html.erb +7 -7
- data/app/views/lookbook/index.html.erb +13 -2
- data/app/views/lookbook/{previews → inspector}/inputs/_color.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/inputs/_range.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/inputs/_select.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/inputs/_text.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/inputs/_textarea.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/inputs/_toggle.html.erb +5 -5
- data/app/views/lookbook/{previews → inspector}/panels/_content.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/panels/_notes.html.erb +2 -2
- data/app/views/lookbook/{previews → inspector}/panels/_output.html.erb +0 -0
- data/app/views/lookbook/inspector/panels/_params.html.erb +15 -0
- data/app/views/lookbook/{previews → inspector}/panels/_preview.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/panels/_source.html.erb +0 -0
- data/app/views/lookbook/{previews → inspector}/show.html.erb +5 -2
- data/config/app.yml +11 -1
- data/config/inputs.yml +12 -12
- data/config/languages.yml +41 -0
- data/config/panels.yml +6 -6
- data/config/routes.rb +5 -5
- data/config/tags.yml +8 -1
- data/lib/lookbook/engine.rb +103 -130
- data/lib/lookbook/entities/collections/component_collection.rb +4 -0
- data/lib/lookbook/entities/collections/concerns/hierarchical_collection.rb +23 -0
- data/lib/lookbook/entities/collections/entity_collection.rb +61 -0
- data/lib/lookbook/entities/collections/page_collection.rb +30 -0
- data/lib/lookbook/entities/collections/preview_collection.rb +41 -0
- data/lib/lookbook/entities/collections/preview_example_collection.rb +4 -0
- data/lib/lookbook/entities/component.rb +31 -0
- data/lib/lookbook/entities/concerns/annotatable.rb +58 -0
- data/lib/lookbook/entities/concerns/inspectable.rb +44 -0
- data/lib/lookbook/entities/concerns/locatable.rb +73 -0
- data/lib/lookbook/entities/concerns/navigable.rb +43 -0
- data/lib/lookbook/entities/entity.rb +53 -0
- data/lib/lookbook/entities/page.rb +80 -0
- data/lib/lookbook/entities/page_section.rb +43 -0
- data/lib/lookbook/entities/preview.rb +87 -0
- data/lib/lookbook/entities/preview_example.rb +100 -0
- data/lib/lookbook/entities/preview_group.rb +48 -0
- data/lib/lookbook/file_watcher.rb +47 -0
- data/lib/lookbook/lang.rb +12 -35
- data/lib/lookbook/param.rb +99 -0
- data/lib/lookbook/{preview_controller.rb → preview_actions.rb} +14 -3
- data/lib/lookbook/preview_parser.rb +53 -0
- data/lib/lookbook/process.rb +21 -0
- data/lib/lookbook/rendered_example.rb +37 -0
- data/lib/lookbook/services/code/code_beautifier.rb +21 -0
- data/lib/lookbook/services/code/code_highlighter.rb +69 -0
- data/lib/lookbook/services/code/code_indenter.rb +14 -0
- data/lib/lookbook/services/data/parsers/data_parser.rb +22 -0
- data/lib/lookbook/services/data/parsers/json_parser.rb +7 -0
- data/lib/lookbook/services/data/parsers/yaml_parser.rb +7 -0
- data/lib/lookbook/services/data/resolvers/data_resolver.rb +70 -0
- data/lib/lookbook/services/data/resolvers/eval_resolver.rb +10 -0
- data/lib/lookbook/services/data/resolvers/file_resolver.rb +28 -0
- data/lib/lookbook/services/data/resolvers/method_resolver.rb +10 -0
- data/lib/lookbook/services/data/resolvers/yaml_resolver.rb +18 -0
- data/lib/lookbook/services/entities/entity_tree_builder.rb +45 -0
- data/lib/lookbook/services/markdown_renderer.rb +29 -0
- data/lib/lookbook/services/position_prefix_parser.rb +16 -0
- data/lib/lookbook/services/string_value_caster.rb +60 -0
- data/lib/lookbook/services/tags/tag_options_parser.rb +62 -0
- data/lib/lookbook/services/templates/action_view_annotations_handler.rb +21 -0
- data/lib/lookbook/services/templates/action_view_annotations_stripper.rb +15 -0
- data/lib/lookbook/services/templates/frontmatter_extractor.rb +28 -0
- data/lib/lookbook/services/templates/styles_extractor.rb +38 -0
- data/lib/lookbook/services/{search_param_builder.rb → urls/search_param_builder.rb} +1 -1
- data/lib/lookbook/services/{search_param_parser.rb → urls/search_param_parser.rb} +1 -1
- data/lib/lookbook/stores/config_store.rb +12 -9
- data/lib/lookbook/stores/input_store.rb +7 -3
- data/lib/lookbook/stores/panel_store.rb +2 -2
- data/lib/lookbook/stores/tag_store.rb +3 -5
- data/lib/lookbook/support/null_object.rb +10 -0
- data/lib/lookbook/support/service.rb +2 -2
- data/lib/lookbook/support/store.rb +2 -35
- data/lib/lookbook/support/tree_node.rb +87 -0
- data/lib/lookbook/support/utils/path_utils.rb +32 -5
- data/lib/lookbook/support/utils/utils.rb +24 -0
- data/lib/lookbook/tags/component_tag.rb +13 -0
- data/lib/lookbook/tags/custom_tag.rb +61 -0
- data/lib/lookbook/tags/display_tag.rb +15 -0
- data/lib/lookbook/tags/hidden_tag.rb +13 -0
- data/lib/lookbook/tags/id_tag.rb +7 -0
- data/lib/lookbook/tags/label_tag.rb +4 -0
- data/lib/lookbook/tags/logical_path_tag.rb +7 -0
- data/lib/lookbook/tags/param_tag.rb +63 -0
- data/lib/lookbook/tags/position_tag.rb +16 -0
- data/lib/lookbook/tags/source_tag.rb +7 -0
- data/lib/lookbook/tags/tag_provider.rb +18 -0
- data/lib/lookbook/tags/yard_tag.rb +90 -0
- data/lib/lookbook/theme.rb +8 -0
- data/lib/lookbook/version.rb +1 -1
- data/lib/lookbook/websocket.rb +60 -0
- data/lib/lookbook.rb +13 -8
- data/public/lookbook-assets/css/lookbook.css +487 -411
- data/public/lookbook-assets/css/lookbook.css.map +1 -1
- data/public/lookbook-assets/css/themes/blue.css +3 -1
- data/public/lookbook-assets/css/themes/blue.css.map +1 -1
- data/public/lookbook-assets/css/themes/green.css +68 -0
- data/public/lookbook-assets/css/themes/green.css.map +1 -0
- data/public/lookbook-assets/css/themes/indigo.css +3 -1
- data/public/lookbook-assets/css/themes/indigo.css.map +1 -1
- data/public/lookbook-assets/css/themes/rose.css +68 -0
- data/public/lookbook-assets/css/themes/rose.css.map +1 -0
- data/public/lookbook-assets/css/themes/zinc.css +3 -1
- data/public/lookbook-assets/css/themes/zinc.css.map +1 -1
- data/public/lookbook-assets/js/embed.js +10 -1
- data/public/lookbook-assets/js/embed.js.map +1 -1
- data/public/lookbook-assets/js/lookbook.js +358 -629
- data/public/lookbook-assets/js/lookbook.js.map +1 -1
- metadata +96 -44
- data/app/components/lookbook/code/highlight_github_light.css +0 -217
- data/app/views/lookbook/previews/panels/_params.html.erb +0 -15
- data/lib/lookbook/code_formatter.rb +0 -68
- data/lib/lookbook/collection.rb +0 -161
- data/lib/lookbook/component.rb +0 -34
- data/lib/lookbook/entity.rb +0 -47
- data/lib/lookbook/markdown.rb +0 -22
- data/lib/lookbook/page.rb +0 -195
- data/lib/lookbook/page_collection.rb +0 -19
- data/lib/lookbook/page_section.rb +0 -29
- data/lib/lookbook/params.rb +0 -157
- data/lib/lookbook/parser.rb +0 -42
- data/lib/lookbook/preview.rb +0 -174
- data/lib/lookbook/preview_collection.rb +0 -23
- data/lib/lookbook/preview_example.rb +0 -93
- data/lib/lookbook/preview_group.rb +0 -62
- data/lib/lookbook/source_inspector.rb +0 -95
- data/lib/lookbook/support/utils/attribute_utils.rb +0 -9
- data/lib/lookbook/tag.rb +0 -122
- data/lib/lookbook/tag_options.rb +0 -111
- data/lib/lookbook/tags.rb +0 -17
- data/lib/lookbook/template_parser.rb +0 -72
- data/lib/lookbook/utils.rb +0 -105
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lookbook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Perkins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: css_parser
|
@@ -194,7 +194,9 @@ files:
|
|
194
194
|
- README.md
|
195
195
|
- app/assets/lookbook/css/lookbook.css
|
196
196
|
- app/assets/lookbook/css/themes/blue.css
|
197
|
+
- app/assets/lookbook/css/themes/green.css
|
197
198
|
- app/assets/lookbook/css/themes/indigo.css
|
199
|
+
- app/assets/lookbook/css/themes/rose.css
|
198
200
|
- app/assets/lookbook/css/themes/zinc.css
|
199
201
|
- app/assets/lookbook/css/tooltip.css
|
200
202
|
- app/assets/lookbook/js/app.js
|
@@ -231,7 +233,7 @@ files:
|
|
231
233
|
- app/components/lookbook/code/component.html.erb
|
232
234
|
- app/components/lookbook/code/component.js
|
233
235
|
- app/components/lookbook/code/component.rb
|
234
|
-
- app/components/lookbook/code/
|
236
|
+
- app/components/lookbook/code/highlight_github.css
|
235
237
|
- app/components/lookbook/copy_button/component.html.erb
|
236
238
|
- app/components/lookbook/copy_button/component.js
|
237
239
|
- app/components/lookbook/copy_button/component.rb
|
@@ -264,7 +266,11 @@ files:
|
|
264
266
|
- app/components/lookbook/nav/component.html.erb
|
265
267
|
- app/components/lookbook/nav/component.js
|
266
268
|
- app/components/lookbook/nav/component.rb
|
267
|
-
- app/components/lookbook/nav/
|
269
|
+
- app/components/lookbook/nav/directory/component.html.erb
|
270
|
+
- app/components/lookbook/nav/directory/component.rb
|
271
|
+
- app/components/lookbook/nav/entity/component.html.erb
|
272
|
+
- app/components/lookbook/nav/entity/component.rb
|
273
|
+
- app/components/lookbook/nav/item/component.css
|
268
274
|
- app/components/lookbook/nav/item/component.js
|
269
275
|
- app/components/lookbook/nav/item/component.rb
|
270
276
|
- app/components/lookbook/page_tabs/component.html.erb
|
@@ -303,7 +309,10 @@ files:
|
|
303
309
|
- app/components/lookbook/viewport/component.html.erb
|
304
310
|
- app/components/lookbook/viewport/component.js
|
305
311
|
- app/components/lookbook/viewport/component.rb
|
312
|
+
- app/controllers/concerns/lookbook/targetable_concern.rb
|
313
|
+
- app/controllers/concerns/lookbook/with_preview_controller_concern.rb
|
306
314
|
- app/controllers/lookbook/application_controller.rb
|
315
|
+
- app/controllers/lookbook/inspector_controller.rb
|
307
316
|
- app/controllers/lookbook/page_controller.rb
|
308
317
|
- app/controllers/lookbook/pages_controller.rb
|
309
318
|
- app/controllers/lookbook/previews_controller.rb
|
@@ -321,52 +330,80 @@ files:
|
|
321
330
|
- app/views/lookbook/404.html.erb
|
322
331
|
- app/views/lookbook/error.html.erb
|
323
332
|
- app/views/lookbook/index.html.erb
|
333
|
+
- app/views/lookbook/inspector/inputs/_color.html.erb
|
334
|
+
- app/views/lookbook/inspector/inputs/_range.html.erb
|
335
|
+
- app/views/lookbook/inspector/inputs/_select.html.erb
|
336
|
+
- app/views/lookbook/inspector/inputs/_text.html.erb
|
337
|
+
- app/views/lookbook/inspector/inputs/_textarea.html.erb
|
338
|
+
- app/views/lookbook/inspector/inputs/_toggle.html.erb
|
339
|
+
- app/views/lookbook/inspector/panels/_content.html.erb
|
340
|
+
- app/views/lookbook/inspector/panels/_notes.html.erb
|
341
|
+
- app/views/lookbook/inspector/panels/_output.html.erb
|
342
|
+
- app/views/lookbook/inspector/panels/_params.html.erb
|
343
|
+
- app/views/lookbook/inspector/panels/_preview.html.erb
|
344
|
+
- app/views/lookbook/inspector/panels/_source.html.erb
|
345
|
+
- app/views/lookbook/inspector/show.html.erb
|
324
346
|
- app/views/lookbook/pages/show.html.erb
|
325
347
|
- app/views/lookbook/preview.html.erb
|
326
|
-
- app/views/lookbook/previews/inputs/_color.html.erb
|
327
|
-
- app/views/lookbook/previews/inputs/_range.html.erb
|
328
|
-
- app/views/lookbook/previews/inputs/_select.html.erb
|
329
|
-
- app/views/lookbook/previews/inputs/_text.html.erb
|
330
|
-
- app/views/lookbook/previews/inputs/_textarea.html.erb
|
331
|
-
- app/views/lookbook/previews/inputs/_toggle.html.erb
|
332
|
-
- app/views/lookbook/previews/panels/_content.html.erb
|
333
|
-
- app/views/lookbook/previews/panels/_notes.html.erb
|
334
|
-
- app/views/lookbook/previews/panels/_output.html.erb
|
335
|
-
- app/views/lookbook/previews/panels/_params.html.erb
|
336
|
-
- app/views/lookbook/previews/panels/_preview.html.erb
|
337
|
-
- app/views/lookbook/previews/panels/_source.html.erb
|
338
|
-
- app/views/lookbook/previews/show.html.erb
|
339
348
|
- config/app.yml
|
340
349
|
- config/hooks.yml
|
341
350
|
- config/inputs.yml
|
351
|
+
- config/languages.yml
|
342
352
|
- config/panels.yml
|
343
353
|
- config/routes.rb
|
344
354
|
- config/tags.yml
|
345
355
|
- lib/lookbook.rb
|
346
|
-
- lib/lookbook/code_formatter.rb
|
347
|
-
- lib/lookbook/collection.rb
|
348
|
-
- lib/lookbook/component.rb
|
349
356
|
- lib/lookbook/engine.rb
|
350
|
-
- lib/lookbook/
|
357
|
+
- lib/lookbook/entities/collections/component_collection.rb
|
358
|
+
- lib/lookbook/entities/collections/concerns/hierarchical_collection.rb
|
359
|
+
- lib/lookbook/entities/collections/entity_collection.rb
|
360
|
+
- lib/lookbook/entities/collections/page_collection.rb
|
361
|
+
- lib/lookbook/entities/collections/preview_collection.rb
|
362
|
+
- lib/lookbook/entities/collections/preview_example_collection.rb
|
363
|
+
- lib/lookbook/entities/component.rb
|
364
|
+
- lib/lookbook/entities/concerns/annotatable.rb
|
365
|
+
- lib/lookbook/entities/concerns/inspectable.rb
|
366
|
+
- lib/lookbook/entities/concerns/locatable.rb
|
367
|
+
- lib/lookbook/entities/concerns/navigable.rb
|
368
|
+
- lib/lookbook/entities/entity.rb
|
369
|
+
- lib/lookbook/entities/page.rb
|
370
|
+
- lib/lookbook/entities/page_section.rb
|
371
|
+
- lib/lookbook/entities/preview.rb
|
372
|
+
- lib/lookbook/entities/preview_example.rb
|
373
|
+
- lib/lookbook/entities/preview_group.rb
|
351
374
|
- lib/lookbook/error.rb
|
352
375
|
- lib/lookbook/features.rb
|
376
|
+
- lib/lookbook/file_watcher.rb
|
353
377
|
- lib/lookbook/lang.rb
|
354
|
-
- lib/lookbook/
|
355
|
-
- lib/lookbook/
|
356
|
-
- lib/lookbook/
|
357
|
-
- lib/lookbook/
|
358
|
-
- lib/lookbook/
|
359
|
-
- lib/lookbook/
|
360
|
-
- lib/lookbook/
|
361
|
-
- lib/lookbook/
|
362
|
-
- lib/lookbook/preview_controller.rb
|
363
|
-
- lib/lookbook/preview_example.rb
|
364
|
-
- lib/lookbook/preview_group.rb
|
378
|
+
- lib/lookbook/param.rb
|
379
|
+
- lib/lookbook/preview_actions.rb
|
380
|
+
- lib/lookbook/preview_parser.rb
|
381
|
+
- lib/lookbook/process.rb
|
382
|
+
- lib/lookbook/rendered_example.rb
|
383
|
+
- lib/lookbook/services/code/code_beautifier.rb
|
384
|
+
- lib/lookbook/services/code/code_highlighter.rb
|
385
|
+
- lib/lookbook/services/code/code_indenter.rb
|
365
386
|
- lib/lookbook/services/config_loader.rb
|
366
|
-
- lib/lookbook/services/
|
367
|
-
- lib/lookbook/services/
|
387
|
+
- lib/lookbook/services/data/parsers/data_parser.rb
|
388
|
+
- lib/lookbook/services/data/parsers/json_parser.rb
|
389
|
+
- lib/lookbook/services/data/parsers/yaml_parser.rb
|
390
|
+
- lib/lookbook/services/data/resolvers/data_resolver.rb
|
391
|
+
- lib/lookbook/services/data/resolvers/eval_resolver.rb
|
392
|
+
- lib/lookbook/services/data/resolvers/file_resolver.rb
|
393
|
+
- lib/lookbook/services/data/resolvers/method_resolver.rb
|
394
|
+
- lib/lookbook/services/data/resolvers/yaml_resolver.rb
|
395
|
+
- lib/lookbook/services/entities/entity_tree_builder.rb
|
396
|
+
- lib/lookbook/services/markdown_renderer.rb
|
397
|
+
- lib/lookbook/services/position_prefix_parser.rb
|
398
|
+
- lib/lookbook/services/string_value_caster.rb
|
368
399
|
- lib/lookbook/services/tags/key_value_tag_parser.rb
|
369
|
-
- lib/lookbook/
|
400
|
+
- lib/lookbook/services/tags/tag_options_parser.rb
|
401
|
+
- lib/lookbook/services/templates/action_view_annotations_handler.rb
|
402
|
+
- lib/lookbook/services/templates/action_view_annotations_stripper.rb
|
403
|
+
- lib/lookbook/services/templates/frontmatter_extractor.rb
|
404
|
+
- lib/lookbook/services/templates/styles_extractor.rb
|
405
|
+
- lib/lookbook/services/urls/search_param_builder.rb
|
406
|
+
- lib/lookbook/services/urls/search_param_parser.rb
|
370
407
|
- lib/lookbook/stores/config_store.rb
|
371
408
|
- lib/lookbook/stores/hook_store.rb
|
372
409
|
- lib/lookbook/stores/input_store.rb
|
@@ -375,17 +412,27 @@ files:
|
|
375
412
|
- lib/lookbook/support/errors/config_error.rb
|
376
413
|
- lib/lookbook/support/errors/lookbook_error.rb
|
377
414
|
- lib/lookbook/support/errors/parser_error.rb
|
415
|
+
- lib/lookbook/support/null_object.rb
|
378
416
|
- lib/lookbook/support/service.rb
|
379
417
|
- lib/lookbook/support/store.rb
|
380
|
-
- lib/lookbook/support/
|
418
|
+
- lib/lookbook/support/tree_node.rb
|
381
419
|
- lib/lookbook/support/utils/path_utils.rb
|
382
|
-
- lib/lookbook/
|
383
|
-
- lib/lookbook/
|
384
|
-
- lib/lookbook/tags.rb
|
385
|
-
- lib/lookbook/
|
420
|
+
- lib/lookbook/support/utils/utils.rb
|
421
|
+
- lib/lookbook/tags/component_tag.rb
|
422
|
+
- lib/lookbook/tags/custom_tag.rb
|
423
|
+
- lib/lookbook/tags/display_tag.rb
|
424
|
+
- lib/lookbook/tags/hidden_tag.rb
|
425
|
+
- lib/lookbook/tags/id_tag.rb
|
426
|
+
- lib/lookbook/tags/label_tag.rb
|
427
|
+
- lib/lookbook/tags/logical_path_tag.rb
|
428
|
+
- lib/lookbook/tags/param_tag.rb
|
429
|
+
- lib/lookbook/tags/position_tag.rb
|
430
|
+
- lib/lookbook/tags/source_tag.rb
|
431
|
+
- lib/lookbook/tags/tag_provider.rb
|
432
|
+
- lib/lookbook/tags/yard_tag.rb
|
386
433
|
- lib/lookbook/theme.rb
|
387
|
-
- lib/lookbook/utils.rb
|
388
434
|
- lib/lookbook/version.rb
|
435
|
+
- lib/lookbook/websocket.rb
|
389
436
|
- lib/tasks/lookbook_tasks.rake
|
390
437
|
- public/lookbook-assets/css/app.css
|
391
438
|
- public/lookbook-assets/css/app.css.map
|
@@ -393,8 +440,12 @@ files:
|
|
393
440
|
- public/lookbook-assets/css/lookbook.css.map
|
394
441
|
- public/lookbook-assets/css/themes/blue.css
|
395
442
|
- public/lookbook-assets/css/themes/blue.css.map
|
443
|
+
- public/lookbook-assets/css/themes/green.css
|
444
|
+
- public/lookbook-assets/css/themes/green.css.map
|
396
445
|
- public/lookbook-assets/css/themes/indigo.css
|
397
446
|
- public/lookbook-assets/css/themes/indigo.css.map
|
447
|
+
- public/lookbook-assets/css/themes/rose.css
|
448
|
+
- public/lookbook-assets/css/themes/rose.css.map
|
398
449
|
- public/lookbook-assets/css/themes/zinc.css
|
399
450
|
- public/lookbook-assets/css/themes/zinc.css.map
|
400
451
|
- public/lookbook-assets/css/themes/zinc.css.map.91837.5
|
@@ -406,10 +457,11 @@ files:
|
|
406
457
|
- public/lookbook-assets/js/embed.js.map
|
407
458
|
- public/lookbook-assets/js/lookbook.js
|
408
459
|
- public/lookbook-assets/js/lookbook.js.map
|
409
|
-
homepage: https://github.com/
|
460
|
+
homepage: https://github.com/ViewComponent/lookbook
|
410
461
|
licenses:
|
411
462
|
- MIT
|
412
|
-
metadata:
|
463
|
+
metadata:
|
464
|
+
rubygems_mfa_required: 'true'
|
413
465
|
post_install_message:
|
414
466
|
rdoc_options: []
|
415
467
|
require_paths:
|
@@ -418,7 +470,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
418
470
|
requirements:
|
419
471
|
- - ">="
|
420
472
|
- !ruby/object:Gem::Version
|
421
|
-
version:
|
473
|
+
version: 2.7.0
|
422
474
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
423
475
|
requirements:
|
424
476
|
- - ">="
|
@@ -1,217 +0,0 @@
|
|
1
|
-
@layer components {
|
2
|
-
.theme-github-light {
|
3
|
-
@apply bg-white;
|
4
|
-
|
5
|
-
& .highlight {
|
6
|
-
& .hll {
|
7
|
-
background-color: #f8f8f8;
|
8
|
-
border: 1px solid #ccc;
|
9
|
-
padding: 6px 10px;
|
10
|
-
border-radius: 3px;
|
11
|
-
}
|
12
|
-
& .c {
|
13
|
-
color: #999988;
|
14
|
-
font-style: italic;
|
15
|
-
}
|
16
|
-
& .err {
|
17
|
-
/* color: #a61717;
|
18
|
-
background-color: #e3d2d2; */
|
19
|
-
}
|
20
|
-
& .k {
|
21
|
-
font-weight: bold;
|
22
|
-
}
|
23
|
-
& .o {
|
24
|
-
font-weight: bold;
|
25
|
-
}
|
26
|
-
& .cm {
|
27
|
-
color: #999988;
|
28
|
-
font-style: italic;
|
29
|
-
}
|
30
|
-
& .cp {
|
31
|
-
color: #999999;
|
32
|
-
font-weight: bold;
|
33
|
-
}
|
34
|
-
& .c1 {
|
35
|
-
color: #999988;
|
36
|
-
font-style: italic;
|
37
|
-
}
|
38
|
-
& .cs {
|
39
|
-
color: #999999;
|
40
|
-
font-weight: bold;
|
41
|
-
font-style: italic;
|
42
|
-
}
|
43
|
-
& .gd {
|
44
|
-
color: #000000;
|
45
|
-
background-color: #ffdddd;
|
46
|
-
}
|
47
|
-
& .gd .x {
|
48
|
-
color: #000000;
|
49
|
-
background-color: #ffaaaa;
|
50
|
-
}
|
51
|
-
& .ge {
|
52
|
-
font-style: italic;
|
53
|
-
}
|
54
|
-
& .gr {
|
55
|
-
color: #aa0000;
|
56
|
-
}
|
57
|
-
& .gh {
|
58
|
-
color: #999999;
|
59
|
-
}
|
60
|
-
& .gi {
|
61
|
-
color: #000000;
|
62
|
-
background-color: #ddffdd;
|
63
|
-
}
|
64
|
-
& .gi .x {
|
65
|
-
color: #000000;
|
66
|
-
background-color: #aaffaa;
|
67
|
-
}
|
68
|
-
& .go {
|
69
|
-
color: #888888;
|
70
|
-
}
|
71
|
-
& .gp {
|
72
|
-
color: #555555;
|
73
|
-
}
|
74
|
-
& .gs {
|
75
|
-
font-weight: bold;
|
76
|
-
}
|
77
|
-
& .gu {
|
78
|
-
color: #800080;
|
79
|
-
font-weight: bold;
|
80
|
-
}
|
81
|
-
& .gt {
|
82
|
-
color: #aa0000;
|
83
|
-
}
|
84
|
-
& .kc {
|
85
|
-
font-weight: bold;
|
86
|
-
}
|
87
|
-
& .kd {
|
88
|
-
font-weight: bold;
|
89
|
-
}
|
90
|
-
& .kn {
|
91
|
-
font-weight: bold;
|
92
|
-
}
|
93
|
-
& .kp {
|
94
|
-
font-weight: bold;
|
95
|
-
}
|
96
|
-
& .kr {
|
97
|
-
font-weight: bold;
|
98
|
-
}
|
99
|
-
& .kt {
|
100
|
-
color: #445588;
|
101
|
-
font-weight: bold;
|
102
|
-
}
|
103
|
-
& .m {
|
104
|
-
color: #009999;
|
105
|
-
}
|
106
|
-
& .s {
|
107
|
-
color: #dd1144;
|
108
|
-
}
|
109
|
-
& .n {
|
110
|
-
color: #333333;
|
111
|
-
}
|
112
|
-
& .na {
|
113
|
-
color: teal;
|
114
|
-
}
|
115
|
-
& .nb {
|
116
|
-
color: #0086b3;
|
117
|
-
}
|
118
|
-
& .nc {
|
119
|
-
color: #445588;
|
120
|
-
font-weight: bold;
|
121
|
-
}
|
122
|
-
& .no {
|
123
|
-
color: teal;
|
124
|
-
}
|
125
|
-
& .ni {
|
126
|
-
color: purple;
|
127
|
-
}
|
128
|
-
& .ne {
|
129
|
-
color: #990000;
|
130
|
-
font-weight: bold;
|
131
|
-
}
|
132
|
-
& .nf {
|
133
|
-
color: #990000;
|
134
|
-
font-weight: bold;
|
135
|
-
}
|
136
|
-
& .nn {
|
137
|
-
color: #555555;
|
138
|
-
}
|
139
|
-
& .nt {
|
140
|
-
color: navy;
|
141
|
-
}
|
142
|
-
& .nv {
|
143
|
-
color: teal;
|
144
|
-
}
|
145
|
-
& .ow {
|
146
|
-
font-weight: bold;
|
147
|
-
}
|
148
|
-
& .w {
|
149
|
-
color: #bbbbbb;
|
150
|
-
}
|
151
|
-
& .mf {
|
152
|
-
color: #009999;
|
153
|
-
}
|
154
|
-
& .mh {
|
155
|
-
color: #009999;
|
156
|
-
}
|
157
|
-
& .mi {
|
158
|
-
color: #009999;
|
159
|
-
}
|
160
|
-
& .mo {
|
161
|
-
color: #009999;
|
162
|
-
}
|
163
|
-
& .sb {
|
164
|
-
color: #dd1144;
|
165
|
-
}
|
166
|
-
& .sc {
|
167
|
-
color: #dd1144;
|
168
|
-
}
|
169
|
-
& .sd {
|
170
|
-
color: #dd1144;
|
171
|
-
}
|
172
|
-
& .s2 {
|
173
|
-
color: #dd1144;
|
174
|
-
}
|
175
|
-
& .se {
|
176
|
-
color: #dd1144;
|
177
|
-
}
|
178
|
-
& .sh {
|
179
|
-
color: #dd1144;
|
180
|
-
}
|
181
|
-
& .si {
|
182
|
-
color: #dd1144;
|
183
|
-
}
|
184
|
-
& .sx {
|
185
|
-
color: #dd1144;
|
186
|
-
}
|
187
|
-
& .sr {
|
188
|
-
color: #009926;
|
189
|
-
}
|
190
|
-
& .s1 {
|
191
|
-
color: #dd1144;
|
192
|
-
}
|
193
|
-
& .ss {
|
194
|
-
color: #990073;
|
195
|
-
}
|
196
|
-
& .bp {
|
197
|
-
color: #999999;
|
198
|
-
}
|
199
|
-
& .vc {
|
200
|
-
color: teal;
|
201
|
-
}
|
202
|
-
& .vg {
|
203
|
-
color: teal;
|
204
|
-
}
|
205
|
-
& .vi {
|
206
|
-
color: teal;
|
207
|
-
}
|
208
|
-
& .il {
|
209
|
-
color: #009999;
|
210
|
-
}
|
211
|
-
& .gc {
|
212
|
-
color: #999;
|
213
|
-
background-color: #eaf2f5;
|
214
|
-
}
|
215
|
-
}
|
216
|
-
}
|
217
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<% if preview.params.none? %>
|
2
|
-
<div class="p-4 w-full h-full bg-lookbook-prose-bg">
|
3
|
-
<%= lookbook_render :prose do %>
|
4
|
-
<em class='opacity-50'>No params configured.</em>
|
5
|
-
<% end %>
|
6
|
-
</div>
|
7
|
-
<% else %>
|
8
|
-
<div class="h-full overflow-x-hidden">
|
9
|
-
<%= lookbook_render "params/editor", inputs: Lookbook::Engine.inputs do |editor| %>
|
10
|
-
<% preview.params.each do |param| %>
|
11
|
-
<% editor.field **param, value: params[param[:name]] %>
|
12
|
-
<% end %>
|
13
|
-
<% end %>
|
14
|
-
</div>
|
15
|
-
<% end %>
|
@@ -1,68 +0,0 @@
|
|
1
|
-
require "rouge"
|
2
|
-
require "htmlbeautifier"
|
3
|
-
require "htmlentities"
|
4
|
-
|
5
|
-
module Lookbook
|
6
|
-
module CodeFormatter
|
7
|
-
class << self
|
8
|
-
def highlight(source, **opts)
|
9
|
-
coder = HTMLEntities.new
|
10
|
-
source = coder.decode source
|
11
|
-
language = opts[:language] || "ruby"
|
12
|
-
formatter = Formatter.new(**opts)
|
13
|
-
lexer = Rouge::Lexer.find(language.to_s) || Rouge::Lexer.find("plaintext")
|
14
|
-
formatter.format(lexer.lex(source)).html_safe
|
15
|
-
end
|
16
|
-
|
17
|
-
def beautify(source, **opts)
|
18
|
-
language = opts[:language] || "html"
|
19
|
-
source = source.strip
|
20
|
-
result = language.downcase == "html" ? HtmlBeautifier.beautify(source) : source
|
21
|
-
result.strip.html_safe
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
class Formatter < Rouge::Formatters::HTML
|
27
|
-
def initialize(**opts)
|
28
|
-
@opts = opts
|
29
|
-
@highlight_lines = opts[:highlight_lines].to_a || []
|
30
|
-
@start_line = opts[:start_line] || 1
|
31
|
-
@language = opts[:language]
|
32
|
-
end
|
33
|
-
|
34
|
-
def stream(tokens, &block)
|
35
|
-
lines = token_lines(tokens)
|
36
|
-
|
37
|
-
yield "<div class='wrapper'>"
|
38
|
-
|
39
|
-
if @opts[:line_numbers]
|
40
|
-
yield "<div class='line-numbers'>"
|
41
|
-
lines.each.with_index do |line, i|
|
42
|
-
yield "<div class='line #{"highlighted" if highlighted?(i)}'><span class='line-number'>#{line_number(i)}</span></div>"
|
43
|
-
end
|
44
|
-
yield "</div>"
|
45
|
-
end
|
46
|
-
|
47
|
-
yield "<pre class='code highlight' data-lang='#{@language}'><code>"
|
48
|
-
lines.each.with_index do |line_tokens, i|
|
49
|
-
yield "<div class='line#{" highlighted" if highlighted?(i)}'>"
|
50
|
-
line_tokens.each do |token, value|
|
51
|
-
yield span(token, value)
|
52
|
-
end
|
53
|
-
yield "</div>"
|
54
|
-
end
|
55
|
-
yield "</code></pre>"
|
56
|
-
|
57
|
-
yield "</div>"
|
58
|
-
end
|
59
|
-
|
60
|
-
def highlighted?(i)
|
61
|
-
@highlight_lines.include?(i + 1)
|
62
|
-
end
|
63
|
-
|
64
|
-
def line_number(i)
|
65
|
-
@start_line + i
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
data/lib/lookbook/collection.rb
DELETED
@@ -1,161 +0,0 @@
|
|
1
|
-
module Lookbook
|
2
|
-
class Collection < Entity
|
3
|
-
include Enumerable
|
4
|
-
|
5
|
-
delegate :size, :each, to: :items
|
6
|
-
|
7
|
-
def initialize(path = "", items = [])
|
8
|
-
@items = []
|
9
|
-
if path.is_a?(Array)
|
10
|
-
items = path
|
11
|
-
path = ""
|
12
|
-
end
|
13
|
-
|
14
|
-
@path = path.delete_prefix("/").delete_suffix("/")
|
15
|
-
super(@path)
|
16
|
-
|
17
|
-
items.each { |item| add(item) }
|
18
|
-
end
|
19
|
-
|
20
|
-
def id
|
21
|
-
lookup_path.present? ? super : "root"
|
22
|
-
end
|
23
|
-
|
24
|
-
def name
|
25
|
-
@name ||= remove_position_prefix(basename)
|
26
|
-
end
|
27
|
-
|
28
|
-
def label
|
29
|
-
name&.titleize
|
30
|
-
end
|
31
|
-
|
32
|
-
def position
|
33
|
-
@position ||= parse_position_prefix(basename).first
|
34
|
-
end
|
35
|
-
|
36
|
-
def items
|
37
|
-
@items.sort_by { |item| [item.hierarchy_depth, item&.position, item.label] }
|
38
|
-
end
|
39
|
-
|
40
|
-
def clear
|
41
|
-
@items = []
|
42
|
-
end
|
43
|
-
|
44
|
-
def visible_items
|
45
|
-
reject { |i| i.hidden? }
|
46
|
-
end
|
47
|
-
|
48
|
-
def non_empty_items
|
49
|
-
items.select do |item|
|
50
|
-
!item.is_a?(Lookbook::Collection) || item.items.any?
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def add(item)
|
55
|
-
@ordered_entities = nil
|
56
|
-
@tree = nil
|
57
|
-
if item.is_a?(String)
|
58
|
-
item = Collection.new([@path, item].join("/"))
|
59
|
-
end
|
60
|
-
@items << item
|
61
|
-
item
|
62
|
-
end
|
63
|
-
|
64
|
-
def get(name)
|
65
|
-
name = name.underscore
|
66
|
-
items.find { |item| item.name.underscore == name }
|
67
|
-
end
|
68
|
-
|
69
|
-
def get_or_create(name)
|
70
|
-
get(remove_position_prefix(name)).presence || add(name)
|
71
|
-
end
|
72
|
-
|
73
|
-
def find(lookup = nil, &block)
|
74
|
-
if lookup
|
75
|
-
lookup.is_a?(Symbol) ? find_by_id(lookup) : find_by_path(lookup)
|
76
|
-
elsif block
|
77
|
-
items.find(&block)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
def find_by_id(id)
|
82
|
-
id = id.to_s.tr("_", "-")
|
83
|
-
items.find { |i| i.id.to_s == id }
|
84
|
-
end
|
85
|
-
|
86
|
-
def find_by_path(path)
|
87
|
-
items.find { |i| i.lookup_path == path }
|
88
|
-
end
|
89
|
-
|
90
|
-
def find_parent(child)
|
91
|
-
parent_path = child.lookup_path.split("/").pop.join("/")
|
92
|
-
find_by_path(parent_path)
|
93
|
-
end
|
94
|
-
|
95
|
-
def ordered_entities
|
96
|
-
return @ordered_entities if @ordered_entities.present?
|
97
|
-
entities = []
|
98
|
-
as_tree.items.each do |item|
|
99
|
-
entities.append(item.is_a?(Collection) ? item.ordered_entities : item)
|
100
|
-
end
|
101
|
-
@ordered_entities ||= entities.flatten
|
102
|
-
end
|
103
|
-
|
104
|
-
def find_first
|
105
|
-
ordered_entities.first
|
106
|
-
end
|
107
|
-
|
108
|
-
def find_next(item)
|
109
|
-
index = ordered_entities.find_index { |i| i.lookup_path == item.lookup_path }
|
110
|
-
ordered_entities[index + 1] unless index.nil?
|
111
|
-
end
|
112
|
-
|
113
|
-
def find_previous(item)
|
114
|
-
index = ordered_entities.find_index { |i| i.lookup_path == item.lookup_path }
|
115
|
-
ordered_entities[index - 1] if !index.nil? && index > 0
|
116
|
-
end
|
117
|
-
|
118
|
-
def as_tree(filter_hidden: true)
|
119
|
-
return self if hierarchy_depth > 0
|
120
|
-
return @tree if @tree.present?
|
121
|
-
@tree = self.class.new
|
122
|
-
candidates = filter_hidden ? visible_items : items
|
123
|
-
candidates.each do |item|
|
124
|
-
current = @tree
|
125
|
-
if item.hierarchy_depth == 1
|
126
|
-
current.add(item)
|
127
|
-
else
|
128
|
-
item.parent_collections_names.each.with_index(1) do |name, i|
|
129
|
-
target = current.get_or_create(name)
|
130
|
-
if item.hierarchy_depth == i + 1
|
131
|
-
target.add(item)
|
132
|
-
else
|
133
|
-
current = target
|
134
|
-
end
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|
138
|
-
@tree
|
139
|
-
end
|
140
|
-
|
141
|
-
def collapsible?
|
142
|
-
false
|
143
|
-
end
|
144
|
-
|
145
|
-
def type
|
146
|
-
:collection
|
147
|
-
end
|
148
|
-
|
149
|
-
protected
|
150
|
-
|
151
|
-
def basename
|
152
|
-
@path.present? ? @path.split("/").last : ""
|
153
|
-
end
|
154
|
-
|
155
|
-
class << self
|
156
|
-
def describe_as
|
157
|
-
"items"
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|