From 15a7cf2b7cde86d4ef005b7b3987a3c0c6930aad Mon Sep 17 00:00:00 2001 From: Mike Mai Date: Thu, 20 Sep 2018 15:01:17 -0400 Subject: [PATCH] Revert "Merge remote-tracking branch 'origin/release/2.x' into feature/bds-311-share-component-refactor" This reverts commit 02e373334e94ebb7267e1bf4aa466df3981aff40, reversing changes made to 870918d82440f2d863e2d526caba26df091cc717. --- .../bolt-design-system/bolt/issues/100.json | 67 + .../bolt-design-system/bolt/issues/102.json | 67 + .../bolt-design-system/bolt/issues/104.json | 67 + .../bolt-design-system/bolt/issues/105.json | 67 + .../bolt-design-system/bolt/issues/106.json | 67 + .../bolt-design-system/bolt/issues/107.json | 67 + .../bolt-design-system/bolt/issues/111.json | 67 + .../bolt-design-system/bolt/issues/112.json | 67 + .../bolt-design-system/bolt/issues/96.json | 109 + .../bolt-design-system/bolt/issues/97.json | 67 + .../bolt-design-system/bolt/issues/99.json | 67 + .changelog/github/users/mikemai2awesome.json | 32 + .changelog/github/users/sghoweri.json | 32 + .eslintignore | 2 +- .gitignore | 3 - .travis.yml | 4 +- LICENSE | 2 +- apps/bolt-site/.boltrc.js | 89 +- apps/bolt-site/assets/bolt-sketch.zip | Bin 1637831 -> 0 bytes .../animated-logo/animated-logo.scss | 36 - .../animated-logo/animated-logo.twig | 9 - .../animated-shapes/animated-shapes.scss | 185 - .../animated-shapes/animated-shapes.twig | 133 - .../hamburger-button/hamburger-button.scss | 55 - .../hamburger-button/hamburger-button.twig | 35 - apps/bolt-site/components/layout/layout.scss | 280 - .../off-canvas-nav/off-canvas-nav.scss | 134 - .../off-canvas-nav/off-canvas-nav.twig | 79 - apps/bolt-site/composer.json | 41 +- apps/bolt-site/composer.lock | 453 +- apps/bolt-site/{pages => content}/00-index.md | 2 +- apps/bolt-site/content/20-docs/00-index.md | 28 + .../20-docs/05-principles}/00-index.md | 3 +- .../05-principles}/05-accessibility.md | 0 .../05-principles}/10-interface-copy.md | 0 .../20-docs/10-getting-started}/00-index.md | 13 +- .../10-getting-started/05-prerequisites.md | 55 + .../10-getting-started}/10-browser-support.md | 0 .../15-whats-new-in-bolt-v1.md} | 0 .../20-docs/20-visual-language/00-index.md | 3 + .../20-docs/20-visual-language}/10-colors.md | 6 +- .../20-visual-language}/20-typography.md | 0 .../20-visual-language}/30-iconography.md | 0 .../20-docs/20-visual-language}/40-spacing.md | 0 .../20-docs/30-patterns}/00-index.md | 1 - .../20-docs/30-patterns}/bands.md | 0 .../20-docs/30-patterns}/blockquotes.md | 0 .../20-docs/30-patterns}/buttons.md | 0 .../20-docs/30-patterns}/cards.md | 0 .../20-docs/30-patterns}/forms.md | 6 +- .../20-docs/40-config/00-index.md} | 6 +- .../20-docs/40-config/10-basics.md} | 2 +- .../20-docs/40-config}/20-components.md | 0 .../20-docs/40-config}/30-envs.md | 0 .../20-docs/40-config/40-extras.md} | 0 .../content/20-docs/50-concepts/00-index.md | 3 + .../00-frontend-architecture-principles.md} | 4 - .../50-concepts/10-standards/00-index.md | 3 + .../10-standards}/10-javascript.md | 0 .../20-docs/50-concepts/20-tech/00-index.md | 5 + .../20-docs/50-concepts/20-tech/10-sass.md | 102 + .../20-docs/50-concepts/20-tech/20-webpack.md | 3 + .../50-concepts/20-tech/30-web-components.md | 3 + .../50-concepts/20-tech/40-pattern-lab.md | 19 + .../20-docs/50-concepts/20-tech/50-lerna.md | 3 + .../20-docs/50-concepts/30-monorepo.md | 3 + .../content/20-docs/60-guides/00-index.md | 3 + .../60-guides}/10-install-component.md | 0 .../60-guides/15-adding-a-new-component.md} | 2 +- .../60-guides/20-quick-start-guide.md} | 2 +- .../20-docs/60-guides}/20-troubleshooting.md | 0 .../20-docs/60-guides/30-monorepo/00-index.md | 3 + .../30-monorepo/10-folder-structure.md | 44 + .../content/20-docs/70-api/00-index.md | 3 + .../20-docs/70-api/10-build-tools/00-index.md | 3 + .../70-api/10-build-tools/10-commands.md | 3 + .../70-api/10-build-tools/40-advanced.md | 3 + .../20-docs/70-api/20-twig/00-index.md | 7 + .../20-docs/70-api/20-twig/10-bolt-core.md | 162 + .../20-docs/70-api/20-twig/20-bolt-extras.md | 94 + .../20-docs/70-api/20-twig/30-demo-content.md | 70 + apps/bolt-site/content/40-about.md | 8 + apps/bolt-site/images/background-bolt.jpg | Bin 7180272 -> 0 bytes .../images/bolt-logo-lockup-dark.png | Bin 41799 -> 0 bytes .../images/bolt-logo-lockup-dark.svg | 35 - apps/bolt-site/images/bolt-logo.png | Bin 57129 -> 0 bytes apps/bolt-site/images/bolt-logo.svg | 35 - apps/bolt-site/images/color_brand.png | Bin 0 -> 291258 bytes apps/bolt-site/images/color_messaging.png | Bin 0 -> 128613 bytes .../images/forms-text-input-static.png | Bin 0 -> 13047 bytes .../images/forms-textarea-static.png | Bin 0 -> 15584 bytes apps/bolt-site/images/forms_text-disabled.png | Bin 0 -> 8696 bytes apps/bolt-site/index.js | 3 - apps/bolt-site/index.scss | 5 - apps/bolt-site/package.json | 94 +- apps/bolt-site/pages/20-docs/00-index.md | 3 - .../20-docs/40-visual-language/00-index.md | 5 - .../pages/20-docs/50-guides/00-index.md | 6 - .../30-custom-configuration/00-index.md | 5 - .../50-guides/40-development/00-index.md | 5 - apps/bolt-site/pages/20-docs/_20-releases.md | 5 - apps/bolt-site/renderTwig.php | 73 +- apps/bolt-site/style.scss | 1 + apps/bolt-site/templates/_page-header.twig | 62 - apps/bolt-site/templates/_site-footer.twig | 11 - apps/bolt-site/templates/_site-head.twig | 57 - apps/bolt-site/templates/base-template.twig | 5 - .../bolt-site/templates/default-redesign.twig | 11 - apps/bolt-site/templates/default.twig | 118 +- apps/bolt-site/templates/home.twig | 348 + apps/bolt-site/templates/homepage.twig | 89 - .../templates/partials/_sub-nav.scss | 80 + .../bolt-site/templates/partials/sub-nav.twig | 42 + apps/bolt-site/templates/site.scss | 306 + apps/bolt-site/templates/site.twig | 221 + .../drupal-lab/.gitignore | 0 .../drupal-lab/LICENSE | 0 .../drupal-lab/README.md | 0 .../drupal-lab/composer.json | 0 .../drupal-lab/composer.lock | 0 .../drupal-lab/config/sync/.htaccess | 0 .../config/sync/block.block.bartik_admin.yml | 0 .../sync/block.block.bartik_branding.yml | 0 .../sync/block.block.bartik_local_actions.yml | 0 .../sync/block.block.bartik_local_tasks.yml | 0 .../config/sync/block.block.bartik_login.yml | 0 .../sync/block.block.bartik_messages.yml | 0 .../sync/block.block.bartik_page_title.yml | 0 .../config/sync/block.block.bartik_tools.yml | 0 .../config/sync/block.block.flash_admin.yml | 0 .../sync/block.block.flash_branding.yml | 0 .../sync/block.block.flash_local_actions.yml | 0 .../sync/block.block.flash_local_tasks.yml | 0 .../config/sync/block.block.flash_login.yml | 0 .../sync/block.block.flash_messages.yml | 0 .../sync/block.block.flash_page_title.yml | 0 .../config/sync/block.block.flash_tools.yml | 0 .../sync/block.block.seven_local_actions.yml | 0 .../sync/block.block.seven_local_tasks.yml | 0 .../sync/block.block.seven_messages.yml | 0 .../sync/block.block.seven_page_title.yml | 0 .../config/sync/block.block.stark_admin.yml | 0 .../sync/block.block.stark_branding.yml | 0 .../sync/block.block.stark_local_actions.yml | 0 .../sync/block.block.stark_local_tasks.yml | 0 .../config/sync/block.block.stark_login.yml | 0 .../sync/block.block.stark_messages.yml | 0 .../sync/block.block.stark_page_title.yml | 0 .../config/sync/block.block.stark_tools.yml | 0 .../config/sync/bolt_connect.settings.yml | 0 ....base_field_override.node.page.promote.yml | 0 .../config/sync/core.date_format.fallback.yml | 0 .../sync/core.date_format.html_date.yml | 0 .../sync/core.date_format.html_datetime.yml | 0 .../sync/core.date_format.html_month.yml | 0 .../sync/core.date_format.html_time.yml | 0 .../sync/core.date_format.html_week.yml | 0 .../sync/core.date_format.html_year.yml | 0 .../core.date_format.html_yearless_date.yml | 0 .../config/sync/core.date_format.long.yml | 0 .../config/sync/core.date_format.medium.yml | 0 .../config/sync/core.date_format.short.yml | 0 ...tity_form_display.node.article.default.yml | 0 ....entity_form_display.node.page.default.yml | 0 ...form_display.paragraph.eyebrow.default.yml | 0 ...ty_form_display.paragraph.grid.default.yml | 0 ...orm_display.paragraph.headline.default.yml | 0 ...ty_form_display.paragraph.icon.default.yml | 0 ...ty_form_display.paragraph.lead.default.yml | 0 ..._display.paragraph.subheadline.default.yml | 0 ...ty_form_display.paragraph.text.default.yml | 0 .../core.entity_form_mode.user.register.yml | 0 ...tity_view_display.node.article.default.yml | 0 ...ntity_view_display.node.article.teaser.yml | 0 ....entity_view_display.node.page.default.yml | 0 ...e.entity_view_display.node.page.teaser.yml | 0 ...view_display.paragraph.eyebrow.default.yml | 0 ...ty_view_display.paragraph.grid.default.yml | 0 ...iew_display.paragraph.headline.default.yml | 0 ...ty_view_display.paragraph.icon.default.yml | 0 ...ty_view_display.paragraph.lead.default.yml | 0 ..._display.paragraph.subheadline.default.yml | 0 ...ty_view_display.paragraph.text.default.yml | 0 .../sync/core.entity_view_mode.node.full.yml | 0 .../sync/core.entity_view_mode.node.rss.yml | 0 ...ore.entity_view_mode.node.search_index.yml | 0 ...re.entity_view_mode.node.search_result.yml | 0 .../core.entity_view_mode.node.teaser.yml | 0 ...ore.entity_view_mode.paragraph.preview.yml | 0 .../core.entity_view_mode.user.compact.yml | 0 .../sync/core.entity_view_mode.user.full.yml | 0 .../drupal-lab/config/sync/core.extension.yml | 0 .../core.menu.static_menu_link_overrides.yml | 0 .../drupal-lab/config/sync/dblog.settings.yml | 0 .../drupal-lab/config/sync/devel.settings.yml | 0 .../config/sync/devel.toolbar.settings.yml | 0 .../sync/field.field.node.article.body.yml | 0 ....field.node.article.field_teaser_image.yml | 0 ...field.field.node.page.field_paragraphs.yml | 0 ...ld.field.paragraph.eyebrow.field_align.yml | 0 ....field.paragraph.eyebrow.field_eyebrow.yml | 0 ...d.paragraph.eyebrow.field_eyebrow_icon.yml | 0 ...paragraph.eyebrow.field_eyebrow_weight.yml | 0 ...ield.field.paragraph.eyebrow.field_url.yml | 0 ....field.paragraph.grid.field_grid_items.yml | 0 ...d.field.paragraph.headline.field_align.yml | 0 ...ield.paragraph.headline.field_headline.yml | 0 ...paragraph.headline.field_headline_size.yml | 0 ...d.paragraph.headline.field_icon_extend.yml | 0 ....field.paragraph.headline.field_quoted.yml | 0 ...ld.field.paragraph.headline.field_tags.yml | 0 ...eld.paragraph.headline.field_transform.yml | 0 ...eld.field.paragraph.headline.field_url.yml | 0 ....field.paragraph.headline.field_weight.yml | 0 ....field.paragraph.icon.field_background.yml | 0 .../field.field.paragraph.icon.field_icon.yml | 0 ....field.paragraph.icon.field_icon_color.yml | 0 ...ld.field.paragraph.icon.field_position.yml | 0 .../field.field.paragraph.icon.field_size.yml | 0 ...field.field.paragraph.lead.field_align.yml | 0 ...eld.paragraph.lead.field_headline_size.yml | 0 .../field.field.paragraph.lead.field_lead.yml | 0 ...d.field.paragraph.lead.field_lead_icon.yml | 0 ...field.field.paragraph.lead.field_style.yml | 0 ...d.field.paragraph.lead.field_transform.yml | 0 .../field.field.paragraph.lead.field_url.yml | 0 ...ield.field.paragraph.lead.field_weight.yml | 0 ...ield.paragraph.subheadline.field_align.yml | 0 ...aph.subheadline.field_icon_subheadline.yml | 0 ...eld.paragraph.subheadline.field_quoted.yml | 0 ...aragraph.subheadline.field_subheadline.yml | 0 ...aph.subheadline.field_subheadline_size.yml | 0 ...field.paragraph.subheadline.field_tags.yml | 0 ....paragraph.subheadline.field_transform.yml | 0 ....field.paragraph.subheadline.field_url.yml | 0 ...field.field.paragraph.text.field_align.yml | 0 ...eld.paragraph.text.field_headline_size.yml | 0 ...field.field.paragraph.text.field_style.yml | 0 .../field.field.paragraph.text.field_tags.yml | 0 .../field.field.paragraph.text.field_text.yml | 0 ...d.field.paragraph.text.field_text_icon.yml | 0 ...d.field.paragraph.text.field_transform.yml | 0 .../field.field.paragraph.text.field_url.yml | 0 ...ield.field.paragraph.text.field_weight.yml | 0 .../drupal-lab/config/sync/field.settings.yml | 0 .../config/sync/field.storage.node.body.yml | 0 .../field.storage.node.field_paragraphs.yml | 0 .../field.storage.node.field_teaser_image.yml | 0 .../field.storage.paragraph.field_align.yml | 0 ...eld.storage.paragraph.field_background.yml | 0 .../field.storage.paragraph.field_eyebrow.yml | 0 ...d.storage.paragraph.field_eyebrow_icon.yml | 0 ...storage.paragraph.field_eyebrow_weight.yml | 0 ...eld.storage.paragraph.field_grid_items.yml | 0 ...field.storage.paragraph.field_headline.yml | 0 ....storage.paragraph.field_headline_size.yml | 0 .../field.storage.paragraph.field_icon.yml | 0 ...eld.storage.paragraph.field_icon_color.yml | 0 ...ld.storage.paragraph.field_icon_extend.yml | 0 ...orage.paragraph.field_icon_subheadline.yml | 0 .../field.storage.paragraph.field_lead.yml | 0 ...ield.storage.paragraph.field_lead_icon.yml | 0 ...field.storage.paragraph.field_position.yml | 0 .../field.storage.paragraph.field_quoted.yml | 0 .../field.storage.paragraph.field_size.yml | 0 .../field.storage.paragraph.field_style.yml | 0 ...ld.storage.paragraph.field_subheadline.yml | 0 ...orage.paragraph.field_subheadline_size.yml | 0 .../field.storage.paragraph.field_tags.yml | 0 .../field.storage.paragraph.field_text.yml | 0 ...ield.storage.paragraph.field_text_icon.yml | 0 ...ield.storage.paragraph.field_transform.yml | 0 .../field.storage.paragraph.field_url.yml | 0 .../field.storage.paragraph.field_weight.yml | 0 .../config/sync/field_ui.settings.yml | 0 .../drupal-lab/config/sync/file.settings.yml | 0 .../config/sync/filter.format.plain_text.yml | 0 .../config/sync/filter.settings.yml | 0 .../drupal-lab/config/sync/image.settings.yml | 0 .../config/sync/image.style.large.yml | 0 .../config/sync/image.style.medium.yml | 0 .../config/sync/image.style.thumbnail.yml | 0 .../config/sync/menu_ui.settings.yml | 0 .../drupal-lab/config/sync/node.settings.yml | 0 .../config/sync/node.type.article.yml | 0 .../drupal-lab/config/sync/node.type.page.yml | 0 .../paragraphs.paragraphs_type.eyebrow.yml | 0 .../sync/paragraphs.paragraphs_type.grid.yml | 0 .../paragraphs.paragraphs_type.headline.yml | 0 .../sync/paragraphs.paragraphs_type.icon.yml | 0 .../sync/paragraphs.paragraphs_type.lead.yml | 0 ...paragraphs.paragraphs_type.subheadline.yml | 0 .../sync/paragraphs.paragraphs_type.text.yml | 0 .../drupal-lab/config/sync/rest.settings.yml | 0 .../config/sync/serialization.settings.yml | 0 .../sync/system.action.node_delete_action.yml | 0 .../system.action.node_make_sticky_action.yml | 0 ...ystem.action.node_make_unsticky_action.yml | 0 .../system.action.node_promote_action.yml | 0 .../system.action.node_publish_action.yml | 0 .../sync/system.action.node_save_action.yml | 0 .../system.action.node_unpromote_action.yml | 0 .../system.action.node_unpublish_action.yml | 0 .../system.action.user_block_user_action.yml | 0 .../system.action.user_cancel_user_action.yml | 0 ...system.action.user_unblock_user_action.yml | 0 .../config/sync/system.authorize.yml | 0 .../drupal-lab/config/sync/system.cron.yml | 0 .../drupal-lab/config/sync/system.date.yml | 0 .../drupal-lab/config/sync/system.diff.yml | 0 .../drupal-lab/config/sync/system.file.yml | 0 .../config/sync/system.image.gd.yml | 0 .../drupal-lab/config/sync/system.image.yml | 0 .../drupal-lab/config/sync/system.logging.yml | 0 .../drupal-lab/config/sync/system.mail.yml | 0 .../config/sync/system.maintenance.yml | 0 .../config/sync/system.menu.account.yml | 0 .../config/sync/system.menu.admin.yml | 0 .../config/sync/system.menu.devel.yml | 0 .../config/sync/system.menu.footer.yml | 0 .../config/sync/system.menu.main.yml | 0 .../config/sync/system.menu.tools.yml | 0 .../config/sync/system.performance.yml | 0 .../drupal-lab/config/sync/system.rss.yml | 0 .../drupal-lab/config/sync/system.site.yml | 0 .../config/sync/system.theme.global.yml | 0 .../drupal-lab/config/sync/system.theme.yml | 0 .../drupal-lab/config/sync/text.settings.yml | 0 .../config/sync/update.settings.yml | 0 .../drupal-lab/config/sync/user.flood.yml | 0 .../drupal-lab/config/sync/user.mail.yml | 0 .../config/sync/user.role.anonymous.yml | 0 .../config/sync/user.role.authenticated.yml | 0 .../drupal-lab/config/sync/user.settings.yml | 0 .../drupal-lab/drush/README.md | 0 .../drupal-lab/drush/drush.yml | 0 .../drupal-lab/drush/sites/self.site.yml | 0 .../scripts/composer/ScriptHandler.php | 0 .../drupal-lab/web/.csslintrc | 0 .../drupal-lab/web/.editorconfig | 0 .../drupal-lab/web/.eslintignore | 0 .../drupal-lab/web/.eslintrc.json | 0 .../drupal-lab/web/.gitattributes | 0 .../drupal-lab/web/.ht.router.php | 0 .../drupal-lab/web/.htaccess | 0 .../drupal-lab/web/autoload.php | 0 .../drupal-lab/web/index.php | 0 .../drupal-lab/web/modules/.gitkeep | 0 .../drupal-lab/web/profiles/.gitkeep | 0 .../drupal-lab/web/robots.txt | 0 .../web/sites/default/default.services.yml | 0 .../web/sites/default/default.settings.php | 0 .../web/sites/default/settings.local.php | 0 .../drupal-lab/web/sites/default/settings.php | 0 .../web/sites/development.services.yml | 0 .../web/sites/example.settings.local.php | 0 .../drupal-lab/web/sites/example.sites.php | 0 .../drupal-lab/web/themes/.gitkeep | 0 .../drupal-lab/web/themes/flash/.boltrc.js | 0 .../drupal-lab/web/themes/flash/.gitignore | 0 .../web/themes/flash/flash.info.yml | 0 .../web/themes/flash/flash.libraries.yml | 0 .../drupal-lab/web/themes/flash/flash.theme | 0 .../drupal-lab/web/themes/flash/logo.png | Bin .../drupal-lab/web/themes/flash/logo.svg | 0 .../drupal-lab/web/themes/flash/package.json | 3 - .../web/themes/flash/screenshot.jpg | Bin ...aragraph--field-grid-items--grid.html.twig | 0 .../web/themes/flash/templates/page.html.twig | 0 .../templates/paragraph--eyebrow.html.twig | 0 .../flash/templates/paragraph--grid.html.twig | 0 .../templates/paragraph--headline.html.twig | 0 .../flash/templates/paragraph--lead.html.twig | 0 .../paragraph--subheadline.html.twig | 0 .../flash/templates/paragraph--text.html.twig | 0 .../drupal-lab/web/update.php | 0 .../drupal-lab/web/web.config | 0 apps/pattern-lab/.boltrc.js | 19 +- apps/pattern-lab/.patches/beautifyHTML.patch | 35 +- apps/pattern-lab/package.json | 97 +- apps/pattern-lab/src/_meta/_00-head.twig | 39 +- .../05-color-palette/01-brand-colors.twig | 36 +- .../05-color-palette/02-status-colors.twig | 36 +- .../03-accessibility-check.twig | 310 +- .../05-color-palette/_color-swatch.scss | 39 +- .../_patterns/02-components/00-overview.twig | 51 +- .../button/45-button-icon-only.twig | 25 - .../button/50-custom-element-buttons.twig | 45 - .../button/60-button-with-3rd-party-js.twig | 54 - .../02-components/footer/example-footer.twig | 512 - .../02-components/navbar/05-navbar-width.twig | 170 - .../navbar/_15-navbar-gradient-variation.twig | 38 + .../navbar/_20-navbar-vspacing-variation.twig | 37 + .../default-template.twig} | 0 .../-00-homepage.twig | 2 +- .../-01-homepage-w-background-video.twig | 2 +- .../-02-homepage-japanese.twig | 2 +- .../d8-media-browse--list-view.twig} | 2 +- .../d8-news-landing.twig} | 2 +- .../d8-press-browse--list-view.twig | 3 + .../d8-press-details.twig} | 2 +- .../d8-partners-search.twig} | 2 +- .../-00-resource-details-page.twig | 0 ...-10-resource-details-page--long-title.twig | 0 ...1-resource-details-page--long-title-2.twig | 0 ...2-resource-details-page--long-title-3.twig | 0 ...20-resource-details-page--short-title.twig | 0 ...-resource-details-page--short-title-2.twig | 0 ...-resource-details-page--short-title-3.twig | 0 ...-resource-details-page--short-title-4.twig | 0 .../_resource-details-page.twig | 0 .../-d8-press-browse--list-view.twig | 3 - .../-product-landing-page.twig | 2 +- .../-product-t2-page.twig | 2 +- .../-product-t3-extra-videos.twig | 2 +- .../-product-t3.twig | 2 +- .../-product-t4.twig | 2 +- .../-01-full-page-theming--xlight.twig | 0 .../-02-full-page-theming--light.twig | 0 .../-03-full-page-theming--dark.twig | 0 .../-04-full-page-theming--xdark.twig | 0 .../-05-full-page-theming--none.twig | 0 .../_full-page-theming.twig | 2 +- .../-05-d8-breadcrumbs.twig | 4 +- .../-05-d8-homepage.twig | 2 +- .../-10-d8-homepage-alt.twig | 2 +- .../-15-d8-homepage-video-band.twig | 2 +- .../-20-d8-homepage-video-test.twig | 2 +- .../-25-band-with-video-test.twig | 2 +- .../-agenda-manager-detail--aflac.twig | 0 .../-agenda-manager-detail--alan-keynote.twig | 0 .../-agenda-manager-detail.twig | 2 +- .../_event-annotation.twig | 0 .../_event-register-form.twig | 0 .../_event-sponsors-with-action-block.scss | 0 .../_event-sponsors-with-action-block.twig | 0 .../event-detail.twig} | 2 +- .../event-landing.twig} | 2 +- .../form-example.twig | 0 .../anchor-ribbon-example.twig} | 2 +- ...sink.twig => 00-wysiwyg-kitchen-sink.twig} | 2 +- .../favicons@todo/android-chrome-192x192.png | Bin 0 -> 18624 bytes .../favicons@todo/android-chrome-384x384.png | Bin 0 -> 52465 bytes .../assets/favicons@todo/apple-touch-icon.png | Bin 0 -> 17047 bytes .../assets/favicons@todo/favicon-16x16.png | Bin 0 -> 1121 bytes .../assets/favicons@todo/favicon-32x32.png | Bin 0 -> 1894 bytes .../assets/favicons@todo/mstile-150x150.png | Bin 0 -> 10156 bytes .../src/components/schema-form/package.json | 6 +- .../src/favicons/android-chrome-192x192.png | Bin 0 -> 15995 bytes .../src/favicons/android-chrome-384x384.png | Bin 0 -> 34617 bytes .../src/favicons/apple-touch-icon.png | Bin 0 -> 14924 bytes .../src/favicons}/browserconfig.xml | 4 +- .../src/favicons/favicon-16x16.png | Bin 0 -> 1082 bytes .../src/favicons/favicon-32x32.png | Bin 0 -> 2161 bytes apps/pattern-lab/src/favicons/favicon.ico | Bin 0 -> 12014 bytes .../src/favicons/mstile-150x150.png | Bin 0 -> 12301 bytes .../src/favicons/safari-pinned-tab.svg | 40 + .../pattern-lab/src/favicons/site.webmanifest | 19 + apps/pattern-lab/src/index.js | 8 - apps/pattern-lab/src/index.scss | 38 +- backstop.config.js | 0 example-integrations/vue/.eslintrc.js | 21 - example-integrations/vue/.gitignore | 26 - example-integrations/vue/.postcssrc.js | 5 - example-integrations/vue/README.md | 16 - example-integrations/vue/babel.config.js | 6 - example-integrations/vue/jest.config.js | 18 - example-integrations/vue/package.json | 55 - example-integrations/vue/public/favicon.ico | Bin 1150 -> 0 bytes .../img/icons/android-chrome-192x192.png | Bin 9416 -> 0 bytes .../img/icons/android-chrome-512x512.png | Bin 29808 -> 0 bytes .../img/icons/apple-touch-icon-120x120.png | Bin 3369 -> 0 bytes .../img/icons/apple-touch-icon-152x152.png | Bin 4046 -> 0 bytes .../img/icons/apple-touch-icon-180x180.png | Bin 4678 -> 0 bytes .../img/icons/apple-touch-icon-60x60.png | Bin 1491 -> 0 bytes .../img/icons/apple-touch-icon-76x76.png | Bin 1823 -> 0 bytes .../vue/public/img/icons/apple-touch-icon.png | Bin 4678 -> 0 bytes .../vue/public/img/icons/favicon-16x16.png | Bin 799 -> 0 bytes .../vue/public/img/icons/favicon-32x32.png | Bin 1271 -> 0 bytes .../img/icons/msapplication-icon-144x144.png | Bin 1169 -> 0 bytes .../vue/public/img/icons/mstile-150x150.png | Bin 4282 -> 0 bytes .../public/img/icons/safari-pinned-tab.svg | 149 - example-integrations/vue/public/index.html | 17 - example-integrations/vue/public/manifest.json | 20 - example-integrations/vue/public/robots.txt | 2 - example-integrations/vue/src/App.vue | 40 - example-integrations/vue/src/assets/logo.png | Bin 6849 -> 0 bytes .../vue/src/components/BoltImage.vue | 35 - .../vue/src/components/HelloWorld.vue | 72 - example-integrations/vue/src/main.js | 18 - .../vue/src/registerServiceWorker.js | 28 - example-integrations/vue/src/store.js | 10 - example-integrations/vue/webpack.config.js | 334 - example-integrations/vue/yarn.lock | 11730 ---------------- jest.config.js | 3 +- lerna.json | 12 +- nightwatch.js | 5 - now.json | 12 - package-lock.json | 9157 ++++++++++++ package.json | 94 +- packages/build-tools/create-webpack-config.js | 213 +- packages/build-tools/package-lock.json | 13 + packages/build-tools/package.json | 85 +- .../plugins/postcss-themify/README.md | 415 - .../plugins/postcss-themify/package.json | 26 - .../postcss-themify/src/helpers/css.util.js | 13 - .../plugins/postcss-themify/src/index.js | 585 - .../sass-export-data/config.default.js | 5 - .../plugins/sass-export-data/export-data.scss | 20 - .../plugins/sass-export-data/index.js | 21 - .../sass-export-data/lib/export-data-sync.js | 47 - .../sass-export-data/lib/export-data.js | 45 - .../plugins/sass-export-data/lib/get-value.js | 40 - .../plugins/sass-export-data/package.json | 33 - .../plugins/sass-export-data/readme.md | 64 - .../basics/expected/sub/class-names.json | 5 - .../basics/expected/sub/nested-data.json | 12 - .../tests/basics/expected/sub/sizes.json | 5 - .../sass-export-data/tests/basics/function.js | 6 - .../tests/basics/scss/style.scss | 24 - .../tests/sass-export-data.test.js | 44 - .../plugins/sassdoc-webpack-plugin.js | 39 +- .../build-tools/tasks/pattern-lab-tasks.js | 47 +- packages/build-tools/tasks/server-tasks.js | 1 - packages/build-tools/tasks/static-tasks.js | 19 +- .../build-tools/tasks/task-collections.js | 6 +- packages/build-tools/tasks/webpack-tasks.js | 2 +- packages/build-tools/utils/cache.js | 4 - packages/build-tools/utils/config.schema.yml | 15 - .../bolt-action-blocks/package.json | 7 +- .../bolt-action-blocks/src/action-blocks.scss | 21 +- .../bolt-background-shapes/package.json | 7 +- .../components/bolt-background/package.json | 9 +- .../bolt-background/src/background.scss | 3 +- .../bolt-background/src/background.twig | 7 +- packages/components/bolt-band/band.schema.yml | 1 + packages/components/bolt-band/package.json | 7 +- packages/components/bolt-band/src/band.js | 2 +- .../bolt-band/src/band.standalone.js | 14 +- .../components/bolt-block-list/package.json | 7 +- .../bolt-block-list/src/block-list.js | 2 +- .../src/block-list.standalone.js | 15 +- .../components/bolt-blockquote/package.json | 7 +- .../bolt-blockquote/src/blockquote.scss | 6 +- .../components/bolt-breadcrumb/package.json | 7 +- .../bolt-breadcrumb/src/breadcrumb.scss | 3 +- .../components/bolt-button-group/package.json | 7 +- .../components/bolt-button/button.schema.yml | 1 - packages/components/bolt-button/package.json | 7 +- .../bolt-button/src/_button.mixins.scss | 171 +- packages/components/bolt-button/src/button.js | 16 +- .../bolt-button/src/button.scoped.scss | 5 + .../components/bolt-button/src/button.scss | 16 +- .../bolt-button/src/button.standalone.js | 205 +- .../components/bolt-button/src/button.twig | 105 +- packages/components/bolt-card/card.schema.yml | 1 + packages/components/bolt-card/package.json | 7 +- packages/components/bolt-card/src/card.scss | 49 +- packages/components/bolt-card/src/card.twig | 5 +- .../components/bolt-chip-list/package.json | 9 +- packages/components/bolt-chip/package.json | 7 +- packages/components/bolt-chip/src/chip.scss | 2 +- .../components/bolt-code-snippet/package.json | 8 +- .../src/_code-snippet-base.scss | 4 +- .../bolt-code-snippet/src/code-snippet.js | 2 +- .../src/code-snippet.standalone.js | 17 +- .../bolt-copy-to-clipboard/package.json | 11 +- .../src/copy-to-clipboard.js | 2 +- .../src/copy-to-clipboard.standalone.js | 17 +- .../bolt-critical-css-vars/index.js | 14 - .../bolt-critical-css-vars/package.json | 24 - .../bolt-critical-fonts/package.json | 11 +- .../src/critical-fonts.scss | 5 +- .../bolt-device-viewer/package.json | 7 +- .../bolt-device-viewer/src/device-viewer.js | 2 +- .../src/device-viewer.standalone.js | 16 +- packages/components/bolt-dropdown/dropdown.js | 12 +- .../components/bolt-dropdown/dropdown.scss | 63 +- packages/components/bolt-dropdown/index.js | 2 +- .../components/bolt-dropdown/package.json | 9 +- packages/components/bolt-figure/package.json | 7 +- packages/components/bolt-form/package.json | 7 +- .../components/bolt-headline/package.json | 7 +- .../bolt-headline/src/_tools.headlines.scss | 3 +- .../bolt-headline/src/headline.scss | 1 + packages/components/bolt-icon/icon.schema.yml | 6 +- packages/components/bolt-icon/package.json | 9 +- packages/components/bolt-icon/src/icon.js | 2 +- packages/components/bolt-icon/src/icon.scss | 4 +- .../bolt-icon/src/icon.standalone.js | 25 +- packages/components/bolt-icon/src/icon.twig | 2 + packages/components/bolt-icons/build-icons.js | 147 +- packages/components/bolt-icons/package.json | 7 +- .../bolt-icons/src/icons/academy.js | 32 +- .../bolt-icons/src/icons/add-open.js | 19 +- .../bolt-icons/src/icons/add-solid.js | 26 +- .../components/bolt-icons/src/icons/agile.js | 32 +- .../bolt-icons/src/icons/app-development.js | 17 +- .../bolt-icons/src/icons/app-exchange.js | 32 +- .../bolt-icons/src/icons/arrow-left.js | 17 +- .../bolt-icons/src/icons/asset-data.js | 15 +- .../bolt-icons/src/icons/asset-infographic.js | 16 +- .../bolt-icons/src/icons/asset-interactive.js | 24 +- .../bolt-icons/src/icons/asset-link.js | 19 +- .../bolt-icons/src/icons/asset-media.js | 16 +- .../bolt-icons/src/icons/asset-podcast.js | 23 +- .../src/icons/asset-presentation.js | 21 +- .../bolt-icons/src/icons/asset-text.js | 41 +- .../bolt-icons/src/icons/asset-video.js | 19 +- .../bolt-icons/src/icons/bolt-logo-colored.js | 8 - .../bolt-icons/src/icons/brand-operations.js | 33 +- .../bolt-icons/src/icons/calendar.js | 19 +- .../bolt-icons/src/icons/careers.js | 17 +- .../bolt-icons/src/icons/case-management.js | 17 +- .../bolt-icons/src/icons/check-circle.js | 24 +- .../bolt-icons/src/icons/check-solid.js | 28 +- .../components/bolt-icons/src/icons/check.js | 19 +- .../bolt-icons/src/icons/chevron-down.js | 17 +- .../bolt-icons/src/icons/chevron-left.js | 17 +- .../bolt-icons/src/icons/chevron-right.js | 17 +- .../bolt-icons/src/icons/chevron-up.js | 17 +- .../bolt-icons/src/icons/close-open.js | 19 +- .../bolt-icons/src/icons/close-solid.js | 26 +- .../components/bolt-icons/src/icons/close.js | 17 +- .../components/bolt-icons/src/icons/cloud.js | 17 +- .../bolt-icons/src/icons/co-browse.js | 17 +- .../bolt-icons/src/icons/communications.js | 17 +- .../bolt-icons/src/icons/copy-to-clipboard.js | 23 +- .../src/icons/customer-decision-hub.js | 21 +- .../src/icons/customer-onboarding.js | 22 +- .../bolt-icons/src/icons/customer-service.js | 19 +- .../bolt-icons/src/icons/data-integrations.js | 17 +- .../bolt-icons/src/icons/documentation.js | 32 +- .../bolt-icons/src/icons/download.js | 25 +- .../components/bolt-icons/src/icons/email.js | 19 +- .../components/bolt-icons/src/icons/energy.js | 17 +- .../bolt-icons/src/icons/entertainment.js | 15 +- .../bolt-icons/src/icons/exit-full-screen.js | 29 +- .../bolt-icons/src/icons/external-link.js | 19 +- .../bolt-icons/src/icons/eye-off.js | 18 +- .../components/bolt-icons/src/icons/eye.js | 25 +- .../bolt-icons/src/icons/facebook-solid.js | 16 +- .../bolt-icons/src/icons/facebook.js | 16 +- .../src/icons/field-service-gray.js | 17 +- .../bolt-icons/src/icons/field-service.js | 17 +- .../components/bolt-icons/src/icons/filter.js | 17 +- .../bolt-icons/src/icons/financial.js | 16 +- .../bolt-icons/src/icons/full-screen.js | 25 +- .../components/bolt-icons/src/icons/github.js | 8 - .../components/bolt-icons/src/icons/global.js | 19 +- .../bolt-icons/src/icons/government.js | 17 +- .../bolt-icons/src/icons/healthcare.js | 16 +- .../bolt-icons/src/icons/hospitality.js | 17 +- .../bolt-icons/src/icons/industries.js | 17 +- .../bolt-icons/src/icons/info-open.js | 19 +- .../bolt-icons/src/icons/info-solid.js | 26 +- .../bolt-icons/src/icons/insurance.js | 17 +- .../bolt-icons/src/icons/integration.js | 32 +- .../icons/intelligent-virtual-assistant.js | 22 +- .../components/bolt-icons/src/icons/java.js | 33 +- .../bolt-icons/src/icons/knowledgebase.js | 32 +- .../bolt-icons/src/icons/launchpad.js | 32 +- .../bolt-icons/src/icons/life-sciences.js | 16 +- .../bolt-icons/src/icons/linkedin-solid.js | 16 +- .../bolt-icons/src/icons/linkedin.js | 16 +- .../components/bolt-icons/src/icons/lock.js | 19 +- .../bolt-icons/src/icons/manufacturing.js | 17 +- .../bolt-icons/src/icons/map-pin-solid.js | 25 +- .../bolt-icons/src/icons/map-pin.js | 19 +- .../bolt-icons/src/icons/marketing-gray.js | 17 +- .../bolt-icons/src/icons/marketing.js | 17 +- .../components/bolt-icons/src/icons/menu.js | 18 +- .../bolt-icons/src/icons/minus-open.js | 19 +- .../bolt-icons/src/icons/minus-solid.js | 26 +- .../bolt-icons/src/icons/mobility.js | 17 +- .../components/bolt-icons/src/icons/more.js | 18 +- .../bolt-icons/src/icons/omni-channel.js | 32 +- .../bolt-icons/src/icons/partners.js | 17 +- .../components/bolt-icons/src/icons/pencil.js | 17 +- .../bolt-icons/src/icons/platform.js | 17 +- .../bolt-icons/src/icons/podcast.js | 23 +- .../components/bolt-icons/src/icons/print.js | 19 +- .../bolt-icons/src/icons/product-delivery.js | 32 +- .../bolt-icons/src/icons/product.js | 17 +- .../bolt-icons/src/icons/refresh.js | 18 +- .../bolt-icons/src/icons/reporting.js | 32 +- .../components/bolt-icons/src/icons/retail.js | 17 +- .../bolt-icons/src/icons/robo-auto.js | 17 +- .../bolt-icons/src/icons/sales-automation.js | 17 +- .../bolt-icons/src/icons/scalability.js | 32 +- .../components/bolt-icons/src/icons/search.js | 19 +- .../components/bolt-icons/src/icons/share.js | 23 +- .../bolt-icons/src/icons/support.js | 32 +- .../bolt-icons/src/icons/system-admin.js | 32 +- .../bolt-icons/src/icons/training.js | 32 +- .../bolt-icons/src/icons/transportation.js | 17 +- .../bolt-icons/src/icons/twitter-solid.js | 16 +- .../bolt-icons/src/icons/twitter.js | 16 +- .../components/bolt-icons/src/icons/unlock.js | 17 +- .../components/bolt-icons/src/icons/upload.js | 18 +- .../bolt-icons/src/icons/user-interface.js | 32 +- .../components/bolt-icons/src/icons/user.js | 19 +- .../components/bolt-icons/src/icons/video.js | 19 +- .../components/bolt-icons/src/icons/vision.js | 17 +- .../bolt-icons/src/icons/warning.js | 19 +- .../components/bolt-icons/src/icons/watch.js | 19 +- .../src/icons/workforce-intelligence.js | 21 +- .../bolt-icons/src/icons/youtube-solid.js | 16 +- packages/components/bolt-icons/src/index.js | 2 - .../src/svgs/utility/bolt-logo.colored.svg | 24 - .../bolt-icons/src/svgs/utility/github.svg | 5 - packages/components/bolt-image/package.json | 7 +- packages/components/bolt-link/package.json | 7 +- packages/components/bolt-link/src/link.scss | 41 +- packages/components/bolt-list/package.json | 7 +- packages/components/bolt-logo/package.json | 9 +- .../components/bolt-nav-indicator/index.js | 2 +- .../bolt-nav-indicator/nav-indicator.js | 16 +- .../bolt-nav-indicator/nav-indicator.scss | 4 +- .../bolt-nav-indicator/package.json | 7 +- .../components/bolt-nav-priority/index.js | 2 +- .../bolt-nav-priority/nav-priority.js | 54 +- .../bolt-nav-priority/nav-priority.scss | 343 +- .../components/bolt-nav-priority/package.json | 7 +- .../components/bolt-navbar/navbar.schema.yml | 15 +- packages/components/bolt-navbar/package.json | 7 +- .../bolt-navbar/src/_navbar-title.twig | 6 +- .../components/bolt-navbar/src/navbar.scss | 106 +- .../components/bolt-navbar/src/navbar.twig | 22 +- packages/components/bolt-navlink/index.js | 2 +- packages/components/bolt-navlink/navlink.js | 17 +- .../bolt-navlink/navlink.schema.yml | 31 - packages/components/bolt-navlink/navlink.scss | 52 +- packages/components/bolt-navlink/navlink.twig | 55 +- packages/components/bolt-navlink/package.json | 8 +- .../bolt-ordered-list/ordered-list.scss | 4 +- .../components/bolt-ordered-list/package.json | 7 +- .../components/bolt-page-footer/package.json | 4 +- .../components/bolt-page-header/package.json | 7 +- .../bolt-page-header/src/page-header.scss | 10 +- .../components/bolt-pagination/package.json | 7 +- .../bolt-pagination/pagination.scss | 64 +- .../components/bolt-placeholder/package.json | 7 +- .../bolt-placeholder/placeholder.js | 3 +- .../placeholder.standalone.js | 11 +- .../bolt-search-filter/package.json | 4 +- .../bolt-search-filter/search-filter.scss | 9 +- packages/components/bolt-share/package.json | 17 +- .../bolt-share/src/share.standalone.js | 16 +- packages/components/bolt-site/package.json | 7 +- packages/components/bolt-site/site.scss | 17 +- .../bolt-smooth-scroll/package.json | 7 +- .../bolt-smooth-scroll/src/smooth-scroll.js | 2 +- packages/components/bolt-sticky/package.json | 7 +- .../components/bolt-sticky/src/sticky.scss | 1 + packages/components/bolt-teaser/package.json | 7 +- packages/components/bolt-text/package.json | 6 +- packages/components/bolt-text/src/text.js | 2 +- packages/components/bolt-text/src/text.scss | 9 +- .../bolt-text/src/text.standalone.js | 85 +- packages/components/bolt-tooltip/package.json | 11 +- .../components/bolt-tooltip/src/tooltip.js | 2 +- .../bolt-tooltip/src/tooltip.standalone.js | 23 +- .../bolt-unordered-list/package.json | 7 +- .../src/unordered-list.scss | 5 +- packages/components/bolt-video/package.json | 9 +- packages/components/bolt-video/src/video.js | 2 +- .../bolt-video/src/video.standalone.js | 18 +- .../config-presets/babel-preset-bolt/index.js | 7 + .../babel-preset-bolt/package.json | 31 +- .../config-browserlist/package.json | 7 +- .../config-presets/config-eslint/ideal.js | 2 +- .../config-presets/config-eslint/package.json | 21 +- .../config-stylelint/package.json | 14 +- packages/core-php/composer.json | 2 +- packages/core-php/src/TwigFunctions.php | 16 +- packages/core-php/src/TwigRenderer.php | 24 +- packages/core-php/src/TwigRendererSSR.php | 322 - packages/core/data/index.js | 2 - packages/core/elements/index.js | 10 - .../elements/replace-with-children/README.md | 36 - .../elements/replace-with-children/index.js | 31 - packages/core/index.js | 27 +- packages/core/package.json | 30 +- packages/core/renderers/bolt-base.js | 64 +- packages/core/renderers/index.js | 2 - packages/core/renderers/renderer-hyperhtml.js | 28 +- packages/core/renderers/renderer-lit-html.js | 58 - packages/core/renderers/renderer-preact.js | 10 +- packages/core/sandbox/bolt-component.js | 23 + packages/core/sandbox/component.js | 52 + packages/core/sandbox/events.js | 271 + packages/core/sandbox/get-meta.js | 20 + packages/core/sandbox/sizes.js | 13 + packages/core/sandbox/skate-component.js | 105 + packages/core/sandbox/skate-shadow.js | 169 + packages/core/sandbox/skate-style.js | 109 + packages/core/sandbox/style.js | 39 + packages/core/sandbox/styled-mixin.js | 74 + .../styles/01-settings/_settings-z-index.scss | 1 - .../settings-breakpoints/README.md | 3 + .../settings-colors/_settings-colors.scss | 120 +- .../01-settings/settings-colors/index.js | 103 - .../01-settings/settings-font-size/README.md | 3 + .../settings-global/_settings-global.scss | 1 - .../settings-spacing/_settings-spacing.scss | 38 +- .../settings-themes/_constants.scss | 283 - .../01-settings/settings-themes/_helpers.scss | 94 - .../01-settings/settings-themes/index.scss | 180 - .../tools-breakpoint/_tools-breakpoint.scss | 11 + .../_tools-button-color.scss | 7 + .../tools-clearfix/_tools-clearfix.scss | 7 + .../_tools-color-palette.scss | 12 + .../tools-css-vars/_tools-css-vars.scss | 101 +- .../tools-data/export-data/export-data.scss | 12 - .../normalize-data/normalize-data.scss | 47 - .../02-tools/tools-data/tools-data.scss | 2 - .../tools-font-family/_tools-font-family.scss | 9 + .../tools-font-size/_tools-font-size.scss | 8 + .../tools-font-weight/_tools-font-weight.scss | 8 + .../tools-full-bleed/_tools-full-bleed.scss | 18 - .../tools-map-recursive-merge.scss | 22 - .../_tools.sass-json-export.scss | 4 - .../encode/api/_json.scss | 23 - .../tools-sass-json-export/encode/encode.scss | 17 - .../encode/helpers/_quote.scss | 11 - .../encode/mixins/_json.scss | 44 - .../encode/types/_bool.scss | 9 - .../encode/types/_color.scss | 10 - .../encode/types/_list.scss | 16 - .../encode/types/_map.scss | 17 - .../encode/types/_null.scss | 9 - .../encode/types/_number.scss | 10 - .../encode/types/_string.scss | 10 - .../tools-spacing/_tools-spacing.scss | 1 - .../_tools-text-contrast.scss | 9 +- .../02-tools/tools-themes/_tools.themes.scss | 186 - packages/core/styles/index.scss | 92 +- packages/core/utils/index.js | 17 - packages/core/utils/renderer-preact.js | 43 + .../core/utils/wait-for-transition-end.js | 49 - packages/core/utils/which-transition-event.js | 18 - .../bolt_connect/bolt_connect.info.yml | 2 +- .../drupal-modules/bolt_connect/composer.json | 4 +- .../favicons/bolt/android-chrome-192x192.png | Bin 4042 -> 0 bytes .../favicons/bolt/android-chrome-512x512.png | Bin 9031 -> 0 bytes .../global/favicons/bolt/apple-touch-icon.png | Bin 1367 -> 0 bytes .../global/favicons/bolt/favicon-16x16.png | Bin 695 -> 0 bytes .../global/favicons/bolt/favicon-32x32.png | Bin 936 -> 0 bytes packages/global/favicons/bolt/favicon.ico | Bin 15086 -> 0 bytes .../global/favicons/bolt/mstile-150x150.png | Bin 1535 -> 0 bytes .../favicons/bolt/safari-pinned-tab.svg | 1 - .../global/favicons/bolt/site.webmanifest | 18 - packages/global/package.json | 9 +- .../styles/03-generic/_generic-normalize.scss | 2 +- .../styles/04-elements/_elements-code.scss | 4 +- .../styles/04-elements/_elements-page.scss | 9 +- .../objects-ratio/ratio.standalone.js | 12 +- .../objects-ui-list/_objects-ui-list.scss | 31 +- .../global/styles/06-themes/_themes.all.scss | 34 - .../themes-general/_themes-dark.scss | 110 + .../themes-general/_themes-light.scss | 94 + .../themes-general/_themes-medium.scss | 110 + .../themes-general/_themes-xdark.scss | 111 + .../themes-general/_themes-xlight.scss | 100 + .../07-utilities/_utilities-height.scss | 24 +- .../07-utilities/_utilities-spacing.scss | 23 +- .../07-utilities/_utilities-text-align.scss | 3 +- .../_utilities-text-decoration.scss | 3 +- packages/global/styles/index.scss | 52 +- .../themes-states/_themes-error.scss | 3 + .../themes-states/_themes-notice.scss | 3 + .../themes-states/_themes-success.scss | 3 + .../themes-states/_themes-warning.scss | 3 + .../twig-extensions/globals/bolt.global.php | 1 - packages/uikit-workshop/.npmrc | 2 - packages/uikit-workshop/dist/index.html | 268 +- .../uikit-workshop/dist/splash-screen.html | 146 + .../css/pattern-lab--iframe-loader.css | 1 - .../styleguide/css/pattern-lab.critical.css | 1 - .../dist/styleguide/css/pattern-lab.css | 2591 +++- .../dist/styleguide/js/patternlab-pattern.js | 2 +- .../styleguide/js/patternlab-pattern.min.js | 2 +- .../dist/styleguide/js/patternlab-viewer.js | 4 +- .../styleguide/js/patternlab-viewer.min.js | 2 +- packages/uikit-workshop/gulpfile.js | 158 +- packages/uikit-workshop/package.json | 23 +- packages/uikit-workshop/penthouse.js | 66 - .../src/html-twig/partials/iframe-loader.twig | 13 - .../src/html-twig/partials/iframe.twig | 2 +- .../src/html-twig/splash-screen.html | 146 + packages/uikit-workshop/src/html/index.html | 108 +- .../src/html/partials/iframe-loader.html | 13 - .../src/html/partials/iframe.html | 150 +- packages/uikit-workshop/src/js/styleguide.js | 2 +- packages/uikit-workshop/src/js/url-handler.js | 2 +- .../src/sass/pattern-lab--iframe-loader.scss | 85 - .../src/sass/scss/base/_body.scss | 8 +- .../src/sass/scss/components/_modal.scss | 19 +- .../src/sass/scss/components/_navigation.scss | 4 +- .../src/sass/scss/components/_tabs.scss | 3 +- .../src/sass/scss/components/_viewport.scss | 13 +- sandbox/bolt-bolt/bolt.scss | 12 + sandbox/grav/.gitignore | 4 + sandbox/grav/.htaccess | 75 + sandbox/grav/CHANGELOG.md | 1823 +++ sandbox/grav/CODE_OF_CONDUCT.md | 46 + sandbox/grav/CONTRIBUTING.md | 137 + sandbox/grav/LICENSE.txt | 21 + sandbox/grav/README.md | 187 + sandbox/grav/assets/.gitkeep | 0 sandbox/grav/backup/.gitkeep | 0 sandbox/grav/bin/composer.phar | Bin 0 -> 1815925 bytes sandbox/grav/bin/gpm | 73 + sandbox/grav/bin/grav | 45 + sandbox/grav/bin/plugin | 137 + sandbox/grav/composer.json | 62 + sandbox/grav/composer.lock | 3250 +++++ sandbox/grav/docker-compose.yml | 15 + sandbox/grav/images/.gitkeep | 0 sandbox/grav/index.html | 27 + sandbox/grav/index.php | 56 + sandbox/grav/logs/.gitkeep | 0 sandbox/grav/logs/grav.log | 54 + sandbox/grav/logs/popularity/daily.json | 1 + sandbox/grav/logs/popularity/monthly.json | 1 + sandbox/grav/logs/popularity/totals.json | 1 + sandbox/grav/logs/popularity/visitors.json | 1 + sandbox/grav/pattern-kit-core/.pk-config.yml | 36 + sandbox/grav/pattern-kit-core/composer.json | 53 + sandbox/grav/pattern-kit-core/composer.lock | 1191 ++ sandbox/grav/pattern-kit-core/index.php | 6 + .../pattern-kit-core/pattern-kit/.gitignore | 5 + .../pattern-kit/.pk-config.yml | 34 + .../pattern-kit/CHANGELOG-1.x.md | 24 + .../pattern-kit-core/pattern-kit/README.md | 94 + .../pattern-kit/composer.json | 33 + .../pattern-kit-core/pattern-kit/index.php | 6 + .../pattern-kit/resources/fixtures/cat.jpg | Bin 0 -> 105993 bytes .../resources/fixtures/company-colors.sg.md | 7 + .../resources/fixtures/foo.docs.yaml | 2 + .../resources/fixtures/foo2.docs.json | 4 + .../resources/fixtures/get-started.sg.md | 5 + .../resources/fixtures/image.docs.yaml | 2 + .../pattern-kit/resources/fixtures/image.json | 24 + .../pattern-kit/resources/fixtures/image.twig | 1 + .../resources/fixtures/index.sg.md | 5 + .../resources/fixtures/test.docs.md | 5 + .../resources/fixtures/test.docs.yaml | 9 + .../pattern-kit/resources/fixtures/test.json | 50 + .../pattern-kit/resources/fixtures/test.twig | 15 + .../resources/templates/_pattern-kit-app.twig | 62 + .../resources/templates/basic.twig | 27 + .../resources/templates/display-schema.twig | 97 + .../resources/templates/display-sg.twig | 23 + .../pattern-kit/resources/templates/docs.twig | 1 + .../resources/templates/editor-accordion.twig | 21 + .../resources/templates/editor-tabs.twig | 17 + .../resources/templates/iframe-holder.twig | 21 + .../resources/templates/navigation.twig | 36 + .../resources/templates/secondary-nav.twig | 31 + .../src/PatternKit/ApiControllerProvider.php | 134 + .../Controllers/SchemaController.php | 58 + .../src/PatternKit/RoutesLoader.php | 34 + .../PatternKit/SchemaControllerProvider.php | 91 + .../StyleGuideControllerProvider.php | 71 + .../PatternKit/TestsControllerProvider.php | 51 + .../pattern-kit-core/pattern-kit/src/app.php | 280 + .../pattern-kit/web/css/json-editor.css | 430 + .../pattern-kit/web/img/icon-drag.svg | 7 + .../pattern-kit/web/js/json-editor.js | 7774 ++++++++++ .../pattern-kit/web/js/lzstring.js | 3 + .../pattern-kit/web/js/schema_editor.js | 157 + sandbox/grav/robots.txt | 11 + sandbox/grav/system/assets/debugger.css | 54 + sandbox/grav/system/assets/grav.png | Bin 0 -> 548 bytes .../system/assets/jquery/jquery-2.1.4.min.js | 4 + .../system/assets/jquery/jquery-2.x.min.js | 4 + .../system/assets/jquery/jquery-3.x.min.js | 4 + .../system/assets/responsive-overlays/1x.png | Bin 0 -> 3238 bytes .../system/assets/responsive-overlays/2x.png | Bin 0 -> 7593 bytes .../system/assets/responsive-overlays/3x.png | Bin 0 -> 13002 bytes .../system/assets/responsive-overlays/4x.png | Bin 0 -> 15545 bytes .../assets/responsive-overlays/unknown.png | Bin 0 -> 5241 bytes sandbox/grav/system/assets/whoops.css | 19 + .../grav/system/blueprints/config/media.yaml | 5 + .../grav/system/blueprints/config/site.yaml | 124 + .../system/blueprints/config/streams.yaml | 8 + .../grav/system/blueprints/config/system.yaml | 1204 ++ .../grav/system/blueprints/pages/default.yaml | 341 + .../system/blueprints/pages/external.yaml | 52 + .../grav/system/blueprints/pages/modular.yaml | 47 + .../grav/system/blueprints/user/account.yaml | 123 + .../system/blueprints/user/account_new.yaml | 16 + .../grav/system/blueprints/user/group.yaml | 37 + .../system/blueprints/user/group_new.yaml | 16 + sandbox/grav/system/config/media.yaml | 210 + sandbox/grav/system/config/site.yaml | 35 + sandbox/grav/system/config/streams.yaml | 16 + sandbox/grav/system/config/system.yaml | 146 + sandbox/grav/system/defines.php | 53 + .../grav/system/images/media/thumb-3dm.png | Bin 0 -> 3013 bytes .../grav/system/images/media/thumb-3ds.png | Bin 0 -> 3116 bytes .../grav/system/images/media/thumb-3g2.png | Bin 0 -> 3006 bytes .../grav/system/images/media/thumb-3gp.png | Bin 0 -> 2853 bytes sandbox/grav/system/images/media/thumb-7z.png | Bin 0 -> 1648 bytes .../grav/system/images/media/thumb-aac.png | Bin 0 -> 3218 bytes sandbox/grav/system/images/media/thumb-ai.png | Bin 0 -> 1595 bytes .../grav/system/images/media/thumb-aif.png | Bin 0 -> 1691 bytes .../grav/system/images/media/thumb-apk.png | Bin 0 -> 2557 bytes .../grav/system/images/media/thumb-app.png | Bin 0 -> 2360 bytes .../grav/system/images/media/thumb-asf.png | Bin 0 -> 2635 bytes .../grav/system/images/media/thumb-asp.png | Bin 0 -> 2913 bytes .../grav/system/images/media/thumb-aspx.png | Bin 0 -> 3726 bytes .../grav/system/images/media/thumb-asx.png | Bin 0 -> 3287 bytes .../grav/system/images/media/thumb-avi.png | Bin 0 -> 2448 bytes .../grav/system/images/media/thumb-bak.png | Bin 0 -> 2814 bytes .../grav/system/images/media/thumb-bat.png | Bin 0 -> 2182 bytes .../grav/system/images/media/thumb-bin.png | Bin 0 -> 1841 bytes .../grav/system/images/media/thumb-bmp.png | Bin 0 -> 2573 bytes .../grav/system/images/media/thumb-cab.png | Bin 0 -> 3056 bytes .../grav/system/images/media/thumb-cad.png | Bin 0 -> 3021 bytes .../grav/system/images/media/thumb-cdr.png | Bin 0 -> 2713 bytes .../grav/system/images/media/thumb-cer.png | Bin 0 -> 2367 bytes .../grav/system/images/media/thumb-cfg.png | Bin 0 -> 2764 bytes .../grav/system/images/media/thumb-cfm.png | Bin 0 -> 2589 bytes .../grav/system/images/media/thumb-cgi.png | Bin 0 -> 2626 bytes .../grav/system/images/media/thumb-com.png | Bin 0 -> 3292 bytes .../grav/system/images/media/thumb-cpl.png | Bin 0 -> 2174 bytes .../grav/system/images/media/thumb-cpp.png | Bin 0 -> 2425 bytes .../grav/system/images/media/thumb-crx.png | Bin 0 -> 2965 bytes .../grav/system/images/media/thumb-csr.png | Bin 0 -> 3158 bytes .../grav/system/images/media/thumb-css.png | Bin 0 -> 3235 bytes .../grav/system/images/media/thumb-csv.png | Bin 0 -> 3317 bytes .../grav/system/images/media/thumb-cue.png | Bin 0 -> 2271 bytes .../grav/system/images/media/thumb-cur.png | Bin 0 -> 2716 bytes .../grav/system/images/media/thumb-dat.png | Bin 0 -> 2188 bytes sandbox/grav/system/images/media/thumb-db.png | Bin 0 -> 1964 bytes .../grav/system/images/media/thumb-dbf.png | Bin 0 -> 1947 bytes .../grav/system/images/media/thumb-dds.png | Bin 0 -> 2815 bytes .../grav/system/images/media/thumb-dem.png | Bin 0 -> 2215 bytes .../grav/system/images/media/thumb-dll.png | Bin 0 -> 1352 bytes .../grav/system/images/media/thumb-dmg.png | Bin 0 -> 3064 bytes .../grav/system/images/media/thumb-dmp.png | Bin 0 -> 2527 bytes .../grav/system/images/media/thumb-doc.png | Bin 0 -> 3051 bytes .../grav/system/images/media/thumb-docx.png | Bin 0 -> 3865 bytes .../grav/system/images/media/thumb-drv.png | Bin 0 -> 2728 bytes .../grav/system/images/media/thumb-dtd.png | Bin 0 -> 1949 bytes .../grav/system/images/media/thumb-dwg.png | Bin 0 -> 3530 bytes .../grav/system/images/media/thumb-dxf.png | Bin 0 -> 2392 bytes .../grav/system/images/media/thumb-elf.png | Bin 0 -> 663 bytes .../grav/system/images/media/thumb-eot.png | Bin 0 -> 2002 bytes .../grav/system/images/media/thumb-eps.png | Bin 0 -> 2276 bytes .../grav/system/images/media/thumb-exe.png | Bin 0 -> 1813 bytes .../grav/system/images/media/thumb-fla.png | Bin 0 -> 1724 bytes .../grav/system/images/media/thumb-flv.png | Bin 0 -> 1720 bytes .../grav/system/images/media/thumb-fnt.png | Bin 0 -> 1254 bytes .../grav/system/images/media/thumb-fon.png | Bin 0 -> 2402 bytes .../grav/system/images/media/thumb-gam.png | Bin 0 -> 3203 bytes .../grav/system/images/media/thumb-gbr.png | Bin 0 -> 2849 bytes .../grav/system/images/media/thumb-ged.png | Bin 0 -> 2269 bytes .../grav/system/images/media/thumb-gif.png | Bin 0 -> 1751 bytes .../grav/system/images/media/thumb-gpx.png | Bin 0 -> 2972 bytes sandbox/grav/system/images/media/thumb-gz.png | Bin 0 -> 2134 bytes .../grav/system/images/media/thumb-gzip.png | Bin 0 -> 2451 bytes .../grav/system/images/media/thumb-hqz.png | Bin 0 -> 2604 bytes .../grav/system/images/media/thumb-html.png | Bin 0 -> 1740 bytes .../grav/system/images/media/thumb-icns.png | Bin 0 -> 3212 bytes .../grav/system/images/media/thumb-ico.png | Bin 0 -> 2769 bytes .../grav/system/images/media/thumb-ics.png | Bin 0 -> 2787 bytes .../grav/system/images/media/thumb-iff.png | Bin 0 -> 601 bytes .../grav/system/images/media/thumb-indd.png | Bin 0 -> 2475 bytes .../grav/system/images/media/thumb-iso.png | Bin 0 -> 2864 bytes .../grav/system/images/media/thumb-jar.png | Bin 0 -> 2583 bytes .../grav/system/images/media/thumb-jpg.png | Bin 0 -> 2435 bytes sandbox/grav/system/images/media/thumb-js.png | Bin 0 -> 2046 bytes .../grav/system/images/media/thumb-jsp.png | Bin 0 -> 2498 bytes .../grav/system/images/media/thumb-key.png | Bin 0 -> 2130 bytes .../grav/system/images/media/thumb-kml.png | Bin 0 -> 2346 bytes .../grav/system/images/media/thumb-kmz.png | Bin 0 -> 2701 bytes .../grav/system/images/media/thumb-lnk.png | Bin 0 -> 1971 bytes .../grav/system/images/media/thumb-log.png | Bin 0 -> 2762 bytes .../grav/system/images/media/thumb-lua.png | Bin 0 -> 2117 bytes .../grav/system/images/media/thumb-m3u.png | Bin 0 -> 2909 bytes .../grav/system/images/media/thumb-m4a.png | Bin 0 -> 2754 bytes .../grav/system/images/media/thumb-m4v.png | Bin 0 -> 2738 bytes .../grav/system/images/media/thumb-max.png | Bin 0 -> 3213 bytes .../grav/system/images/media/thumb-mdb.png | Bin 0 -> 2691 bytes .../grav/system/images/media/thumb-mdf.png | Bin 0 -> 2243 bytes .../grav/system/images/media/thumb-mid.png | Bin 0 -> 2199 bytes .../grav/system/images/media/thumb-mim.png | Bin 0 -> 2284 bytes .../grav/system/images/media/thumb-mov.png | Bin 0 -> 3221 bytes .../grav/system/images/media/thumb-mp3.png | Bin 0 -> 2801 bytes .../grav/system/images/media/thumb-mp4.png | Bin 0 -> 2221 bytes .../grav/system/images/media/thumb-mpa.png | Bin 0 -> 2734 bytes .../grav/system/images/media/thumb-mpe.png | Bin 0 -> 1971 bytes .../grav/system/images/media/thumb-mpg.png | Bin 0 -> 2811 bytes .../grav/system/images/media/thumb-msg.png | Bin 0 -> 3319 bytes .../grav/system/images/media/thumb-msi.png | Bin 0 -> 2594 bytes .../grav/system/images/media/thumb-nes.png | Bin 0 -> 2320 bytes .../grav/system/images/media/thumb-obj.png | Bin 0 -> 2716 bytes .../grav/system/images/media/thumb-odb.png | Bin 0 -> 2912 bytes .../grav/system/images/media/thumb-odc.png | Bin 0 -> 3239 bytes .../grav/system/images/media/thumb-odf.png | Bin 0 -> 2496 bytes .../grav/system/images/media/thumb-odg.png | Bin 0 -> 3069 bytes .../grav/system/images/media/thumb-odi.png | Bin 0 -> 2453 bytes .../grav/system/images/media/thumb-odp.png | Bin 0 -> 2871 bytes .../grav/system/images/media/thumb-ods.png | Bin 0 -> 3257 bytes .../grav/system/images/media/thumb-odt.png | Bin 0 -> 2414 bytes .../grav/system/images/media/thumb-odx.png | Bin 0 -> 3133 bytes .../grav/system/images/media/thumb-ogg.png | Bin 0 -> 3577 bytes .../grav/system/images/media/thumb-pct.png | Bin 0 -> 2248 bytes .../grav/system/images/media/thumb-pdb.png | Bin 0 -> 2354 bytes .../grav/system/images/media/thumb-pdf.png | Bin 0 -> 1823 bytes .../grav/system/images/media/thumb-pif.png | Bin 0 -> 1103 bytes .../grav/system/images/media/thumb-pkg.png | Bin 0 -> 2660 bytes sandbox/grav/system/images/media/thumb-pl.png | Bin 0 -> 1066 bytes .../grav/system/images/media/thumb-png.png | Bin 0 -> 2530 bytes .../grav/system/images/media/thumb-pps.png | Bin 0 -> 2497 bytes .../grav/system/images/media/thumb-ppt.png | Bin 0 -> 1573 bytes .../grav/system/images/media/thumb-pptx.png | Bin 0 -> 2560 bytes sandbox/grav/system/images/media/thumb-ps.png | Bin 0 -> 2285 bytes .../grav/system/images/media/thumb-psd.png | Bin 0 -> 2613 bytes .../grav/system/images/media/thumb-pub.png | Bin 0 -> 2137 bytes sandbox/grav/system/images/media/thumb-py.png | Bin 0 -> 1776 bytes sandbox/grav/system/images/media/thumb-ra.png | Bin 0 -> 2223 bytes .../grav/system/images/media/thumb-rar.png | Bin 0 -> 2695 bytes .../grav/system/images/media/thumb-raw.png | Bin 0 -> 3433 bytes sandbox/grav/system/images/media/thumb-rm.png | Bin 0 -> 2181 bytes .../grav/system/images/media/thumb-rom.png | Bin 0 -> 3088 bytes .../grav/system/images/media/thumb-rpm.png | Bin 0 -> 2566 bytes .../grav/system/images/media/thumb-rss.png | Bin 0 -> 3091 bytes .../grav/system/images/media/thumb-rtf.png | Bin 0 -> 1364 bytes .../grav/system/images/media/thumb-sav.png | Bin 0 -> 3204 bytes .../grav/system/images/media/thumb-sdf.png | Bin 0 -> 2444 bytes .../grav/system/images/media/thumb-sql.png | Bin 0 -> 2929 bytes .../grav/system/images/media/thumb-srt.png | Bin 0 -> 2366 bytes .../grav/system/images/media/thumb-svg.png | Bin 0 -> 3359 bytes .../grav/system/images/media/thumb-swf.png | Bin 0 -> 3181 bytes .../grav/system/images/media/thumb-sys.png | Bin 0 -> 3128 bytes .../grav/system/images/media/thumb-tar.png | Bin 0 -> 2165 bytes .../grav/system/images/media/thumb-tex.png | Bin 0 -> 1716 bytes .../grav/system/images/media/thumb-tga.png | Bin 0 -> 2655 bytes .../grav/system/images/media/thumb-thm.png | Bin 0 -> 1666 bytes .../grav/system/images/media/thumb-tiff.png | Bin 0 -> 690 bytes .../grav/system/images/media/thumb-tmp.png | Bin 0 -> 2040 bytes .../grav/system/images/media/thumb-ttf.png | Bin 0 -> 615 bytes .../grav/system/images/media/thumb-txt.png | Bin 0 -> 1853 bytes .../grav/system/images/media/thumb-uue.png | Bin 0 -> 1632 bytes sandbox/grav/system/images/media/thumb-vb.png | Bin 0 -> 2074 bytes .../grav/system/images/media/thumb-vcd.png | Bin 0 -> 3040 bytes .../grav/system/images/media/thumb-vcf.png | Bin 0 -> 2581 bytes .../grav/system/images/media/thumb-wav.png | Bin 0 -> 3601 bytes .../grav/system/images/media/thumb-webm.png | Bin 0 -> 3843 bytes .../grav/system/images/media/thumb-wma.png | Bin 0 -> 3552 bytes .../grav/system/images/media/thumb-wmv.png | Bin 0 -> 3789 bytes .../grav/system/images/media/thumb-woff.png | Bin 0 -> 3421 bytes .../grav/system/images/media/thumb-woff2.png | Bin 0 -> 3927 bytes .../grav/system/images/media/thumb-wpd.png | Bin 0 -> 3127 bytes .../grav/system/images/media/thumb-wps.png | Bin 0 -> 3368 bytes .../grav/system/images/media/thumb-wsf.png | Bin 0 -> 3028 bytes .../grav/system/images/media/thumb-xls.png | Bin 0 -> 2562 bytes .../grav/system/images/media/thumb-xlsx.png | Bin 0 -> 3481 bytes .../grav/system/images/media/thumb-xml.png | Bin 0 -> 2557 bytes .../grav/system/images/media/thumb-yuv.png | Bin 0 -> 2741 bytes .../grav/system/images/media/thumb-zip.png | Bin 0 -> 1628 bytes sandbox/grav/system/images/media/thumb.png | Bin 0 -> 1200 bytes sandbox/grav/system/languages/ar.yaml | 75 + sandbox/grav/system/languages/ca.yaml | 75 + sandbox/grav/system/languages/cs.yaml | 81 + sandbox/grav/system/languages/da.yaml | 75 + sandbox/grav/system/languages/de.yaml | 89 + sandbox/grav/system/languages/el.yaml | 22 + sandbox/grav/system/languages/en.yaml | 101 + sandbox/grav/system/languages/es.yaml | 90 + sandbox/grav/system/languages/fi.yaml | 60 + sandbox/grav/system/languages/fr.yaml | 138 + sandbox/grav/system/languages/hr.yaml | 75 + sandbox/grav/system/languages/hu.yaml | 138 + sandbox/grav/system/languages/it.yaml | 62 + sandbox/grav/system/languages/ja.yaml | 59 + sandbox/grav/system/languages/lt.yaml | 69 + sandbox/grav/system/languages/nb.yaml | 2 + sandbox/grav/system/languages/nl.yaml | 64 + sandbox/grav/system/languages/no.yaml | 93 + sandbox/grav/system/languages/pl.yaml | 75 + sandbox/grav/system/languages/pt.yaml | 79 + sandbox/grav/system/languages/ro.yaml | 101 + sandbox/grav/system/languages/ru.yaml | 81 + sandbox/grav/system/languages/sk.yaml | 42 + sandbox/grav/system/languages/sv.yaml | 62 + sandbox/grav/system/languages/th.yaml | 75 + sandbox/grav/system/languages/tr.yaml | 59 + sandbox/grav/system/languages/uk.yaml | 75 + sandbox/grav/system/languages/vi.yaml | 75 + sandbox/grav/system/pages/notfound.md | 5 + sandbox/grav/system/router.php | 26 + .../grav/system/src/Grav/Common/Assets.php | 1424 ++ .../src/Grav/Common/Backup/ZipBackup.php | 143 + .../grav/system/src/Grav/Common/Browser.php | 137 + sandbox/grav/system/src/Grav/Common/Cache.php | 501 + .../grav/system/src/Grav/Common/Composer.php | 60 + .../src/Grav/Common/Config/CompiledBase.php | 264 + .../Grav/Common/Config/CompiledBlueprints.php | 115 + .../src/Grav/Common/Config/CompiledConfig.php | 103 + .../Grav/Common/Config/CompiledLanguages.php | 69 + .../system/src/Grav/Common/Config/Config.php | 108 + .../Grav/Common/Config/ConfigFileFinder.php | 262 + .../src/Grav/Common/Config/Languages.php | 54 + .../system/src/Grav/Common/Config/Setup.php | 273 + .../system/src/Grav/Common/Data/Blueprint.php | 254 + .../src/Grav/Common/Data/BlueprintSchema.php | 171 + .../src/Grav/Common/Data/Blueprints.php | 100 + .../grav/system/src/Grav/Common/Data/Data.php | 286 + .../src/Grav/Common/Data/DataInterface.php | 69 + .../src/Grav/Common/Data/Validation.php | 765 + .../Grav/Common/Data/ValidationException.php | 37 + .../grav/system/src/Grav/Common/Debugger.php | 250 + .../src/Grav/Common/Errors/BareHandler.php | 24 + .../system/src/Grav/Common/Errors/Errors.php | 78 + .../Grav/Common/Errors/Resources/error.css | 52 + .../Common/Errors/Resources/layout.html.php | 30 + .../Grav/Common/Errors/SimplePageHandler.php | 103 + .../src/Grav/Common/Errors/SystemFacade.php | 39 + .../src/Grav/Common/File/CompiledFile.php | 88 + .../src/Grav/Common/File/CompiledJsonFile.php | 28 + .../Grav/Common/File/CompiledMarkdownFile.php | 16 + .../src/Grav/Common/File/CompiledYamlFile.php | 16 + .../src/Grav/Common/Filesystem/Folder.php | 490 + .../RecursiveFolderFilterIterator.php | 45 + .../Grav/Common/GPM/AbstractCollection.php | 36 + .../GPM/Common/AbstractPackageCollection.php | 38 + .../Common/GPM/Common/CachedCollection.php | 28 + .../src/Grav/Common/GPM/Common/Package.php | 49 + .../grav/system/src/Grav/Common/GPM/GPM.php | 1134 ++ .../system/src/Grav/Common/GPM/Installer.php | 493 + .../system/src/Grav/Common/GPM/Licenses.php | 126 + .../GPM/Local/AbstractPackageCollection.php | 22 + .../src/Grav/Common/GPM/Local/Package.php | 39 + .../src/Grav/Common/GPM/Local/Packages.php | 24 + .../src/Grav/Common/GPM/Local/Plugins.php | 29 + .../src/Grav/Common/GPM/Local/Themes.php | 27 + .../GPM/Remote/AbstractPackageCollection.php | 75 + .../src/Grav/Common/GPM/Remote/GravCore.php | 113 + .../src/Grav/Common/GPM/Remote/Package.php | 19 + .../src/Grav/Common/GPM/Remote/Packages.php | 24 + .../src/Grav/Common/GPM/Remote/Plugins.php | 29 + .../src/Grav/Common/GPM/Remote/Themes.php | 29 + .../system/src/Grav/Common/GPM/Response.php | 422 + .../system/src/Grav/Common/GPM/Upgrader.php | 122 + .../grav/system/src/Grav/Common/Getters.php | 160 + sandbox/grav/system/src/Grav/Common/Grav.php | 504 + .../grav/system/src/Grav/Common/GravTrait.php | 27 + .../system/src/Grav/Common/Helpers/Base32.php | 103 + .../src/Grav/Common/Helpers/Excerpts.php | 352 + .../system/src/Grav/Common/Helpers/Exif.php | 36 + .../src/Grav/Common/Helpers/Truncator.php | 218 + .../grav/system/src/Grav/Common/Inflector.php | 332 + .../grav/system/src/Grav/Common/Iterator.php | 263 + .../src/Grav/Common/Language/Language.php | 507 + .../Grav/Common/Language/LanguageCodes.php | 208 + .../src/Grav/Common/Markdown/Parsedown.php | 26 + .../Grav/Common/Markdown/ParsedownExtra.php | 26 + .../Common/Markdown/ParsedownGravTrait.php | 254 + .../src/Grav/Common/Page/Collection.php | 613 + .../system/src/Grav/Common/Page/Header.php | 17 + .../system/src/Grav/Common/Page/Media.php | 211 + .../Grav/Common/Page/Medium/AbstractMedia.php | 164 + .../Grav/Common/Page/Medium/AudioMedium.php | 45 + .../Grav/Common/Page/Medium/GlobalMedia.php | 117 + .../src/Grav/Common/Page/Medium/ImageFile.php | 101 + .../Grav/Common/Page/Medium/ImageMedium.php | 631 + .../src/Grav/Common/Page/Medium/Link.php | 70 + .../src/Grav/Common/Page/Medium/Medium.php | 535 + .../Grav/Common/Page/Medium/MediumFactory.php | 146 + .../Common/Page/Medium/ParsedownHtmlTrait.php | 40 + .../Page/Medium/RenderableInterface.php | 35 + .../Common/Page/Medium/StaticImageMedium.php | 28 + .../Common/Page/Medium/StaticResizeTrait.php | 27 + .../Page/Medium/ThumbnailImageMedium.php | 130 + .../Grav/Common/Page/Medium/VideoMedium.php | 114 + .../grav/system/src/Grav/Common/Page/Page.php | 2863 ++++ .../system/src/Grav/Common/Page/Pages.php | 1334 ++ .../system/src/Grav/Common/Page/Types.php | 140 + .../grav/system/src/Grav/Common/Plugin.php | 359 + .../grav/system/src/Grav/Common/Plugins.php | 207 + .../Common/Processors/AssetsProcessor.php | 21 + .../Processors/ConfigurationProcessor.php | 21 + .../Processors/DebuggerAssetsProcessor.php | 20 + .../Processors/DebuggerInitProcessor.php | 20 + .../Common/Processors/ErrorsProcessor.php | 20 + .../Common/Processors/InitializeProcessor.php | 40 + .../Grav/Common/Processors/PagesProcessor.php | 43 + .../Common/Processors/PluginsProcessor.php | 21 + .../Grav/Common/Processors/ProcessorBase.php | 25 + .../Common/Processors/ProcessorInterface.php | 14 + .../Common/Processors/RenderProcessor.php | 39 + .../Common/Processors/SiteSetupProcessor.php | 21 + .../Grav/Common/Processors/TasksProcessor.php | 23 + .../Common/Processors/ThemesProcessor.php | 20 + .../Grav/Common/Processors/TwigProcessor.php | 21 + .../Common/Service/AssetsServiceProvider.php | 21 + .../Common/Service/ConfigServiceProvider.php | 153 + .../Common/Service/ErrorServiceProvider.php | 22 + .../Common/Service/LoggerServiceProvider.php | 34 + .../Service/MessagesServiceProvider.php | 30 + .../Common/Service/OutputServiceProvider.php | 30 + .../Common/Service/PageServiceProvider.php | 103 + .../Common/Service/StreamsServiceProvider.php | 47 + .../Common/Service/TaskServiceProvider.php | 24 + .../grav/system/src/Grav/Common/Session.php | 106 + .../grav/system/src/Grav/Common/Taxonomy.php | 149 + sandbox/grav/system/src/Grav/Common/Theme.php | 94 + .../grav/system/src/Grav/Common/Themes.php | 359 + .../grav/system/src/Grav/Common/Twig/Twig.php | 410 + .../src/Grav/Common/Twig/TwigEnvironment.php | 14 + .../src/Grav/Common/Twig/TwigExtension.php | 1133 ++ .../Grav/Common/Twig/WriteCacheFileTrait.php | 46 + sandbox/grav/system/src/Grav/Common/Uri.php | 1110 ++ .../src/Grav/Common/User/Authentication.php | 54 + .../system/src/Grav/Common/User/Group.php | 152 + .../grav/system/src/Grav/Common/User/User.php | 262 + sandbox/grav/system/src/Grav/Common/Utils.php | 906 ++ .../src/Grav/Console/Cli/BackupCommand.php | 90 + .../src/Grav/Console/Cli/CleanCommand.php | 243 + .../Grav/Console/Cli/ClearCacheCommand.php | 70 + .../src/Grav/Console/Cli/ComposerCommand.php | 72 + .../src/Grav/Console/Cli/InstallCommand.php | 175 + .../Grav/Console/Cli/NewProjectCommand.php | 65 + .../src/Grav/Console/Cli/SandboxCommand.php | 304 + .../src/Grav/Console/ConsoleCommand.php | 47 + .../system/src/Grav/Console/ConsoleTrait.php | 132 + .../Grav/Console/Gpm/DirectInstallCommand.php | 267 + .../src/Grav/Console/Gpm/IndexCommand.php | 272 + .../src/Grav/Console/Gpm/InfoCommand.php | 181 + .../src/Grav/Console/Gpm/InstallCommand.php | 693 + .../Grav/Console/Gpm/SelfupgradeCommand.php | 262 + .../src/Grav/Console/Gpm/UninstallCommand.php | 302 + .../src/Grav/Console/Gpm/UpdateCommand.php | 284 + .../src/Grav/Console/Gpm/VersionCommand.php | 113 + .../Grav/Console/TerminalObjects/Table.php | 29 + .../Collection/AbstractLazyCollection.php | 53 + .../Framework/Collection/ArrayCollection.php | 62 + .../Collection/CollectionInterface.php | 33 + .../Framework/Collection/FileCollection.php | 278 + sandbox/grav/tmp/.gitkeep | 0 sandbox/grav/user/accounts/.gitkeep | 0 sandbox/grav/user/accounts/sghoweri.yaml | 13 + sandbox/grav/user/config/media.yaml | 0 .../plugins/patternlab-twig-extensions.yaml | 3 + sandbox/grav/user/config/security.yaml | 1 + sandbox/grav/user/config/site.yaml | 7 + sandbox/grav/user/config/streams.yaml | 0 sandbox/grav/user/config/system.yaml | 147 + sandbox/grav/user/data/.gitkeep | 0 sandbox/grav/user/data/licenses.yaml | 0 sandbox/grav/user/pages/01.home/default.md | 13 + .../grav/user/pages/ITCSS vs Atomic Design.md | 30 + sandbox/grav/user/pages/TROUBLESHOOTING.md | 43 + sandbox/grav/user/pages/test.md | 3 + sandbox/grav/user/plugins/.gitkeep | 0 sandbox/grav/user/plugins/admin/.editorconfig | 18 + .../grav/user/plugins/admin/.gitattributes | 8 + sandbox/grav/user/plugins/admin/.gitignore | 14 + sandbox/grav/user/plugins/admin/CHANGELOG.md | 1157 ++ .../grav/user/plugins/admin/CONTRIBUTING.md | 1 + sandbox/grav/user/plugins/admin/LICENSE | 21 + sandbox/grav/user/plugins/admin/README.md | 111 + sandbox/grav/user/plugins/admin/admin.php | 888 ++ sandbox/grav/user/plugins/admin/admin.yaml | 44 + .../plugins/admin/assets/admin-dashboard.png | Bin 0 -> 180920 bytes .../grav/user/plugins/admin/blueprints.yaml | 404 + .../blueprints/admin/pages/modular_new.yaml | 52 + .../blueprints/admin/pages/modular_raw.yaml | 102 + .../admin/blueprints/admin/pages/move.yaml | 7 + .../admin/blueprints/admin/pages/new.yaml | 62 + .../blueprints/admin/pages/new_folder.yaml | 31 + .../admin/blueprints/admin/pages/raw.yaml | 103 + .../admin/blueprints/config/media.yaml | 36 + .../grav/user/plugins/admin/classes/admin.php | 1792 +++ .../admin/classes/adminbasecontroller.php | 992 ++ .../plugins/admin/classes/admincontroller.php | 2286 +++ .../plugins/admin/classes/baconqrprovider.php | 25 + .../grav/user/plugins/admin/classes/gpm.php | 382 + .../user/plugins/admin/classes/popularity.php | 295 + .../user/plugins/admin/classes/themes.php | 21 + .../grav/user/plugins/admin/classes/utils.php | 60 + .../grav/user/plugins/admin/codeception.yml | 18 + sandbox/grav/user/plugins/admin/composer.json | 20 + sandbox/grav/user/plugins/admin/composer.lock | 2852 ++++ sandbox/grav/user/plugins/admin/hebe.json | 15 + .../grav/user/plugins/admin/languages/ar.yaml | 92 + .../grav/user/plugins/admin/languages/bg.yaml | 232 + .../grav/user/plugins/admin/languages/br.yaml | 577 + .../grav/user/plugins/admin/languages/ca.yaml | 633 + .../grav/user/plugins/admin/languages/cs.yaml | 618 + .../grav/user/plugins/admin/languages/cy.yaml | 90 + .../grav/user/plugins/admin/languages/da.yaml | 549 + .../grav/user/plugins/admin/languages/de.yaml | 619 + .../grav/user/plugins/admin/languages/el.yaml | 349 + .../grav/user/plugins/admin/languages/en.yaml | 696 + .../grav/user/plugins/admin/languages/es.yaml | 636 + .../grav/user/plugins/admin/languages/fa.yaml | 333 + .../grav/user/plugins/admin/languages/fi.yaml | 186 + .../grav/user/plugins/admin/languages/fr.yaml | 631 + .../grav/user/plugins/admin/languages/hr.yaml | 541 + .../grav/user/plugins/admin/languages/hu.yaml | 606 + .../grav/user/plugins/admin/languages/it.yaml | 636 + .../grav/user/plugins/admin/languages/ja.yaml | 485 + .../grav/user/plugins/admin/languages/ko.yaml | 108 + .../grav/user/plugins/admin/languages/lt.yaml | 332 + .../grav/user/plugins/admin/languages/nl.yaml | 549 + .../grav/user/plugins/admin/languages/no.yaml | 200 + .../grav/user/plugins/admin/languages/pl.yaml | 492 + .../grav/user/plugins/admin/languages/pt.yaml | 459 + .../grav/user/plugins/admin/languages/ro.yaml | 636 + .../grav/user/plugins/admin/languages/ru.yaml | 613 + .../grav/user/plugins/admin/languages/sk.yaml | 495 + .../grav/user/plugins/admin/languages/sv.yaml | 133 + .../grav/user/plugins/admin/languages/th.yaml | 586 + .../user/plugins/admin/languages/tlh.yaml | 8 + .../grav/user/plugins/admin/languages/tr.yaml | 377 + .../grav/user/plugins/admin/languages/uk.yaml | 265 + .../grav/user/plugins/admin/languages/vi.yaml | 15 + .../grav/user/plugins/admin/languages/zh.yaml | 621 + .../user/plugins/admin/pages/admin/ajax.md | 7 + .../user/plugins/admin/pages/admin/backup.md | 8 + .../user/plugins/admin/pages/admin/cache.md | 9 + .../user/plugins/admin/pages/admin/config.md | 7 + .../plugins/admin/pages/admin/dashboard.md | 7 + .../user/plugins/admin/pages/admin/denied.md | 4 + .../user/plugins/admin/pages/admin/feed.md | 7 + .../user/plugins/admin/pages/admin/forgot.md | 12 + .../user/plugins/admin/pages/admin/info.md | 7 + .../plugins/admin/pages/admin/installer.md | 7 + .../user/plugins/admin/pages/admin/login.md | 22 + .../user/plugins/admin/pages/admin/logout.md | 14 + .../user/plugins/admin/pages/admin/media.md | 8 + .../admin/pages/admin/notifications.md | 7 + .../plugins/admin/pages/admin/pages-filter.md | 8 + .../user/plugins/admin/pages/admin/pages.md | 7 + .../user/plugins/admin/pages/admin/plugins.md | 7 + .../plugins/admin/pages/admin/register.md | 56 + .../user/plugins/admin/pages/admin/reset.md | 16 + .../user/plugins/admin/pages/admin/site.md | 7 + .../plugins/admin/pages/admin/statistics.md | 7 + .../user/plugins/admin/pages/admin/system.md | 7 + .../user/plugins/admin/pages/admin/themes.md | 7 + .../user/plugins/admin/pages/admin/tools.md | 7 + .../user/plugins/admin/pages/admin/twofa.md | 14 + .../user/plugins/admin/pages/admin/update.md | 8 + .../user/plugins/admin/pages/admin/user.md | 8 + .../user/plugins/admin/tests/_bootstrap.php | 11 + .../admin/tests/_support/Helper/Unit.php | 80 + .../admin/tests/_support/UnitTester.php | 26 + .../user/plugins/admin/tests/unit.suite.yml | 9 + .../plugins/admin/tests/unit/_bootstrap.php | 3 + .../tests/unit/classes/controllerTest.php | 42 + .../user/plugins/admin/themes/grav/.eslintrc | 165 + .../admin/themes/grav/app/dashboard/backup.js | 24 + .../admin/themes/grav/app/dashboard/cache.js | 49 + .../admin/themes/grav/app/dashboard/chart.js | 128 + .../admin/themes/grav/app/dashboard/index.js | 12 + .../admin/themes/grav/app/dashboard/update.js | 1 + .../themes/grav/app/forms/fields/array.js | 187 + .../grav/app/forms/fields/collections.js | 247 + .../grav/app/forms/fields/colorpicker.js | 581 + .../themes/grav/app/forms/fields/datetime.js | 63 + .../themes/grav/app/forms/fields/editor.js | 236 + .../grav/app/forms/fields/editor/buttons.js | 415 + .../grav/app/forms/fields/filepicker.js | 140 + .../themes/grav/app/forms/fields/files.js | 304 + .../grav/app/forms/fields/iconpicker.js | 288 + .../themes/grav/app/forms/fields/index.js | 64 + .../grav/app/forms/fields/mediapicker.js | 57 + .../grav/app/forms/fields/multilevel.js | 279 + .../themes/grav/app/forms/fields/selectize.js | 35 + .../grav/app/forms/fields/selectunique.js | 160 + .../admin/themes/grav/app/forms/form.js | 139 + .../admin/themes/grav/app/forms/index.js | 16 + .../admin/themes/grav/app/forms/state.js | 150 + .../plugins/admin/themes/grav/app/main.js | 78 + .../admin/themes/grav/app/media/index.js | 219 + .../admin/themes/grav/app/pages/filter.js | 147 + .../admin/themes/grav/app/pages/index.js | 53 + .../admin/themes/grav/app/pages/page/add.js | 67 + .../themes/grav/app/pages/page/delete.js | 15 + .../grav/app/pages/page/disable-buttons.js | 5 + .../admin/themes/grav/app/pages/page/index.js | 46 + .../admin/themes/grav/app/pages/page/media.js | 162 + .../admin/themes/grav/app/pages/page/move.js | 13 + .../themes/grav/app/pages/page/multilang.js | 22 + .../admin/themes/grav/app/pages/tree.js | 117 + .../admin/themes/grav/app/plugins/index.js | 92 + .../admin/themes/grav/app/themes/index.js | 46 + .../grav/app/updates/channel-switcher.js | 24 + .../admin/themes/grav/app/updates/check.js | 26 + .../admin/themes/grav/app/updates/feed.js | 70 + .../admin/themes/grav/app/updates/index.js | 186 + .../themes/grav/app/updates/notifications.js | 285 + .../admin/themes/grav/app/updates/update.js | 19 + .../admin/themes/grav/app/utils/2fa.js | 31 + .../admin/themes/grav/app/utils/colors.js | 152 + .../themes/grav/app/utils/formatbytes.js | 11 + .../admin/themes/grav/app/utils/gpm.js | 57 + .../themes/grav/app/utils/jquery-utils.js | 50 + .../admin/themes/grav/app/utils/keepalive.js | 32 + .../admin/themes/grav/app/utils/offline.js | 21 + .../admin/themes/grav/app/utils/packages.js | 458 + .../admin/themes/grav/app/utils/request.js | 38 + .../admin/themes/grav/app/utils/response.js | 101 + .../admin/themes/grav/app/utils/scrollbar.js | 40 + .../admin/themes/grav/app/utils/sidebar.js | 161 + .../admin/themes/grav/app/utils/storage.js | 41 + .../themes/grav/app/utils/tabs-memory.js | 29 + .../admin/themes/grav/app/utils/toastr.js | 6 + .../admin/themes/grav/css-compiled/fonts.css | 3 + .../themes/grav/css-compiled/nucleus.css | 3 + .../admin/themes/grav/css-compiled/preset.css | 3 + .../themes/grav/css-compiled/simple-fonts.css | 3 + .../themes/grav/css-compiled/template.css | 7 + .../admin/themes/grav/css/chartist.min.css | 1 + .../grav/css/codemirror/base16-light.css | 36 + .../themes/grav/css/codemirror/codemirror.css | 332 + .../themes/grav/css/codemirror/paper.css | 39 + .../themes/grav/css/featherlight.min.css | 8 + .../themes/grav/css/font-awesome.min.css | 4 + .../admin/themes/grav/css/hint.base.min.css | 5 + .../admin/themes/grav/css/iconpicker.css | 221 + .../admin/themes/grav/css/nucleus-ie10.css | 24 + .../admin/themes/grav/css/nucleus-ie9.css | 62 + .../plugins/admin/themes/grav/css/prism.css | 121 + .../themes/grav/css/pure-0.5.0/grids-min.css | 15 + .../admin/themes/grav/css/selectize.min.css | 1 + .../plugins/admin/themes/grav/css/uikit.css | 6986 +++++++++ .../themes/grav/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../themes/grav/fonts/fontawesome-webfont.svg | 2671 ++++ .../themes/grav/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../grav/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../grav/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../rockettheme-apps/rockettheme-apps.eot | Bin 0 -> 4838 bytes .../rockettheme-apps/rockettheme-apps.svg | 16 + .../rockettheme-apps/rockettheme-apps.ttf | Bin 0 -> 4644 bytes .../rockettheme-apps/rockettheme-apps.woff | Bin 0 -> 3348 bytes .../user/plugins/admin/themes/grav/gosass.sh | 2 + .../plugins/admin/themes/grav/gulpfile.js | 110 + .../admin/themes/grav/images/favicon.png | Bin 0 -> 1270 bytes .../plugins/admin/themes/grav/images/logo.png | Bin 0 -> 6732 bytes .../plugins/admin/themes/grav/js/admin.min.js | 29 + .../themes/grav/js/form-attr.polyfill.js | 80 + .../admin/themes/grav/js/vendor.min.js | 50 + .../plugins/admin/themes/grav/package.json | 60 + .../user/plugins/admin/themes/grav/scss.sh | 2 + .../scss/configuration/fonts/_support.scss | 75 + .../scss/configuration/nucleus/_base.scss | 14 + .../configuration/nucleus/_breakpoints.scss | 16 + .../scss/configuration/nucleus/_core.scss | 2 + .../scss/configuration/nucleus/_layout.scss | 8 + .../grav/scss/configuration/nucleus/_nav.scss | 3 + .../configuration/nucleus/_typography.scss | 14 + .../scss/configuration/template/_base.scss | 5 + .../scss/configuration/template/_colors.scss | 15 + .../configuration/template/_variables.scss | 22 + .../plugins/admin/themes/grav/scss/fonts.scss | 15 + .../admin/themes/grav/scss/nucleus.scss | 27 + .../admin/themes/grav/scss/nucleus/_core.scss | 217 + .../admin/themes/grav/scss/nucleus/_flex.scss | 195 + .../themes/grav/scss/nucleus/_forms.scss | 62 + .../themes/grav/scss/nucleus/_typography.scss | 86 + .../grav/scss/nucleus/functions/_base.scss | 2 + .../scss/nucleus/functions/_direction.scss | 37 + .../grav/scss/nucleus/functions/_range.scss | 13 + .../grav/scss/nucleus/mixins/_base.scss | 2 + .../scss/nucleus/mixins/_breakpoints.scss | 44 + .../grav/scss/nucleus/mixins/_utilities.scss | 30 + .../scss/nucleus/particles/_align-text.scss | 46 + .../scss/nucleus/particles/_visibility.scss | 0 .../admin/themes/grav/scss/preset.scss | 1561 ++ .../admin/themes/grav/scss/simple-fonts.scss | 11 + .../admin/themes/grav/scss/template.scss | 94 + .../themes/grav/scss/template/_admin.scss | 1179 ++ .../themes/grav/scss/template/_buttons.scss | 118 + .../themes/grav/scss/template/_core.scss | 50 + .../themes/grav/scss/template/_custom.scss | 2 + .../themes/grav/scss/template/_dropzone.scss | 299 + .../themes/grav/scss/template/_editor.scss | 268 + .../themes/grav/scss/template/_errors.scss | 17 + .../grav/scss/template/_extensions.scss | 33 + .../themes/grav/scss/template/_fonts.scss | 40 + .../themes/grav/scss/template/_forms.scss | 654 + .../admin/themes/grav/scss/template/_gpm.scss | 207 + .../themes/grav/scss/template/_header.scss | 3 + .../themes/grav/scss/template/_login.scss | 161 + .../themes/grav/scss/template/_media.scss | 331 + .../grav/scss/template/_nav-toggle.scss | 71 + .../grav/scss/template/_notifications.scss | 112 + .../themes/grav/scss/template/_pages.scss | 332 + .../themes/grav/scss/template/_phpinfo.scss | 35 + .../themes/grav/scss/template/_remodal.scss | 329 + .../themes/grav/scss/template/_tables.scss | 129 + .../themes/grav/scss/template/_tabs.scss | 88 + .../themes/grav/scss/template/_toastr.scss | 183 + .../grav/scss/template/_typography.scss | 95 + .../themes/grav/scss/template/_utilities.scss | 5 + .../grav/scss/template/modules/_base.scss | 5 + .../template/modules/_bourbon_essentials.scss | 120 + .../grav/scss/template/modules/_buttons.scss | 56 + .../scss/template/modules/_colorpicker.scss | 253 + .../template/modules/_datetimepicker.scss | 466 + .../scss/template/modules/_input-range.scss | 87 + .../scss/template/modules/_scrollbars.scss | 98 + .../scss/template/modules/_toggle-switch.scss | 22 + .../themes/grav/templates/config.html.twig | 86 + .../themes/grav/templates/dashboard.html.twig | 69 + .../themes/grav/templates/default.json.twig | 5 + .../themes/grav/templates/denied.html.twig | 18 + .../grav/templates/email/base.html.twig | 194 + .../themes/grav/templates/empty.html.twig | 0 .../themes/grav/templates/error.html.twig | 20 + .../themes/grav/templates/error.json.twig | 1 + .../themes/grav/templates/forgot.html.twig | 17 + .../grav/templates/forms/field.html.twig | 90 + .../fields/2fa_secret/2fa_secret.html.twig | 27 + .../forms/fields/array/array.html.twig | 78 + .../fields/blueprint/blueprint.html.twig | 8 + .../fields/colorpicker/colorpicker.html.twig | 38 + .../forms/fields/column/column.html.twig | 10 + .../forms/fields/columns/columns.html.twig | 9 + .../fields/dateformat/dateformat.html.twig | 24 + .../forms/fields/datetime/datetime.html.twig | 26 + .../forms/fields/editor/editor.html.twig | 35 + .../forms/fields/fieldset/fieldset.html.twig | 67 + .../forms/fields/file/file.html.twig | 86 + .../fields/filepicker/filepicker.html.twig | 17 + .../fields/frontmatter/frontmatter.html.twig | 10 + .../fields/iconpicker/iconpicker.html.twig | 45 + .../forms/fields/iconpicker/icons.yaml | 6570 +++++++++ .../forms/fields/ignore/ignore.html.twig | 0 .../templates/forms/fields/key/key.html.twig | 26 + .../forms/fields/list/list.html.twig | 178 + .../forms/fields/markdown/markdown.html.twig | 10 + .../fields/mediapicker/mediapicker.html.twig | 20 + .../fields/multilevel/multilevel.html.twig | 116 + .../forms/fields/order/order.html.twig | 50 + .../fields/pagemedia/pagemedia.html.twig | 28 + .../pagemediaselect/pagemediaselect.html.twig | 2 + .../forms/fields/pages/pages.html.twig | 50 + .../forms/fields/parents/parents.html.twig | 18 + .../fields/permissions/permissions.html.twig | 68 + .../forms/fields/range/range.html.twig | 42 + .../forms/fields/section/section.html.twig | 22 + .../fields/selectize/selectize.html.twig | 11 + .../selectunique/selectunique.html.twig | 42 + .../templates/forms/fields/tab/tab.html.twig | 10 + .../forms/fields/tabs/tabs.html.twig | 44 + .../forms/fields/taxonomy/taxonomy.html.twig | 24 + .../fields/themeselect/themeselect.html.twig | 31 + .../forms/fields/toggle/toggle.html.twig | 60 + .../forms/fields/userinfo/userinfo.html.twig | 15 + .../themes/grav/templates/installer.html.twig | 13 + .../themes/grav/templates/login.html.twig | 38 + .../themes/grav/templates/logout.html.twig | 20 + .../templates/media-list-content.html.twig | 18 + .../themes/grav/templates/pages.html.twig | 405 + .../templates/partials/base-root.html.twig | 116 + .../grav/templates/partials/base.html.twig | 1 + .../partials/blueprints-new-folder.html.twig | 21 + .../partials/blueprints-new.html.twig | 21 + .../partials/blueprints-raw.html.twig | 17 + .../templates/partials/blueprints.html.twig | 29 + .../partials/dashboard-feed.html.twig | 14 + .../partials/dashboard-maintenance.html.twig | 33 + .../dashboard-notifications.html.twig | 12 + .../partials/dashboard-pages.html.twig | 19 + .../partials/dashboard-statistics.html.twig | 24 + .../grav/templates/partials/header.html.twig | 11 + .../partials/javascript-config.html.twig | 30 + .../templates/partials/javascripts.html.twig | 11 + .../templates/partials/list-sort.html.twig | 12 + .../grav/templates/partials/login.html.twig | 27 + .../grav/templates/partials/logo.html.twig | 22 + .../partials/media-list-wrapper.html.twig | 32 + .../media-list-wrapper__list.html.twig | 23 + ...edia-list-wrapper__list__filters.html.twig | 28 + .../media-list-wrapper__sidebar.html.twig | 46 + .../templates/partials/messages.html.twig | 15 + .../partials/modal-add-package.html.twig | 89 + .../partials/modal-changes-detected.html.twig | 13 + .../modal-reinstall-package.html.twig | 38 + .../partials/modal-remove-package.html.twig | 44 + .../partials/modal-update-packages.html.twig | 89 + .../partials/nav-quick-tray.html.twig | 23 + .../templates/partials/nav-toggle.html.twig | 3 + .../partials/nav-user-avatar.html.twig | 1 + .../partials/nav-user-details.html.twig | 13 + .../grav/templates/partials/nav.html.twig | 95 + .../partials/page-children.html.twig | 11 + .../templates/partials/page-legend.html.twig | 11 + .../templates/partials/page-move.html.twig | 20 + .../templates/partials/plugin-data.html.twig | 63 + .../partials/plugins-details.html.twig | 62 + .../templates/partials/plugins-list.html.twig | 74 + .../templates/partials/register.html.twig | 22 + .../partials/release-toggle.html.twig | 9 + .../partials/spinning-wheel.html.twig | 3 + .../templates/partials/stylesheets.html.twig | 17 + .../grav/templates/partials/theme.html.twig | 13 + .../partials/themes-details.html.twig | 120 + .../templates/partials/themes-list.html.twig | 82 + .../partials/tools-direct-install.html.twig | 30 + .../partials/userinfo-avatar-credit.html.twig | 1 + .../partials/userinfo-avatar.html.twig | 5 + .../themes/grav/templates/plugins.html.twig | 88 + .../themes/grav/templates/register.html.twig | 28 + .../themes/grav/templates/reset.html.twig | 19 + .../grav/templates/statistics.html.twig | 15 + .../themes/grav/templates/themes.html.twig | 83 + .../themes/grav/templates/tools.html.twig | 28 + .../themes/grav/templates/twofa.html.twig | 17 + .../themes/grav/templates/user.html.twig | 64 + .../user/plugins/admin/themes/grav/theme.yaml | 0 .../user/plugins/admin/themes/grav/watch.sh | 27 + .../plugins/admin/themes/grav/webpack.conf.js | 41 + .../plugins/admin/twig/AdminTwigExtension.php | 184 + .../plugins/editable-simplemde/.gitignore | 33 + .../plugins/editable-simplemde/CHANGELOG.md | 23 + .../user/plugins/editable-simplemde/LICENSE | 21 + .../user/plugins/editable-simplemde/README.md | 79 + .../editable-simplemde/assets/.gitignore | 4 + .../editable-simplemde/blueprints.yaml | 28 + .../editable-simplemde/css/customstyles.css | 47 + .../editable-simplemde/editable-simplemde.php | 430 + .../editable-simplemde.yaml | 3 + .../plugins/editable-simplemde/js/main.js | 233 + .../editable-simplemde/js/simpleUpload.min.js | 11 + .../templates/editable-simplemde.html.twig | 8 + sandbox/grav/user/plugins/email/CHANGELOG.md | 146 + sandbox/grav/user/plugins/email/LICENSE | 21 + sandbox/grav/user/plugins/email/README.md | 210 + .../grav/user/plugins/email/blueprints.yaml | 182 + .../grav/user/plugins/email/classes/Email.php | 189 + .../grav/user/plugins/email/classes/Utils.php | 57 + .../plugins/email/cli/TestEmailCommand.php | 98 + sandbox/grav/user/plugins/email/composer.json | 10 + sandbox/grav/user/plugins/email/composer.lock | 73 + sandbox/grav/user/plugins/email/email.php | 319 + sandbox/grav/user/plugins/email/email.yaml | 17 + sandbox/grav/user/plugins/email/hebe.json | 15 + .../grav/user/plugins/email/languages.yaml | 53 + .../email/templates/email/base.html.twig | 210 + sandbox/grav/user/plugins/error/CHANGELOG.md | 54 + sandbox/grav/user/plugins/error/LICENSE | 21 + sandbox/grav/user/plugins/error/README.md | 89 + .../user/plugins/error/assets/readme_1.png | Bin 0 -> 41685 bytes .../grav/user/plugins/error/blueprints.yaml | 32 + .../user/plugins/error/cli/LogCommand.php | 130 + sandbox/grav/user/plugins/error/error.php | 65 + sandbox/grav/user/plugins/error/error.yaml | 3 + .../grav/user/plugins/error/languages.yaml | 37 + .../grav/user/plugins/error/pages/error.md | 13 + .../plugins/error/templates/error.html.twig | 3 + .../plugins/error/templates/error.json.twig | 1 + sandbox/grav/user/plugins/form/.eslintrc | 165 + sandbox/grav/user/plugins/form/.gitignore | 5 + sandbox/grav/user/plugins/form/CHANGELOG.md | 499 + sandbox/grav/user/plugins/form/LICENSE | 21 + sandbox/grav/user/plugins/form/README.md | 29 + sandbox/grav/user/plugins/form/app/main.js | 289 + .../user/plugins/form/assets/dropzone.min.css | 1 + .../user/plugins/form/assets/form-styles.css | 69 + .../grav/user/plugins/form/assets/form.min.js | 3 + .../grav/user/plugins/form/blueprints.yaml | 104 + .../grav/user/plugins/form/classes/form.php | 654 + sandbox/grav/user/plugins/form/form.php | 692 + sandbox/grav/user/plugins/form/form.yaml | 12 + sandbox/grav/user/plugins/form/gulpfile.js | 53 + sandbox/grav/user/plugins/form/hebe.json | 15 + sandbox/grav/user/plugins/form/languages.yaml | 266 + sandbox/grav/user/plugins/form/package.json | 35 + .../form/templates/form-messages.html.twig | 1 + .../form/templates/form-messages.json.twig | 2 + .../plugins/form/templates/form.html.twig | 8 + .../plugins/form/templates/form.json.twig | 1 + .../plugins/form/templates/formdata.html.twig | 21 + .../form/templates/forms/ajax.json.twig | 5 + .../form/templates/forms/data.html.twig | 1 + .../form/templates/forms/data.txt.twig | 1 + .../templates/forms/default/data.html.twig | 39 + .../templates/forms/default/data.txt.twig | 16 + .../templates/forms/default/field.html.twig | 81 + .../templates/forms/default/form.html.twig | 82 + .../form/templates/forms/field.html.twig | 1 + .../forms/fields/avatar/avatar.html.twig | 5 + .../forms/fields/captcha/captcha.html.twig | 32 + .../forms/fields/checkbox/checkbox.html.twig | 29 + .../forms/fields/checkbox/checkbox.yaml | 11 + .../fields/checkboxes/checkboxes.html.twig | 42 + .../forms/fields/color/color.html.twig | 6 + .../forms/fields/column/column.html.twig | 10 + .../forms/fields/columns/columns.html.twig | 10 + .../fields/conditional/conditional.html.twig | 22 + .../forms/fields/date/date.html.twig | 8 + .../forms/fields/datetime/datetime.html.twig | 2 + .../forms/fields/display/display.html.twig | 19 + .../forms/fields/email/email.html.twig | 7 + .../forms/fields/fieldset/fieldset.html.twig | 14 + .../forms/fields/file/file.html.twig | 105 + .../forms/fields/formname/formname.html.twig | 1 + .../forms/fields/hidden/hidden.html.twig | 3 + .../forms/fields/honeypot/honeypot.html.twig | 1 + .../forms/fields/month/month.html.twig | 6 + .../forms/fields/number/number.html.twig | 9 + .../forms/fields/password/password.html.twig | 7 + .../forms/fields/radio/radio.html.twig | 22 + .../forms/fields/range/range.html.twig | 9 + .../forms/fields/select/select.html.twig | 34 + .../select_optgroup/select_optgroup.html.twig | 44 + .../forms/fields/spacer/spacer.html.twig | 33 + .../templates/forms/fields/tel/tel.html.twig | 6 + .../forms/fields/text/text.html.twig | 37 + .../forms/fields/textarea/textarea.html.twig | 27 + .../forms/fields/time/time.html.twig | 6 + .../forms/fields/uniqueid/uniqueid.html.twig | 1 + .../templates/forms/fields/url/url.html.twig | 6 + .../forms/fields/week/week.html.twig | 6 + .../form/templates/forms/form.html.twig | 1 + .../form/templates/modular/form.html.twig | 4 + .../partials/form-messages.html.twig | 5 + .../grav/user/plugins/form/webpack.conf.js | 23 + sandbox/grav/user/plugins/login/.gitignore | 2 + sandbox/grav/user/plugins/login/CHANGELOG.md | 444 + sandbox/grav/user/plugins/login/LICENSE | 21 + sandbox/grav/user/plugins/login/README.md | 366 + .../grav/user/plugins/login/blueprints.yaml | 368 + .../user/plugins/login/classes/Controller.php | 482 + .../grav/user/plugins/login/classes/Login.php | 280 + .../login/classes/RememberMe/RememberMe.php | 41 + .../login/classes/RememberMe/TokenStorage.php | 197 + .../login/cli/ChangePasswordCommand.php | 202 + .../login/cli/ChangeUserStateCommand.php | 175 + .../user/plugins/login/cli/NewUserCommand.php | 333 + sandbox/grav/user/plugins/login/composer.json | 37 + sandbox/grav/user/plugins/login/composer.lock | 113 + sandbox/grav/user/plugins/login/css/login.css | 81 + sandbox/grav/user/plugins/login/hebe.json | 15 + .../grav/user/plugins/login/languages.yaml | 512 + sandbox/grav/user/plugins/login/login.php | 774 + sandbox/grav/user/plugins/login/login.yaml | 45 + .../grav/user/plugins/login/pages/forgot.md | 21 + .../grav/user/plugins/login/pages/login.md | 28 + .../grav/user/plugins/login/pages/profile.md | 50 + .../grav/user/plugins/login/pages/register.md | 59 + .../grav/user/plugins/login/pages/reset.md | 35 + .../user/plugins/login/pages/unauthorized.md | 5 + .../plugins/login/templates/forgot.html.twig | 5 + .../plugins/login/templates/login.html.twig | 5 + .../plugins/login/templates/login.json.twig | 5 + .../templates/partials/forgot-form.html.twig | 20 + .../templates/partials/login-form.html.twig | 53 + .../templates/partials/login-status.html.twig | 5 + .../templates/partials/messages.html.twig | 3 + .../templates/partials/reset-form.html.twig | 26 + .../plugins/login/templates/profile.html.twig | 8 + .../plugins/login/templates/profile.json.twig | 1 + .../plugins/login/templates/reset.html.twig | 7 + .../plugins/markdown-notices/CHANGELOG.md | 5 + .../user/plugins/markdown-notices/LICENSE | 21 + .../user/plugins/markdown-notices/README.md | 61 + .../markdown-notices/assets/notices.css | 32 + .../markdown-notices/assets/screenshot.png | Bin 0 -> 86632 bytes .../plugins/markdown-notices/blueprints.yaml | 44 + .../markdown-notices/markdown-notices.php | 84 + .../markdown-notices/markdown-notices.yaml | 3 + .../patternlab-twig-extensions/CHANGELOG.md | 17 + .../patternlab-twig-extensions/LICENSE | 21 + .../patternlab-twig-extensions/README.md | 67 + .../blueprints.yaml | 27 + .../patternlab-twig-extensions.php | 156 + .../patternlab-twig-extensions.yaml | 2 + .../TwigExtension/TwigExtensionAdapter.php | 95 + .../src/TwigExtension/TwigExtensionLoader.php | 102 + .../patternlab-twig-namespaces/CHANGELOG.md | 17 + .../patternlab-twig-namespaces/LICENSE | 21 + .../patternlab-twig-namespaces/README.md | 67 + .../blueprints.yaml | 27 + .../patternlab-twig-namespaces.php | 106 + .../patternlab-twig-namespaces.yaml | 3 + .../grav/user/plugins/problems/CHANGELOG.md | 105 + sandbox/grav/user/plugins/problems/LICENSE | 21 + sandbox/grav/user/plugins/problems/README.md | 89 + .../user/plugins/problems/assets/readme_1.png | Bin 0 -> 72908 bytes .../user/plugins/problems/blueprints.yaml | 37 + .../user/plugins/problems/css/problems.css | 71 + .../user/plugins/problems/css/template.css | 762 + .../user/plugins/problems/html/problems.html | 28 + .../grav/user/plugins/problems/problems.php | 332 + .../grav/user/plugins/problems/problems.yaml | 2 + sandbox/grav/user/themes/.gitkeep | 0 sandbox/grav/user/themes/bolt/blueprints.yaml | 10 + sandbox/grav/user/themes/bolt/bolt.php | 9 + sandbox/grav/user/themes/bolt/bolt.yaml | 1 + .../bolt/templates/_layouts/base.html.twig | 54 + .../themes/bolt/templates/default.html.twig | 5 + .../themes/bolt/templates/error.html.twig | 12 + .../themes/bolt/templates/modular.html.twig | 56 + .../bolt/templates/modular/features.html.twig | 22 + .../bolt/templates/modular/showcase.html.twig | 13 + .../bolt/templates/modular/text.html.twig | 7 + sandbox/grav/webserver-configs/Caddyfile | 33 + .../grav/webserver-configs/Caddyfile-0.8.x | 33 + sandbox/grav/webserver-configs/htaccess.txt | 75 + sandbox/grav/webserver-configs/lighttpd.conf | 48 + sandbox/grav/webserver-configs/nginx.conf | 43 + sandbox/grav/webserver-configs/web.config | 42 + sandbox/readme.md | 3 + scripts/deploy.js | 14 +- scripts/monorepo-tests.js | 2 +- scripts/monorepo.test.js | 54 +- serve.json | 25 +- tests/e2e/pattern-lab-compiling.js | 42 +- yarn.lock | 5508 +++----- 1921 files changed, 152851 insertions(+), 25772 deletions(-) create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/100.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/102.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/104.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/105.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/106.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/107.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/111.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/112.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/96.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/97.json create mode 100644 .changelog/github/repos/bolt-design-system/bolt/issues/99.json create mode 100644 .changelog/github/users/mikemai2awesome.json create mode 100644 .changelog/github/users/sghoweri.json delete mode 100644 apps/bolt-site/assets/bolt-sketch.zip delete mode 100644 apps/bolt-site/components/animated-logo/animated-logo.scss delete mode 100644 apps/bolt-site/components/animated-logo/animated-logo.twig delete mode 100644 apps/bolt-site/components/animated-shapes/animated-shapes.scss delete mode 100644 apps/bolt-site/components/animated-shapes/animated-shapes.twig delete mode 100644 apps/bolt-site/components/hamburger-button/hamburger-button.scss delete mode 100644 apps/bolt-site/components/hamburger-button/hamburger-button.twig delete mode 100644 apps/bolt-site/components/layout/layout.scss delete mode 100644 apps/bolt-site/components/off-canvas-nav/off-canvas-nav.scss delete mode 100644 apps/bolt-site/components/off-canvas-nav/off-canvas-nav.twig rename apps/bolt-site/{pages => content}/00-index.md (93%) create mode 100644 apps/bolt-site/content/20-docs/00-index.md rename apps/bolt-site/{pages/20-docs/25-design-principles => content/20-docs/05-principles}/00-index.md (97%) rename apps/bolt-site/{pages/20-docs/25-design-principles => content/20-docs/05-principles}/05-accessibility.md (100%) rename apps/bolt-site/{pages/20-docs/25-design-principles => content/20-docs/05-principles}/10-interface-copy.md (100%) rename apps/bolt-site/{pages/20-docs/00-getting-started => content/20-docs/10-getting-started}/00-index.md (91%) create mode 100644 apps/bolt-site/content/20-docs/10-getting-started/05-prerequisites.md rename apps/bolt-site/{pages/20-docs/50-guides => content/20-docs/10-getting-started}/10-browser-support.md (100%) rename apps/bolt-site/{pages/20-docs/_15-whats-new-in-bolt-v1.md => content/20-docs/10-getting-started/15-whats-new-in-bolt-v1.md} (100%) create mode 100644 apps/bolt-site/content/20-docs/20-visual-language/00-index.md rename apps/bolt-site/{pages/20-docs/40-visual-language => content/20-docs/20-visual-language}/10-colors.md (84%) rename apps/bolt-site/{pages/20-docs/40-visual-language => content/20-docs/20-visual-language}/20-typography.md (100%) rename apps/bolt-site/{pages/20-docs/40-visual-language => content/20-docs/20-visual-language}/30-iconography.md (100%) rename apps/bolt-site/{pages/20-docs/40-visual-language => content/20-docs/20-visual-language}/40-spacing.md (100%) rename apps/bolt-site/{pages/20-docs/30-ui-patterns => content/20-docs/30-patterns}/00-index.md (93%) rename apps/bolt-site/{pages/20-docs/30-ui-patterns => content/20-docs/30-patterns}/bands.md (100%) rename apps/bolt-site/{pages/20-docs/30-ui-patterns => content/20-docs/30-patterns}/blockquotes.md (100%) rename apps/bolt-site/{pages/20-docs/30-ui-patterns => content/20-docs/30-patterns}/buttons.md (100%) rename apps/bolt-site/{pages/20-docs/30-ui-patterns => content/20-docs/30-patterns}/cards.md (100%) rename apps/bolt-site/{pages/20-docs/30-ui-patterns => content/20-docs/30-patterns}/forms.md (91%) rename apps/bolt-site/{pages/20-docs/50-guides/30-custom-configuration/01-boltrc-config.md => content/20-docs/40-config/00-index.md} (87%) rename apps/bolt-site/{pages/20-docs/50-guides/30-custom-configuration/10-basic-config.md => content/20-docs/40-config/10-basics.md} (97%) rename apps/bolt-site/{pages/20-docs/50-guides/30-custom-configuration => content/20-docs/40-config}/20-components.md (100%) rename apps/bolt-site/{pages/20-docs/50-guides/30-custom-configuration => content/20-docs/40-config}/30-envs.md (100%) rename apps/bolt-site/{pages/20-docs/50-guides/30-custom-configuration/_40-extras.md => content/20-docs/40-config/40-extras.md} (100%) create mode 100644 apps/bolt-site/content/20-docs/50-concepts/00-index.md rename apps/bolt-site/{pages/20-docs/50-guides/40-development/10-architecture-principles.md => content/20-docs/50-concepts/10-standards/00-frontend-architecture-principles.md} (99%) create mode 100644 apps/bolt-site/content/20-docs/50-concepts/10-standards/00-index.md rename apps/bolt-site/{pages/20-docs/50-guides/40-development => content/20-docs/50-concepts/10-standards}/10-javascript.md (100%) create mode 100644 apps/bolt-site/content/20-docs/50-concepts/20-tech/00-index.md create mode 100644 apps/bolt-site/content/20-docs/50-concepts/20-tech/10-sass.md create mode 100644 apps/bolt-site/content/20-docs/50-concepts/20-tech/20-webpack.md create mode 100644 apps/bolt-site/content/20-docs/50-concepts/20-tech/30-web-components.md create mode 100644 apps/bolt-site/content/20-docs/50-concepts/20-tech/40-pattern-lab.md create mode 100644 apps/bolt-site/content/20-docs/50-concepts/20-tech/50-lerna.md create mode 100644 apps/bolt-site/content/20-docs/50-concepts/30-monorepo.md create mode 100644 apps/bolt-site/content/20-docs/60-guides/00-index.md rename apps/bolt-site/{pages/20-docs/50-guides => content/20-docs/60-guides}/10-install-component.md (100%) rename apps/bolt-site/{pages/20-docs/50-guides/15-building-a-new-component.md => content/20-docs/60-guides/15-adding-a-new-component.md} (99%) rename apps/bolt-site/{pages/20-docs/50-guides/01-preparing-your-environment.md => content/20-docs/60-guides/20-quick-start-guide.md} (99%) rename apps/bolt-site/{pages/20-docs/50-guides => content/20-docs/60-guides}/20-troubleshooting.md (100%) create mode 100644 apps/bolt-site/content/20-docs/60-guides/30-monorepo/00-index.md create mode 100644 apps/bolt-site/content/20-docs/60-guides/30-monorepo/10-folder-structure.md create mode 100644 apps/bolt-site/content/20-docs/70-api/00-index.md create mode 100644 apps/bolt-site/content/20-docs/70-api/10-build-tools/00-index.md create mode 100644 apps/bolt-site/content/20-docs/70-api/10-build-tools/10-commands.md create mode 100644 apps/bolt-site/content/20-docs/70-api/10-build-tools/40-advanced.md create mode 100644 apps/bolt-site/content/20-docs/70-api/20-twig/00-index.md create mode 100644 apps/bolt-site/content/20-docs/70-api/20-twig/10-bolt-core.md create mode 100644 apps/bolt-site/content/20-docs/70-api/20-twig/20-bolt-extras.md create mode 100644 apps/bolt-site/content/20-docs/70-api/20-twig/30-demo-content.md create mode 100644 apps/bolt-site/content/40-about.md delete mode 100644 apps/bolt-site/images/background-bolt.jpg delete mode 100644 apps/bolt-site/images/bolt-logo-lockup-dark.png delete mode 100644 apps/bolt-site/images/bolt-logo-lockup-dark.svg delete mode 100644 apps/bolt-site/images/bolt-logo.png delete mode 100644 apps/bolt-site/images/bolt-logo.svg create mode 100644 apps/bolt-site/images/color_brand.png create mode 100644 apps/bolt-site/images/color_messaging.png create mode 100644 apps/bolt-site/images/forms-text-input-static.png create mode 100644 apps/bolt-site/images/forms-textarea-static.png create mode 100644 apps/bolt-site/images/forms_text-disabled.png delete mode 100644 apps/bolt-site/index.js delete mode 100644 apps/bolt-site/index.scss delete mode 100644 apps/bolt-site/pages/20-docs/00-index.md delete mode 100644 apps/bolt-site/pages/20-docs/40-visual-language/00-index.md delete mode 100644 apps/bolt-site/pages/20-docs/50-guides/00-index.md delete mode 100644 apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/00-index.md delete mode 100644 apps/bolt-site/pages/20-docs/50-guides/40-development/00-index.md delete mode 100644 apps/bolt-site/pages/20-docs/_20-releases.md create mode 100644 apps/bolt-site/style.scss delete mode 100644 apps/bolt-site/templates/_page-header.twig delete mode 100644 apps/bolt-site/templates/_site-footer.twig delete mode 100644 apps/bolt-site/templates/_site-head.twig delete mode 100644 apps/bolt-site/templates/base-template.twig delete mode 100644 apps/bolt-site/templates/default-redesign.twig create mode 100644 apps/bolt-site/templates/home.twig delete mode 100644 apps/bolt-site/templates/homepage.twig create mode 100644 apps/bolt-site/templates/partials/_sub-nav.scss create mode 100644 apps/bolt-site/templates/partials/sub-nav.twig create mode 100644 apps/bolt-site/templates/site.scss create mode 100644 apps/bolt-site/templates/site.twig rename {example-integrations => apps}/drupal-lab/.gitignore (100%) rename {example-integrations => apps}/drupal-lab/LICENSE (100%) rename {example-integrations => apps}/drupal-lab/README.md (100%) rename {example-integrations => apps}/drupal-lab/composer.json (100%) rename {example-integrations => apps}/drupal-lab/composer.lock (100%) rename {example-integrations => apps}/drupal-lab/config/sync/.htaccess (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_admin.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_branding.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_local_actions.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_local_tasks.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_login.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_messages.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_page_title.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.bartik_tools.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_admin.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_branding.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_local_actions.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_local_tasks.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_login.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_messages.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_page_title.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.flash_tools.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.seven_local_actions.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.seven_local_tasks.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.seven_messages.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.seven_page_title.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_admin.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_branding.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_local_actions.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_local_tasks.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_login.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_messages.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_page_title.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/block.block.stark_tools.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/bolt_connect.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.base_field_override.node.page.promote.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.fallback.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_date.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_datetime.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_month.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_time.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_week.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_year.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.html_yearless_date.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.long.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.medium.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.date_format.short.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.node.article.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.node.page.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.eyebrow.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.grid.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.headline.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.icon.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.lead.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.subheadline.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_display.paragraph.text.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_form_mode.user.register.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.node.article.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.node.article.teaser.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.node.page.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.node.page.teaser.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.eyebrow.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.grid.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.headline.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.icon.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.lead.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.subheadline.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_display.paragraph.text.default.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.node.full.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.node.rss.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.node.search_index.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.node.search_result.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.node.teaser.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.paragraph.preview.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.user.compact.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.entity_view_mode.user.full.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.extension.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/core.menu.static_menu_link_overrides.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/dblog.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/devel.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/devel.toolbar.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.node.article.body.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.node.article.field_teaser_image.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.node.page.field_paragraphs.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.eyebrow.field_align.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.eyebrow.field_eyebrow.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.eyebrow.field_eyebrow_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.eyebrow.field_eyebrow_weight.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.eyebrow.field_url.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.grid.field_grid_items.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_align.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_headline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_headline_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_icon_extend.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_quoted.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_tags.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_transform.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_url.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.headline.field_weight.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.icon.field_background.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.icon.field_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.icon.field_icon_color.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.icon.field_position.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.icon.field_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_align.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_headline_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_lead.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_lead_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_style.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_transform.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_url.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.lead.field_weight.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_align.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_icon_subheadline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_quoted.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_subheadline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_subheadline_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_tags.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_transform.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.subheadline.field_url.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_align.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_headline_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_style.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_tags.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_text.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_text_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_transform.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_url.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.field.paragraph.text.field_weight.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.node.body.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.node.field_paragraphs.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.node.field_teaser_image.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_align.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_background.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_eyebrow.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_eyebrow_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_eyebrow_weight.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_grid_items.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_headline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_headline_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_icon_color.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_icon_extend.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_icon_subheadline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_lead.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_lead_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_position.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_quoted.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_style.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_subheadline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_subheadline_size.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_tags.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_text.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_text_icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_transform.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_url.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field.storage.paragraph.field_weight.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/field_ui.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/file.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/filter.format.plain_text.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/filter.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/image.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/image.style.large.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/image.style.medium.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/image.style.thumbnail.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/menu_ui.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/node.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/node.type.article.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/node.type.page.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.eyebrow.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.grid.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.headline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.icon.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.lead.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.subheadline.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/paragraphs.paragraphs_type.text.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/rest.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/serialization.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_delete_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_make_sticky_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_make_unsticky_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_promote_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_publish_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_save_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_unpromote_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.node_unpublish_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.user_block_user_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.user_cancel_user_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.action.user_unblock_user_action.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.authorize.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.cron.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.date.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.diff.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.file.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.image.gd.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.image.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.logging.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.mail.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.maintenance.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.menu.account.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.menu.admin.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.menu.devel.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.menu.footer.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.menu.main.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.menu.tools.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.performance.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.rss.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.site.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.theme.global.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/system.theme.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/text.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/update.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/user.flood.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/user.mail.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/user.role.anonymous.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/user.role.authenticated.yml (100%) rename {example-integrations => apps}/drupal-lab/config/sync/user.settings.yml (100%) rename {example-integrations => apps}/drupal-lab/drush/README.md (100%) rename {example-integrations => apps}/drupal-lab/drush/drush.yml (100%) rename {example-integrations => apps}/drupal-lab/drush/sites/self.site.yml (100%) rename {example-integrations => apps}/drupal-lab/scripts/composer/ScriptHandler.php (100%) rename {example-integrations => apps}/drupal-lab/web/.csslintrc (100%) rename {example-integrations => apps}/drupal-lab/web/.editorconfig (100%) rename {example-integrations => apps}/drupal-lab/web/.eslintignore (100%) rename {example-integrations => apps}/drupal-lab/web/.eslintrc.json (100%) rename {example-integrations => apps}/drupal-lab/web/.gitattributes (100%) rename {example-integrations => apps}/drupal-lab/web/.ht.router.php (100%) rename {example-integrations => apps}/drupal-lab/web/.htaccess (100%) rename {example-integrations => apps}/drupal-lab/web/autoload.php (100%) rename {example-integrations => apps}/drupal-lab/web/index.php (100%) rename {example-integrations => apps}/drupal-lab/web/modules/.gitkeep (100%) rename {example-integrations => apps}/drupal-lab/web/profiles/.gitkeep (100%) rename {example-integrations => apps}/drupal-lab/web/robots.txt (100%) rename {example-integrations => apps}/drupal-lab/web/sites/default/default.services.yml (100%) rename {example-integrations => apps}/drupal-lab/web/sites/default/default.settings.php (100%) rename {example-integrations => apps}/drupal-lab/web/sites/default/settings.local.php (100%) rename {example-integrations => apps}/drupal-lab/web/sites/default/settings.php (100%) rename {example-integrations => apps}/drupal-lab/web/sites/development.services.yml (100%) rename {example-integrations => apps}/drupal-lab/web/sites/example.settings.local.php (100%) rename {example-integrations => apps}/drupal-lab/web/sites/example.sites.php (100%) rename {example-integrations => apps}/drupal-lab/web/themes/.gitkeep (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/.boltrc.js (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/.gitignore (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/flash.info.yml (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/flash.libraries.yml (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/flash.theme (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/logo.png (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/logo.svg (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/package.json (88%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/screenshot.jpg (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/field--paragraph--field-grid-items--grid.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/page.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/paragraph--eyebrow.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/paragraph--grid.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/paragraph--headline.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/paragraph--lead.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/paragraph--subheadline.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/themes/flash/templates/paragraph--text.html.twig (100%) rename {example-integrations => apps}/drupal-lab/web/update.php (100%) rename {example-integrations => apps}/drupal-lab/web/web.config (100%) delete mode 100644 apps/pattern-lab/src/_patterns/02-components/button/45-button-icon-only.twig delete mode 100644 apps/pattern-lab/src/_patterns/02-components/button/50-custom-element-buttons.twig delete mode 100644 apps/pattern-lab/src/_patterns/02-components/button/60-button-with-3rd-party-js.twig delete mode 100644 apps/pattern-lab/src/_patterns/02-components/footer/example-footer.twig delete mode 100644 apps/pattern-lab/src/_patterns/02-components/navbar/05-navbar-width.twig create mode 100644 apps/pattern-lab/src/_patterns/02-components/navbar/_15-navbar-gradient-variation.twig create mode 100644 apps/pattern-lab/src/_patterns/02-components/navbar/_20-navbar-vspacing-variation.twig rename apps/pattern-lab/src/_patterns/{04-pages/_default-page-template.twig => 03-page-templates/default-template.twig} (100%) rename apps/pattern-lab/src/_patterns/04-pages/{05-homepage => 10-homepage}/-00-homepage.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{05-homepage => 10-homepage}/-01-homepage-w-background-video.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{05-homepage => 10-homepage}/-02-homepage-japanese.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{25-d8-press-and-media/-d8-media-browse--list-view.twig => 100-d8-Press-and-Media/d8-media-browse--list-view.twig} (99%) rename apps/pattern-lab/src/_patterns/04-pages/{25-d8-press-and-media/-d8-news-landing.twig => 100-d8-Press-and-Media/d8-news-landing.twig} (99%) create mode 100644 apps/pattern-lab/src/_patterns/04-pages/100-d8-Press-and-Media/d8-press-browse--list-view.twig rename apps/pattern-lab/src/_patterns/04-pages/{25-d8-press-and-media/-d8-press-details.twig => 100-d8-Press-and-Media/d8-press-details.twig} (99%) rename apps/pattern-lab/src/_patterns/04-pages/{35-d8-partners/-d8-partners-search.twig => 110-d8-partners/d8-partners-search.twig} (99%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-00-resource-details-page.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-10-resource-details-page--long-title.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-11-resource-details-page--long-title-2.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-12-resource-details-page--long-title-3.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-20-resource-details-page--short-title.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-21-resource-details-page--short-title-2.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-22-resource-details-page--short-title-3.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/-23-resource-details-page--short-title-4.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{20-d8-resource-details-pages => 20-resource-details-pages}/_resource-details-page.twig (100%) delete mode 100644 apps/pattern-lab/src/_patterns/04-pages/25-d8-press-and-media/-d8-press-browse--list-view.twig rename apps/pattern-lab/src/_patterns/04-pages/{15-d8-product-pages => 30-product-pages}/-product-landing-page.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{15-d8-product-pages => 30-product-pages}/-product-t2-page.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{15-d8-product-pages => 30-product-pages}/-product-t3-extra-videos.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{15-d8-product-pages => 30-product-pages}/-product-t3.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{15-d8-product-pages => 30-product-pages}/-product-t4.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{00-full-page-theming => 40-full-page-theming}/-01-full-page-theming--xlight.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{00-full-page-theming => 40-full-page-theming}/-02-full-page-theming--light.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{00-full-page-theming => 40-full-page-theming}/-03-full-page-theming--dark.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{00-full-page-theming => 40-full-page-theming}/-04-full-page-theming--xdark.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{00-full-page-theming => 40-full-page-theming}/-05-full-page-theming--none.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{00-full-page-theming => 40-full-page-theming}/_full-page-theming.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{40-d8-campaign-landing => 50-d8-campaign-landing}/-05-d8-breadcrumbs.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{10-d8-homepage => 60-d8-homepage}/-05-d8-homepage.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{10-d8-homepage => 60-d8-homepage}/-10-d8-homepage-alt.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{10-d8-homepage => 60-d8-homepage}/-15-d8-homepage-video-band.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{10-d8-homepage => 60-d8-homepage}/-20-d8-homepage-video-test.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{10-d8-homepage => 60-d8-homepage}/-25-band-with-video-test.twig (95%) rename apps/pattern-lab/src/_patterns/04-pages/{30-d8-agenda-manager => 70-d8-agenda-manager}/-agenda-manager-detail--aflac.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{30-d8-agenda-manager => 70-d8-agenda-manager}/-agenda-manager-detail--alan-keynote.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{30-d8-agenda-manager => 70-d8-agenda-manager}/-agenda-manager-detail.twig (99%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events => 80-events}/_event-annotation.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events => 80-events}/_event-register-form.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events => 80-events}/_event-sponsors-with-action-block.scss (100%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events => 80-events}/_event-sponsors-with-action-block.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events/-event-detail.twig => 80-events/event-detail.twig} (99%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events/-event-landing.twig => 80-events/event-landing.twig} (99%) rename apps/pattern-lab/src/_patterns/04-pages/{45-d8-events => 80-events}/form-example.twig (100%) rename apps/pattern-lab/src/_patterns/04-pages/{50-d8-content-hub/-anchor-ribbon-example.twig => 90-content-hub/anchor-ribbon-example.twig} (99%) rename apps/pattern-lab/src/_patterns/04-pages/99999-bolt-dev-sandbox/{-00-wysiwyg-kitchen-sink.twig => 00-wysiwyg-kitchen-sink.twig} (99%) create mode 100644 apps/pattern-lab/src/assets/favicons@todo/android-chrome-192x192.png create mode 100644 apps/pattern-lab/src/assets/favicons@todo/android-chrome-384x384.png create mode 100644 apps/pattern-lab/src/assets/favicons@todo/apple-touch-icon.png create mode 100644 apps/pattern-lab/src/assets/favicons@todo/favicon-16x16.png create mode 100644 apps/pattern-lab/src/assets/favicons@todo/favicon-32x32.png create mode 100644 apps/pattern-lab/src/assets/favicons@todo/mstile-150x150.png create mode 100644 apps/pattern-lab/src/favicons/android-chrome-192x192.png create mode 100644 apps/pattern-lab/src/favicons/android-chrome-384x384.png create mode 100644 apps/pattern-lab/src/favicons/apple-touch-icon.png rename {packages/global/favicons/bolt => apps/pattern-lab/src/favicons}/browserconfig.xml (55%) create mode 100644 apps/pattern-lab/src/favicons/favicon-16x16.png create mode 100644 apps/pattern-lab/src/favicons/favicon-32x32.png create mode 100644 apps/pattern-lab/src/favicons/favicon.ico create mode 100644 apps/pattern-lab/src/favicons/mstile-150x150.png create mode 100644 apps/pattern-lab/src/favicons/safari-pinned-tab.svg create mode 100644 apps/pattern-lab/src/favicons/site.webmanifest create mode 100644 backstop.config.js delete mode 100644 example-integrations/vue/.eslintrc.js delete mode 100644 example-integrations/vue/.gitignore delete mode 100644 example-integrations/vue/.postcssrc.js delete mode 100644 example-integrations/vue/README.md delete mode 100644 example-integrations/vue/babel.config.js delete mode 100644 example-integrations/vue/jest.config.js delete mode 100644 example-integrations/vue/package.json delete mode 100644 example-integrations/vue/public/favicon.ico delete mode 100644 example-integrations/vue/public/img/icons/android-chrome-192x192.png delete mode 100644 example-integrations/vue/public/img/icons/android-chrome-512x512.png delete mode 100644 example-integrations/vue/public/img/icons/apple-touch-icon-120x120.png delete mode 100644 example-integrations/vue/public/img/icons/apple-touch-icon-152x152.png delete mode 100644 example-integrations/vue/public/img/icons/apple-touch-icon-180x180.png delete mode 100644 example-integrations/vue/public/img/icons/apple-touch-icon-60x60.png delete mode 100644 example-integrations/vue/public/img/icons/apple-touch-icon-76x76.png delete mode 100644 example-integrations/vue/public/img/icons/apple-touch-icon.png delete mode 100644 example-integrations/vue/public/img/icons/favicon-16x16.png delete mode 100644 example-integrations/vue/public/img/icons/favicon-32x32.png delete mode 100644 example-integrations/vue/public/img/icons/msapplication-icon-144x144.png delete mode 100644 example-integrations/vue/public/img/icons/mstile-150x150.png delete mode 100644 example-integrations/vue/public/img/icons/safari-pinned-tab.svg delete mode 100644 example-integrations/vue/public/index.html delete mode 100644 example-integrations/vue/public/manifest.json delete mode 100644 example-integrations/vue/public/robots.txt delete mode 100644 example-integrations/vue/src/App.vue delete mode 100644 example-integrations/vue/src/assets/logo.png delete mode 100644 example-integrations/vue/src/components/BoltImage.vue delete mode 100644 example-integrations/vue/src/components/HelloWorld.vue delete mode 100644 example-integrations/vue/src/main.js delete mode 100644 example-integrations/vue/src/registerServiceWorker.js delete mode 100644 example-integrations/vue/src/store.js delete mode 100644 example-integrations/vue/webpack.config.js delete mode 100644 example-integrations/vue/yarn.lock create mode 100644 package-lock.json create mode 100644 packages/build-tools/package-lock.json delete mode 100755 packages/build-tools/plugins/postcss-themify/README.md delete mode 100755 packages/build-tools/plugins/postcss-themify/package.json delete mode 100755 packages/build-tools/plugins/postcss-themify/src/helpers/css.util.js delete mode 100755 packages/build-tools/plugins/postcss-themify/src/index.js delete mode 100644 packages/build-tools/plugins/sass-export-data/config.default.js delete mode 100644 packages/build-tools/plugins/sass-export-data/export-data.scss delete mode 100644 packages/build-tools/plugins/sass-export-data/index.js delete mode 100644 packages/build-tools/plugins/sass-export-data/lib/export-data-sync.js delete mode 100644 packages/build-tools/plugins/sass-export-data/lib/export-data.js delete mode 100644 packages/build-tools/plugins/sass-export-data/lib/get-value.js delete mode 100644 packages/build-tools/plugins/sass-export-data/package.json delete mode 100644 packages/build-tools/plugins/sass-export-data/readme.md delete mode 100644 packages/build-tools/plugins/sass-export-data/tests/basics/expected/sub/class-names.json delete mode 100644 packages/build-tools/plugins/sass-export-data/tests/basics/expected/sub/nested-data.json delete mode 100644 packages/build-tools/plugins/sass-export-data/tests/basics/expected/sub/sizes.json delete mode 100644 packages/build-tools/plugins/sass-export-data/tests/basics/function.js delete mode 100644 packages/build-tools/plugins/sass-export-data/tests/basics/scss/style.scss delete mode 100644 packages/build-tools/plugins/sass-export-data/tests/sass-export-data.test.js delete mode 100644 packages/build-tools/utils/cache.js create mode 100644 packages/components/bolt-button/src/button.scoped.scss delete mode 100644 packages/components/bolt-critical-css-vars/index.js delete mode 100644 packages/components/bolt-critical-css-vars/package.json delete mode 100644 packages/components/bolt-icons/src/icons/bolt-logo-colored.js delete mode 100644 packages/components/bolt-icons/src/icons/github.js delete mode 100644 packages/components/bolt-icons/src/svgs/utility/bolt-logo.colored.svg delete mode 100755 packages/components/bolt-icons/src/svgs/utility/github.svg delete mode 100644 packages/components/bolt-navlink/navlink.schema.yml delete mode 100644 packages/core-php/src/TwigRendererSSR.php delete mode 100644 packages/core/data/index.js delete mode 100644 packages/core/elements/index.js delete mode 100644 packages/core/elements/replace-with-children/README.md delete mode 100644 packages/core/elements/replace-with-children/index.js delete mode 100644 packages/core/renderers/index.js delete mode 100644 packages/core/renderers/renderer-lit-html.js create mode 100644 packages/core/sandbox/bolt-component.js create mode 100644 packages/core/sandbox/component.js create mode 100644 packages/core/sandbox/events.js create mode 100644 packages/core/sandbox/get-meta.js create mode 100644 packages/core/sandbox/sizes.js create mode 100644 packages/core/sandbox/skate-component.js create mode 100644 packages/core/sandbox/skate-shadow.js create mode 100644 packages/core/sandbox/skate-style.js create mode 100644 packages/core/sandbox/style.js create mode 100644 packages/core/sandbox/styled-mixin.js delete mode 100644 packages/core/styles/01-settings/settings-colors/index.js delete mode 100644 packages/core/styles/01-settings/settings-themes/_constants.scss delete mode 100644 packages/core/styles/01-settings/settings-themes/_helpers.scss delete mode 100644 packages/core/styles/01-settings/settings-themes/index.scss delete mode 100644 packages/core/styles/02-tools/tools-data/export-data/export-data.scss delete mode 100644 packages/core/styles/02-tools/tools-data/normalize-data/normalize-data.scss delete mode 100644 packages/core/styles/02-tools/tools-data/tools-data.scss delete mode 100644 packages/core/styles/02-tools/tools-full-bleed/_tools-full-bleed.scss delete mode 100644 packages/core/styles/02-tools/tools-map-recursive-merge/tools-map-recursive-merge.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/_tools.sass-json-export.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/api/_json.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/encode.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/helpers/_quote.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/mixins/_json.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_bool.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_color.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_list.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_map.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_null.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_number.scss delete mode 100755 packages/core/styles/02-tools/tools-sass-json-export/encode/types/_string.scss delete mode 100755 packages/core/styles/02-tools/tools-themes/_tools.themes.scss delete mode 100644 packages/core/utils/index.js create mode 100644 packages/core/utils/renderer-preact.js delete mode 100644 packages/core/utils/wait-for-transition-end.js delete mode 100644 packages/core/utils/which-transition-event.js delete mode 100644 packages/global/favicons/bolt/android-chrome-192x192.png delete mode 100644 packages/global/favicons/bolt/android-chrome-512x512.png delete mode 100644 packages/global/favicons/bolt/apple-touch-icon.png delete mode 100644 packages/global/favicons/bolt/favicon-16x16.png delete mode 100644 packages/global/favicons/bolt/favicon-32x32.png delete mode 100644 packages/global/favicons/bolt/favicon.ico delete mode 100644 packages/global/favicons/bolt/mstile-150x150.png delete mode 100644 packages/global/favicons/bolt/safari-pinned-tab.svg delete mode 100644 packages/global/favicons/bolt/site.webmanifest delete mode 100644 packages/global/styles/06-themes/_themes.all.scss create mode 100644 packages/global/styles/06-themes/themes-general/_themes-dark.scss create mode 100644 packages/global/styles/06-themes/themes-general/_themes-light.scss create mode 100644 packages/global/styles/06-themes/themes-general/_themes-medium.scss create mode 100644 packages/global/styles/06-themes/themes-general/_themes-xdark.scss create mode 100644 packages/global/styles/06-themes/themes-general/_themes-xlight.scss create mode 100644 packages/global/styles/sandbox/06-themes/themes-states/_themes-error.scss create mode 100644 packages/global/styles/sandbox/06-themes/themes-states/_themes-notice.scss create mode 100644 packages/global/styles/sandbox/06-themes/themes-states/_themes-success.scss create mode 100644 packages/global/styles/sandbox/06-themes/themes-states/_themes-warning.scss delete mode 100644 packages/uikit-workshop/.npmrc mode change 100644 => 100755 packages/uikit-workshop/dist/index.html create mode 100644 packages/uikit-workshop/dist/splash-screen.html delete mode 100644 packages/uikit-workshop/dist/styleguide/css/pattern-lab--iframe-loader.css delete mode 100644 packages/uikit-workshop/dist/styleguide/css/pattern-lab.critical.css mode change 100644 => 100755 packages/uikit-workshop/gulpfile.js mode change 100644 => 100755 packages/uikit-workshop/package.json delete mode 100644 packages/uikit-workshop/penthouse.js delete mode 100644 packages/uikit-workshop/src/html-twig/partials/iframe-loader.twig create mode 100644 packages/uikit-workshop/src/html-twig/splash-screen.html mode change 100644 => 100755 packages/uikit-workshop/src/html/index.html delete mode 100644 packages/uikit-workshop/src/html/partials/iframe-loader.html mode change 100644 => 100755 packages/uikit-workshop/src/html/partials/iframe.html delete mode 100644 packages/uikit-workshop/src/sass/pattern-lab--iframe-loader.scss mode change 100644 => 100755 packages/uikit-workshop/src/sass/scss/components/_navigation.scss create mode 100644 sandbox/bolt-bolt/bolt.scss create mode 100644 sandbox/grav/.gitignore create mode 100644 sandbox/grav/.htaccess create mode 100644 sandbox/grav/CHANGELOG.md create mode 100644 sandbox/grav/CODE_OF_CONDUCT.md create mode 100644 sandbox/grav/CONTRIBUTING.md create mode 100644 sandbox/grav/LICENSE.txt create mode 100644 sandbox/grav/README.md create mode 100644 sandbox/grav/assets/.gitkeep create mode 100644 sandbox/grav/backup/.gitkeep create mode 100755 sandbox/grav/bin/composer.phar create mode 100755 sandbox/grav/bin/gpm create mode 100755 sandbox/grav/bin/grav create mode 100755 sandbox/grav/bin/plugin create mode 100644 sandbox/grav/composer.json create mode 100644 sandbox/grav/composer.lock create mode 100644 sandbox/grav/docker-compose.yml create mode 100644 sandbox/grav/images/.gitkeep create mode 100644 sandbox/grav/index.html create mode 100644 sandbox/grav/index.php create mode 100644 sandbox/grav/logs/.gitkeep create mode 100644 sandbox/grav/logs/grav.log create mode 100644 sandbox/grav/logs/popularity/daily.json create mode 100644 sandbox/grav/logs/popularity/monthly.json create mode 100644 sandbox/grav/logs/popularity/totals.json create mode 100644 sandbox/grav/logs/popularity/visitors.json create mode 100644 sandbox/grav/pattern-kit-core/.pk-config.yml create mode 100644 sandbox/grav/pattern-kit-core/composer.json create mode 100644 sandbox/grav/pattern-kit-core/composer.lock create mode 100644 sandbox/grav/pattern-kit-core/index.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/.gitignore create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/.pk-config.yml create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/CHANGELOG-1.x.md create mode 100755 sandbox/grav/pattern-kit-core/pattern-kit/README.md create mode 100755 sandbox/grav/pattern-kit-core/pattern-kit/composer.json create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/index.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/cat.jpg create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/company-colors.sg.md create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo.docs.yaml create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo2.docs.json create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/get-started.sg.md create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.docs.yaml create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.json create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/index.sg.md create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.md create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.yaml create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.json create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/_pattern-kit-app.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/basic.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-schema.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-sg.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/docs.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-accordion.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-tabs.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/iframe-holder.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/navigation.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/secondary-nav.twig create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/ApiControllerProvider.php create mode 100755 sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/Controllers/SchemaController.php create mode 100755 sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/RoutesLoader.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/SchemaControllerProvider.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/StyleGuideControllerProvider.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/TestsControllerProvider.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/src/app.php create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/web/css/json-editor.css create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/web/img/icon-drag.svg create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/web/js/json-editor.js create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/web/js/lzstring.js create mode 100644 sandbox/grav/pattern-kit-core/pattern-kit/web/js/schema_editor.js create mode 100644 sandbox/grav/robots.txt create mode 100644 sandbox/grav/system/assets/debugger.css create mode 100644 sandbox/grav/system/assets/grav.png create mode 100644 sandbox/grav/system/assets/jquery/jquery-2.1.4.min.js create mode 100644 sandbox/grav/system/assets/jquery/jquery-2.x.min.js create mode 100644 sandbox/grav/system/assets/jquery/jquery-3.x.min.js create mode 100644 sandbox/grav/system/assets/responsive-overlays/1x.png create mode 100644 sandbox/grav/system/assets/responsive-overlays/2x.png create mode 100644 sandbox/grav/system/assets/responsive-overlays/3x.png create mode 100644 sandbox/grav/system/assets/responsive-overlays/4x.png create mode 100644 sandbox/grav/system/assets/responsive-overlays/unknown.png create mode 100644 sandbox/grav/system/assets/whoops.css create mode 100644 sandbox/grav/system/blueprints/config/media.yaml create mode 100644 sandbox/grav/system/blueprints/config/site.yaml create mode 100644 sandbox/grav/system/blueprints/config/streams.yaml create mode 100644 sandbox/grav/system/blueprints/config/system.yaml create mode 100644 sandbox/grav/system/blueprints/pages/default.yaml create mode 100644 sandbox/grav/system/blueprints/pages/external.yaml create mode 100644 sandbox/grav/system/blueprints/pages/modular.yaml create mode 100644 sandbox/grav/system/blueprints/user/account.yaml create mode 100644 sandbox/grav/system/blueprints/user/account_new.yaml create mode 100644 sandbox/grav/system/blueprints/user/group.yaml create mode 100644 sandbox/grav/system/blueprints/user/group_new.yaml create mode 100644 sandbox/grav/system/config/media.yaml create mode 100644 sandbox/grav/system/config/site.yaml create mode 100644 sandbox/grav/system/config/streams.yaml create mode 100644 sandbox/grav/system/config/system.yaml create mode 100644 sandbox/grav/system/defines.php create mode 100644 sandbox/grav/system/images/media/thumb-3dm.png create mode 100644 sandbox/grav/system/images/media/thumb-3ds.png create mode 100644 sandbox/grav/system/images/media/thumb-3g2.png create mode 100644 sandbox/grav/system/images/media/thumb-3gp.png create mode 100644 sandbox/grav/system/images/media/thumb-7z.png create mode 100644 sandbox/grav/system/images/media/thumb-aac.png create mode 100644 sandbox/grav/system/images/media/thumb-ai.png create mode 100644 sandbox/grav/system/images/media/thumb-aif.png create mode 100644 sandbox/grav/system/images/media/thumb-apk.png create mode 100644 sandbox/grav/system/images/media/thumb-app.png create mode 100644 sandbox/grav/system/images/media/thumb-asf.png create mode 100644 sandbox/grav/system/images/media/thumb-asp.png create mode 100644 sandbox/grav/system/images/media/thumb-aspx.png create mode 100644 sandbox/grav/system/images/media/thumb-asx.png create mode 100644 sandbox/grav/system/images/media/thumb-avi.png create mode 100644 sandbox/grav/system/images/media/thumb-bak.png create mode 100644 sandbox/grav/system/images/media/thumb-bat.png create mode 100644 sandbox/grav/system/images/media/thumb-bin.png create mode 100644 sandbox/grav/system/images/media/thumb-bmp.png create mode 100644 sandbox/grav/system/images/media/thumb-cab.png create mode 100644 sandbox/grav/system/images/media/thumb-cad.png create mode 100644 sandbox/grav/system/images/media/thumb-cdr.png create mode 100644 sandbox/grav/system/images/media/thumb-cer.png create mode 100644 sandbox/grav/system/images/media/thumb-cfg.png create mode 100644 sandbox/grav/system/images/media/thumb-cfm.png create mode 100644 sandbox/grav/system/images/media/thumb-cgi.png create mode 100644 sandbox/grav/system/images/media/thumb-com.png create mode 100644 sandbox/grav/system/images/media/thumb-cpl.png create mode 100644 sandbox/grav/system/images/media/thumb-cpp.png create mode 100644 sandbox/grav/system/images/media/thumb-crx.png create mode 100644 sandbox/grav/system/images/media/thumb-csr.png create mode 100644 sandbox/grav/system/images/media/thumb-css.png create mode 100644 sandbox/grav/system/images/media/thumb-csv.png create mode 100644 sandbox/grav/system/images/media/thumb-cue.png create mode 100644 sandbox/grav/system/images/media/thumb-cur.png create mode 100644 sandbox/grav/system/images/media/thumb-dat.png create mode 100644 sandbox/grav/system/images/media/thumb-db.png create mode 100644 sandbox/grav/system/images/media/thumb-dbf.png create mode 100644 sandbox/grav/system/images/media/thumb-dds.png create mode 100644 sandbox/grav/system/images/media/thumb-dem.png create mode 100644 sandbox/grav/system/images/media/thumb-dll.png create mode 100644 sandbox/grav/system/images/media/thumb-dmg.png create mode 100644 sandbox/grav/system/images/media/thumb-dmp.png create mode 100644 sandbox/grav/system/images/media/thumb-doc.png create mode 100644 sandbox/grav/system/images/media/thumb-docx.png create mode 100644 sandbox/grav/system/images/media/thumb-drv.png create mode 100644 sandbox/grav/system/images/media/thumb-dtd.png create mode 100644 sandbox/grav/system/images/media/thumb-dwg.png create mode 100644 sandbox/grav/system/images/media/thumb-dxf.png create mode 100644 sandbox/grav/system/images/media/thumb-elf.png create mode 100644 sandbox/grav/system/images/media/thumb-eot.png create mode 100644 sandbox/grav/system/images/media/thumb-eps.png create mode 100644 sandbox/grav/system/images/media/thumb-exe.png create mode 100644 sandbox/grav/system/images/media/thumb-fla.png create mode 100644 sandbox/grav/system/images/media/thumb-flv.png create mode 100644 sandbox/grav/system/images/media/thumb-fnt.png create mode 100644 sandbox/grav/system/images/media/thumb-fon.png create mode 100644 sandbox/grav/system/images/media/thumb-gam.png create mode 100644 sandbox/grav/system/images/media/thumb-gbr.png create mode 100644 sandbox/grav/system/images/media/thumb-ged.png create mode 100644 sandbox/grav/system/images/media/thumb-gif.png create mode 100644 sandbox/grav/system/images/media/thumb-gpx.png create mode 100644 sandbox/grav/system/images/media/thumb-gz.png create mode 100644 sandbox/grav/system/images/media/thumb-gzip.png create mode 100644 sandbox/grav/system/images/media/thumb-hqz.png create mode 100644 sandbox/grav/system/images/media/thumb-html.png create mode 100644 sandbox/grav/system/images/media/thumb-icns.png create mode 100644 sandbox/grav/system/images/media/thumb-ico.png create mode 100644 sandbox/grav/system/images/media/thumb-ics.png create mode 100644 sandbox/grav/system/images/media/thumb-iff.png create mode 100644 sandbox/grav/system/images/media/thumb-indd.png create mode 100644 sandbox/grav/system/images/media/thumb-iso.png create mode 100644 sandbox/grav/system/images/media/thumb-jar.png create mode 100644 sandbox/grav/system/images/media/thumb-jpg.png create mode 100644 sandbox/grav/system/images/media/thumb-js.png create mode 100644 sandbox/grav/system/images/media/thumb-jsp.png create mode 100644 sandbox/grav/system/images/media/thumb-key.png create mode 100644 sandbox/grav/system/images/media/thumb-kml.png create mode 100644 sandbox/grav/system/images/media/thumb-kmz.png create mode 100644 sandbox/grav/system/images/media/thumb-lnk.png create mode 100644 sandbox/grav/system/images/media/thumb-log.png create mode 100644 sandbox/grav/system/images/media/thumb-lua.png create mode 100644 sandbox/grav/system/images/media/thumb-m3u.png create mode 100644 sandbox/grav/system/images/media/thumb-m4a.png create mode 100644 sandbox/grav/system/images/media/thumb-m4v.png create mode 100644 sandbox/grav/system/images/media/thumb-max.png create mode 100644 sandbox/grav/system/images/media/thumb-mdb.png create mode 100644 sandbox/grav/system/images/media/thumb-mdf.png create mode 100644 sandbox/grav/system/images/media/thumb-mid.png create mode 100644 sandbox/grav/system/images/media/thumb-mim.png create mode 100644 sandbox/grav/system/images/media/thumb-mov.png create mode 100644 sandbox/grav/system/images/media/thumb-mp3.png create mode 100644 sandbox/grav/system/images/media/thumb-mp4.png create mode 100644 sandbox/grav/system/images/media/thumb-mpa.png create mode 100644 sandbox/grav/system/images/media/thumb-mpe.png create mode 100644 sandbox/grav/system/images/media/thumb-mpg.png create mode 100644 sandbox/grav/system/images/media/thumb-msg.png create mode 100644 sandbox/grav/system/images/media/thumb-msi.png create mode 100644 sandbox/grav/system/images/media/thumb-nes.png create mode 100644 sandbox/grav/system/images/media/thumb-obj.png create mode 100644 sandbox/grav/system/images/media/thumb-odb.png create mode 100644 sandbox/grav/system/images/media/thumb-odc.png create mode 100644 sandbox/grav/system/images/media/thumb-odf.png create mode 100644 sandbox/grav/system/images/media/thumb-odg.png create mode 100644 sandbox/grav/system/images/media/thumb-odi.png create mode 100644 sandbox/grav/system/images/media/thumb-odp.png create mode 100644 sandbox/grav/system/images/media/thumb-ods.png create mode 100644 sandbox/grav/system/images/media/thumb-odt.png create mode 100644 sandbox/grav/system/images/media/thumb-odx.png create mode 100644 sandbox/grav/system/images/media/thumb-ogg.png create mode 100644 sandbox/grav/system/images/media/thumb-pct.png create mode 100644 sandbox/grav/system/images/media/thumb-pdb.png create mode 100644 sandbox/grav/system/images/media/thumb-pdf.png create mode 100644 sandbox/grav/system/images/media/thumb-pif.png create mode 100644 sandbox/grav/system/images/media/thumb-pkg.png create mode 100644 sandbox/grav/system/images/media/thumb-pl.png create mode 100644 sandbox/grav/system/images/media/thumb-png.png create mode 100644 sandbox/grav/system/images/media/thumb-pps.png create mode 100644 sandbox/grav/system/images/media/thumb-ppt.png create mode 100644 sandbox/grav/system/images/media/thumb-pptx.png create mode 100644 sandbox/grav/system/images/media/thumb-ps.png create mode 100644 sandbox/grav/system/images/media/thumb-psd.png create mode 100644 sandbox/grav/system/images/media/thumb-pub.png create mode 100644 sandbox/grav/system/images/media/thumb-py.png create mode 100644 sandbox/grav/system/images/media/thumb-ra.png create mode 100644 sandbox/grav/system/images/media/thumb-rar.png create mode 100644 sandbox/grav/system/images/media/thumb-raw.png create mode 100644 sandbox/grav/system/images/media/thumb-rm.png create mode 100644 sandbox/grav/system/images/media/thumb-rom.png create mode 100644 sandbox/grav/system/images/media/thumb-rpm.png create mode 100644 sandbox/grav/system/images/media/thumb-rss.png create mode 100644 sandbox/grav/system/images/media/thumb-rtf.png create mode 100644 sandbox/grav/system/images/media/thumb-sav.png create mode 100644 sandbox/grav/system/images/media/thumb-sdf.png create mode 100644 sandbox/grav/system/images/media/thumb-sql.png create mode 100644 sandbox/grav/system/images/media/thumb-srt.png create mode 100644 sandbox/grav/system/images/media/thumb-svg.png create mode 100644 sandbox/grav/system/images/media/thumb-swf.png create mode 100644 sandbox/grav/system/images/media/thumb-sys.png create mode 100644 sandbox/grav/system/images/media/thumb-tar.png create mode 100644 sandbox/grav/system/images/media/thumb-tex.png create mode 100644 sandbox/grav/system/images/media/thumb-tga.png create mode 100644 sandbox/grav/system/images/media/thumb-thm.png create mode 100644 sandbox/grav/system/images/media/thumb-tiff.png create mode 100644 sandbox/grav/system/images/media/thumb-tmp.png create mode 100644 sandbox/grav/system/images/media/thumb-ttf.png create mode 100644 sandbox/grav/system/images/media/thumb-txt.png create mode 100644 sandbox/grav/system/images/media/thumb-uue.png create mode 100644 sandbox/grav/system/images/media/thumb-vb.png create mode 100644 sandbox/grav/system/images/media/thumb-vcd.png create mode 100644 sandbox/grav/system/images/media/thumb-vcf.png create mode 100644 sandbox/grav/system/images/media/thumb-wav.png create mode 100644 sandbox/grav/system/images/media/thumb-webm.png create mode 100644 sandbox/grav/system/images/media/thumb-wma.png create mode 100644 sandbox/grav/system/images/media/thumb-wmv.png create mode 100644 sandbox/grav/system/images/media/thumb-woff.png create mode 100644 sandbox/grav/system/images/media/thumb-woff2.png create mode 100644 sandbox/grav/system/images/media/thumb-wpd.png create mode 100644 sandbox/grav/system/images/media/thumb-wps.png create mode 100644 sandbox/grav/system/images/media/thumb-wsf.png create mode 100644 sandbox/grav/system/images/media/thumb-xls.png create mode 100644 sandbox/grav/system/images/media/thumb-xlsx.png create mode 100644 sandbox/grav/system/images/media/thumb-xml.png create mode 100644 sandbox/grav/system/images/media/thumb-yuv.png create mode 100644 sandbox/grav/system/images/media/thumb-zip.png create mode 100644 sandbox/grav/system/images/media/thumb.png create mode 100644 sandbox/grav/system/languages/ar.yaml create mode 100644 sandbox/grav/system/languages/ca.yaml create mode 100644 sandbox/grav/system/languages/cs.yaml create mode 100644 sandbox/grav/system/languages/da.yaml create mode 100644 sandbox/grav/system/languages/de.yaml create mode 100644 sandbox/grav/system/languages/el.yaml create mode 100644 sandbox/grav/system/languages/en.yaml create mode 100644 sandbox/grav/system/languages/es.yaml create mode 100644 sandbox/grav/system/languages/fi.yaml create mode 100644 sandbox/grav/system/languages/fr.yaml create mode 100644 sandbox/grav/system/languages/hr.yaml create mode 100644 sandbox/grav/system/languages/hu.yaml create mode 100644 sandbox/grav/system/languages/it.yaml create mode 100644 sandbox/grav/system/languages/ja.yaml create mode 100644 sandbox/grav/system/languages/lt.yaml create mode 100644 sandbox/grav/system/languages/nb.yaml create mode 100644 sandbox/grav/system/languages/nl.yaml create mode 100644 sandbox/grav/system/languages/no.yaml create mode 100644 sandbox/grav/system/languages/pl.yaml create mode 100644 sandbox/grav/system/languages/pt.yaml create mode 100644 sandbox/grav/system/languages/ro.yaml create mode 100644 sandbox/grav/system/languages/ru.yaml create mode 100644 sandbox/grav/system/languages/sk.yaml create mode 100644 sandbox/grav/system/languages/sv.yaml create mode 100644 sandbox/grav/system/languages/th.yaml create mode 100644 sandbox/grav/system/languages/tr.yaml create mode 100644 sandbox/grav/system/languages/uk.yaml create mode 100644 sandbox/grav/system/languages/vi.yaml create mode 100644 sandbox/grav/system/pages/notfound.md create mode 100644 sandbox/grav/system/router.php create mode 100644 sandbox/grav/system/src/Grav/Common/Assets.php create mode 100644 sandbox/grav/system/src/Grav/Common/Backup/ZipBackup.php create mode 100644 sandbox/grav/system/src/Grav/Common/Browser.php create mode 100644 sandbox/grav/system/src/Grav/Common/Cache.php create mode 100644 sandbox/grav/system/src/Grav/Common/Composer.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/CompiledBase.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/CompiledBlueprints.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/CompiledConfig.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/CompiledLanguages.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/Config.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/ConfigFileFinder.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/Languages.php create mode 100644 sandbox/grav/system/src/Grav/Common/Config/Setup.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/Blueprint.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/BlueprintSchema.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/Blueprints.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/Data.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/DataInterface.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/Validation.php create mode 100644 sandbox/grav/system/src/Grav/Common/Data/ValidationException.php create mode 100644 sandbox/grav/system/src/Grav/Common/Debugger.php create mode 100644 sandbox/grav/system/src/Grav/Common/Errors/BareHandler.php create mode 100644 sandbox/grav/system/src/Grav/Common/Errors/Errors.php create mode 100644 sandbox/grav/system/src/Grav/Common/Errors/Resources/error.css create mode 100644 sandbox/grav/system/src/Grav/Common/Errors/Resources/layout.html.php create mode 100644 sandbox/grav/system/src/Grav/Common/Errors/SimplePageHandler.php create mode 100644 sandbox/grav/system/src/Grav/Common/Errors/SystemFacade.php create mode 100644 sandbox/grav/system/src/Grav/Common/File/CompiledFile.php create mode 100644 sandbox/grav/system/src/Grav/Common/File/CompiledJsonFile.php create mode 100644 sandbox/grav/system/src/Grav/Common/File/CompiledMarkdownFile.php create mode 100644 sandbox/grav/system/src/Grav/Common/File/CompiledYamlFile.php create mode 100644 sandbox/grav/system/src/Grav/Common/Filesystem/Folder.php create mode 100644 sandbox/grav/system/src/Grav/Common/Filesystem/RecursiveFolderFilterIterator.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/AbstractCollection.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Common/AbstractPackageCollection.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Common/CachedCollection.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Common/Package.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/GPM.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Installer.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Licenses.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Local/Package.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Local/Packages.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Local/Plugins.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Local/Themes.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Remote/AbstractPackageCollection.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Remote/GravCore.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Remote/Package.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Remote/Packages.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Remote/Plugins.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Remote/Themes.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Response.php create mode 100644 sandbox/grav/system/src/Grav/Common/GPM/Upgrader.php create mode 100644 sandbox/grav/system/src/Grav/Common/Getters.php create mode 100644 sandbox/grav/system/src/Grav/Common/Grav.php create mode 100644 sandbox/grav/system/src/Grav/Common/GravTrait.php create mode 100644 sandbox/grav/system/src/Grav/Common/Helpers/Base32.php create mode 100644 sandbox/grav/system/src/Grav/Common/Helpers/Excerpts.php create mode 100644 sandbox/grav/system/src/Grav/Common/Helpers/Exif.php create mode 100644 sandbox/grav/system/src/Grav/Common/Helpers/Truncator.php create mode 100644 sandbox/grav/system/src/Grav/Common/Inflector.php create mode 100644 sandbox/grav/system/src/Grav/Common/Iterator.php create mode 100644 sandbox/grav/system/src/Grav/Common/Language/Language.php create mode 100644 sandbox/grav/system/src/Grav/Common/Language/LanguageCodes.php create mode 100644 sandbox/grav/system/src/Grav/Common/Markdown/Parsedown.php create mode 100644 sandbox/grav/system/src/Grav/Common/Markdown/ParsedownExtra.php create mode 100644 sandbox/grav/system/src/Grav/Common/Markdown/ParsedownGravTrait.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Collection.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Header.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Media.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/AbstractMedia.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/AudioMedium.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/GlobalMedia.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/ImageFile.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/ImageMedium.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/Link.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/Medium.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/MediumFactory.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/ParsedownHtmlTrait.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/RenderableInterface.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/StaticImageMedium.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/StaticResizeTrait.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/ThumbnailImageMedium.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Medium/VideoMedium.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Page.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Pages.php create mode 100644 sandbox/grav/system/src/Grav/Common/Page/Types.php create mode 100644 sandbox/grav/system/src/Grav/Common/Plugin.php create mode 100644 sandbox/grav/system/src/Grav/Common/Plugins.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/AssetsProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/ConfigurationProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/DebuggerInitProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/ErrorsProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/InitializeProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/PagesProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/PluginsProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/ProcessorBase.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/ProcessorInterface.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/RenderProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/SiteSetupProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/TasksProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/ThemesProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Processors/TwigProcessor.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/AssetsServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/ConfigServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/ErrorServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/LoggerServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/MessagesServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/OutputServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/PageServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/StreamsServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Service/TaskServiceProvider.php create mode 100644 sandbox/grav/system/src/Grav/Common/Session.php create mode 100644 sandbox/grav/system/src/Grav/Common/Taxonomy.php create mode 100644 sandbox/grav/system/src/Grav/Common/Theme.php create mode 100644 sandbox/grav/system/src/Grav/Common/Themes.php create mode 100644 sandbox/grav/system/src/Grav/Common/Twig/Twig.php create mode 100644 sandbox/grav/system/src/Grav/Common/Twig/TwigEnvironment.php create mode 100644 sandbox/grav/system/src/Grav/Common/Twig/TwigExtension.php create mode 100644 sandbox/grav/system/src/Grav/Common/Twig/WriteCacheFileTrait.php create mode 100644 sandbox/grav/system/src/Grav/Common/Uri.php create mode 100644 sandbox/grav/system/src/Grav/Common/User/Authentication.php create mode 100644 sandbox/grav/system/src/Grav/Common/User/Group.php create mode 100644 sandbox/grav/system/src/Grav/Common/User/User.php create mode 100644 sandbox/grav/system/src/Grav/Common/Utils.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/BackupCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/CleanCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/ClearCacheCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/ComposerCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/InstallCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/NewProjectCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Cli/SandboxCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/ConsoleCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/ConsoleTrait.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/DirectInstallCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/IndexCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/InfoCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/InstallCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/SelfupgradeCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/UninstallCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/UpdateCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/Gpm/VersionCommand.php create mode 100644 sandbox/grav/system/src/Grav/Console/TerminalObjects/Table.php create mode 100644 sandbox/grav/system/src/Grav/Framework/Collection/AbstractLazyCollection.php create mode 100644 sandbox/grav/system/src/Grav/Framework/Collection/ArrayCollection.php create mode 100644 sandbox/grav/system/src/Grav/Framework/Collection/CollectionInterface.php create mode 100644 sandbox/grav/system/src/Grav/Framework/Collection/FileCollection.php create mode 100644 sandbox/grav/tmp/.gitkeep create mode 100644 sandbox/grav/user/accounts/.gitkeep create mode 100644 sandbox/grav/user/accounts/sghoweri.yaml create mode 100644 sandbox/grav/user/config/media.yaml create mode 100644 sandbox/grav/user/config/plugins/patternlab-twig-extensions.yaml create mode 100644 sandbox/grav/user/config/security.yaml create mode 100644 sandbox/grav/user/config/site.yaml create mode 100644 sandbox/grav/user/config/streams.yaml create mode 100644 sandbox/grav/user/config/system.yaml create mode 100644 sandbox/grav/user/data/.gitkeep create mode 100644 sandbox/grav/user/data/licenses.yaml create mode 100644 sandbox/grav/user/pages/01.home/default.md create mode 100644 sandbox/grav/user/pages/ITCSS vs Atomic Design.md create mode 100644 sandbox/grav/user/pages/TROUBLESHOOTING.md create mode 100644 sandbox/grav/user/pages/test.md create mode 100644 sandbox/grav/user/plugins/.gitkeep create mode 100644 sandbox/grav/user/plugins/admin/.editorconfig create mode 100644 sandbox/grav/user/plugins/admin/.gitattributes create mode 100644 sandbox/grav/user/plugins/admin/.gitignore create mode 100644 sandbox/grav/user/plugins/admin/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/admin/CONTRIBUTING.md create mode 100644 sandbox/grav/user/plugins/admin/LICENSE create mode 100644 sandbox/grav/user/plugins/admin/README.md create mode 100644 sandbox/grav/user/plugins/admin/admin.php create mode 100644 sandbox/grav/user/plugins/admin/admin.yaml create mode 100644 sandbox/grav/user/plugins/admin/assets/admin-dashboard.png create mode 100644 sandbox/grav/user/plugins/admin/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/admin/pages/modular_new.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/admin/pages/modular_raw.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/admin/pages/move.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/admin/pages/new.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/admin/pages/new_folder.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/admin/pages/raw.yaml create mode 100644 sandbox/grav/user/plugins/admin/blueprints/config/media.yaml create mode 100644 sandbox/grav/user/plugins/admin/classes/admin.php create mode 100644 sandbox/grav/user/plugins/admin/classes/adminbasecontroller.php create mode 100644 sandbox/grav/user/plugins/admin/classes/admincontroller.php create mode 100644 sandbox/grav/user/plugins/admin/classes/baconqrprovider.php create mode 100644 sandbox/grav/user/plugins/admin/classes/gpm.php create mode 100644 sandbox/grav/user/plugins/admin/classes/popularity.php create mode 100644 sandbox/grav/user/plugins/admin/classes/themes.php create mode 100644 sandbox/grav/user/plugins/admin/classes/utils.php create mode 100644 sandbox/grav/user/plugins/admin/codeception.yml create mode 100644 sandbox/grav/user/plugins/admin/composer.json create mode 100644 sandbox/grav/user/plugins/admin/composer.lock create mode 100644 sandbox/grav/user/plugins/admin/hebe.json create mode 100644 sandbox/grav/user/plugins/admin/languages/ar.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/bg.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/br.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/ca.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/cs.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/cy.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/da.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/de.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/el.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/en.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/es.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/fa.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/fi.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/fr.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/hr.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/hu.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/it.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/ja.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/ko.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/lt.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/nl.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/no.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/pl.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/pt.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/ro.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/ru.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/sk.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/sv.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/th.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/tlh.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/tr.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/uk.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/vi.yaml create mode 100644 sandbox/grav/user/plugins/admin/languages/zh.yaml create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/ajax.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/backup.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/cache.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/config.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/dashboard.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/denied.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/feed.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/forgot.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/info.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/installer.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/login.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/logout.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/media.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/notifications.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/pages-filter.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/pages.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/plugins.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/register.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/reset.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/site.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/statistics.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/system.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/themes.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/tools.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/twofa.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/update.md create mode 100644 sandbox/grav/user/plugins/admin/pages/admin/user.md create mode 100644 sandbox/grav/user/plugins/admin/tests/_bootstrap.php create mode 100644 sandbox/grav/user/plugins/admin/tests/_support/Helper/Unit.php create mode 100644 sandbox/grav/user/plugins/admin/tests/_support/UnitTester.php create mode 100644 sandbox/grav/user/plugins/admin/tests/unit.suite.yml create mode 100644 sandbox/grav/user/plugins/admin/tests/unit/_bootstrap.php create mode 100644 sandbox/grav/user/plugins/admin/tests/unit/classes/controllerTest.php create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/.eslintrc create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/dashboard/backup.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/dashboard/cache.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/dashboard/chart.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/dashboard/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/dashboard/update.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/array.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/collections.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/colorpicker.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/datetime.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/editor.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/editor/buttons.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/filepicker.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/files.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/iconpicker.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/mediapicker.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/multilevel.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/selectize.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/fields/selectunique.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/form.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/forms/state.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/main.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/media/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/filter.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/add.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/delete.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/disable-buttons.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/media.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/move.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/page/multilang.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/pages/tree.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/plugins/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/themes/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/updates/channel-switcher.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/updates/check.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/updates/feed.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/updates/index.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/updates/notifications.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/updates/update.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/2fa.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/colors.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/formatbytes.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/gpm.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/jquery-utils.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/keepalive.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/offline.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/packages.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/request.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/response.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/scrollbar.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/sidebar.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/storage.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/tabs-memory.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/app/utils/toastr.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css-compiled/fonts.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css-compiled/nucleus.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css-compiled/preset.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css-compiled/template.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/chartist.min.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/codemirror/base16-light.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/codemirror/codemirror.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/codemirror/paper.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/featherlight.min.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/font-awesome.min.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/hint.base.min.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/iconpicker.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/nucleus-ie10.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/nucleus-ie9.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/prism.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/pure-0.5.0/grids-min.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/selectize.min.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/css/uikit.css create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.eot create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.svg create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.ttf create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff2 create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.eot create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.svg create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.ttf create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.woff create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/gosass.sh create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/gulpfile.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/images/favicon.png create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/images/logo.png create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/js/admin.min.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/js/form-attr.polyfill.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/js/vendor.min.js create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/package.json create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss.sh create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/fonts/_support.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/nucleus/_base.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/nucleus/_breakpoints.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/nucleus/_core.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/nucleus/_layout.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/nucleus/_nav.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/nucleus/_typography.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/template/_base.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/template/_colors.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/configuration/template/_variables.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/fonts.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/_core.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/_flex.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/_forms.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/_typography.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/functions/_base.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/functions/_direction.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/functions/_range.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/mixins/_base.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/mixins/_breakpoints.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/mixins/_utilities.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/particles/_align-text.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/nucleus/particles/_visibility.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/preset.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/simple-fonts.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_admin.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_buttons.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_core.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_custom.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_dropzone.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_editor.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_errors.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_extensions.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_fonts.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_forms.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_gpm.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_header.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_login.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_media.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_nav-toggle.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_notifications.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_pages.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_phpinfo.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_remodal.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_tables.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_tabs.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_toastr.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_typography.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/_utilities.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_base.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_bourbon_essentials.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_buttons.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_colorpicker.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_datetimepicker.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_input-range.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_scrollbars.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/scss/template/modules/_toggle-switch.scss create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/config.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/dashboard.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/default.json.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/denied.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/email/base.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/empty.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/error.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/error.json.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forgot.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/field.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/2fa_secret/2fa_secret.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/array/array.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/blueprint/blueprint.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/colorpicker/colorpicker.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/column/column.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/columns/columns.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/dateformat/dateformat.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/datetime/datetime.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/editor/editor.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/fieldset/fieldset.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/file/file.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/filepicker/filepicker.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/frontmatter/frontmatter.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/iconpicker/iconpicker.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/iconpicker/icons.yaml create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/ignore/ignore.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/key/key.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/list/list.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/markdown/markdown.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/mediapicker/mediapicker.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/multilevel/multilevel.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/order/order.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/pagemediaselect/pagemediaselect.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/pages/pages.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/parents/parents.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/permissions/permissions.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/range/range.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/section/section.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/selectize/selectize.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/selectunique/selectunique.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/tab/tab.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/tabs/tabs.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/taxonomy/taxonomy.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/themeselect/themeselect.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/toggle/toggle.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/forms/fields/userinfo/userinfo.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/installer.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/login.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/logout.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/media-list-content.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/pages.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/base-root.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/base.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/blueprints-new-folder.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/blueprints-new.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/blueprints-raw.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/blueprints.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/dashboard-feed.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/dashboard-maintenance.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/dashboard-notifications.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/dashboard-pages.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/dashboard-statistics.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/header.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/javascript-config.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/javascripts.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/list-sort.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/login.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/logo.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/media-list-wrapper.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/media-list-wrapper__list.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/media-list-wrapper__list__filters.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/media-list-wrapper__sidebar.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/messages.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/modal-add-package.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/modal-changes-detected.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/modal-reinstall-package.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/modal-remove-package.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/modal-update-packages.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/nav-quick-tray.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/nav-toggle.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/nav-user-avatar.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/nav-user-details.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/nav.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/page-children.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/page-legend.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/page-move.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/plugin-data.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/plugins-details.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/plugins-list.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/register.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/release-toggle.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/spinning-wheel.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/stylesheets.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/theme.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/themes-details.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/themes-list.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/tools-direct-install.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/userinfo-avatar-credit.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/partials/userinfo-avatar.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/plugins.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/register.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/reset.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/statistics.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/themes.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/tools.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/twofa.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/templates/user.html.twig create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/theme.yaml create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/watch.sh create mode 100644 sandbox/grav/user/plugins/admin/themes/grav/webpack.conf.js create mode 100644 sandbox/grav/user/plugins/admin/twig/AdminTwigExtension.php create mode 100644 sandbox/grav/user/plugins/editable-simplemde/.gitignore create mode 100644 sandbox/grav/user/plugins/editable-simplemde/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/editable-simplemde/LICENSE create mode 100644 sandbox/grav/user/plugins/editable-simplemde/README.md create mode 100644 sandbox/grav/user/plugins/editable-simplemde/assets/.gitignore create mode 100644 sandbox/grav/user/plugins/editable-simplemde/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/editable-simplemde/css/customstyles.css create mode 100644 sandbox/grav/user/plugins/editable-simplemde/editable-simplemde.php create mode 100644 sandbox/grav/user/plugins/editable-simplemde/editable-simplemde.yaml create mode 100644 sandbox/grav/user/plugins/editable-simplemde/js/main.js create mode 100644 sandbox/grav/user/plugins/editable-simplemde/js/simpleUpload.min.js create mode 100644 sandbox/grav/user/plugins/editable-simplemde/templates/editable-simplemde.html.twig create mode 100644 sandbox/grav/user/plugins/email/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/email/LICENSE create mode 100644 sandbox/grav/user/plugins/email/README.md create mode 100644 sandbox/grav/user/plugins/email/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/email/classes/Email.php create mode 100644 sandbox/grav/user/plugins/email/classes/Utils.php create mode 100644 sandbox/grav/user/plugins/email/cli/TestEmailCommand.php create mode 100644 sandbox/grav/user/plugins/email/composer.json create mode 100644 sandbox/grav/user/plugins/email/composer.lock create mode 100644 sandbox/grav/user/plugins/email/email.php create mode 100644 sandbox/grav/user/plugins/email/email.yaml create mode 100644 sandbox/grav/user/plugins/email/hebe.json create mode 100644 sandbox/grav/user/plugins/email/languages.yaml create mode 100644 sandbox/grav/user/plugins/email/templates/email/base.html.twig create mode 100644 sandbox/grav/user/plugins/error/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/error/LICENSE create mode 100644 sandbox/grav/user/plugins/error/README.md create mode 100644 sandbox/grav/user/plugins/error/assets/readme_1.png create mode 100644 sandbox/grav/user/plugins/error/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/error/cli/LogCommand.php create mode 100644 sandbox/grav/user/plugins/error/error.php create mode 100644 sandbox/grav/user/plugins/error/error.yaml create mode 100644 sandbox/grav/user/plugins/error/languages.yaml create mode 100644 sandbox/grav/user/plugins/error/pages/error.md create mode 100644 sandbox/grav/user/plugins/error/templates/error.html.twig create mode 100644 sandbox/grav/user/plugins/error/templates/error.json.twig create mode 100644 sandbox/grav/user/plugins/form/.eslintrc create mode 100644 sandbox/grav/user/plugins/form/.gitignore create mode 100644 sandbox/grav/user/plugins/form/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/form/LICENSE create mode 100644 sandbox/grav/user/plugins/form/README.md create mode 100644 sandbox/grav/user/plugins/form/app/main.js create mode 100644 sandbox/grav/user/plugins/form/assets/dropzone.min.css create mode 100644 sandbox/grav/user/plugins/form/assets/form-styles.css create mode 100644 sandbox/grav/user/plugins/form/assets/form.min.js create mode 100644 sandbox/grav/user/plugins/form/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/form/classes/form.php create mode 100644 sandbox/grav/user/plugins/form/form.php create mode 100644 sandbox/grav/user/plugins/form/form.yaml create mode 100644 sandbox/grav/user/plugins/form/gulpfile.js create mode 100644 sandbox/grav/user/plugins/form/hebe.json create mode 100644 sandbox/grav/user/plugins/form/languages.yaml create mode 100644 sandbox/grav/user/plugins/form/package.json create mode 100644 sandbox/grav/user/plugins/form/templates/form-messages.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/form-messages.json.twig create mode 100644 sandbox/grav/user/plugins/form/templates/form.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/form.json.twig create mode 100644 sandbox/grav/user/plugins/form/templates/formdata.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/ajax.json.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/data.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/data.txt.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/default/data.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/default/data.txt.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/default/field.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/default/form.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/field.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.yaml create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/color/color.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/column/column.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/columns/columns.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/date/date.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/display/display.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/email/email.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/file/file.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/formname/formname.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/month/month.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/number/number.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/password/password.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/radio/radio.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/range/range.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/select/select.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/tel/tel.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/text/text.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/time/time.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/url/url.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/fields/week/week.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/forms/form.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/modular/form.html.twig create mode 100644 sandbox/grav/user/plugins/form/templates/partials/form-messages.html.twig create mode 100644 sandbox/grav/user/plugins/form/webpack.conf.js create mode 100644 sandbox/grav/user/plugins/login/.gitignore create mode 100644 sandbox/grav/user/plugins/login/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/login/LICENSE create mode 100644 sandbox/grav/user/plugins/login/README.md create mode 100644 sandbox/grav/user/plugins/login/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/login/classes/Controller.php create mode 100644 sandbox/grav/user/plugins/login/classes/Login.php create mode 100644 sandbox/grav/user/plugins/login/classes/RememberMe/RememberMe.php create mode 100644 sandbox/grav/user/plugins/login/classes/RememberMe/TokenStorage.php create mode 100644 sandbox/grav/user/plugins/login/cli/ChangePasswordCommand.php create mode 100644 sandbox/grav/user/plugins/login/cli/ChangeUserStateCommand.php create mode 100644 sandbox/grav/user/plugins/login/cli/NewUserCommand.php create mode 100644 sandbox/grav/user/plugins/login/composer.json create mode 100644 sandbox/grav/user/plugins/login/composer.lock create mode 100644 sandbox/grav/user/plugins/login/css/login.css create mode 100644 sandbox/grav/user/plugins/login/hebe.json create mode 100644 sandbox/grav/user/plugins/login/languages.yaml create mode 100644 sandbox/grav/user/plugins/login/login.php create mode 100644 sandbox/grav/user/plugins/login/login.yaml create mode 100644 sandbox/grav/user/plugins/login/pages/forgot.md create mode 100644 sandbox/grav/user/plugins/login/pages/login.md create mode 100644 sandbox/grav/user/plugins/login/pages/profile.md create mode 100644 sandbox/grav/user/plugins/login/pages/register.md create mode 100644 sandbox/grav/user/plugins/login/pages/reset.md create mode 100644 sandbox/grav/user/plugins/login/pages/unauthorized.md create mode 100644 sandbox/grav/user/plugins/login/templates/forgot.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/login.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/login.json.twig create mode 100644 sandbox/grav/user/plugins/login/templates/partials/forgot-form.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/partials/login-form.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/partials/login-status.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/partials/messages.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/partials/reset-form.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/profile.html.twig create mode 100644 sandbox/grav/user/plugins/login/templates/profile.json.twig create mode 100644 sandbox/grav/user/plugins/login/templates/reset.html.twig create mode 100644 sandbox/grav/user/plugins/markdown-notices/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/markdown-notices/LICENSE create mode 100644 sandbox/grav/user/plugins/markdown-notices/README.md create mode 100644 sandbox/grav/user/plugins/markdown-notices/assets/notices.css create mode 100644 sandbox/grav/user/plugins/markdown-notices/assets/screenshot.png create mode 100644 sandbox/grav/user/plugins/markdown-notices/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/markdown-notices/markdown-notices.php create mode 100644 sandbox/grav/user/plugins/markdown-notices/markdown-notices.yaml create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/CHANGELOG.md create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/LICENSE create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/README.md create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/blueprints.yaml create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.php create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.yaml create mode 100755 sandbox/grav/user/plugins/patternlab-twig-extensions/src/TwigExtension/TwigExtensionAdapter.php create mode 100644 sandbox/grav/user/plugins/patternlab-twig-extensions/src/TwigExtension/TwigExtensionLoader.php create mode 100755 sandbox/grav/user/plugins/patternlab-twig-namespaces/CHANGELOG.md create mode 100755 sandbox/grav/user/plugins/patternlab-twig-namespaces/LICENSE create mode 100755 sandbox/grav/user/plugins/patternlab-twig-namespaces/README.md create mode 100755 sandbox/grav/user/plugins/patternlab-twig-namespaces/blueprints.yaml create mode 100755 sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php create mode 100755 sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.yaml create mode 100644 sandbox/grav/user/plugins/problems/CHANGELOG.md create mode 100644 sandbox/grav/user/plugins/problems/LICENSE create mode 100644 sandbox/grav/user/plugins/problems/README.md create mode 100644 sandbox/grav/user/plugins/problems/assets/readme_1.png create mode 100644 sandbox/grav/user/plugins/problems/blueprints.yaml create mode 100644 sandbox/grav/user/plugins/problems/css/problems.css create mode 100644 sandbox/grav/user/plugins/problems/css/template.css create mode 100644 sandbox/grav/user/plugins/problems/html/problems.html create mode 100644 sandbox/grav/user/plugins/problems/problems.php create mode 100644 sandbox/grav/user/plugins/problems/problems.yaml create mode 100644 sandbox/grav/user/themes/.gitkeep create mode 100644 sandbox/grav/user/themes/bolt/blueprints.yaml create mode 100644 sandbox/grav/user/themes/bolt/bolt.php create mode 100644 sandbox/grav/user/themes/bolt/bolt.yaml create mode 100644 sandbox/grav/user/themes/bolt/templates/_layouts/base.html.twig create mode 100644 sandbox/grav/user/themes/bolt/templates/default.html.twig create mode 100644 sandbox/grav/user/themes/bolt/templates/error.html.twig create mode 100644 sandbox/grav/user/themes/bolt/templates/modular.html.twig create mode 100644 sandbox/grav/user/themes/bolt/templates/modular/features.html.twig create mode 100644 sandbox/grav/user/themes/bolt/templates/modular/showcase.html.twig create mode 100644 sandbox/grav/user/themes/bolt/templates/modular/text.html.twig create mode 100644 sandbox/grav/webserver-configs/Caddyfile create mode 100644 sandbox/grav/webserver-configs/Caddyfile-0.8.x create mode 100644 sandbox/grav/webserver-configs/htaccess.txt create mode 100644 sandbox/grav/webserver-configs/lighttpd.conf create mode 100644 sandbox/grav/webserver-configs/nginx.conf create mode 100644 sandbox/grav/webserver-configs/web.config create mode 100644 sandbox/readme.md diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/100.json b/.changelog/github/repos/bolt-design-system/bolt/issues/100.json new file mode 100644 index 0000000000..0cd8be4941 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/100.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/100", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/100/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/100/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/100/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/100", + "id": 251768234, + "number": 100, + "title": "docs: font-family readme doc update", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2017-08-21T20:54:04Z", + "updated_at": "2017-08-22T14:20:32Z", + "closed_at": "2017-08-21T21:38:03Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/100", + "html_url": "https://github.com/bolt-design-system/bolt/pull/100", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/100.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/100.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/102.json b/.changelog/github/repos/bolt-design-system/bolt/issues/102.json new file mode 100644 index 0000000000..118678eac7 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/102.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/102", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/102/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/102/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/102/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/102", + "id": 251786289, + "number": 102, + "title": "Feature/settings breakpoints docs", + "user": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 2, + "created_at": "2017-08-21T22:19:33Z", + "updated_at": "2017-08-22T14:28:37Z", + "closed_at": "2017-08-22T14:28:37Z", + "author_association": "OWNER", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/102", + "html_url": "https://github.com/bolt-design-system/bolt/pull/102", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/102.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/102.patch" + }, + "body": "https://github.com/bolt-design-system/bolt/blob/5c012eb81363d2b4a88890a028863786e1ba2239/packages/bolt-core/01-settings/settings-breakpoints/README.md\r\n\r\nCc @mikemai2awesome @theSadowski ", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/104.json b/.changelog/github/repos/bolt-design-system/bolt/issues/104.json new file mode 100644 index 0000000000..f912d8f029 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/104.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/104", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/104/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/104/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/104/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/104", + "id": 252005155, + "number": 104, + "title": "Feature/spacing scale docs", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2017-08-22T15:51:42Z", + "updated_at": "2017-08-28T22:35:24Z", + "closed_at": "2017-08-28T22:35:23Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/104", + "html_url": "https://github.com/bolt-design-system/bolt/pull/104", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/104.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/104.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/105.json b/.changelog/github/repos/bolt-design-system/bolt/issues/105.json new file mode 100644 index 0000000000..dd6f0baf09 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/105.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/105", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/105/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/105/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/105/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/105", + "id": 252042346, + "number": 105, + "title": "Feature/tools font family docs", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2017-08-22T18:06:20Z", + "updated_at": "2017-08-28T22:35:41Z", + "closed_at": "2017-08-28T22:35:41Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/105", + "html_url": "https://github.com/bolt-design-system/bolt/pull/105", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/105.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/105.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/106.json b/.changelog/github/repos/bolt-design-system/bolt/issues/106.json new file mode 100644 index 0000000000..0c93688f28 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/106.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/106", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/106/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/106/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/106/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/106", + "id": 252055720, + "number": 106, + "title": "Feature/tools font kerning docs", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2017-08-22T18:56:16Z", + "updated_at": "2017-08-28T22:35:55Z", + "closed_at": "2017-08-28T22:35:55Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/106", + "html_url": "https://github.com/bolt-design-system/bolt/pull/106", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/106.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/106.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/107.json b/.changelog/github/repos/bolt-design-system/bolt/issues/107.json new file mode 100644 index 0000000000..c6a3af680a --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/107.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/107", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/107/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/107/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/107/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/107", + "id": 252058593, + "number": 107, + "title": "Feature/tools font weight docs", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2017-08-22T19:07:25Z", + "updated_at": "2017-08-22T20:47:10Z", + "closed_at": "2017-08-22T20:47:10Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/107", + "html_url": "https://github.com/bolt-design-system/bolt/pull/107", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/107.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/107.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/111.json b/.changelog/github/repos/bolt-design-system/bolt/issues/111.json new file mode 100644 index 0000000000..df31543639 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/111.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/111", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/111/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/111/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/111/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/111", + "id": 253434819, + "number": 111, + "title": "elements-headings, settings-global, generic-reset, generic-shared: build and docs", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2017-08-28T19:45:04Z", + "updated_at": "2017-08-29T19:28:28Z", + "closed_at": "2017-08-29T19:27:51Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/111", + "html_url": "https://github.com/bolt-design-system/bolt/pull/111", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/111.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/111.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/112.json b/.changelog/github/repos/bolt-design-system/bolt/issues/112.json new file mode 100644 index 0000000000..145ec01204 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/112.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/112", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/112/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/112/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/112/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/112", + "id": 253776982, + "number": 112, + "title": "Merging into Develop for v0.2 Release", + "user": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2017-08-29T19:29:19Z", + "updated_at": "2017-08-29T21:03:34Z", + "closed_at": "2017-08-29T21:03:34Z", + "author_association": "OWNER", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/112", + "html_url": "https://github.com/bolt-design-system/bolt/pull/112", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/112.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/112.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/96.json b/.changelog/github/repos/bolt-design-system/bolt/issues/96.json new file mode 100644 index 0000000000..a724b6f67f --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/96.json @@ -0,0 +1,109 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/96", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/96/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/96/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/96/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/96", + "id": 248859905, + "number": 96, + "title": "Adding POC Detailed Documentation for Font Sizes", + "user": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 626834834, + "url": "https://api.github.com/repos/bolt-design-system/bolt/labels/Documentation", + "name": "Documentation", + "color": "09929d", + "default": false + } + ], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/milestones/2", + "html_url": "https://github.com/bolt-design-system/bolt/milestone/2", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/milestones/2/labels", + "id": 2584062, + "number": 2, + "title": "v0.2", + "description": null, + "creator": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 0, + "closed_issues": 1, + "state": "open", + "created_at": "2017-06-15T01:34:40Z", + "updated_at": "2017-08-22T12:14:20Z", + "due_on": null, + "closed_at": null + }, + "comments": 9, + "created_at": "2017-08-08T22:02:50Z", + "updated_at": "2017-08-22T14:20:51Z", + "closed_at": "2017-08-22T12:14:20Z", + "author_association": "OWNER", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/96", + "html_url": "https://github.com/bolt-design-system/bolt/pull/96", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/96.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/96.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/97.json b/.changelog/github/repos/bolt-design-system/bolt/issues/97.json new file mode 100644 index 0000000000..592b1afe95 --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/97.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/97", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/97/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/97/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/97/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/97", + "id": 250039223, + "number": 97, + "title": "Create ITCSS vs Atomic Design.md", + "user": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 7, + "created_at": "2017-08-14T13:59:08Z", + "updated_at": "2017-08-22T12:25:39Z", + "closed_at": "2017-08-22T12:25:24Z", + "author_association": "OWNER", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/97", + "html_url": "https://github.com/bolt-design-system/bolt/pull/97", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/97.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/97.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/repos/bolt-design-system/bolt/issues/99.json b/.changelog/github/repos/bolt-design-system/bolt/issues/99.json new file mode 100644 index 0000000000..80bd6db65e --- /dev/null +++ b/.changelog/github/repos/bolt-design-system/bolt/issues/99.json @@ -0,0 +1,67 @@ +{ + "url": "https://api.github.com/repos/bolt-design-system/bolt/issues/99", + "repository_url": "https://api.github.com/repos/bolt-design-system/bolt", + "labels_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/99/labels{/name}", + "comments_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/99/comments", + "events_url": "https://api.github.com/repos/bolt-design-system/bolt/issues/99/events", + "html_url": "https://github.com/bolt-design-system/bolt/pull/99", + "id": 251768109, + "number": 99, + "title": "docs: font weight readme update", + "user": { + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 2, + "created_at": "2017-08-21T20:53:25Z", + "updated_at": "2017-08-21T21:49:37Z", + "closed_at": "2017-08-21T21:49:31Z", + "author_association": "COLLABORATOR", + "pull_request": { + "url": "https://api.github.com/repos/bolt-design-system/bolt/pulls/99", + "html_url": "https://github.com/bolt-design-system/bolt/pull/99", + "diff_url": "https://github.com/bolt-design-system/bolt/pull/99.diff", + "patch_url": "https://github.com/bolt-design-system/bolt/pull/99.patch" + }, + "body": "", + "closed_by": { + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false + } +} diff --git a/.changelog/github/users/mikemai2awesome.json b/.changelog/github/users/mikemai2awesome.json new file mode 100644 index 0000000000..84dca174bd --- /dev/null +++ b/.changelog/github/users/mikemai2awesome.json @@ -0,0 +1,32 @@ +{ + "login": "mikemai2awesome", + "id": 3027663, + "avatar_url": "https://avatars2.githubusercontent.com/u/3027663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikemai2awesome", + "html_url": "https://github.com/mikemai2awesome", + "followers_url": "https://api.github.com/users/mikemai2awesome/followers", + "following_url": "https://api.github.com/users/mikemai2awesome/following{/other_user}", + "gists_url": "https://api.github.com/users/mikemai2awesome/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikemai2awesome/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikemai2awesome/subscriptions", + "organizations_url": "https://api.github.com/users/mikemai2awesome/orgs", + "repos_url": "https://api.github.com/users/mikemai2awesome/repos", + "events_url": "https://api.github.com/users/mikemai2awesome/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikemai2awesome/received_events", + "type": "User", + "site_admin": false, + "name": "Mike Mai", + "company": "Mike Mai Network", + "blog": "http://mikemai.net", + "location": "Boston, MA", + "email": "boss@mikemai.net", + "hireable": null, + "bio": null, + "public_repos": 0, + "public_gists": 2, + "followers": 0, + "following": 0, + "created_at": "2012-12-12T18:37:55Z", + "updated_at": "2017-08-01T00:46:56Z" +} diff --git a/.changelog/github/users/sghoweri.json b/.changelog/github/users/sghoweri.json new file mode 100644 index 0000000000..84a540d50f --- /dev/null +++ b/.changelog/github/users/sghoweri.json @@ -0,0 +1,32 @@ +{ + "login": "sghoweri", + "id": 1617209, + "avatar_url": "https://avatars2.githubusercontent.com/u/1617209?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sghoweri", + "html_url": "https://github.com/sghoweri", + "followers_url": "https://api.github.com/users/sghoweri/followers", + "following_url": "https://api.github.com/users/sghoweri/following{/other_user}", + "gists_url": "https://api.github.com/users/sghoweri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sghoweri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sghoweri/subscriptions", + "organizations_url": "https://api.github.com/users/sghoweri/orgs", + "repos_url": "https://api.github.com/users/sghoweri/repos", + "events_url": "https://api.github.com/users/sghoweri/events{/privacy}", + "received_events_url": "https://api.github.com/users/sghoweri/received_events", + "type": "User", + "site_admin": false, + "name": "Salem", + "company": "Pegasystems", + "blog": "salemghoweri.com", + "location": "Boston, MA", + "email": "me@salemghoweri.com", + "hireable": null, + "bio": "Senior Front-end Architect, Design Systems at Pega. \r\nPattern Lab, Design Systems, CSS Architecture, Twig, and Web Performance nut.", + "public_repos": 90, + "public_gists": 3, + "followers": 11, + "following": 2, + "created_at": "2012-04-06T00:49:25Z", + "updated_at": "2017-08-12T09:59:24Z" +} diff --git a/.eslintignore b/.eslintignore index 26e3e97aec..55116fa853 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,7 +2,7 @@ **/vendor/** **/sandbox/** /www/** -/example-integrations/drupal-lab/** +/apps/drupal-lab/** /apps/pw-site/www/** packages/uikit-workshop/** **/dist/** diff --git a/.gitignore b/.gitignore index 4360bd5965..244e60b4b9 100755 --- a/.gitignore +++ b/.gitignore @@ -16,9 +16,6 @@ node_modules bower_components vendor -# nightwatch.js test results when run locally -/tests_output/** - /www # Logs diff --git a/.travis.yml b/.travis.yml index bb6306eb8f..bc3801ea30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ addons: before_install: - nvm install # version lifted from `.nvmrc` -- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.9.4 +- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.7.0 - export PATH="$HOME/.yarn/bin:$PATH" before_script: @@ -26,7 +26,7 @@ before_script: # Can't do deploy on `after_success` b/c if deploy fails, the build still reports success. Can't use `deploy` step b/c Travis skips that on PRs. script: - bash ./travis.sh # time command already run inside the travis.sh script -- npx nightwatch@0.9.20 --config nightwatch.js --env chrome,ie11 +- npx nightwatch --config nightwatch.js --env chrome,ie11 cache: apt: true diff --git a/LICENSE b/LICENSE index 2c0cbe094c..88a4dd3c57 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2018 Pegasystems +Copyright (c) 2017 Pegasystems Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/apps/bolt-site/.boltrc.js b/apps/bolt-site/.boltrc.js index 83a98037e8..4f2be0e038 100644 --- a/apps/bolt-site/.boltrc.js +++ b/apps/bolt-site/.boltrc.js @@ -1,28 +1,10 @@ -const path = require('path'); -const resolve = require('resolve'); -const argv = require('yargs').argv; - -const config = { - lang: ['en'], - renderingService: true, // starts PHP service for rendering Twig templates - openServerAtStart: false, - webpackDevServer: true, +module.exports = { // Environmental variable / preset to use + lang: ['en'], env: 'static', - startPath: '/', buildDir: '../../www/build/', - srcDir: './pages', + srcDir: './content', wwwDir: '../../www', - extraTwigNamespaces: { - 'bolt-assets': { - recursive: true, - paths: ['../../www/build'], - }, - bolt: { - recursive: true, - paths: ['templates'], - }, - }, images: { sets: [ { @@ -34,72 +16,33 @@ const config = { }, components: { global: [ + '@bolt/core', '@bolt/global', - '@bolt/internal-schema-form', - '@bolt/components-placeholder', + '@bolt/components-page-footer', + '@bolt/components-page-header', + '@bolt/components-site', '@bolt/components-action-blocks', - '@bolt/components-dropdown', - '@bolt/components-background', - '@bolt/components-background-shapes', '@bolt/components-band', - '@bolt/components-block-list', '@bolt/components-blockquote', - '@bolt/components-breadcrumb', '@bolt/components-button', '@bolt/components-button-group', '@bolt/components-card', '@bolt/components-chip', '@bolt/components-chip-list', - '@bolt/components-code-snippet', - '@bolt/components-copy-to-clipboard', - '@bolt/components-device-viewer', - '@bolt/components-figure', - '@bolt/components-form', - '@bolt/components-headline', '@bolt/components-icon', - '@bolt/components-image', + '@bolt/components-headline', '@bolt/components-link', - '@bolt/components-nav-indicator', - '@bolt/components-nav-priority', - '@bolt/components-navbar', - '@bolt/components-navlink', '@bolt/components-logo', - '@bolt/components-ordered-list', - '@bolt/components-page-footer', - '@bolt/components-page-header', - '@bolt/components-pagination', - '@bolt/components-share', - '@bolt/components-search-filter', - '@bolt/components-site', - '@bolt/components-smooth-scroll', - '@bolt/components-sticky', '@bolt/components-teaser', - '@bolt/components-text', - '@bolt/components-tooltip', - '@bolt/components-unordered-list', - '@bolt/components-video', - resolve.sync('./index.scss'), - resolve.sync('./index.js'), - ], - individual: [ - '@bolt/components-critical-fonts', - '@bolt/components-critical-css-vars', + '@bolt/components-image', + './style.scss', ], + individual: [], }, - copy: [ - { - from: `./assets/**/*`, - to: `../../www/assets`, - flatten: true, - }, - { - from: `${path.dirname( - resolve.sync('@bolt/global/package.json'), - )}/favicons/bolt`, - to: `../../www`, - flatten: true, + extraTwigNamespaces: { + 'bolt-assets': { + recursive: true, + paths: ['../../www/build'], }, - ], + }, }; - -module.exports = config; diff --git a/apps/bolt-site/assets/bolt-sketch.zip b/apps/bolt-site/assets/bolt-sketch.zip deleted file mode 100644 index 488d67ae9c23d8d4b665e80f3876f9ca907f0416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1637831 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

E0^Y=S38H!c*24aK2s3DZv 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 z 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
PD-4892!;hB1sqNq2DtplmibWY*5q&Ct;LJ)O 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
M-M8Yy~YkG|MMq;_l9 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%0Av0XzD2E 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

*{|HWCjkCpy9!IMz^wZ*`#I=W}LXvQ8$nP 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

w)%^ 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

)w17`EQi=}xmO)zQ!)ktcbFji>NSmCI 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

aW|5y;@u{n{ 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

c<;FzCt4eTx84ovTJ<+J3z$0@5N8!HTu>lPvSpZ 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 VN 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 diff --git a/apps/bolt-site/components/animated-logo/animated-logo.scss b/apps/bolt-site/components/animated-logo/animated-logo.scss deleted file mode 100644 index a091e0a5f2..0000000000 --- a/apps/bolt-site/components/animated-logo/animated-logo.scss +++ /dev/null @@ -1,36 +0,0 @@ -@keyframes bds-logo-fade { - 0% { - opacity: 0; - transform: translate3d(0, 0, 0) scale(0.4, 0.4); - } - 100% { - opacity: 1; - transform: translate3d(0, 0, 0) scale(0.6, 0.6); - } -} - -@keyframes bds-logo-scale-in-out { - 0%, - 100% { - transform: translate3d(0, 0, 0) scale(1); - } - 50% { - transform: translate3d(0, 0, 0) scale(0.9); - } -} - -.c-bds-logo { - overflow: visible; // so the logo doesn't get chopped off - position: relative; - animation-name: bds-logo-fade; - animation-delay: 0.2s; - animation-duration: 1s; - animation-timing-function: cubic-bezier(0.22, 1, 0.32, 1); - animation-fill-mode: forwards; - opacity: 0; - perspective: 1000px; -} - -.c-bds-logo__inner { - animation: bds-logo-scale-in-out 24s ease-in-out infinite; -} \ No newline at end of file diff --git a/apps/bolt-site/components/animated-logo/animated-logo.twig b/apps/bolt-site/components/animated-logo/animated-logo.twig deleted file mode 100644 index 0aa6c7ee82..0000000000 --- a/apps/bolt-site/components/animated-logo/animated-logo.twig +++ /dev/null @@ -1,9 +0,0 @@ -

\ No newline at end of file diff --git a/apps/bolt-site/components/animated-shapes/animated-shapes.scss b/apps/bolt-site/components/animated-shapes/animated-shapes.scss deleted file mode 100644 index 149d1fa6ca..0000000000 --- a/apps/bolt-site/components/animated-shapes/animated-shapes.scss +++ /dev/null @@ -1,185 +0,0 @@ -@keyframes bds-shapes-fade { - 0% { - opacity: 0; - transform: translate3d(0, 0, 0) rotate(calc(var(--rotate) * 2)); - } - 10% { - opacity: 0; - transform: translate3d(0, 0, 0) rotate(calc(var(--rotate) * 2)); - } -} - -@keyframes bds-shapes-drift { - 0% { - transform: translate3d(100vw, 0, 0); - } - to { - transform: translate3d(-30vw, 0, 0); - } -} - -.c-bds-shapes { - overflow: hidden; - position: fixed; - height: 100vh; - width: 100vw; - pointer-events: none; - top: bolt-v-spacing(medium); // offset the top just a tad - left: 0; - z-index: 1; - animation: bds-shapes-fade 0.5s ease-out; - opacity: 1; -} - -.c-bds-shapes__shape-inner { - width: var(--size); - height: var(--size); - transform: translate3d(0, calc(var(--criterion, 0) * -2 * var(--size)), 0) - rotate(calc((1 - var(--criterion, 0) * -2) * var(--rotate))); - will-change: transform; -} - - - - - -.c-bds-shapes__animation { - left: 0; - position: absolute; - top: 0; -} - -.c-bds-shapes__animation--1 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -12s; - animation-duration: 55s; - animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); - filter: blur(1px); - height: 10vh; - opacity: 0.1; - top: 0; - width: 10vh; - z-index: 8; -} - -.c-bds-shapes__animation--2 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -38s; - animation-duration: 58s; - animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); - filter: blur(3px); - height: 3vh; - opacity: 1; - top: 8vh; - width: 3vh; - z-index: 7; -} - -.c-bds-shapes__animation--3 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -60s; - animation-duration: 76s; - animation-timing-function: linear; - filter: blur(5px); - height: 4vh; - opacity: 0.5; - top: 20vh; - width: 4vh; - z-index: 1; -} - -.c-bds-shapes__animation--4 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -29s; - animation-duration: 51s; - animation-timing-function: ease-in; - filter: blur(5px); - height: 7vh; - opacity: 0.8; - top: 33vh; - width: 7vh; - z-index: 6; -} - -.c-bds-shapes__animation--5 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -5s; - animation-duration: 67s; - animation-timing-function: linear; - filter: blur(4px); - height: 4vh; - opacity: 0.45; - top: 40vh; - width: 4vh; - z-index: 4; -} - -.c-bds-shapes__animation--6 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -31s; - animation-duration: 64s; - animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); - filter: blur(3px); - height: 6vh; - opacity: 0.7; - top: 68vh; - width: 6vh; - z-index: 5; -} - -.c-bds-shapes__animation--7 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -42s; - animation-duration: 70s; - animation-timing-function: linear; - filter: blur(1px); - height: 2vh; - opacity: 0.6; - top: 82vh; - width: 2vh; - z-index: 3; -} - -.c-bds-shapes__animation--8 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -55s; - animation-duration: 73s; - animation-timing-function: ease-in; - filter: blur(6px); - height: 2vh; - opacity: 0.55; - top: 90vh; - width: 2vh; - z-index: 2; -} - -.c-bds-shapes__animation--9 { - animation-iteration-count: infinite; - animation-name: bds-shapes-drift; - will-change: transform; - animation-delay: -25s; - animation-duration: 40s; - animation-timing-function: ease-in; - filter: blur(6px); - height: 3vh; - opacity: 0.95; - top: 60vh; - width: 3vh; - z-index: 2; -} diff --git a/apps/bolt-site/components/animated-shapes/animated-shapes.twig b/apps/bolt-site/components/animated-shapes/animated-shapes.twig deleted file mode 100644 index a9192511a7..0000000000 --- a/apps/bolt-site/components/animated-shapes/animated-shapes.twig +++ /dev/null @@ -1,133 +0,0 @@ -
- - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
\ No newline at end of file diff --git a/apps/bolt-site/components/hamburger-button/hamburger-button.scss b/apps/bolt-site/components/hamburger-button/hamburger-button.scss deleted file mode 100644 index 39f6f3cb8f..0000000000 --- a/apps/bolt-site/components/hamburger-button/hamburger-button.scss +++ /dev/null @@ -1,55 +0,0 @@ -.c-bds-hamburger { - position: fixed; - bottom: bolt-spacing(xsmall); - right: bolt-spacing(xsmall); - z-index: bolt-z-index('fab'); -} - -.c-bds-hamburger__inner { - position: relative; -} - -.c-bds-hamburger__button, -.c-bds-hamburger__button bolt-icon { - transition: all 0.4s ease; -} - -.c-bds-hamburger__button--open { - opacity: 1; - z-index: 11; -} - -.c-bds-hamburger__button--close { - z-index: 10; - pointer-events: none; - // visibility: hidden; - position: absolute; - top: 0; - right: 0; - opacity: 0; -} - - -.c-bds-layout__sidebar:target ~ .c-bds-hamburger > .c-bds-hamburger__inner .c-bds-hamburger__button--close { - opacity: 1; - // visibility: visible; - pointer-events: auto; - z-index: 11; - - bolt-icon { - transform: rotate(1turn) scale(1); - } -} - -.c-bds-layout__sidebar:target ~ .c-bds-hamburger > .c-bds-hamburger__inner .c-bds-hamburger__button--open { - opacity: 0; - // visibility: hidden; - pointer-events: none; - - bolt-icon { - transform: rotate(1turn) scale(0); - } -} - - - diff --git a/apps/bolt-site/components/hamburger-button/hamburger-button.twig b/apps/bolt-site/components/hamburger-button/hamburger-button.twig deleted file mode 100644 index 91a75fe4d4..0000000000 --- a/apps/bolt-site/components/hamburger-button/hamburger-button.twig +++ /dev/null @@ -1,35 +0,0 @@ -
-
-
- {% include "@bolt-components-button/button.twig" with { - text: 'Open Menu', - iconOnly: true, - url: "#menu", - style: "primary", - size: "small", - rounded: "rounded", - icon: { - name: "menu", - size: "medium", - position: "after" - } - } %} -
- -
- {% include "@bolt-components-button/button.twig" with { - text: 'Close Menu', - iconOnly: true, - url: "#", - style: "primary", - size: "small", - rounded: "rounded", - icon: { - name: "close", - size: "medium", - position: "after" - } - } %} -
-
-
\ No newline at end of file diff --git a/apps/bolt-site/components/layout/layout.scss b/apps/bolt-site/components/layout/layout.scss deleted file mode 100644 index 4041908bef..0000000000 --- a/apps/bolt-site/components/layout/layout.scss +++ /dev/null @@ -1,280 +0,0 @@ -@import '@bolt/core'; - -$bds-sidebar-width: 320px; - -.c-bds-layout { - grid-template-columns: auto 1fr auto; - height: 100vh; - - @include bolt-mq(medium) { - &.c-bds-layout--has-sidebar { - grid-template-columns: $bds-sidebar-width auto 1fr auto; - } - } -} - -.c-bds-layout__wrapper { - align-self: stretch; - justify-self: stretch; - display: flex; - flex-direction: column; - grid-column-start: 1; - grid-column-end: 1; -} - -.c-bds-layout__title { - padding: 15px 20px; - - span { - vertical-align: middle; - } - - .c-bds-layout__content--has-sidebar & { - width: 100%; - } -} - -.c-bds-layout__header { - grid-column-start: 1; - grid-column-end: 3; - - @include bolt-mq(medium) { - .c-bds-layout--has-sidebar & { - grid-column-start: 1; - grid-column-end: 4; - } - } -} - -.c-bds-layout__header__nav { - padding: 15px 20px; - text-align: right; - - @include bolt-mq($until: 599px) { - text-align: center; - width: 100%; - } - - a { - color: #fff; - padding: 6px 12px; - - &.active, - &.active-path { - background: rgba(0, 0, 0, 0.1); - border: 1px solid #fff; - border-radius: 3px; - box-shadow: 0 1px 3px rgba(21, 22, 25, 0.12), - 0 1px 2px rgba(21, 22, 25, 0.24); - display: none; // we need more room at mobile and this is the item which makes most sense to exclude since we're already there! - - @include bolt-mq(small) { - display: initial; - } - - &.active-path { - text-decoration: none; - } - } - - &.c-bds-layout__hamburger { - color: bolt-color(yellow); - - > span { - display: none; - - @include bolt-mq(xsmall) { - display: initial; - } - } - } - } -} - -.c-bds-layout__header__link { - text-decoration: none; -} - -.c-bds-layout__sidebar__overlay { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - pointer-events: none; - z-index: bolt-z-index('modalBG'); - background-color: bolt-color(black); - opacity: 0; - visibility: hidden; - transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - visibility 0.3s cubic-bezier(0.23, 1, 0.32, 1); -} - -.c-bds-layout__sidebar { - width: $bds-sidebar-width; - overflow: auto; - -webkit-overflow-scrolling: touch; - border-right: 1px solid #e0e2eb; - padding: 0; - position: fixed; - top: 0; - bottom: 0; - transform: translate3d(-$bds-sidebar-width, 0, 0); - background-color: bolt-color(gray, xlight); - z-index: bolt-z-index('modal'); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - - &:target { - transform: translate3d(0, 0, 0); - - & ~ .c-bds-layout__sidebar__overlay { - visibility: visible; - opacity: 0.2; - pointer-events: auto; - - @include bolt-mq(medium) { - visibility: hidden; - opacity: 0; - pointer-events: none; - } - } - } - - @include bolt-mq(medium) { - transform: translate3d(0, 0, 0); - position: relative; - - @include bolt-mq(medium) { - .c-bds-layout--has-sidebar & { - grid-column-start: 1; - grid-column-end: 2; - - grid-row-start: 2; - grid-row-end: 4; - } - } - } - - .c-bds-offcanvas { - position: relative; - - > h2 { - color: #fff; - background-color: bolt-color(indigo); - border-bottom: 1px solid #fff; - padding: 10px 20px; - margin: 0; - font-size: 1.11rem; - } - - .c-bds-layout__close-menu { - position: absolute; - top: 8px; - right: 10px; - color: bolt-color(yellow); - } - } -} - -.c-bds-layout__-docs { - // Styling for markdown content (classes not available) - article { - h2 { - font-size: 1.33rem; - margin-bottom: 0.9rem; - } - - h3 { - margin-bottom: 0.65rem; - } - } -} - -.c-bds-layout__content { - grid-column-start: 1; - grid-column-end: 3; - overflow: auto; - display: grid; - grid-template-columns: auto; - grid-template-rows: auto; - // display: flex; - // flex-direction: column; - // justify-content: space-between; - - @include bolt-mq(medium) { - .c-bds-layout--has-sidebar & { - grid-template-columns: auto; - grid-column-start: 2; - grid-column-end: 4; - } - } - - @include bolt-mq(1400px + 320px) { - .c-bds-layout--has-sidebar & { - grid-template-columns: auto 320px; - grid-column-start: 2; - grid-column-end: 4; - } - } -} - -.c-bds-layout__footer { - position: relative; // Fallback positioning - bottom: 0; - right: 0; - left: 0; - background-color: #fff; - align-self: end; - width: 100%; - - grid-column-start: 1; - grid-column-end: 1; -} - -// Remove default padding of highlightJS when used inside of Bolt Global style defaults -// pre > .hljs, -// pre > code { -// /** -// * 1. Workaround to offset default spacing -// */ -// background-color: bolt-color(gray, xlight); -// margin-left: bolt-spacing(small) * -1; /* [1] */ -// margin-right: bolt-spacing(small) * -1; /* [1] */ -// @include bolt-padding(small); -// } - -// .u-bolt-margin-right-auto { -// margin-right: auto !important; -// } - -// .u-bolt-margin-right-auto\@small { -// @include bolt-mq(small) { -// margin-right: auto !important; -// } -// } - -// .u-bolt-hide { -// display: none !important; -// } - -// .u-bolt-hide\@small { -// @include bolt-mq(small) { -// display: none !important; -// } -// } - -// .u-bolt-hide\@medium { -// @include bolt-mq(medium) { -// display: none !important; -// } -// } - -// .u-bolt-show\@small { -// @include bolt-mq(small) { -// display: block !important; -// } -// } - -// .u-bolt-padding-top-none { -// padding-top: 0 !important; -// } diff --git a/apps/bolt-site/components/off-canvas-nav/off-canvas-nav.scss b/apps/bolt-site/components/off-canvas-nav/off-canvas-nav.scss deleted file mode 100644 index b78f634822..0000000000 --- a/apps/bolt-site/components/off-canvas-nav/off-canvas-nav.scss +++ /dev/null @@ -1,134 +0,0 @@ -.c-bds-offcanvas { - @include bolt-padding(large medium); -} - -.c-bds-offcanvas__list { - @include bolt-margin-left(0); - @include bolt-margin-bottom(0); - list-style: none; -} - -.c-bds-offcanvas__link { - @include bolt-padding-top(xxsmall); - @include bolt-padding-bottom(xxsmall); - @include bolt-font-size(small); - text-decoration: none; - - &.is-active { - @include bolt-font-weight(bold); - } -} - -.c-bds-offcanvas { - // border-top: 1px solid #E0E2EB; - // list-style-type: none; - // margin: 0; - - &__link { - // font-size: 1.11rem; - // line-height: 1.25; - // font-weight: 300; - - &--active-path { - // color: #545DA6; - // font-weight: 600; - &+.c-bds-offcanvas__list--depth-3 { - // border-left: 2px solid #535ca6; - } - } - &--active { - // font-weight: bolder; - // text-decoration: none; - } - &--parent { - // background: #e0e2eb; - display: block; - // border-top: 1px solid #FFF; - // border-bottom: 1px solid #FFF; - // padding: 0.6rem 1.7rem; - // color: #000; - - &.c-bds-offcanvas__link--active-path { - // background: #545DA6; - // color: #FFF; - // text-decoration: none; - } - } - .c-bds-offcanvas__list--depth-1 & { - // font-size: 1.25rem; - } - .c-bds-offcanvas__list--depth-2 & { - // font-size: 0.9rem; - display: block; - // margin: 0.5rem 0; - - &.c-bds-offcanvas__link--active { - // color: #545DA6; - // font-style: italic; - // font-weight: 600; - } - } - } - - &__list { - &--depth-3, - &--depth-4 { - // margin-top: 0.25rem; - // margin-bottom: 0.25rem; - // border-left: 2px solid transparent; - @include bolt-margin-left(small); - // padding-left: 2rem; - } - } - - // > ul { - // margin-left: 0; - // padding: 0; - // li:first-child a.c-bds-offcanvas__link--parent { - // border-top: none; - // } - // } - - // li { - // list-style: none; - // } -} - - -.c-bds-offcanvas__collapsible { - @include bolt-margin-bottom(0); - overflow: hidden; - outline: none; -} - -.c-bds-offcanvas__collapsible-header { - @include bolt-margin-bottom(0); - @include bolt-padding-top(xxsmall); - @include bolt-padding-bottom(xxsmall); - @include bolt-font-size(small); - display: flex; - flex-direction: row-reverse; - align-items: center; - justify-content: space-between; - position: relative; - outline: none; - - &:before { - content: ''; - position: absolute; - left: 0; - top: 100%; - bottom: -999px; - width: 1px; - background-color: currentColor; - opacity: 0.2; - } -} - -// .c-bds-offcanvas__collapsible-body { -// @include bolt-margin-bottom(0); -// display: flex; -// flex-direction: row-reverse; -// align-items: center; -// justify-content: space-between; -// } \ No newline at end of file diff --git a/apps/bolt-site/components/off-canvas-nav/off-canvas-nav.twig b/apps/bolt-site/components/off-canvas-nav/off-canvas-nav.twig deleted file mode 100644 index 465ea72296..0000000000 --- a/apps/bolt-site/components/off-canvas-nav/off-canvas-nav.twig +++ /dev/null @@ -1,79 +0,0 @@ -{% macro menu(items, depth, currentUrl) %} - {% import _self as macros %} -
    - {% for item in items %} - {% set isActive = currentUrl == item.url %} - {% set isActivePath = currentUrl starts with item.url|replace({'index.html': ''}) %} - -
  • - - - {% if item.meta.category and depth != 1%} -
    - {% endif %} - - {% if item.meta.category and depth == 1 %} - {% include '@bolt-components-headline/eyebrow.twig' with { - text: item.meta.category, - tag: "h2", - weight: "semibold" - } %} - {% elseif item.meta.category %} - - {% include '@bolt-components-headline/text.twig' with { - text: item.meta.category, - tag: "h3", - weight: "regular", - size: "small", - attributes: { - class: [ - "u-bolt-margin-bottom-none" - ] - } - } %} - - - {% endif %} - - {% if not item.meta.hidden %} - {% include '@bolt-components-link/link.twig' with { - text: item.meta.title, - url: "/" ~ item.url, - attributes: { - class: [ - "c-bds-offcanvas__link", - depth == 1 ? "is-parent" : "", - isActive ? "is-active" : "", - isActivePath ? "is-active-path" : "" - ] - } - } %} - {% endif %} - - {% if item.children %} - {{ macros.menu(item.children, depth + 1, currentUrl) }} - {% endif %} - - {% if item.meta.category and depth != 1%}
    {% endif %} -
  • - {% endfor %} -
-{% endmacro %} - -{% import _self as macros %} -{% set currentUrl = page.url %} - -
diff --git a/apps/bolt-site/composer.json b/apps/bolt-site/composer.json index 26370c4ff4..b068336435 100644 --- a/apps/bolt-site/composer.json +++ b/apps/bolt-site/composer.json @@ -1,25 +1,22 @@ { - "name": "bolt/website--storefront", - "type": "project", - "license": "MIT", - "minimum-stability": "dev", - "repositories": [ - { - "type": "path", - "url": "../../packages/core-php" - }, - { - "type": "path", - "url": "../../packages/drupal-stubs" + "name": "bolt/website--storefront", + "type": "project", + "license": "MIT", + "minimum-stability": "dev", + "repositories": [ + { + "type": "path", + "url": "../../packages/core-php" + }, + { + "type": "path", + "url": "../../packages/drupal-stubs" + } + ], + "require": { + "bolt-design-system/core-php": "*", + "bolt-design-system/drupal-stubs": "*", + "twig/twig": "^1.0", + "pattern-lab/drupal-twig-extensions": "^0.2.0" } - ], - "require": { - "bolt-design-system/core-php": "*", - "bolt-design-system/drupal-stubs": "*", - "twig/twig": "^1.0", - "pattern-lab/drupal-twig-extensions": "^0.2.0", - "webmozart/path-util": "*", - "symfony/finder": "*", - "wa72/html-pretty-min": "^0.2.0" - } } diff --git a/apps/bolt-site/composer.lock b/apps/bolt-site/composer.lock index d1ceb0cee9..dc0f81991a 100644 --- a/apps/bolt-site/composer.lock +++ b/apps/bolt-site/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "e0fda144b1c61388acf30e39218a7b59", + "content-hash": "63dd261d2a003ddaaad05ff095fecb61", "packages": [ { "name": "asm89/twig-lint", @@ -59,16 +59,16 @@ }, { "name": "basaltinc/twig-tools", - "version": "v1.4.2", + "version": "v1.4.1", "source": { "type": "git", "url": "https://github.com/basaltinc/twig-tools.git", - "reference": "06d174c63aa0b2bfbc0aad2887349e11f9a60ef8" + "reference": "15aaf150034623c7dffc8d5b1903dde9fe43ccae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/basaltinc/twig-tools/zipball/06d174c63aa0b2bfbc0aad2887349e11f9a60ef8", - "reference": "06d174c63aa0b2bfbc0aad2887349e11f9a60ef8", + "url": "https://api.github.com/repos/basaltinc/twig-tools/zipball/15aaf150034623c7dffc8d5b1903dde9fe43ccae", + "reference": "15aaf150034623c7dffc8d5b1903dde9fe43ccae", "shasum": "" }, "require": { @@ -94,15 +94,15 @@ "email": "evanlovely@gmail.com" } ], - "time": "2018-08-30T21:00:44+00:00" + "time": "2018-03-30T23:48:12+00:00" }, { "name": "bolt-design-system/core-php", - "version": "1.8.3", + "version": "1.1.2", "dist": { "type": "path", "url": "../../packages/core-php", - "reference": "b1ad3d20bafed6b9993bb4c67188ce80ab0f5f71", + "reference": "77f49643322b780f77cbe9e055fb40a997075f33", "shasum": null }, "require": { @@ -180,16 +180,16 @@ }, { "name": "drupal/core-render", - "version": "8.7.x-dev", + "version": "8.6.x-dev", "source": { "type": "git", "url": "https://github.com/drupal/core-render.git", - "reference": "088f75280b4357930dc5136c5323cc1641772514" + "reference": "10f38eca14d0486b54e239950ce5e99df62a3052" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-render/zipball/088f75280b4357930dc5136c5323cc1641772514", - "reference": "088f75280b4357930dc5136c5323cc1641772514", + "url": "https://api.github.com/repos/drupal/core-render/zipball/10f38eca14d0486b54e239950ce5e99df62a3052", + "reference": "10f38eca14d0486b54e239950ce5e99df62a3052", "shasum": "" }, "require": { @@ -211,28 +211,26 @@ "keywords": [ "drupal" ], - "time": "2018-05-08 20:55:21" + "time": "2018-02-01T21:34:33+00:00" }, { "name": "drupal/core-utility", - "version": "8.7.x-dev", + "version": "8.6.x-dev", "source": { "type": "git", "url": "https://github.com/drupal/core-utility.git", - "reference": "490bbe8248aa88468674aa8a9ef216a1a388ea3a" + "reference": "e50124d0bb70560342a349a11c8661603f089f27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-utility/zipball/490bbe8248aa88468674aa8a9ef216a1a388ea3a", - "reference": "490bbe8248aa88468674aa8a9ef216a1a388ea3a", + "url": "https://api.github.com/repos/drupal/core-utility/zipball/e50124d0bb70560342a349a11c8661603f089f27", + "reference": "e50124d0bb70560342a349a11c8661603f089f27", "shasum": "" }, "require": { "drupal/core-render": "^8.2", "paragonie/random_compat": "^1.0|^2.0", - "php": ">=5.5.9", - "symfony/polyfill-iconv": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=5.5.9" }, "type": "library", "autoload": { @@ -249,7 +247,7 @@ "keywords": [ "drupal" ], - "time": "2018-05-11 09:46:46" + "time": "2018-04-06T11:45:50+00:00" }, { "name": "fzaninotto/faker", @@ -257,12 +255,12 @@ "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "10cc47a818c0fb5a911ab4274c0a8354245af3e7" + "reference": "65fbcca41437baff58a5c0e8f08fae617531dd0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/10cc47a818c0fb5a911ab4274c0a8354245af3e7", - "reference": "10cc47a818c0fb5a911ab4274c0a8354245af3e7", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/65fbcca41437baff58a5c0e8f08fae617531dd0d", + "reference": "65fbcca41437baff58a5c0e8f08fae617531dd0d", "shasum": "" }, "require": { @@ -276,7 +274,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -299,7 +297,7 @@ "faker", "fixtures" ], - "time": "2018-09-18 12:17:14" + "time": "2018-03-15T16:58:08+00:00" }, { "name": "gregwar/cache", @@ -553,70 +551,18 @@ ], "time": "2018-01-15T00:49:33+00:00" }, - { - "name": "mrclay/jsmin-php", - "version": "2.3.2", - "source": { - "type": "git", - "url": "https://github.com/mrclay/jsmin-php.git", - "reference": "932c9633c35b390beb2cfdea69a41ea7dbc8d759" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mrclay/jsmin-php/zipball/932c9633c35b390beb2cfdea69a41ea7dbc8d759", - "reference": "932c9633c35b390beb2cfdea69a41ea7dbc8d759", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "4.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "JSMin\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stephen Clay", - "email": "steve@mrclay.org", - "role": "Developer" - }, - { - "name": "Ryan Grove", - "email": "ryan@wonko.com", - "role": "Developer" - } - ], - "description": "Provides a modified port of Douglas Crockford's jsmin.c, which removes unnecessary whitespace from JavaScript files.", - "homepage": "https://github.com/mrclay/jsmin-php/", - "keywords": [ - "compress", - "jsmin", - "minify" - ], - "time": "2015-03-30T15:04:42+00:00" - }, { "name": "paragonie/random_compat", - "version": "v2.0.17", + "version": "v2.0.12", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d" + "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d", - "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb", + "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb", "shasum": "" }, "require": { @@ -648,11 +594,10 @@ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", "keywords": [ "csprng", - "polyfill", "pseudorandom", "random" ], - "time": "2018-07-04T16:31:37+00:00" + "time": "2018-04-04T21:24:14+00:00" }, { "name": "pattern-lab/drupal-twig-extensions", @@ -783,12 +728,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2fdbba7fe6d979f53512e2eb852837c991fbe3d8" + "reference": "d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2fdbba7fe6d979f53512e2eb852837c991fbe3d8", - "reference": "2fdbba7fe6d979f53512e2eb852837c991fbe3d8", + "url": "https://api.github.com/repos/symfony/console/zipball/d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf", + "reference": "d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf", "shasum": "" }, "require": { @@ -809,7 +754,7 @@ "symfony/process": "~3.3|~4.0" }, "suggest": { - "psr/log-implementation": "For using the console logger", + "psr/log": "For using the console logger", "symfony/event-dispatcher": "", "symfony/lock": "", "symfony/process": "" @@ -844,7 +789,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-09-16 11:50:16" + "time": "2018-04-03T05:22:50+00:00" }, { "name": "symfony/debug", @@ -852,12 +797,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "9374383ad212676d943b3df2e181071d11582f79" + "reference": "c2c7c28603091b76499089fac34b8b68d58b4b81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/9374383ad212676d943b3df2e181071d11582f79", - "reference": "9374383ad212676d943b3df2e181071d11582f79", + "url": "https://api.github.com/repos/symfony/debug/zipball/c2c7c28603091b76499089fac34b8b68d58b4b81", + "reference": "c2c7c28603091b76499089fac34b8b68d58b4b81", "shasum": "" }, "require": { @@ -873,7 +818,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -900,7 +845,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-09-09 09:23:23" + "time": "2018-04-05T17:04:06+00:00" }, { "name": "symfony/finder", @@ -908,12 +853,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "7d3bd180970e61a14ad2408484acbc8397cb8583" + "reference": "bd14efe8b1fabc4de82bf50dce62f05f9a102433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7d3bd180970e61a14ad2408484acbc8397cb8583", - "reference": "7d3bd180970e61a14ad2408484acbc8397cb8583", + "url": "https://api.github.com/repos/symfony/finder/zipball/bd14efe8b1fabc4de82bf50dce62f05f9a102433", + "reference": "bd14efe8b1fabc4de82bf50dce62f05f9a102433", "shasum": "" }, "require": { @@ -949,178 +894,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-09-02 17:11:59" - }, - { - "name": "symfony/options-resolver", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "353fde224412a47a8da55a7a2344760cc206d511" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/353fde224412a47a8da55a7a2344760cc206d511", - "reference": "353fde224412a47a8da55a7a2344760cc206d511", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony OptionsResolver Component", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "time": "2018-09-18 16:38:25" - }, - { - "name": "symfony/polyfill-ctype", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - }, - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "time": "2018-08-06 14:22:27" - }, - { - "name": "symfony/polyfill-iconv", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "bcc0cd69185b8a5d8b4a5400c489ed3333bf9bb2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/bcc0cd69185b8a5d8b4a5400c489ed3333bf9bb2", - "reference": "bcc0cd69185b8a5d8b4a5400c489ed3333bf9bb2", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "time": "2018-08-06 14:22:27" + "time": "2018-04-04T05:07:11+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -1128,12 +902,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", "shasum": "" }, "require": { @@ -1145,7 +919,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -1179,7 +953,7 @@ "portable", "shim" ], - "time": "2018-08-06 14:22:27" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/yaml", @@ -1187,17 +961,16 @@ "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "84fa64edb72e90a5421391f0c5206b4c90788750" + "reference": "033cfa61ef06ee0847e056e530201842b6e926c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/84fa64edb72e90a5421391f0c5206b4c90788750", - "reference": "84fa64edb72e90a5421391f0c5206b4c90788750", + "url": "https://api.github.com/repos/symfony/yaml/zipball/033cfa61ef06ee0847e056e530201842b6e926c3", + "reference": "033cfa61ef06ee0847e056e530201842b6e926c3", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" + "php": "^5.5.9|>=7.0.8" }, "conflict": { "symfony/console": "<3.4" @@ -1238,7 +1011,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-09-02 17:11:59" + "time": "2018-04-08T08:21:29+00:00" }, { "name": "tooleks/php-avg-color-picker", @@ -1292,76 +1065,22 @@ ], "time": "2017-07-07T11:41:14+00:00" }, - { - "name": "tubalmartin/cssmin", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", - "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/3cbf557f4079d83a06f9c3ff9b957c022d7805cf", - "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "php": ">=5.3.2" - }, - "require-dev": { - "cogpowered/finediff": "0.3.*", - "phpunit/phpunit": "4.8.*" - }, - "bin": [ - "cssmin" - ], - "type": "library", - "autoload": { - "psr-4": { - "tubalmartin\\CssMin\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Túbal Martín", - "homepage": "http://tubalmartin.me/" - } - ], - "description": "A PHP port of the YUI CSS compressor", - "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", - "keywords": [ - "compress", - "compressor", - "css", - "cssmin", - "minify", - "yui" - ], - "time": "2018-01-15T15:26:51+00:00" - }, { "name": "twig/twig", "version": "1.x-dev", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "82515f6339fd223a6a6a40a432e6e61b8d6d269f" + "reference": "3bc9686dc531dc2127ea90273352180261a4049e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/82515f6339fd223a6a6a40a432e6e61b8d6d269f", - "reference": "82515f6339fd223a6a6a40a432e6e61b8d6d269f", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3bc9686dc531dc2127ea90273352180261a4049e", + "reference": "3bc9686dc531dc2127ea90273352180261a4049e", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-ctype": "^1.8" + "php": ">=5.3.3" }, "require-dev": { "psr/container": "^1.0", @@ -1371,7 +1090,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.36-dev" + "dev-master": "1.35-dev" } }, "autoload": { @@ -1400,58 +1119,16 @@ }, { "name": "Twig Team", - "homepage": "https://twig.symfony.com/contributors", + "homepage": "http://twig.sensiolabs.org/contributors", "role": "Contributors" } ], "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", + "homepage": "http://twig.sensiolabs.org", "keywords": [ "templating" ], - "time": "2018-08-03 05:53:41" - }, - { - "name": "wa72/html-pretty-min", - "version": "v0.2.0", - "source": { - "type": "git", - "url": "https://github.com/wasinger/html-pretty-min.git", - "reference": "3b4eca03559dab8c178ec7a80f3043c279f5e90e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wasinger/html-pretty-min/zipball/3b4eca03559dab8c178ec7a80f3043c279f5e90e", - "reference": "3b4eca03559dab8c178ec7a80f3043c279f5e90e", - "shasum": "" - }, - "require": { - "mrclay/jsmin-php": "^2.3", - "php": ">=5.4", - "symfony/options-resolver": ">=2.3", - "tubalmartin/cssmin": "^4" - }, - "require-dev": { - "phpunit/phpunit": "^4|^5|^6|^7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Wa72\\HtmlPrettymin\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christoph Singer", - "email": "singer@webagentur72.de" - } - ], - "description": "HTML minifier and indenter that works on the DOM tree", - "time": "2018-03-08T20:39:03+00:00" + "time": "2018-04-01T18:24:34+00:00" }, { "name": "webmozart/assert", @@ -1459,12 +1136,12 @@ "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "53927dddf3afa2088b355188e143bba42159bf5d" + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/53927dddf3afa2088b355188e143bba42159bf5d", - "reference": "53927dddf3afa2088b355188e143bba42159bf5d", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", "shasum": "" }, "require": { @@ -1501,7 +1178,7 @@ "check", "validate" ], - "time": "2018-05-29 14:25:02" + "time": "2018-01-29T19:49:41+00:00" }, { "name": "webmozart/path-util", diff --git a/apps/bolt-site/pages/00-index.md b/apps/bolt-site/content/00-index.md similarity index 93% rename from apps/bolt-site/pages/00-index.md rename to apps/bolt-site/content/00-index.md index 554c2004c6..88ced22b95 100644 --- a/apps/bolt-site/pages/00-index.md +++ b/apps/bolt-site/content/00-index.md @@ -2,5 +2,5 @@ title: Home subtitle: Bolt provides tools, patterns, services, and guidelines that systematically improve quality, timeliness, and consistency to the Pega ecosystem so that you can focus on what really matters. nav: main -layout: homepage +layout: home --- diff --git a/apps/bolt-site/content/20-docs/00-index.md b/apps/bolt-site/content/20-docs/00-index.md new file mode 100644 index 0000000000..6537ebc62c --- /dev/null +++ b/apps/bolt-site/content/20-docs/00-index.md @@ -0,0 +1,28 @@ +--- +title: Docs +nav: main +--- + +## Welcome to Bolt Contributor docs + +**Here you'll learn how to get a local environment spun up and the correct methods for contributing to the platform** + +
    ///////|\\\\\\
+   ///˜˜˜˜/|˜˜˜˜\\\
+  ///    //|     \\\     Bolt-CLI
+ ///    ///|____  \\\
+///    /////////   \\\   Welcome to the Bolt CLI ⚡ Have fun!
+\\\   /////////    ///
+ \\\      |///    ///    Usage: `bolt <command> [options ...]`
+  \\\     |//    ///     Help: `bolt --help` or `bolt <command> --help`
+   \\\____|/____///
+    \\\\\\|///////
+    
+Verbosity: 1
+✔ Cleaned files in 134ms
+✔ Built WebPack bundle in 10.1s
+✔ Built Pattern Lab in 3.8s
+✔ Processed images in 25ms
+
+ +**[Let's get started!](/docs/getting-started/index.html)** diff --git a/apps/bolt-site/pages/20-docs/25-design-principles/00-index.md b/apps/bolt-site/content/20-docs/05-principles/00-index.md similarity index 97% rename from apps/bolt-site/pages/20-docs/25-design-principles/00-index.md rename to apps/bolt-site/content/20-docs/05-principles/00-index.md index 253f74c5b5..880820918c 100644 --- a/apps/bolt-site/pages/20-docs/25-design-principles/00-index.md +++ b/apps/bolt-site/content/20-docs/05-principles/00-index.md @@ -1,6 +1,5 @@ --- -category: Design Principles -title: Overview +title: Design Principles --- The Digital team at Pegasystems creates, maintains and continuously improves the websites that help people learn, build with, sell and buy Pega applications. The 5+ digital properties we work on span internal and external audiences across offices in North America, Europe, and the Asia Pacific region. The following principles help us deliver effective, thoughtful design for the Bolt Design System. diff --git a/apps/bolt-site/pages/20-docs/25-design-principles/05-accessibility.md b/apps/bolt-site/content/20-docs/05-principles/05-accessibility.md similarity index 100% rename from apps/bolt-site/pages/20-docs/25-design-principles/05-accessibility.md rename to apps/bolt-site/content/20-docs/05-principles/05-accessibility.md diff --git a/apps/bolt-site/pages/20-docs/25-design-principles/10-interface-copy.md b/apps/bolt-site/content/20-docs/05-principles/10-interface-copy.md similarity index 100% rename from apps/bolt-site/pages/20-docs/25-design-principles/10-interface-copy.md rename to apps/bolt-site/content/20-docs/05-principles/10-interface-copy.md diff --git a/apps/bolt-site/pages/20-docs/00-getting-started/00-index.md b/apps/bolt-site/content/20-docs/10-getting-started/00-index.md similarity index 91% rename from apps/bolt-site/pages/20-docs/00-getting-started/00-index.md rename to apps/bolt-site/content/20-docs/10-getting-started/00-index.md index 8e9cceb970..a04894b7b5 100644 --- a/apps/bolt-site/pages/20-docs/00-getting-started/00-index.md +++ b/apps/bolt-site/content/20-docs/10-getting-started/00-index.md @@ -1,9 +1,10 @@ --- title: Getting Started -category: Quick Start --- -## Create bolt config file +## First Time Setup + +### Create bolt config file Create a file called `.boltrc.js` with: @@ -19,7 +20,7 @@ module.exports = { }; ``` -## Install Build Tools +### Install Build Tools Ensure you have a `package.json` file, if not, run `npm init`. @@ -37,7 +38,7 @@ Add this to your `package.json`: } ``` -## Consider adding global styling +### Consider adding global styling All global styles are kept in a single package, if you'd like it, run: @@ -60,7 +61,7 @@ module.exports = { }; ``` -## Install Components +### Install Components Install any Bolt Component via `npm` as it's docs suggest. If you were going to install the Card, you'd run: @@ -86,7 +87,7 @@ module.exports = { Continue to do so with as many components as you'd like. -## Build It +### Build It Run this to build: diff --git a/apps/bolt-site/content/20-docs/10-getting-started/05-prerequisites.md b/apps/bolt-site/content/20-docs/10-getting-started/05-prerequisites.md new file mode 100644 index 0000000000..fb787f7152 --- /dev/null +++ b/apps/bolt-site/content/20-docs/10-getting-started/05-prerequisites.md @@ -0,0 +1,55 @@ +--- +title: Prerequisites +--- + +## Overview + +- Node v8.9 + +- Yarn v1 + +- Composer v1 + + - Prestissimo +- Yarn v1 + +- imagemagick & graphicsmagick +- PHP v7.1 + + +All package installation command below assume a Mac with Homebrew (`brew`) installed. If it's Linux, then it's *probably* just `apt-get`, if it's Windows, then emulate a Linux environment. + +## Node.js + +We use the latest [Long Term Support](https://github.com/nodejs/Release) Node version; 8.9.0 (Codename Carbon), which was released Oct 2017 & will be supported by them until April 2019. This ensures things are fast without overhead of polyfills in our build tools. + +### How to install + +```bash +brew install nvm +nvm install lts/carbon # v8.9 + +nvm alias default lts/carbon +``` + +If you don't have a Mac, just [read the node docs on installing](https://nodejs.org). + +## Install PHP Dependencies + +PHP 7.x or higher and Composer v1+ is required. + +``` +brew install composer +composer global require hirak/prestissimo +``` + +### GD and Imagick + +Used for responsive images / image optimization. + +``` +brew install imagemagick +brew install graphicsmagick +``` + +### Yarn + +Yarn v1.x or higher is required. Yarn caches every package it downloads so it never needs to download it again. It also parallelizes operations to maximize resource utilization so install times are faster than ever. + +``` +brew install yarn +``` diff --git a/apps/bolt-site/pages/20-docs/50-guides/10-browser-support.md b/apps/bolt-site/content/20-docs/10-getting-started/10-browser-support.md similarity index 100% rename from apps/bolt-site/pages/20-docs/50-guides/10-browser-support.md rename to apps/bolt-site/content/20-docs/10-getting-started/10-browser-support.md diff --git a/apps/bolt-site/pages/20-docs/_15-whats-new-in-bolt-v1.md b/apps/bolt-site/content/20-docs/10-getting-started/15-whats-new-in-bolt-v1.md similarity index 100% rename from apps/bolt-site/pages/20-docs/_15-whats-new-in-bolt-v1.md rename to apps/bolt-site/content/20-docs/10-getting-started/15-whats-new-in-bolt-v1.md diff --git a/apps/bolt-site/content/20-docs/20-visual-language/00-index.md b/apps/bolt-site/content/20-docs/20-visual-language/00-index.md new file mode 100644 index 0000000000..1adc006b7e --- /dev/null +++ b/apps/bolt-site/content/20-docs/20-visual-language/00-index.md @@ -0,0 +1,3 @@ +--- +title: Visual Language +--- \ No newline at end of file diff --git a/apps/bolt-site/pages/20-docs/40-visual-language/10-colors.md b/apps/bolt-site/content/20-docs/20-visual-language/10-colors.md similarity index 84% rename from apps/bolt-site/pages/20-docs/40-visual-language/10-colors.md rename to apps/bolt-site/content/20-docs/20-visual-language/10-colors.md index b11eaf42d0..a5acfa4bb3 100644 --- a/apps/bolt-site/pages/20-docs/40-visual-language/10-colors.md +++ b/apps/bolt-site/content/20-docs/20-visual-language/10-colors.md @@ -16,9 +16,7 @@ Pega websites need to to meet all web accessibility standards, including the min Whenever possible, lead with Indigo or White, and use the accent colors primarily as “pops” of color to add visual variety. Select colors, like orange and yellow, may also be used as calls to action or interactive elements, such as a Share button. - - - +![Pega's brand colors default to Base; use shades to create visual hierarchy where needed.](../../../images/color_brand.png) ## Color themes @@ -46,4 +44,4 @@ For body copy, such as articles, always use the x-light theme. Use status colors to indicate system information, success or error, or provide system warnings. Avoid using status colors in other contexts. - +![Use these colors only for system messaging or informational copy.](../../../images/color_messaging.png) \ No newline at end of file diff --git a/apps/bolt-site/pages/20-docs/40-visual-language/20-typography.md b/apps/bolt-site/content/20-docs/20-visual-language/20-typography.md similarity index 100% rename from apps/bolt-site/pages/20-docs/40-visual-language/20-typography.md rename to apps/bolt-site/content/20-docs/20-visual-language/20-typography.md diff --git a/apps/bolt-site/pages/20-docs/40-visual-language/30-iconography.md b/apps/bolt-site/content/20-docs/20-visual-language/30-iconography.md similarity index 100% rename from apps/bolt-site/pages/20-docs/40-visual-language/30-iconography.md rename to apps/bolt-site/content/20-docs/20-visual-language/30-iconography.md diff --git a/apps/bolt-site/pages/20-docs/40-visual-language/40-spacing.md b/apps/bolt-site/content/20-docs/20-visual-language/40-spacing.md similarity index 100% rename from apps/bolt-site/pages/20-docs/40-visual-language/40-spacing.md rename to apps/bolt-site/content/20-docs/20-visual-language/40-spacing.md diff --git a/apps/bolt-site/pages/20-docs/30-ui-patterns/00-index.md b/apps/bolt-site/content/20-docs/30-patterns/00-index.md similarity index 93% rename from apps/bolt-site/pages/20-docs/30-ui-patterns/00-index.md rename to apps/bolt-site/content/20-docs/30-patterns/00-index.md index 6efb30a98b..76e69cb5f6 100644 --- a/apps/bolt-site/pages/20-docs/30-ui-patterns/00-index.md +++ b/apps/bolt-site/content/20-docs/30-patterns/00-index.md @@ -1,6 +1,5 @@ --- title: Patterns -category: UI Patterns --- Our [reusable components](/pattern-lab/index.html) provide flexible combinations of interface elements that enable designers and content authors to create web pages. Patterns are consistent combinations of components and elements that are frequently used across Pega websites. \ No newline at end of file diff --git a/apps/bolt-site/pages/20-docs/30-ui-patterns/bands.md b/apps/bolt-site/content/20-docs/30-patterns/bands.md similarity index 100% rename from apps/bolt-site/pages/20-docs/30-ui-patterns/bands.md rename to apps/bolt-site/content/20-docs/30-patterns/bands.md diff --git a/apps/bolt-site/pages/20-docs/30-ui-patterns/blockquotes.md b/apps/bolt-site/content/20-docs/30-patterns/blockquotes.md similarity index 100% rename from apps/bolt-site/pages/20-docs/30-ui-patterns/blockquotes.md rename to apps/bolt-site/content/20-docs/30-patterns/blockquotes.md diff --git a/apps/bolt-site/pages/20-docs/30-ui-patterns/buttons.md b/apps/bolt-site/content/20-docs/30-patterns/buttons.md similarity index 100% rename from apps/bolt-site/pages/20-docs/30-ui-patterns/buttons.md rename to apps/bolt-site/content/20-docs/30-patterns/buttons.md diff --git a/apps/bolt-site/pages/20-docs/30-ui-patterns/cards.md b/apps/bolt-site/content/20-docs/30-patterns/cards.md similarity index 100% rename from apps/bolt-site/pages/20-docs/30-ui-patterns/cards.md rename to apps/bolt-site/content/20-docs/30-patterns/cards.md diff --git a/apps/bolt-site/pages/20-docs/30-ui-patterns/forms.md b/apps/bolt-site/content/20-docs/30-patterns/forms.md similarity index 91% rename from apps/bolt-site/pages/20-docs/30-ui-patterns/forms.md rename to apps/bolt-site/content/20-docs/30-patterns/forms.md index a4df5ac2cc..1fe6f8ada5 100644 --- a/apps/bolt-site/pages/20-docs/30-ui-patterns/forms.md +++ b/apps/bolt-site/content/20-docs/30-patterns/forms.md @@ -39,7 +39,7 @@ Below are the most common elements and their considerations. Use a text input for a single line of text that doesn’t require formatting. Input data displays as plain text. Example uses include asking for names or inputting the title of a post.
- +
A static input contains helper text within the field.
@@ -53,7 +53,7 @@ Use a text input for a single line of text that doesn’t require formatting. In Use a textarea for longer passages of text, such as blog posts, descriptions or comments. Textareas generally support WYSIWYG editors, in-line images and standard formatting such as bold or italic text.
- +
Static input
@@ -82,7 +82,7 @@ Use a select list whenever you have a list longer than 7 items to choose from. B When disabled, form fields take on the `xlight` color as their background and lose the ability to interact with it.
- +
Form fields that are disabled take on a light background.
diff --git a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/01-boltrc-config.md b/apps/bolt-site/content/20-docs/40-config/00-index.md similarity index 87% rename from apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/01-boltrc-config.md rename to apps/bolt-site/content/20-docs/40-config/00-index.md index 6469ed613b..2e90250377 100644 --- a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/01-boltrc-config.md +++ b/apps/bolt-site/content/20-docs/40-config/00-index.md @@ -1,7 +1,11 @@ --- -title: .boltrc Config +title: Configuration --- +Welcome to the home of the config! + +## Where does config come from? + The order goes like this, as this list increases, the later override the earlier Order inspired by https://www.npmjs.com/package/rc#standards diff --git a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/10-basic-config.md b/apps/bolt-site/content/20-docs/40-config/10-basics.md similarity index 97% rename from apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/10-basic-config.md rename to apps/bolt-site/content/20-docs/40-config/10-basics.md index cbaa01c9b9..29608e389a 100644 --- a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/10-basic-config.md +++ b/apps/bolt-site/content/20-docs/40-config/10-basics.md @@ -1,5 +1,5 @@ --- -title: Basic Configuration +title: Basics --- These values can be set in `.boltrc.js` files to configure the build tools: diff --git a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/20-components.md b/apps/bolt-site/content/20-docs/40-config/20-components.md similarity index 100% rename from apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/20-components.md rename to apps/bolt-site/content/20-docs/40-config/20-components.md diff --git a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/30-envs.md b/apps/bolt-site/content/20-docs/40-config/30-envs.md similarity index 100% rename from apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/30-envs.md rename to apps/bolt-site/content/20-docs/40-config/30-envs.md diff --git a/apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/_40-extras.md b/apps/bolt-site/content/20-docs/40-config/40-extras.md similarity index 100% rename from apps/bolt-site/pages/20-docs/50-guides/30-custom-configuration/_40-extras.md rename to apps/bolt-site/content/20-docs/40-config/40-extras.md diff --git a/apps/bolt-site/content/20-docs/50-concepts/00-index.md b/apps/bolt-site/content/20-docs/50-concepts/00-index.md new file mode 100644 index 0000000000..dc0e40f98b --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/00-index.md @@ -0,0 +1,3 @@ +--- +title: Concepts +--- diff --git a/apps/bolt-site/pages/20-docs/50-guides/40-development/10-architecture-principles.md b/apps/bolt-site/content/20-docs/50-concepts/10-standards/00-frontend-architecture-principles.md similarity index 99% rename from apps/bolt-site/pages/20-docs/50-guides/40-development/10-architecture-principles.md rename to apps/bolt-site/content/20-docs/50-concepts/10-standards/00-frontend-architecture-principles.md index a631a68761..83c70defb4 100644 --- a/apps/bolt-site/pages/20-docs/50-guides/40-development/10-architecture-principles.md +++ b/apps/bolt-site/content/20-docs/50-concepts/10-standards/00-frontend-architecture-principles.md @@ -1,7 +1,3 @@ ---- -title: Architecture Principles ---- - # Bolt Frontend Architecture Principles **Part 1. Component Reuse and Composition** diff --git a/apps/bolt-site/content/20-docs/50-concepts/10-standards/00-index.md b/apps/bolt-site/content/20-docs/50-concepts/10-standards/00-index.md new file mode 100644 index 0000000000..3d8e94087c --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/10-standards/00-index.md @@ -0,0 +1,3 @@ +--- +title: Standards +--- diff --git a/apps/bolt-site/pages/20-docs/50-guides/40-development/10-javascript.md b/apps/bolt-site/content/20-docs/50-concepts/10-standards/10-javascript.md similarity index 100% rename from apps/bolt-site/pages/20-docs/50-guides/40-development/10-javascript.md rename to apps/bolt-site/content/20-docs/50-concepts/10-standards/10-javascript.md diff --git a/apps/bolt-site/content/20-docs/50-concepts/20-tech/00-index.md b/apps/bolt-site/content/20-docs/50-concepts/20-tech/00-index.md new file mode 100644 index 0000000000..fcd39b5212 --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/20-tech/00-index.md @@ -0,0 +1,5 @@ +--- +title: Technologies +--- + +Bolt uses [Node](https://nodejs.org) for core processing and scripting to run front-end build tasks and to interface with the Pattern Lab PHP core library, [npm](https://www.npmjs.com/) to manage project dependencies, and [Lerna](https://github.com/lerna/lerna) for versioning and publishing individual packages in Bolt to NPM, in addition to symlinking any local Bolt packages that depend on one-another for local development. diff --git a/apps/bolt-site/content/20-docs/50-concepts/20-tech/10-sass.md b/apps/bolt-site/content/20-docs/50-concepts/20-tech/10-sass.md new file mode 100644 index 0000000000..42318f71a7 --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/20-tech/10-sass.md @@ -0,0 +1,102 @@ +--- +title: Sass +--- + + +## Mixins and functions: + + +```scss +$family: heading, body +@include bolt-font-family($family); +``` + +--- + +```scss +$size: xsmall, small, medium, large, xlarge, xxlarge, xxxlarge +@include bolt-font-size($size); +``` + +--- + +```scss +$weight: regular, semibold, bold +@include bolt-font-weight($weight); +``` + +--- + +```scss +$breakpoint: xxsmall, xsmall, small, medium, large, xlarge, xxlarge, xxxlarge +@include bolt-mq($breakpoint); +``` + +--- + +```scss +$size: xsmall, small, medium, large, xlarge +direction: top, right, bottom, left +@include bolt-margin($size); +@include bolt-margin-{direction}($size); +@include bolt-padding($size); +@include bolt-padding-{direction}($size); + +``` + +Special spacing: + +```scss +@include bolt-padding($size, squished); +@include bolt-padding($size, stretched); +``` + +--- + +```scss +$color: indigo, teal, yellow, black, white +$shade: xlight, light, medium, dark, xdark + +color: bolt-color($color, $shade); +``` + + +## Utility classes + +``` +spacing: margin, padding +direction: top, right, bottom, left +size: xsmall, small, medium, large, xlarge + +.u-bolt-{spacing}-{size} + +.u-bolt-{spacing}-{direction}-{size} +``` + +``` +.u-bolt-visuallyhidden +``` + +--- + +``` +alignment: right, left, center +.u-bolt-text-align-{alignment} +``` + +--- + +``` +.u-bolt-flex-grow + +.u-bolt-flex-shrink + +.u-bolt-flex-basis-auto + +column: 1 ~ 12 +breakpoint: xxsmall, xsmall, small, medium, large, xlarge, xxlarge, xxxlarge + +.u-bolt-width-{column}/12 + +.u-bolt-width-{column}/12@{breakpoint} +``` diff --git a/apps/bolt-site/content/20-docs/50-concepts/20-tech/20-webpack.md b/apps/bolt-site/content/20-docs/50-concepts/20-tech/20-webpack.md new file mode 100644 index 0000000000..6db4e17207 --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/20-tech/20-webpack.md @@ -0,0 +1,3 @@ +--- +title: WebPack +--- diff --git a/apps/bolt-site/content/20-docs/50-concepts/20-tech/30-web-components.md b/apps/bolt-site/content/20-docs/50-concepts/20-tech/30-web-components.md new file mode 100644 index 0000000000..bd3e5f7c0b --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/20-tech/30-web-components.md @@ -0,0 +1,3 @@ +--- +title: Web Components +--- diff --git a/apps/bolt-site/content/20-docs/50-concepts/20-tech/40-pattern-lab.md b/apps/bolt-site/content/20-docs/50-concepts/20-tech/40-pattern-lab.md new file mode 100644 index 0000000000..5415b708d4 --- /dev/null +++ b/apps/bolt-site/content/20-docs/50-concepts/20-tech/40-pattern-lab.md @@ -0,0 +1,19 @@ +--- +title: Pattern Lab +--- + +The Pattern Lab install utilizes these core pieces: + +- [pattern-lab/patternlab-php-core](https://github.com/pattern-lab/patternlab-php-core) +- [pattern-lab/patternengine-php-twig: Twig-based PatternEngine for Pattern Lab.](https://github.com/pattern-lab/patternengine-php-twig) +- [pattern-lab/drupal-twig-extensions](https://github.com/pattern-lab/drupal-twig-extensions) - These stub in many of Drupal Twig Functions and Filters + +## Tricks and Gotchas + +### Linking + +Since it's all wrapped in an ` + + + + + +
-
+
@@ -372,81 +507,62 @@

{{ title }}

- + - + - - - + + + - - + + + + + + diff --git a/packages/uikit-workshop/dist/splash-screen.html b/packages/uikit-workshop/dist/splash-screen.html new file mode 100644 index 0000000000..bd8323676e --- /dev/null +++ b/packages/uikit-workshop/dist/splash-screen.html @@ -0,0 +1,146 @@ + + + + + + + + + Initializing First Bolt Build... + + + + + +
+
+
Initializing First Build
+
+ + + +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/packages/uikit-workshop/dist/styleguide/css/pattern-lab--iframe-loader.css b/packages/uikit-workshop/dist/styleguide/css/pattern-lab--iframe-loader.css deleted file mode 100644 index 8d32d4ec72..0000000000 --- a/packages/uikit-workshop/dist/styleguide/css/pattern-lab--iframe-loader.css +++ /dev/null @@ -1 +0,0 @@ -@-webkit-keyframes animateIn{from{-webkit-transform:translate3d(-50%,-100%,0);transform:translate3d(-50%,-100%,0);opacity:0}to{opacity:1;-webkit-transform:translate3d(-50%,calc(3rem - 50%),0);transform:translate3d(-50%,calc(3rem - 50%),0)}}@keyframes animateIn{from{-webkit-transform:translate3d(-50%,-100%,0);transform:translate3d(-50%,-100%,0);opacity:0}to{opacity:1;-webkit-transform:translate3d(-50%,calc(3rem - 50%),0);transform:translate3d(-50%,calc(3rem - 50%),0)}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.pl-c-loader{z-index:1000;position:absolute;top:0;left:50%;margin:auto;max-width:25rem;width:calc(90vw - 2rem);border-radius:3px;background:rgba(0,0,0,.9);-webkit-transform:translate3d(-50%,-100%,0);transform:translate3d(-50%,-100%,0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;pointer-events:none;opacity:0;-webkit-animation:animateIn ease .3s forwards;animation:animateIn ease .3s forwards}.pl-c-loader__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;pointer-events:auto}.pl-c-loader__message{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:1rem;font-size:.85rem;color:#fff}.pl-c-loader__spinner{position:relative;display:inline-block;width:4rem;height:2rem}.pl-c-loader-svg:not(:root){overflow:hidden}.pl-c-loader-svg{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:rotate 1s linear infinite;animation:rotate 1s linear infinite}.pl-c-loader-svg__outer-circle{fill:none;stroke:#fff;stroke-width:15;stroke-miterlimit:10}.pl-c-loader-svg__electron,.pl-c-loader-svg__inner-circle{fill:#ccc} \ No newline at end of file diff --git a/packages/uikit-workshop/dist/styleguide/css/pattern-lab.critical.css b/packages/uikit-workshop/dist/styleguide/css/pattern-lab.critical.css deleted file mode 100644 index 88cd6b3b02..0000000000 --- a/packages/uikit-workshop/dist/styleguide/css/pattern-lab.critical.css +++ /dev/null @@ -1 +0,0 @@ -.pl-c-body *{-webkit-box-sizing:border-box;box-sizing:border-box}.pl-c-body{margin:0;padding:0;background-color:#f6f6f9;-webkit-text-size-adjust:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100vh}.pl-c-header{position:fixed;top:0;left:0;z-index:4;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;background:#000;color:grey;font-family:HelveticaNeue,Helvetica,Arial,sans-serif;font-size:.85rem}.pl-c-header__nav-toggle{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;border:0}@media all and (min-width:42em){.pl-c-header__nav-toggle{display:none}}@media all and (max-width:42em){.pl-c-nav{position:absolute;top:100%;width:100%;overflow:hidden;max-height:0;background:#000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media all and (min-width:42em){.pl-c-nav{display:-webkit-box;display:-ms-flexbox;display:flex}}.pl-c-nav__list{z-index:1;margin:0;padding:0;list-style:none}@media all and (max-width:42em){.pl-c-nav__list{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}}@media all and (min-width:42em){.pl-c-nav__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}}.pl-c-controls{margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.pl-c-viewport{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;position:relative;margin-top:2rem;bottom:0;left:0;right:0;z-index:0;overflow:hidden;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.pl-c-viewport__cover{width:100%;height:100%;position:absolute;z-index:20;display:none;top:0;left:0;bottom:0;right:0}.pl-c-viewport__iframe-wrapper{height:100%;position:relative;margin:0 auto;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-overflow-scrolling:touch;overflow-y:auto;overflow-x:hidden;width:100%}.pl-c-viewport__iframe{position:absolute;height:100%;width:100%;border:0;padding:0;margin:0;top:0;bottom:0;left:0;right:0;background-color:#fff;max-width:100vw}.pl-c-viewport__resizer{position:absolute;right:0;top:0;bottom:0;width:14px;margin:0;height:100%}.pl-c-viewport__resizer-handle{margin:0;width:100%;height:100%;background:#ccc}.pl-c-modal__cover{width:100%;height:100%;display:none;position:absolute;z-index:20}.pl-c-header .pl-c-typeahead{border:0;background:#222!important;color:grey;width:100%;right:0;padding:.61rem .5rem;font-size:inherit}@media all and (min-width:48em){.pl-c-body--theme-sidebar .pl-c-viewport{top:0;left:14rem;width:auto}.pl-c-body--theme-sidebar .pl-c-viewport{top:0;left:14rem;width:auto}} \ No newline at end of file diff --git a/packages/uikit-workshop/dist/styleguide/css/pattern-lab.css b/packages/uikit-workshop/dist/styleguide/css/pattern-lab.css index 67d63ae9a4..59ba24d8db 100755 --- a/packages/uikit-workshop/dist/styleguide/css/pattern-lab.css +++ b/packages/uikit-workshop/dist/styleguide/css/pattern-lab.css @@ -1 +1,2590 @@ -.pl-c-body *{-webkit-box-sizing:border-box;box-sizing:border-box}.pl-c-body{margin:0;padding:0;background-color:#f6f6f9;-webkit-text-size-adjust:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100vh}.pl-c-header{position:fixed;top:0;left:0;z-index:4;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;background:#000;color:grey;font-family:HelveticaNeue,Helvetica,Arial,sans-serif;font-size:.85rem}.pl-c-header__nav-toggle{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out;border:0}.pl-c-header__nav-toggle:hover{color:#fff;background:#222}.pl-c-header__nav-toggle.active,.pl-c-header__nav-toggle:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-header__nav-toggle{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-header__nav-toggle{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-header__nav-toggle{font-size:.85rem;padding:1.5rem 1rem}@media all and (min-width:42em){.pl-c-header__nav-toggle{display:none}}.pl-c-logo{max-width:2rem;margin:0 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pl-c-logo:focus{outline:1px dotted grey;outline-offset:-1px}.pl-c-logo__img{display:block;max-width:100%;height:auto}@media all and (max-width:42em){.pl-c-nav{position:absolute;top:100%;width:100%;overflow:hidden;max-height:0;background:#000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transition:max-height .1s ease-out;transition:max-height .1s ease-out}.pl-c-nav.pl-is-active{max-height:calc(100vh - 1rem);overflow:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-nav.pl-is-active::-webkit-scrollbar{width:0!important}}@media all and (min-width:42em){.pl-c-nav{display:-webkit-box;display:-ms-flexbox;display:flex}}.pl-c-nav__list{z-index:1;margin:0;padding:0;list-style:none}@media all and (max-width:42em){.pl-c-nav__list{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}}@media all and (min-width:42em){.pl-c-nav__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}}.pl-c-nav__item{cursor:pointer;position:relative}@media all and (min-width:42em){.pl-c-nav__sublist>.pl-c-nav__item:last-child{overflow:hidden;border-bottom-left-radius:6px;border-bottom-right-radius:6px}}.pl-c-nav__link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out}.pl-c-nav__link:hover{color:#fff;background:#222}.pl-c-nav__link.active,.pl-c-nav__link:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-nav__link{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-nav__link{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-nav__link{font-size:.85rem;padding:1.5rem 1rem}.pl-c-nav__link--sublink{text-transform:none;padding-left:1rem}.pl-c-nav__link--dropdown:after{content:'\25bc';color:rgba(255,255,255,.25);display:inline-block;font-size:7px;position:relative;top:1px;right:-2px;-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.pl-c-nav__link--dropdown:focus:after,.pl-c-nav__link--dropdown:hover:after{color:grey}.pl-c-nav__link--dropdown.pl-is-active{color:#fff;background:#222}.pl-c-nav__link--dropdown.pl-is-active:after{color:grey;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.pl-c-nav__sublist{list-style:none;margin:0;padding:0}@media all and (min-width:42em){.pl-c-nav__sublist{position:absolute;top:100%;left:0;min-width:10rem;overflow:hidden;border-bottom-left-radius:6px;border-bottom-right-radius:6px}}.pl-c-nav__sublist--dropdown,.pl-c-nav__subsublist--dropdown{list-style:none;margin:0;padding:0;overflow:hidden;max-height:0;-webkit-transition:max-height .1s ease-out;transition:max-height .1s ease-out}.pl-c-nav__sublist--dropdown.pl-is-active,.pl-c-nav__subsublist--dropdown.pl-is-active{max-height:none;overflow:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-nav__sublist--dropdown.pl-is-active::-webkit-scrollbar,.pl-c-nav__subsublist--dropdown.pl-is-active::-webkit-scrollbar{width:0!important}@media all and (min-width:42em){.pl-c-nav__sublist--dropdown.pl-is-active,.pl-c-nav__subsublist--dropdown.pl-is-active{max-height:calc(100vh - 3rem)}}.pl-c-nav__subsublist{list-style:none;margin:0;padding:0}.pl-c-viewport-size{margin:0;border:0;padding:.3rem .5rem .4rem;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pl-c-viewport-size__input{padding:.1rem;margin:0;border:0;border-radius:3px;background:0 0;font-size:inherit;color:grey;width:3em;text-align:right;-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.pl-c-viewport-size__input::-moz-focus-inner{padding:0;border:0}.pl-c-viewport-size__input:hover{color:#fff;background:#222}.pl-c-viewport-size__input:active,.pl-c-viewport-size__input:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-viewport-size__label{display:block;margin:0;padding:0}.pl-c-size-list{display:none;list-style:none;margin:0;padding:0}@media all and (min-width:53em){.pl-c-size-list{display:block;display:-webkit-box;display:-ms-flexbox;display:flex}}.pl-c-size-list__action{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out}.pl-c-size-list__action:hover{color:#fff;background:#222}.pl-c-size-list__action.active,.pl-c-size-list__action:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-size-list__action{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-size-list__action{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-size-list__action{font-size:.85rem;padding:1.5rem 1rem}.pl-c-controls{margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.pl-c-controls__list{list-style:none;margin:0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.pl-c-tools{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.pl-c-tools__toggle{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out;margin:0;padding-top:.6rem;padding-bottom:.5rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;min-width:30px}.pl-c-tools__toggle:hover{color:#fff;background:#222}.pl-c-tools__toggle.active,.pl-c-tools__toggle:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-tools__toggle{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-tools__toggle{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-tools__toggle{font-size:.85rem;padding:1.5rem 1rem}.pl-c-tools__toggle-icon{position:absolute}.pl-c-tools__list{list-style:none;margin:0;padding:0;overflow:hidden;max-height:0;-webkit-transition:max-height .1s ease-out;transition:max-height .1s ease-out;position:absolute;top:100%;right:0;z-index:1;width:10rem;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.pl-c-tools__list.pl-is-active{max-height:none;overflow:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-tools__list.pl-is-active::-webkit-scrollbar{width:0!important}@media all and (min-width:42em){.pl-c-tools__list.pl-is-active{max-height:calc(100vh - 3rem)}}.pl-c-tools__action{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out;display:block;width:100%;margin:0}.pl-c-tools__action:hover{color:#fff;background:#222}.pl-c-tools__action.active,.pl-c-tools__action:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-tools__action{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-tools__action{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-tools__action{font-size:.85rem;padding:1.5rem 1rem}.pl-c-viewport{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;position:relative;margin-top:2rem;bottom:0;left:0;right:0;z-index:0;overflow:hidden;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.pl-c-viewport__cover{width:100%;height:100%;position:absolute;z-index:20;cursor:move;display:none;top:0;left:0;bottom:0;right:0}.pl-c-viewport__iframe-wrapper{height:100%;position:relative;margin:0 auto;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-overflow-scrolling:touch;overflow-y:auto;overflow-x:hidden;width:100%}.pl-c-viewport__iframe-wrapper.hay-mode{-webkit-transition:all 40s linear;transition:all 40s linear}.pl-c-viewport__iframe{position:absolute;height:100%;width:100%;border:0;padding:0;margin:0;top:0;bottom:0;left:0;right:0;background-color:#fff;max-width:100vw}.pl-c-viewport__iframe.hay-mode{-webkit-transition:all 40s linear;transition:all 40s linear}.pl-c-viewport__resizer{position:absolute;right:0;top:0;bottom:0;width:14px;margin:0;height:100%;cursor:ew-resize}.pl-c-viewport__resizer-handle{margin:0;width:100%;height:100%;background:#ccc;-webkit-transition:background .1s ease-out;transition:background .1s ease-out}.pl-c-viewport__resizer-handle:hover{background:grey}.pl-c-viewport__resizer-handle:active{cursor:move;background:#4d4c4c}.vp-animate{-webkit-transition:width .8s ease-out;transition:width .8s ease-out}.pl-c-pattern{margin-bottom:2rem;position:relative;clear:both}.pl-c-pattern__header{position:relative;padding:.5rem 0 0;line-height:1.3;font-size:90%;color:grey}.pl-c-pattern__header:empty{padding:0}.pl-c-pattern__title{font-family:HelveticaNeue,Helvetica,Arial,sans-serif!important;font-size:.85rem!important;line-height:1!important;font-weight:400!important;margin:0!important;padding:0!important;text-transform:capitalize!important}.pl-c-pattern__title-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:1rem 0 .3rem;color:grey!important;text-decoration:none;cursor:pointer}.pl-c-pattern__title-link:focus,.pl-c-pattern__title-link:hover{color:#000!important}.pl-c-pattern__extra-toggle{font-size:9px;position:absolute;bottom:-1px;right:0;z-index:1;padding:.65em .65em .5em;line-height:1;color:grey;background:0 0;font-weight:400;border:1px solid #ddd;border-top-left-radius:6px;border-top-right-radius:6px;-webkit-transition:background .1s ease-out;transition:background .1s ease-out}.pl-c-pattern__extra-toggle .pl-c-pattern__toggle-icon{display:inline-block}.pl-c-pattern__extra-toggle.pl-is-active,.pl-c-pattern__extra-toggle:focus,.pl-c-pattern__extra-toggle:hover{background:#fafafa;color:#000}.pl-c-pattern__extra-toggle:focus{outline:1px dotted #4d4c4c}.pl-c-pattern__extra-toggle.pl-is-active{border-bottom-color:#fafafa}.pl-c-pattern__extra-toggle.pl-is-active .pl-c-pattern__toggle-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.pl-c-pattern__extra{background:#fafafa;border-top:1px solid #ddd;margin-bottom:1rem;overflow:hidden;max-height:1px;position:relative;-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.pl-c-pattern__extra.pl-is-active{border:1px solid #ddd;border-radius:6px;border-top-right-radius:0;max-height:150rem}.pl-c-category{margin-top:6rem;font:HelveticaNeue,Helvetica,Arial,sans-serif!important}.pl-c-category:first-of-type{margin-top:2rem}.pl-c-category__title{font-size:1.4rem!important;color:#222!important;margin:0 0 .2rem;text-transform:capitalize}.pl-c-category__title-link{-webkit-transition:color .1s ease-out;transition:color .1s ease-out}.pl-c-category__description{font-size:.85rem;line-height:1.5;max-width:30rem}.pl-c-category__description:empty{display:none}@media all and (min-width:53em){.pl-c-pattern-info{display:-webkit-box;display:-ms-flexbox;display:flex}}.pl-c-pattern .pl-c-pattern-info{max-height:20rem;overflow:scroll;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-pattern .pl-c-pattern-info::-webkit-scrollbar{width:0!important}@media all and (min-width:53em){.pl-c-pattern .pl-c-pattern-info{max-height:none;height:18rem;overflow:visible}}.pl-c-modal .pl-c-pattern-info{position:absolute;top:0;right:0;bottom:0;left:0;overflow:scroll;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-modal .pl-c-pattern-info::-webkit-scrollbar{width:0!important}@media all and (min-width:53em){.pl-c-modal .pl-c-pattern-info{position:static;overflow:visible}}.pl-c-pattern-info__panel{padding:1rem}@media all and (min-width:53em){.pl-c-pattern-info__panel{-webkit-box-flex:1;-ms-flex:auto;flex:auto;position:absolute;top:0;bottom:0;left:0;right:0}}@media all and (min-width:62em){.pl-c-modal .pl-c-pattern-info__panel{padding-left:2rem}}.pl-c-pattern-info__panel--info{padding-top:2rem}@media all and (min-width:53em){.pl-c-pattern-info__panel--info{left:0;right:50%;overflow:scroll;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-pattern-info__panel--info::-webkit-scrollbar{width:0!important}}@media all and (min-width:62em){.pl-c-pattern-info__panel--info{right:55%}}@media all and (min-width:53em){.pl-c-pattern-info__panel--info+.pl-c-pattern-info__panel--code{right:0;left:50%;top:1.2rem}}@media all and (min-width:62em){.pl-c-pattern-info__panel--info+.pl-c-pattern-info__panel--code{left:45%}}.pl-c-pattern-info__header{margin-bottom:.5rem}.pl-c-pattern-info__title{font-size:1.4rem!important;font-weight:400;margin-top:0;margin-bottom:0;color:inherit;text-transform:capitalize;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pl-c-pattern-info__description{border-bottom-color:grey}.pl-c-annotations{border-top-color:grey}.pl-c-pattern-state{display:inline-block;width:5px;height:5px;margin-left:10px;position:relative;top:5px;left:0;border-radius:50%;background:#02a4d5;line-height:4px;text-indent:10px}.pl-c-pattern-state--complete{background:#03790f}.pl-c-pattern-state--inreview{background:#c7a118}.pl-c-pattern-state--deprecated{background:#b00b02}.complete:before{color:#03790f!important}.pl-c-lineage{font-size:.85rem;line-height:1.7;margin-top:0}.pl-c-lineage__link{font-style:italic;color:grey;text-decoration:underline;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.pl-c-lineage__link:focus,.pl-c-lineage__link:hover{opacity:.8}.pl-c-breadcrumb{list-style:none;margin:0;padding:0;margin-bottom:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:.7rem;color:grey;text-transform:capitalize}.pl-c-breadcrumb__item:after{content:"\25b6";opacity:.4;font-size:6px;display:inline-block;margin:0 .2rem;position:relative;top:-1px}.pl-c-tabs{padding:0 .5rem .5rem;background:#fff;border:1px solid #ddd;border-radius:6px;font-family:HelveticaNeue,Helvetica,Arial,sans-serif;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}@media all and (min-width:53em){.pl-c-pattern-info__panel--code .pl-c-tabs{position:absolute;top:1rem;bottom:1rem;left:1rem;right:1rem}}@media all and (min-width:62em){.pl-c-modal .pl-c-tabs{right:2rem;left:2rem}}.pl-c-tabs__list{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;list-style:none;margin:0;padding:.5rem 0;background:#fff}.pl-c-tabs__link{display:block;line-height:1;padding:.2rem .4rem;border:1px solid transparent;border-radius:6px;background:#fff;color:grey;cursor:pointer;text-decoration:none;text-transform:lowercase;-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.pl-c-tabs__link:hover{color:#222}.pl-c-tabs__link.pl-is-active-tab{color:#222;background:#eee;border:1px solid #ddd}.pl-c-tabs__content{-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;overflow:scroll;-webkit-overflow-scrolling:touch;height:100%;padding-top:.5rem}.pl-c-tabs__content::-webkit-scrollbar{width:0!important}.pl-c-modal .pl-c-tabs__content{border:0}.pl-c-tabs__panel{display:none;min-height:12rem}.pl-c-tabs__panel.pl-is-active-tab{display:block}.pl-c-tabs__panel :not(pre)>code[class*=language-],.pl-c-tabs__panel pre[class*=language-]{background:0 0;margin:0;padding:0;border:0;display:block}.pl-c-tabs__panel code[class*=language-]{background:0 0;margin:0}.pl-c-tools{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.pl-c-tools__toggle{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out;margin:0;padding-top:.6rem;padding-bottom:.5rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;min-width:30px}.pl-c-tools__toggle:hover{color:#fff;background:#222}.pl-c-tools__toggle.active,.pl-c-tools__toggle:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-tools__toggle{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-tools__toggle{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-tools__toggle{font-size:.85rem;padding:1.5rem 1rem}.pl-c-tools__toggle-icon{position:absolute}.pl-c-tools__list{list-style:none;margin:0;padding:0;overflow:hidden;max-height:0;-webkit-transition:max-height .1s ease-out;transition:max-height .1s ease-out;position:absolute;top:100%;right:0;z-index:1;width:10rem;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.pl-c-tools__list.pl-is-active{max-height:none;overflow:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-tools__list.pl-is-active::-webkit-scrollbar{width:0!important}@media all and (min-width:42em){.pl-c-tools__list.pl-is-active{max-height:calc(100vh - 3rem)}}.pl-c-tools__action{background:#000;color:grey;text-decoration:none;line-height:1;padding:.7rem .5rem;border:0;text-align:left;-webkit-transition:background .1s ease-out,color .1s ease-out;transition:background .1s ease-out,color .1s ease-out;display:block;width:100%;margin:0}.pl-c-tools__action:hover{color:#fff;background:#222}.pl-c-tools__action.active,.pl-c-tools__action:focus{color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-body--theme-light .pl-c-tools__action{background:#fff;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-tools__action{font-size:.85rem;padding:1.2rem .8rem}.pl-c-body--theme-density-comfortable .pl-c-tools__action{font-size:.85rem;padding:1.5rem 1rem}.pl-has-annotation{cursor:help!important;outline:1px dotted grey;outline-offset:-4px;-webkit-transition:-webkit-box-shadow .1s ease;transition:-webkit-box-shadow .1s ease;transition:box-shadow .1s ease;transition:box-shadow .1s ease,-webkit-box-shadow .1s ease}.pl-has-annotation a,.pl-has-annotation input{cursor:help!important}.pl-has-annotation:hover{-webkit-box-shadow:0 0 3px grey;box-shadow:0 0 3px grey}.pl-has-annotation.active{-webkit-box-shadow:inset 0 0 6px #4d4c4c;box-shadow:inset 0 0 6px #4d4c4c;outline:1px dotted grey;outline-offset:-1px}.pl-c-annotation-tip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:24px!important;height:24px!important;margin-top:6px!important;margin-left:6px!important;border-radius:50%!important;background:#222!important;color:#fff!important;font-size:16px!important;position:absolute;z-index:100}.pl-c-annotations{margin:1rem 0}.pl-c-annotations__title{font-size:1.2rem!important;margin:0 0 .5rem}.pl-c-annotations .pl-c-annotations__list{counter-reset:the-count;padding:0;margin:0;list-style:none}.pl-c-annotations__item{position:relative;padding-left:1.5rem;margin-bottom:1rem;border-radius:6px;-webkit-transition:background .1s ease;transition:background .1s ease}.pl-c-annotations__item:before{content:counter(the-count);counter-increment:the-count;font-size:85%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:14px;height:14px;border-radius:50%;padding:2px;text-align:center;background:grey;color:#fff;position:absolute;top:4px;left:0}.pl-c-annotations__item.pl-is-active{outline:1px dotted grey;outline-offset:-1px}.pl-c-annotations .pl-c-annotations__item-title{margin-bottom:0}.pl-c-modal{font-family:HelveticaNeue,Helvetica,Arial,sans-serif;background:#000;color:#ccc;position:relative;top:auto;bottom:0;left:0;z-index:5;width:100%;height:50%;-webkit-transition:max-height .3s ease,-webkit-transform .3s ease;transition:max-height .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,max-height .3s ease;transition:transform .3s ease,max-height .3s ease,-webkit-transform .3s ease;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);height:50vh;overflow:hidden;border-top-left-radius:12px;border-top-right-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;bottom:0;max-height:0}.pl-c-modal.pl-is-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);max-height:9999px}.pl-c-modal__toolbar{display:-webkit-box;display:-ms-flexbox;display:flex}.pl-c-modal__close-btn{font-size:70%;background:#000;color:grey;border:0;border-radius:6px;display:inline-block;padding:.5rem .5rem .3rem;margin:0;text-decoration:none;cursor:pointer;z-index:2;-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.pl-c-modal__close-btn:focus,.pl-c-modal__close-btn:hover{background:#222;color:#fff}.pl-c-modal__close-btn:active,.pl-c-modal__close-btn:focus{outline:1px dotted grey;outline-offset:-2px}.pl-c-modal.pl-is-active .pl-c-modal__close-btn{bottom:100%}.pl-c-modal__cover{width:100%;height:100%;display:none;position:absolute;z-index:20;cursor:move}.pl-c-modal__resizer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:0;height:14px;width:100%;background:#000;z-index:2;cursor:ns-resize}.pl-c-modal__resizer:after{content:"";height:3px;width:50px;border-top:1px solid grey;border-bottom:1px solid grey;-webkit-transition:border-color .1s ease-out;transition:border-color .1s ease-out}.pl-c-modal__resizer:focus:after,.pl-c-modal__resizer:hover:after{border-color:#fff}.pl-c-modal__close-btn-icon{width:12px;height:12px;color:currentColor;fill:currentColor;-webkit-transition:fill .1s ease-out;transition:fill .1s ease-out}.pl-c-code-copy-btn{display:inline-block;position:absolute;top:.5rem;right:.5rem;padding:.2rem .4rem;background:#eee;color:#222;border:1px solid #ddd;border-radius:6px;font-family:HelveticaNeue,Helvetica,Arial,sans-serif;font-size:1rem;text-transform:lowercase;line-height:1;cursor:pointer;z-index:2;-webkit-transition:background .1s ease-out;transition:background .1s ease-out}.pl-c-code-copy-btn:focus,.pl-c-code-copy-btn:hover{background:#ccc}.pl-c-text-passage{font-size:.85rem;line-height:1.7}.pl-c-text-passage p{margin-top:0;margin-bottom:1rem}.pl-c-text-passage a{color:grey;text-decoration:underline;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.pl-c-text-passage a:focus,.pl-c-text-passage a:hover{opacity:.8}.pl-c-text-passage code[class*=language-],.pl-c-text-passage pre[class*=language-]{color:inherit}.pl-c-text-passage blockquote{padding-left:.8rem;border-left:3px solid inherit}.pl-c-text-passage hr{height:1px;background:grey;margin:2rem 0;border:0}.pl-c-text-passage h1{margin-bottom:1rem;font-weight:400}.pl-c-text-passage h2{margin:1rem 0 1rem;font-weight:400}.pl-c-text-passage h3{margin:1rem 0 1rem;font-weight:400}.pl-c-text-passage h4{margin:1rem 0 1rem;font-weight:400}.pl-c-text-passage h5{margin:1rem 0 1rem;font-weight:400}.pl-c-text-passage h6{margin:1rem 0 1rem;font-weight:400}.pl-c-text-passage ul{list-style:square;margin-left:.9rem;margin-bottom:1rem}.pl-c-text-passage ul li:last-child{margin-bottom:0}.pl-c-text-passage ol{list-style:decimal;margin-left:.9rem;margin-bottom:1rem}.pl-c-text-passage ol li:last-child{margin-bottom:0}.pl-c-text-passage li{margin-bottom:.5rem}.is-vishidden{position:absolute!important;overflow:hidden;width:1px;height:1px;padding:0;border:0;clip:rect(1px,1px,1px,1px)}.pl-c-header .pl-c-typeahead{border:0;background:#222!important;color:grey;width:100%;right:0;padding:.61rem .5rem;font-size:inherit}.pl-c-header .pl-c-typeahead:focus{background:grey;color:#fff}.pl-c-header .twitter-typeahead{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;width:100%}.pl-c-header .tt-input{background:grey;color:#fff}.pl-c-header .tt-input:hover{color:#fff;background:#222!important}.pl-c-header .tt-input:hover::-webkit-input-placeholder{color:#fff}.pl-c-header .tt-input:hover::-moz-input-placeholder{color:#fff}.pl-c-header .tt-input:focus{border-radius:0;text-transform:lowercase;color:#fff;background:#222;outline:1px dotted grey;outline-offset:-1px}.pl-c-header .tt-hint{text-transform:lowercase}.pl-c-header .tt-dropdown-menu{text-transform:lowercase;background-color:grey;width:100%;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.pl-c-header .tt-suggestion{color:#eee;padding:.8em}.pl-c-header .tt-suggestion.tt-cursor{color:#fff;background:rgba(255,255,255,.25)}.pl-c-header .tt-suggestion p{margin:0}code[class*=language-],pre[class*=language-]{color:#000;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono',monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre.line-numbers>code{position:relative}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.token a{color:inherit}.pl-c-body--theme-light .pl-c-header{background:#fff;border-bottom:1px solid #ccc}.pl-c-body--theme-light .pl-c-nav__sublist{background:0 0}.pl-c-body--theme-light .pl-c-tools__list.pl-is-active{border-bottom:1px solid #ccc;border-left:1px solid #ccc}.pl-c-body--theme-light .pl-c-nav__link--dropdown{color:#4d4c4c;background:#fff}.pl-c-body--theme-light .pl-c-nav__link--dropdown:after{color:#ccc}.pl-c-body--theme-light .pl-c-nav__sublist .pl-c-nav__link{border-left:1px solid #ccc;border-right:1px solid #ccc}@media all and (min-width:42em){.pl-c-body--theme-light .pl-c-nav__sublist>.pl-c-nav__item:last-child .pl-c-nav__link{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom:1px solid #ccc}}.pl-c-body--theme-light .pl-c-viewport-size__input{color:#4d4c4c}.pl-c-body--theme-light .pl-c-viewport-size__input:focus,.pl-c-body--theme-light .pl-c-viewport-size__input:hover{background:#ddd}.pl-c-body--theme-light .typeahead{background:#ddd!important}.pl-c-body--theme-light .pl-c-typeahead{background:#ddd!important;color:#4d4c4c!important}.pl-c-body--theme-light .tt-input{background:#eee!important;color:#4d4c4c!important}.pl-c-body--theme-light .tt-input:hover{color:#222;background:#ddd!important}.pl-c-body--theme-light .tt-input:hover::-webkit-input-placeholder{color:#222}.pl-c-body--theme-light .tt-input:hover::-moz-input-placeholder{color:#222}.pl-c-body--theme-light .pl-c-modal{background:#fff;color:#4d4c4c;border-top:1px solid #ccc}.pl-c-body--theme-light .pl-c-modal__close-btn{background:#fff;border-top:1px solid #ccc;border-left:1px solid #ccc}.pl-c-body--theme-light .pl-c-modal__close-btn:focus,.pl-c-body--theme-light .pl-c-modal__close-btn:hover{background:#fafafa;color:#4d4c4c}.pl-c-body--theme-density-cozy .pl-c-header{font-size:.85rem}.pl-c-body--theme-density-cozy .pl-c-viewport-size__input{width:44px}.pl-c-body--theme-density-cozy .pl-c-typeahead{padding:.9rem .8rem}@media all and (max-width:78em){.pl-c-body--theme-density-cozy .pl-c-size-list{display:none}}@media all and (max-width:78em){.pl-c-body--theme-density-cozy .pl-c-viewport-size{display:none}}.pl-c-body--theme-density-cozy .pl-c-tools__toggle{min-width:44px}.pl-c-body--theme-density-cozy .pl-c-viewport{top:3.28rem}.pl-c-body--theme-density-comfortable .pl-c-header{font-size:.85rem}.pl-c-body--theme-density-comfortable .pl-c-logo{max-width:4rem}.pl-c-body--theme-density-comfortable .pl-c-header .tt-suggestion{padding:1.5rem 1rem}.pl-c-body--theme-density-comfortable .pl-c-viewport-size__input{width:44px}.pl-c-body--theme-density-comfortable .pl-c-typeahead{padding:.9rem 1rem}@media all and (max-width:78em){.pl-c-body--theme-density-comfortable .pl-c-size-list{display:none}}@media all and (max-width:78em){.pl-c-body--theme-density-comfortable .pl-c-viewport-size{display:none}}.pl-c-body--theme-density-comfortable .pl-c-tools__toggle{min-width:44px}.pl-c-body--theme-density-comfortable .pl-c-viewport{top:3.8rem}@media all and (min-width:48em){.pl-c-body--theme-sidebar .pl-c-header{width:14rem;height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-bottom:0;padding:1rem;overflow:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.pl-c-body--theme-sidebar .pl-c-header::-webkit-scrollbar{width:0!important}.pl-c-body--theme-sidebar.pl-c-body--theme-light .pl-c-header{border-right:1px solid #ccc}.pl-c-body--theme-sidebar .pl-c-logo{max-width:7rem;margin:0 auto 1rem}.pl-c-body--theme-sidebar .pl-c-nav{display:block;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pl-c-body--theme-sidebar .pl-c-nav__list{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.pl-c-body--theme-sidebar .pl-c-nav__link{font-size:.85rem;padding-left:0;padding-right:0}.pl-c-body--theme-sidebar .pl-c-nav__sublist{position:relative;border-radius:0}.pl-c-body--theme-sidebar .pl-c-nav__sublist .pl-c-nav__link{padding-left:1rem}.pl-c-body--theme-sidebar .pl-c-nav__sublist--dropdown.pl-is-active{border:0;border-left:1px solid #4d4c4c}.pl-c-body--theme-sidebar.pl-c-body--theme-light .pl-c-nav__sublist--dropdown.pl-is-active{border-left-color:#eee}}@media all and (min-width:48em) and (min-width:42em){.pl-c-body--theme-sidebar .pl-c-nav__sublist--dropdown.pl-is-active{height:auto}}@media all and (min-width:48em){.pl-c-body--theme-sidebar .pl-c-nav__subsublist{border-left:1px solid #4d4c4c;margin-left:1rem}.pl-c-body--theme-sidebar.pl-c-body--theme-light .pl-c-nav__subsublist{border-left-color:#eee}.pl-c-body--theme-sidebar .pl-c-nav__sublist .pl-c-nav__link{border-left:0;border-right:0}}@media all and (min-width:48em) and (min-width:42em){.pl-c-body--theme-sidebar .pl-c-nav__sublist>.pl-c-nav__item:last-child .pl-c-nav__link{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}}@media all and (min-width:48em){.pl-c-body--theme-sidebar .pl-c-controls{margin-top:auto;margin-left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pl-c-body--theme-sidebar .pl-c-size-list{display:none}.pl-c-body--theme-sidebar .pl-c-viewport-size{display:none}.pl-c-body--theme-sidebar .pl-c-typeahead{border-radius:6px}.pl-c-body--theme-sidebar .pl-c-header .twitter-typeahead{display:block!important;margin-bottom:.5rem}.pl-c-body--theme-sidebar .pl-c-tools__toggle{display:none}.pl-c-body--theme-sidebar .pl-c-tools__list{max-height:none;overflow:visible;position:relative;border-radius:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}.pl-c-body--theme-sidebar .pl-c-tools__action{padding-left:0;padding-right:0}.pl-c-body--theme-sidebar .pl-c-viewport{top:0;left:14rem;width:auto}.pl-c-body--theme-sidebar .pl-c-viewport__iframe-wrapper{width:100%!important}.pl-c-body--theme-sidebar .pl-c-viewport__iframe{width:100%!important}.pl-c-body--theme-sidebar .pl-c-viewport{top:0;left:14rem;width:auto}.pl-c-body--theme-sidebar .pl-c-modal{left:14rem;right:0;width:auto}} \ No newline at end of file +/*------------------------------------*\ + #PATTERN LAB STYLES +\*------------------------------------*/ +/** +* NOTES: +* 1) These styles are specific to Pattern Lab and should not be modified. +* All project styles should be modified in /source/css/ +* +* 2) Any !important declarations are to prevent brand styles from overriding +* pattern lab-specific styles +*/ +/*------------------------------------*\ + #TABLE OF CONTENTS +\*------------------------------------*/ +/** + * ABSTRACTS.................Variables + * BASE......................Reset & Base elements + * COMPONENTS................Components + * UTILITIES.................Helper classes + * VENDOR....................Styles out of PL control + */ +/*------------------------------------*\ + #ABSTRACTS +\*------------------------------------*/ +/*------------------------------------*\ + #VARIABLES +\*------------------------------------*/ +/** +* These variables are specific to the Pattern Lab shell and exist +* indepenedently of any project-specific styles +*/ +/*------------------------------------*\ + #VARIABLES +\*------------------------------------*/ +/** + * List Reset + */ +/** + * Hide scrollbar + * 1) This hides scrollbars on Windows devices + */ +/** + * Header Link Style + */ +/** + * Accordion panel + */ +/*------------------------------------*\ + #BASE +\*------------------------------------*/ +/*------------------------------------*\ + #RESET +\*------------------------------------*/ +/** + * Apply border-box to all elements + * + * 1) This is a broadly-applied style that affects every + * element on the screen. This can bleed into user's styles + * but since it's been a best practice for years now we're + * going to default to this. + */ +.pl-c-body * { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +/*------------------------------------*\ + #PATTERN LAB BODY +\*------------------------------------*/ +/** +* The HTML and body elements for the Pattern Lab shell. +* 1) These exist indepenedent of any project-specific styles +* 2) Styled as IDs to avoid collisions with user tag +*/ +.pl-c-body { + margin: 0; + padding: 0; + background: #ddd; + -webkit-text-size-adjust: 100%; } + +/*------------------------------------*\ + #COMPONENTS +\*------------------------------------*/ +/** + * Pattern Lab Header + */ +/*------------------------------------*\ + #HEADER +\*------------------------------------*/ +/** +* 1) Pattern Lab's header is fixed across the top of the viewport and +* contains the primary pattern navigation, viewport resizing items, +* and tools. +* 2) Display nav and controls horizontally +*/ +.pl-c-header { + position: fixed; + top: 0; + left: 0; + z-index: 4; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + /* 2 */ + width: 100%; + background: #000; + color: #808080; + font-family: "HelveticaNeue", "Helvetica", "Arial", sans-serif; + font-size: 0.85rem; } + +/** + * Nav toggle button + * 1) Styles for the general nav toggle button, which + * only appears on small screens + */ +.pl-c-header__nav-toggle { + background: #000; + color: #808080; + text-decoration: none; + line-height: 1; + padding: 0.7rem 0.5rem; + border: 0; + text-align: left; + -webkit-transition: background 0.1s ease-out, color 0.1s ease-out; + transition: background 0.1s ease-out, color 0.1s ease-out; + /** + * Header link styles inside light theme + */ + /** + * Header link styles inside cozy theme + */ + /** + * Header link styles inside comfortable theme + */ + border: 0; } + .pl-c-header__nav-toggle:hover { + color: #fff; + background: #222; } + .pl-c-header__nav-toggle:focus, .pl-c-header__nav-toggle.active { + color: #fff; + background: #222; + outline: 1px dotted #808080; + outline-offset: -1px; } + .pl-c-body--theme-light .pl-c-header__nav-toggle { + background: #fff; + color: #4d4c4c; } + .pl-c-body--theme-density-cozy .pl-c-header__nav-toggle { + font-size: 0.85rem; + padding: 1.2rem 0.8rem; } + .pl-c-body--theme-density-comfortable .pl-c-header__nav-toggle { + font-size: 0.85rem; + padding: 1.5rem 1rem; } + @media all and (min-width: 42em) { + .pl-c-header__nav-toggle { + display: none; } } + +/*------------------------------------*\ + #LOGO +\*------------------------------------*/ +/** + * 1) An optional logo that lives in PL's header. + * 2) Displayed as a link + */ +.pl-c-logo { + max-width: 2rem; + margin: 0 1rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; } + .pl-c-logo:focus { + outline: 1px dotted #808080; + outline-offset: -1px; } + +.pl-c-logo__img { + display: block; + max-width: 100%; + height: auto; } + +/*------------------------------------*\ + #NAVIGATION +\*------------------------------------*/ +/** + * Navigation container + * 1) Collapse height on small screens. Menu trigger button + * activates nav + */ +@media all and (max-width: 42em) { + .pl-c-nav { + position: absolute; + top: 100%; + width: 100%; + overflow: hidden; + max-height: 0; + /* 1 */ + background: #000; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-transition: max-height 0.1s ease-out; + transition: max-height 0.1s ease-out; + /** + * Active navigaiton + * 1) Slide + * 2) Set the height to the vierport height minus the height + * of the header + */ } + .pl-c-nav.pl-is-active { + max-height: calc(100vh - 1rem); + /* 2 */ + overflow: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; } + .pl-c-nav.pl-is-active::-webkit-scrollbar { + width: 0 !important; } } + +@media all and (min-width: 42em) { + .pl-c-nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; } } + +/** + * Nav list + * 1) appears as an
    + * 2) display as a horizontal list on larger screens + * 3) On small screens, move the nav list after the typeahead form field + */ +.pl-c-nav__list { + z-index: 1; + margin: 0; + padding: 0; + list-style: none; } + @media all and (max-width: 42em) { + .pl-c-nav__list { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + /* 3 */ } } + @media all and (min-width: 42em) { + .pl-c-nav__list { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + /* 2 */ + -ms-flex-negative: 0; + flex-shrink: 0; } } + +/** + * Nav list item + */ +.pl-c-nav__item { + cursor: pointer; + position: relative; } + +/** + * Last sublist item + */ +@media all and (min-width: 42em) { + .pl-c-nav__sublist > .pl-c-nav__item:last-child { + overflow: hidden; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; } } + +/** + * Nav link + */ +.pl-c-nav__link { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background: #000; + color: #808080; + text-decoration: none; + line-height: 1; + padding: 0.7rem 0.5rem; + border: 0; + text-align: left; + -webkit-transition: background 0.1s ease-out, color 0.1s ease-out; + transition: background 0.1s ease-out, color 0.1s ease-out; + /** + * Header link styles inside light theme + */ + /** + * Header link styles inside cozy theme + */ + /** + * Header link styles inside comfortable theme + */ } + .pl-c-nav__link:hover { + color: #fff; + background: #222; } + .pl-c-nav__link:focus, .pl-c-nav__link.active { + color: #fff; + background: #222; + outline: 1px dotted #808080; + outline-offset: -1px; } + .pl-c-body--theme-light .pl-c-nav__link { + background: #fff; + color: #4d4c4c; } + .pl-c-body--theme-density-cozy .pl-c-nav__link { + font-size: 0.85rem; + padding: 1.2rem 0.8rem; } + .pl-c-body--theme-density-comfortable .pl-c-nav__link { + font-size: 0.85rem; + padding: 1.5rem 1rem; } + +/** + * Nav sublink + * 1) Visually differentiate sub-item links from + * the other links. Creates better hierarchy. + */ +.pl-c-nav__link--sublink { + text-transform: none; + padding-left: 1rem; } + +/** + * Nav link + */ +.pl-c-nav__link--dropdown { + /** + * Dropdown caret after accordion handle + */ + /** + * Active dropdown + */ } + .pl-c-nav__link--dropdown:after { + content: '\25bc'; + color: rgba(255, 255, 255, 0.25); + display: inline-block; + font-size: 7px; + position: relative; + top: 1px; + right: -2px; + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + .pl-c-nav__link--dropdown:hover:after, .pl-c-nav__link--dropdown:focus:after { + color: #808080; } + .pl-c-nav__link--dropdown.pl-is-active { + color: #fff; + background: #222; + /** + * Caret rotation and positioning in active dropdown + */ } + .pl-c-nav__link--dropdown.pl-is-active:after { + color: #808080; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + +/** + * Nav sublist + * 1) On larger screens, display as dropdowns that + * hang over the header + */ +.pl-c-nav__sublist { + list-style: none; + margin: 0; + padding: 0; } + @media all and (min-width: 42em) { + .pl-c-nav__sublist { + position: absolute; + top: 100%; + /* 1 */ + left: 0; + min-width: 10rem; + overflow: hidden; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; } } + +/** + * Dropdown sublist + */ +.pl-c-nav__sublist--dropdown, .pl-c-nav__subsublist--dropdown { + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + max-height: 0; + -webkit-transition: max-height 0.1s ease-out; + transition: max-height 0.1s ease-out; + /** + * Active is when accordion panel is open + */ } + .pl-c-nav__sublist--dropdown.pl-is-active, .pl-c-nav__subsublist--dropdown.pl-is-active { + max-height: none; + overflow: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; } + .pl-c-nav__sublist--dropdown.pl-is-active::-webkit-scrollbar, .pl-c-nav__subsublist--dropdown.pl-is-active::-webkit-scrollbar { + width: 0 !important; } + @media all and (min-width: 42em) { + .pl-c-nav__sublist--dropdown.pl-is-active, .pl-c-nav__subsublist--dropdown.pl-is-active { + max-height: calc(100vh - 3rem); } } + +/** + * Dropdown sublist + * 1) Set the height to the viewport height minus the height of the header + */ +/** + * Sub-navigation + * 1) Third-level links are stylistically different + * than first and second nav links. + */ +.pl-c-nav__subsublist { + list-style: none; + margin: 0; + padding: 0; } + +/*------------------------------------*\ + #ISH SIZING +\*------------------------------------*/ +/** + * Viewport size form + * 1) This is the form for the form that houses the current + * viewport size in px and em + */ +.pl-c-viewport-size { + margin: 0; + border: 0; + padding: 0.3rem 0.5rem 0.4rem; + line-height: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } + +/** + * Size input fields + */ +.pl-c-viewport-size__input { + padding: 0.1rem; + margin: 0; + border: 0; + border-radius: 3px; + background: transparent; + font-size: inherit; + color: #808080; + width: 3em; + text-align: right; + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + .pl-c-viewport-size__input::-moz-focus-inner { + padding: 0; + border: 0; } + .pl-c-viewport-size__input:hover { + color: #fff; + background: #222; } + .pl-c-viewport-size__input:active, .pl-c-viewport-size__input:focus { + color: #fff; + background: #222; + outline: 1px dotted #808080; + outline-offset: -1px; } + +/** + * Size input labels + */ +.pl-c-viewport-size__label { + display: block; + margin: 0; + padding: 0; } + +/** + * Size options + * 1) This holds the S, M, L, Rand, Disco links + * 2) Depending on the config, these number of options may be + * larger or smaller. + */ +.pl-c-size-list { + display: none; + list-style: none; + margin: 0; + padding: 0; } + @media all and (min-width: 53em) { + .pl-c-size-list { + display: block; + display: -webkit-box; + display: -ms-flexbox; + display: flex; } } + +/** + * Size actions + * 1) These are the buttons that control the viewport resizing + */ +.pl-c-size-list__action { + background: #000; + color: #808080; + text-decoration: none; + line-height: 1; + padding: 0.7rem 0.5rem; + border: 0; + text-align: left; + -webkit-transition: background 0.1s ease-out, color 0.1s ease-out; + transition: background 0.1s ease-out, color 0.1s ease-out; + /** + * Header link styles inside light theme + */ + /** + * Header link styles inside cozy theme + */ + /** + * Header link styles inside comfortable theme + */ } + .pl-c-size-list__action:hover { + color: #fff; + background: #222; } + .pl-c-size-list__action:focus, .pl-c-size-list__action.active { + color: #fff; + background: #222; + outline: 1px dotted #808080; + outline-offset: -1px; } + .pl-c-body--theme-light .pl-c-size-list__action { + background: #fff; + color: #4d4c4c; } + .pl-c-body--theme-density-cozy .pl-c-size-list__action { + font-size: 0.85rem; + padding: 1.2rem 0.8rem; } + .pl-c-body--theme-density-comfortable .pl-c-size-list__action { + font-size: 0.85rem; + padding: 1.5rem 1rem; } + +/*------------------------------------*\ + #CONTROLS +\*------------------------------------*/ +/** + * 1) Controls contains viewport resizer and tools dropdown + * 2) Right-align inside of header + */ +.pl-c-controls { + margin-left: auto; + /* 2 */ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + +/** +* Control list +*/ +.pl-c-controls__list { + list-style: none; + margin: 0; + padding: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + +/*------------------------------------*\ + #TOOLS +\*------------------------------------*/ +/** + * The tools dropdown contains more utilities such as show/hide + * pattern info and pattern search, and also links to open in a + * new window and view the documentation + */ +.pl-c-tools { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; } + +/** + * Tools menu button + * 1) This is the button that contains the toggle and + * triggers the tools dropdown list + */ +.pl-c-tools__toggle { + background: #000; + color: #808080; + text-decoration: none; + line-height: 1; + padding: 0.7rem 0.5rem; + border: 0; + text-align: left; + -webkit-transition: background 0.1s ease-out, color 0.1s ease-out; + transition: background 0.1s ease-out, color 0.1s ease-out; + /** + * Header link styles inside light theme + */ + /** + * Header link styles inside cozy theme + */ + /** + * Header link styles inside comfortable theme + */ + margin: 0; + padding-top: 0.6rem; + padding-bottom: 0.5rem; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + position: relative; + min-width: 30px; } + .pl-c-tools__toggle:hover { + color: #fff; + background: #222; } + .pl-c-tools__toggle:focus, .pl-c-tools__toggle.active { + color: #fff; + background: #222; + outline: 1px dotted #808080; + outline-offset: -1px; } + .pl-c-body--theme-light .pl-c-tools__toggle { + background: #fff; + color: #4d4c4c; } + .pl-c-body--theme-density-cozy .pl-c-tools__toggle { + font-size: 0.85rem; + padding: 1.2rem 0.8rem; } + .pl-c-body--theme-density-comfortable .pl-c-tools__toggle { + font-size: 0.85rem; + padding: 1.5rem 1rem; } + +/** + * Tools Toggle SVG icon + * 1) Cog icon + * 2) Set the width and height of the icon to be the same height of font + */ +.pl-c-tools__toggle-icon { + position: absolute; } + +/** + * Tools dropdown list + */ +.pl-c-tools__list { + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + max-height: 0; + -webkit-transition: max-height 0.1s ease-out; + transition: max-height 0.1s ease-out; + /** + * Active is when accordion panel is open + */ + position: absolute; + top: 100%; + right: 0; + z-index: 1; + width: 10rem; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; } + .pl-c-tools__list.pl-is-active { + max-height: none; + overflow: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; } + .pl-c-tools__list.pl-is-active::-webkit-scrollbar { + width: 0 !important; } + @media all and (min-width: 42em) { + .pl-c-tools__list.pl-is-active { + max-height: calc(100vh - 3rem); } } + +/** + * Tools dropdown actions + * 1) Links and buttons inside of the tools dropdown + */ +.pl-c-tools__action { + background: #000; + color: #808080; + text-decoration: none; + line-height: 1; + padding: 0.7rem 0.5rem; + border: 0; + text-align: left; + -webkit-transition: background 0.1s ease-out, color 0.1s ease-out; + transition: background 0.1s ease-out, color 0.1s ease-out; + /** + * Header link styles inside light theme + */ + /** + * Header link styles inside cozy theme + */ + /** + * Header link styles inside comfortable theme + */ + display: block; + width: 100%; + margin: 0; } + .pl-c-tools__action:hover { + color: #fff; + background: #222; } + .pl-c-tools__action:focus, .pl-c-tools__action.active { + color: #fff; + background: #222; + outline: 1px dotted #808080; + outline-offset: -1px; } + .pl-c-body--theme-light .pl-c-tools__action { + background: #fff; + color: #4d4c4c; } + .pl-c-body--theme-density-cozy .pl-c-tools__action { + font-size: 0.85rem; + padding: 1.2rem 0.8rem; } + .pl-c-body--theme-density-comfortable .pl-c-tools__action { + font-size: 0.85rem; + padding: 1.5rem 1rem; } + +/** + * Viewport + */ +/*------------------------------------*\ + #VIEWPORT +\*------------------------------------*/ +/** +* To keep user code and PL code separate, and to make +* resizing the viewport possible, PL contains an iframe +* that houses all user code. +*/ +/** +* Viewport +* 1) This wrapper div occupies all remaining viewport space after PL's header +*/ +.pl-c-viewport { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + height: calc(100vh - 2rem); + width: 100%; + position: relative; + top: 2rem; + bottom: 0; + left: 0; + right: 0; + z-index: 0; + overflow: hidden; } + +/** +* Cover +* 1) This is an invisible div that sits above the iframe and is +* used in JS for manual viewport resizing purposes. +*/ +.pl-c-viewport__cover { + width: 100%; + height: 100%; + display: none; + position: absolute; + z-index: 20; + cursor: move; } + +/** +* Viewport iframe wrapper +* 1) This is the container that houses the +* iframe and the manual resize handle +*/ +.pl-c-viewport__iframe-wrapper { + height: 100%; + position: relative; + margin: 0 auto; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-overflow-scrolling: touch; + overflow-y: auto; + overflow-x: hidden; + width: 100%; } + .pl-c-viewport__iframe-wrapper.hay-mode { + -webkit-transition: all 40s linear; + transition: all 40s linear; } + +/** +* Viewport iframe +* 1) this is the actual + + + + + +
    -
    +
    -
+ \ No newline at end of file diff --git a/packages/uikit-workshop/src/js/styleguide.js b/packages/uikit-workshop/src/js/styleguide.js index 1edc1cce01..d5a9330dd6 100755 --- a/packages/uikit-workshop/src/js/styleguide.js +++ b/packages/uikit-workshop/src/js/styleguide.js @@ -548,7 +548,7 @@ } // Open in new window link - if (document.querySelector('.pl-js-open-new-window')) { + if (document.querySelector('.pl-js-open-new-window') !== undefined) { // Set value of href to the path to the pattern document .querySelector('.pl-js-open-new-window') diff --git a/packages/uikit-workshop/src/js/url-handler.js b/packages/uikit-workshop/src/js/url-handler.js index 8aeffe4c55..21d95bc310 100755 --- a/packages/uikit-workshop/src/js/url-handler.js +++ b/packages/uikit-workshop/src/js/url-handler.js @@ -187,7 +187,7 @@ var urlHandler = { document.getElementById('title').innerHTML = 'Pattern Lab - ' + pattern; // Open in new window link - if (document.querySelector('.pl-js-open-new-window')) { + if (document.querySelector('.pl-js-open-new-window') !== undefined) { // Set value of href to the path to the pattern document .querySelector('.pl-js-open-new-window') diff --git a/packages/uikit-workshop/src/sass/pattern-lab--iframe-loader.scss b/packages/uikit-workshop/src/sass/pattern-lab--iframe-loader.scss deleted file mode 100644 index acef6edda7..0000000000 --- a/packages/uikit-workshop/src/sass/pattern-lab--iframe-loader.scss +++ /dev/null @@ -1,85 +0,0 @@ -@import 'scss/abstracts/variables'; -@import 'scss/abstracts/mixins'; - -@keyframes animateIn { - from { - transform: translate3d(-50%, -100%, 0px); - opacity: 0; - } - to { - opacity: 1; - transform: translate3d(-50%, calc(3rem - 50%), 0px); - } -} - -@keyframes rotate { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -.pl-c-loader { - z-index: 1000; - position: absolute; - top: 0; - left: 50%; - margin: auto; - max-width: $pl-space * 25; - width: calc(90vw - #{$pl-doublespace}); - border-radius: $pl-border-radius; - background: rgba($pl-color-black, 0.9); - transform: translate3d(-50%, -100%, 0px); - transition: opacity 0.3s ease, transform 0.3s ease; - pointer-events: none; - opacity: 0; - animation: animateIn ease 0.3s forwards; -} - -.pl-c-loader__content { - display: flex; - align-items: center; - pointer-events: auto; -} - -.pl-c-loader__message { - flex: 1; - padding: $pl-space; - font-size: $pl-font-size-sm-2; - color: $pl-color-white; -} - -.pl-c-loader__spinner { - position: relative; - display: inline-block; - width: $pl-doublespace * 2; - height: $pl-doublespace; -} - -.pl-c-loader-svg:not(:root) { - overflow: hidden; -} - -.pl-c-loader-svg { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - transform: translateZ(0); - animation: rotate 1s linear infinite; -} - -.pl-c-loader-svg__outer-circle { - fill: none; - stroke: $pl-color-white; - stroke-width: 15; - stroke-miterlimit: 10; -} - -.pl-c-loader-svg__inner-circle, -.pl-c-loader-svg__electron { - fill: $pl-color-gray-20; -} diff --git a/packages/uikit-workshop/src/sass/scss/base/_body.scss b/packages/uikit-workshop/src/sass/scss/base/_body.scss index c8b6dcf3da..67fc00a391 100755 --- a/packages/uikit-workshop/src/sass/scss/base/_body.scss +++ b/packages/uikit-workshop/src/sass/scss/base/_body.scss @@ -10,12 +10,6 @@ .pl-c-body { margin: 0; padding: 0; - // background: $pl-color-gray-13; - background-color: #F6F6F9; + background: $pl-color-gray-13; -webkit-text-size-adjust: 100%; - - // So the height-adjustable panel + viewport wrapper take up the space available automatically - display: flex; - flex-direction: column; - height: 100vh; // workaround to IE 11 flex-bug causing children's height to collapse in PL } \ No newline at end of file diff --git a/packages/uikit-workshop/src/sass/scss/components/_modal.scss b/packages/uikit-workshop/src/sass/scss/components/_modal.scss index 30d3e2ed88..3fa1934b5a 100755 --- a/packages/uikit-workshop/src/sass/scss/components/_modal.scss +++ b/packages/uikit-workshop/src/sass/scss/components/_modal.scss @@ -7,6 +7,7 @@ * "show pattern info" is selected on the pattern detail screen. */ .pl-c-modal { + display: none; font-family: $pl-font; background: $pl-color-black; color: $pl-color-gray-20; @@ -17,23 +18,15 @@ z-index: 5; width: 100%; height: 50%; - transition: transform 0.3s ease, max-height 0.3s ease; - transform: translate3d(0, 100%, 0); - height: 50vh; // overwritten by inline height from JS - overflow: hidden; - border-top-left-radius: 12px; // Double the inner border radius - border-top-right-radius: 12px; // Double the inner border radius - display: flex; - flex-direction: column; - bottom: 0; - max-height: 0; + transition: bottom 0.3s ease-out; /** * Active modal */ &.pl-is-active { - transform: translate3d(0, 0%, 0); - max-height: 9999px; + display: flex; + flex-direction: column; + bottom: 0; } } @@ -50,7 +43,7 @@ background: $pl-color-black; color: $pl-color-gray-50; border: 0; - border-radius: $pl-border-radius-med; + border-radius: $pl-border-radius-med $pl-border-radius-med 0 0; display: inline-block; padding: 0.5rem 0.5rem 0.3rem; margin: 0; diff --git a/packages/uikit-workshop/src/sass/scss/components/_navigation.scss b/packages/uikit-workshop/src/sass/scss/components/_navigation.scss old mode 100644 new mode 100755 index 204942468d..9c86a9e92c --- a/packages/uikit-workshop/src/sass/scss/components/_navigation.scss +++ b/packages/uikit-workshop/src/sass/scss/components/_navigation.scss @@ -21,12 +21,13 @@ /** * Active navigaiton - * 1) Slide + * 1) Slide * 2) Set the height to the vierport height minus the height * of the header */ &.pl-is-active { max-height: calc(100vh - #{$offset-top - 1rem}); /* 2 */ + // max-height: 50rem; /* 1 */ overflow: auto; @include hideScrollBar(); } @@ -174,6 +175,7 @@ */ .pl-c-nav__sublist--dropdown.pl-is-active { @media all and (min-width: $pl-bp-med) { + // height: calc(100vh - #{$offset-top}); /* 1 */ } } diff --git a/packages/uikit-workshop/src/sass/scss/components/_tabs.scss b/packages/uikit-workshop/src/sass/scss/components/_tabs.scss index 48e5fbd6bb..2efb2534f9 100755 --- a/packages/uikit-workshop/src/sass/scss/components/_tabs.scss +++ b/packages/uikit-workshop/src/sass/scss/components/_tabs.scss @@ -90,10 +90,9 @@ * 1) Tab content contains the tab panels */ .pl-c-tabs__content { - @include hideScrollBar; flex: 1 0 auto; overflow: scroll; - -webkit-overflow-scrolling: touch; + @include hideScrollBar(); height: 100%; padding-top: 0.5rem; diff --git a/packages/uikit-workshop/src/sass/scss/components/_viewport.scss b/packages/uikit-workshop/src/sass/scss/components/_viewport.scss index 821b229326..ad5a5430c8 100755 --- a/packages/uikit-workshop/src/sass/scss/components/_viewport.scss +++ b/packages/uikit-workshop/src/sass/scss/components/_viewport.scss @@ -15,15 +15,15 @@ .pl-c-viewport { display: flex; flex-direction: column; + height: calc(100vh - #{$offset-top}); // fixes the extra bit of scroll if set to 100vh width: 100%; position: relative; - margin-top: $offset-top; + top: $offset-top; bottom: 0; left: 0; right: 0; z-index: 0; overflow: hidden; - flex-grow: 1; // Share any available vertical space } /** @@ -34,16 +34,10 @@ .pl-c-viewport__cover { width: 100%; height: 100%; + display: none; position: absolute; z-index: 20; cursor: move; - // this needs to be set to display: none by default since the PL JavaScript that sets this inline to - // display none / block only fires when resizing the viewport or code drawer - display: none; - top: 0; - left: 0; - bottom: 0; - right: 0; } /** @@ -82,7 +76,6 @@ left: 0; right: 0; background-color: $pl-color-white; - max-width: 100vw; /** * Hay Mode transition diff --git a/sandbox/bolt-bolt/bolt.scss b/sandbox/bolt-bolt/bolt.scss new file mode 100644 index 0000000000..102d941ec6 --- /dev/null +++ b/sandbox/bolt-bolt/bolt.scss @@ -0,0 +1,12 @@ +// @todo Everything in here should be considered for inclusion in correct spot or deleted + + + +/* + * SHAME + */ + +// Workaround Brightcove Video Player's Hapyak CSS in a ratio component +bolt-ratio .hapyak-player:not(.hapyak-minimal-css) { + position: absolute !important; +} diff --git a/sandbox/grav/.gitignore b/sandbox/grav/.gitignore new file mode 100644 index 0000000000..644e5978d1 --- /dev/null +++ b/sandbox/grav/.gitignore @@ -0,0 +1,4 @@ +.idea +.DS_Store +cache +#logs diff --git a/sandbox/grav/.htaccess b/sandbox/grav/.htaccess new file mode 100644 index 0000000000..ef79a4bc26 --- /dev/null +++ b/sandbox/grav/.htaccess @@ -0,0 +1,75 @@ + + +RewriteEngine On + +## Begin RewriteBase +# If you are getting 500 or 404 errors on subpages, you may have to uncomment the RewriteBase entry +# You should change the '/' to your appropriate subfolder. For example if you have +# your Grav install at the root of your site '/' should work, else it might be something +# along the lines of: RewriteBase / +## + +# RewriteBase / + +## End - RewriteBase + +## Begin - X-Forwarded-Proto +# In some hosted or load balanced environments, SSL negotiation happens upstream. +# In order for Grav to recognize the connection as secure, you need to uncomment +# the following lines. +# +# RewriteCond %{HTTP:X-Forwarded-Proto} https +# RewriteRule .* - [E=HTTPS:on] +# +## End - X-Forwarded-Proto + +## Begin - Exploits +# If you experience problems on your site block out the operations listed below +# This attempts to block the most common type of exploit `attempts` to Grav +# +# Block out any script trying to base64_encode data within the URL. +RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] +# Block out any script that includes a + + + +Hello + + + + + + + diff --git a/sandbox/grav/index.php b/sandbox/grav/index.php new file mode 100644 index 0000000000..68c9049824 --- /dev/null +++ b/sandbox/grav/index.php @@ -0,0 +1,56 @@ +bin/grav install
"); +} + +if (PHP_SAPI == 'cli-server') { + if (!isset($_SERVER['PHP_CLI_ROUTER'])) { + die("PHP webserver requires a router to run Grav, please use:
php -S {$_SERVER["SERVER_NAME"]}:{$_SERVER["SERVER_PORT"]} system/router.php
"); + } +} + +use Grav\Common\Grav; +use RocketTheme\Toolbox\Event\Event; + +if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) { + die(sprintf('You are running PHP %s, but Grav needs at least PHP %s to run.', $ver, $req)); +} + +// Register the auto-loader. +$loader = require_once $autoload; + +// Set timezone to default, falls back to system if php.ini not set +date_default_timezone_set(@date_default_timezone_get()); + +// Set internal encoding if mbstring loaded +if (!extension_loaded('mbstring')) { + die("'mbstring' extension is not loaded. This is required for Grav to run correctly"); +} +mb_internal_encoding('UTF-8'); + +// Get the Grav instance +$grav = Grav::instance( + array( + 'loader' => $loader + ) +); + +// Process the page +try { + $grav->process(); +} catch (\Exception $e) { + $grav->fireEvent('onFatalException', new Event(array('exception' => $e))); + throw $e; +} diff --git a/sandbox/grav/logs/.gitkeep b/sandbox/grav/logs/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sandbox/grav/logs/grav.log b/sandbox/grav/logs/grav.log new file mode 100644 index 0000000000..58afda61ec --- /dev/null +++ b/sandbox/grav/logs/grav.log @@ -0,0 +1,54 @@ +[2017-09-16 14:34:04] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:34:05] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:34:55] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:34:56] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:34:57] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:34:57] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:35:06] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:35:07] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:35:51] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:35:51] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:37:20] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:37:21] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:38:18] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:38:19] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:38:22] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:38:23] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:40:41] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:40:42] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:40:43] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 {main} [] [] +[2017-09-16 14:40:43] grav.CRITICAL: Login Plugin failed to load. Composer dependencies not met. - Trace: #0 [internal function]: Grav\Plugin\LoginPlugin->initializeSession(Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onPluginsInitia...', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/PluginsProcessor.php(19): Grav\Common\Grav->fireEvent('onPluginsInitia...') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\PluginsProcessor->process() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #8 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('plugins', 'Plugins', Object(Closure)) #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #11 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #12 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #13 {main} [] [] +[2017-09-16 14:55:08] grav.CRITICAL: Template "@bolt/metadata.html.twig" is not defined in "_layouts/base.html.twig" at line 8. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('html') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 {main} [] [] +[2017-09-16 14:55:08] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 14:55:48] grav.CRITICAL: Class 'Symfony\Component\Finder\Finder' not found - Trace: #0 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #9 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #12 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #13 {main} [] [] +[2017-09-16 14:55:49] grav.CRITICAL: Class 'Symfony\Component\Finder\Finder' not found - Trace: #0 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #9 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #12 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #13 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #14 {main} [] [] +[2017-09-16 14:55:50] grav.CRITICAL: Class 'Symfony\Component\Finder\Finder' not found - Trace: #0 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #9 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #12 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #13 {main} [] [] +[2017-09-16 14:55:51] grav.CRITICAL: Class 'Symfony\Component\Finder\Finder' not found - Trace: #0 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #1 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #3 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #9 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #10 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #12 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #13 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #14 {main} [] [] +[2017-09-16 15:00:00] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 15:00:01] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 15:00:01] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 15:00:02] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 15:01:30] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 15:01:30] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 15:01:32] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 15:01:32] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 15:01:46] grav.CRITICAL: Template "@bolt/metadata.html.twig" is not defined in "_layouts/base.html.twig" at line 8. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('html') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 {main} [] [] +[2017-09-16 15:01:46] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 15:03:13] grav.CRITICAL: Template "@bolt/buttons.twig" is not defined in "_layouts/base.html.twig" at line 37. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('html') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 {main} [] [] +[2017-09-16 15:03:14] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 15:04:15] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 15:04:42] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 22:39:36] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 22:40:42] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 22:45:30] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] +[2017-09-16 23:29:37] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 23:29:37] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 23:29:43] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 23:29:43] grav.CRITICAL: The "/Users/sghoweri/sites/bolt/www/user/themes/bolt/pattern-lab/source/_patterns" directory does not exist. - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(54): Symfony\Component\Finder\Finder->in('/Users/sghoweri...') #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 23:31:00] grav.CRITICAL: Undefined variable: theme_dir - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(53): Whoops\Run->handleError(8, 'Undefined varia...', '/Users/sghoweri...', 53, Array) #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 23:31:00] grav.CRITICAL: Undefined variable: theme_dir - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(53): Whoops\Run->handleError(8, 'Undefined varia...', '/Users/sghoweri...', 53, Array) #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 23:31:50] grav.CRITICAL: Undefined variable: patternLabPatternsDir - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(56): Whoops\Run->handleError(8, 'Undefined varia...', '/Users/sghoweri...', 56, Array) #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 23:31:50] grav.CRITICAL: Undefined variable: patternLabPatternsDir - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(56): Whoops\Run->handleError(8, 'Undefined varia...', '/Users/sghoweri...', 56, Array) #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 23:32:08] grav.CRITICAL: Undefined variable: patternLabSourceDir - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(73): Whoops\Run->handleError(8, 'Undefined varia...', '/Users/sghoweri...', 73, Array) #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 {main} [] [] +[2017-09-16 23:32:08] grav.CRITICAL: Undefined variable: patternLabSourceDir - Trace: #0 /Users/sghoweri/sites/bolt/www/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php(73): Whoops\Run->handleError(8, 'Undefined varia...', '/Users/sghoweri...', 73, Array) #1 [internal function]: Grav\Plugin\PatternLabTwigNamespacesPlugin->onTwigLoader(Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #2 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(RocketTheme\Toolbox\Event\Event), 'onTwigLoader', Object(RocketTheme\Toolbox\Event\EventDispatcher)) #3 /Users/sghoweri/sites/bolt/www/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #4 /Users/sghoweri/sites/bolt/www/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php(23): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #5 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(288): RocketTheme\Toolbox\Event\EventDispatcher->dispatch('onTwigLoader', Object(RocketTheme\Toolbox\Event\Event)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Twig/Twig.php(102): Grav\Common\Grav->fireEvent('onTwigLoader') #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/TwigProcessor.php(18): Grav\Common\Twig\Twig->init() #8 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\TwigProcessor->process() #9 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #10 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('twig', 'Twig', Object(Closure)) #11 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #12 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #13 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #14 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #15 {main} [] [] +[2017-09-16 23:32:32] grav.CRITICAL: Template "error.ico.twig" is not defined. - Trace: #0 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Service/OutputServiceProvider.php(27): Grav\Common\Twig\Twig->processSite('ico') #1 /Users/sghoweri/sites/bolt/www/vendor/pimple/pimple/src/Pimple/Container.php(118): Grav\Common\Service\OutputServiceProvider->Grav\Common\Service\{closure}(Object(Grav\Common\Grav)) #2 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Processors/RenderProcessor.php(19): Pimple\Container->offsetGet('output') #3 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(132): Grav\Common\Processors\RenderProcessor->process() #4 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(379): Grav\Common\Grav->Grav\Common\{closure}() #5 [internal function]: Grav\Common\Grav::Grav\Common\{closure}('render', 'Render', Object(Closure)) #6 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(355): call_user_func_array(Object(Closure), Array) #7 /Users/sghoweri/sites/bolt/www/system/src/Grav/Common/Grav.php(133): Grav\Common\Grav->__call('measureTime', Array) #8 /Users/sghoweri/sites/bolt/www/index.php(52): Grav\Common\Grav->process() #9 /Users/sghoweri/sites/bolt/www/system/router.php(24): require('/Users/sghoweri...') #10 {main} [] [] diff --git a/sandbox/grav/logs/popularity/daily.json b/sandbox/grav/logs/popularity/daily.json new file mode 100644 index 0000000000..2eddabd3be --- /dev/null +++ b/sandbox/grav/logs/popularity/daily.json @@ -0,0 +1 @@ +{"16-09-2017":6} \ No newline at end of file diff --git a/sandbox/grav/logs/popularity/monthly.json b/sandbox/grav/logs/popularity/monthly.json new file mode 100644 index 0000000000..d57c852448 --- /dev/null +++ b/sandbox/grav/logs/popularity/monthly.json @@ -0,0 +1 @@ +{"09-2017":6} \ No newline at end of file diff --git a/sandbox/grav/logs/popularity/totals.json b/sandbox/grav/logs/popularity/totals.json new file mode 100644 index 0000000000..aac99c953e --- /dev/null +++ b/sandbox/grav/logs/popularity/totals.json @@ -0,0 +1 @@ +{"\/":6} \ No newline at end of file diff --git a/sandbox/grav/logs/popularity/visitors.json b/sandbox/grav/logs/popularity/visitors.json new file mode 100644 index 0000000000..dc79b2830c --- /dev/null +++ b/sandbox/grav/logs/popularity/visitors.json @@ -0,0 +1 @@ +{"UNKNOWN":1505604752} \ No newline at end of file diff --git a/sandbox/grav/pattern-kit-core/.pk-config.yml b/sandbox/grav/pattern-kit-core/.pk-config.yml new file mode 100644 index 0000000000..bd42a5709a --- /dev/null +++ b/sandbox/grav/pattern-kit-core/.pk-config.yml @@ -0,0 +1,36 @@ +title: Pattern Kit + + +namespaces: + includes: source/_includes + layouts: source/_layouts + patterns: source/_patterns + bolt: public/templates +paths: + data: + - ../../../bolt-website/pattern-lab/data + schemas: + - ../../../bolt-website/pattern-lab/schemas + templates: + - ../../../bolt-website/pattern-lab/templates + docs: + - ../../../bolt-website/pattern-lab/docs + sg: + - ../../../bolt-website/pattern-lab/sg + +extensions: + data: .data.json + schemas: .schema.json + templates: .twig + docs: .docs.md + sg: .sg.md + +categories: + - Pattern + - Component + - Layout +assets: + css: + - /source/styles/style.css + js: + footer_js: diff --git a/sandbox/grav/pattern-kit-core/composer.json b/sandbox/grav/pattern-kit-core/composer.json new file mode 100644 index 0000000000..56ecf822b2 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/composer.json @@ -0,0 +1,53 @@ +{ + "name": "pattern-lab/edition-drupal-standard", + "description": "Standard Edition of Pattern Lab for Drupal.", + "keywords": ["pattern lab", "drupal"], + "homepage": "http://patternlab.io", + "license": "GPL-2.0+", + "type": "project", + "authors": [ + { + "name": "Dave Olsen", + "email": "dmolsen@gmail.com", + "homepage": "http://dmolsen.com", + "role": "Lead Developer" + }, + { + "name": "Evan Lovely", + "homepage": "http://evanlovely.com", + "role": "Developer" + } + ], + "support": { + "issues": "https://github.com/pattern-lab/edition-drupal-standard/issues", + "wiki": "http://patternlab.io/docs/", + "source": "https://github.com/pattern-lab/edition-drupal-standard/releases" + }, + "autoload": { + "psr-0": { + "PatternLab": "core/src/" + } + }, + "repositories": [ + { + "type": "path", + "url": "./../schemas/pattern-kit" + } + ], + "minimum-stability": "dev", + "require": { + "bolt/pattern-kit": "*" + }, + "config": { + "process-timeout": 0, + "github-oauth": { + "github.com": "99b8ce633d5fe3c5db9a4855f6a7146c3793885e" + } + }, + "scripts": { + "server": "php core/console --server", + "generate": "php core/console --generate", + "watch": "php core/console --watch", + "start": "php core/console --server --quiet & php core/console --watch" + } +} diff --git a/sandbox/grav/pattern-kit-core/composer.lock b/sandbox/grav/pattern-kit-core/composer.lock new file mode 100644 index 0000000000..6712073a8b --- /dev/null +++ b/sandbox/grav/pattern-kit-core/composer.lock @@ -0,0 +1,1191 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "81e48496a53f2d235365238774fbd3bd", + "packages": [ + { + "name": "bolt/pattern-kit", + "version": "dev-feature/v0.2-rc1", + "dist": { + "type": "path", + "url": "./../schemas/pattern-kit", + "reference": "335ff419548068776e1789c4812333db126e6f77", + "shasum": null + }, + "require": { + "deralex/yaml-config-service-provider": "@dev", + "erusev/parsedown": "^1.6", + "justinrainbow/json-schema": "~1.4", + "mnapoli/front-yaml": "^1.5", + "monolog/monolog": "~1.6", + "nesbot/carbon": "~1.6", + "php": ">=5.3.3", + "psr/log": "^1.0", + "silex/silex": "=1.2.5", + "symfony/twig-bridge": "^2.3", + "symfony/yaml": "*", + "twig/twig": "1.24.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "PatternKit\\": "src" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Micah Godbolt", + "email": "micahgodbolt@gmail.com" + }, + { + "name": "Salem Ghoweri", + "url": "https://github.com/sghoweri" + } + ] + }, + { + "name": "deralex/yaml-config-service-provider", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/deralex/YamlConfigServiceProvider.git", + "reference": "20857a6f34a6276429c548ab67be6fa138457f1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/deralex/YamlConfigServiceProvider/zipball/20857a6f34a6276429c548ab67be6fa138457f1a", + "reference": "20857a6f34a6276429c548ab67be6fa138457f1a", + "shasum": "" + }, + "require": { + "silex/silex": ">=1.0 <=1.3", + "symfony/yaml": "~2.4" + }, + "require-dev": { + "phpspec/phpspec": "2.0.*@dev" + }, + "suggest": { + "symfony/yaml": "~2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "DerAlex\\Silex": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander Kluth", + "email": "contact@alexanderkluth.com" + } + ], + "description": "Silex ServiceProvider for using YAML configuration files", + "keywords": [ + "silex" + ], + "time": "2015-03-10 15:57:39" + }, + { + "name": "erusev/parsedown", + "version": "1.6.3", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "728952b90a333b5c6f77f06ea9422b94b585878d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/728952b90a333b5c6f77f06ea9422b94b585878d", + "reference": "728952b90a333b5c6f77f06ea9422b94b585878d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "time": "2017-05-14T14:47:48+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/cc84765fb7317f6b07bd8ac78364747f95b86341", + "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341", + "shasum": "" + }, + "require": { + "php": ">=5.3.29" + }, + "require-dev": { + "json-schema/json-schema-test-suite": "1.1.0", + "phpdocumentor/phpdocumentor": "~2", + "phpunit/phpunit": "~3.7" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2016-01-25T15:43:01+00:00" + }, + { + "name": "mnapoli/front-yaml", + "version": "1.5.2", + "source": { + "type": "git", + "url": "https://github.com/mnapoli/FrontYAML.git", + "reference": "f10c1dfee1604d15c2b0ab6826eecc1111d65543" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mnapoli/FrontYAML/zipball/f10c1dfee1604d15c2b0ab6826eecc1111d65543", + "reference": "f10c1dfee1604d15c2b0ab6826eecc1111d65543", + "shasum": "" + }, + "require": { + "erusev/parsedown": "~1.0", + "symfony/yaml": "~2.1|^3.0" + }, + "require-dev": { + "league/commonmark": "~0.7", + "phpunit/phpunit": "~4.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Mni\\FrontYAML\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "time": "2016-10-01T11:06:51+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.x-dev", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2017-06-19 01:22:40" + }, + { + "name": "nesbot/carbon", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "926aee5ab38c2868816aa760f862a85ad01cb61a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/926aee5ab38c2868816aa760f862a85ad01cb61a", + "reference": "926aee5ab38c2868816aa760f862a85ad01cb61a", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/translation": "~2.6 || ~3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~4.0 || ~5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.23-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2017-02-06 22:02:47" + }, + { + "name": "pimple/pimple", + "version": "1.1.x-dev", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "cae373ff3d87f8763fe78557312ec7f47f5c745c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/cae373ff3d87f8763fe78557312ec7f47f5c745c", + "reference": "cae373ff3d87f8763fe78557312ec7f47f5c745c", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2016-09-10 19:35:52" + }, + { + "name": "psr/log", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10 12:19:37" + }, + { + "name": "silex/silex", + "version": "v1.2.5", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Silex.git", + "reference": "ce75b98d82d4c509802e63005c618392db17afef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Silex/zipball/ce75b98d82d4c509802e63005c618392db17afef", + "reference": "ce75b98d82d4c509802e63005c618392db17afef", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "pimple/pimple": "~1.0", + "symfony/event-dispatcher": "~2.3,<2.7", + "symfony/http-foundation": "~2.3,<2.7", + "symfony/http-kernel": "~2.3,<2.7", + "symfony/routing": "~2.3,<2.7" + }, + "require-dev": { + "doctrine/dbal": "~2.2", + "monolog/monolog": "~1.4,>=1.4.1", + "swiftmailer/swiftmailer": "5.*", + "symfony/browser-kit": "~2.3,<2.7", + "symfony/config": "~2.3,<2.7", + "symfony/css-selector": "~2.3,<2.7", + "symfony/debug": "~2.3,<2.7", + "symfony/dom-crawler": "~2.3,<2.7", + "symfony/finder": "~2.3,<2.7", + "symfony/form": "~2.3,<2.7", + "symfony/locale": "~2.3,<2.7", + "symfony/monolog-bridge": "~2.3,<2.7", + "symfony/options-resolver": "~2.3,<2.7", + "symfony/process": "~2.3,<2.7", + "symfony/security": "~2.3,<2.7", + "symfony/serializer": "~2.3,<2.7", + "symfony/translation": "~2.3,<2.7", + "symfony/twig-bridge": "~2.3,<2.7", + "symfony/validator": "~2.3,<2.7", + "twig/twig": ">=1.8.0,<2.0-dev" + }, + "suggest": { + "symfony/browser-kit": "~2.3", + "symfony/css-selector": "~2.3", + "symfony/dom-crawler": "~2.3", + "symfony/form": "~2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Silex": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "The PHP micro-framework based on the Symfony2 Components", + "homepage": "http://silex.sensiolabs.org", + "keywords": [ + "microframework" + ], + "time": "2015-06-04T21:24:58+00:00" + }, + { + "name": "symfony/debug", + "version": "2.8.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "efc9656dcb227e1459905d5aa51e43dfec76e752" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/efc9656dcb227e1459905d5aa51e43dfec76e752", + "reference": "efc9656dcb227e1459905d5aa51e43dfec76e752", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.2|~3.0.0", + "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2|~3.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2017-08-27 14:29:03" + }, + { + "name": "symfony/event-dispatcher", + "version": "2.6.x-dev", + "target-dir": "Symfony/Component/EventDispatcher", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02", + "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.6", + "symfony/expression-language": "~2.6", + "symfony/phpunit-bridge": "~2.7", + "symfony/stopwatch": "~2.3" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" + }, + { + "name": "symfony/http-foundation", + "version": "2.6.x-dev", + "target-dir": "Symfony/Component/HttpFoundation", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "e8fd1b73ac1c3de1f76c73801ddf1a8ecb1c1c9c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e8fd1b73ac1c3de1f76c73801ddf1a8ecb1c1c9c", + "reference": "e8fd1b73ac1c3de1f76c73801ddf1a8ecb1c1c9c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "symfony/expression-language": "~2.4", + "symfony/phpunit-bridge": "~2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "classmap": [ + "Symfony/Component/HttpFoundation/Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2015-07-22 10:08:40" + }, + { + "name": "symfony/http-kernel", + "version": "2.6.x-dev", + "target-dir": "Symfony/Component/HttpKernel", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "cdd991d304fed833514dc44d6aafcf19397c26cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/cdd991d304fed833514dc44d6aafcf19397c26cb", + "reference": "cdd991d304fed833514dc44d6aafcf19397c26cb", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "psr/log": "~1.0", + "symfony/debug": "~2.6,>=2.6.2", + "symfony/event-dispatcher": "~2.6,>=2.6.7", + "symfony/http-foundation": "~2.5,>=2.5.4" + }, + "require-dev": { + "symfony/browser-kit": "~2.3", + "symfony/class-loader": "~2.1", + "symfony/config": "~2.0,>=2.0.5", + "symfony/console": "~2.3", + "symfony/css-selector": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.2", + "symfony/dom-crawler": "~2.0,>=2.0.5", + "symfony/expression-language": "~2.4", + "symfony/finder": "~2.0,>=2.0.5", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.0,>=2.0.5", + "symfony/routing": "~2.2", + "symfony/stopwatch": "~2.3", + "symfony/templating": "~2.2", + "symfony/translation": "~2.0,>=2.0.5", + "symfony/var-dumper": "~2.6" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\HttpKernel\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2016-01-14 10:11:16" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2017-06-14 15:44:48" + }, + { + "name": "symfony/routing", + "version": "2.6.x-dev", + "target-dir": "Symfony/Component/Routing", + "source": { + "type": "git", + "url": "https://github.com/symfony/Routing.git", + "reference": "0a1764d41bbb54f3864808c50569ac382b44d128" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Routing/zipball/0a1764d41bbb54f3864808c50569ac382b44d128", + "reference": "0a1764d41bbb54f3864808c50569ac382b44d128", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.2", + "symfony/expression-language": "~2.4", + "symfony/http-foundation": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.0,>=2.0.5" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\Routing\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2015-07-09 16:02:48" + }, + { + "name": "symfony/translation", + "version": "3.2.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "df36a48672b929bf3995eb62c58d83004b1d0d50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/df36a48672b929bf3995eb62c58d83004b1d0d50", + "reference": "df36a48672b929bf3995eb62c58d83004b1d0d50", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "^2.8.18|^3.2.5", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2017-06-24 16:45:17" + }, + { + "name": "symfony/twig-bridge", + "version": "v2.8.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "5e9679f7085e99adb5248e07b4677494b8f884b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/5e9679f7085e99adb5248e07b4677494b8f884b5", + "reference": "5e9679f7085e99adb5248e07b4677494b8f884b5", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "twig/twig": "~1.23|~2.0" + }, + "require-dev": { + "symfony/asset": "~2.7|~3.0.0", + "symfony/console": "~2.8|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/finder": "~2.3|~3.0.0", + "symfony/form": "~2.8.4", + "symfony/http-kernel": "~2.8|~3.0.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/routing": "~2.2|~3.0.0", + "symfony/security": "~2.6|~3.0.0", + "symfony/security-acl": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.2|~3.0.0", + "symfony/templating": "~2.1|~3.0.0", + "symfony/translation": "~2.7|~3.0.0", + "symfony/var-dumper": "~2.7.16|~2.8.9|~3.0.9", + "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security": "For using the SecurityExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/templating": "For using the TwigEngine", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Twig Bridge", + "homepage": "https://symfony.com", + "time": "2016-09-06T10:55:00+00:00" + }, + { + "name": "symfony/yaml", + "version": "2.8.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "4c29dec8d489c4e37cf87ccd7166cd0b0e6a45c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4c29dec8d489c4e37cf87ccd7166cd0b0e6a45c5", + "reference": "4c29dec8d489c4e37cf87ccd7166cd0b0e6a45c5", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2017-06-01 20:52:29" + }, + { + "name": "twig/twig", + "version": "v1.24.2", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "33093f6e310e6976baeac7b14f3a6ec02f2d79b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/33093f6e310e6976baeac7b14f3a6ec02f2d79b7", + "reference": "33093f6e310e6976baeac7b14f3a6ec02f2d79b7", + "shasum": "" + }, + "require": { + "php": ">=5.2.7" + }, + "require-dev": { + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.24-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2016-09-01T17:50:53+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/sandbox/grav/pattern-kit-core/index.php b/sandbox/grav/pattern-kit-core/index.php new file mode 100644 index 0000000000..b10a24a47d --- /dev/null +++ b/sandbox/grav/pattern-kit-core/index.php @@ -0,0 +1,6 @@ +run(); diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/.gitignore b/sandbox/grav/pattern-kit-core/pattern-kit/.gitignore new file mode 100644 index 0000000000..a156070537 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/.gitignore @@ -0,0 +1,5 @@ +.DS_Store +.idea +storage/logs/*.log +composer.lock +vendor diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/.pk-config.yml b/sandbox/grav/pattern-kit-core/pattern-kit/.pk-config.yml new file mode 100644 index 0000000000..59f60f0fa8 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/.pk-config.yml @@ -0,0 +1,34 @@ +title: Pattern Kit + +paths: + data: + - /resources/fixtures + test_data: + - /resources/fixtures + schemas: + - /resources/fixtures + templates: + - /resources/fixtures + docs: + - /resources/fixtures + sg: + - /resources/fixtures +extensions: + data: .docs.json + test_data: .test.json + schemas: .json + templates: .twig + docs: .docs.md + sg: .sg.md +categories: + - Pattern + - Sub Pattern + - Layout + - Component + - Atom +assets: + css: + js: + footer_js: +dev: true + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/CHANGELOG-1.x.md b/sandbox/grav/pattern-kit-core/pattern-kit/CHANGELOG-1.x.md new file mode 100644 index 0000000000..4e3448a05e --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/CHANGELOG-1.x.md @@ -0,0 +1,24 @@ +## 1.2 Minor style tweaks and functionality additions (2017-03-09) + +Tag: [1.2](https://github.com/PatternBuilder/pattern-kit/releases/tag/V1.2) + +- Change rendering of the styleguide documentation to lean on bootstrap column grid +- Add logic to render only the tabs that work for a particular atom based on what data is present +- Add alert messaging for atoms in the preview area to flag that it will not render +- Reduce and organize CSS with section comments for clarity +- Add color to the nesting of the schema editor +- Increase size of buttons for better accessibility for those of us with poor vision :D +- Add ability to designate order on documentation in the markdown and render the secondary nav in that order +- Update jQuery package to reference CDN for consistency + + +## 1.0 support-at-data-and-yaml (2016-08-01) + +Tag: [1.0](https://github.com/PatternBuilder/pattern-kit/tree/V1.1) + +Now supporting YAML files for docs using the same basename as JSON. Also supporting @data to reference other component's doc data file. So @component would import component.docs.json or component.docs.yaml into your data file. + + +## 1.0 Initial Release (2016-06-13) + +Tag: [1.0](https://github.com/PatternBuilder/pattern-kit/tree/V1.0) diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/README.md b/sandbox/grav/pattern-kit-core/pattern-kit/README.md new file mode 100755 index 0000000000..1bdb5a82ba --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/README.md @@ -0,0 +1,94 @@ +# Pattern Kit + +Pattern Kit is an application that lets you preview your library of templates and manipulate their content by interacting with a form built from the schemas. It is both a development tool and a public facing pattern library. + +For a demo check out [Pattern Kit Demo](http://patternkit.info/sg/). + +# Installation + +Note, by following these instructions you do _not_ need to clone this git repository. + +## Create composer.json at pattern library root and require pattern kit + +``` +"require": { + "pattern-builder/pattern-kit": "@dev" +}, +"repositories": [ + { + "type": "vcs", + "url": "https://github.com/PatternBuilder/pattern-kit" + } +] +``` + +## Add index.php at pattern library root +``` +run(); + +``` + +## Add .pk-config.yml at pattern library root + +- Create arrays of paths to your data, schema, template, docs and styleguide files (relative to config) +- Set the file extensions for each file type +- List categories in order you'd like them to appear in navigation +- Create arrays of assets for css, js and footer js (including live reload if necessary) + +``` + +title: Project Title + +paths: # relative to your pattern library root + data: + - path/to/sample/data + schemas: + - path/to/schemas + templates: + - path/to/templates + docs: + - path/to/schemas-docs + sg: + - path/to/stylelguide/docs +extensions: + data: .docs.json + schemas: .json + templates: .twig + docs: .docs.md + sg: .sg.md +categories: + - Pattern + - Sub Pattern + - Layout + - Component + - Atom +assets: + css: + - path/to/css + - path/to/othercss + js: + - path/to/js + - path/to/otherjs + footer_js: + - path/to/footer_js + - path/to/otherfooter_js + - //localhost:1336/livereload.js +``` + +In your terminal, + +``` +$ cd [pattern library root] +$ composer install +``` + +# Use Pattern Kit + +Point MAMP or local PHP server at your index.php file + +php -S 0:9001 -t ./ diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/composer.json b/sandbox/grav/pattern-kit-core/pattern-kit/composer.json new file mode 100755 index 0000000000..80c9ea4aeb --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/composer.json @@ -0,0 +1,33 @@ +{ + "name": "bolt/pattern-kit", + "authors": [ + { + "name": "Micah Godbolt", + "email": "micahgodbolt@gmail.com" + }, + { + "name": "Salem Ghoweri", + "url": "https://github.com/sghoweri" + } + ], + "license": "MIT", + "require": { + "php": ">=5.3.3", + "psr/log": "^1.0", + "twig/twig": "1.24.*", + "silex/silex": "=1.2.5", + "justinrainbow/json-schema": "~1.4", + "deralex/yaml-config-service-provider": "@dev", + "monolog/monolog": "~1.6", + "nesbot/Carbon": "~1.6", + "erusev/parsedown": "^1.6", + "mnapoli/front-yaml": "^1.5", + "symfony/twig-bridge": "^2.3", + "symfony/yaml": "*" + }, + "autoload": { + "psr-0": { + "PatternKit\\": "src" + } + } +} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/index.php b/sandbox/grav/pattern-kit-core/pattern-kit/index.php new file mode 100644 index 0000000000..d3cee04004 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/index.php @@ -0,0 +1,6 @@ +run(); diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/cat.jpg b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37edc8ab57b7a08f6a8d424445baaadf48aedeb5 GIT binary patch literal 105993 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 z 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 literal 0 HcmV?d00001 diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/company-colors.sg.md b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/company-colors.sg.md new file mode 100644 index 0000000000..56cad14ff8 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/company-colors.sg.md @@ -0,0 +1,7 @@ +--- +title: Brand Colors +--- + +`$brand-primary` +
`#c00` +

diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo.docs.yaml b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo.docs.yaml new file mode 100644 index 0000000000..be2a6eb85e --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo.docs.yaml @@ -0,0 +1,2 @@ +bar: abc +baz: def diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo2.docs.json b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo2.docs.json new file mode 100644 index 0000000000..9809f3bfe2 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/foo2.docs.json @@ -0,0 +1,4 @@ +{ + "bar": "123", + "baz": "456" +} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/get-started.sg.md b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/get-started.sg.md new file mode 100644 index 0000000000..bb7fec7b27 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/get-started.sg.md @@ -0,0 +1,5 @@ +--- +title: How to get set up +--- + +This is how to get set up diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.docs.yaml b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.docs.yaml new file mode 100644 index 0000000000..1fd924f609 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.docs.yaml @@ -0,0 +1,2 @@ +src: /resources/fixtures/cat.jpg +alt: This is a photo diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.json b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.json new file mode 100644 index 0000000000..3f480cca93 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.json @@ -0,0 +1,24 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Image", + "category": "atom", + "type": "object", + "format": "grid", + "properties": { + "name": { + "type": "string", + "default": "image", + "options": { + "hidden": true + } + }, + "src": { + "type": "string" + }, + "alt": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false +} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.twig new file mode 100644 index 0000000000..229abf64f9 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/image.twig @@ -0,0 +1 @@ +{{alt}} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/index.sg.md b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/index.sg.md new file mode 100644 index 0000000000..6dfc925b20 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/index.sg.md @@ -0,0 +1,5 @@ +--- +title: Get Started +--- + +This is the getting started Docs diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.md b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.md new file mode 100644 index 0000000000..02ba79c2d5 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.md @@ -0,0 +1,5 @@ +--- +--- + +## Docs +hello there diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.yaml b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.yaml new file mode 100644 index 0000000000..1594fa60bd --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.docs.yaml @@ -0,0 +1,9 @@ +name: test +quotation: We think of Red Hat as one of just a handful of superior engineering and support organizations in the United States. +attribution_name: John Defeo +attribution_title: President of Infrastructure, CIGNA +image: @image +foo: + - @foo + - @foo2 + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.json b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.json new file mode 100644 index 0000000000..6a6bb8ff55 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Quote", + "category": "component", + "type": "object", + "format": "grid", + "properties": { + "name": { + "type": "string", + "default": "test", + "options": { + "hidden": true + } + }, + "quotation": { + "title": "Quote Text", + "type": "string", + "format": "textarea" + }, + "attribution_name": { + "title": "Attribution", + "description": "Who said it?", + "type": "string" + }, + "attribution_title": { + "title": "Attribution Title", + "description": "What is their job title?", + "type": "string" + }, + "image": { + "$ref": "image.json" + }, + "foo": { + "type": "array", + "items": { + "type": "object", + "properties": { + "bar": { + "type": "string" + }, + "baz": { + "type": "string" + } + } + } + } + }, + "required": ["name", "quotation", "attribution_name"], + "additionalProperties": false +} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.twig new file mode 100644 index 0000000000..9cd041987b --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/fixtures/test.twig @@ -0,0 +1,15 @@ +
+ {% include 'image.twig' with image only %} +
+

{{quotation}}

+
+ {{attribution_name}}{% if attribution_title %}, {{attribution_title}}{% endif %} +
+
+
+ + +{% for item in foo %} + {{item.bar}}
+ {{item.baz}}

+{% endfor %} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/_pattern-kit-app.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/_pattern-kit-app.twig new file mode 100644 index 0000000000..6b3a9ac4da --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/_pattern-kit-app.twig @@ -0,0 +1,62 @@ +{% if app_config.dev == true %} +{% set vendor_path = "/" %} +{% else %} +{% set vendor_path = "/vendor/pattern-builder/pattern-kit/" %} +{% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + +{% block navigation %} +{% endblock %} + +
+
+ {% if block( 'secondary_nav' ) %} + + {% endif %} + + {% if block( 'left' ) %} +
+ {% block left %}{% endblock %} +
+ {% endif %} + + {% if block( 'right' ) %} +
+ {% block right %}{% endblock %} +
+ {% endif %} + +
+
+ +{% block footer %}{% endblock %} + + + + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/basic.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/basic.twig new file mode 100644 index 0000000000..6eefb845cb --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/basic.twig @@ -0,0 +1,27 @@ + + + + + + + {% for css in app_config.assets.css %} + + {% endfor %} + + {% for js in app_config.assets.js %} + + {% endfor %} + + +
+ {% if (name) or (template) %} + {% include template ?: name ~ '.twig' %} + {% else %} +

Data does not include required "name" property

+ {% endif %} +
+{% for js in app_config.assets.footer_js %} + +{% endfor %} + + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-schema.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-schema.twig new file mode 100644 index 0000000000..492907f4e5 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-schema.twig @@ -0,0 +1,97 @@ +{% extends '_pattern-kit-app.twig' %} + + + + +{% block navigation %} + {% include 'navigation.twig' with nav only %} +{% endblock %} + +{% block left %} + {% include 'iframe-holder.twig' %} +{% endblock %} + +{% block right %} + {% set json_data %} +
+

Data

+
+

+        
+ {% endset %} + + {% set twig_template %} +
{{ template_markup }}
+ {% endset %} + + {% set docs %} + {% include 'docs.twig' with { + "meta": docs_yaml, + "content": docs_content, + "data": docs_json + } only %} + {% endset %} + + {% set tabs_data = {} %} + {% if raw_schema.category == "atom" %} + {% if template_markup %} + {% set twig = { + 'title': 'Twig template', + 'content': twig_template, + 'active': false + } %} + {% endif %} + {% if json_data %} + {% set json = { + 'title': 'JSON data', + 'content': json_data, + 'active': false + } %} + {% endif %} + {% set tabs_data = { + 'tabs': [{ + 'title': 'Docs', + 'content': docs, + 'active': true + }, { + 'title': 'Schema editor', + 'content': '
', + 'active': false + }] | merge([ twig ]) | merge([ json_data ]) + } %} + {% else %} + {% set tabs_data = { + 'tabs': [{ + 'title': 'Docs', + 'content': docs, + 'active': true + },{ + 'title': 'Schema editor', + 'content': '
', + 'active': false + },{ + 'title': 'JSON data', + 'content': json_data, + 'active': false + },{ + 'title': 'Twig template', + 'content': twig_template, + 'active': false + }] + } %} + {% endif %} + + {% include 'editor-tabs.twig' with tabs_data %} + + +{% endblock %} + +{% block footer %} + +{% endblock %} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-sg.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-sg.twig new file mode 100644 index 0000000000..7b9ab94dc5 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/display-sg.twig @@ -0,0 +1,23 @@ +{% extends '_pattern-kit-app.twig' %} + + +{% block navigation %} + {% include 'navigation.twig' with nav only %} +{% endblock %} + +{% block secondary_nav %} + {% include 'secondary-nav.twig' %} +{% endblock %} + +{% block left %} +
+

{{sg_yaml.title}}

+ + {{sg_content|raw}} +
+{% endblock %} + + +{% block footer %} + +{% endblock %} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/docs.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/docs.twig new file mode 100644 index 0000000000..5e84b2d246 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/docs.twig @@ -0,0 +1 @@ +
{{ content|raw }}
diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-accordion.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-accordion.twig new file mode 100644 index 0000000000..156b381492 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-accordion.twig @@ -0,0 +1,21 @@ +
+{% for tab in tabs %} +
+ +
+
+ {{tab.content|raw}} +
+
+
+{% endfor %} +
+ + + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-tabs.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-tabs.twig new file mode 100644 index 0000000000..e6d648cfb9 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/editor-tabs.twig @@ -0,0 +1,17 @@ +
+ + + + +
+ {% for tab in tabs %} +
+ {{ tab.content|raw }} +
+ {% endfor %} +
+
diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/iframe-holder.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/iframe-holder.twig new file mode 100644 index 0000000000..7b1b6d40bc --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/iframe-holder.twig @@ -0,0 +1,21 @@ +
+ +
+{% if raw_schema.category != "atom" %} +
+
+ +
+
+
+
+
+
+{% else %} +
+

Atoms do not contain styles or often markup and thus cannot be previewed in this space.

+
+{% endif %} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/navigation.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/navigation.twig new file mode 100644 index 0000000000..d028b54d87 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/navigation.twig @@ -0,0 +1,36 @@ + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/secondary-nav.twig b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/secondary-nav.twig new file mode 100644 index 0000000000..ffc808a75f --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/resources/templates/secondary-nav.twig @@ -0,0 +1,31 @@ + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/ApiControllerProvider.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/ApiControllerProvider.php new file mode 100644 index 0000000000..22ad2573f5 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/ApiControllerProvider.php @@ -0,0 +1,134 @@ +post('/render/{target}', function (Request $request, $target) use ($app) { + + if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) { + + $contents = json_decode($request->getContent(), true); + + if (isset($app['config'])) { + $contents["app_config"] = $app['config']; + } + + if ($target == "page") { + if ($contents['name'] || $contents['template']) { + return $app['twig']->render("basic.twig", $contents); + } + else { + return "sorry"; + } + } + + if (!empty($contents["template"])) { + return $app['twig']->render($contents["template"], $contents); + } + else { + return $app['twig']->render($contents["name"] . '.twig', $contents); + } + } + }); + + + + $controllers->post('/validate', function (Request $request) use ($app) { + + if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) { + + function traverse($data, &$to_test, $i=0, $path="root") { + foreach ($data as $key => &$value) { + if (is_array($value)) { + $array_name = $key; + foreach ($value as $key=>$item) { + if (is_object($item)) { + if ($item->name) { + $location = $path . "." . $array_name . "." . $key; + $to_test[] = array("depth" => $i, "obj" => $item, "path" => $location); + } + traverse($item, $to_test, $i+1, $location); + } + } + } + } + usort($to_test, function($a, $b) { + return $b['depth'] - $a['depth']; + }); + } + + function test($data, &$reply) { + $retriever = new \JsonSchema\Uri\UriRetriever; + $refResolver = new \JsonSchema\RefResolver($retriever); + $refResolver::$maxDepth = 9999; + $validator = new \JsonSchema\Validator(); + $valid = true; + foreach ($data as $item) { + $path = get_asset_path($item['obj']->name, 'schemas'); + $schema = $retriever->retrieve('file://' . realpath($path)); + $refResolver->resolve($schema); + + //Validate + $validator->check($item['obj'], $schema); + + if (!$validator->isValid()) { + $valid = false; + foreach ($validator->getErrors() as $error) { + $path = $item['path']; + $name = $item['obj']->name; + $property = $error['property']; + $message = $error['message']; + $reply .= sprintf("Error at %s:
%s [%s] %s\n

", $path, $name, $property, $message); + } + break; + } + } + } + $to_test = array(); + $reply = ""; + $retriever = new \JsonSchema\Uri\UriRetriever; + $refResolver = new \JsonSchema\RefResolver($retriever); + $refResolver::$maxDepth = 9999; + $validator = new \JsonSchema\Validator(); + + $data = (object) json_decode($request->getContent()); + + + $path = get_asset_path($data->name, 'schemas'); + + $schema = $retriever->retrieve('file://' . realpath($path)); + + $refResolver->resolve($schema); + + //Validate + $validator->check($data, $schema); + + if ($validator->isValid()) { + $reply = "The supplied JSON validates against the schema.\n"; + } else { + $to_test[] = array("depth" => 0, "obj" => $data, "path" => "root"); + traverse($data, $to_test); + test($to_test, $reply); + } + + return $reply; + + } + + }); + + + return $controllers; + } +} +?> diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/Controllers/SchemaController.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/Controllers/SchemaController.php new file mode 100755 index 0000000000..7213904745 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/Controllers/SchemaController.php @@ -0,0 +1,58 @@ +schemaService = $service; + // } + + // public function getAll() + // { + // return new JsonResponse($this->schemaService->getAll()); + // } + + // public function save(Request $request) + // { + + // $note = $this->getDataFromRequest($request); + // return new JsonResponse(array("id" => $this->schemaService->save($note))); + + // } + + // public function update($id, Request $request) + // { + // $note = $this->getDataFromRequest($request); + // $this->schemaService->update($id, $note); + // return new JsonResponse($note); + + // } + + // public function delete($id) + // { + + // return new JsonResponse($this->schemaService->delete($id)); + + // } + + // public function getDataFromRequest(Request $request) + // { + // return $note = array( + // "note" => $request->request->get("note") + // ); + // } +} diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/RoutesLoader.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/RoutesLoader.php new file mode 100755 index 0000000000..30696d308b --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/RoutesLoader.php @@ -0,0 +1,34 @@ +app = $app; + $this->instantiateControllers(); + + } + + private function instantiateControllers() + { + $this->app['schema.controller'] = $this->app->share(function () { + return new Controllers\SchemaController(); + }); + } + + public function bindRoutesToControllers() + { + $api = $this->app["controllers_factory"]; + + $api->get('/tests/{name}/{data_array}', "schema.controller:getTests"); + + $this->app->mount('/', $api); + } +} + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/SchemaControllerProvider.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/SchemaControllerProvider.php new file mode 100644 index 0000000000..3f7ebf6626 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/SchemaControllerProvider.php @@ -0,0 +1,91 @@ +get('/{pattern}', function ($pattern) use ($app) { + + $retriever = new \JsonSchema\Uri\UriRetriever; + $path = get_asset_path($pattern, 'schemas'); + $seed_path = get_asset_path($pattern, 'data'); + $template_path = get_asset_path($pattern, 'templates'); + $docs_path = get_asset_path($pattern, 'docs'); + $data = array(); + + + + $schema = $retriever->retrieve('file://' . realpath($path)); + + // Navigation + $data['nav']= getNav($pattern); + if (array_key_exists('sg', $app["config"]["paths"])) { + $data['nav']['sg_active'] = true; + } + // end navigation + + if ($seed_path) { + + $seed_file = file_get_contents('file://' . realpath($seed_path)); + if (($pathinfo = pathinfo($seed_path)) && isset($pathinfo['extension']) && $pathinfo['extension'] == 'yaml') { + + $seed_data = Yaml::parse($seed_file); + + } + elseif (!empty($seed_file)) { + $seed_data = json_decode($seed_file, true); + } + else { + $seed_data = array(); + } + data_replace($seed_data); + } + else $seed_data = array(); + + + $refResolver = new \JsonSchema\RefResolver($retriever); + $refResolver::$maxDepth = 9999; + $refResolver->resolve($schema); + + if (isset($app['config'])) { + $data["app_config"] = $app['config']; + } + + + $docs_file = file_get_contents('file://' . realpath($docs_path)); + + $parser = new \Mni\FrontYAML\Parser;; + + $docs_data = $parser->parse($docs_file); + + $data['docs_yaml'] = $docs_data->getYAML(); + $data['docs_content'] = $docs_data->getContent(); + + $data['schema'] = json_encode($schema); + $data['docs_json'] = (array) $seed_data; + $data['starting'] = json_encode($seed_data); + $data['raw_schema'] = (array) json_decode(file_get_contents($path), true); + if ($template_path) { + $template_file = file_get_contents('file://' . realpath($template_path)); + $data['template_markup'] = $template_file; + + } + + return $app['twig']->render("display-schema.twig", $data); + + })->bind('schema'); + + return $controllers; + } +} +?> diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/StyleGuideControllerProvider.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/StyleGuideControllerProvider.php new file mode 100644 index 0000000000..fa7d296949 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/StyleGuideControllerProvider.php @@ -0,0 +1,71 @@ +get('/', function ($pattern) use ($app) { + + + $sg_path = get_asset_path($pattern, 'sg'); + + $sg_file = file_get_contents('file://' . realpath($sg_path)); + + $parser = new Parser(); + + $sg_data = $parser->parse($sg_file); + + if (isset($app['config'])) { + $data["app_config"] = $app['config']; + } + + + $data['secondary_nav'] = getDocNav($pattern); + $data['nav']= getNav($pattern); + $data['sg_yaml'] = $sg_data->getYAML(); + $data['sg_content'] = $sg_data->getContent(); + + return $app['twig']->render("display-sg.twig", $data); + })->value('pattern', "index")->bind('styleguide-home'); + + $controllers->get('/{pattern}', function ($pattern) use ($app) { + + + $sg_path = get_asset_path($pattern, 'sg'); + + $sg_file = file_get_contents('file://' . realpath($sg_path)); + + $parser = new Parser(); + + $sg_data = $parser->parse($sg_file); + + if (isset($app['config'])) { + $data["app_config"] = $app['config']; + } + + + $data['secondary_nav'] = getDocNav($pattern); + $data['nav']= getNav($pattern); + $data['sg_yaml'] = $sg_data->getYAML(); + $data['sg_content'] = $sg_data->getContent(); + + return $app['twig']->render("display-sg.twig", $data); + })->bind('styleguide'); + + + return $controllers; + } +} +?> + + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/TestsControllerProvider.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/TestsControllerProvider.php new file mode 100644 index 0000000000..567f1a03d0 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/PatternKit/TestsControllerProvider.php @@ -0,0 +1,51 @@ +get('/{name}/{data_array}', function ($name, $data_array) use ($app) { + + $data_path = get_asset_path($name, "test_data"); + + if (file_exists($data_path)) { + $file_data = json_decode(file_get_contents($data_path), true); + } + else { + trigger_error($name . " is missing an associated data file. Create " . $name . ".tests.json in the " . $name . "/library folder.

"); + exit; + } + + // Test if array of tests data + if (array_keys($file_data) == range(0, count($file_data) - 1)) { + $file_data = $file_data[$data_array]["data"]; + } + + if ($file_data['name'] || $file_data['template']) { + if (isset($app['config'])) { + $file_data["app_config"] = $app['config']; + } + return $app['twig']->render("basic.twig", $file_data); + } + else { + trigger_error($name . ".tests.json is missing a name or template value.

"); + exit; + } + + }) + ->value('data_array', 0); + + return $controllers; + } +} +?> + + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/src/app.php b/sandbox/grav/pattern-kit-core/pattern-kit/src/app.php new file mode 100644 index 0000000000..7d022002a0 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/src/app.php @@ -0,0 +1,280 @@ +register(new YamlConfigServiceProvider("./.pk-config.yml")); +$app->register(new Silex\Provider\UrlGeneratorServiceProvider()); + + +//handling CORS preflight request +$app->before(function (Request $request) { + if ($request->getMethod() === "OPTIONS") { + $response = new Response(); + $response->headers->set("Access-Control-Allow-Origin","*"); + $response->headers->set("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"); + $response->headers->set("Access-Control-Allow-Headers","Content-Type"); + $response->setStatusCode(200); + return $response->send(); + } +}, Application::EARLY_EVENT); + +//handling CORS respons with right headers +$app->after(function (Request $request, Response $response) { + $response->headers->set("Access-Control-Allow-Origin","*"); + $response->headers->set("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"); +}); + +// //accepting JSON +// $app->before(function (Request $request) { +// if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) { +// $data = json_decode($request->getContent(), true); +// $request->request->replace(is_array($data) ? $data : array()); +// } +// }); + +$app->register(new ServiceControllerServiceProvider()); + +$app->register(new HttpCacheServiceProvider(), array("http_cache.cache_dir" => ROOT_PATH . "/storage/cache",)); + +// $app->register(new MonologServiceProvider(), array( +// "monolog.logfile" => ROOT_PATH . "/storage/logs/" . Carbon::now('America/Los_Angeles')->format("Y-m-d") . ".log", +// "monolog.name" => "application" +// )); + +$app['debug'] = true; + + +// Set Up Twig + +//// Twig Template Paths +$twig_template_paths = array(); + +array_push($twig_template_paths, ROOT_PATH . '/resources/templates'); + +if (is_string($app['config']['paths']['templates'])) { + array_push($twig_template_paths, realpath('./' . $app['config']['paths']['templates']) ); +} +elseif (is_array($app['config']['paths']['templates'])) { + foreach ($app['config']['paths']['templates'] as $value) { + array_push($twig_template_paths, realpath('./' . $value)); + } +} + +//// Register Twig + +$app->register(new Silex\Provider\TwigServiceProvider(), array( + 'twig.path' => $twig_template_paths, + 'twig.options' => array( + 'strict_variables' => false + ), +)); + + +// Custom Functions + + +function data_replace(&$data) { + if (is_array($data)) { + foreach ($data as &$value) { + if (is_array($value) ) { + data_replace($value); + } + elseif (is_string($value) && $value[0] == '@') { + $file_path = 'file://' . realpath(get_asset_path(substr($value, 1), 'data')); + if (($pathinfo = pathinfo($file_path)) && isset($pathinfo['extension']) && $pathinfo['extension'] == 'yaml') { + $data_replace_with = Yaml::parse(file_get_contents($file_path)); + } + else { + $data_replace_with = json_decode(file_get_contents($file_path), true); + } + + $value = data_replace($data_replace_with); + } + } + } + return $data; +} + +//// Get path to matching asset +function get_asset_path($name, $type) { + global $app; + + if (in_array($type, array("templates", "data", "schemas", "docs", "sg", "test_data"))) { + $return = NULL; + $paths = $app['config']['paths'][$type]; + if (is_array($paths)) { + $paths = array_reverse($paths); + } + if ($paths) { + foreach ($paths as $path) { + $extension = $app['config']['extensions'][$type]; + $yaml_extension = str_replace('.json', '.yaml', $extension); + $dir = './' . $path; + $file_path = "{$dir}/{$name}{$extension}"; + $yaml_file_path = "{$dir}/{$name}{$yaml_extension}"; + if (is_dir($dir) && is_readable($file_path)) { + $return = $file_path; + break; + } + else if (is_dir($dir) && is_readable($yaml_file_path)) { + $return = $yaml_file_path; + break; + } + } + } + + return $return; + } + else { + throw new Exception($type . ' is not equal to template, data or schema'); + } +} + +//// Create Primary Navigation for pattern library + +function getNav($pattern) { + global $app; + $categories = $app['config']['categories']; + $schema_paths = array(); + $nav = array(); + $nav['title'] = $app['config']['title']; + + foreach ($app['config']['paths']['schemas'] as $path) { + $files = scandir("./" . $path); + $schema_paths[] = array( + 'location' => $path, + 'files' => $files + ); + } + + if ($categories) { + foreach ($categories as $category) { + $value = strtolower(str_replace(' ', '_', $category)); + $nav['categories'][$value] = array(); + $nav['categories'][$value]['title'] = $category; + $nav['categories'][$value]['path'] = '/' . $value; + } + } + + + foreach ($schema_paths as $path) { + foreach ($path['files'] as $file) { + if (strpos($file, 'json') !== false) { + $nav_item = array(); + $contents = json_decode(file_get_contents('./' . $path['location'] . "/" . $file), true); + $contents['name'] = substr($file, 0, -5); + $category = isset($contents['category']) ? $contents['category'] : false; + $nav_item['title'] = isset($contents['title']) ? $contents['title'] : $contents['name']; + $nav_item['path'] = $contents['name']; + if ($contents['name'] == $pattern) { + $nav_item['active'] = true; + } + if ($category) { + $nav['categories'][$category]['items'][] = $nav_item; + } + + } + } + } + return $nav; +} + + +//// Create secondary navigation for styleguide + +function getDocNav($pattern) { + global $app; + $nav = array(); + $parser = new Parser(); + + foreach ($app['config']['paths']['sg'] as $path) { + $files = glob('./' . $path .'/*' . $app['config']['extensions']['sg']); + foreach ($files as $value) { + $value_parts = str_split(basename($value), strpos(basename($value), ".")); + $nav_item = array(); + $sg_file = file_get_contents($value); + $sg_data = $parser->parse($sg_file); + $data['sg_yaml'] = $sg_data->getYAML(); + $nav_item['title'] = $data['sg_yaml']['title']; + $nav_item['order'] = $data['sg_yaml']['order']; + $nav_item['path'] = $value_parts[0]; + if ($value_parts[0] == $pattern) { + $nav_item['active'] = true; + } + if ($value_parts[0] == 'index') { + $nav_item['path'] = NULL; + array_unshift($nav, $nav_item); + } + else { + $nav[] = $nav_item; + } + } + } + return $nav; +} + + +// Mount Routes + +$app->mount('/schema', new PatternKit\SchemaControllerProvider()); +$app->mount('/api', new PatternKit\ApiControllerProvider()); +$app->mount('/tests', new PatternKit\TestsControllerProvider()); +$app->mount('/sg', new PatternKit\StyleGuideControllerProvider()); + + +$app->get('/', function () use ($app) { + $data = array(); + $data['nav'] = getNav('/'); + return $app['twig']->render("display-schema.twig", $data); +}); + + +// $app->get('/{category}', function ($category) use ($app) { + +// if (in_array($category, $app['config']['categories']) ) { +// foreach ($app['config']['paths']['schemas'] as $path) { +// $files = scandir("./" . $path); +// foreach ($files as $file) { +// $contents = json_decode(file_get_contents('./' . $path . "/" . $file), true); + +// } +// } +// } + +// return $app['twig']->render("display-schema.twig", $data); +// } + + + + + +// $app->error(function (\Exception $e, $code) use ($app) { +// $app['monolog']->addError($e->getMessage()); +// $app['monolog']->addError($e->getTraceAsString()); +// return new JsonResponse(array("statusCode" => $code, "message" => $e->getMessage(), "stacktrace" => $e->getTraceAsString())); +// }); + +return $app; + + + + +?> diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/web/css/json-editor.css b/sandbox/grav/pattern-kit-core/pattern-kit/web/css/json-editor.css new file mode 100644 index 0000000000..19047d9253 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/web/css/json-editor.css @@ -0,0 +1,430 @@ +/* Define Overpass font */ +@font-face { + font-family: Overpass; + src: url("/resources/fixtures/fonts/overpass_regular-web.eot"); + src: url("/resources/fixtures/fonts/overpass_regular-web.eot?#iefix") format("eot"), + url("/resources/fixtures/fonts/overpass_regular-web.woff") format("woff"), + url("/resources/fixtures/fonts/overpass_regular-web.ttf") format("truetype"), + url("/resources/fixtures/fonts/overpass_regular-web.svg#webfontLTZe4IYH") format("svg"); + font-weight: 600; + font-style: normal; +} + +@font-face { + font-family: Overpass; + src: url("/resources/fixtures/fonts/overpass_bold-web.eot"); + src: url("/resources/fixtures/fonts/overpass_bold-web.eot?#iefix") format("eot"), + url("/resources/fixtures/fonts/overpass_bold-web.woff") format("woff"), + url("/resources/fixtures/fonts/overpass_bold-web.ttf") format("truetype"), + url("/resources/fixtures/fonts/overpass_bold-web.svg#webfontzAU82Ltw") format("svg"); + font-weight: 800; + font-style: normal; +} + +@font-face { + font-family: Overpass; + src: url("/resources/fixtures/fonts/overpass_light-webfont.eot"); + src: url("/resources/fixtures/fonts/overpass_light-webfont.eot?#iefix") format("eot"), + url("/resources/fixtures/fonts/overpass_light-webfont.woff") format("woff"), + url("/resources/fixtures/fonts/overpass_light-webfont.ttf") format("truetype"), + url("/resources/fixtures/fonts/overpass_light-webfont.svg#webfontzAU82Ltw") format("svg"); + font-weight: 400; + font-style: normal; +} +body { + font-size: 16px; + font-family: "Overpass", Overpass, Helvetica, helvetica, arial, sans-serif; + font-weight: 100; +} + +h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { + font-family: "Overpass", Overpass, Helvetica, helvetica, arial, sans-serif; + color: #017EA3; + font-weight: 400; +} +h1, .h1 { + color: #02546d; +} +h1, .h1, h2, .h2 { + font-weight: 600; +} +a { + color: #017EA3; +} +a:hover, a:focus { + color: #0eb3e4; +} + + +.resize-overlay { + pointer-events: none; + position: relative; +} +/* Styles for the navbar */ +.navbar-inverse .navbar-nav > li > a { + color: #fff; + font-weight: 400; + font-size: 16px; +} +.navbar-inverse .navbar-header .navbar-brand:hover { + cursor: default; + color: #999; +} + +/* Styles for the pattern preview tool */ +#schema_holder .page-header { + padding-left: 60px; +} +#schema_holder + .alert { + margin: 20px 60px; +} +#display_holder { + width: 100%; + border: 0; +} +.sg-snippet-preview { + position: relative; + margin: 20px auto; +} + +.sg-snippet-resize-handle { + height: 100px; + width: 30px; + margin-top: -50px; + position: absolute; + top: 50%; + -webkit-transition: all .4s; + -moz-transition: all .4s; + transition: all .4s; +} + +.sg-snippet-resize-handle:before { + background: url('../img/icon-drag.svg') no-repeat; + position: absolute; + top: 50%; + content: ''; + height: 17px; + margin-top: -8px; + width: 11px +} + +.sg-snippet-resize-handle.pos-right { + border-right: 1px solid #ccc; + left: -40px; + cursor: e-resize +} + +.sg-snippet-resize-handle.pos-right:before { + left: 10px +} + +.sg-snippet-resize-handle.pos-left { + border-left: 1px solid #ccc; + cursor: w-resize; + right: -40px +} + +.sg-snippet-resize-handle.pos-left:before { + right: 10px +} + +.sg-snippet:hover .sg-snippet-resize-handle { + opacity: 1; + visibility: visible +} + + +@-webkit-keyframes androidBugfix { from { padding: 0; } to { padding: 0; } } +body { -webkit-animation: androidBugfix infinite 1s; } +/* Layout styles for extra large browsers, side-by-side preview + data */ +@media (min-width:1800px) { + body, html { + height: 100%; + } + .left { + width: 50%; + float: left; + height: 100%; + overflow: scroll; + } + .right { + padding: 0 1%; + height: 100%; + left: 50%; + overflow: scroll; + } +} + +/* Styles specific to the schema content */ +.right { + background: white; + padding-top: 10px; +} +.right > * { + margin-left: 10px; + margin-right: 10px; + margin-bottom: 10px; +} +.right .nav-tabs { + margin-bottom: 30px; + padding: 0 80px; +} +@media (min-width: 1800px) { + .right > .container-fluid { + margin-top: 50px; + } + .right .nav-tabs { + padding-left: 10px; + } +} + +/* Styles specific to the interactive schema preview */ +code { + color: #000000; + background-color: #f3e3e8; +} +#editor_holder { + font-size: 14px; +} + +#editor_holder .btn { + font-size: 12px; + padding: 4px 8px; +} + +#editor_holder .well > .form-control { + background-color: #fff !important; + font-size: 1.2em; + color: #017EA3; /* aqua */ + font-weight: bold !important; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +#editor_holder .list-group-item { + padding: 6px 6px; +} + +#editor_holder .panel-title { + float: left; +} + +.page-header { + padding-bottom: 9px; + margin: 40px 10px 0px; + border-bottom: 1px solid #eee; +} + +#editor_holder h1 { + font-size: 24px; + margin: 5px 0; +} + +#editor_holder h2 { + font-size: 20px; + margin: 8px 0; +} + +#editor_holder h3 { + font-size: 15px; + margin: 5px 0; +} + +#editor_holder p { + margin-bottom: 5px; +} +.help-block { + color: #3e3e3e; +} + +.json-editor-btn-collapse { + background: transparent; + border: 0; + padding: 1px 3px; + line-height: 0; +} +.json-editor-btn-collapse:hover { + background: transparent; +} +#editor_holder [data-schematype="array"]:hover > h3 .btn-group .json-editor-btn-collapse i , +#editor_holder [data-schematype="object"]:hover > h3 .btn-group .json-editor-btn-collapse i , +.json-editor-btn-collapse:hover i:before { + color: #017EA3; /* #276edc;*/ +} +.json-editor-btn-collapse i { + font-size: 1.7em; +} + + +#editor_holder .well { + margin-bottom: 10px; +} +#editor_holder [data-schematype="object"] > .well, +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well, +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well, +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well { + background-color: #e6ecf0; /* soft sky */ +} +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well, +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well, +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well .well, +#editor_holder [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well [data-schematype="object"] > .well { + background-color: #fff; +} +#editor_holder [data-schematype="array"] .well { + background: transparent;; +} + +#editor_holder [data-schematype="array"] > .well { + padding: 0; + border: 0; +} +#editor_holder [data-schematype="array"] > .well > div > .well { + margin: 0 0 15px; + padding-bottom: 10px !important; + border: 3px solid #FFF; + border-radius: 0; + background-color: rgba(205, 233, 219, 0.3); /* sage */ +} +#editor_holder [data-schematype="array"] > .well > div > .well:last-child { + padding-bottom: 0 !important; +} +#editor_holder [data-schematype="array"] > .well > div > .well label { + font-size: 14px; +} +#editor_holder [data-schematype="array"] > .well > div > .well > .btn-group { + margin: 10px 10px 10px 0; +} +#editor_holder [data-schematype="array"] > .well > .btn-group { + margin: 10px; +} +#editor_holder [data-schematype="object"] > h3 span { + font-weight: 800; + color: #212121; +} +#editor_holder [data-schematype="object"]:hover > h3 > span, +#editor_holder [data-schematype="object"] .well .well .well:hover h3 span { + color: #017EA3; /* aqua */ +} +#editor_holder [data-schematype="array"] > h3 span { + font-weight: 800; + color: #3E4551; +}, +#editor_holder [data-schematype="array"] label { + font-weight: 600; +} +#editor_holder [data-schematype="array"] > .well > div > [data-schematype="object"] { + border-bottom: 2px solid #fff; +} +#editor_holder [data-schematype="array"] > .well > div > [data-schematype="object"] > h3 { + font-size: 14px; + padding-left: 10px; + padding-top: 5px; +} +#editor_holder [data-schematype="array"] > .well > div > [data-schematype="object"] > h3 span { + display: inline-block !important; +} +#editor_holder [data-schematype="array"] > .well > div > [data-schematype="object"] > .well { + margin-bottom: 0; +} + +#json_holder { + display: block; + max-width: 1400px; + margin: 0 auto; + +} +#json_holder pre { + font-size: 14px; + font-family: monospace; +} + +#json_holder .valid { + font-size: 14px; + margin-bottom: 5px; +} +#json_holder .valid.alert-danger > br:first-child { + display: none; +} +.ace_editor { + height: 300px !important; +} +.sceditor-container *{ + box-sizing: content-box; + -moz-box-sizing: border-box; +} +.background { + display: none; + position: fixed; + top: 0; + width: 100%; + height: 100%; + z-index: 10; + background: rgba(255,255,255,.5); +} +.well .table-bordered { + border: 0px; +} +.well .table-bordered>thead>tr>th, +.well .table-bordered>tbody>tr>td { + border: 0px; +} + +.well .table-bordered>thead>tr>th , +.well .table-bordered>tbody>tr~tr { + border-top: 1px #dedede solid; +} +.navbar { + margin-bottom: 0; +} +.navbar + .container-fluid { + margin-right: 15px; + margin-left: 15px; + margin-top: 15px; +} + +/* Styles specific to styleguide / documentation */ +.docs-wrapper { + font-size: 1.1em; + max-width: 800px; +} +.right, .left { + overflow: auto; +} +.docs-wrapper a { + text-decoration: underline; +} +.docs-wrapper li { + margin-top: 3px; + margin-bottom: 8px; +} +.docs-wrapper li li { + margin-top: 3px; + margin-bottom: 1px; +} +.secondary-nav { + max-width: 300px; +} +.secondary-nav + .left > *:first-child { + margin-top: 0; +} +.secondary-nav .nav>li { + margin: 0; +} +.secondary-nav .nav>li>a { + border-bottom: 1px solid #ddd; + padding: 7px 3px; +} +code { + white-space: normal; +} +a[href="#top"] { + margin-top: -50px; + float: right; +} +hr { + border-top: 1px solid #bbb; + margin-top: 30px; + margin-bottom: 30px; +} \ No newline at end of file diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/web/img/icon-drag.svg b/sandbox/grav/pattern-kit-core/pattern-kit/web/img/icon-drag.svg new file mode 100644 index 0000000000..12df3c1ade --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/web/img/icon-drag.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/web/js/json-editor.js b/sandbox/grav/pattern-kit-core/pattern-kit/web/js/json-editor.js new file mode 100644 index 0000000000..b82b7e9ccb --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/web/js/json-editor.js @@ -0,0 +1,7774 @@ +/*! JSON Editor v0.7.23 - JSON Schema -> HTML Editor + * By Jeremy Dorn - https://github.com/jdorn/json-editor/ + * Released under the MIT license + * + * Date: 2015-09-27 + */ + +/** + * See README.md for requirements and usage info + */ + +(function() { + +/*jshint loopfunc: true */ +/* Simple JavaScript Inheritance + * By John Resig http://ejohn.org/ + * MIT Licensed. + */ +// Inspired by base2 and Prototype +var Class; +(function(){ + var initializing = false, fnTest = /xyz/.test(function(){window.postMessage("xyz");}) ? /\b_super\b/ : /.*/; + + // The base Class implementation (does nothing) + Class = function(){}; + + // Create a new Class that inherits from this class + Class.extend = function(prop) { + var _super = this.prototype; + + // Instantiate a base class (but only create the instance, + // don't run the init constructor) + initializing = true; + var prototype = new this(); + initializing = false; + + // Copy the properties over onto the new prototype + for (var name in prop) { + // Check if we're overwriting an existing function + prototype[name] = typeof prop[name] == "function" && + typeof _super[name] == "function" && fnTest.test(prop[name]) ? + (function(name, fn){ + return function() { + var tmp = this._super; + + // Add a new ._super() method that is the same method + // but on the super-class + this._super = _super[name]; + + // The method only need to be bound temporarily, so we + // remove it when we're done executing + var ret = fn.apply(this, arguments); + this._super = tmp; + + return ret; + }; + })(name, prop[name]) : + prop[name]; + } + + // The dummy class constructor + function Class() { + // All construction is actually done in the init method + if ( !initializing && this.init ) + this.init.apply(this, arguments); + } + + // Populate our constructed prototype object + Class.prototype = prototype; + + // Enforce the constructor to be what we expect + Class.prototype.constructor = Class; + + // And make this class extendable + Class.extend = arguments.callee; + + return Class; + }; + + return Class; +})(); + +// CustomEvent constructor polyfill +// From MDN +(function () { + function CustomEvent ( event, params ) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent( 'CustomEvent' ); + evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; +})(); + +// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel +// MIT license +(function() { + var lastTime = 0; + var vendors = ['ms', 'moz', 'webkit', 'o']; + for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; + window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] || + window[vendors[x]+'CancelRequestAnimationFrame']; + } + + if (!window.requestAnimationFrame) + window.requestAnimationFrame = function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function() { callback(currTime + timeToCall); }, + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + if (!window.cancelAnimationFrame) + window.cancelAnimationFrame = function(id) { + clearTimeout(id); + }; +}()); + +// Array.isArray polyfill +// From MDN +(function() { + if(!Array.isArray) { + Array.isArray = function(arg) { + return Object.prototype.toString.call(arg) === '[object Array]'; + }; + } +}()); +/** + * Taken from jQuery 2.1.3 + * + * @param obj + * @returns {boolean} + */ +var $isplainobject = function( obj ) { + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if (typeof obj !== "object" || obj.nodeType || (obj !== null && obj === obj.window)) { + return false; + } + + if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) { + return false; + } + + // If the function hasn't returned already, we're confident that + // |obj| is a plain object, created by {} or constructed with new Object + return true; +}; + +var $extend = function(destination) { + var source, i,property; + for(i=1; i 0 && (obj.length - 1) in obj)) { + for(i=0; i= waiting && !callback_fired) { + callback_fired = true; + callback(); + } + }); + } + // Request failed + else { + window.console.log(r); + throw "Failed to fetch ref via ajax- "+url; + } + }; + r.send(); + }); + + if(!waiting) { + callback(); + } + }, + expandRefs: function(schema) { + schema = $extend({},schema); + + while (schema.$ref) { + var ref = schema.$ref; + delete schema.$ref; + + if(!this.refs[ref]) ref = decodeURIComponent(ref); + + schema = this.extendSchemas(schema,this.refs[ref]); + } + return schema; + }, + expandSchema: function(schema) { + var self = this; + var extended = $extend({},schema); + var i; + + // Version 3 `type` + if(typeof schema.type === 'object') { + // Array of types + if(Array.isArray(schema.type)) { + $each(schema.type, function(key,value) { + // Schema + if(typeof value === 'object') { + schema.type[key] = self.expandSchema(value); + } + }); + } + // Schema + else { + schema.type = self.expandSchema(schema.type); + } + } + // Version 3 `disallow` + if(typeof schema.disallow === 'object') { + // Array of types + if(Array.isArray(schema.disallow)) { + $each(schema.disallow, function(key,value) { + // Schema + if(typeof value === 'object') { + schema.disallow[key] = self.expandSchema(value); + } + }); + } + // Schema + else { + schema.disallow = self.expandSchema(schema.disallow); + } + } + // Version 4 `anyOf` + if(schema.anyOf) { + $each(schema.anyOf, function(key,value) { + schema.anyOf[key] = self.expandSchema(value); + }); + } + // Version 4 `dependencies` (schema dependencies) + if(schema.dependencies) { + $each(schema.dependencies,function(key,value) { + if(typeof value === "object" && !(Array.isArray(value))) { + schema.dependencies[key] = self.expandSchema(value); + } + }); + } + // Version 4 `not` + if(schema.not) { + schema.not = this.expandSchema(schema.not); + } + + // allOf schemas should be merged into the parent + if(schema.allOf) { + for(i=0; i= schema.maximum) { + errors.push({ + path: path, + property: 'maximum', + message: this.translate('error_maximum_excl', [schema.maximum]) + }); + } + else if(!schema.exclusiveMaximum && value > schema.maximum) { + errors.push({ + path: path, + property: 'maximum', + message: this.translate('error_maximum_incl', [schema.maximum]) + }); + } + } + + // `minimum` + if(schema.hasOwnProperty('minimum')) { + if(schema.exclusiveMinimum && value <= schema.minimum) { + errors.push({ + path: path, + property: 'minimum', + message: this.translate('error_minimum_excl', [schema.minimum]) + }); + } + else if(!schema.exclusiveMinimum && value < schema.minimum) { + errors.push({ + path: path, + property: 'minimum', + message: this.translate('error_minimum_incl', [schema.minimum]) + }); + } + } + } + // String specific validation + else if(typeof value === "string") { + // `maxLength` + if(schema.maxLength) { + if((value+"").length > schema.maxLength) { + errors.push({ + path: path, + property: 'maxLength', + message: this.translate('error_maxLength', [schema.maxLength]) + }); + } + } + + // `minLength` + if(schema.minLength) { + if((value+"").length < schema.minLength) { + errors.push({ + path: path, + property: 'minLength', + message: this.translate((schema.minLength===1?'error_notempty':'error_minLength'), [schema.minLength]) + }); + } + } + + // `pattern` + if(schema.pattern) { + if(!(new RegExp(schema.pattern)).test(value)) { + errors.push({ + path: path, + property: 'pattern', + message: this.translate('error_pattern') + }); + } + } + } + // Array specific validation + else if(typeof value === "object" && value !== null && Array.isArray(value)) { + // `items` and `additionalItems` + if(schema.items) { + // `items` is an array + if(Array.isArray(schema.items)) { + for(i=0; i schema.maxItems) { + errors.push({ + path: path, + property: 'maxItems', + message: this.translate('error_maxItems', [schema.maxItems]) + }); + } + } + + // `minItems` + if(schema.minItems) { + if(value.length < schema.minItems) { + errors.push({ + path: path, + property: 'minItems', + message: this.translate('error_minItems', [schema.minItems]) + }); + } + } + + // `uniqueItems` + if(schema.uniqueItems) { + var seen = {}; + for(i=0; i schema.maxProperties) { + errors.push({ + path: path, + property: 'maxProperties', + message: this.translate('error_maxProperties', [schema.maxProperties]) + }); + } + } + + // `minProperties` + if(schema.minProperties) { + valid = 0; + for(i in value) { + if(!value.hasOwnProperty(i)) continue; + valid++; + } + if(valid < schema.minProperties) { + errors.push({ + path: path, + property: 'minProperties', + message: this.translate('error_minProperties', [schema.minProperties]) + }); + } + } + + // Version 4 `required` + if(schema.required && Array.isArray(schema.required)) { + for(i=0; i=0) { + holder = this.theme.getBlockLinkHolder(); + + link = this.theme.getBlockLink(); + link.setAttribute('target','_blank'); + + var media = document.createElement(type); + media.setAttribute('controls','controls'); + + this.theme.createMediaLink(holder,link,media); + + // When a watched field changes, update the url + this.link_watchers.push(function(vars) { + var url = href(vars); + link.setAttribute('href',url); + link.textContent = data.rel || url; + media.setAttribute('src',url); + }); + } + // Text links + else { + holder = this.theme.getBlockLink(); + holder.setAttribute('target','_blank'); + holder.textContent = data.rel; + + // When a watched field changes, update the url + this.link_watchers.push(function(vars) { + var url = href(vars); + holder.setAttribute('href',url); + holder.textContent = data.rel || url; + }); + } + + return holder; + }, + refreshWatchedFieldValues: function() { + if(!this.watched_values) return; + var watched = {}; + var changed = false; + var self = this; + + if(this.watched) { + var val,editor; + for(var name in this.watched) { + if(!this.watched.hasOwnProperty(name)) continue; + editor = self.jsoneditor.getEditor(this.watched[name]); + val = editor? editor.getValue() : null; + if(self.watched_values[name] !== val) changed = true; + watched[name] = val; + } + } + + watched.self = this.getValue(); + if(this.watched_values.self !== watched.self) changed = true; + + this.watched_values = watched; + + return changed; + }, + getWatchedFieldValues: function() { + return this.watched_values; + }, + updateHeaderText: function() { + if(this.header) { + // If the header has children, only update the text node's value + if(this.header.children.length) { + for(var i=0; i -1; + else if(this.jsoneditor.options.required_by_default) return true; + else return false; + }, + getDisplayText: function(arr) { + var disp = []; + var used = {}; + + // Determine how many times each attribute name is used. + // This helps us pick the most distinct display text for the schemas. + $each(arr,function(i,el) { + if(el.title) { + used[el.title] = used[el.title] || 0; + used[el.title]++; + } + if(el.description) { + used[el.description] = used[el.description] || 0; + used[el.description]++; + } + if(el.format) { + used[el.format] = used[el.format] || 0; + used[el.format]++; + } + if(el.type) { + used[el.type] = used[el.type] || 0; + used[el.type]++; + } + }); + + // Determine display text for each element of the array + $each(arr,function(i,el) { + var name; + + // If it's a simple string + if(typeof el === "string") name = el; + // Object + else if(el.title && used[el.title]<=1) name = el.title; + else if(el.format && used[el.format]<=1) name = el.format; + else if(el.type && used[el.type]<=1) name = el.type; + else if(el.description && used[el.description]<=1) name = el.descripton; + else if(el.title) name = el.title; + else if(el.format) name = el.format; + else if(el.type) name = el.type; + else if(el.description) name = el.description; + else if(JSON.stringify(el).length < 50) name = JSON.stringify(el); + else name = "type"; + + disp.push(name); + }); + + // Replace identical display text with "text 1", "text 2", etc. + var inc = {}; + $each(disp,function(i,name) { + inc[name] = inc[name] || 0; + inc[name]++; + + if(used[name] > 1) disp[i] = name + " " + inc[name]; + }); + + return disp; + }, + getOption: function(key) { + try { + throw "getOption is deprecated"; + } + catch(e) { + window.console.error(e); + } + + return this.options[key]; + }, + showValidationErrors: function(errors) { + + } +}); + +JSONEditor.defaults.editors["null"] = JSONEditor.AbstractEditor.extend({ + getValue: function() { + return null; + }, + setValue: function() { + this.onChange(); + }, + getNumColumns: function() { + return 2; + } +}); + +JSONEditor.defaults.editors.string = JSONEditor.AbstractEditor.extend({ + register: function() { + this._super(); + if(!this.input) return; + this.input.setAttribute('name',this.formname); + }, + unregister: function() { + this._super(); + if(!this.input) return; + this.input.removeAttribute('name'); + }, + setValue: function(value,initial,from_template) { + var self = this; + + if(this.template && !from_template) { + return; + } + + if(value === null || typeof value === 'undefined') value = ""; + else if(typeof value === "object") value = JSON.stringify(value); + else if(typeof value !== "string") value = ""+value; + + if(value === this.serialized) return; + + // Sanitize value before setting it + var sanitized = this.sanitize(value); + + if(this.input.value === sanitized) { + return; + } + + this.input.value = sanitized; + + // If using SCEditor, update the WYSIWYG + if(this.sceditor_instance) { + this.sceditor_instance.val(sanitized); + } + else if(this.epiceditor) { + this.epiceditor.importFile(null,sanitized); + } + else if(this.ace_editor) { + this.ace_editor.setValue(sanitized); + } + + var changed = from_template || this.getValue() !== value; + + this.refreshValue(); + + if(initial) this.is_dirty = false; + else if(this.jsoneditor.options.show_errors === "change") this.is_dirty = true; + + if(this.adjust_height) this.adjust_height(this.input); + + // Bubble this setValue to parents if the value changed + this.onChange(changed); + }, + getNumColumns: function() { + var min = Math.ceil(Math.max(this.getTitle().length,this.schema.maxLength||0,this.schema.minLength||0)/5); + var num; + + if(this.input_type === 'textarea') num = 6; + else if(['text','email'].indexOf(this.input_type) >= 0) num = 4; + else num = 2; + + return Math.min(12,Math.max(min,num)); + }, + build: function() { + var self = this, i; + if(!this.options.compact) this.header = this.label = this.theme.getFormInputLabel(this.getTitle()); + if(this.schema.description) this.description = this.theme.getFormInputDescription(this.schema.description); + + this.format = this.schema.format; + if(!this.format && this.schema.media && this.schema.media.type) { + this.format = this.schema.media.type.replace(/(^(application|text)\/(x-)?(script\.)?)|(-source$)/g,''); + } + if(!this.format && this.options.default_format) { + this.format = this.options.default_format; + } + if(this.options.format) { + this.format = this.options.format; + } + + // Specific format + if(this.format) { + // Text Area + if(this.format === 'textarea') { + this.input_type = 'textarea'; + this.input = this.theme.getTextareaInput(); + } + // Range Input + else if(this.format === 'range') { + this.input_type = 'range'; + var min = this.schema.minimum || 0; + var max = this.schema.maximum || Math.max(100,min+1); + var step = 1; + if(this.schema.multipleOf) { + if(min%this.schema.multipleOf) min = Math.ceil(min/this.schema.multipleOf)*this.schema.multipleOf; + if(max%this.schema.multipleOf) max = Math.floor(max/this.schema.multipleOf)*this.schema.multipleOf; + step = this.schema.multipleOf; + } + + this.input = this.theme.getRangeInput(min,max,step); + } + // Source Code + else if([ + 'actionscript', + 'batchfile', + 'bbcode', + 'c', + 'c++', + 'cpp', + 'coffee', + 'csharp', + 'css', + 'dart', + 'django', + 'ejs', + 'erlang', + 'golang', + 'handlebars', + 'haskell', + 'haxe', + 'html', + 'ini', + 'jade', + 'java', + 'javascript', + 'json', + 'less', + 'lisp', + 'lua', + 'makefile', + 'markdown', + 'matlab', + 'mysql', + 'objectivec', + 'pascal', + 'perl', + 'pgsql', + 'php', + 'python', + 'r', + 'ruby', + 'sass', + 'scala', + 'scss', + 'smarty', + 'sql', + 'stylus', + 'svg', + 'twig', + 'vbscript', + 'xml', + 'yaml' + ].indexOf(this.format) >= 0 + ) { + this.input_type = this.format; + this.source_code = true; + + this.input = this.theme.getTextareaInput(); + } + // HTML5 Input type + else { + this.input_type = this.format; + this.input = this.theme.getFormInputField(this.input_type); + } + } + // Normal text input + else { + this.input_type = 'text'; + this.input = this.theme.getFormInputField(this.input_type); + } + + // minLength, maxLength, and pattern + if(typeof this.schema.maxLength !== "undefined") this.input.setAttribute('maxlength',this.schema.maxLength); + if(typeof this.schema.pattern !== "undefined") this.input.setAttribute('pattern',this.schema.pattern); + else if(typeof this.schema.minLength !== "undefined") this.input.setAttribute('pattern','.{'+this.schema.minLength+',}'); + + if(this.options.compact) { + this.container.className += ' compact'; + } + else { + if(this.options.input_width) this.input.style.width = this.options.input_width; + } + + if(this.schema.readOnly || this.schema.readonly || this.schema.template) { + this.always_disabled = true; + this.input.disabled = true; + } + + this.input + .addEventListener('change',function(e) { + e.preventDefault(); + e.stopPropagation(); + + // Don't allow changing if this field is a template + if(self.schema.template) { + this.value = self.value; + return; + } + + var val = this.value; + + // sanitize value + var sanitized = self.sanitize(val); + if(val !== sanitized) { + this.value = sanitized; + } + + self.is_dirty = true; + + self.refreshValue(); + self.onChange(true); + }); + + if(this.options.input_height) this.input.style.height = this.options.input_height; + if(this.options.expand_height) { + this.adjust_height = function(el) { + if(!el) return; + var i, ch=el.offsetHeight; + // Input too short + if(el.offsetHeight < el.scrollHeight) { + i=0; + while(el.offsetHeight < el.scrollHeight+3) { + if(i>100) break; + i++; + ch++; + el.style.height = ch+'px'; + } + } + else { + i=0; + while(el.offsetHeight >= el.scrollHeight+3) { + if(i>100) break; + i++; + ch--; + el.style.height = ch+'px'; + } + el.style.height = (ch+1)+'px'; + } + }; + + this.input.addEventListener('keyup',function(e) { + self.adjust_height(this); + }); + this.input.addEventListener('change',function(e) { + self.adjust_height(this); + }); + this.adjust_height(); + } + + if(this.format) this.input.setAttribute('data-schemaformat',this.format); + + this.control = this.theme.getFormControl(this.label, this.input, this.description); + this.container.appendChild(this.control); + + // Any special formatting that needs to happen after the input is added to the dom + window.requestAnimationFrame(function() { + // Skip in case the input is only a temporary editor, + // otherwise, in the case of an ace_editor creation, + // it will generate an error trying to append it to the missing parentNode + if(self.input.parentNode) self.afterInputReady(); + if(self.adjust_height) self.adjust_height(self.input); + }); + + // Compile and store the template + if(this.schema.template) { + this.template = this.jsoneditor.compileTemplate(this.schema.template, this.template_engine); + this.refreshValue(); + } + else { + this.refreshValue(); + } + }, + enable: function() { + if(!this.always_disabled) { + this.input.disabled = false; + // TODO: WYSIWYG and Markdown editors + } + this._super(); + }, + disable: function() { + this.input.disabled = true; + // TODO: WYSIWYG and Markdown editors + this._super(); + }, + afterInputReady: function() { + var self = this, options; + + // Code editor + if(this.source_code) { + // WYSIWYG html and bbcode editor + if(this.options.wysiwyg && + ['html','bbcode'].indexOf(this.input_type) >= 0 && + window.jQuery && window.jQuery.fn && window.jQuery.fn.sceditor + ) { + options = $extend({},{ + plugins: self.input_type==='html'? 'xhtml' : 'bbcode', + emoticonsEnabled: false, + width: '100%', + height: 300 + },JSONEditor.plugins.sceditor,self.options.sceditor_options||{}); + + window.jQuery(self.input).sceditor(options); + + self.sceditor_instance = window.jQuery(self.input).sceditor('instance'); + + self.sceditor_instance.blur(function() { + // Get editor's value + var val = window.jQuery("
"+self.sceditor_instance.val()+"
"); + // Remove sceditor spans/divs + window.jQuery('#sceditor-start-marker,#sceditor-end-marker,.sceditor-nlf',val).remove(); + // Set the value and update + self.input.value = val.html(); + self.value = self.input.value; + self.is_dirty = true; + self.onChange(true); + }); + } + // EpicEditor for markdown (if it's loaded) + else if (this.input_type === 'markdown' && window.EpicEditor) { + this.epiceditor_container = document.createElement('div'); + this.input.parentNode.insertBefore(this.epiceditor_container,this.input); + this.input.style.display = 'none'; + + options = $extend({},JSONEditor.plugins.epiceditor,{ + container: this.epiceditor_container, + clientSideStorage: false + }); + + this.epiceditor = new window.EpicEditor(options).load(); + + this.epiceditor.importFile(null,this.getValue()); + + this.epiceditor.on('update',function() { + var val = self.epiceditor.exportFile(); + self.input.value = val; + self.value = val; + self.is_dirty = true; + self.onChange(true); + }); + } + // ACE editor for everything else + else if(window.ace) { + var mode = this.input_type; + // aliases for c/cpp + if(mode === 'cpp' || mode === 'c++' || mode === 'c') { + mode = 'c_cpp'; + } + + this.ace_container = document.createElement('div'); + this.ace_container.style.width = '100%'; + this.ace_container.style.position = 'relative'; + this.ace_container.style.height = '400px'; + this.input.parentNode.insertBefore(this.ace_container,this.input); + this.input.style.display = 'none'; + this.ace_editor = window.ace.edit(this.ace_container); + + this.ace_editor.setValue(this.getValue()); + + // The theme + if(JSONEditor.plugins.ace.theme) this.ace_editor.setTheme('ace/theme/'+JSONEditor.plugins.ace.theme); + // The mode + mode = window.ace.require("ace/mode/"+mode); + if(mode) this.ace_editor.getSession().setMode(new mode.Mode()); + + // Listen for changes + this.ace_editor.on('change',function() { + var val = self.ace_editor.getValue(); + self.input.value = val; + self.refreshValue(); + self.is_dirty = true; + self.onChange(true); + }); + } + } + + self.theme.afterInputReady(self.input); + }, + refreshValue: function() { + this.value = this.input.value; + if(typeof this.value !== "string") this.value = ''; + this.serialized = this.value; + }, + destroy: function() { + // If using SCEditor, destroy the editor instance + if(this.sceditor_instance) { + this.sceditor_instance.destroy(); + } + else if(this.epiceditor) { + this.epiceditor.unload(); + } + else if(this.ace_editor) { + this.ace_editor.destroy(); + } + + + this.template = null; + if(this.input && this.input.parentNode) this.input.parentNode.removeChild(this.input); + if(this.label && this.label.parentNode) this.label.parentNode.removeChild(this.label); + if(this.description && this.description.parentNode) this.description.parentNode.removeChild(this.description); + + this._super(); + }, + /** + * This is overridden in derivative editors + */ + sanitize: function(value) { + return value; + }, + /** + * Re-calculates the value if needed + */ + onWatchedFieldChange: function() { + var self = this, vars, j; + + // If this editor needs to be rendered by a macro template + if(this.template) { + vars = this.getWatchedFieldValues(); + this.setValue(this.template(vars),false,true); + } + + this._super(); + }, + showValidationErrors: function(errors) { + var self = this; + + if(this.jsoneditor.options.show_errors === "always") {} + else if(!this.is_dirty && this.previous_error_setting===this.jsoneditor.options.show_errors) return; + + this.previous_error_setting = this.jsoneditor.options.show_errors; + + var messages = []; + $each(errors,function(i,error) { + if(error.path === self.path) { + messages.push(error.message); + } + }); + + if(messages.length) { + this.theme.addInputError(this.input, messages.join('. ')+'.'); + } + else { + this.theme.removeInputError(this.input); + } + } +}); + +JSONEditor.defaults.editors.number = JSONEditor.defaults.editors.string.extend({ + sanitize: function(value) { + return (value+"").replace(/[^0-9\.\-eE]/g,''); + }, + getNumColumns: function() { + return 2; + }, + getValue: function() { + return this.value*1; + } +}); + +JSONEditor.defaults.editors.integer = JSONEditor.defaults.editors.number.extend({ + sanitize: function(value) { + value = value + ""; + return value.replace(/[^0-9\-]/g,''); + }, + getNumColumns: function() { + return 2; + } +}); + +JSONEditor.defaults.editors.object = JSONEditor.AbstractEditor.extend({ + getDefault: function() { + return $extend({},this.schema["default"] || {}); + }, + getChildEditors: function() { + return this.editors; + }, + register: function() { + this._super(); + if(this.editors) { + for(var i in this.editors) { + if(!this.editors.hasOwnProperty(i)) continue; + this.editors[i].register(); + } + } + }, + unregister: function() { + this._super(); + if(this.editors) { + for(var i in this.editors) { + if(!this.editors.hasOwnProperty(i)) continue; + this.editors[i].unregister(); + } + } + }, + getNumColumns: function() { + return Math.max(Math.min(12,this.maxwidth),3); + }, + enable: function() { + if(this.editjson_button) this.editjson_button.disabled = false; + if(this.addproperty_button) this.addproperty_button.disabled = false; + + this._super(); + if(this.editors) { + for(var i in this.editors) { + if(!this.editors.hasOwnProperty(i)) continue; + this.editors[i].enable(); + } + } + }, + disable: function() { + if(this.editjson_button) this.editjson_button.disabled = true; + if(this.addproperty_button) this.addproperty_button.disabled = true; + this.hideEditJSON(); + + this._super(); + if(this.editors) { + for(var i in this.editors) { + if(!this.editors.hasOwnProperty(i)) continue; + this.editors[i].disable(); + } + } + }, + layoutEditors: function() { + var self = this, i, j; + + if(!this.row_container) return; + + // Sort editors by propertyOrder + this.property_order = Object.keys(this.editors); + this.property_order = this.property_order.sort(function(a,b) { + var ordera = self.editors[a].schema.propertyOrder; + var orderb = self.editors[b].schema.propertyOrder; + if(typeof ordera !== "number") ordera = 1000; + if(typeof orderb !== "number") orderb = 1000; + + return ordera - orderb; + }); + + var container; + + if(this.format === 'grid') { + var rows = []; + $each(this.property_order, function(j,key) { + var editor = self.editors[key]; + if(editor.property_removed) return; + var found = false; + var width = editor.options.hidden? 0 : (editor.options.grid_columns || editor.getNumColumns()); + var height = editor.options.hidden? 0 : editor.container.offsetHeight; + // See if the editor will fit in any of the existing rows first + for(var i=0; i height)) { + found = i; + } + } + } + + // If there isn't a spot in any of the existing rows, start a new row + if(found === false) { + rows.push({ + width: 0, + minh: 999999, + maxh: 0, + editors: [] + }); + found = rows.length-1; + } + + rows[found].editors.push({ + key: key, + //editor: editor, + width: width, + height: height + }); + rows[found].width += width; + rows[found].minh = Math.min(rows[found].minh,height); + rows[found].maxh = Math.max(rows[found].maxh,height); + }); + + // Make almost full rows width 12 + // Do this by increasing all editors' sizes proprotionately + // Any left over space goes to the biggest editor + // Don't touch rows with a width of 6 or less + for(i=0; i rows[i].editors[biggest].width) biggest = j; + rows[i].editors[j].width *= 12/rows[i].width; + rows[i].editors[j].width = Math.floor(rows[i].editors[j].width); + new_width += rows[i].editors[j].width; + } + if(new_width < 12) rows[i].editors[biggest].width += 12-new_width; + rows[i].width = 12; + } + } + + // layout hasn't changed + if(this.layout === JSON.stringify(rows)) return false; + this.layout = JSON.stringify(rows); + + // Layout the form + container = document.createElement('div'); + for(i=0; i= this.schema.maxProperties); + + if(this.addproperty_checkboxes) { + this.addproperty_list.innerHTML = ''; + } + this.addproperty_checkboxes = {}; + + // Check for which editors can't be removed or added back + for(i in this.cached_editors) { + if(!this.cached_editors.hasOwnProperty(i)) continue; + + this.addPropertyCheckbox(i); + + if(this.isRequired(this.cached_editors[i]) && i in this.editors) { + this.addproperty_checkboxes[i].disabled = true; + } + + if(typeof this.schema.minProperties !== "undefined" && num_props <= this.schema.minProperties) { + this.addproperty_checkboxes[i].disabled = this.addproperty_checkboxes[i].checked; + if(!this.addproperty_checkboxes[i].checked) show_modal = true; + } + else if(!(i in this.editors)) { + if(!can_add && !this.schema.properties.hasOwnProperty(i)) { + this.addproperty_checkboxes[i].disabled = true; + } + else { + this.addproperty_checkboxes[i].disabled = false; + show_modal = true; + } + } + else { + show_modal = true; + can_remove = true; + } + } + + if(this.canHaveAdditionalProperties()) { + show_modal = true; + } + + // Additional addproperty checkboxes not tied to a current editor + for(i in this.schema.properties) { + if(!this.schema.properties.hasOwnProperty(i)) continue; + if(this.cached_editors[i]) continue; + show_modal = true; + this.addPropertyCheckbox(i); + } + + // If no editors can be added or removed, hide the modal button + if(!show_modal) { + this.hideAddProperty(); + this.addproperty_controls.style.display = 'none'; + } + // If additional properties are disabled + else if(!this.canHaveAdditionalProperties()) { + this.addproperty_add.style.display = 'none'; + this.addproperty_input.style.display = 'none'; + } + // If no new properties can be added + else if(!can_add) { + this.addproperty_add.disabled = true; + } + // If new properties can be added + else { + this.addproperty_add.disabled = false; + } + }, + isRequired: function(editor) { + if(typeof editor.schema.required === "boolean") return editor.schema.required; + else if(Array.isArray(this.schema.required)) return this.schema.required.indexOf(editor.key) > -1; + else if(this.jsoneditor.options.required_by_default) return true; + else return false; + }, + setValue: function(value, initial) { + var self = this; + value = value || {}; + + if(typeof value !== "object" || Array.isArray(value)) value = {}; + + // First, set the values for all of the defined properties + $each(this.cached_editors, function(i,editor) { + // Value explicitly set + if(typeof value[i] !== "undefined") { + self.addObjectProperty(i); + editor.setValue(value[i],initial); + } + // Otherwise, remove value unless this is the initial set or it's required + else if(!initial && !self.isRequired(editor)) { + self.removeObjectProperty(i); + } + // Otherwise, set the value to the default + else { + editor.setValue(editor.getDefault(),initial); + } + }); + + $each(value, function(i,val) { + if(!self.cached_editors[i]) { + self.addObjectProperty(i); + if(self.editors[i]) self.editors[i].setValue(val,initial); + } + }); + + this.refreshValue(); + this.layoutEditors(); + this.onChange(); + }, + showValidationErrors: function(errors) { + var self = this; + + // Get all the errors that pertain to this editor + var my_errors = []; + var other_errors = []; + $each(errors, function(i,error) { + if(error.path === self.path) { + my_errors.push(error); + } + else { + other_errors.push(error); + } + }); + + // Show errors for this editor + if(this.error_holder) { + if(my_errors.length) { + var message = []; + this.error_holder.innerHTML = ''; + this.error_holder.style.display = ''; + $each(my_errors, function(i,error) { + self.error_holder.appendChild(self.theme.getErrorMessage(error.message)); + }); + } + // Hide error area + else { + this.error_holder.style.display = 'none'; + } + } + + // Show error for the table row if this is inside a table + if(this.options.table_row) { + if(my_errors.length) { + this.theme.addTableRowError(this.container); + } + else { + this.theme.removeTableRowError(this.container); + } + } + + // Show errors for child editors + $each(this.editors, function(i,editor) { + editor.showValidationErrors(other_errors); + }); + } +}); + +JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({ + getDefault: function() { + return this.schema["default"] || []; + }, + register: function() { + this._super(); + if(this.rows) { + for(var i=0; i= this.schema.items.length) { + if(this.schema.additionalItems===true) { + return {}; + } + else if(this.schema.additionalItems) { + return $extend({},this.schema.additionalItems); + } + } + else { + return $extend({},this.schema.items[i]); + } + } + else if(this.schema.items) { + return $extend({},this.schema.items); + } + else { + return {}; + } + }, + getItemInfo: function(i) { + var schema = this.getItemSchema(i); + + // Check if it's cached + this.item_info = this.item_info || {}; + var stringified = JSON.stringify(schema); + if(typeof this.item_info[stringified] !== "undefined") return this.item_info[stringified]; + + // Get the schema for this item + schema = this.jsoneditor.expandRefs(schema); + + this.item_info[stringified] = { + title: schema.title || "item", + 'default': schema["default"], + width: 12, + child_editors: schema.properties || schema.items + }; + + return this.item_info[stringified]; + }, + getElementEditor: function(i) { + var item_info = this.getItemInfo(i); + var schema = this.getItemSchema(i); + schema = this.jsoneditor.expandRefs(schema); + schema.title = item_info.title+' '+(i+1); + + var editor = this.jsoneditor.getEditorClass(schema); + + var holder; + if(this.tabs_holder) { + holder = this.theme.getTabContent(); + } + else if(item_info.child_editors) { + holder = this.theme.getChildEditorHolder(); + } + else { + holder = this.theme.getIndentedPanel(); + } + + this.row_holder.appendChild(holder); + + var ret = this.jsoneditor.createEditor(editor,{ + jsoneditor: this.jsoneditor, + schema: schema, + container: holder, + path: this.path+'.'+i, + parent: this, + required: true + }); + ret.preBuild(); + ret.build(); + ret.postBuild(); + + if(!ret.title_controls) { + ret.array_controls = this.theme.getButtonHolder(); + holder.appendChild(ret.array_controls); + } + + return ret; + }, + destroy: function() { + this.empty(true); + if(this.title && this.title.parentNode) this.title.parentNode.removeChild(this.title); + if(this.description && this.description.parentNode) this.description.parentNode.removeChild(this.description); + if(this.row_holder && this.row_holder.parentNode) this.row_holder.parentNode.removeChild(this.row_holder); + if(this.controls && this.controls.parentNode) this.controls.parentNode.removeChild(this.controls); + if(this.panel && this.panel.parentNode) this.panel.parentNode.removeChild(this.panel); + + this.rows = this.row_cache = this.title = this.description = this.row_holder = this.panel = this.controls = null; + + this._super(); + }, + empty: function(hard) { + if(!this.rows) return; + var self = this; + $each(this.rows,function(i,row) { + if(hard) { + if(row.tab && row.tab.parentNode) row.tab.parentNode.removeChild(row.tab); + self.destroyRow(row,true); + self.row_cache[i] = null; + } + self.rows[i] = null; + }); + self.rows = []; + if(hard) self.row_cache = []; + }, + destroyRow: function(row,hard) { + var holder = row.container; + if(hard) { + row.destroy(); + if(holder.parentNode) holder.parentNode.removeChild(holder); + if(row.tab && row.tab.parentNode) row.tab.parentNode.removeChild(row.tab); + } + else { + if(row.tab) row.tab.style.display = 'none'; + holder.style.display = 'none'; + row.unregister(); + } + }, + getMax: function() { + if((Array.isArray(this.schema.items)) && this.schema.additionalItems === false) { + return Math.min(this.schema.items.length,this.schema.maxItems || Infinity); + } + else { + return this.schema.maxItems || Infinity; + } + }, + refreshTabs: function(refresh_headers) { + var self = this; + $each(this.rows, function(i,row) { + if(!row.tab) return; + + if(refresh_headers) { + row.tab_text.textContent = row.getHeaderText(); + } + else { + if(row.tab === self.active_tab) { + self.theme.markTabActive(row.tab); + row.container.style.display = ''; + } + else { + self.theme.markTabInactive(row.tab); + row.container.style.display = 'none'; + } + } + }); + }, + setValue: function(value, initial) { + // Update the array's value, adding/removing rows when necessary + value = value || []; + + if(!(Array.isArray(value))) value = [value]; + + var serialized = JSON.stringify(value); + if(serialized === this.serialized) return; + + // Make sure value has between minItems and maxItems items in it + if(this.schema.minItems) { + while(value.length < this.schema.minItems) { + value.push(this.getItemInfo(value.length)["default"]); + } + } + if(this.getMax() && value.length > this.getMax()) { + value = value.slice(0,this.getMax()); + } + + var self = this; + $each(value,function(i,val) { + if(self.rows[i]) { + // TODO: don't set the row's value if it hasn't changed + self.rows[i].setValue(val,initial); + } + else if(self.row_cache[i]) { + self.rows[i] = self.row_cache[i]; + self.rows[i].setValue(val,initial); + self.rows[i].container.style.display = ''; + if(self.rows[i].tab) self.rows[i].tab.style.display = ''; + self.rows[i].register(); + } + else { + self.addRow(val,initial); + } + }); + + for(var j=value.length; j= this.rows.length; + + $each(this.rows,function(i,editor) { + // Hide the move down button for the last row + if(editor.movedown_button) { + if(i === self.rows.length - 1) { + editor.movedown_button.style.display = 'none'; + } + else { + editor.movedown_button.style.display = ''; + } + } + + // Hide the delete button if we have minItems items + if(editor.delete_button) { + if(minItems) { + editor.delete_button.style.display = 'none'; + } + else { + editor.delete_button.style.display = ''; + } + } + + // Get the value for this editor + self.value[i] = editor.getValue(); + }); + + var controls_needed = false; + + if(!this.value.length) { + this.delete_last_row_button.style.display = 'none'; + this.remove_all_rows_button.style.display = 'none'; + } + else if(this.value.length === 1) { + this.remove_all_rows_button.style.display = 'none'; + + // If there are minItems items in the array, hide the delete button beneath the rows + if(minItems || this.hide_delete_buttons) { + this.delete_last_row_button.style.display = 'none'; + } + else { + this.delete_last_row_button.style.display = ''; + controls_needed = true; + } + } + else { + // If there are minItems items in the array, hide the delete button beneath the rows + if(minItems || this.hide_delete_buttons) { + this.delete_last_row_button.style.display = 'none'; + this.remove_all_rows_button.style.display = 'none'; + } + else { + this.delete_last_row_button.style.display = ''; + this.remove_all_rows_button.style.display = ''; + controls_needed = true; + } + } + + // If there are maxItems in the array, hide the add button beneath the rows + if((this.getMax() && this.getMax() <= this.rows.length) || this.hide_add_button){ + this.add_row_button.style.display = 'none'; + } + else { + this.add_row_button.style.display = ''; + controls_needed = true; + } + + if(!this.collapsed && controls_needed) { + this.controls.style.display = 'inline-block'; + } + else { + this.controls.style.display = 'none'; + } + } + }, + addRow: function(value, initial) { + var self = this; + var i = this.rows.length; + + self.rows[i] = this.getElementEditor(i); + self.row_cache[i] = self.rows[i]; + + if(self.tabs_holder) { + self.rows[i].tab_text = document.createElement('span'); + self.rows[i].tab_text.textContent = self.rows[i].getHeaderText(); + self.rows[i].tab = self.theme.getTab(self.rows[i].tab_text); + self.rows[i].tab.addEventListener('click', function(e) { + self.active_tab = self.rows[i].tab; + self.refreshTabs(); + e.preventDefault(); + e.stopPropagation(); + }); + + self.theme.addTab(self.tabs_holder, self.rows[i].tab); + } + + var controls_holder = self.rows[i].title_controls || self.rows[i].array_controls; + + // Buttons to delete row, move row up, and move row down + if(!self.hide_delete_buttons) { + self.rows[i].delete_button = this.getButton(self.getItemTitle(),'delete','Delete '+self.getItemTitle()); + self.rows[i].delete_button.className += ' delete'; + self.rows[i].delete_button.setAttribute('data-i',i); + self.rows[i].delete_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = this.getAttribute('data-i')*1; + + var value = self.getValue(); + + var newval = []; + var new_active_tab = null; + $each(value,function(j,row) { + if(j===i) { + // If the one we're deleting is the active tab + if(self.rows[j].tab === self.active_tab) { + // Make the next tab active if there is one + // Note: the next tab is going to be the current tab after deletion + if(self.rows[j+1]) new_active_tab = self.rows[j].tab; + // Otherwise, make the previous tab active if there is one + else if(j) new_active_tab = self.rows[j-1].tab; + } + + return; // If this is the one we're deleting + } + newval.push(row); + }); + self.setValue(newval); + if(new_active_tab) { + self.active_tab = new_active_tab; + self.refreshTabs(); + } + + self.onChange(true); + }); + + if(controls_holder) { + controls_holder.appendChild(self.rows[i].delete_button); + } + } + + if(i && !self.hide_move_buttons) { + self.rows[i].moveup_button = this.getButton('','moveup','Move up'); + self.rows[i].moveup_button.className += ' moveup'; + self.rows[i].moveup_button.setAttribute('data-i',i); + self.rows[i].moveup_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = this.getAttribute('data-i')*1; + + if(i<=0) return; + var rows = self.getValue(); + var tmp = rows[i-1]; + rows[i-1] = rows[i]; + rows[i] = tmp; + + self.setValue(rows); + self.active_tab = self.rows[i-1].tab; + self.refreshTabs(); + + self.onChange(true); + }); + + if(controls_holder) { + controls_holder.appendChild(self.rows[i].moveup_button); + } + } + + if(!self.hide_move_buttons) { + self.rows[i].movedown_button = this.getButton('','movedown','Move down'); + self.rows[i].movedown_button.className += ' movedown'; + self.rows[i].movedown_button.setAttribute('data-i',i); + self.rows[i].movedown_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = this.getAttribute('data-i')*1; + + var rows = self.getValue(); + if(i>=rows.length-1) return; + var tmp = rows[i+1]; + rows[i+1] = rows[i]; + rows[i] = tmp; + + self.setValue(rows); + self.active_tab = self.rows[i+1].tab; + self.refreshTabs(); + self.onChange(true); + }); + + if(controls_holder) { + controls_holder.appendChild(self.rows[i].movedown_button); + } + } + + if(value) self.rows[i].setValue(value, initial); + self.refreshTabs(); + }, + addControls: function() { + var self = this; + + this.collapsed = false; + this.toggle_button = this.getButton('','collapse','Collapse'); + this.title_controls.appendChild(this.toggle_button); + var row_holder_display = self.row_holder.style.display; + var controls_display = self.controls.style.display; + this.toggle_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + if(self.collapsed) { + self.collapsed = false; + if(self.panel) self.panel.style.display = ''; + self.row_holder.style.display = row_holder_display; + if(self.tabs_holder) self.tabs_holder.style.display = ''; + self.controls.style.display = controls_display; + self.setButtonText(this,'','collapse','Collapse'); + } + else { + self.collapsed = true; + self.row_holder.style.display = 'none'; + if(self.tabs_holder) self.tabs_holder.style.display = 'none'; + self.controls.style.display = 'none'; + if(self.panel) self.panel.style.display = 'none'; + self.setButtonText(this,'','expand','Expand'); + } + }); + + // If it should start collapsed + if(this.options.collapsed) { + $trigger(this.toggle_button,'click'); + } + + // Collapse button disabled + if(this.schema.options && typeof this.schema.options.disable_collapse !== "undefined") { + if(this.schema.options.disable_collapse) this.toggle_button.style.display = 'none'; + } + else if(this.jsoneditor.options.disable_collapse) { + this.toggle_button.style.display = 'none'; + } + + // Add "new row" and "delete last" buttons below editor + this.add_row_button = this.getButton(this.getItemTitle(),'add','Add '+this.getItemTitle()); + + this.add_row_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = self.rows.length; + if(self.row_cache[i]) { + self.rows[i] = self.row_cache[i]; + self.rows[i].setValue(self.rows[i].getDefault()); + self.rows[i].container.style.display = ''; + if(self.rows[i].tab) self.rows[i].tab.style.display = ''; + self.rows[i].register(); + } + else { + self.addRow(); + } + self.active_tab = self.rows[i].tab; + self.refreshTabs(); + self.refreshValue(); + self.onChange(true); + }); + self.controls.appendChild(this.add_row_button); + + this.delete_last_row_button = this.getButton('Last '+this.getItemTitle(),'delete','Delete Last '+this.getItemTitle()); + this.delete_last_row_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var rows = self.getValue(); + + var new_active_tab = null; + if(self.rows.length > 1 && self.rows[self.rows.length-1].tab === self.active_tab) new_active_tab = self.rows[self.rows.length-2].tab; + + rows.pop(); + self.setValue(rows); + if(new_active_tab) { + self.active_tab = new_active_tab; + self.refreshTabs(); + } + self.onChange(true); + }); + self.controls.appendChild(this.delete_last_row_button); + + this.remove_all_rows_button = this.getButton('All','delete','Delete All'); + this.remove_all_rows_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + self.setValue([]); + self.onChange(true); + }); + self.controls.appendChild(this.remove_all_rows_button); + + if(self.tabs) { + this.add_row_button.style.width = '100%'; + this.add_row_button.style.textAlign = 'left'; + this.add_row_button.style.marginBottom = '3px'; + + this.delete_last_row_button.style.width = '100%'; + this.delete_last_row_button.style.textAlign = 'left'; + this.delete_last_row_button.style.marginBottom = '3px'; + + this.remove_all_rows_button.style.width = '100%'; + this.remove_all_rows_button.style.textAlign = 'left'; + this.remove_all_rows_button.style.marginBottom = '3px'; + } + }, + showValidationErrors: function(errors) { + var self = this; + + // Get all the errors that pertain to this editor + var my_errors = []; + var other_errors = []; + $each(errors, function(i,error) { + if(error.path === self.path) { + my_errors.push(error); + } + else { + other_errors.push(error); + } + }); + + // Show errors for this editor + if(this.error_holder) { + if(my_errors.length) { + var message = []; + this.error_holder.innerHTML = ''; + this.error_holder.style.display = ''; + $each(my_errors, function(i,error) { + self.error_holder.appendChild(self.theme.getErrorMessage(error.message)); + }); + } + // Hide error area + else { + this.error_holder.style.display = 'none'; + } + } + + // Show errors for child editors + $each(this.rows, function(i,row) { + row.showValidationErrors(other_errors); + }); + } +}); + +JSONEditor.defaults.editors.table = JSONEditor.defaults.editors.array.extend({ + register: function() { + this._super(); + if(this.rows) { + for(var i=0; i this.schema.maxItems) { + value = value.slice(0,this.schema.maxItems); + } + + var serialized = JSON.stringify(value); + if(serialized === this.serialized) return; + + var numrows_changed = false; + + var self = this; + $each(value,function(i,val) { + if(self.rows[i]) { + // TODO: don't set the row's value if it hasn't changed + self.rows[i].setValue(val); + } + else { + self.addRow(val); + numrows_changed = true; + } + }); + + for(var j=value.length; j= this.rows.length; + + var need_row_buttons = false; + $each(this.rows,function(i,editor) { + // Hide the move down button for the last row + if(editor.movedown_button) { + if(i === self.rows.length - 1) { + editor.movedown_button.style.display = 'none'; + } + else { + need_row_buttons = true; + editor.movedown_button.style.display = ''; + } + } + + // Hide the delete button if we have minItems items + if(editor.delete_button) { + if(minItems) { + editor.delete_button.style.display = 'none'; + } + else { + need_row_buttons = true; + editor.delete_button.style.display = ''; + } + } + + if(editor.moveup_button) { + need_row_buttons = true; + } + }); + + // Show/hide controls column in table + $each(this.rows,function(i,editor) { + if(need_row_buttons) { + editor.controls_cell.style.display = ''; + } + else { + editor.controls_cell.style.display = 'none'; + } + }); + if(need_row_buttons) { + this.controls_header_cell.style.display = ''; + } + else { + this.controls_header_cell.style.display = 'none'; + } + + var controls_needed = false; + + if(!this.value.length) { + this.delete_last_row_button.style.display = 'none'; + this.remove_all_rows_button.style.display = 'none'; + this.table.style.display = 'none'; + } + else if(this.value.length === 1 || this.hide_delete_buttons) { + this.table.style.display = ''; + this.remove_all_rows_button.style.display = 'none'; + + // If there are minItems items in the array, hide the delete button beneath the rows + if(minItems || this.hide_delete_buttons) { + this.delete_last_row_button.style.display = 'none'; + } + else { + this.delete_last_row_button.style.display = ''; + controls_needed = true; + } + } + else { + this.table.style.display = ''; + // If there are minItems items in the array, hide the delete button beneath the rows + if(minItems || this.hide_delete_buttons) { + this.delete_last_row_button.style.display = 'none'; + this.remove_all_rows_button.style.display = 'none'; + } + else { + this.delete_last_row_button.style.display = ''; + this.remove_all_rows_button.style.display = ''; + controls_needed = true; + } + } + + // If there are maxItems in the array, hide the add button beneath the rows + if((this.schema.maxItems && this.schema.maxItems <= this.rows.length) || this.hide_add_button) { + this.add_row_button.style.display = 'none'; + } + else { + this.add_row_button.style.display = ''; + controls_needed = true; + } + + if(!controls_needed) { + this.controls.style.display = 'none'; + } + else { + this.controls.style.display = ''; + } + }, + refreshValue: function() { + var self = this; + this.value = []; + + $each(this.rows,function(i,editor) { + // Get the value for this editor + self.value[i] = editor.getValue(); + }); + this.serialized = JSON.stringify(this.value); + }, + addRow: function(value) { + var self = this; + var i = this.rows.length; + + self.rows[i] = this.getElementEditor(i); + + var controls_holder = self.rows[i].table_controls; + + // Buttons to delete row, move row up, and move row down + if(!this.hide_delete_buttons) { + self.rows[i].delete_button = this.getButton('','delete','Delete'); + self.rows[i].delete_button.className += ' delete'; + self.rows[i].delete_button.setAttribute('data-i',i); + self.rows[i].delete_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = this.getAttribute('data-i')*1; + + var value = self.getValue(); + + var newval = []; + $each(value,function(j,row) { + if(j===i) return; // If this is the one we're deleting + newval.push(row); + }); + self.setValue(newval); + self.onChange(true); + }); + controls_holder.appendChild(self.rows[i].delete_button); + } + + + if(i && !this.hide_move_buttons) { + self.rows[i].moveup_button = this.getButton('','moveup','Move up'); + self.rows[i].moveup_button.className += ' moveup'; + self.rows[i].moveup_button.setAttribute('data-i',i); + self.rows[i].moveup_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = this.getAttribute('data-i')*1; + + if(i<=0) return; + var rows = self.getValue(); + var tmp = rows[i-1]; + rows[i-1] = rows[i]; + rows[i] = tmp; + + self.setValue(rows); + self.onChange(true); + }); + controls_holder.appendChild(self.rows[i].moveup_button); + } + + if(!this.hide_move_buttons) { + self.rows[i].movedown_button = this.getButton('','movedown','Move down'); + self.rows[i].movedown_button.className += ' movedown'; + self.rows[i].movedown_button.setAttribute('data-i',i); + self.rows[i].movedown_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + var i = this.getAttribute('data-i')*1; + var rows = self.getValue(); + if(i>=rows.length-1) return; + var tmp = rows[i+1]; + rows[i+1] = rows[i]; + rows[i] = tmp; + + self.setValue(rows); + self.onChange(true); + }); + controls_holder.appendChild(self.rows[i].movedown_button); + } + + if(value) self.rows[i].setValue(value); + }, + addControls: function() { + var self = this; + + this.collapsed = false; + this.toggle_button = this.getButton('','collapse','Collapse'); + if(this.title_controls) { + this.title_controls.appendChild(this.toggle_button); + this.toggle_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + + if(self.collapsed) { + self.collapsed = false; + self.panel.style.display = ''; + self.setButtonText(this,'','collapse','Collapse'); + } + else { + self.collapsed = true; + self.panel.style.display = 'none'; + self.setButtonText(this,'','expand','Expand'); + } + }); + + // If it should start collapsed + if(this.options.collapsed) { + $trigger(this.toggle_button,'click'); + } + + // Collapse button disabled + if(this.schema.options && typeof this.schema.options.disable_collapse !== "undefined") { + if(this.schema.options.disable_collapse) this.toggle_button.style.display = 'none'; + } + else if(this.jsoneditor.options.disable_collapse) { + this.toggle_button.style.display = 'none'; + } + } + + // Add "new row" and "delete last" buttons below editor + this.add_row_button = this.getButton(this.getItemTitle(),'add','Add '+this.getItemTitle()); + this.add_row_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + + self.addRow(); + self.refreshValue(); + self.refreshRowButtons(); + self.onChange(true); + }); + self.controls.appendChild(this.add_row_button); + + this.delete_last_row_button = this.getButton('Last '+this.getItemTitle(),'delete','Delete Last '+this.getItemTitle()); + this.delete_last_row_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + + var rows = self.getValue(); + rows.pop(); + self.setValue(rows); + self.onChange(true); + }); + self.controls.appendChild(this.delete_last_row_button); + + this.remove_all_rows_button = this.getButton('All','delete','Delete All'); + this.remove_all_rows_button.addEventListener('click',function(e) { + e.preventDefault(); + e.stopPropagation(); + + self.setValue([]); + self.onChange(true); + }); + self.controls.appendChild(this.remove_all_rows_button); + } +}); + +// Multiple Editor (for when `type` is an array) +JSONEditor.defaults.editors.multiple = JSONEditor.AbstractEditor.extend({ + register: function() { + if(this.editors) { + for(var i=0; inull'; + } + // Array or Object + else if(typeof el === "object") { + // TODO: use theme + var ret = ''; + + $each(el,function(i,child) { + var html = self.getHTML(child); + + // Add the keys to object children + if(!(Array.isArray(el))) { + // TODO: use theme + html = '
'+i+': '+html+'
'; + } + + // TODO: use theme + ret += '
  • '+html+'
  • '; + }); + + if(Array.isArray(el)) ret = '
      '+ret+'
    '; + else ret = "
      "+ret+'
    '; + + return ret; + } + // Boolean + else if(typeof el === "boolean") { + return el? 'true' : 'false'; + } + // String + else if(typeof el === "string") { + return el.replace(/&/g,'&').replace(//g,'>'); + } + // Number + else { + return el; + } + }, + setValue: function(val) { + if(this.value !== val) { + this.value = val; + this.refreshValue(); + this.onChange(); + } + }, + destroy: function() { + if(this.display_area && this.display_area.parentNode) this.display_area.parentNode.removeChild(this.display_area); + if(this.title && this.title.parentNode) this.title.parentNode.removeChild(this.title); + if(this.switcher && this.switcher.parentNode) this.switcher.parentNode.removeChild(this.switcher); + + this._super(); + } +}); + +JSONEditor.defaults.editors.select = JSONEditor.AbstractEditor.extend({ + setValue: function(value,initial) { + value = this.typecast(value||''); + + // Sanitize value before setting it + var sanitized = value; + if(this.enum_values.indexOf(sanitized) < 0) { + sanitized = this.enum_values[0]; + } + + if(this.value === sanitized) { + return; + } + + this.input.value = this.enum_options[this.enum_values.indexOf(sanitized)]; + if(this.select2) this.select2.select2('val',this.input.value); + this.value = sanitized; + this.onChange(); + }, + register: function() { + this._super(); + if(!this.input) return; + this.input.setAttribute('name',this.formname); + }, + unregister: function() { + this._super(); + if(!this.input) return; + this.input.removeAttribute('name'); + }, + getNumColumns: function() { + if(!this.enum_options) return 3; + var longest_text = this.getTitle().length; + for(var i=0; i 2 || (this.enum_options.length && this.enumSource))) { + var options = $extend({},JSONEditor.plugins.select2); + if(this.schema.options && this.schema.options.select2_options) options = $extend(options,this.schema.options.select2_options); + this.select2 = window.jQuery(this.input).select2(options); + var self = this; + this.select2.on('select2-blur',function() { + self.input.value = self.select2.select2('val'); + self.onInputChange(); + }); + this.select2.on('change',function() { + self.input.value = self.select2.select2('val'); + self.onInputChange(); + }); + } + else { + this.select2 = null; + } + }, + postBuild: function() { + this._super(); + this.theme.afterInputReady(this.input); + this.setupSelect2(); + }, + onWatchedFieldChange: function() { + var self = this, vars, j; + + // If this editor uses a dynamic select box + if(this.enumSource) { + vars = this.getWatchedFieldValues(); + var select_options = []; + var select_titles = []; + + for(var i=0; i= 2 || (this.enum_options.length && this.enumSource))) { + var options = $extend({},JSONEditor.plugins.selectize); + if(this.schema.options && this.schema.options.selectize_options) options = $extend(options,this.schema.options.selectize_options); + this.selectize = window.jQuery(this.input).selectize($extend(options, + { + create: true, + onChange : function() { + self.onInputChange(); + } + })); + } + else { + this.selectize = null; + } + }, + postBuild: function() { + this._super(); + this.theme.afterInputReady(this.input); + this.setupSelectize(); + }, + onWatchedFieldChange: function() { + var self = this, vars, j; + + // If this editor uses a dynamic select box + if(this.enumSource) { + vars = this.getWatchedFieldValues(); + var select_options = []; + var select_titles = []; + + for(var i=0; iSize: '+Math.floor((this.value.length-this.value.split(',')[0].length-1)/1.33333)+' bytes'; + if(mime.substr(0,5)==="image") { + this.preview.innerHTML += '
    '; + var img = document.createElement('img'); + img.style.maxWidth = '100%'; + img.style.maxHeight = '100px'; + img.src = this.value; + this.preview.appendChild(img); + } + } + }, + enable: function() { + if(this.uploader) this.uploader.disabled = false; + this._super(); + }, + disable: function() { + if(this.uploader) this.uploader.disabled = true; + this._super(); + }, + setValue: function(val) { + if(this.value !== val) { + this.value = val; + this.input.value = this.value; + this.refreshPreview(); + this.onChange(); + } + }, + destroy: function() { + if(this.preview && this.preview.parentNode) this.preview.parentNode.removeChild(this.preview); + if(this.title && this.title.parentNode) this.title.parentNode.removeChild(this.title); + if(this.input && this.input.parentNode) this.input.parentNode.removeChild(this.input); + if(this.uploader && this.uploader.parentNode) this.uploader.parentNode.removeChild(this.uploader); + + this._super(); + } +}); + +JSONEditor.defaults.editors.upload = JSONEditor.AbstractEditor.extend({ + getNumColumns: function() { + return 4; + }, + build: function() { + var self = this; + this.title = this.header = this.label = this.theme.getFormInputLabel(this.getTitle()); + + // Input that holds the base64 string + this.input = this.theme.getFormInputField('hidden'); + this.container.appendChild(this.input); + + // Don't show uploader if this is readonly + if(!this.schema.readOnly && !this.schema.readonly) { + + if(!this.jsoneditor.options.upload) throw "Upload handler required for upload editor"; + + // File uploader + this.uploader = this.theme.getFormInputField('file'); + + this.uploader.addEventListener('change',function(e) { + e.preventDefault(); + e.stopPropagation(); + + if(this.files && this.files.length) { + var fr = new FileReader(); + fr.onload = function(evt) { + self.preview_value = evt.target.result; + self.refreshPreview(); + self.onChange(true); + fr = null; + }; + fr.readAsDataURL(this.files[0]); + } + }); + } + + var description = this.schema.description; + if (!description) description = ''; + + this.preview = this.theme.getFormInputDescription(description); + this.container.appendChild(this.preview); + + this.control = this.theme.getFormControl(this.label, this.uploader||this.input, this.preview); + this.container.appendChild(this.control); + }, + refreshPreview: function() { + if(this.last_preview === this.preview_value) return; + this.last_preview = this.preview_value; + + this.preview.innerHTML = ''; + + if(!this.preview_value) return; + + var self = this; + + var mime = this.preview_value.match(/^data:([^;,]+)[;,]/); + if(mime) mime = mime[1]; + if(!mime) mime = 'unknown'; + + var file = this.uploader.files[0]; + + this.preview.innerHTML = 'Type: '+mime+', Size: '+file.size+' bytes'; + if(mime.substr(0,5)==="image") { + this.preview.innerHTML += '
    '; + var img = document.createElement('img'); + img.style.maxWidth = '100%'; + img.style.maxHeight = '100px'; + img.src = this.preview_value; + this.preview.appendChild(img); + } + + this.preview.innerHTML += '
    '; + var uploadButton = this.getButton('Upload', 'upload', 'Upload'); + this.preview.appendChild(uploadButton); + uploadButton.addEventListener('click',function(event) { + event.preventDefault(); + + uploadButton.setAttribute("disabled", "disabled"); + self.theme.removeInputError(self.uploader); + + if (self.theme.getProgressBar) { + self.progressBar = self.theme.getProgressBar(); + self.preview.appendChild(self.progressBar); + } + + self.jsoneditor.options.upload(self.path, file, { + success: function(url) { + self.setValue(url); + + if(self.parent) self.parent.onChildEditorChange(self); + else self.jsoneditor.onChange(); + + if (self.progressBar) self.preview.removeChild(self.progressBar); + uploadButton.removeAttribute("disabled"); + }, + failure: function(error) { + self.theme.addInputError(self.uploader, error); + if (self.progressBar) self.preview.removeChild(self.progressBar); + uploadButton.removeAttribute("disabled"); + }, + updateProgress: function(progress) { + if (self.progressBar) { + if (progress) self.theme.updateProgressBar(self.progressBar, progress); + else self.theme.updateProgressBarUnknown(self.progressBar); + } + } + }); + }); + }, + enable: function() { + if(this.uploader) this.uploader.disabled = false; + this._super(); + }, + disable: function() { + if(this.uploader) this.uploader.disabled = true; + this._super(); + }, + setValue: function(val) { + if(this.value !== val) { + this.value = val; + this.input.value = this.value; + this.onChange(); + } + }, + destroy: function() { + if(this.preview && this.preview.parentNode) this.preview.parentNode.removeChild(this.preview); + if(this.title && this.title.parentNode) this.title.parentNode.removeChild(this.title); + if(this.input && this.input.parentNode) this.input.parentNode.removeChild(this.input); + if(this.uploader && this.uploader.parentNode) this.uploader.parentNode.removeChild(this.uploader); + + this._super(); + } +}); + +JSONEditor.defaults.editors.checkbox = JSONEditor.AbstractEditor.extend({ + setValue: function(value,initial) { + this.value = !!value; + this.input.checked = this.value; + this.onChange(); + }, + register: function() { + this._super(); + if(!this.input) return; + this.input.setAttribute('name',this.formname); + }, + unregister: function() { + this._super(); + if(!this.input) return; + this.input.removeAttribute('name'); + }, + getNumColumns: function() { + return Math.min(12,Math.max(this.getTitle().length/7,2)); + }, + build: function() { + var self = this; + if(!this.options.compact) { + this.label = this.header = this.theme.getCheckboxLabel(this.getTitle()); + } + if(this.schema.description) this.description = this.theme.getFormInputDescription(this.schema.description); + if(this.options.compact) this.container.className += ' compact'; + + this.input = this.theme.getCheckbox(); + this.control = this.theme.getFormControl(this.label, this.input, this.description); + + if(this.schema.readOnly || this.schema.readonly) { + this.always_disabled = true; + this.input.disabled = true; + } + + this.input.addEventListener('change',function(e) { + e.preventDefault(); + e.stopPropagation(); + self.value = this.checked; + self.onChange(true); + }); + + this.container.appendChild(this.control); + }, + enable: function() { + if(!this.always_disabled) { + this.input.disabled = false; + } + this._super(); + }, + disable: function() { + this.input.disabled = true; + this._super(); + }, + destroy: function() { + if(this.label && this.label.parentNode) this.label.parentNode.removeChild(this.label); + if(this.description && this.description.parentNode) this.description.parentNode.removeChild(this.description); + if(this.input && this.input.parentNode) this.input.parentNode.removeChild(this.input); + this._super(); + } +}); + +JSONEditor.defaults.editors.arraySelectize = JSONEditor.AbstractEditor.extend({ + build: function() { + this.title = this.theme.getFormInputLabel(this.getTitle()); + + this.title_controls = this.theme.getHeaderButtonHolder(); + this.title.appendChild(this.title_controls); + this.error_holder = document.createElement('div'); + + if(this.schema.description) { + this.description = this.theme.getDescription(this.schema.description); + } + + this.input = document.createElement('select'); + this.input.setAttribute('multiple', 'multiple'); + + var group = this.theme.getFormControl(this.title, this.input, this.description); + + this.container.appendChild(group); + this.container.appendChild(this.error_holder); + + window.jQuery(this.input).selectize({ + delimiter: false, + createOnBlur: true, + create: true + }); + }, + postBuild: function() { + var self = this; + this.input.selectize.on('change', function(event) { + self.refreshValue(); + self.onChange(true); + }); + }, + destroy: function() { + this.empty(true); + if(this.title && this.title.parentNode) this.title.parentNode.removeChild(this.title); + if(this.description && this.description.parentNode) this.description.parentNode.removeChild(this.description); + if(this.input && this.input.parentNode) this.input.parentNode.removeChild(this.input); + + this._super(); + }, + empty: function(hard) {}, + setValue: function(value, initial) { + var self = this; + // Update the array's value, adding/removing rows when necessary + value = value || []; + if(!(Array.isArray(value))) value = [value]; + + this.input.selectize.clearOptions(); + this.input.selectize.clear(true); + + value.forEach(function(item) { + self.input.selectize.addOption({text: item, value: item}); + }); + this.input.selectize.setValue(value); + + this.refreshValue(initial); + }, + refreshValue: function(force) { + this.value = this.input.selectize.getValue(); + }, + showValidationErrors: function(errors) { + var self = this; + + // Get all the errors that pertain to this editor + var my_errors = []; + var other_errors = []; + $each(errors, function(i,error) { + if(error.path === self.path) { + my_errors.push(error); + } + else { + other_errors.push(error); + } + }); + + // Show errors for this editor + if(this.error_holder) { + + if(my_errors.length) { + var message = []; + this.error_holder.innerHTML = ''; + this.error_holder.style.display = ''; + $each(my_errors, function(i,error) { + self.error_holder.appendChild(self.theme.getErrorMessage(error.message)); + }); + } + // Hide error area + else { + this.error_holder.style.display = 'none'; + } + } + } +}); + +var matchKey = (function () { + var elem = document.documentElement; + + if (elem.matches) return 'matches'; + else if (elem.webkitMatchesSelector) return 'webkitMatchesSelector'; + else if (elem.mozMatchesSelector) return 'mozMatchesSelector'; + else if (elem.msMatchesSelector) return 'msMatchesSelector'; + else if (elem.oMatchesSelector) return 'oMatchesSelector'; +})(); + +JSONEditor.AbstractTheme = Class.extend({ + getContainer: function() { + return document.createElement('div'); + }, + getFloatRightLinkHolder: function() { + var el = document.createElement('div'); + el.style = el.style || {}; + el.style.cssFloat = 'right'; + el.style.marginLeft = '10px'; + return el; + }, + getModal: function() { + var el = document.createElement('div'); + el.style.backgroundColor = 'white'; + el.style.border = '1px solid black'; + el.style.boxShadow = '3px 3px black'; + el.style.position = 'absolute'; + el.style.zIndex = '10'; + el.style.display = 'none'; + return el; + }, + getGridContainer: function() { + var el = document.createElement('div'); + return el; + }, + getGridRow: function() { + var el = document.createElement('div'); + el.className = 'row'; + return el; + }, + getGridColumn: function() { + var el = document.createElement('div'); + return el; + }, + setGridColumnSize: function(el,size) { + + }, + getLink: function(text) { + var el = document.createElement('a'); + el.setAttribute('href','#'); + el.appendChild(document.createTextNode(text)); + return el; + }, + disableHeader: function(header) { + header.style.color = '#ccc'; + }, + disableLabel: function(label) { + label.style.color = '#ccc'; + }, + enableHeader: function(header) { + header.style.color = ''; + }, + enableLabel: function(label) { + label.style.color = ''; + }, + getFormInputLabel: function(text) { + var el = document.createElement('label'); + el.appendChild(document.createTextNode(text)); + return el; + }, + getCheckboxLabel: function(text) { + var el = this.getFormInputLabel(text); + el.style.fontWeight = 'normal'; + return el; + }, + getHeader: function(text) { + var el = document.createElement('h3'); + if(typeof text === "string") { + el.textContent = text; + } + else { + el.appendChild(text); + } + + return el; + }, + getCheckbox: function() { + var el = this.getFormInputField('checkbox'); + el.style.display = 'inline-block'; + el.style.width = 'auto'; + return el; + }, + getMultiCheckboxHolder: function(controls,label,description) { + var el = document.createElement('div'); + + if(label) { + label.style.display = 'block'; + el.appendChild(label); + } + + for(var i in controls) { + if(!controls.hasOwnProperty(i)) continue; + controls[i].style.display = 'inline-block'; + controls[i].style.marginRight = '20px'; + el.appendChild(controls[i]); + } + + if(description) el.appendChild(description); + + return el; + }, + getSelectInput: function(options) { + var select = document.createElement('select'); + if(options) this.setSelectOptions(select, options); + return select; + }, + getSwitcher: function(options) { + var switcher = this.getSelectInput(options); + switcher.style.backgroundColor = 'transparent'; + switcher.style.display = 'inline-block'; + switcher.style.fontStyle = 'italic'; + switcher.style.fontWeight = 'normal'; + switcher.style.height = 'auto'; + switcher.style.marginBottom = 0; + switcher.style.marginLeft = '5px'; + switcher.style.padding = '0 0 0 3px'; + switcher.style.width = 'auto'; + return switcher; + }, + getSwitcherOptions: function(switcher) { + return switcher.getElementsByTagName('option'); + }, + setSwitcherOptions: function(switcher, options, titles) { + this.setSelectOptions(switcher, options, titles); + }, + setSelectOptions: function(select, options, titles) { + titles = titles || []; + select.innerHTML = ''; + for(var i=0; i'); + input.errmsg = input.parentNode.getElementsByClassName('error')[0]; + } + else { + input.errmsg.style.display = ''; + } + + input.errmsg.textContent = text; + }, + removeInputError: function(input) { + if(!input.errmsg) return; + input.group.className = input.group.className.replace(/ error/g,''); + input.errmsg.style.display = 'none'; + }, + getProgressBar: function() { + var progressBar = document.createElement('div'); + progressBar.className = 'progress'; + + var meter = document.createElement('span'); + meter.className = 'meter'; + meter.style.width = '0%'; + progressBar.appendChild(meter); + return progressBar; + }, + updateProgressBar: function(progressBar, progress) { + if (!progressBar) return; + progressBar.firstChild.style.width = progress + '%'; + }, + updateProgressBarUnknown: function(progressBar) { + if (!progressBar) return; + progressBar.firstChild.style.width = '100%'; + } +}); + +// Foundation 3 Specific Theme +JSONEditor.defaults.themes.foundation3 = JSONEditor.defaults.themes.foundation.extend({ + getHeaderButtonHolder: function() { + var el = this._super(); + el.style.fontSize = '.6em'; + return el; + }, + getFormInputLabel: function(text) { + var el = this._super(text); + el.style.fontWeight = 'bold'; + return el; + }, + getTabHolder: function() { + var el = document.createElement('div'); + el.className = 'row'; + el.innerHTML = "
    "; + return el; + }, + setGridColumnSize: function(el,size) { + var sizes = ['zero','one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve']; + el.className = 'columns '+sizes[size]; + }, + getTab: function(text) { + var el = document.createElement('dd'); + var a = document.createElement('a'); + a.setAttribute('href','#'); + a.appendChild(text); + el.appendChild(a); + return el; + }, + getTabContentHolder: function(tab_holder) { + return tab_holder.children[1]; + }, + getTabContent: function() { + var el = document.createElement('div'); + el.className = 'content active'; + el.style.paddingLeft = '5px'; + return el; + }, + markTabActive: function(tab) { + tab.className += ' active'; + }, + markTabInactive: function(tab) { + tab.className = tab.className.replace(/\s*active/g,''); + }, + addTab: function(holder, tab) { + holder.children[0].appendChild(tab); + } +}); + +// Foundation 4 Specific Theme +JSONEditor.defaults.themes.foundation4 = JSONEditor.defaults.themes.foundation.extend({ + getHeaderButtonHolder: function() { + var el = this._super(); + el.style.fontSize = '.6em'; + return el; + }, + setGridColumnSize: function(el,size) { + el.className = 'columns large-'+size; + }, + getFormInputDescription: function(text) { + var el = this._super(text); + el.style.fontSize = '.8rem'; + return el; + }, + getFormInputLabel: function(text) { + var el = this._super(text); + el.style.fontWeight = 'bold'; + return el; + } +}); + +// Foundation 5 Specific Theme +JSONEditor.defaults.themes.foundation5 = JSONEditor.defaults.themes.foundation.extend({ + getFormInputDescription: function(text) { + var el = this._super(text); + el.style.fontSize = '.8rem'; + return el; + }, + setGridColumnSize: function(el,size) { + el.className = 'columns medium-'+size; + }, + getButton: function(text, icon, title) { + var el = this._super(text,icon,title); + el.className = el.className.replace(/\s*small/g,'') + ' tiny'; + return el; + }, + getTabHolder: function() { + var el = document.createElement('div'); + el.innerHTML = "
    "; + return el; + }, + getTab: function(text) { + var el = document.createElement('dd'); + var a = document.createElement('a'); + a.setAttribute('href','#'); + a.appendChild(text); + el.appendChild(a); + return el; + }, + getTabContentHolder: function(tab_holder) { + return tab_holder.children[1]; + }, + getTabContent: function() { + var el = document.createElement('div'); + el.className = 'content active'; + el.style.paddingLeft = '5px'; + return el; + }, + markTabActive: function(tab) { + tab.className += ' active'; + }, + markTabInactive: function(tab) { + tab.className = tab.className.replace(/\s*active/g,''); + }, + addTab: function(holder, tab) { + holder.children[0].appendChild(tab); + } +}); + +JSONEditor.defaults.themes.html = JSONEditor.AbstractTheme.extend({ + getFormInputLabel: function(text) { + var el = this._super(text); + el.style.display = 'block'; + el.style.marginBottom = '3px'; + el.style.fontWeight = 'bold'; + return el; + }, + getFormInputDescription: function(text) { + var el = this._super(text); + el.style.fontSize = '.8em'; + el.style.margin = 0; + el.style.display = 'inline-block'; + el.style.fontStyle = 'italic'; + return el; + }, + getIndentedPanel: function() { + var el = this._super(); + el.style.border = '1px solid #ddd'; + el.style.padding = '5px'; + el.style.margin = '5px'; + el.style.borderRadius = '3px'; + return el; + }, + getChildEditorHolder: function() { + var el = this._super(); + el.style.marginBottom = '8px'; + return el; + }, + getHeaderButtonHolder: function() { + var el = this.getButtonHolder(); + el.style.display = 'inline-block'; + el.style.marginLeft = '10px'; + el.style.fontSize = '.8em'; + el.style.verticalAlign = 'middle'; + return el; + }, + getTable: function() { + var el = this._super(); + el.style.borderBottom = '1px solid #ccc'; + el.style.marginBottom = '5px'; + return el; + }, + addInputError: function(input, text) { + input.style.borderColor = 'red'; + + if(!input.errmsg) { + var group = this.closest(input,'.form-control'); + input.errmsg = document.createElement('div'); + input.errmsg.setAttribute('class','errmsg'); + input.errmsg.style = input.errmsg.style || {}; + input.errmsg.style.color = 'red'; + group.appendChild(input.errmsg); + } + else { + input.errmsg.style.display = 'block'; + } + + input.errmsg.innerHTML = ''; + input.errmsg.appendChild(document.createTextNode(text)); + }, + removeInputError: function(input) { + input.style.borderColor = ''; + if(input.errmsg) input.errmsg.style.display = 'none'; + }, + getProgressBar: function() { + var max = 100, start = 0; + + var progressBar = document.createElement('progress'); + progressBar.setAttribute('max', max); + progressBar.setAttribute('value', start); + return progressBar; + }, + updateProgressBar: function(progressBar, progress) { + if (!progressBar) return; + progressBar.setAttribute('value', progress); + }, + updateProgressBarUnknown: function(progressBar) { + if (!progressBar) return; + progressBar.removeAttribute('value'); + } +}); + +JSONEditor.defaults.themes.jqueryui = JSONEditor.AbstractTheme.extend({ + getTable: function() { + var el = this._super(); + el.setAttribute('cellpadding',5); + el.setAttribute('cellspacing',0); + return el; + }, + getTableHeaderCell: function(text) { + var el = this._super(text); + el.className = 'ui-state-active'; + el.style.fontWeight = 'bold'; + return el; + }, + getTableCell: function() { + var el = this._super(); + el.className = 'ui-widget-content'; + return el; + }, + getHeaderButtonHolder: function() { + var el = this.getButtonHolder(); + el.style.marginLeft = '10px'; + el.style.fontSize = '.6em'; + el.style.display = 'inline-block'; + return el; + }, + getFormInputDescription: function(text) { + var el = this.getDescription(text); + el.style.marginLeft = '10px'; + el.style.display = 'inline-block'; + return el; + }, + getFormControl: function(label, input, description) { + var el = this._super(label,input,description); + if(input.type === 'checkbox') { + el.style.lineHeight = '25px'; + + el.style.padding = '3px 0'; + } + else { + el.style.padding = '4px 0 8px 0'; + } + return el; + }, + getDescription: function(text) { + var el = document.createElement('span'); + el.style.fontSize = '.8em'; + el.style.fontStyle = 'italic'; + el.textContent = text; + return el; + }, + getButtonHolder: function() { + var el = document.createElement('div'); + el.className = 'ui-buttonset'; + el.style.fontSize = '.7em'; + return el; + }, + getFormInputLabel: function(text) { + var el = document.createElement('label'); + el.style.fontWeight = 'bold'; + el.style.display = 'block'; + el.textContent = text; + return el; + }, + getButton: function(text, icon, title) { + var button = document.createElement("button"); + button.className = 'ui-button ui-widget ui-state-default ui-corner-all'; + + // Icon only + if(icon && !text) { + button.className += ' ui-button-icon-only'; + icon.className += ' ui-button-icon-primary ui-icon-primary'; + button.appendChild(icon); + } + // Icon and Text + else if(icon) { + button.className += ' ui-button-text-icon-primary'; + icon.className += ' ui-button-icon-primary ui-icon-primary'; + button.appendChild(icon); + } + // Text only + else { + button.className += ' ui-button-text-only'; + } + + var el = document.createElement('span'); + el.className = 'ui-button-text'; + el.textContent = text||title||"."; + button.appendChild(el); + + button.setAttribute('title',title); + + return button; + }, + setButtonText: function(button,text, icon, title) { + button.innerHTML = ''; + button.className = 'ui-button ui-widget ui-state-default ui-corner-all'; + + // Icon only + if(icon && !text) { + button.className += ' ui-button-icon-only'; + icon.className += ' ui-button-icon-primary ui-icon-primary'; + button.appendChild(icon); + } + // Icon and Text + else if(icon) { + button.className += ' ui-button-text-icon-primary'; + icon.className += ' ui-button-icon-primary ui-icon-primary'; + button.appendChild(icon); + } + // Text only + else { + button.className += ' ui-button-text-only'; + } + + var el = document.createElement('span'); + el.className = 'ui-button-text'; + el.textContent = text||title||"."; + button.appendChild(el); + + button.setAttribute('title',title); + }, + getIndentedPanel: function() { + var el = document.createElement('div'); + el.className = 'ui-widget-content ui-corner-all'; + el.style.padding = '1em 1.4em'; + el.style.marginBottom = '20px'; + return el; + }, + afterInputReady: function(input) { + if(input.controls) return; + input.controls = this.closest(input,'.form-control'); + }, + addInputError: function(input,text) { + if(!input.controls) return; + if(!input.errmsg) { + input.errmsg = document.createElement('div'); + input.errmsg.className = 'ui-state-error'; + input.controls.appendChild(input.errmsg); + } + else { + input.errmsg.style.display = ''; + } + + input.errmsg.textContent = text; + }, + removeInputError: function(input) { + if(!input.errmsg) return; + input.errmsg.style.display = 'none'; + }, + markTabActive: function(tab) { + tab.className = tab.className.replace(/\s*ui-widget-header/g,'')+' ui-state-active'; + }, + markTabInactive: function(tab) { + tab.className = tab.className.replace(/\s*ui-state-active/g,'')+' ui-widget-header'; + } +}); + +JSONEditor.AbstractIconLib = Class.extend({ + mapping: { + collapse: '', + expand: '', + "delete": '', + edit: '', + add: '', + cancel: '', + save: '', + moveup: '', + movedown: '' + }, + icon_prefix: '', + getIconClass: function(key) { + if(this.mapping[key]) return this.icon_prefix+this.mapping[key]; + else return null; + }, + getIcon: function(key) { + var iconclass = this.getIconClass(key); + + if(!iconclass) return null; + + var i = document.createElement('i'); + i.className = iconclass; + return i; + } +}); + +JSONEditor.defaults.iconlibs.bootstrap2 = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'chevron-down', + expand: 'chevron-up', + "delete": 'trash', + edit: 'pencil', + add: 'plus', + cancel: 'ban-circle', + save: 'ok', + moveup: 'arrow-up', + movedown: 'arrow-down' + }, + icon_prefix: 'icon-' +}); + +JSONEditor.defaults.iconlibs.bootstrap3 = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'chevron-down', + expand: 'chevron-right', + "delete": 'remove', + edit: 'pencil', + add: 'plus', + cancel: 'floppy-remove', + save: 'floppy-saved', + moveup: 'arrow-up', + movedown: 'arrow-down' + }, + icon_prefix: 'glyphicon glyphicon-' +}); + +JSONEditor.defaults.iconlibs.fontawesome3 = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'chevron-down', + expand: 'chevron-right', + "delete": 'remove', + edit: 'pencil', + add: 'plus', + cancel: 'ban-circle', + save: 'save', + moveup: 'arrow-up', + movedown: 'arrow-down' + }, + icon_prefix: 'icon-' +}); + +JSONEditor.defaults.iconlibs.fontawesome4 = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'caret-square-o-down', + expand: 'caret-square-o-right', + "delete": 'times', + edit: 'pencil', + add: 'plus', + cancel: 'ban', + save: 'save', + moveup: 'arrow-up', + movedown: 'arrow-down' + }, + icon_prefix: 'fa fa-' +}); + +JSONEditor.defaults.iconlibs.foundation2 = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'minus', + expand: 'plus', + "delete": 'remove', + edit: 'edit', + add: 'add-doc', + cancel: 'error', + save: 'checkmark', + moveup: 'up-arrow', + movedown: 'down-arrow' + }, + icon_prefix: 'foundicon-' +}); + +JSONEditor.defaults.iconlibs.foundation3 = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'minus', + expand: 'plus', + "delete": 'x', + edit: 'pencil', + add: 'page-add', + cancel: 'x-circle', + save: 'save', + moveup: 'arrow-up', + movedown: 'arrow-down' + }, + icon_prefix: 'fi-' +}); + +JSONEditor.defaults.iconlibs.jqueryui = JSONEditor.AbstractIconLib.extend({ + mapping: { + collapse: 'triangle-1-s', + expand: 'triangle-1-e', + "delete": 'trash', + edit: 'pencil', + add: 'plusthick', + cancel: 'closethick', + save: 'disk', + moveup: 'arrowthick-1-n', + movedown: 'arrowthick-1-s' + }, + icon_prefix: 'ui-icon ui-icon-' +}); + +JSONEditor.defaults.templates["default"] = function() { + return { + compile: function(template) { + var matches = template.match(/{{\s*([a-zA-Z0-9\-_ \.]+)\s*}}/g); + var l = matches && matches.length; + + // Shortcut if the template contains no variables + if(!l) return function() { return template; }; + + // Pre-compute the search/replace functions + // This drastically speeds up template execution + var replacements = []; + var get_replacement = function(i) { + var p = matches[i].replace(/[{}]+/g,'').trim().split('.'); + var n = p.length; + var func; + + if(n > 1) { + var cur; + func = function(vars) { + cur = vars; + for(i=0; i= 0) { + // For enumerated strings, number, or integers + if(schema.items.enum) { + return 'multiselect'; + } + // For non-enumerated strings (tag editor) + else if(JSONEditor.plugins.selectize.enable && schema.items.type === "string") { + return 'arraySelectize'; + } + } +}); +// Use the multiple editor for schemas with `oneOf` set +JSONEditor.defaults.resolvers.unshift(function(schema) { + // If this schema uses `oneOf` + if(schema.oneOf) return "multiple"; +}); + +/** + * This is a small wrapper for using JSON Editor like a typical jQuery plugin. + */ +(function() { + if(window.jQuery || window.Zepto) { + var $ = window.jQuery || window.Zepto; + $.jsoneditor = JSONEditor.defaults; + + $.fn.jsoneditor = function(options) { + var self = this; + var editor = this.data('jsoneditor'); + if(options === 'value') { + if(!editor) throw "Must initialize jsoneditor before getting/setting the value"; + + // Set value + if(arguments.length > 1) { + editor.setValue(arguments[1]); + } + // Get value + else { + return editor.getValue(); + } + } + else if(options === 'validate') { + if(!editor) throw "Must initialize jsoneditor before validating"; + + // Validate a specific value + if(arguments.length > 1) { + return editor.validate(arguments[1]); + } + // Validate current value + else { + return editor.validate(); + } + } + else if(options === 'destroy') { + if(editor) { + editor.destroy(); + this.data('jsoneditor',null); + } + } + else { + // Destroy first + if(editor) { + editor.destroy(); + } + + // Create editor + editor = new JSONEditor(this.get(0),options); + this.data('jsoneditor',editor); + + // Setup event listeners + editor.on('change',function() { + self.trigger('change'); + }); + editor.on('ready',function() { + self.trigger('ready'); + }); + } + + return this; + }; + } +})(); + + window.JSONEditor = JSONEditor; +})(); + +//# sourceMappingURL=jsoneditor.js.map diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/web/js/lzstring.js b/sandbox/grav/pattern-kit-core/pattern-kit/web/js/lzstring.js new file mode 100644 index 0000000000..8dc9a20ed1 --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/web/js/lzstring.js @@ -0,0 +1,3 @@ + + var LZString={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_f:String.fromCharCode,compressToBase64:function(e){if(e==null)return"";var t="";var n,r,i,s,o,u,a;var f=0;e=LZString.compress(e);while(f>8;r=e.charCodeAt(f/2)&255;if(f/2+1>8;else i=NaN}else{n=e.charCodeAt((f-1)/2)&255;if((f+1)/2>8;i=e.charCodeAt((f+1)/2)&255}else r=i=NaN}f+=3;s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+LZString._keyStr.charAt(s)+LZString._keyStr.charAt(o)+LZString._keyStr.charAt(u)+LZString._keyStr.charAt(a)}return t},decompressFromBase64:function(e){if(e==null)return"";var t="",n=0,r,i,s,o,u,a,f,l,c=0,h=LZString._f;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(c>4;s=(a&15)<<4|f>>2;o=(f&3)<<6|l;if(n%2==0){r=i<<8;if(f!=64){t+=h(r|s)}if(l!=64){r=o<<8}}else{t=t+h(r|i);if(f!=64){r=s<<8}if(l!=64){t+=h(r|o)}}n+=3}return LZString.decompress(t)},compressToUTF16:function(e){if(e==null)return"";var t="",n,r,i,s=0,o=LZString._f;e=LZString.compress(e);for(n=0;n>1)+32);i=(r&1)<<14;break;case 1:t+=o(i+(r>>2)+32);i=(r&3)<<13;break;case 2:t+=o(i+(r>>3)+32);i=(r&7)<<12;break;case 3:t+=o(i+(r>>4)+32);i=(r&15)<<11;break;case 4:t+=o(i+(r>>5)+32);i=(r&31)<<10;break;case 5:t+=o(i+(r>>6)+32);i=(r&63)<<9;break;case 6:t+=o(i+(r>>7)+32);i=(r&127)<<8;break;case 7:t+=o(i+(r>>8)+32);i=(r&255)<<7;break;case 8:t+=o(i+(r>>9)+32);i=(r&511)<<6;break;case 9:t+=o(i+(r>>10)+32);i=(r&1023)<<5;break;case 10:t+=o(i+(r>>11)+32);i=(r&2047)<<4;break;case 11:t+=o(i+(r>>12)+32);i=(r&4095)<<3;break;case 12:t+=o(i+(r>>13)+32);i=(r&8191)<<2;break;case 13:t+=o(i+(r>>14)+32);i=(r&16383)<<1;break;case 14:t+=o(i+(r>>15)+32,(r&32767)+32);s=0;break}}return t+o(i+32)},decompressFromUTF16:function(e){if(e==null)return"";var t="",n,r,i=0,s=0,o=LZString._f;while(s>14);n=(r&16383)<<2;break;case 2:t+=o(n|r>>13);n=(r&8191)<<3;break;case 3:t+=o(n|r>>12);n=(r&4095)<<4;break;case 4:t+=o(n|r>>11);n=(r&2047)<<5;break;case 5:t+=o(n|r>>10);n=(r&1023)<<6;break;case 6:t+=o(n|r>>9);n=(r&511)<<7;break;case 7:t+=o(n|r>>8);n=(r&255)<<8;break;case 8:t+=o(n|r>>7);n=(r&127)<<9;break;case 9:t+=o(n|r>>6);n=(r&63)<<10;break;case 10:t+=o(n|r>>5);n=(r&31)<<11;break;case 11:t+=o(n|r>>4);n=(r&15)<<12;break;case 12:t+=o(n|r>>3);n=(r&7)<<13;break;case 13:t+=o(n|r>>2);n=(r&3)<<14;break;case 14:t+=o(n|r>>1);n=(r&1)<<15;break;case 15:t+=o(n|r);i=0;break}s++}return LZString.decompress(t)},compressToUint8Array:function(e){var t=LZString.compress(e);var n=new Uint8Array(t.length*2);for(var r=0,i=t.length;r>>8;n[r*2+1]=s%256}return n},decompressFromUint8Array:function(e){if(e===null||e===undefined){return LZString.decompress(e)}else{var t=new Array(e.length/2);for(var n=0,r=t.length;n>1}}else{n=1;for(t=0;t>1}}a--;if(a==0){a=Math.pow(2,l);l++}delete i[u]}else{n=r[u];for(t=0;t>1}}a--;if(a==0){a=Math.pow(2,l);l++}r[o]=f++;u=String(s)}}if(u!==""){if(Object.prototype.hasOwnProperty.call(i,u)){if(u.charCodeAt(0)<256){for(t=0;t>1}}else{n=1;for(t=0;t>1}}a--;if(a==0){a=Math.pow(2,l);l++}delete i[u]}else{n=r[u];for(t=0;t>1}}a--;if(a==0){a=Math.pow(2,l);l++}}n=2;for(t=0;t>1}while(true){h=h<<1;if(p==15){c+=v(h);break}else p++}return c},decompress:function(e){if(e==null)return"";if(e=="")return null;var t=[],n,r=4,i=4,s=3,o="",u="",a,f,l,c,h,p,d,v=LZString._f,m={string:e,val:e.charCodeAt(0),position:32768,index:1};for(a=0;a<3;a+=1){t[a]=a}l=0;h=Math.pow(2,2);p=1;while(p!=h){c=m.val&m.position;m.position>>=1;if(m.position==0){m.position=32768;m.val=m.string.charCodeAt(m.index++)}l|=(c>0?1:0)*p;p<<=1}switch(n=l){case 0:l=0;h=Math.pow(2,8);p=1;while(p!=h){c=m.val&m.position;m.position>>=1;if(m.position==0){m.position=32768;m.val=m.string.charCodeAt(m.index++)}l|=(c>0?1:0)*p;p<<=1}d=v(l);break;case 1:l=0;h=Math.pow(2,16);p=1;while(p!=h){c=m.val&m.position;m.position>>=1;if(m.position==0){m.position=32768;m.val=m.string.charCodeAt(m.index++)}l|=(c>0?1:0)*p;p<<=1}d=v(l);break;case 2:return""}t[3]=d;f=u=d;while(true){if(m.index>m.string.length){return""}l=0;h=Math.pow(2,s);p=1;while(p!=h){c=m.val&m.position;m.position>>=1;if(m.position==0){m.position=32768;m.val=m.string.charCodeAt(m.index++)}l|=(c>0?1:0)*p;p<<=1}switch(d=l){case 0:l=0;h=Math.pow(2,8);p=1;while(p!=h){c=m.val&m.position;m.position>>=1;if(m.position==0){m.position=32768;m.val=m.string.charCodeAt(m.index++)}l|=(c>0?1:0)*p;p<<=1}t[i++]=v(l);d=i-1;r--;break;case 1:l=0;h=Math.pow(2,16);p=1;while(p!=h){c=m.val&m.position;m.position>>=1;if(m.position==0){m.position=32768;m.val=m.string.charCodeAt(m.index++)}l|=(c>0?1:0)*p;p<<=1}t[i++]=v(l);d=i-1;r--;break;case 2:return u}if(r==0){r=Math.pow(2,s);s++}if(t[d]){o=t[d]}else{if(d===i){o=f+f.charAt(0)}else{return null}}u+=o;t[i++]=f+o.charAt(0);r--;f=o;if(r==0){r=Math.pow(2,s);s++}}}};if(typeof module!=="undefined"&&module!=null){module.exports=LZString} + diff --git a/sandbox/grav/pattern-kit-core/pattern-kit/web/js/schema_editor.js b/sandbox/grav/pattern-kit-core/pattern-kit/web/js/schema_editor.js new file mode 100644 index 0000000000..295e31309a --- /dev/null +++ b/sandbox/grav/pattern-kit-core/pattern-kit/web/js/schema_editor.js @@ -0,0 +1,157 @@ +handleHeights = function () { + var iframes = $("iframe"), + len = iframes.length, + index, + snippet, + overflow, + overflowData, + height; + + for (index = 0; index < len; index++) { + snippet = $(iframes[index]).contents().find("#snippet"); // element for height measurement + overflow = snippet.css("overflow"); + overflowData = snippet.attr("data-default-overflow"); + if (overflowData !== undefined && overflowData !== "") { + overflow = overflowData; + } else { + snippet.attr("data-default-overflow", overflow); //sets default after first check, so temp value does not get picked on resize iterations + } + snippet.css("overflow", "scroll"); // sets temp value for measuring + height = snippet.get(0).offsetHeight; + snippet.css("overflow", overflow); // sets styling value + + $(iframes[index]).height(height); + } +}; + + +var $preview = $(".js-snippet-preview"), + $previewSource = $preview.find("iframe"), + //viewport + $handleLeft = $(".js-snippet-resize-handle-left"), + $handleRight = $(".js-snippet-resize-handle-right"), + $resizeLength = $(".js-resize-length"), + //data + snippetSource = $(".js-snippet-source"); + +(function() { + var windowWidth = $(".left").width(), + width = 1024; + + + if ((width) + 100 > windowWidth) { + width = (windowWidth - 100); + } + $preview.css('width', width); + $resizeLength.css('width', parseInt(width / 2, 10)); +})(); + +interact('.js-resize-length') + .resizable({ + edges: { + left: ".js-snippet-resize-handle-right", + right: ".js-snippet-resize-handle-left", + bottom: false, + top: false + }, + onmove: function (e) { + + var width = e.rect.width, + windowWidth = $(".left").width(); + + if (width < 160) { + width = 160; + } else if ((width * 2) + 100 > windowWidth) { + width = (windowWidth - 100) / 2; + } + + $preview + .find(snippetSource) + .addClass('resize-overlay'); + $preview[0].style.width = (width * 2) + 'px'; + $resizeLength[0].style.width = width + 'px'; + handleHeights(); + }, + onend: function () { + $preview + .find(snippetSource) + .removeClass('resize-overlay'); + handleHeights(); + } + }); + + + + + + + +var editor_update = function(markup, json) { + $("#display_holder").attr('srcdoc', markup); + $("#json_holder pre").text(JSON.stringify(json,null,2)); + $("#twig_holder").text(JSON.stringify(json,null,2)); + updateDirectLink(); + $('#display_holder').load(function(){ + handleHeights(); + }); + +} + + +var updateDirectLink = function() { + var url = window.location.href.replace(/\?.*/,''); + + url += '?data='+LZString.compressToBase64(JSON.stringify(editor.getValue())); + document.getElementById('direct_link').href = url; +}; + +if(window.location.href.match('[?&]data=([^&]+)')) { + try { + data.starting = JSON.parse(LZString.decompressFromBase64(window.location.href.match('[?&]data=([^&]+)')[1])); + } + catch(e) { + console.log('invalid starting data'); + } +} +if (data.starting.name) { + JSONEditor.defaults.options.startval = data.starting; +}; + + // Initialize the editor with a JSON schema + var editor = new JSONEditor(document.getElementById('editor_holder'),{ + schema: data.schema, + theme: 'bootstrap3', + iconlib: 'fontawesome4', + keep_oneof_values: false + }); + + + JSONEditor.plugins.sceditor.emoticonsEnabled = false; + JSONEditor.plugins.ace.theme = 'twilight'; + + + editor.on('change',function() { + var json = editor.getValue(); + $.ajax({ + url: "/api/validate", + method: 'POST', + contentType: 'application/json', + data: JSON.stringify(json,null,2) + }).success(function(response) { + if ( response.trim() === "The supplied JSON validates against the schema." ) { + $('.valid').removeClass('alert-danger').addClass('alert-success'); + } else if ( response.includes( "The supplied JSON validates against the schema." ) ) { + $('.valid').removeClass('alert-danger').addClass('alert-warning'); + } + $('.valid').html(response); + $.ajax({ + url: "/api/render/page", + method: 'POST', + contentType: 'application/json', + data: JSON.stringify(json,null,2) + }).done(function(markup) { + editor_update(markup, json); + }); + + }); + }); diff --git a/sandbox/grav/robots.txt b/sandbox/grav/robots.txt new file mode 100644 index 0000000000..3b558d6356 --- /dev/null +++ b/sandbox/grav/robots.txt @@ -0,0 +1,11 @@ +User-agent: * +Disallow: /backup/ +Disallow: /bin/ +Disallow: /cache/ +Disallow: /grav/ +Disallow: /logs/ +Disallow: /system/ +Disallow: /vendor/ +Disallow: /user/ +Allow: /user/pages/ +Allow: /user/themes/ diff --git a/sandbox/grav/system/assets/debugger.css b/sandbox/grav/system/assets/debugger.css new file mode 100644 index 0000000000..556da6a0a1 --- /dev/null +++ b/sandbox/grav/system/assets/debugger.css @@ -0,0 +1,54 @@ +div.phpdebugbar { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.phpdebugbar pre { + padding: 1rem; +} + +.phpdebugbar div.phpdebugbar-header > div > * { + padding: 5px 15px; +} + +.phpdebugbar div.phpdebugbar-header > div.phpdebugbar-header-right > * { + padding: 5px 8px; +} + +.phpdebugbar div.phpdebugbar-header, .phpdebugbar a.phpdebugbar-restore-btn { + background-image: url(grav.png); +} + +.phpdebugbar a.phpdebugbar-restore-btn { + width: 13px; +} + +.phpdebugbar a.phpdebugbar-tab.phpdebugbar-active { + background: #3DB9EC; + color: #fff; + margin-top: -1px; + padding-top: 6px; +} + +.phpdebugbar .phpdebugbar-widgets-toolbar { + padding-left: 5px; +} + +.phpdebugbar input[type=text] { + padding: 0; + display: inline; +} + +.phpdebugbar dl.phpdebugbar-widgets-varlist, ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label { + font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace; + font-size: 12px; +} + +ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label { + text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff; + top: 0; +} + +.phpdebugbar pre, .phpdebugbar code { + margin: 0; + font-size: 14px; +} diff --git a/sandbox/grav/system/assets/grav.png b/sandbox/grav/system/assets/grav.png new file mode 100644 index 0000000000000000000000000000000000000000..3379934675630df9f249bb6740691f1480d13e78 GIT binary patch literal 548 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaFebFq_W2nPqp?T7vkfZU1zpAgso z|NsB~{rmIh&#zv+di3bgy?ghrUAuPa(xp?UP8~gZbno81TeogqyLRn@1qN}=VxbUr>CbUCnv|p$45m)g@uLr`T2QydAYf{ zIXOAm+1XiHS(%!e8X6kv>gob5y?LQs1?UEik|4ieAeR`xuy2)~1W*rWfk$L90|Vb2 z5N2eb5_}gZC{yAZQ4*Y=R#Ki=l*-_klAn~S;FejGTAp8&U98|7Z1!T$rXHX=5s*6P zqSVBa%=|oskj&gv26KH&eM6HKs@j%7`Qx50jv*3Lb0^#_YcddMaSxmrbkL0LsJzi^ z-cSGXU$EVZ`(hz(X?fo>EnV#Lnp5o$RzK~lnX?*6-$d`l z8H2YcuH+|Z?dyHZQ+ez**XsVNX0?fRPNFMRyN+9Y@;;**@bP0l+XkKVe0xy literal 0 HcmV?d00001 diff --git a/sandbox/grav/system/assets/jquery/jquery-2.1.4.min.js b/sandbox/grav/system/assets/jquery/jquery-2.1.4.min.js new file mode 100644 index 0000000000..49990d6e14 --- /dev/null +++ b/sandbox/grav/system/assets/jquery/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("'),l},simpleUpload.dequeueIframe=function(e){e in simpleUpload.iframes&&($("iframe[name=simpleUpload_iframe_"+e+"]").remove(),delete simpleUpload.iframes[e],simpleUpload.iframeCount--)},simpleUpload.convertDataType=function(e,l,n){var t="auto";if("auto"==e){if("string"==typeof l&&""!=l){var a=l.toLowerCase(),o=["json","xml","html","script","text"];for(var r in o)if(o[r]==a){t=a;break}}}else t=e;if("auto"==t)return"undefined"==typeof n?"":"object"==typeof n?n:String(n);if("json"==t){if("undefined"==typeof n||null===n)return null;if("object"==typeof n)return n;if("string"==typeof n)try{return $.parseJSON(n)}catch(i){return!1}return!1}if("xml"==t){if("undefined"==typeof n||null===n)return null;if("string"==typeof n)try{return $.parseXML(n)}catch(i){return!1}return!1}if("script"==t){if("undefined"==typeof n)return"";if("string"==typeof n)try{return $.globalEval(n),n}catch(i){return!1}return!1}return"undefined"==typeof n?"":String(n)},simpleUpload.iframeCallback=function(e){if("object"==typeof e&&null!==e){var l=e.id;if(l in simpleUpload.iframes){var n=simpleUpload.convertDataType(simpleUpload.iframes[l].expect,e.type,e.data);n!==!1?simpleUpload.iframes[l].complete(n):simpleUpload.iframes[l].error("Could not get response from server")}}},simpleUpload.postMessageCallback=function(e){try{var l=e.message?"message":"data",n=e[l];if("string"==typeof n&&""!=n&&(n=$.parseJSON(n),"object"==typeof n&&null!==n&&"string"==typeof n.namespace&&"simpleUpload"==n.namespace)){var t=n.id;if(t in simpleUpload.iframes&&e.origin===simpleUpload.iframes[t].origin){var a=simpleUpload.convertDataType(simpleUpload.iframes[t].expect,n.type,n.data);a!==!1?simpleUpload.iframes[t].complete(a):simpleUpload.iframes[t].error("Could not get response from server")}}}catch(e){}},window.addEventListener?window.addEventListener("message",simpleUpload.postMessageCallback,!1):window.attachEvent("onmessage",simpleUpload.postMessageCallback),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){e.fn.simpleUpload=function(l,n){return 0==e(this).length&&"object"==typeof n&&null!==n&&"object"==typeof n.files&&null!==n.files?(new simpleUpload(l,null,n),this):this.each(function(){new simpleUpload(l,this,n)})},e.fn.simpleUpload.maxSimultaneousUploads=function(e){return"undefined"==typeof e?simpleUpload.maxUploads:"number"==typeof e&&e>0?(simpleUpload.maxUploads=e,this):void 0}}); \ No newline at end of file diff --git a/sandbox/grav/user/plugins/editable-simplemde/templates/editable-simplemde.html.twig b/sandbox/grav/user/plugins/editable-simplemde/templates/editable-simplemde.html.twig new file mode 100644 index 0000000000..9fe8a812c8 --- /dev/null +++ b/sandbox/grav/user/plugins/editable-simplemde/templates/editable-simplemde.html.twig @@ -0,0 +1,8 @@ +
    + +
     Edit
    + +
    +
    diff --git a/sandbox/grav/user/plugins/email/CHANGELOG.md b/sandbox/grav/user/plugins/email/CHANGELOG.md new file mode 100644 index 0000000000..03723a0e99 --- /dev/null +++ b/sandbox/grav/user/plugins/email/CHANGELOG.md @@ -0,0 +1,146 @@ +# v2.6.1 +## 09/07/2017 + +1. [](#improved) + * Improved the error message when missing `from` in the configuration + * Silently catch malformed email exceptions + +# v2.6.0 +## 05/22/2017 + +1. [](#improved) + * Inherit options from plugin configuration [#39](https://github.com/getgrav/grav-plugin-email/pull/39) +1. [](#bugfix) + * Also process translation on the email subject [https://github.com/getgrav/grav-plugin-comments/issues/38](https://github.com/getgrav/grav-plugin-comments/issues/38) + +# v2.5.3 +## 01/03/2017 + +1. [](#improved) + * Updated to SwiftMailer 5.4.5 [#45](https://github.com/getgrav/grav-plugin-email/issues/45) + +# v2.5.2 +## 12/13/2016 + +1. [](#new) + * RC released as stable + +# v2.5.2-rc.1 +## 11/26/2016 + +1. [](#new) + * Added a new `process_markdown` option for emails in forms +1. [](#improved) + * Improved the `Utils::sendEmail()` method to take the email type as an option + +# v2.5.1 +## 10/19/2016 + +1. [](#improved) + * CLI command will fallback to use the `to` from email plugin config if not provided + * Explicit Composer based class loader to fix issues with class case + +# v2.5.0 +## 09/07/2016 + +1. [](#new) + * Added a new `bin/plugin email test-email` CLI command +1. [](#improved) + * Moved Email `Utils` class from Login to Email plugin + * Provide a sample base `email/base.html.twig` template for emails +1. [](#bugfix) + * Fix handling attachments with the updated file upload field + +# v2.4.3 +## 08/16/2016 + +1. [](#improved) + * Added Russian translation + * Updated Swiftmailer to 5.4.3 [#37](https://github.com/getgrav/grav-plugin-email/issues/37) + +# v2.4.2 +## 08/10/2016 + +1. [](#improved) + * Added Croatian translation + +# v2.4.1 +## 07/14/2016 + +1. [](#improved) + * Allow multiple email recipients (comma separated) [#31](https://github.com/getgrav/grav-plugin-email/issues/31) + * Added Danish and Spanish translations + +# v2.4.0 +## 05/11/2016 + +1. [](#improved) + * Now includes Swiftmailer v5.4.2 which introduces a number of bug fixes and improvements +1. [](#bugfix) + * Correct `starttls` implementation, bundled in TLS + +# v2.3.0 +## 04/20/2016 + +1. [](#improved) + * Added debug option to enable logging on SwiftMailer. + * Updated SwiftMailer from v5.1.0 to v5.4.1. + * Added an option in the Admin settings to enable `starttls` +1. [](#bugfix) + * Correctly name TLS in the Admin settings, the label was `TTS` (but the value was correctly named `tls`) + +# v2.2.0 +## 02/05/2016 + +1. [](#new) + * Allow to send attachments in forms + * Added French translation +1. [](#improved) + * Throw an exception when trying to send emails without a `from` or `to` parameters setup, to intercept less meaningful errors and provide a better description on how to fix the problem + * Changed SMTP password in admin to use a password field instead of plain text + +# v2.1.0 +## 12/18/2015 + +1. [](#new) + * Added missing `content_type` to email.yaml + * Added default values for CC and BCC + 1. [](#improved) + * Improved documentation of new email params in `README.md` + * Moved config setting of `mailer.default` to `mailer.engine` + +# v2.0.0 +## 12/11/2015 + +1. [](#new) + * Added support for from/sender name (Thomas Keitel) + * Added support for message content type (Thomas Keitel) + * Added support for reply addresses (Thomas Keitel) + * Added support for CC/BCC (Thomas Keitel) + * Added support for multiple body parts (Thomas Keitel) +1. [](#bugfix) + * Fix email engine selection (z38) + +# v1.0.0 +## 11/20/2015 + +1. [](#bugfix) + * Fix for issue with no body parameter specified + +# v0.2.1 +## 09/11/2015 + +1. [](#bugfix) + * Fix onFormProcessed event + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/email/LICENSE b/sandbox/grav/user/plugins/email/LICENSE new file mode 100644 index 0000000000..0e788c6a28 --- /dev/null +++ b/sandbox/grav/user/plugins/email/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/email/README.md b/sandbox/grav/user/plugins/email/README.md new file mode 100644 index 0000000000..482fabd0cc --- /dev/null +++ b/sandbox/grav/user/plugins/email/README.md @@ -0,0 +1,210 @@ +# Grav Email Plugin + +The **email plugin** for [Grav](http://github.com/getgrav/grav) adds the ability to send email. This is particularly useful for the **admin** and **login** plugins. + +# Installation + +The email plugin is easy to install with GPM. + +``` +$ bin/gpm install email +``` + +# Configuration + +By default, the plugin uses PHP Mail as the mail engine. + +You can configure the Email plugin by using the Admin plugin, navigating to the Plugins list and choosing `Email`. + +That's the easiest route. Or you can also alter the Plugin configuration by copying the `user/plugins/email/email.yaml` file into `user/config/plugins/email.yaml` and make your modifications there. + +The first setting you'd likely change is your `Email from` / `Email to` names and emails. + +Also, you'd likely want to setup a SMTP server instead of using PHP Mail, as the latter is not 100% reliable and you might experience problems with emails. + +# Testing emails + +A good way to test emails is to use a SMTP server service that's built for testing emails, for example [https://mailtrap.io](https://mailtrap.io) + +Setup the Email plugin to use that SMTP server with the fake inbox data. For example enter this configuration in `user/config/plugins/email.yaml` or through the Admin panel: + +``` +mailer: + engine: smtp + smtp: + server: mailtrap.io + port: 2525 + encryption: none + user: YOUR_MAILTRAP_INBOX_USER + password: YOUR_MAILTRAP_INBOX_PASSWORD +``` + +That service will intercept emails and show them on their web-based interface instead of sending them for real. + +You can try and fine tune the emails there while testing. + +## Testing with CLI Command + +You can test your email configuration with the following CLI Command: + +``` +$ bin/plugin email test-email -t steve@apple.com +``` + +You can also pass in a configuration environment: + +``` +$ bin/plugin email test-email -t steve@apple.com -e mysite.com +``` + +This will use the email configuration you have located in `user/mysite.com/config/plugins/email.yaml`. Read the docs to find out more about environment-based configuration: https://learn.getgrav.org/advanced/environment-config + +# Programmatically send emails + +Add this code in your plugins: + +```php + + $to = 'email@test.com'; + $from = 'email@test.com'; + + $subject = 'Test'; + $content = 'Test'; + + $message = $this->grav['Email']->message($subject, $content, 'text/html') + ->setFrom($from) + ->setTo($to); + + $sent = $this->grav['Email']->send($message); +``` + +# Emails sent with Forms + +When executing email actions during form processing, action parameters are inherited from the global configuration but may also be overridden on a per-action basis. + +``` +title: Custom form + +form: + name: custom_form + fields: + + # Any fields you'd like to add to the form: + # Their values may be referenced in email actions via '{{ form.value.FIELDNAME|e }}' + + process: + - email: + subject: "[Custom form] {{ form.value.name|e }}" + body: "{% include 'forms/data.txt.twig' %}" + from: sender@example.com + from_name: 'Custom sender name' + to: recipient@example.com + to_name: 'Custom recipient name' + content_type: 'text/plain' + process_markdown: true +``` + +## Sending Attachments + +You can add file inputs to your form, and send those files via Email. +Just add an `attachments` field and list the file input fields names. You can have multiple file fields, and this will send all the files as attachments. Example: + +``` +form: + name: custom_form + fields: + + - + name: my-file + label: 'Add a file' + type: file + multiple: false + destination: user/data/files + accept: + - application/pdf + - application/x-pdf + - image/png + - text/plain + + process: + - + email: + body: '{% include "forms/data.html.twig" %}' + attachments: + - 'my-file' +``` + +## Additional action parameters + +To have more control over your generated email, you may also use the following additional parameters: + +* `reply_to`: Set one or more addresses that should be used to reply to the message. +* `cc` _(Carbon copy)_: Add one or more addresses to the delivery list. Many email clients will mark email in one's inbox differently depending on whether they are in the `To:` or `Cc:` list. +* `bcc` _(Blind carbon copy)_: Add one or more addresses to the delivery list that should (usually) not be listed in the message data, remaining invisible to other recipients. +* `charset`: Explicitly set a charset for the generated email body (only takes effect if `body` parameter is a string, defaults to `utf-8`) + +### Specifying email addresses + +Email-related parameters (`from`, `to`, `reply_to`, `cc`and `bcc`) allow different notations for single / multiple values: + +#### Single email address string + +``` +to: mail@example.com +``` + +#### Multiple email address strings + +``` +to: + - mail@example.com + - mail+1@example.com + - mail+2@example.com +``` + +#### Single email address with name + +``` +to: + mail: mail@example.com + name: Human-readable name +``` + +#### Multiple email addresses (with and without names) + +``` +to: + - + mail: mail@example.com + name: Human-readable name + - + mail: mail+2@example.com + name: Another human-readable name + - + mail+3@example.com + - + mail+4@example.com +``` + +## Multi-part MIME messages + +Apart from a simple string, an email body may contain different MIME parts (e.g. HTML body with plain text fallback). You may even specify a different charset for each part (default to `utf-8`): + +``` +body: + - + content_type: 'text/html' + body: "{% include 'forms/default/data.html.twig' %}" + - + content_type: 'text/plain' + body: "{% include 'forms/default/data.txt.twig' %}" + charset: 'iso-8859-1' +``` + +# Troubleshooting + +## Emails are not sent + +As explained above in the Configuration section, if you're using the default settings, set the Plugin configuration to use a SMTP server. It can be [Gmail](https://www.digitalocean.com/community/tutorials/how-to-use-google-s-smtp-server) or another SMTP server you have at your disposal. + +This is the first thing to check. The reason is that PHP Mail, the default system used by the Plugin, is not 100% reliable and emails might not arrive. diff --git a/sandbox/grav/user/plugins/email/blueprints.yaml b/sandbox/grav/user/plugins/email/blueprints.yaml new file mode 100644 index 0000000000..1a515caa67 --- /dev/null +++ b/sandbox/grav/user/plugins/email/blueprints.yaml @@ -0,0 +1,182 @@ +name: Email +version: 2.6.1 +description: Enables the emailing system for Grav +icon: envelope +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +keywords: plugin, email, sender +homepage: https://github.com/getgrav/grav-plugin-email +bugs: https://github.com/getgrav/grav-plugin-email/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.1.9' } + +form: + validation: loose + fields: + enabled: + type: hidden + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + mailer.engine: + type: select + label: Mail Engine + size: medium + options: + none: Disabled + smtp: SMTP + sendmail: Sendmail + mail: PHP Mail + + content_type: + type: select + label: Content type + size: medium + default: 'text/html' + options: + 'text/plain': Plain text + 'text/html': HTML + + charset: + type: text + size: medium + label: Charset + placeholder: "Defaults to UTF-8" + + from: + type: email + size: medium + label: Email from + placeholder: "Default email from address" + validate: + required: true + type: email + + from_name: + type: text + size: medium + label: Email from name + placeholder: "Default email from name" + + to: + type: email + size: medium + label: Email to + placeholder: "Default email to address" + multiple: true + validate: + required: true + type: email + + to_name: + type: text + size: medium + label: Email to name + placeholder: "Default email to name" + + cc: + type: email + size: medium + label: Email CC + placeholder: "Default email CC address" + multiple: true + validate: + type: email + + cc_name: + type: text + size: medium + label: Email CC name + placeholder: "Default email CC name" + + bcc: + type: email + size: medium + label: Email BCC + placeholder: "Default email BCC address" + multiple: true + validate: + type: email + + reply_to: + type: email + size: medium + label: Email reply-to + placeholder: "Default email reply-to address" + multiple: true + validate: + type: email + + reply_to_name: + type: text + size: medium + label: Email reply-to name + placeholder: "Default email reply-to name" + + body: + type: textarea + size: medium + label: Email body + placeholder: "Defaults to a table of all form fields" + + mailer.smtp.server: + type: text + size: medium + label: SMTP server + placeholder: "e.g. smtp.google.com" + + mailer.smtp.port: + type: text + size: small + label: SMTP port + placeholder: "Defaults to 25 (plaintext) / 587 (encrypted)" + validate: + type: number + min: 1 + max: 65535 + + mailer.smtp.encryption: + type: select + size: medium + label: SMTP encryption + options: + none: None + ssl: SSL + tls: TLS + + mailer.smtp.user: + type: text + size: medium + label: SMTP login name + + mailer.smtp.password: + type: password + size: medium + label: SMTP password + + mailer.sendmail.bin: + type: text + size: medium + label: Path to sendmail + placeholder: "/usr/sbin/sendmail" + + debug: + type: toggle + label: Debug + highlight: 1 + default: 0 + options: + true: PLUGIN_ADMIN.ENABLED + false: PLUGIN_ADMIN.DISABLED + validate: + type: bool diff --git a/sandbox/grav/user/plugins/email/classes/Email.php b/sandbox/grav/user/plugins/email/classes/Email.php new file mode 100644 index 0000000000..30e65b2ff4 --- /dev/null +++ b/sandbox/grav/user/plugins/email/classes/Email.php @@ -0,0 +1,189 @@ +get('plugins.email.mailer.engine') != 'none'; + } + + /** + * Returns true if debugging on emails has been enabled. + * + * @return bool + */ + public function debug() + { + return self::getGrav()['config']->get('plugins.email.debug') == 'true'; + } + + /** + * Creates an email message. + * + * @param string $subject + * @param string $body + * @param string $contentType + * @param string $charset + * @return \Swift_Message + */ + public function message($subject = null, $body = null, $contentType = null, $charset = null) + { + return new \Swift_Message($subject, $body, $contentType, $charset); + } + + /** + * Creates an attachment. + * + * @param string $data + * @param string $filename + * @param string $contentType + * @return \Swift_Attachment + */ + public function attachment($data = null, $filename = null, $contentType = null) + { + return new \Swift_Attachment($data, $filename, $contentType); + } + + /** + * Creates an embedded attachment. + * + * @param string $data + * @param string $filename + * @param string $contentType + * @return \Swift_EmbeddedFile + */ + public function embedded($data = null, $filename = null, $contentType = null) + { + return new \Swift_EmbeddedFile($data, $filename, $contentType); + } + + /** + * Creates an image attachment. + * + * @param string $data + * @param string $filename + * @param string $contentType + * @return \Swift_Image + */ + public function image($data = null, $filename = null, $contentType = null) + { + return new \Swift_Image($data, $filename, $contentType); + } + + /** + * Send email. + * + * @param \Swift_Message $message + * @return int + */ + public function send($message) + { + $mailer = $this->getMailer(); + + $result = $mailer ? $mailer->send($message) : 0; + + // Check if emails and debugging are both enabled. + if ($mailer && $this->debug()) { + // Get an instance of the logging service. + $log = self::getGrav()['log']; + // Append the SwiftMailer log to the log. + $log->addDebug("Email Log: " . $this->getLogs()); + } + + return $result; + } + + /** + * Return debugging logs if enabled + * + * @return string + */ + public function getLogs() + { + if ($this->debug()) { + return $this->logger->dump(); + } + return ''; + } + + /** + * @internal + * @return null|\Swift_Mailer + */ + protected function getMailer() + { + if (!$this->enabled()) { + return null; + } + + if (!$this->mailer) { + /** @var Config $config */ + $config = self::getGrav()['config']; + $mailer = $config->get('plugins.email.mailer.engine'); + + // Create the Transport and initialize it. + switch ($mailer) { + case 'smtp': + $transport = \Swift_SmtpTransport::newInstance(); + + $options = $config->get('plugins.email.mailer.smtp'); + if (!empty($options['server'])) { + $transport->setHost($options['server']); + } + if (!empty($options['port'])) { + $transport->setPort($options['port']); + } + if (!empty($options['encryption']) && $options['encryption'] != 'none') { + $transport->setEncryption($options['encryption']); + } + if (!empty($options['user'])) { + $transport->setUsername($options['user']); + } + if (!empty($options['password'])) { + $transport->setPassword($options['password']); + } + break; + case 'sendmail': + $options = $config->get('plugins.email.mailer.sendmail'); + $bin = !empty($options['bin']) ? $options['bin'] : '/usr/sbin/sendmail'; + $transport = \Swift_SendmailTransport::newInstance($bin); + break; + case 'mail': + default: + $transport = \Swift_MailTransport::newInstance(); + } + + // Create the Mailer using your created Transport + $this->mailer = \Swift_Mailer::newInstance($transport); + + // Register the logger if we're debugging. + if ($this->debug()) { + $this->logger = new \Swift_Plugins_Loggers_ArrayLogger(); + $this->mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($this->logger)); + } + } + + return $this->mailer; + } +} diff --git a/sandbox/grav/user/plugins/email/classes/Utils.php b/sandbox/grav/user/plugins/email/classes/Utils.php new file mode 100644 index 0000000000..690babf6d2 --- /dev/null +++ b/sandbox/grav/user/plugins/email/classes/Utils.php @@ -0,0 +1,57 @@ +get('plugins.email.from'); + } + + if (!isset($grav['Email']) || empty($from)) { + throw new \RuntimeException($grav['language']->translate('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_FROM_ADDRESS')); + } + + if (empty($to) || empty($subject) || empty($content)) { + return false; + } + + //Initialize twig if not yet initialized + $grav['twig']->init(); + + $body = $grav['twig']->processTemplate('email/base.html.twig', ['content' => $content]); + + $message = $grav['Email']->message($subject, $body, $mimetype) + ->setFrom($from) + ->setTo($to); + + $sent = $grav['Email']->send($message); + + if ($sent < 1) { + return false; + } else { + return true; + } + } +} diff --git a/sandbox/grav/user/plugins/email/cli/TestEmailCommand.php b/sandbox/grav/user/plugins/email/cli/TestEmailCommand.php new file mode 100644 index 0000000000..f1047d75ef --- /dev/null +++ b/sandbox/grav/user/plugins/email/cli/TestEmailCommand.php @@ -0,0 +1,98 @@ +setName('test-email') + ->setAliases(['testemail']) + ->addOption( + 'to', + 't', + InputOption::VALUE_REQUIRED, + 'An email address to send the email to' + ) + ->addOption( + 'env', + 'e', + InputOption::VALUE_OPTIONAL, + 'The environment to trigger a specific configuration. For example: localhost, mysite.dev, www.mysite.com' + ) + ->addOption( + 'subject', + 's', + InputOption::VALUE_OPTIONAL, + 'A subject for the email' + ) + ->addOption( + 'body', + 'b', + InputOption::VALUE_OPTIONAL, + 'The body of the email' + ) + ->setDescription('Sends a test email using the plugin\'s configuration') + ->setHelp('The test-email command sends a test email using the plugin\'s configuration'); + } + + /** + * @return int|null|void + */ + protected function serve() + { + $grav = Grav::instance(); + + $this->output->writeln(''); + $this->output->writeln('Current Configuration:'); + $this->output->writeln(''); + + dump($grav['config']->get('plugins.email')); + + $this->output->writeln(''); + + require_once __DIR__ . '/../vendor/autoload.php'; + + $grav['Email'] = new Email(); + + $email_to = $this->input->getOption('to') ?: $grav['config']->get('plugins.email.to'); + $subject = $this->input->getOption('subject'); + $body = $this->input->getOption('body'); + + if (!$subject) { + $subject = 'Testing Grav Email Plugin'; + } + + if (!$body) { + $configuration = print_r($grav['config']->get('plugins.email'), true); + $body = $grav['language']->translate(['PLUGIN_EMAIL.TEST_EMAIL_BODY', $configuration]); + } + + $sent = EmailUtils::sendEmail($subject, $body, $email_to); + + if ($sent) { + $this->output->writeln("Message sent successfully!"); + } else { + $this->output->writeln("Problem sending email..."); + } + + } +} diff --git a/sandbox/grav/user/plugins/email/composer.json b/sandbox/grav/user/plugins/email/composer.json new file mode 100644 index 0000000000..182c714190 --- /dev/null +++ b/sandbox/grav/user/plugins/email/composer.json @@ -0,0 +1,10 @@ +{ + "require": { + "swiftmailer/swiftmailer": "~5.4" + }, + "autoload": { + "psr-4": { + "Grav\\Plugin\\Email\\": "classes/" + } + } +} diff --git a/sandbox/grav/user/plugins/email/composer.lock b/sandbox/grav/user/plugins/email/composer.lock new file mode 100644 index 0000000000..eadf425f85 --- /dev/null +++ b/sandbox/grav/user/plugins/email/composer.lock @@ -0,0 +1,73 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "6c22283f04560164bb86aa58648babc9", + "content-hash": "2244976b3750b669fab6abb506e9c591", + "packages": [ + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.5", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "cd142238a339459b10da3d8234220963f392540c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/cd142238a339459b10da3d8234220963f392540c", + "reference": "cd142238a339459b10da3d8234220963f392540c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2016-12-29 10:02:40" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/sandbox/grav/user/plugins/email/email.php b/sandbox/grav/user/plugins/email/email.php new file mode 100644 index 0000000000..ba24447891 --- /dev/null +++ b/sandbox/grav/user/plugins/email/email.php @@ -0,0 +1,319 @@ + ['onPluginsInitialized', 0], + 'onFormProcessed' => ['onFormProcessed', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0] + ]; + } + + /** + * Initialize emailing. + */ + public function onPluginsInitialized() + { + require_once __DIR__ . '/vendor/autoload.php'; + + $this->email = new Email(); + + if ($this->email->enabled()) { + $this->grav['Email'] = $this->email; + } + } + + /** + * Add twig paths to plugin templates. + */ + public function onTwigTemplatePaths() + { + $twig = $this->grav['twig']; + $twig->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Send email when processing the form data. + * + * @param Event $event + */ + public function onFormProcessed(Event $event) + { + $form = $event['form']; + $action = $event['action']; + $params = $event['params']; + + if (!$this->email->enabled()) { + return; + } + + switch ($action) { + case 'email': + // Prepare Twig variables + $vars = array( + 'form' => $form + ); + + // Build message + $message = $this->buildMessage($params, $vars); + + if (isset($params['attachments'])) { + $filesToAttach = (array)$params['attachments']; + if ($filesToAttach) foreach ($filesToAttach as $fileToAttach) { + $filesValues = $form->value($fileToAttach); + + if ($filesValues) foreach($filesValues as $fileValues) { + if (isset($fileValues['file'])) { + $filename = $fileValues['file']; + } else { + $filename = ROOT_DIR . $fileValues['path']; + } + + $message->attach(\Swift_Attachment::fromPath($filename)); + } + } + } + + // Send e-mail + $this->email->send($message); + break; + } + } + + /** + * Build e-mail message. + * + * @param array $params + * @param array $vars + * @return \Swift_Message + */ + protected function buildMessage(array $params, array $vars = array()) + { + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + // Extend parameters with defaults. + $params += array( + 'bcc' => $this->config->get('plugins.email.bcc', array()), + 'body' => $this->config->get('plugins.email.body', '{% include "forms/data.html.twig" %}'), + 'cc' => $this->config->get('plugins.email.cc', array()), + 'cc_name' => $this->config->get('plugins.email.cc_name'), + 'charset' => $this->config->get('plugins.email.charset', 'utf-8'), + 'from' => $this->config->get('plugins.email.from'), + 'from_name' => $this->config->get('plugins.email.from_name'), + 'content_type' => $this->config->get('plugins.email.content_type', 'text/html'), + 'reply_to' => $this->config->get('plugins.email.reply_to', array()), + 'reply_to_name' => $this->config->get('plugins.email.reply_to_name'), + 'subject' => !empty($vars['form']) && $vars['form'] instanceof Form ? $vars['form']->page()->title() : null, + 'to' => $this->config->get('plugins.email.to'), + 'to_name' => $this->config->get('plugins.email.to_name'), + 'process_markdown' => false, + ); + + // Create message object. + $message = $this->email->message(); + + if (!$params['to']) { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_TO_ADDRESS')); + } + if (!$params['from']) { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_FROM_ADDRESS')); + } + + // Process parameters. + foreach ($params as $key => $value) { + switch ($key) { + case 'bcc': + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addBcc($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'body': + if (is_string($value)) { + $body = $twig->processString($value, $vars); + + if ($params['process_markdown']) { + $parsedown = new \Parsedown(); + $body = $parsedown->text($body); + } + + $content_type = !empty($params['content_type']) ? $twig->processString($params['content_type'], $vars) : null; + $charset = !empty($params['charset']) ? $twig->processString($params['charset'], $vars) : null; + + $message->setBody($body, $content_type, $charset); + } + elseif (is_array($value)) { + foreach ($value as $body_part) { + $body_part += array( + 'charset' => $params['charset'], + 'content_type' => $params['content_type'], + ); + + $body = !empty($body_part['body']) ? $twig->processString($body_part['body'], $vars) : null; + + if ($params['process_markdown']) { + $parsedown = new \Parsedown(); + $body = $parsedown->text($body); + } + + $content_type = !empty($body_part['content_type']) ? $twig->processString($body_part['content_type'], $vars) : null; + $charset = !empty($body_part['charset']) ? $twig->processString($body_part['charset'], $vars) : null; + + if (!$message->getBody()) { + $message->setBody($body, $content_type, $charset); + } + else { + $message->addPart($body, $content_type, $charset); + } + } + } + break; + + case 'cc': + if (is_string($value) && !empty($params['cc_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['cc_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addCc($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'from': + if (is_string($value) && !empty($params['from_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['from_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addFrom($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'reply_to': + if (is_string($value) && !empty($params['reply_to_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['reply_to_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addReplyTo($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'subject': + $message->setSubject($twig->processString($this->grav['language']->translate($value), $vars)); + break; + + case 'to': + if (is_string($value) && !empty($params['to_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['to_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addTo($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + } + } + + return $message; + } + + /** + * Return parsed e-mail address value. + * + * @param $value + * @param array $vars + * @return array + */ + protected function parseAddressValue($value, array $vars = array()) + { + $parsed = array(); + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + // Single e-mail address string + if (is_string($value)) { + $parsed[] = (object) array( + 'mail' => $twig->processString($value, $vars), + 'name' => null, + ); + } + + else { + // Cast value as array + $value = (array) $value; + + // Single e-mail address array + if (!empty($value['mail'])) { + $parsed[] = (object) array( + 'mail' => $twig->processString($value['mail'], $vars), + 'name' => !empty($value['name']) ? $twig->processString($value['name'], $vars) : NULL, + ); + } + + // Multiple addresses (either as strings or arrays) + elseif (!(empty($value['mail']) && !empty($value['name']))) { + foreach ($value as $y => $itemx) { + $addresses = $this->parseAddressValue($itemx, $vars); + + if (($address = reset($addresses))) { + $parsed[] = $address; + } + } + } + } + + return $parsed; + } +} diff --git a/sandbox/grav/user/plugins/email/email.yaml b/sandbox/grav/user/plugins/email/email.yaml new file mode 100644 index 0000000000..520400db5e --- /dev/null +++ b/sandbox/grav/user/plugins/email/email.yaml @@ -0,0 +1,17 @@ +enabled: true +from: +from_name: +to: +to_name: +mailer: + engine: mail + smtp: + server: localhost + port: 25 + encryption: none + user: '' + password: '' + sendmail: + bin: '/usr/sbin/sendmail' +content_type: text/html +debug: false \ No newline at end of file diff --git a/sandbox/grav/user/plugins/email/hebe.json b/sandbox/grav/user/plugins/email/hebe.json new file mode 100644 index 0000000000..3831af4d94 --- /dev/null +++ b/sandbox/grav/user/plugins/email/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-email", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/email" + } + ] + } + } + } +} diff --git a/sandbox/grav/user/plugins/email/languages.yaml b/sandbox/grav/user/plugins/email/languages.yaml new file mode 100644 index 0000000000..4067417f08 --- /dev/null +++ b/sandbox/grav/user/plugins/email/languages.yaml @@ -0,0 +1,53 @@ +en: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Email not configured" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Please configure a 'to' address in the Email Plugin settings, or in the form" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Please configure a 'from' address in the Email Plugin settings, or in the form" + TEST_EMAIL_BODY: "

    Testing Email

    This test email has been sent based on the following configuration:

    %1$s

    " + EMAIL_FOOTER: "GetGrav.org" + +da: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Konfigurere venligst en 'til' email adresse i Email Plugin indstillingerne eller her i formularen" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Konfigurere venligst en 'fra' email adresse i Email Plugin indstillingerne eller her i formularen" + +de: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "E-Mail ist nicht konfiguriert" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Bitte konfigurieren sie eine 'An' ('to') Adresse in den Email-Plugin-Einstellungen oder im Formular." + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Bitte konfigurieren sie eine 'Von' ('from') Adresse in den Email-Plugin-Einstellungen oder im Formular." + +es: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Por favor configura una dirección de 'remitente' en la configuración del Plugin de Email o en el formulario" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Por favor configura una dirección de 'destinatario' en la configuración del Plugin de Email o en el formulario" + +fr: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "L’e-mail n’est pas configuré" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Veuillez configurer une adresse de 'destinataire' dans les paramètres du Plugin ou dans le formulaire." + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Veuillez configurer une adresse 'd'expéditeur' dans les paramètres du Plugin ou dans le formulaire." + TEST_EMAIL_BODY: "

    E-mail de test

    Cet e-mail de test est basé sur la configuration suivante :

    %1$s

    " + EMAIL_FOOTER: "GetGrav.org" + +hr: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Email nije konfiguriran" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Konfigurirajte 'za' ('to') adresu u postavkama Email dodatka ili u obrascu" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Konfigurirajte 'od' ('from') adresu u postavkama Email dodatka ili u obrascu" + +it: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Per favore, configura l'indirizzo di destinazione ('to') nella configurazione del Plugin Email, oppure direttamente nella form." + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Per favore, configura l'indirizzo di provenienza ('from') nella configurazione del Plugin Email, oppure direttamente nella form" + +ro: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Adresa de email nu este configurată" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Vă rugam setați o adresă 'către' în setările modulului Email sau în formular" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Vă rugam setați o adresă 'de la' în setările modulului Email sau în formular" + +ru: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Пожалуйста настройте адрес получателя ('to') в настройках плагина Email Plugin, или на форме" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Пожалуйста настройте адрес отправителя ('from') в настройках плагина Email Plugin, или на форме" diff --git a/sandbox/grav/user/plugins/email/templates/email/base.html.twig b/sandbox/grav/user/plugins/email/templates/email/base.html.twig new file mode 100644 index 0000000000..de554c26e0 --- /dev/null +++ b/sandbox/grav/user/plugins/email/templates/email/base.html.twig @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + {{ content|raw }} +
    +
    +
    + + + + + + + + + + + + + + diff --git a/sandbox/grav/user/plugins/error/CHANGELOG.md b/sandbox/grav/user/plugins/error/CHANGELOG.md new file mode 100644 index 0000000000..dbb0d78681 --- /dev/null +++ b/sandbox/grav/user/plugins/error/CHANGELOG.md @@ -0,0 +1,54 @@ +# v1.6.0 +## 10/19/2016 + +1. [](#improved) + * Added Croatian translation + * Improved `autoescape: true` support +1. [](#bugfix) + * Fixed issue where template file for `error` page type is only available if page was not found + +# v1.5.1 +## 07/18/2016 + +1. [](#improved) + * Added chinese and german translations +1. [](#bugfix) + * Fixed issue with the Smartypants plugin running before Twig was processed + +# v1.5.0 +## 07/14/2015 + +1. [](#improved) + * Translate some blueprint configuration options + * Allow translating the error message + * Added french, russian, romanian, danish, italian + +# v1.4.1 +## 12/11/2015 + +1. [](#bugfix) + * Fixed CLI command for PHP 5.5 and lower + +# v1.4.0 +## 11/21/2015 + +1. [](#new) + * Implemented CLI commands for the plugin + +# v1.3.0 +## 08/25/2015 + +1. [](#improved) + * Added blueprints for Grav Admin plugin + +# v1.2.2 +## 01/06/2015 + +1. [](#new) + * Added a default `error.json.twig` file + +# v1.2.1 +## 11/30/2014 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/error/LICENSE b/sandbox/grav/user/plugins/error/LICENSE new file mode 100644 index 0000000000..484793ad19 --- /dev/null +++ b/sandbox/grav/user/plugins/error/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/error/README.md b/sandbox/grav/user/plugins/error/README.md new file mode 100644 index 0000000000..16b2a533ea --- /dev/null +++ b/sandbox/grav/user/plugins/error/README.md @@ -0,0 +1,89 @@ +# Grav Error Plugin + +![GPM Installation](assets/readme_1.png) + +`error` is a [Grav](http://github.com/getgrav/grav) Plugin and allows to redirect errors to nice output pages. + +This plugin is included in any package distributed that contains Grav. If you decide to clone Grav from GitHub you will most likely want to install this. + +# Installation + +Installing the Error plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install error + +This will install the Error plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/error`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `error`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-error) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/error + +>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav), the [Problems](https://github.com/getgrav/grav-plugin-problems) plugin, and a theme to be installed in order to operate. + +# Usage + +The `error` plugin doesn't require any configuration. The moment you install it, it is ready to use. + +Something you might want to do is to override the look and feel of the error page, and with Grav it is super easy. + +### Template + +Copy the template file [error.html.twig](templates/error.html.twig) into the `templates` folder of your custom theme and that is it. + +``` +/your/site/grav/user/themes/custom-theme/templates/error.html.twig +``` + +You can now edit the override and tweak it however you prefer. + +### Page + +Copy the page file [error.md](pages/error.md) into the `pages` folder of your user directory and that is it. + +``` +/your/site/grav/user/pages/error/error.md +``` + +You can now edit the override and tweak it however you prefer. + +# CLI Usage +The `error` plugin comes with a CLI command that outputs the `grav.log` in a beautified way, with possibility of limiting the amount of errors displayed, as well as include the trace in the output. + +### Commands + +| `bin/plugin error log` | | +|------------------------|-----------------------------------------------------------------| +| [ --limit N \| -l N ] | The amount of errors to display. Default is 5 | +| [ --trace \| -t ] | When used, it will add the backtrace in the output of the error | + + +# Updating + +As development for the Error plugin continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Error is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update error + +This command will check your Grav install to see if your Error plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Error is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/plugins/error` directory. +* Download the new version of the Error plugin from either [GitHub](https://github.com/getgrav/grav-plugin-error) or [GetGrav.org](http://getgrav.org/downloads/plugins#extras). +* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `error`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. diff --git a/sandbox/grav/user/plugins/error/assets/readme_1.png b/sandbox/grav/user/plugins/error/assets/readme_1.png new file mode 100644 index 0000000000000000000000000000000000000000..930b87bb017916a5c9ecb4e71cb3eb672bafed22 GIT binary patch literal 41685 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
    bWh;kXEr` z^wew|BQi1(1LB`0G&7a;iFCysGw)3t36kP5F6#@VB^$bo1# zwcKX7=F+M~<=y2C3lsvlS!NguTV4-~algnh`$-um@g9N#mlmS6iL~VQ6NqAx=-xs# zL{pS5tXfn)_@{m#LLgxSSwtoAeLT1gCtW-qoqD8^rh;glY3B*OMmA2Jf29D(;3y|ir&mr#Ut9eI@mMRLn??uPDzkYt>|rxaYqUI03QAQoSoAz@w{V>p zIG@4(GkCpan;(<2-~Sw&tte2@Kne%6g>#~QVB`8d9k7#HZat2J>CtAJNl&mnaRz#vxYo+$mfMFOzlLzO zC)qkz%T%b;jrH(Z$?6AjPy&U)qS)4}t(&a9)J^w)i(38bq;zbFbm7c)e72< zPo0$W$682n&4R;%ggBYv1wtNLFrw4er?jjHIWjLQ=tATUq*Jk1bqw+W#kKT8p3w!^y1MhDll(xmgjf?)TKcEhGfEs<&IdB-)Q zn9>645u7NLZijVni{s+YSx$WEcIa>i%evBY)QSee%-u$K;^U;O zyLdDH8qu!a4SBhbj*qiIoWf1M7w>a{ZFCT<@P-|1mwF#+S;~07)haKKoVgzLihbLD zo!ocu$}?CwKUPAZ_aWENvr>|cIe5C;Du@S8Q zhvubvq|8kqzT3`p-|LzjHhYt5ZNC_<>5Rb9N_WSDd`MS&2F&HYBWiQ^(6zwEbCw?C z6Be0Ht!Twm%hTqu)!Ctp$T}1vBIFkDHk;LWF+byFiCrAp5ImgIA<#kg>DT~Apci5^ zr5v|Zc%c5=D03`+tkU?&XO1`V7a1es9&fQZ&Tkt0O}9<$L(Th_QcIL}My*32aV=A< zL^7%)3Zx#SkZZQ(;+H-IE4&$VoErFL8GgXM?+7!5{qW?@}LGjUD1!-X&#ypcNQ(7+fA|Dr<#`AWf!Z3th=H^ z9vTdxEN|FVqr{5}as@T5dz@5|*f_7zqZUJk;@eL;2ww%Rrre*YkC#U2QG-92kc1H~ zqbC^X!e{YrL;UNUA1}P;x8&Fb{pxvVNkep-=;U6^pG+!stqiMF8XsGU42q{nM>)0P zrdobB6m7O)1Dn(chO)l@0_%3LV)iu{UyfQbaW!|8OlAC_#n+ea$B`>xC)@n)qiPN} zA}NplXfi1oy2_@zO~PL7wby$r=URPd;mz2@qsBf3>8AxwANSXL5wEFj8qx2TEiQ#x zCT@epU)0=VS>$Xiq9RkZ;#MoyM-8u2vi0*tEg*|Q;#xyS>|gb#U|r>H+mG!L7L$i7 zO-0RK^qBhdwR48BpL!xvT#|WuXRJ}Ll&rT+?TDd3e#TdLXRQ%*xUw#3|A-gy1Eo5s zT*Okn8S%-|oA3U%KalgUNeYFa8Qh=Af-SJxP|3X^$=Qw{G^8cfs*N?1hT0Gp-SY7SxvjhC6qNI5jb^FoF F{{vy?43_`^ literal 0 HcmV?d00001 diff --git a/sandbox/grav/user/plugins/error/blueprints.yaml b/sandbox/grav/user/plugins/error/blueprints.yaml new file mode 100644 index 0000000000..6ce715f73f --- /dev/null +++ b/sandbox/grav/user/plugins/error/blueprints.yaml @@ -0,0 +1,32 @@ +name: Error +version: 1.6.0 +description: Displays the error page. +icon: warning +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-error +keywords: error, plugin, required +bugs: https://github.com/getgrav/grav-plugin-error/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + routes.404: + type: text + size: medium + label: 404 Route + default: '/error' diff --git a/sandbox/grav/user/plugins/error/cli/LogCommand.php b/sandbox/grav/user/plugins/error/cli/LogCommand.php new file mode 100644 index 0000000000..8a6c69a846 --- /dev/null +++ b/sandbox/grav/user/plugins/error/cli/LogCommand.php @@ -0,0 +1,130 @@ + 'green', + 'INFO' => 'cyan', + 'NOTICE' => 'yellow', + 'WARNING' => 'yellow', + 'ERROR' => 'red', + 'CRITICAL' => 'red', + 'ALERT' => 'red', + 'EMERGENCY' => 'magenta' + ]; + + /** + * + */ + protected function configure() + { + $this->logfile = LOG_DIR . 'grav.log'; + $this + ->setName("log") + ->setDescription("Outputs the Error Log") + ->addOption( + 'trace', + 't', + InputOption::VALUE_NONE, + 'Include the errors stack trace in the output' + ) + ->addOption( + 'limit', + 'l', + InputArgument::OPTIONAL, + 'Outputs only the last X amount of errors. Use as --limit 10 / -l 10 [default 5]', + 5 + ) + ->setHelp('The log outputs the Errors Log in Console') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'trace' => $this->input->getOption('trace'), + 'limit' => $this->input->getOption('limit') + ]; + + if (!file_exists($this->logfile)) { + $this->output->writeln("\n" . "Log file not found." . "\n"); + exit; + } + + $log = file_get_contents($this->logfile); + $lines = explode("\n", $log); + + if (!is_numeric($this->options['limit'])) { + $this->options['limit'] = 5; + } + + $lines = array_slice($lines, -($this->options['limit'] + 1)); + + foreach ($lines as $line) { + $this->output->writeln($this->parseLine($line)); + } + } + + /** + * @param $line + * + * @return null|string + */ + protected function parseLine($line) + { + $bit = explode(': ', $line); + $line1 = explode('] ', $bit[0]); + + if (!$line1[0]) { + return null; + } + + $line2 = explode(' - ', $bit[1]); + + $date = $line1[0] . ']'; + $type = str_replace('grav.', '', $line1[1]); + $color = $this->colors[$type]; + $error = $line2[0]; + $trace = implode(': ', array_slice($bit, 2)); + + $output = []; + + $output[] = ''; + $output[] = '' . $date . ''; + $output[] = sprintf(' <%s>%s ' . $error . '', $color, $type, $color); + + if ($this->options['trace']) { + $output[] = ' TRACE: '; + $output[] = ' ' . $trace; + } + + $output[] = '' . str_repeat('-', strlen($date)) . ''; + + return implode("\n", $output); + } +} + diff --git a/sandbox/grav/user/plugins/error/error.php b/sandbox/grav/user/plugins/error/error.php new file mode 100644 index 0000000000..71b7d352af --- /dev/null +++ b/sandbox/grav/user/plugins/error/error.php @@ -0,0 +1,65 @@ + ['onPageNotFound', 0], + 'onGetPageTemplates' => ['onGetPageTemplates', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', -10] + ]; + } + + /** + * Display error page if no page was found for the current route. + * + * @param Event $event + */ + public function onPageNotFound(Event $event) + { + /** @var Pages $pages */ + $pages = $this->grav['pages']; + + // Try to load user error page. + $page = $pages->dispatch($this->config->get('plugins.error.routes.404', '/error'), true); + + if (!$page) { + // If none provided use built in error page. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/error.md')); + } + + $event->page = $page; + $event->stopPropagation(); + } + + /** + * Add page template types. + */ + public function onGetPageTemplates(Event $event) + { + /** @var Types $types */ + $types = $event->types; + $types->register('error'); + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } +} diff --git a/sandbox/grav/user/plugins/error/error.yaml b/sandbox/grav/user/plugins/error/error.yaml new file mode 100644 index 0000000000..0a51d4c4e4 --- /dev/null +++ b/sandbox/grav/user/plugins/error/error.yaml @@ -0,0 +1,3 @@ +enabled: true +routes: + 404: '/error' diff --git a/sandbox/grav/user/plugins/error/languages.yaml b/sandbox/grav/user/plugins/error/languages.yaml new file mode 100644 index 0000000000..fba0c489f6 --- /dev/null +++ b/sandbox/grav/user/plugins/error/languages.yaml @@ -0,0 +1,37 @@ +en: + PLUGIN_ERROR: + ERROR: "Error" + ERROR_MESSAGE: "Woops. Looks like this page doesn't exist." +de: + PLUGIN_ERROR: + ERROR: "Fehler" + ERROR_MESSAGE: "Uuups. Sieht aus als ob diese Seite nicht existiert." +hr: + PLUGIN_ERROR: + ERROR: "Greška" + ERROR_MESSAGE: "Uups. Izgleda da ova stranica ne postoji." + +ro: + PLUGIN_ERROR: + ERROR: "Eroare" + ERROR_MESSAGE: "Ooops. Se pare că pagina nu există." +fr: + PLUGIN_ERROR: + ERROR: "Erreur" + ERROR_MESSAGE: "Oups. Il semble que cette page n’existe pas." +it: + PLUGIN_ERROR: + ERROR: "Errore" + ERROR_MESSAGE: "Ooops. A quanto pare, questa pagina non esiste." +ru: + PLUGIN_ERROR: + ERROR: "Ошибка" + ERROR_MESSAGE: "Упс. Похоже, этой страницы не существует." +da: + PLUGIN_ERROR: + ERROR: "Fejl" + ERROR_MESSAGE: "Ups. Det ser ud til at siden ikke eksisterer." +zh: + PLUGIN_ERROR: + ERROR: "错误" + ERROR_MESSAGE: "呃,似乎这个页面不存在。" diff --git a/sandbox/grav/user/plugins/error/pages/error.md b/sandbox/grav/user/plugins/error/pages/error.md new file mode 100644 index 0000000000..615b50c370 --- /dev/null +++ b/sandbox/grav/user/plugins/error/pages/error.md @@ -0,0 +1,13 @@ +--- +title: Page not Found +robots: noindex,nofollow +template: error +routable: false +http_response_code: 404 +twig_first: true +process: + twig: true +--- + +{{ 'PLUGIN_ERROR.ERROR_MESSAGE'|t }} + diff --git a/sandbox/grav/user/plugins/error/templates/error.html.twig b/sandbox/grav/user/plugins/error/templates/error.html.twig new file mode 100644 index 0000000000..420702b36e --- /dev/null +++ b/sandbox/grav/user/plugins/error/templates/error.html.twig @@ -0,0 +1,3 @@ +

    {{ 'PLUGIN_ERROR.ERROR'|t }} {{ header.http_response_code }}

    + +

    {{ page.content|raw }}

    diff --git a/sandbox/grav/user/plugins/error/templates/error.json.twig b/sandbox/grav/user/plugins/error/templates/error.json.twig new file mode 100644 index 0000000000..27472f1393 --- /dev/null +++ b/sandbox/grav/user/plugins/error/templates/error.json.twig @@ -0,0 +1 @@ +{{ page.content|json_encode()|raw }} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/.eslintrc b/sandbox/grav/user/plugins/form/.eslintrc new file mode 100644 index 0000000000..1e57de5bdc --- /dev/null +++ b/sandbox/grav/user/plugins/form/.eslintrc @@ -0,0 +1,165 @@ +{ + "env": { + "browser": true, + "node": true + }, + + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + + "rules": { + "accessor-pairs": 2, + "array-bracket-spacing": 0, + "block-scoped-var": 0, + "brace-style": [2, "1tbs", { "allowSingleLine": true }], + "camelcase": 0, + "comma-dangle": [2, "never"], + "comma-spacing": [2, { "before": false, "after": true }], + "comma-style": [2, "last"], + "complexity": 0, + "computed-property-spacing": 0, + "consistent-return": 0, + "consistent-this": 0, + "constructor-super": 2, + "curly": [2, "multi-line"], + "default-case": 0, + "dot-location": [2, "property"], + "dot-notation": 0, + "eol-last": 2, + "eqeqeq": [2, "allow-null"], + "func-names": 0, + "func-style": 0, + "generator-star-spacing": [2, { "before": true, "after": true }], + "guard-for-in": 0, + "handle-callback-err": [2, "^(err|error)$" ], + "indent": [2, 4, { "SwitchCase": 1 }], + "key-spacing": [2, { "beforeColon": false, "afterColon": true }], + "linebreak-style": 0, + "lines-around-comment": 0, + "max-nested-callbacks": 0, + "new-cap": [2, { "newIsCap": true, "capIsNew": false }], + "new-parens": 2, + "newline-after-var": 0, + "no-alert": 0, + "no-array-constructor": 2, + "no-caller": 2, + "no-catch-shadow": 0, + "no-cond-assign": 2, + "no-console": 0, + "no-constant-condition": 0, + "no-continue": 0, + "no-control-regex": 2, + "no-debugger": 2, + "no-delete-var": 2, + "no-div-regex": 0, + "no-dupe-args": 2, + "no-dupe-keys": 2, + "no-duplicate-case": 2, + "no-else-return": 0, + "no-empty": 0, + "no-empty-character-class": 2, + "no-eq-null": 0, + "no-eval": 2, + "no-ex-assign": 2, + "no-extend-native": 2, + "no-extra-bind": 2, + "no-extra-boolean-cast": 2, + "no-extra-parens": 0, + "no-extra-semi": 0, + "no-fallthrough": 2, + "no-floating-decimal": 2, + "no-func-assign": 2, + "no-implied-eval": 2, + "no-inline-comments": 0, + "no-inner-declarations": [2, "functions"], + "no-invalid-regexp": 2, + "no-irregular-whitespace": 2, + "no-iterator": 2, + "no-label-var": 2, + "no-labels": 2, + "no-lone-blocks": 2, + "no-lonely-if": 0, + "no-loop-func": 0, + "no-mixed-requires": 0, + "no-mixed-spaces-and-tabs": 2, + "no-multi-spaces": 2, + "no-multi-str": 2, + "no-multiple-empty-lines": [2, { "max": 1 }], + "no-native-reassign": 2, + "no-negated-in-lhs": 2, + "no-nested-ternary": 0, + "no-new": 2, + "no-new-func": 0, + "no-new-object": 2, + "no-new-require": 2, + "no-new-wrappers": 2, + "no-obj-calls": 2, + "no-octal": 2, + "no-octal-escape": 2, + "no-param-reassign": 0, + "no-path-concat": 0, + "no-process-env": 0, + "no-process-exit": 0, + "no-proto": 0, + "no-redeclare": 2, + "no-regex-spaces": 2, + "no-restricted-modules": 0, + "no-return-assign": 2, + "no-script-url": 0, + "no-self-compare": 2, + "no-sequences": 2, + "no-shadow": 0, + "no-shadow-restricted-names": 2, + "no-spaced-func": 2, + "no-sparse-arrays": 2, + "no-sync": 0, + "no-ternary": 0, + "no-this-before-super": 2, + "no-throw-literal": 2, + "no-trailing-spaces": 2, + "no-undef": 2, + "no-undef-init": 2, + "no-undefined": 0, + "no-underscore-dangle": 0, + "no-unexpected-multiline": 2, + "no-unneeded-ternary": 2, + "no-unreachable": 2, + "no-unused-expressions": 0, + "no-unused-vars": [2, { "vars": "all", "args": "none" }], + "no-use-before-define": 0, + "no-var": 0, + "no-void": 0, + "no-warning-comments": 0, + "no-with": 2, + "object-curly-spacing": 0, + "object-shorthand": 0, + "one-var": [2, { "initialized": "never" }], + "operator-assignment": 0, + "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], + "padded-blocks": 0, + "prefer-const": 0, + "quote-props": 0, + "quotes": [2, "single", "avoid-escape"], + "radix": 2, + "semi": [2, "always"], + "semi-spacing": 0, + "sort-vars": 0, + "keyword-spacing": [2, {"after": true, "overrides": {"throw": { "after": true}, "return": { "before": true }}}], + "space-before-blocks": [2, "always"], + "space-before-function-paren": [2, "never"], + "space-in-parens": [2, "never"], + "space-infix-ops": 2, + "space-unary-ops": [2, { "words": true, "nonwords": false }], + "spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!"] }], + "strict": 0, + "use-isnan": 2, + "valid-jsdoc": 0, + "valid-typeof": 2, + "vars-on-top": 0, + "wrap-iife": [2, "any"], + "wrap-regex": 0, + "yoda": [2, "never"] + } +} diff --git a/sandbox/grav/user/plugins/form/.gitignore b/sandbox/grav/user/plugins/form/.gitignore new file mode 100644 index 0000000000..1df656a26f --- /dev/null +++ b/sandbox/grav/user/plugins/form/.gitignore @@ -0,0 +1,5 @@ +# OS Generated +.DS_Store* +/.idea +node_modules +*.js.map diff --git a/sandbox/grav/user/plugins/form/CHANGELOG.md b/sandbox/grav/user/plugins/form/CHANGELOG.md new file mode 100644 index 0000000000..52cc4e6872 --- /dev/null +++ b/sandbox/grav/user/plugins/form/CHANGELOG.md @@ -0,0 +1,499 @@ +# v2.9.1 +## 09/14/2017 + +1. [](#bugfix) + * Fixed backwards compatibility issue with conditional field [#188](https://github.com/getgrav/grav-plugin-form/pull/188) + +# v2.9.0 +## 09/07/2017 + +1. [](#new) + * Added **Refresh Prevention** capabilities (Not enabled by default) [#184](https://github.com/getgrav/grav-plugin-form/issues/184) + * Added support for field `attributes` [#176](https://github.com/getgrav/grav-plugin-form/pull/176) + * Added global variables for setting form classes + * Added support for new `select_optgroup` form field [#165](https://github.com/getgrav/grav-plugin-form/issues/165) +1. [](#improved) + * Moved messages output into partial to allow style overriding + * Logic cleanup + * Updated Italian and Russian translations +1. [](#bugfix) + * Fixed an issue with conditional field not always displaying properly + * Only add Twig form variable if not already set + * Fixed issue with multiple forms on a page failing on Captcha client-side validation [#182](https://github.com/getgrav/grav-plugin-form/issues/182) + * Fixed issue with Ajax forms return full form HTML on error [#163](https://github.com/getgrav/grav-plugin-form/issues/163) + +# v2.8.2 +## 08/18/2017 + +1. [](#new) + * Added new `columns` and `column` fields for controlled form layout + +# v2.8.1 +## 08/15/2017 + +1. [](#improved) + * Added extra class support to the default field for more flexible styling + +# v2.8.0 +## 07/16/2017 + +1. [](#bugfix) + * Fixed a typo in the spanish translation [#167](https://github.com/getgrav/grav-plugin-form/pull/167) + +# v2.8.0-rc.2 +## 06/22/2017 + +1. [](#improved) + * Add default client-side validation for captcha, with error popup [#139](https://github.com/getgrav/grav-plugin-form/issues/139) + * Added key observe for select + * Added Czech translation +1. [](#bugfix) + * Bug fix for radio type form field [#154](https://github.com/getgrav/grav-plugin-form/pull/154) + * Remove double escaping [#155](https://github.com/getgrav/grav-plugin-form/issues/154) + +# v2.8.0-rc.1 +## 05/22/2017 + +1. [](#new) + * Bundled as RC release for Grav/Admin RC releases + +# v2.7.1 +## 05/22/2017 + +1. [](#improved) + * Force modular sub-pages with forms to set `$never_cache_twig = true` to improve form processing reliability [#153](https://github.com/getgrav/grav-plugin-form/issues/153) + * Use new `Utils::getPagePathFromToken()` method + +# v2.7.0 +## 05/16/2017 + +1. [](#bugfix) + * Fix issue with dynamically added forms (Registration, Profile, Comments, etc) not processed [#149](https://github.com/getgrav/grav-plugin-form/issues/149) + * Fixed issue with nested values not being repopulated on form error [#140](https://github.com/getgrav/grav-plugin-form/issues/140) + +# v2.6.0 +## 05/04/2017 + +1. [](#new) + * Allow form item replacement in redirect location [#144](https://github.com/getgrav/grav-plugin-form/issues/144) +1. [](#bugfix) + * Fix regression with file uploads introduced in 2.5.0 + +# v2.5.0 +## 04/24/2017 + +1. [](#new) + * Support proper form handling with nested fields [#141](https://github.com/getgrav/grav-plugin-form/issues/141) +1. [](#bugfix) + * Added check for valid Grav forms before trying to create a form object + +# v2.4.0 +## 04/19/2017 + +1. [](#new) + * Added the ability for front-end forms to use advanced blueprint features such as `data-*@` and `config-*@` + * Added support for dynamically added pages to process forms properly + * Added a new avatar field for displaying account avatar + * Added method to get all `data` from a form + * Support `task` in button types +1. [](#improved) + * Added `step` to range field [#136](https://github.com/getgrav/grav-plugin-form/issues/136) + * Added a new default ajax handler twig template + * Moved twig events to always process even if forms are not defined + * Some code cleanup + * Handle `null` with session-based form + * Added support for append/prepend to number field +1. [](#bugfix) + * Always process form events as long as a `$_POST` exists [login #101](https://github.com/getgrav/grav-plugin-login/issues/101) + * Various fixes for `file` field + * Allow manually added pages to process forms and upload files + * Fixed issue with nested fileds not showing up in `data.*.twig` templates + +# v2.3.1 +## 03/23/2017 + +1. [](#bugfix) + * Only include `outerclasses` DIV if defined [#135](https://github.com/getgrav/grav-plugin-form/issues/135) + +# v2.3.0 +## 03/17/2017 + +1. [](#new) + * Ability to process any form on any page via `action:`. Super useful if you want to handle form processing on some other non-form page (or Ajax) + * Added the ability for the form to set the `template:` to use to render the form processing response. +1. [](#bugfix) + * Fix `number` field so it works with min value `0` [#130](https://github.com/getgrav/grav-plugin-form/issues/130) + +# v2.2.0 +## 03/13/2017 + +1. [](#new) + * Added new `fieldset` form field [#125](https://github.com/getgrav/grav-plugin-form/issues/125) + * Added new `conditional form field` to show fields only if some `condition` is set +1. [](#improved) + * Added the option to have outer-classes on buttons [#124](https://github.com/getgrav/grav-plugin-form/issues/124) + * Added the option to disable fields label if not defined [#126](https://github.com/getgrav/grav-plugin-form/issues/126) + +# v2.1.1 +## 02/17/2017 + +1. [](#improved) + * Better default output for select, checkbox and checkboxes fields in the form destination page and in the emails sent via form submit [#121](https://github.com/getgrav/grav-plugin-form/issues/121) + + +# v2.1.0 +## 02/10/2017 + +1. [](#improved) + * Reworked logic so form caching is based on `Pages::getPagesCacheId()` + * Added `url` option for button field +1. [](#bugfix) + * Fixed issue with `honeypot` field not throwing exception properly + +# v2.0.10 +## 02/08/2017 + +1. [](#improved) + * Optimistically set 'status' to `success` when requesting a form via Ajax. Form processing listeners should take care of setting status to something else +1. [](#bugfix) + * File uploads are now adding a `__form-file-uploader__` POST field to better allow identifying them with Ajax + * Require jQuery when using the File field, as it's needed by the form.min.js file required in the file upload functionality + +# v2.0.9 +## 01/24/2017 + +1. [](#bugfix) + * Translate the labels in data.html.twig [https://github.com/getgrav/grav-plugin-comments/issues/38](https://github.com/getgrav/grav-plugin-comments/issues/38) + * Fixed file input when `System` > `Twig` > `Autoescape` is set to `Yes` + +# v2.0.8 +## 12/13/2016 + +1. [](#new) + * RC released as stable + * Added a new `honeypot` field for form anti-spam protection + +# v2.0.8-rc.1 +## 11/26/2016 + +1. [](#bugfix) + * Fixed Forms 2.0 changes for registration form [#101](https://github.com/getgrav/grav-plugin-form/issues/101) + * Fixed errant reference to Grav DI container in Form#getPagePathFromToken [#105](https://github.com/getgrav/grav-plugin-form/issues/105) + * Fixed issue with spacer fields being displayed first, not in order [#104](https://github.com/getgrav/grav-plugin-form/issues/104) + +# v2.0.7 +## 11/17/2016 + +1. [](#improved) + * Added method to set all data in a form + * Added params to form action URL + * Added ability to add ids to buttons and to set them disabled +1. [](#bugfix) + * Moved Files Upload GC logic to function in front-end only + +# v2.0.6 +## 10/19/2016 + +1. [](#bugfix) + * Fixed translations for `display` field + * Fixed [#95](https://github.com/getgrav/grav-plugin-form/issues/95) multilanguage forms submission + * Fixed duplicate textarea class tag [#98](https://github.com/getgrav/grav-plugin-form/issues/98) + +# v2.0.5 +## 09/15/2016 + +1. [](#bugfix) + * Fix passing updating the header through event, no need for return value + +# v2.0.4 +## 09/15/2016 + +1. [](#improved) + * Allow filling the page header form dynamically (e.g. use case: Comments plugin) + +# v2.0.3 +## 09/12/2016 + +1. [](#improved) + * Use `Page::slug()` for form name if not set in the form itself (better backwards compatibility) + +# v2.0.2 +## 09/08/2016 + +1. [](#improved) + * Added support for Grav's autoescape twig setting + * Allow to add additional markup fields in form and field twig overrides + * Updated the french language translation + +# v2.0.1 +## 09/07/2016 + +1. [](#bugfix) + * Fixed a backwards compatibility issue with Admin forms + +# v2.0.0 +## 09/07/2016 + +1. [](#new) + * Forms now supports multiple forms per page! + * Access forms from any other page within the current page + * Instantiate forms directly in page content with Twig processing enabled + * New Twig function to get forms data from any other page + * Ability to use Twig in saved filename + * Reworked the `file` field. All files get uploaded via Ajax and are stored upon Submit. Fully backward compatible, `file` field now includes also a `limit` and `filesize` option. The former determines how many files are allowed to be uploaded when in combination with `multiple: true` (default: 10), the latter determines the file size limit (in MB) allowed for each file (default: 5MB) +1. [](#improved) + * Added several missing HTML5 form input field types [#87](https://github.com/getgrav/grav-plugin-form/issues/87) + * Added Support for CSS id in form definition + +# v1.3.2 +## 08/10/2016 + +1. [](#improved) + * Added Romanian translation +1. [](#bugfix) + * Fixed an issue with Recaptcha secret throwing errors [#84](https://github.com/getgrav/grav-plugin-form/pull/84) + +# v1.3.1 +## 07/27/2016 + +1. [](#improved) + * Added support for multiple emails in `email` field (add `multiple: true` to enable) +1. [](#bugfix) + * Fixed backward incompatibility with forms submission and data retrieval [getgrav/grav#933](https://github.com/getgrav/grav/issues/933) + +# v1.3.0 +## 07/14/2016 + +1. [](#improved) + * When uploading a file through a form, if the file is already existing prepend the current day and time to the filename instead of overwriting it. + +# v1.3.0-rc.4 +## 06/21/2016 + +1. [](#bugfix) + * Fixed running on Grav 1.0.x + +# v1.3.0-rc.3 +## 06/17/2016 + +1. [](#new) + * Set hints for checkboxes options and allow field descriptions + +# v1.3.0-rc.2 +## 06/08/2016 + +1. [](#new) + * Allow to process Twig in a hidden field, by setting `evaluate: true` + +# v1.3.0-rc.1 +## 06/01/2016 + +1. [](#improved) + * French updated + +# v1.3.0-beta.6 +## 05/23/2016 + +1. [](#new) + * Added support for advanced blueprint functionality in forms + * Added site-wide form options to set Google Captcha site + secret keys [#34](https://github.com/getgrav/grav-plugin-form/pull/34) + * Session-based 'flash' storage of form for redirects [#48](https://github.com/getgrav/grav-plugin-form/issues/48) + * Added ability to **append** to file if you include a `process: save: body:` template attribute [#65](https://github.com/getgrav/grav-plugin-form/issues/65) +1. [](#improved) + * Support `keyname` form format like admin forms + * Added backwards compatibility for Captcha field + * Added 'markdown-notices' style output for better errors + * Added `Forms::getValue()` method to retrieve values programatically + * Changed `datetime` form field to simply extend `text` until implemented + * Updated french language +1. [](#bugfix) + * Refactored the files upload logic + * Missing Language string + * Fixed errors not getting output + +# v1.3.0-beta.5 +## 05/12/2016 + +1. [](#improved) + * Moved form/field.html.twig file to the default folder, to be more easily extended in themes + +# v1.3.0-beta.4 +## 05/04/2016 + +1. [](#new) + * Added support for `prepend` and `append` field attributes for Text input + +# v1.3.0-beta.3 +## 05/03/2016 + +1. [](#bugfix) + * Fix for select field admin translation + +# v1.3.0-beta.2 +## 04/27/2016 + +1. [](#bugfix) + * Fix for autoescape in spacer and display form fields + * Fix issue with form reset action [#66](https://github.com/getgrav/grav-plugin-form/pull/66) + +# v1.3.0-beta.1 +## 04/20/2016 + +1. [](#new) + * Added the HTML5 `range` input field with `min` and `max` parameters +1. [](#improved) + * Allow to override classes in Form definition for the form element + * Add more blocks in the Form twig template, so classes can be overridden more easily in themes + * Reworked some fields to fit the new Admin + * Use `scope` for form fields to allow fields to be excluded from the data by adding `input@: false` to their definition + * Added german translation + * Allow to add inline Twig to the form message definition +1. [](#bugfix) + * Fixed the form action URL for home page forms + * Fix stopping form events propagation, correctly stop when one event is stopped + * Allow to translate the fields placeholders and the form message + * Fix captcha javascript function ordering. Also, render it in the site active language + * Support attribute `for="id"` on label for checkbox + * Fix select fields with the multiple option enabled + * Fixed select options escaping with autoescape on - [#502](https://github.com/getgrav/grav-plugin-admin/issues/502) + +# v1.2.2 +## 02/11/2016 + +1. [](#bugfix) + * Fixed case issue when including form file. + +# v1.2.1 +## 02/11/2016 + +1. [](#new) + * Allow placeholder for **select** field +1. [](#improved) + * Use common language strings in blueprints + * Use `for` attribute in labels + * Improved `README.md` + * Code lint +1. [](#bugfix) + * Moved `nl2br` to correct place or will break for arrays + +# v1.2.0 +## 01/06/2016 + +1. [](#bugfix) + * Correctly merge the file field configuration + * restore full file information save + +# v1.1.0 +## 12/18/2015 + +1. [](#new) + * Croatian translation + * Added id, style, and disabled options to select fields +1. [](#improved) + * Allow adding form labels and help text as lang strings + * Allow translating field content + * Allow translating button and checkbox labels + * Allow adding classes to the form field container with `field.outerclasses` + * Updated French translation +1. [](#bugfix) + * Fixed error message on file upload + * Fixed overriding defaults for the file type in forms + +# v1.0.3 +## 12/11/2015 + +1. [](#improved) + * Updated languages + * Allow an action to stop processing +1. [](#bugfix) + * Fix captcha validation + * Fix issue where Form was unsetting valid page + +# v1.0.2 +## 12/01/2015 + +1. [](#bugfix) + * Fixed merge of defaults settings + * Support for arrays in `data.txt.twig` + * Fixed blueprint for admin + +# v1.0.1 +## 12/01/2015 + +1. [](#new) + * New **file upload** field + * Added modular form template + * Spanish translation + * Hungarian translation + * Italian translation + +# v1.0.0 +## 11/21/2015 + +1. [](#new) + * Server-side validation of forms #11 + * Added french translation + * Added **nonce** form security +1. [](#improved) + * Show a more meaningful error when the display page is not found + * Added links to learn site for form examples + * Label can be omitted + * Allow user to set the CSS class for buttons +1. [](#bugfix) + * Fixed multi-language forms + * Checkbox is translatable + * Minor fixes + +# v0.6.0 +## 10/21/2015 + +1. [](#bugfix) + * Fixed for missing attributes in textarea field + * Fixed checkbox inputs + +# v0.5.0 +## 10/15/2015 + +1. [](#new) + * New `operation` param to allow different file saving strategies + * Ability to add new file saving strategies + * Now calls a `process()` method during form processing +1. [](#improved) + * Added server-side captcha validation and removed front-end validation + * Allow `filename` instead of `prefix`, `format` + `extension` +1. [](#bugfix) + * Fixed radio inputs + +# v0.4.0 +## 9/16/2015 + +1. [](#new) + * PHP server-side form validation + * Added new Google Catpcha field with front-end validation +1. [](#improved) + * Add defaults for forms, moved from the themes to the Form plugin + * Store multi-line fields with line endings converted to HTML + +# v0.3.0 +## 9/11/2015 + +1. [](#improved) + * Refactored all the forms fields + +# v0.2.1 +## 08/24/2015 + +1. [](#improved) + * Translated tooltips + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/form/LICENSE b/sandbox/grav/user/plugins/form/LICENSE new file mode 100644 index 0000000000..484793ad19 --- /dev/null +++ b/sandbox/grav/user/plugins/form/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/form/README.md b/sandbox/grav/user/plugins/form/README.md new file mode 100644 index 0000000000..fb9e682159 --- /dev/null +++ b/sandbox/grav/user/plugins/form/README.md @@ -0,0 +1,29 @@ +# Grav Form Plugin + +The **form plugin** for [Grav](http://github.com/getgrav/grav) adds the ability to create and use forms. This is currently used extensively by the **admin** and **login** plugins. + +# Installation + +The form plugin is easy to install with GPM. + +``` +$ bin/gpm install form +``` + +# Configuration + +Simply copy the `user/plugins/form/form.yaml` into `user/config/plugins/form.yaml` and make your modifications. + +``` +enabled: true +``` + +# How to use the Form Plugin + +The Learn site has two pages describing how to use the Form Plugin: +- [Forms](http://learn.getgrav.org/advanced/forms) +- [Add a contact form](http://learn.getgrav.org/forms/forms/example-form) + +# Using email + +Note: when using email functionality in your forms, make sure you have configured the Email plugin correctly. In particular, make sure you configured the "Email from" and "Email to" email addresses in the Email plugin with your email address diff --git a/sandbox/grav/user/plugins/form/app/main.js b/sandbox/grav/user/plugins/form/app/main.js new file mode 100644 index 0000000000..f0f2a6a6ea --- /dev/null +++ b/sandbox/grav/user/plugins/form/app/main.js @@ -0,0 +1,289 @@ +import $ from 'jquery'; +import Dropzone from 'dropzone'; +import { config, translations } from 'grav-form'; + +let request = {}; + +// translations +const Dictionary = { + dictCancelUpload: translations.PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD, + dictCancelUploadConfirmation: translations.PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD_CONFIRMATION, + dictDefaultMessage: translations.PLUGIN_FORM.DROPZONE_DEFAULT_MESSAGE, + dictFallbackMessage: translations.PLUGIN_FORM.DROPZONE_FALLBACK_MESSAGE, + dictFallbackText: translations.PLUGIN_FORM.DROPZONE_FALLBACK_TEXT, + dictFileTooBig: translations.PLUGIN_FORM.DROPZONE_FILE_TOO_BIG, + dictInvalidFileType: translations.PLUGIN_FORM.DROPZONE_INVALID_FILE_TYPE, + dictMaxFilesExceeded: translations.PLUGIN_FORM.DROPZONE_MAX_FILES_EXCEEDED, + dictRemoveFile: translations.PLUGIN_FORM.DROPZONE_REMOVE_FILE, + dictRemoveFileConfirmation: translations.PLUGIN_FORM.DROPZONE_REMOVE_FILE_CONFIRMATION, + dictResponseError: translations.PLUGIN_FORM.DROPZONE_RESPONSE_ERROR +}; + +Dropzone.autoDiscover = false; + +const DropzoneMediaConfig = { + createImageThumbnails: { thumbnailWidth: 150 }, + addRemoveLinks: false, + dictDefaultMessage: Dictionary.dictDefaultMessage, + dictRemoveFileConfirmation: Dictionary.dictRemoveFileConfirmation, + previewTemplate: ` +
    +
    + +
    +
    +
    +
    +
    +
    + + + +
    + + + + Check + Created with Sketch. + + + + + + +
    +
    + + + + error + Created with Sketch. + + + + + + + +
    +
    `.trim() +}; + +export default class FilesField { + constructor({ container = '.dropzone.files-upload', options = {} } = {}) { + this.container = $(container); + if (!this.container.length) { return; } + + this.urls = {}; + this.options = Object.assign({}, Dictionary, DropzoneMediaConfig, { + klass: this, + url: this.container.data('file-url-add') || config.current_url, + acceptedFiles: this.container.data('media-types'), + init: this.initDropzone + }, this.container.data('dropzone-options'), options); + + this.dropzone = new Dropzone(container, this.options); + this.dropzone.on('complete', this.onDropzoneComplete.bind(this)); + this.dropzone.on('success', this.onDropzoneSuccess.bind(this)); + this.dropzone.on('removedfile', this.onDropzoneRemovedFile.bind(this)); + this.dropzone.on('sending', this.onDropzoneSending.bind(this)); + this.dropzone.on('error', this.onDropzoneError.bind(this)); + } + + initDropzone() { + let files = this.options.klass.container.find('[data-file]'); + let dropzone = this; + if (!files.length) { return; } + + files.each((index, file) => { + file = $(file); + let data = file.data('file'); + let mock = { + name: data.name, + size: data.size, + type: data.type, + status: Dropzone.ADDED, + accepted: true, + url: this.options.url, + removeUrl: data.remove + }; + + dropzone.files.push(mock); + dropzone.options.addedfile.call(dropzone, mock); + if (mock.type.match(/^image\//)) dropzone.options.thumbnail.call(dropzone, mock, data.path); + + file.remove(); + }); + } + + onDropzoneSending(file, xhr, formData) { + formData.append('__form-name__', this.container.closest('form').find('[name="__form-name__"]').val()); + formData.append('__form-file-uploader__', 1); + formData.append('name', this.options.dotNotation); + formData.append('form-nonce', config.form_nonce); + formData.append('task', 'filesupload'); + } + + onDropzoneSuccess(file, response, xhr) { + if (this.options.reloadPage) { + global.location.reload(); + } + + // store params for removing file from session before it gets saved + if (response.session) { + file.sessionParams = response.session; + file.removeUrl = this.options.url; + + // Touch field value to force a mutation detection + const input = this.container.find('[name][type="hidden"]'); + const value = input.val(); + input.val(value + ' '); + } + + return this.handleError({ + file, + data: response, + mode: 'removeFile', + msg: `

    ${translations.PLUGIN_FORM.FILE_ERROR_UPLOAD} ${file.name}

    +
    ${response.message}
    ` + }); + } + + onDropzoneComplete(file) { + if (!file.accepted && !file.rejected) { + let data = { + status: 'error', + message: `${translations.PLUGIN_FORM.FILE_UNSUPPORTED}: ${file.name.match(/\..+/).join('')}` + }; + + return this.handleError({ + file, + data, + mode: 'removeFile', + msg: `

    ${translations.PLUGIN_FORM.FILE_ERROR_ADD} ${file.name}

    +
    ${data.message}
    ` + }); + } + + if (this.options.reloadPage) { + global.location.reload(); + } + } + + onDropzoneRemovedFile(file, ...extra) { + if (!file.accepted || file.rejected) { return; } + let url = file.removeUrl || this.urls.delete; + let path = (url || '').match(/path:(.*)\//); + let body = { filename: file.name }; + + if (file.sessionParams) { + body.task = 'filessessionremove'; + body.session = file.sessionParams; + } + + request(url, { method: 'post', body }, () => { + if (!path) { return; } + + path = global.atob(path[1]); + let input = this.container.find('[name][type="hidden"]'); + let data = JSON.parse(input.val() || '{}'); + delete data[path]; + input.val(JSON.stringify(data)); + }); + } + + onDropzoneError(file, response, xhr) { + let message = xhr && response.error ? response.error.message : response; + $(file.previewElement).find('[data-dz-errormessage]').html(message); + + return this.handleError({ + file, + data: { status: 'error' }, + msg: `
    ${message}
    ` + }); + } + + handleError(options) { + return true; + /* let { file, data, mode, msg } = options; + if (data.status !== 'error' && data.status !== 'unauthorized') { return; } + + switch (mode) { + case 'addBack': + if (file instanceof File) { + this.dropzone.addFile.call(this.dropzone, file); + } else { + this.dropzone.files.push(file); + this.dropzone.options.addedfile.call(this.dropzone, file); + this.dropzone.options.thumbnail.call(this.dropzone, file, file.extras.url); + } + + break; + case 'removeFile': + default: + if (~this.dropzone.files.indexOf(file)) { + file.rejected = true; + this.dropzone.removeFile.call(this.dropzone, file, { silent: true }); + } + + break; + } + + let modal = $('[data-remodal-id="generic"]'); + modal.find('.error-content').html(msg); + $.remodal.lookup[modal.data('remodal')].open(); */ + } +} + +export function UriToMarkdown(uri) { + uri = uri.replace(/@3x|@2x|@1x/, ''); + uri = uri.replace(/\(/g, '%28'); + uri = uri.replace(/\)/g, '%29'); + + return uri.match(/\.(jpe?g|png|gif|svg)$/i) ? `![](${uri})` : `[${decodeURI(uri)}](${uri})`; +} + +let instances = []; +let cache = $(); +const onAddedNodes = (event, target/* , record, instance */) => { + let files = $(target).find('.dropzone.files-upload'); + if (!files.length) { return; } + + files.each((index, file) => { + file = $(file); + if (!~cache.index(file)) { + addNode(file); + } + }); +}; + +const addNode = (container) => { + container = $(container); + let input = container.find('input[type="file"]'); + let settings = container.data('grav-file-settings') || {}; + + if (settings.accept && ~settings.accept.indexOf('*')) { + settings.accept = ['']; + } + + let options = { + url: container.data('file-url-add') || (container.closest('form').attr('action') || config.current_url) + '.json', + paramName: settings.paramName || 'file', + dotNotation: settings.name || 'file', + acceptedFiles: settings.accept ? settings.accept.join(',') : input.attr('accept') || container.data('media-types'), + maxFilesize: settings.filesize || 256, + maxFiles: settings.limit || null + }; + + cache = cache.add(container); + container = container[0]; + instances.push(new FilesField({ container, options })); +}; + +export let Instances = (() => { + $('.dropzone.files-upload').each((i, container) => addNode(container)); + $('body').on('mutation._grav', onAddedNodes); + + return instances; +})(); + diff --git a/sandbox/grav/user/plugins/form/assets/dropzone.min.css b/sandbox/grav/user/plugins/form/assets/dropzone.min.css new file mode 100644 index 0000000000..d04515e270 --- /dev/null +++ b/sandbox/grav/user/plugins/form/assets/dropzone.min.css @@ -0,0 +1 @@ +@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-moz-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-moz-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-moz-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,0.3);background:white;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:0.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:white}.dropzone .dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;-ms-transition:opacity 0.2s linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,0.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,0.4);padding:0 0.4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity 0.4s ease-in;-moz-transition:opacity 0.4s ease-in;-ms-transition:opacity 0.4s ease-in;-o-transition:opacity 0.4s ease-in;transition:opacity 0.4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;-moz-animation:pulse 6s ease infinite;-ms-animation:pulse 6s ease infinite;-o-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,0.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom, #666, #444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width 300ms ease-in-out;-moz-transition:width 300ms ease-in-out;-ms-transition:width 300ms ease-in-out;-o-transition:width 300ms ease-in-out;transition:width 300ms ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity 0.3s ease;-moz-transition:opacity 0.3s ease;-ms-transition:opacity 0.3s ease;-o-transition:opacity 0.3s ease;transition:opacity 0.3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);padding:0.5em 1.2em;color:white}.dropzone .dz-preview .dz-error-message:after{content:'';position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626} diff --git a/sandbox/grav/user/plugins/form/assets/form-styles.css b/sandbox/grav/user/plugins/form/assets/form-styles.css new file mode 100644 index 0000000000..c5709c7fd5 --- /dev/null +++ b/sandbox/grav/user/plugins/form/assets/form-styles.css @@ -0,0 +1,69 @@ +.form-errors { + background: #fdf7f7; + color: #b52b27; + padding: 0 5px; + border-radius: 3px; + margin-bottom: 10px; +} + +.form-errors p { + margin: 0; + line-height: 2; +} + +.form-field.has-errors .form-errors { + margin-top: -5px; +} + +.form-field.has-errors label { + color: #b52b27; +} + +.form-field.has-errors .form-input-wrapper input, +.form-field.has-errors .form-input-wrapper select, +.form-field.has-errors .form-input-wrapper textarea { + border: 1px solid #d9534f; +} + +.form-input-file.dropzone { + position: relative; + min-height: 70px; + border-radius: 3px; + margin-bottom: .85rem; + border: 2px dashed #ccc; + color: #aaa; + padding: 0.5rem; +} + +.form-input-file input { + display: none; +} + +.form-input-file .dz-default.dz-message { + position: absolute; + text-align: center; + left: 0; + right: 0; + top: 50%; + transform: translateY(-50%); + margin: 0; +} + +.form-input-file.dropzone .dz-preview { + margin: 0.5rem; +} + +.form-input-file.dropzone .dz-preview:hover { + z-index: 2; +} + +.form-input-file.dropzone .dz-preview .dz-error-message { + min-width: 140px; + width: auto; +} + +.form-input-file.dropzone .dz-preview .dz-image, +.form-input-file.dropzone .dz-preview.dz-file-preview .dz-image { + border-radius: 3px; + z-index: 1; +} diff --git a/sandbox/grav/user/plugins/form/assets/form.min.js b/sandbox/grav/user/plugins/form/assets/form.min.js new file mode 100644 index 0000000000..3bcf31e946 --- /dev/null +++ b/sandbox/grav/user/plugins/form/assets/form.min.js @@ -0,0 +1,3 @@ +!function(e){function t(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){(function(e){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){return e=e.replace(/@3x|@2x|@1x/,""),e=e.replace(/\(/g,"%28"),e=e.replace(/\)/g,"%29"),e.match(/\.(jpe?g|png|gif|svg)$/i)?"![]("+e+")":"["+decodeURI(e)+"]("+e+")"}Object.defineProperty(t,"__esModule",{value:!0}),t.Instances=void 0;var s=function(){function e(e,t){for(var i=0;i\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n \n \n Check\n Created with Sketch.\n \n \n \n \n \n \n
    \n
    \n\n \n \n error\n Created with Sketch.\n \n \n \n \n \n \n \n
    \n '.trim()},f=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.container,n=void 0===i?".dropzone.files-upload":i,r=e.options,s=void 0===r?{}:r;o(this,t),this.container=(0,a.default)(n),this.container.length&&(this.urls={},this.options=Object.assign({},h,m,{klass:this,url:this.container.data("file-url-add")||d.config.current_url,acceptedFiles:this.container.data("media-types"),init:this.initDropzone},this.container.data("dropzone-options"),s),this.dropzone=new p.default(n,this.options),this.dropzone.on("complete",this.onDropzoneComplete.bind(this)),this.dropzone.on("success",this.onDropzoneSuccess.bind(this)),this.dropzone.on("removedfile",this.onDropzoneRemovedFile.bind(this)),this.dropzone.on("sending",this.onDropzoneSending.bind(this)),this.dropzone.on("error",this.onDropzoneError.bind(this)))}return s(t,[{key:"initDropzone",value:function(){var e=this,t=this.options.klass.container.find("[data-file]"),i=this;t.length&&t.each(function(t,n){n=(0,a.default)(n);var o=n.data("file"),r={name:o.name,size:o.size,type:o.type,status:p.default.ADDED,accepted:!0,url:e.options.url,removeUrl:o.remove};i.files.push(r),i.options.addedfile.call(i,r),r.type.match(/^image\//)&&i.options.thumbnail.call(i,r,o.path),n.remove()})}},{key:"onDropzoneSending",value:function(e,t,i){i.append("__form-name__",this.container.closest("form").find('[name="__form-name__"]').val()),i.append("__form-file-uploader__",1),i.append("name",this.options.dotNotation),i.append("form-nonce",d.config.form_nonce),i.append("task","filesupload")}},{key:"onDropzoneSuccess",value:function(t,i,n){if(this.options.reloadPage&&e.location.reload(),i.session){t.sessionParams=i.session,t.removeUrl=this.options.url;var o=this.container.find('[name][type="hidden"]'),r=o.val();o.val(r+" ")}return this.handleError({file:t,data:i,mode:"removeFile",msg:"

    "+d.translations.PLUGIN_FORM.FILE_ERROR_UPLOAD+" "+t.name+"

    \n
    "+i.message+"
    "})}},{key:"onDropzoneComplete",value:function(t){if(!t.accepted&&!t.rejected){var i={status:"error",message:d.translations.PLUGIN_FORM.FILE_UNSUPPORTED+": "+t.name.match(/\..+/).join("")};return this.handleError({file:t,data:i,mode:"removeFile",msg:"

    "+d.translations.PLUGIN_FORM.FILE_ERROR_ADD+" "+t.name+"

    \n
    "+i.message+"
    "})}this.options.reloadPage&&e.location.reload()}},{key:"onDropzoneRemovedFile",value:function(t){var i=this;if(t.accepted&&!t.rejected){var n=t.removeUrl||this.urls.delete,o=(n||"").match(/path:(.*)\//),r={filename:t.name};t.sessionParams&&(r.task="filessessionremove",r.session=t.sessionParams),c(n,{method:"post",body:r},function(){if(o){o=e.atob(o[1]);var t=i.container.find('[name][type="hidden"]'),n=JSON.parse(t.val()||"{}");delete n[o],t.val(JSON.stringify(n))}})}}},{key:"onDropzoneError",value:function(e,t,i){var n=i&&t.error?t.error.message:t;return(0,a.default)(e.previewElement).find("[data-dz-errormessage]").html(n),this.handleError({file:e,data:{status:"error"},msg:"
    "+n+"
    "})}},{key:"handleError",value:function(e){return!0}}]),t}();t.default=f;var g=[],v=(0,a.default)(),F=function(e,t){var i=(0,a.default)(t).find(".dropzone.files-upload");i.length&&i.each(function(e,t){t=(0,a.default)(t),~v.index(t)||y(t)})},y=function(e){e=(0,a.default)(e);var t=e.find('input[type="file"]'),i=e.data("grav-file-settings")||{};i.accept&&~i.accept.indexOf("*")&&(i.accept=[""]);var n={url:e.data("file-url-add")||(e.closest("form").attr("action")||d.config.current_url)+".json",paramName:i.paramName||"file",dotNotation:i.name||"file",acceptedFiles:i.accept?i.accept.join(","):t.attr("accept")||e.data("media-types"),maxFilesize:i.filesize||256,maxFiles:i.limit||null};v=v.add(e),e=e[0],g.push(new f({container:e,options:n}))};t.Instances=function(){return(0,a.default)(".dropzone.files-upload").each(function(e,t){return y(t)}),(0,a.default)("body").on("mutation._grav",F),g}()}).call(t,function(){return this}())},function(e,t){e.exports=jQuery},function(e,t,i){(function(e){(function(){var t,i,n,o,r,s,l,a,u=[].slice,p={}.hasOwnProperty,d=function(e,t){function i(){this.constructor=e}for(var n in t)p.call(t,n)&&(e[n]=t[n]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e};l=function(){},i=function(){function e(){}return e.prototype.addEventListener=e.prototype.on,e.prototype.on=function(e,t){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this},e.prototype.emit=function(){var e,t,i,n,o,r;if(n=arguments[0],e=2<=arguments.length?u.call(arguments,1):[],this._callbacks=this._callbacks||{},i=this._callbacks[n])for(o=0,r=i.length;o'),this.element.appendChild(i)),n=i.getElementsByTagName("span")[0],n&&(null!=n.textContent?n.textContent=this.options.dictFallbackMessage:null!=n.innerText&&(n.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize:function(e){var t,i,n;return t={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},i=e.width/e.height,t.optWidth=this.options.thumbnailWidth,t.optHeight=this.options.thumbnailHeight,null==t.optWidth&&null==t.optHeight?(t.optWidth=t.srcWidth,t.optHeight=t.srcHeight):null==t.optWidth?t.optWidth=i*t.optHeight:null==t.optHeight&&(t.optHeight=1/i*t.optWidth),n=t.optWidth/t.optHeight,e.heightn?(t.srcHeight=e.height,t.srcWidth=t.srcHeight*n):(t.srcWidth=e.width,t.srcHeight=t.srcWidth/n),t.srcX=(e.width-t.srcWidth)/2,t.srcY=(e.height-t.srcHeight)/2,t},drop:function(e){return this.element.classList.remove("dz-drag-hover")},dragstart:l,dragend:function(e){return this.element.classList.remove("dz-drag-hover")},dragenter:function(e){return this.element.classList.add("dz-drag-hover")},dragover:function(e){return this.element.classList.add("dz-drag-hover")},dragleave:function(e){return this.element.classList.remove("dz-drag-hover")},paste:l,reset:function(){return this.element.classList.remove("dz-started")},addedfile:function(e){var i,n,o,r,s,l,a,u,p,d,c,h,m;if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer){for(e.previewElement=t.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement),d=e.previewElement.querySelectorAll("[data-dz-name]"),r=0,a=d.length;r'+this.options.dictRemoveFile+""),e.previewElement.appendChild(e._removeLink)),n=function(i){return function(n){return n.preventDefault(),n.stopPropagation(),e.status===t.UPLOADING?t.confirm(i.options.dictCancelUploadConfirmation,function(){return i.removeFile(e)}):i.options.dictRemoveFileConfirmation?t.confirm(i.options.dictRemoveFileConfirmation,function(){return i.removeFile(e)}):i.removeFile(e)}}(this),h=e.previewElement.querySelectorAll("[data-dz-remove]"),m=[],l=0,p=h.length;l\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n Check\n \n \n \n \n \n
    \n
    \n \n Error\n \n \n \n \n \n \n \n
    \n'},n=function(){var e,t,i,n,o,r,s;for(n=arguments[0],i=2<=arguments.length?u.call(arguments,1):[],r=0,s=i.length;r'+this.options.dictDefaultMessage+"")),this.clickableElements.length&&(n=function(e){return function(){return e.hiddenFileInput&&e.hiddenFileInput.parentNode.removeChild(e.hiddenFileInput),e.hiddenFileInput=document.createElement("input"),e.hiddenFileInput.setAttribute("type","file"),(null==e.options.maxFiles||e.options.maxFiles>1)&&e.hiddenFileInput.setAttribute("multiple","multiple"),e.hiddenFileInput.className="dz-hidden-input",null!=e.options.acceptedFiles&&e.hiddenFileInput.setAttribute("accept",e.options.acceptedFiles),null!=e.options.capture&&e.hiddenFileInput.setAttribute("capture",e.options.capture),e.hiddenFileInput.style.visibility="hidden",e.hiddenFileInput.style.position="absolute",e.hiddenFileInput.style.top="0",e.hiddenFileInput.style.left="0",e.hiddenFileInput.style.height="0",e.hiddenFileInput.style.width="0",document.querySelector(e.options.hiddenInputContainer).appendChild(e.hiddenFileInput),e.hiddenFileInput.addEventListener("change",function(){var t,i,o,r;if(i=e.hiddenFileInput.files,i.length)for(o=0,r=i.length;o',this.options.dictFallbackText&&(n+="

    "+this.options.dictFallbackText+"

    "),n+='',i=t.createElement(n),"FORM"!==this.element.tagName?(o=t.createElement('
    '),o.appendChild(i)):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=o?o:i)},t.prototype.getExistingFallback=function(){var e,t,i,n,o,r;for(t=function(e){var t,i,n;for(i=0,n=e.length;i0){for(s=["TB","GB","MB","KB","b"],i=l=0,a=s.length;l=t){n=e/Math.pow(this.options.filesizeBase,4-i),o=r;break}n=Math.round(10*n)/10}return""+n+" "+o},t.prototype._updateMaxFilesReachedClass=function(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")},t.prototype.drop=function(e){var t,i;e.dataTransfer&&(this.emit("drop",e),t=e.dataTransfer.files,this.emit("addedfiles",t),t.length&&(i=e.dataTransfer.items,i&&i.length&&null!=i[0].webkitGetAsEntry?this._addFilesFromItems(i):this.handleFiles(t)))},t.prototype.paste=function(e){var t,i;if(null!=(null!=e&&null!=(i=e.clipboardData)?i.items:void 0))return this.emit("paste",e),t=e.clipboardData.items,t.length?this._addFilesFromItems(t):void 0},t.prototype.handleFiles=function(e){var t,i,n,o;for(o=[],i=0,n=e.length;i0){for(r=0,s=i.length;r1024*this.options.maxFilesize*1024?i(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):t.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(i(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,i):i(this.options.dictInvalidFileType)},t.prototype.addFile=function(e){return e.upload={progress:0,total:e.size,bytesSent:0},this.files.push(e),e.status=t.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,function(t){return function(i){return i?(e.accepted=!1,t._errorProcessing([e],i)):(e.accepted=!0,t.options.autoQueue&&t.enqueueFile(e)),t._updateMaxFilesReachedClass()}}(this))},t.prototype.enqueueFiles=function(e){var t,i,n;for(i=0,n=e.length;i=t)&&(n=this.getQueuedFiles(),n.length>0)){if(this.options.uploadMultiple)return this.processFiles(n.slice(0,t-i));for(;e=T;p=0<=T?++O:--O)r.append(this._getParamName(p),e[p],this._renameFilename(e[p].name));return this.submitRequest(b,r,e)},t.prototype.submitRequest=function(e,t,i){return e.send(t)},t.prototype._finished=function(e,i,n){var o,r,s;for(r=0,s=e.length;rp;)t=o[4*(a-1)+3],0===t?r=a:p=a,a=r+p>>1;return u=a/s,0===u?1:u},s=function(e,t,i,n,o,s,l,a,u,p){var d;return d=r(t),e.drawImage(t,i,n,o,s,l,a,u,p/d)},o=function(e,t){var i,n,o,r,s,l,a,u,p;if(o=!1,p=!0,n=e.document,u=n.documentElement,i=n.addEventListener?"addEventListener":"attachEvent",a=n.addEventListener?"removeEventListener":"detachEvent",l=n.addEventListener?"":"on",r=function(i){if("readystatechange"!==i.type||"complete"===n.readyState)return("load"===i.type?e:n)[a](l+i.type,r,!1),!o&&(o=!0)?t.call(e,i.type||i):void 0},s=function(){var e;try{u.doScroll("left")}catch(t){return e=t,void setTimeout(s,50)}return r("poll")},"complete"!==n.readyState){if(n.createEventObject&&u.doScroll){try{p=!e.frameElement}catch(e){}p&&s()}return n[i](l+"DOMContentLoaded",r,!1),n[i](l+"readystatechange",r,!1),e[i](l+"load",r,!1)}},t._autoDiscoverFunction=function(){if(t.autoDiscover)return t.discover()},o(window,t._autoDiscoverFunction)}).call(this)}).call(t,i(3)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){e.exports=GravForm}]); +//# sourceMappingURL=form.min.js.map \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/blueprints.yaml b/sandbox/grav/user/plugins/form/blueprints.yaml new file mode 100644 index 0000000000..479d7ae2a7 --- /dev/null +++ b/sandbox/grav/user/plugins/form/blueprints.yaml @@ -0,0 +1,104 @@ +name: Form +version: 2.9.1 +description: Enables the forms handling +icon: check-square +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +keywords: plugin, form +homepage: https://github.com/getgrav/grav-plugin-form +bugs: https://github.com/getgrav/grav-plugin-form/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.3.0-rc.3' } + +form: + validation: strict + fields: + enabled: + type: hidden + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + general: + type: section + title: PLUGIN_FORM.GENERAL + + fields: + built_in_css: + type: toggle + label: PLUGIN_FORM.USE_BUILT_IN_CSS + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + refresh_prevention: + type: toggle + label: PLUGIN_FORM.REFRESH_PREVENTION + help: PLUGIN_FORM.REFRESH_PREVENTION_HELP + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + files: + type: section + title: PLUGIN_FORM.FILES + + fields: + files.multiple: + type: toggle + label: PLUGIN_FORM.ALLOW_MULTIPLE + help: PLUGIN_FORM.ALLOW_MULTIPLE_HELP + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + files.destination: + type: text + label: PLUGIN_FORM.DESTINATION + help: PLUGIN_FORM.DESTINATION_HELP + default: '@self' + files.accept: + type: selectize + size: large + label: PLUGIN_FORM.ACCEPT + help: PLUGIN_FORM.ACCEPT_HELP + classes: fancy + default: + - image/* + validate: + type: commalist + + recaptcha: + type: section + title: PLUGIN_FORM.RECAPTCHA + + fields: + recaptcha.site_key: + type: text + label: PLUGIN_FORM.RECAPTCHA_SITE_KEY + help: PLUGIN_FORM.RECAPTCHA_SITE_KEY_HELP + default: '' + recaptcha.secret_key: + type: text + label: PLUGIN_FORM.RECAPTCHA_SECRET_KEY + help: PLUGIN_FORM.RECAPTCHA_SECRET_KEY_HELP + default: '' diff --git a/sandbox/grav/user/plugins/form/classes/form.php b/sandbox/grav/user/plugins/form/classes/form.php new file mode 100644 index 0000000000..2947396757 --- /dev/null +++ b/sandbox/grav/user/plugins/form/classes/form.php @@ -0,0 +1,654 @@ +page = $page->route(); + + $header = $page->header(); + $this->rules = isset($header->rules) ? $header->rules : []; + $this->header_data = isset($header->data) ? $header->data : []; + + if ($form) { + $this->items = $form; + } else { + if (isset($header->form)) { + $this->items = $header->form; // for backwards compatibility + } + } + + // Add form specific rules. + if (!empty($this->items['rules']) && is_array($this->items['rules'])) { + $this->rules += $this->items['rules']; + } + + // Set form name if not set. + if ($name && !is_int($name)) { + $this->items['name'] = $name; + } elseif (empty($this->items['name'])) { + $this->items['name'] = $page->slug(); + } + + // Set form id if not set. + if (empty($this->items['id'])) { + $inflector = new Inflector(); + $this->items['id'] = $inflector->hyphenize($this->items['name']); + } + + // Reset and initialize the form + $this->reset(); + } + + /** + * Custom serializer for this complex object + * + * @return string + */ + public function serialize() + { + $data = [ + 'items' => $this->items, + 'message' => $this->message, + 'message_color' => $this->message_color, + 'status' => $this->status, + 'header_data' => $this->header_data, + 'rules' => $this->rules, + 'data' => $this->data->toArray(), + 'values' => $this->values->toArray(), + 'page' => $this->page + ]; + return serialize($data); + } + + /** + * Custom unserializer for this complex object + * + * @param string $data + */ + public function unserialize($data) + { + $data = unserialize($data); + + $this->items = $data['items']; + $this->message = $data['message']; + $this->message_color = $data['message_color']; + $this->status = $data['status']; + $this->header_data = $data['header_data']; + $this->rules = $data['rules']; + + $name = $this->items['name']; + $items = $this->items; + $rules = $this->rules; + + $blueprint = function() use ($name, $items, $rules) { + $blueprint = new Blueprint($name, ['form' => $items, 'rules' => $rules]); + return $blueprint->load()->init(); + }; + + $this->data = new Data($data['data'], $blueprint); + $this->values = new Data($data['values']); + $this->page = $data['page']; + } + + /** + * Allow overriding of fields + * + * @param $fields + */ + public function setFields($fields) + { + $this->fields = $fields; + } + + /** + * Get the name of this form + * + * @return String + */ + public function name() + { + return $this->items['name']; + } + + /** + * Reset data. + */ + public function reset() + { + $name = $this->items['name']; + $grav = Grav::instance(); + + // Fix naming for fields (supports nested fields now!) + if (isset($this->items['fields'])) { + $this->items['fields'] = $this->processFields($this->items['fields']); + } + + $items = $this->items; + $rules = $this->rules; + + $blueprint = function() use ($name, $items, $rules) { + $blueprint = new Blueprint($name, ['form' => $items, 'rules' => $rules]); + return $blueprint->load()->init(); + }; + + $this->data = new Data($this->header_data, $blueprint); + $this->values = new Data(); + $this->fields = null; + $this->fields = $this->fields(); + + // Fire event + $grav->fireEvent('onFormInitialized', new Event(['form' => $this])); + + } + + protected function processFields($fields) + { + $types = Grav::instance()['plugins']->formFieldTypes; + + $return = array(); + foreach ($fields as $key => $value) { + + // default to text if not set + if (!isset($value['type'])) { + $value['type'] = 'text'; + } + + // manually merging the field types + if ($types !== null && key_exists($value['type'], $types)) { + $value += $types[$value['type']]; + } + + // Fix numeric indexes + if (is_numeric($key) && isset($value['name'])) { + $key = $value['name']; + } + if (isset($value['fields']) && is_array($value['fields'])) { + $value['fields'] = $this->processFields($value['fields']); + } + $return[$key] = $value; + } + return $return; + } + + public function fields() { + + if (is_null($this->fields)) { + $blueprint = $this->data->blueprints(); + + if (method_exists($blueprint, 'load')) { + // init the form to process directives + $blueprint->load()->init(); + + // fields set to processed blueprint fields + $this->fields = $blueprint->fields(); + } + } + + return $this->fields; + } + + /** + * Return page object for the form. + * + * @return Page + */ + public function page() + { + return Grav::instance()['pages']->dispatch($this->page); + } + + /** + * Get value of given variable (or all values). + * First look in the $data array, fallback to the $values array + * + * @param string $name + * + * @return mixed + */ + public function value($name = null, $fallback = false) + { + if (!$name) { + return $this->data; + } + + if ($this->data->get($name)) { + return $this->data->get($name); + } + + if ($fallback) { + return $this->values->get($name); + } + + return null; + } + + /** + * Set value of given variable in the values array + * + * @param string $name + * + * @return mixed + */ + public function setValue($name = null, $value = '') + { + if (!$name) { + return; + } + + $this->values->set($name, $value); + } + + /** + * Get a value from the form + * + * @param $name + * @return mixed + */ + public function getValue($name) + { + return $this->values->get($name); + } + + /** + * Get all data + * + * @return Data + */ + public function getData() + { + return $this->data; + } + + /** + * Set value of given variable in the data array + * + * @param string $name + * + * @return mixed + */ + public function setData($name = null, $value = '') + { + if (!$name) { + return false; + } + + $this->data->set($name, $value); + + return true; + } + + public function setAllData($array) + { + $this->data = new Data($array); + } + + /** + * Handles ajax upload for files. + * Stores in a flash object the temporary file and deals with potential file errors. + * + * @return mixed True if the action was performed. + */ + public function uploadFiles() + { + $post = $_POST; + $grav = Grav::instance(); + $uri = $grav['uri']->url; + $config = $grav['config']; + $session = $grav['session']; + + $settings = $this->data->blueprints()->schema()->getProperty($post['name']); + $settings = (object) array_merge( + ['destination' => $config->get('plugins.form.files.destination', 'self@'), + 'avoid_overwriting' => $config->get('plugins.form.files.avoid_overwriting', false), + 'random_name' => $config->get('plugins.form.files.random_name', false), + 'accept' => $config->get('plugins.form.files.accept', ['image/*']), + 'limit' => $config->get('plugins.form.files.limit', 10), + 'filesize' => $config->get('plugins.form.files.filesize', 5242880) // 5MB + ], + (array) $settings, + ['name' => $post['name']] + ); + + $upload = $this->normalizeFiles($_FILES['data'], $settings->name); + + // Handle errors and breaks without proceeding further + if ($upload->file->error != UPLOAD_ERR_OK) { + // json_response + return [ + 'status' => 'error', + 'message' => sprintf($grav['language']->translate('PLUGIN_FORM.FILEUPLOAD_UNABLE_TO_UPLOAD', null, true), $upload->file->name, $this->upload_errors[$upload->file->error]) + ]; + } else { + // Remove the error object to avoid storing it + unset($upload->file->error); + + // we need to move the file at this stage or else + // it won't be available upon save later on + // since php removes it from the upload location + $tmp_dir = $grav['locator']->findResource('tmp://', true, true); + $tmp_file = $upload->file->tmp_name; + $tmp = $tmp_dir . '/uploaded-files/' . basename($tmp_file); + + Folder::create(dirname($tmp)); + if (!move_uploaded_file($tmp_file, $tmp)) { + // json_response + return [ + 'status' => 'error', + 'message' => sprintf($grav['language']->translate('PLUGIN_FORM.FILEUPLOAD_UNABLE_TO_MOVE', null, true), '', $tmp) + ]; + } + + $upload->file->tmp_name = $tmp; + } + + // Handle file size limits + $settings->filesize *= 1048576; // 2^20 [MB in Bytes] + if ($settings->filesize > 0 && $upload->file->size > $settings->filesize) { + // json_response + return [ + 'status' => 'error', + 'message' => $grav['language']->translate('PLUGIN_FORM.EXCEEDED_GRAV_FILESIZE_LIMIT') + ]; + } + + + // Handle Accepted file types + // Accept can only be mime types (image/png | image/*) or file extensions (.pdf|.jpg) + $accepted = false; + $errors = []; + foreach ((array) $settings->accept as $type) { + // Force acceptance of any file when star notation + if ($type == '*') { + $accepted = true; + break; + } + + $isMime = strstr($type, '/'); + $find = str_replace('*', '.*', $type); + + $match = preg_match('#'. $find .'$#', $isMime ? $upload->file->type : $upload->file->name); + if (!$match) { + $message = $isMime ? 'The MIME type "' . $upload->file->type . '"' : 'The File Extension'; + $errors[] = $message . ' for the file "' . $upload->file->name . '" is not an accepted.'; + $accepted |= false; + } else { + $accepted |= true; + } + } + + if (!$accepted) { + // json_response + return [ + 'status' => 'error', + 'message' => implode('
    ', $errors) + ]; + } + + // Retrieve the current session of the uploaded files for the field + // and initialize it if it doesn't exist + $sessionField = base64_encode($uri); + $flash = $session->getFlashObject('files-upload'); + if (!$flash) { $flash = []; } + if (!isset($flash[$sessionField])) { $flash[$sessionField] = []; } + if (!isset($flash[$sessionField][$upload->field])) { $flash[$sessionField][$upload->field] = []; } + + // Set destination + $destination = Folder::getRelativePath(rtrim($settings->destination, '/')); + $destination = $this->getPagePathFromToken($destination); + + // Create destination if needed + if (!is_dir($destination)) { + Folder::mkdir($destination); + } + + // Generate random name if required + if ($settings->random_name) { + $extension = pathinfo($upload->file->name)['extension']; + $upload->file->name = Utils::generateRandomString(15) . '.' . $extension; + } + + // Handle conflicting name if needed + if ($settings->avoid_overwriting) { + if (file_exists($destination . '/' . $upload->file->name)) { + $upload->file->name = date('YmdHis') . '-' . $upload->file->name; + } + } + + // Prepare object for later save + $path = $destination . '/' . $upload->file->name; + $upload->file->path = $path; + // $upload->file->route = $page ? $path : null; + + // Prepare data to be saved later + $flash[$sessionField][$upload->field][$path] = (array) $upload->file; + + // Finally store the new uploaded file in the field session + $session->setFlashObject('files-upload', $flash); + + + // json_response + return [ + 'status' => 'success', + 'session' => \json_encode([ + 'sessionField' => base64_encode($uri), + 'path' => $upload->file->path, + 'field' => $settings->name + ]) + ]; + } + + /** + * Handle form processing on POST action. + */ + public function post() + { + $grav = Grav::instance(); + $uri = $grav['uri']->url; + $session = $grav['session']; + + if (isset($_POST)) { + $this->values = new Data(isset($_POST) ? (array)$_POST : []); + $data = $this->values->get('data'); + + // Add post data to form dataset + if (!$data) { + $data = $this->values->toArray(); + } + + if (method_exists('Grav\Common\Utils', 'getNonce')) { + if (!$this->values->get('form-nonce') || !Utils::verifyNonce($this->values->get('form-nonce'), 'form')) { + $event = new Event(['form' => $this, + 'message' => $grav['language']->translate('PLUGIN_FORM.NONCE_NOT_VALIDATED') + ]); + $grav->fireEvent('onFormValidationError', $event); + + return; + } + } + + $i = 0; + foreach ($this->items['fields'] as $key => $field) { + $name = isset($field['name']) ? $field['name'] : $key; + if (!isset($field['name'])) { + if (isset($data[$i])) { //Handle input@ false fields + $data[$name] = $data[$i]; + unset($data[$i]); + } + } + if ($field['type'] == 'checkbox') { + $data[$name] = isset($data[$name]) ? true : false; + } + $i++; + } + + $this->data->merge($data); + } + + // Validate and filter data + try { + $this->data->validate(); + $this->data->filter(); + + $grav->fireEvent('onFormValidationProcessed', new Event(['form' => $this])); + } catch (\RuntimeException $e) { + $event = new Event(['form' => $this, 'message' => $e->getMessage(), 'messages' => $e->getMessages()]); + $grav->fireEvent('onFormValidationError', $event); + if ($event->isPropagationStopped()) { + return; + } + } + + // Process previously uploaded files for the current URI + // and finally store them. Everything else will get discarded + $queue = $session->getFlashObject('files-upload'); + $queue = $queue[base64_encode($uri)]; + if (is_array($queue)) { + foreach ($queue as $key => $files) { + foreach ($files as $destination => $file) { + if (!rename($file['tmp_name'], $destination)) { + throw new \RuntimeException(sprintf($grav['language']->translate('PLUGIN_FORM.FILEUPLOAD_UNABLE_TO_MOVE', null, true), '"' . $file['tmp_name'] . '"', $destination)); + } + + unset($files[$destination]['tmp_name']); + } + + $this->data->merge([$key => $files]); + + } + } + + $process = isset($this->items['process']) ? $this->items['process'] : []; + if (is_array($process)) { + $event = null; + foreach ($process as $action => $data) { + if (is_numeric($action)) { + $action = \key($data); + $data = $data[$action]; + } + + $previousEvent = $event; + $event = new Event(['form' => $this, 'action' => $action, 'params' => $data]); + + if ($previousEvent) { + if (!$previousEvent->isPropagationStopped()) { + $grav->fireEvent('onFormProcessed', $event); + } else { + break; + } + } else { + $grav->fireEvent('onFormProcessed', $event); + } + } + } + } + + public function getPagePathFromToken($path) + { + return Utils::getPagePathFromToken($path, $this->page()); + } + + /** + * Internal method to normalize the $_FILES array + * + * @param array $data $_FILES starting point data + * @param string $key + * @return object a new Object with a normalized list of files + */ + protected function normalizeFiles($data, $key = '') { + $files = new \stdClass(); + $files->field = $key; + $files->file = new \stdClass(); + + foreach($data as $fieldName => $fieldValue) { + // Since Files Upload are always happening via Ajax + // we are not interested in handling `multiple="true"` + // because they are always handled one at a time. + // For this reason we normalize the value to string, + // in case it is arriving as an array. + $value = (array) Utils::getDotNotation($fieldValue, $key); + $files->file->{$fieldName} = array_shift($value); + } + + return $files; + } + + public static function getNonce() + { + $action = 'form-plugin'; + return Utils::getNonce($action); + } +} diff --git a/sandbox/grav/user/plugins/form/form.php b/sandbox/grav/user/plugins/form/form.php new file mode 100644 index 0000000000..9f22b0dfc7 --- /dev/null +++ b/sandbox/grav/user/plugins/form/form.php @@ -0,0 +1,692 @@ + 1000 + ]; + + /** + * @var Form + */ + protected $form; + + protected $forms = []; + + protected $flat_forms = []; + + protected $json_response = []; + + protected $recache_forms = false; + + + /** + * @return array + */ + public static function getSubscribedEvents() + { + return [ + 'onPluginsInitialized' => ['onPluginsInitialized', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0] + ]; + } + + /** + * Initialize forms from cache if possible + */ + public function onPluginsInitialized() + { + require_once(__DIR__ . '/classes/form.php'); + + if ($this->isAdmin()) { + $this->enable([ + 'onPagesInitialized' => ['onPagesInitialized', 0] + ]); + return; + } + + $this->enable([ + 'onPageProcessed' => ['onPageProcessed', 0], + 'onPagesInitialized' => ['onPagesInitialized', 0], + 'onTwigInitialized' => ['onTwigInitialized', 0], + 'onTwigPageVariables' => ['onTwigVariables', 0], + 'onTwigSiteVariables' => ['onTwigVariables', 0], + 'onFormValidationProcessed' => ['onFormValidationProcessed', 0], + ]); + } + + /** + * Process forms after page header processing, but before caching + * + * @param Event $e + */ + public function onPageProcessed(Event $e) + { + /** @var Page $page */ + $page = $e['page']; + $page_route = $page->route(); + + if ($page->home()) { + $page_route = '/'; + } + + $header = $page->header(); + + //call event to allow filling the page header form dynamically (e.g. use case: Comments plugin) + $this->grav->fireEvent('onFormPageHeaderProcessed', new Event(['header' => $header])); + + if ((isset($header->forms) && is_array($header->forms)) || + (isset($header->form) && is_array($header->form))) { + + $page_forms = []; + + // Force never_cache_twig if modular form + if ($page->modular()) { + $header->never_cache_twig = true; + } + + // Get the forms from the page headers + if (isset($header->forms)) { + $page_forms = $header->forms; + } elseif (isset($header->form)) { + $page_forms[] = $header->form; + } + + // Store the page forms in the forms instance + foreach ($page_forms as $name => $page_form) { + $form = new Form($page, $name, $page_form); + $form_array = [$form['name'] => $form]; + if (array_key_exists($page_route, $this->forms)) { + $this->forms[$page_route] = array_merge($this->forms[$page_route], $form_array); + } else { + $this->forms[$page_route] = $form_array; + } + + } + + $this->recache_forms = true; + } + } + + /** + * Initialize form if the page has one. Also catches form processing if user posts the form. + */ + public function onPagesInitialized() + { + $submitted = false; + $this->json_response = []; + $cache_id = $this->grav['pages']->getPagesCacheId() . '-form-plugin'; + + // Get and set the cache of forms if it exists + list($forms, $flat_forms) = $this->grav['cache']->fetch($cache_id); + + // Only store the forms if they are an array + if (is_array($forms)) { + $this->forms = $forms; + } + + // Only store the flat_forms if they are an array + if (is_array($flat_forms)) { + $this->flat_forms = $flat_forms; + } + + // No forms in pages, try the current one in the page + if (empty($this->forms)) { + + $page = $this->grav['page']; + if (!$page) { + return; + } + + // Create form from page + $header = $page->header(); + if (isset($header->form) && is_array($header->form)) { + $this->form = new Form($page); + } + + } else { + // Regenerate list of flat_forms if not already populated + if (empty($this->flat_forms)) { + $this->flat_forms = Utils::arrayFlatten($this->forms); + } + + // Save the current state of the forms to cache + if ($this->recache_forms) { + $this->grav['cache']->save($cache_id, [$this->forms, $this->flat_forms]); + } + } + + // Enable form events if there's a POST + if ($this->shouldProcessForm()) { + $this->enable([ + 'onFormProcessed' => ['onFormProcessed', 0], + 'onFormValidationError' => ['onFormValidationError', 0], + 'onFormFieldTypes' => ['onFormFieldTypes', 0], + ]); + + // Post the form + if ($this->form()) { + if ($this->grav['uri']->extension() === 'json' && isset($_POST['__form-file-uploader__'])) { + $this->json_response = $this->form->uploadFiles(); + } else { + $this->form->post(); + $submitted = true; + } + } + + // Clear flash objects for previously uploaded files + // whenever the user switches page / reloads + // ignoring any JSON / extension call + if (is_null($this->grav['uri']->extension()) && !$submitted) { + // Discard any previously uploaded files session. + // and if there were any uploaded file, remove them from the filesystem + if ($flash = $this->grav['session']->getFlashObject('files-upload')) { + $flash = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($flash)); + foreach ($flash as $key => $value) { + if ($key !== 'tmp_name') { + continue; + } + @unlink($value); + } + } + } + } + } + + /** + * Add simple `forms()` Twig function + */ + public function onTwigInitialized() + { + $this->grav['twig']->twig()->addFunction( + new \Twig_SimpleFunction('forms', [$this, 'getForm']) + ); + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Make form accessible from twig. + * + * @param Event $event + */ + public function onTwigVariables(Event $event = null) + { + if ($event && isset($event['page'])) { + $page = $event['page']; + } else { + $page = $this->grav['page']; + } + + $header = $page->header(); + + // get route to calculated page + $page_route = $page->route(); + // get route to current page + $current_page_route = $this->getCurrentPageRoute(); + $found_forms = []; + + $twig = $this->grav['twig']; + + if (!isset($twig->twig_vars['form'])) { + if (isset($this->form)) { + $twig->twig_vars['form'] = $this->form; + } else { + if (isset($this->forms[$page_route])) { + $found_forms = $this->forms[$page_route]; + } elseif (isset($this->forms[$current_page_route])) { + $found_forms = $this->forms[$current_page_route]; + } elseif (isset($header->form)) { + $found_forms = [new Form($page)]; + } + $twig->twig_vars['form'] = array_shift($found_forms); + } + } + + if ($this->config->get('plugins.form.built_in_css')) { + $this->grav['assets']->addCss('plugin://form/assets/form-styles.css'); + } + + $twig->twig_vars['form_json_response'] = $this->json_response; + } + + /** + * Handle form processing instructions. + * + * @param Event $event + */ + public function onFormProcessed(Event $event) + { + $form = $event['form']; + $action = $event['action']; + $params = $event['params']; + + $this->process($form); + + switch ($action) { + case 'captcha': + if (isset($params['recaptcha_secret'])) { + $recaptchaSecret = $params['recaptcha_secret']; + } else if (isset($params['recatpcha_secret'])) { + // Included for backwards compatibility with typo (issue #51) + $recaptchaSecret = $params['recatpcha_secret']; + } else { + $recaptchaSecret = $this->config->get('plugins.form.recaptcha.secret_key'); + } + + // Validate the captcha + $query = http_build_query([ + 'secret' => $recaptchaSecret, + 'response' => $form->value('g-recaptcha-response', true) + ]); + $url = 'https://www.google.com/recaptcha/api/siteverify?' . $query; + $response = json_decode(file_get_contents($url), true); + + if (!isset($response['success']) || $response['success'] !== true) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $this->grav['language']->translate('PLUGIN_FORM.ERROR_VALIDATING_CAPTCHA') + ])); + $event->stopPropagation(); + + return; + } + break; + case 'ip': + $label = isset($params['label']) ? $params['label'] : 'User IP'; + $blueprint = $form->value()->blueprints(); + $blueprint->set('form/fields/ip', ['name'=>'ip', 'label'=> $label]); + $form->setFields($blueprint->fields()); + $form->setData('ip', Uri::ip()); + break; + case 'message': + $translated_string = $this->grav['language']->translate($params); + $vars = array( + 'form' => $form + ); + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $processed_string = $twig->processString($translated_string, $vars); + + $form->message = $processed_string; + break; + case 'redirect': + $this->grav['session']->setFlashObject('form', $form); + $url = ((string)$params); + $vars = array( + 'form' => $form + ); + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $url = $twig->processString($url, $vars); + $this->grav->redirect($url); + break; + case 'reset': + if (Utils::isPositive($params)) { + $form->reset(); + } + break; + case 'display': + $route = (string)$params; + if (!$route || $route[0] != '/') { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $route = rtrim($uri->route(), '/'). '/' . ($route ?: ''); + } + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $twig->twig_vars['form'] = $form; + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route, true); + + if (!$page) { + throw new \RuntimeException('Display page not found. Please check the page exists.', 400); + } + + unset($this->grav['page']); + $this->grav['page'] = $page; + break; + case 'save': + $prefix = !empty($params['fileprefix']) ? $params['fileprefix'] : ''; + $format = !empty($params['dateformat']) ? $params['dateformat'] : 'Ymd-His-u'; + $ext = !empty($params['extension']) ? '.' . trim($params['extension'], '.') : '.txt'; + $filename = !empty($params['filename']) ? $params['filename'] : ''; + $operation = !empty($params['operation']) ? $params['operation'] : 'create'; + + if (!$filename) { + $filename = $prefix . $this->udate($format) . $ext; + } + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $vars = [ + 'form' => $form + ]; + + // Process with Twig + $filename = $twig->processString($filename, $vars); + + $locator = $this->grav['locator']; + $path = $locator->findResource('user://data', true); + $dir = $path . DS . $form->name(); + $fullFileName = $dir. DS . $filename; + + $file = File::instance($fullFileName); + + if ($operation == 'create') { + $body = $twig->processString(!empty($params['body']) ? $params['body'] : '{% include "forms/data.txt.twig" %}', + $vars); + $file->save($body); + } elseif ($operation == 'add') { + if (!empty($params['body'])) { + // use body similar to 'create' action and append to file as a log + $body = $twig->processString($params['body'], $vars); + + // create folder if it doesn't exist + if (!file_exists($dir)) { + mkdir($dir); + } + + // append data to existing file + file_put_contents($fullFileName, $body, FILE_APPEND | LOCK_EX); + } else { + // serialize YAML out to file for easier parsing as data sets + $vars = $vars['form']->value()->toArray(); + + foreach ($form->fields as $field) { + if (isset($field['process']) && isset($field['process']['ignore']) && $field['process']['ignore']) { + unset($vars[$field['name']]); + } + } + + if (file_exists($fullFileName)) { + $data = Yaml::parse($file->content()); + if (count($data) > 0) { + array_unshift($data, $vars); + } else { + $data[] = $vars; + } + } else { + $data[] = $vars; + } + + $file->save(Yaml::dump($data)); + } + + } + break; + } + } + + /** + * Custom field logic can go in here + * + * @param Event $event + */ + public function onFormValidationProcessed(Event $event) + { + // special check for honeypot field + if (!empty($event['form']->value('honeypot'))) { + throw new ValidationException('Are you a bot?'); + } + } + + /** + * Handle form validation error + * + * @param Event $event An event object + */ + public function onFormValidationError(Event $event) + { + $form = $event['form']; + if (isset($event['message'])) { + $form->message_color = 'red'; + $form->message = $event['message']; + $form->messages = $event['messages']; + } + + $uri = $this->grav['uri']; + $route = $uri->route(); + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $twig->twig_vars['form'] = $form; + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route, true); + + if ($page) { + unset($this->grav['page']); + $this->grav['page'] = $page; + } + + $event->stopPropagation(); + } + + /** + * Get list of form field types specified in this plugin. Only special types needs to be listed. + * + * @return array + */ + public function getFormFieldTypes() + { + return [ + 'display' => [ + 'input@' => false + ], + 'spacer' => [ + 'input@' => false + ], + 'captcha' => [ + 'input@' => false + ] + ]; + } + + /** + * Process a form + * + * Currently available processing tasks: + * + * - fillWithCurrentDateTime + * + * @param Form $form + * + * @return bool + */ + protected function process($form) + { + foreach ($form->fields as $field) { + if (isset($field['process'])) { + if (isset($field['process']['fillWithCurrentDateTime']) && $field['process']['fillWithCurrentDateTime']) { + $form->setData($field['name'], gmdate('D, d M Y H:i:s', time())); + } + } + } + } + + /** + * Create unix timestamp for storing the data into the filesystem. + * + * @param string $format + * @param int $utimestamp + * + * @return string + */ + private function udate($format = 'u', $utimestamp = null) + { + if (is_null($utimestamp)) { + $utimestamp = microtime(true); + } + + $timestamp = floor($utimestamp); + $milliseconds = round(($utimestamp - $timestamp) * 1000000); + + return date(preg_replace('`(?slug(); + } + + return $name; + } + + /** + * function to get a specific form + * + * @param null|array $data optional form `name` + * + * @return null|Form + */ + public function getForm($data = null) + { + $page_route = null; + $form_name = null; + + if (is_array($data)) { + if (isset($data['name'])) { + $form_name = $data['name']; + } + if (isset($data['route'])) { + $page_route = $data['route']; + } + } elseif (is_string($data)) { + $form_name = $data; + } + + // if no form name, use the first form found in the page + if (!$form_name) { + + // If page route not provided, use the current page + if (!$page_route) { + // Get page route + $page_route = $this->grav['page']->route(); + + // fallback using current URI if page not initialized yet + if (!$page_route) { + $page_route = $this->getCurrentPageRoute(); + } + } + + if (isset($this->forms[$page_route])) { + $forms = $this->forms[$page_route]; + $first_form = array_shift($forms); + $form_name = $first_form['name']; + } else { + //No form on this route. Try looking up in the current page first + return new Form($this->grav['page']); + } + } + + // return the form you are looking for if available + $form = $this->getFormByName($form_name); + + return $form; + } + + /** + * Get current page's route + * + * @return mixed + */ + protected function getCurrentPageRoute() + { + $path = $this->grav['uri']->route(); + $path = $path ?: '/'; + return $path; + } + + /** + * Retrieve a form based on the form name + * + * @param $form_name + * @return mixed + */ + protected function getFormByName($form_name) + { + if (array_key_exists($form_name, $this->flat_forms)) { + $form = $this->flat_forms[$form_name]; + return $form; + } + return null; + } + + protected function shouldProcessForm() + { + $status = isset($_POST) && isset($_POST['form-nonce']); + $refresh_prevention = null; + + if ($status && $this->form()) { + + // Set page template if passed by form + if (isset($this->form->template)) { + $this->grav['page']->template($this->form->template); + } + + if (!is_null($this->form->refresh_prevention)) { + $refresh_prevention = (bool) $this->form->refresh_prevention; + } else { + $refresh_prevention = $this->config->get('plugins.form.refresh_prevention', false); + } + + $unique_form_id = filter_input(INPUT_POST, '__unique_form_id__', FILTER_SANITIZE_STRING); + + if ($refresh_prevention && $unique_form_id) { + if(($this->grav['session']->unique_form_id != $unique_form_id)) { + $this->grav['session']->unique_form_id = $unique_form_id; + } else { + $status = false; + $this->form->message = $this->grav['language']->translate('PLUGIN_FORM.FORM_ALREADY_SUBMITTED'); + $this->form->message_color = 'red'; + } + } + } + + return $status; + } + + protected function form() + { + if (!isset($this->form)) { + $current_form_name = $this->getFormName($this->grav['page']); + $this->form = $this->getFormByName($current_form_name); + } + return $this->form; + } +} diff --git a/sandbox/grav/user/plugins/form/form.yaml b/sandbox/grav/user/plugins/form/form.yaml new file mode 100644 index 0000000000..c144e9cf90 --- /dev/null +++ b/sandbox/grav/user/plugins/form/form.yaml @@ -0,0 +1,12 @@ +enabled: true +built_in_css: true +refresh_prevention: false +files: + multiple: false # To allow multiple files, default is single + limit: 10 # Number of allowed files per field (multiple required) + filesize: 5 # Maximum file size allowed (in MB) + destination: 'self@' # Where to upload the files (path and self@, page@, theme@) + avoid_overwriting: false # Prevent files with the same name to be overridden. Date prefix will be added + random_name: false # Generate a random 15 long string name for the uploaded files + accept: # List of mime/types or file extensions allowed (ie, image/*,.zip,.mp4) + - image/* diff --git a/sandbox/grav/user/plugins/form/gulpfile.js b/sandbox/grav/user/plugins/form/gulpfile.js new file mode 100644 index 0000000000..270824c7db --- /dev/null +++ b/sandbox/grav/user/plugins/form/gulpfile.js @@ -0,0 +1,53 @@ +'use strict'; + +var gulp = require('gulp'), + util = require('util'), + path = require('path'), + immutable = require('immutable'), + gulpWebpack = require('gulp-webpack'), + webpack = require('webpack'), + sourcemaps = require('gulp-sourcemaps'), + exec = require('child_process').execSync, + pwd = exec('pwd').toString(); + +var plugins = {}, + base = immutable.fromJS(require('./webpack.conf.js')), + options = { + prod: base.mergeDeep({ + devtool: 'source-map', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { NODE_ENV: '"production"' } + }), + new webpack.optimize.UglifyJsPlugin({ + sourceMap: true, + compress: { + warnings: false + } + }), + new webpack.ProvidePlugin(plugins) + ], + output: { + filename: 'form.min.js' + } + }) + }; + +var compileJS = function(watch) { + var prodOpts = options.prod.set('watch', watch); + + return gulp.src('app/main.js') + .pipe(gulpWebpack(prodOpts.toJS())) + .pipe(gulp.dest('assets/')); +}; + +gulp.task('js', function() { + compileJS(false); +}); + +gulp.task('watch', function() { + compileJS(true); +}); + +gulp.task('all', ['js']); +gulp.task('default', ['all']); \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/hebe.json b/sandbox/grav/user/plugins/form/hebe.json new file mode 100644 index 0000000000..861d235ba1 --- /dev/null +++ b/sandbox/grav/user/plugins/form/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-form", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/form" + } + ] + } + } + } +} diff --git a/sandbox/grav/user/plugins/form/languages.yaml b/sandbox/grav/user/plugins/form/languages.yaml new file mode 100644 index 0000000000..eca11bd35b --- /dev/null +++ b/sandbox/grav/user/plugins/form/languages.yaml @@ -0,0 +1,266 @@ +en: + PLUGIN_FORM: + NOT_VALIDATED: "Form not validated. One or more required fields are missing." + NONCE_NOT_VALIDATED: "Oops there was a problem, please check your input and submit the form again." + FILES: "Files Upload" + FORM_ALREADY_SUBMITTED: "This form has already been submitted." + ALLOW_MULTIPLE: "Allow More than one file" + ALLOW_MULTIPLE_HELP: "Allows to select more than one file for upload." + DESTINATION: "Destination" + DESTINATION_HELP: "The location where the files should be uploaded to" + ACCEPT: "Allowed MIME Types" + ACCEPT_HELP: "A list of MIME Types that are allowed for upload" + ERROR_VALIDATING_CAPTCHA: "Error validating the Captcha" + DATA_SUMMARY: "Here is the summary of what you wrote to us:" + NO_FORM_DATA: "No form data available" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "For more info visit https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "For more info visit https://developers.google.com/recaptcha" + GENERAL: "General" + USE_BUILT_IN_CSS: "Use built-in CSS" + FILEUPLOAD_PREVENT_SELF: 'Cannot use "%s" outside of pages.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Unable to upload file %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Unable to move file %s to "%s"' + DROPZONE_CANCEL_UPLOAD: 'Cancel upload' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Are you sure you want to cancel this upload?' + DROPZONE_DEFAULT_MESSAGE: 'Drop your files here or click in this area' + DROPZONE_FALLBACK_MESSAGE: 'Your browser does not support drag and drop file uploads.' + DROPZONE_FALLBACK_TEXT: 'Please use the fallback form below to upload your files like in the olden days.' + DROPZONE_FILE_TOO_BIG: 'File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "You can't upload files of this type." + DROPZONE_MAX_FILES_EXCEEDED: "You can not upload any more files." + DROPZONE_REMOVE_FILE: "Remove file" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Are you sure you want to delete this file?' + DROPZONE_RESPONSE_ERROR: "Server responded with {{statusCode}} code." + YES: "Yes" + NO: "No" + REFRESH_PREVENTION: "Refresh prevention" + REFRESH_PREVENTION_HELP: "Use the form's unique ID to ensure the same form is not reprocessed when refreshing the browser" + +de: + PLUGIN_FORM: + NOT_VALIDATED: "Formularwerte nicht gültig. Für ein oder mehrere erforderliche Felder fehlen Werte." + NONCE_NOT_VALIDATED: "Ups, es gibt da ein Problem. Eingabewerte bitte noch mal prüfen und das Formular erneut absenden." + FILES: "Dateien hochladen" + ALLOW_MULTIPLE: "Erlaube mehr als eine Datei" + ALLOW_MULTIPLE_HELP: "Erlaubt es, mehr als eine Datei zum Hochladen auszuwählen." + DESTINATION: "Ziel" + DESTINATION_HELP: "Das Ziel, wohin die Dateien hochgeladen werden sollen." + ACCEPT: "Erlaube MIME-Typen" + ACCEPT_HELP: "Eine Liste von MIME-Typen, die hochgeladen werden dürfen." + ERROR_VALIDATING_CAPTCHA: "Die Überprüfung des Captcha ist fehlgeschlagen." + +es: + PLUGIN_FORM: + NOT_VALIDATED: "Falló la validación del formulario. Uno o más campos obligatorios no fueron cubiertos." + NONCE_NOT_VALIDATED: "Oops, hay un problema, por favor revise la información e intente enviar el formulario otra vez." + FILES: "Subida de Ficheros" + ALLOW_MULTIPLE: "Permitir más de un fichero" + ALLOW_MULTIPLE_HELP: "Permitir seleccionar más de un fichero para subir." + DESTINATION: "Destino" + DESTINATION_HELP: "El lugar de destino al que subir los ficheros" + ACCEPT: "MIME Types permitidos" + ACCEPT_HELP: "Una lista de MIME Types que se permiten subir." + ERROR_VALIDATING_CAPTCHA: "Error al comprobar el Captcha" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Para más información visita https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "Para más información visita https://developers.google.com/recaptcha" + +fr: + PLUGIN_FORM: + NOT_VALIDATED: "Formulaire non validé. Un ou plusieurs champs obligatoires sont manquants." + NONCE_NOT_VALIDATED: "Oups, un problème est survenu. Veuillez vérifier votre saisie et soumettre à nouveau le formulaire." + FILES: "Fichiers chargés" + ALLOW_MULTIPLE: "Autoriser plus d'un fichier" + ALLOW_MULTIPLE_HELP: "Permet la sélection de plusieurs fichiers pour chargement." + DESTINATION: "Destination" + DESTINATION_HELP: "L'emplacement où les fichiers doivent être chargés." + ACCEPT: "Autoriser les Types MIME" + ACCEPT_HELP: "Liste des Types MIME autorisés au chargement" + ERROR_VALIDATING_CAPTCHA: "Erreur lors de la validation du Captcha" + DATA_SUMMARY: "Voici le résumé de ce que vous nous avez écrit :" + NO_FORM_DATA: "Aucune donnée de formulaire disponible" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Clé du site" + RECAPTCHA_SITE_KEY_HELP: "Pour plus d'informations veuillez vous rendre sur https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Clé secrète" + RECAPTCHA_SECRET_KEY_HELP: "Pour plus d'informations veuillez vous rendre sur https://developers.google.com/recaptcha" + GENERAL: "Général" + USE_BUILT_IN_CSS: "Utiliser les CSS natifs" + FILEUPLOAD_PREVENT_SELF: "Impossible d'utiliser '%s' en dehors des pages." + FILEUPLOAD_UNABLE_TO_UPLOAD: "Impossible de charger le fichier %s: %s" + FILEUPLOAD_UNABLE_TO_MOVE: 'Impossible de déplacer le fichier %s vers "%s"' + DROPZONE_CANCEL_UPLOAD: "Annuler le chargement" + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: "Êtes-vous certain de vouloir annuler ce téléchargement ?" + DROPZONE_DEFAULT_MESSAGE: "Glissez vos fichiers ici ou cliquez dans cette zone" + DROPZONE_FALLBACK_MESSAGE: "Votre navigateur ne prend pas en charge les téléchargements par glissé-déposé." + DROPZONE_FALLBACK_TEXT: "Veuillez utiliser le formulaire de secours ci-dessous pour transférer vos fichiers." + DROPZONE_FILE_TOO_BIG: "Le fichier est trop volumineux ({{filesize}}MiB). Taille maximale de fichier : {{maxFilesize}}MiB." + DROPZONE_INVALID_FILE_TYPE: "Vous ne pouvez pas charger des fichiers de ce type." + DROPZONE_MAX_FILES_EXCEEDED: "Vous ne pouvez plus télécharger de fichiers." + DROPZONE_REMOVE_FILE: "Supprimer le fichier" + DROPZONE_REMOVE_FILE_CONFIRMATION: "Êtes-vous sûr de vouloir supprimer ce fichier ?" + DROPZONE_RESPONSE_ERROR: "Le serveur a répondu avec le code {{statusCode}}." + +ru: + PLUGIN_FORM: + NOT_VALIDATED: "Форма не подтверждена. Отсутствует одно или несколько обязательных полей." + NONCE_NOT_VALIDATED: "Упс, у вас возникла проблема, проверьте свои данные и отправьте форму еще раз." + FILES: "Загрузка файлов" + ALLOW_MULTIPLE: "Разрешить несколько файлов" + ALLOW_MULTIPLE_HELP: "Позволяет выбрать более одного файла для загрузки." + DESTINATION: "Место назначения" + DESTINATION_HELP: "Место, куда файлы должны быть загружены в" + ACCEPT: "Разрешенные MIME типы" + ACCEPT_HELP: "Список MIME типов, разрешенных для загрузки" + ERROR_VALIDATING_CAPTCHA: "Ошибка проверки Captcha" + DATA_SUMMARY: "Вот краткое изложение того, что вы нам написали:" + NO_FORM_DATA: "Данные формы отсутствуют" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Для получения дополнительной информации посетите https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "Для получения дополнительной информации посетите https://developers.google.com/recaptcha" + GENERAL: "Общие" + USE_BUILT_IN_CSS: "Использовать встроенный CSS" + FILEUPLOAD_PREVENT_SELF: 'Нельзя использовать "%s" за пределами страниц.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Не удалось загрузить файл %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Не удалось переместить файл %s в "%s"' + DROPZONE_CANCEL_UPLOAD: 'Отменить загрузку' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Вы действительно хотите отменить эту загрузку?' + DROPZONE_DEFAULT_MESSAGE: 'Бросьте свои файлы сюда или щелкните в этой области' + DROPZONE_FALLBACK_MESSAGE: 'Ваш браузер не поддерживает загрузку файлов с перетаскиванием.' + DROPZONE_FALLBACK_TEXT: 'Пожалуйста, используйте приведенную ниже форму для загрузки ваших файлов, как в старые времена.' + DROPZONE_FILE_TOO_BIG: 'Файл слишком большой ({{filesize}}мб). Максимальный размер файла: {{maxFilesize}}мб.' + DROPZONE_INVALID_FILE_TYPE: "Вы не можете загружать файлы этого типа." + DROPZONE_MAX_FILES_EXCEEDED: "Вы не можете загружать больше файлов." + DROPZONE_REMOVE_FILE: "Удалить файл" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Вы действительно хотите удалить этот файл?' + DROPZONE_RESPONSE_ERROR: "Сервер ответил кодом {{statusCode}}." + YES: "Да" + NO: "Нет" + +hr: + PLUGIN_FORM: + NOT_VALIDATED: "Formular nije validiran. Jedan ili više traženih polja nedostaju." + NONCE_NOT_VALIDATED: "Ups, došlo je do problema, molimo provjerite svoj unos i pokušajte opet." + FILES: "Upload Fajlova" + ALLOW_MULTIPLE: "Dopusti više od jednog fajla" + DESTINATION: "Destinacija" + DESTINATION_HELP: "Lokacija gdje bi fajlovi trebali biti uploadani" + ACCEPT: "Dopušteni MIME Tipovi" + ACCEPT_HELP: "Lista dopuštenih MIME Tipova koji su dozvoljeni za upload" + ERROR_VALIDATING_CAPTCHA: "Greška pri validiranju Captcha" + +hu: + PLUGIN_FORM: + NOT_VALIDATED: "Érvénytelen az űrlap. Egy vagy több kötelező mező nincs kitöltve." + NONCE_NOT_VALIDATED: "Upsz, van egy kis probléma, kérlek nézd át az űrlapot, majd küldd el újra." + FILES: "Fájlok Feltöltése" + ALLOW_MULTIPLE: "Több fájl feltöltése" + ALLOW_MULTIPLE_HELP: "Engedélyezi egyszerre több állomány feltöltését." + DESTINATION: "Feltöltés Helye" + DESTINATION_HELP: "Ide lesznek feltöltve az állományok" + ACCEPT: "Engedélyezett MIME-típusok" + ACCEPT_HELP: "A feltölthető állományok MIME-típusainak listája" + ERROR_VALIDATING_CAPTCHA: "Hiba lépett fel a Captcha validálása során" + +it: + PLUGIN_FORM: + NOT_VALIDATED: "Il Form risulta invalido. Uno o più campi risultano omessi." + NONCE_NOT_VALIDATED: "Oops è stato riscontrato un errore, si prega di ricontrollare i dati inseriti e provare di nuovo." + FILES: "Invio dei Files" + ALLOW_MULTIPLE: "Consenti più di un file" + ALLOW_MULTIPLE_HELP: "Permette la selezione di più di un file per l'upload" + DESTINATION: "Destinazione" + DESTINATION_HELP: "La destinazione dove i files vengono uploadati" + ACCEPT: "Tipi di MIME Concessi" + ACCEPT_HELP: "Una lista di tipi di MIME che sono permessi per l'upload" + ERROR_VALIDATING_CAPTCHA: "Errore durante la validazione del Captcha" + DATA_SUMMARY: "Ecco il riassunto di ciò che ci hai scritto:" + NO_FORM_DATA: "Nessuna informazione disponibile" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Per maggiori informazioni visita https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Chiave segreta" + RECAPTCHA_SECRET_KEY_HELP: "Per maggiori informazioni visita https://developers.google.com/recaptcha" + GENERAL: "Generale" + USE_BUILT_IN_CSS: "Usa CSS incorporato" + FILEUPLOAD_PREVENT_SELF: 'Non si può usare "%s" fuori dalle pagine.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Impossibile caricare il file %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Impossibile muovere il file %s to "%s"' + DROPZONE_CANCEL_UPLOAD: 'Trasferimento annullato' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Sei sicuro di voler cancellare questo trasferimento?' + DROPZONE_DEFAULT_MESSAGE: "Trascina qui i tuoi file o clicca su quest'area" + DROPZONE_FALLBACK_MESSAGE: 'Il tuo browser non supporta il trascinamento dei file per il trasferimento.' + DROPZONE_FALLBACK_TEXT: 'Utilizza il modulo di riserva qui sotto per caricare i tuoi file come ai vecchi tempi.' + DROPZONE_FILE_TOO_BIG: 'Il file è troppo grande ({{filesize}}MiB). Dimensione massima consentita: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "Non puoi caricare questo tipo di file" + DROPZONE_MAX_FILES_EXCEEDED: "Non puoi caricare ulteriori file, hai raggiunto il limite consentito." + DROPZONE_REMOVE_FILE: "Rimuovi il file" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Sei sicuro di voler eliminare questo file??' + DROPZONE_RESPONSE_ERROR: "Il Server ha risposto con il codice {{statusCode}}." + YES: "Si" + NO: "No" + +ro: + PLUGIN_FORM: + NOT_VALIDATED: "Formularul nu a fost validat. Unul sau mai multe câmpuri sunt goale." + NONCE_NOT_VALIDATED: "Oops a apărut o problemă, vă rugăm verificați datele introduse și trimiteți formularul din nou." + FILES: "Încărcare fișiere" + ALLOW_MULTIPLE: "Permiteți mai multe fișiere" + ALLOW_MULTIPLE_HELP: "Vă permite să selectați mai multe fișiere pentru încărcare." + DESTINATION: "Destinație" + DESTINATION_HELP: "Locația unde vor fi încărcate fișierele." + ACCEPT: "Permite tipuri MIME " + ACCEPT_HELP: "O listă cu tipuri MIME care sunt permise la încărcare." + ERROR_VALIDATING_CAPTCHA: "Eroare la validarea Captcha." + DATA_SUMMARY: "Mai jos aveți un rezumat al mesajului pe care ni l-ați trimis:" + NO_FORM_DATA: "Nu e disponibilă nici o dată pentru formular" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Cheia pentru Site" + RECAPTCHA_SITE_KEY_HELP: "Pentru mai multe detalii vă rugăm vizitați https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Cheia secretă pentru Site" + RECAPTCHA_SECRET_KEY_HELP: "Pentru mai multe detalii vă rugăm vizitați https://developers.google.com/recaptcha" + +cs: + PLUGIN_FORM: + NOT_VALIDATED: "Formulář nebyl ověřen. Chybí jedno nebo více povinných polí." + NONCE_NOT_VALIDATED: "Jejda, došlo k problému, zkontrolujte vstupní stránku a znovu odešlete formulář." + FILES: "Nahrávání souborů" + ALLOW_MULTIPLE: "Povolit více než jeden soubor" + ALLOW_MULTIPLE_HELP: "Umožňuje vybrat více než jeden soubor pro nahrání." + DESTINATION: "Cílové umístění" + DESTINATION_HELP: "Místo, kam mají být soubory nahrány" + ACCEPT: "Povolené MIME typy" + ACCEPT_HELP: "Seznam MIME typů souborů povolených pro upload" + ERROR_VALIDATING_CAPTCHA: "Nepodařilo se ověřit CAPTCHA (kontrola proti spamu)" + DATA_SUMMARY: "Shrnutí toho, co jste nám napsali:" + NO_FORM_DATA: "Formulář neobsahuje žádná data" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Více informací https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "Více informací https://developers.google.com/recaptcha" + GENERAL: "Všeobecné" + USE_BUILT_IN_CSS: "Použít built-in CSS" + FILEUPLOAD_PREVENT_SELF: 'Nelze použít "% s" mimo stránky.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Nelze nahrát soubor %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Nelze přesunout soubor %s do "%s"' + DROPZONE_CANCEL_UPLOAD: 'Zrušit upload' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Opravdu chcete zrušit nahrávání souboru?' + DROPZONE_DEFAULT_MESSAGE: 'Přetáhněte sem soubory nebo klikněte v tomto prostoru' + DROPZONE_FALLBACK_MESSAGE: 'Váš prohlížeč nepodporuje nahrávání souborů táhni a pusť.' + DROPZONE_FALLBACK_TEXT: 'Použijte níže uvedený formulář pro nahrání souborů, jako v minulých dnech.' + DROPZONE_FILE_TOO_BIG: 'Soubor je příliš velký ({{filesize}}MiB). Max. velikost souboru: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "Nelze nahrát soubory tohoto typu." + DROPZONE_MAX_FILES_EXCEEDED: "Nelze nahrát další soubory." + DROPZONE_REMOVE_FILE: "Odstranit soubor" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Opravdu chcete tento soubor smazat?' + DROPZONE_RESPONSE_ERROR: "Server vrátil chybový kód: {{statusCode}}." + YES: "Ano" + NO: "Ne" diff --git a/sandbox/grav/user/plugins/form/package.json b/sandbox/grav/user/plugins/form/package.json new file mode 100644 index 0000000000..82b6604ef3 --- /dev/null +++ b/sandbox/grav/user/plugins/form/package.json @@ -0,0 +1,35 @@ +{ + "name": "grav-plugin-form", + "version": "1.0.0", + "description": "Grav Plugin Form", + "repository": "https://github.com/getgrav/grav-plugin-form", + "main": "app/main.js", + "scripts": { + "watch": "webpack --watch --progress --colors --config webpack.conf.js", + "dev": "webpack --progress --colors --config webpack.conf.js", + "prod": "NODE_ENV=production webpack -p --config webpack.conf.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "RocketTheme, LLC", + "license": "MIT", + "dependencies": { + "dropzone": "^4.3.0" + }, + "devDependencies": { + "babel-core": "^6.14.0", + "babel-loader": "^6.2.5", + "babel-polyfill": "^6.13.0", + "babel-preset-es2015": "^6.24.1", + "eslint": "^3.4.0", + "eslint-loader": "^1.5.0", + "exports-loader": "^0.6.3", + "gulp": "^3.9.1", + "gulp-sourcemaps": "^1.6.0", + "gulp-util": "^3.0.8", + "gulp-webpack": "^1.5.0", + "immutable": "^3.8.1", + "imports-loader": "^0.6.5", + "json-loader": "^0.5.4", + "webpack": "^1.13.2" + } +} diff --git a/sandbox/grav/user/plugins/form/templates/form-messages.html.twig b/sandbox/grav/user/plugins/form/templates/form-messages.html.twig new file mode 100644 index 0000000000..cd5e49a3d1 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/form-messages.html.twig @@ -0,0 +1 @@ +{% include 'partials/form-messages.html.twig' %} diff --git a/sandbox/grav/user/plugins/form/templates/form-messages.json.twig b/sandbox/grav/user/plugins/form/templates/form-messages.json.twig new file mode 100644 index 0000000000..71866c7fa9 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/form-messages.json.twig @@ -0,0 +1,2 @@ +{% set message = form.inline_errors and form.messages ? "FORM.VALIDATION_FAIL"|t : form.message %} +{{ {'message':message, 'color':form.message_color}|json_encode|raw }} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/form.html.twig b/sandbox/grav/user/plugins/form/templates/form.html.twig new file mode 100644 index 0000000000..3523d0651f --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/form.html.twig @@ -0,0 +1,8 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + + {{ content|raw }} + {% include "forms/form.html.twig" %} + +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/form.json.twig b/sandbox/grav/user/plugins/form/templates/form.json.twig new file mode 100644 index 0000000000..f6ba33fc12 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/form.json.twig @@ -0,0 +1 @@ +{% extends 'forms/ajax.json.twig' %} diff --git a/sandbox/grav/user/plugins/form/templates/formdata.html.twig b/sandbox/grav/user/plugins/form/templates/formdata.html.twig new file mode 100644 index 0000000000..16ceb8891c --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/formdata.html.twig @@ -0,0 +1,21 @@ +{% extends 'partials/base.html.twig' %} + +{% if form is null %} + {% set form = grav.session.getFlashObject('form') %} +{% endif %} + +{% block content %} + {{ content|raw }} + + {% if form %} + {% if form.message %} +

    {{ form.message|raw }}

    + {% endif %} +

    {{ 'PLUGIN_FORM.DATA_SUMMARY'|t }}

    + + {% include "forms/data.html.twig" %} + {% else %} +

    {{ 'PLUGIN_FORM.NO_FORM_DATA'|t }}

    + {% endif %} + +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/ajax.json.twig b/sandbox/grav/user/plugins/form/templates/forms/ajax.json.twig new file mode 100644 index 0000000000..ccec039023 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/ajax.json.twig @@ -0,0 +1,5 @@ +{% if form_json_response %} +{{ form_json_response|json_encode|raw }} +{% else %} +{} +{% endif %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/data.html.twig b/sandbox/grav/user/plugins/form/templates/forms/data.html.twig new file mode 100644 index 0000000000..9cb16c23b4 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/data.html.twig @@ -0,0 +1 @@ +{% extends "forms/default/data.html.twig" %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/data.txt.twig b/sandbox/grav/user/plugins/form/templates/forms/data.txt.twig new file mode 100644 index 0000000000..c647832fc1 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/data.txt.twig @@ -0,0 +1 @@ +{% extends "forms/default/data.txt.twig" %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/default/data.html.twig b/sandbox/grav/user/plugins/form/templates/forms/default/data.html.twig new file mode 100644 index 0000000000..d11ef3b1d4 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/default/data.html.twig @@ -0,0 +1,39 @@ +{% macro render_field(form, fields) %} + {% for index, field in fields %} + {% set input = attribute(field, "input@") %} + {% if input is null or input == true %} + {% if form.value(field.name) %} + {% block field %} +
    + {% block field_label %} + {{ field.label|t|e }}: + {% endblock %} + + {% block field_value %} + {% if field.type == 'checkboxes' %} +
      + {% for value in form.value(field.name) %} +
    • {{ field.options[value]|e }}
    • + {% endfor %} +
    + {% elseif field.type == 'checkbox' %} + {{ (form.value(field.name) == 1) ? "PLUGIN_FORM.YES"|t|e : "PLUGIN_FORM.NO"|t|e }} + {% elseif field.type == 'select' %} + {{ field.options[form.value(field.name)]|e }} + {% else %} + {{ string(form.value(field.name))|nl2br }} + {% endif %} + {% endblock %} +
    + {% endblock %} + {% endif %} + {% else %} + {% if field.fields %} + {{ _self.render_field(form, field.fields) }} + {% endif %} + {% endif %} + {% endfor %} +{% endmacro %} + +{{ _self.render_field(form, form.fields) }} + diff --git a/sandbox/grav/user/plugins/form/templates/forms/default/data.txt.twig b/sandbox/grav/user/plugins/form/templates/forms/default/data.txt.twig new file mode 100644 index 0000000000..0b03704daf --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/default/data.txt.twig @@ -0,0 +1,16 @@ +{%- macro render_field(form, fields) %} +{%- for index, field in fields %} + {%- set input = attribute(field, "input@") %} + {%- if input is null or input == true %} + {%- set value = form.value(field.name ?? index) %} + {{- field.name ?? index }}: {{ string((value is iterable ? value|json_encode : value)) ~ "\r\n" }} + {%- else %} + {%- if field.fields %} + {{- _self.render_field(form, field.fields) }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- endmacro %} +{%- autoescape false %} +{{- _self.render_field(form, form.fields) ~ "\r\n" }} +{%- endautoescape %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/default/field.html.twig b/sandbox/grav/user/plugins/form/templates/forms/default/field.html.twig new file mode 100644 index 0000000000..c708cf8020 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/default/field.html.twig @@ -0,0 +1,81 @@ +{% set originalValue = originalValue is defined ? originalValue : value %} +{% set toggleableChecked = field.toggleable and (originalValue is not null and originalValue is not empty) %} +{% set isDisabledToggleable = field.toggleable and not toggleableChecked %} +{% set value = (is_object(value) or value is null ? field.default : value) %} +{% set errors = attribute(form.messages, field.name) %} + +{% block field %} +
    + {% block contents %} + {% if field.label is not same as(false) %} +
    + +
    + {% endif %} +
    + {% block group %} + {% block input %} +
    + {% block prepend %}{% endblock prepend %} + + {% block append %}{% endblock append %} + {% if form.inline_errors and errors %} +
    + {% for error in errors %} +

    {{ error }}

    + {% endfor %} +
    + {% endif %} +
    + {% endblock %} + {% endblock %} + {% if field.description %} +
    + {{ field.description|raw }} +
    + {% endif %} + +
    + {% endblock %} +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/default/form.html.twig b/sandbox/grav/user/plugins/form/templates/forms/default/form.html.twig new file mode 100644 index 0000000000..e0bf328ce9 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/default/form.html.twig @@ -0,0 +1,82 @@ +{% if form is null %} + {% set form = grav.session.getFlashObject('form') %} +{% endif %} + +{% include 'partials/form-messages.html.twig' %} + +{% set scope = scope ?: 'data.' %} +{% set multipart = '' %} +{% set method = form.method|upper|default('POST') %} + +{% for field in form.fields %} + {% if (method == 'POST' and field.type == 'file') %} + {% set multipart = ' enctype="multipart/form-data"' %} + {% endif %} +{% endfor %} + +{% set action = form.action ? base_url ~ form.action : base_url ~ page.route ~ uri.params %} + +{% if (action == base_url_relative) %} + {% set action = base_url_relative ~ '/' ~ page.slug %} +{% endif %} + +
    + + {% block inner_markup_fields_start %}{% endblock %} + + {% for field in form.fields %} + {% if field.type == 'file' %} + {% do assets.addJs('plugin://form/assets/form.min.js') %} + {% endif %} + {% set value = form.value(field.name) %} + {% include "forms/fields/#{field.type}/#{field.type}.html.twig" ignore missing %} + {% endfor %} + + {% include "forms/fields/formname/formname.html.twig" %} + + {% block inner_markup_fields_end %}{% endblock %} + + {% block inner_markup_buttons_start %} +
    + {% endblock %} + + {% for button in form.buttons %} + {% if button.outerclasses is defined %}
    {% endif %} + {% if button.url %} + + {% endif %} + + {% if button.url %} + + {% endif %} + {% if button.outerclasses is defined %}
    {% endif %} + {% endfor %} + + {% block inner_markup_buttons_end %} +
    + {% endblock %} + + {% include 'forms/fields/uniqueid/uniqueid.html.twig' %} + {{ nonce_field('form', 'form-nonce')|raw }} +
    diff --git a/sandbox/grav/user/plugins/form/templates/forms/field.html.twig b/sandbox/grav/user/plugins/form/templates/forms/field.html.twig new file mode 100644 index 0000000000..447d959bb9 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/field.html.twig @@ -0,0 +1 @@ +{% extends "forms/default/field.html.twig" %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig new file mode 100644 index 0000000000..33862880cd --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig @@ -0,0 +1,5 @@ +{% if form.data.avatar %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig new file mode 100644 index 0000000000..5f31820566 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig @@ -0,0 +1,32 @@ +{% extends "forms/field.html.twig" %} + +{% block input %} + + +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig new file mode 100644 index 0000000000..f7b53ce5c5 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig @@ -0,0 +1,29 @@ +{% extends "forms/field.html.twig" %} + +{% block label %} +{% endblock %} + +{% block input %} +
    + + + +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.yaml b/sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.yaml new file mode 100644 index 0000000000..b407144624 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/checkbox/checkbox.yaml @@ -0,0 +1,11 @@ +field: + checkbox: + node: boolean + key: name + fields: + name: + type: text + validation: + required: true + value: + type: text diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig new file mode 100644 index 0000000000..0c427ae959 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig @@ -0,0 +1,42 @@ +{% extends "forms/field.html.twig" %} + +{% set originalValue = value %} +{% set value = (value is null ? field.default : value) %} +{% if field.use == 'keys' and field.default %} + {% set value = field.default|merge(value) %} +{% endif %} + +{% block global_attributes %} + {{ parent() }} + data-grav-keys="{{ field.use == 'keys' ? 'true' : 'false' }}" + data-grav-field-name="{{ (scope ~ field.name)|fieldName }}" +{% endblock %} + +{% block input %} + {% for key, text in field.options %} + + {% set id = field.id|default(field.name) ~ '-' ~ key %} + {% set name = field.use == 'keys' ? key : id %} + {% set val = field.use == 'keys' ? '1' : key %} + {% set checked = (field.use == 'keys' ? value[key] : key in value) %} + {% set help = (key in field.help_options|keys ? field.help_options[key] : false) %} + + + + + + {% endfor %} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/color/color.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/color/color.html.twig new file mode 100644 index 0000000000..b0c1f602ab --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/color/color.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="color" + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/column/column.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/column/column.html.twig new file mode 100644 index 0000000000..970bcd043e --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/column/column.html.twig @@ -0,0 +1,10 @@ +{% if field.fields %} +
    + {% for field in field.fields %} + {% if field.type %} + {% set value = form.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +
    +{% endif %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/columns/columns.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/columns/columns.html.twig new file mode 100644 index 0000000000..360fea25ad --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/columns/columns.html.twig @@ -0,0 +1,10 @@ +
    +{% if field.fields %} + {% set cols = field.fields|length %} + {% for field in field.fields %} + {% set value = form.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/column/column.html.twig'] with {'cols':cols} %} + {% endfor %} +{% endif %} +
    + diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig new file mode 100644 index 0000000000..bd333d09b4 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig @@ -0,0 +1,22 @@ +{% set value = evaluate(field.condition) %} +{% set value = value == 'true' ? 1 : value %} +{% set value = value == 'false' ? 0 : value %} + +{% if value %} + {% if field.classes %} +
    + {% endif %} + + {% if field.fields %} + {% for field in field.fields %} + {% if field.type %} + {% set value = data.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} + {% endif %} + + {% if field.classes %} +
    + {% endif %} +{% endif %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/date/date.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/date/date.html.twig new file mode 100644 index 0000000000..4e42985c50 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/date/date.html.twig @@ -0,0 +1,8 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="date" + {% if field.validate.min %}min="{{ field.validate.min }}"{% endif %} + {% if field.validate.max %}max="{{ field.validate.max }}"{% endif %} + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig new file mode 100644 index 0000000000..dd8e4cee93 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig @@ -0,0 +1,2 @@ +{# DEPRECATED. Switched to Text field until implemented properly #} +{% extends "forms/fields/text/text.html.twig" %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/display/display.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/display/display.html.twig new file mode 100644 index 0000000000..bc0eb76ce7 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/display/display.html.twig @@ -0,0 +1,19 @@ +{% extends "forms/field.html.twig" %} + +{% block input %} +
    + {% if field.markdown %} + {% if grav.twig.twig.filters['tu'] is defined %} + {{ field.content|tu|markdown|raw }} + {% else %} + {{ field.content|t|markdown|raw }} + {% endif %} + {% else %} + {% if grav.twig.twig.filters['tu'] is defined %} + {{ field.content|tu|raw }} + {% else %} + {{ field.content|t|raw }} + {% endif %} + {% endif %} +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/email/email.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/email/email.html.twig new file mode 100644 index 0000000000..aa33dcf824 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/email/email.html.twig @@ -0,0 +1,7 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="email" + {% if field.multiple in ['on', 'true', 1] %}multiple="multiple"{% endif %} + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig new file mode 100644 index 0000000000..b934e231cf --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig @@ -0,0 +1,14 @@ +
    +{% if field.legend %} + {% if grav.twig.twig.filters['tu'] is defined %}{{ field.legend|tu }}{% else %}{{ field.legend|t }}{% endif %} +{% endif %} + +{% if field.fields %} + {% for field in field.fields %} + {% if field.type %} + {% set value = form.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +{% endif %} +
    \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/file/file.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/file/file.html.twig new file mode 100644 index 0000000000..d237f72b13 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/file/file.html.twig @@ -0,0 +1,105 @@ +{% extends "forms/field.html.twig" %} +{% set defaults = config.plugins.form %} +{% set files = defaults.files|merge(field|default([])) %} +{% set limit = not field.multiple ? 1 : files.limit %} + +{% macro bytesToSize(bytes) -%} + {% spaceless %} + {% set kilobyte = 1024 %} + {% set megabyte = kilobyte * 1024 %} + {% set gigabyte = megabyte * 1024 %} + {% set terabyte = gigabyte * 1024 %} + + {% if bytes < kilobyte %} + {{ bytes ~ ' B' }} + {% elseif bytes < megabyte %} + {{ (bytes / kilobyte)|number_format(2, '.') ~ ' KB' }} + {% elseif bytes < gigabyte %} + {{ (bytes / megabyte)|number_format(2, '.') ~ ' MB' }} + {% elseif bytes < terabyte %} + {{ (bytes / gigabyte)|number_format(2, '.') ~ ' GB' }} + {% else %} + {{ (bytes / terabyte)|number_format(2, '.') ~ ' TB' }} + {% endif %} + {% endspaceless %} +{%- endmacro %} + +{% macro preview(path, value, global) %} + {% if value %} + {% set uri = global.grav.uri %} + {% set files = global.files %} + {% set config = global.grav.config %} + {% set route = global.context.route() %} + {% set type = global.context.content() is not null ? 'pages' : global.plugin ? 'plugins' : global.theme ? 'themes' : 'config' %} + {% set blueprint_name = global.blueprints.getFilename %} + {% if type == 'pages' %} + {% set blueprint_name = type ~ '/' ~ blueprint_name %} + {% endif %} + {% set blueprint = base64_encode(blueprint_name) %} + {% set real_path = global.form.getPagePathFromToken(path) %} + {% set remove = uri.addNonce(global.base_url_relative ~ + '/media.json' ~ + '/route' ~ config.system.param_sep ~ base64_encode(global.base_path ~ '/' ~ real_path) ~ + '/task' ~ config.system.param_sep ~ 'removeFileFromBlueprint' ~ + '/proute' ~ config.system.param_sep ~ base64_encode(route) ~ + '/blueprint' ~ config.system.param_sep ~ blueprint ~ + '/type' ~ config.system.param_sep ~ type ~ + '/field' ~ config.system.param_sep ~ files.name ~ + '/path' ~ config.system.param_sep ~ base64_encode(value.path), 'admin-form', 'admin-nonce') %} + + {% set file = value|merge({remove: remove, path: (uri.rootUrl == '/' ? '/' : uri.rootUrl ~ '/' ~ real_path) }) %} + + {% endif %} +{% endmacro %} + +{% block input %} + {% set page_can_upload = exists or (type == 'page' and not exists and not (field.destination starts with '@self' or field.destination starts with 'self@')) %} + + {% set settings = {name: field.name, paramName: (scope ~ field.name)|fieldName ~ (files.multiple ? '[]' : ''), limit: limit, filesize: files.filesize, accept: files.accept} %} +
    + + + {% for path, file in value %} + {{ _self.preview(path, file, _context) }} + {% endfor %} + {% include 'forms/fields/hidden/hidden.html.twig' with {field: {name: '_json.' ~ field.name}, value:value|json_encode|e('html_attr')} %} +
    + + {% do assets.addJs('jquery', 101) %} + {% do assets.addJs('plugin://form/assets/form.min.js', { 'group': 'bottom', 'loading': 'defer' }) %} + {% do assets.addCss('plugin://form/assets/dropzone.min.css', { 'group': 'form' }) %} + {{ assets.css('form')|raw }} + {% do assets.addInlineJs(" + window.GravForm = window.GravForm || {}; + window.GravForm.config = { + current_url: '" ~ uri.route(true) ~"', + base_url_relative: '" ~ base_url_relative ~ "', + param_sep: '"~ config.system.param_sep ~ "', + form_nonce: '" ~ form.getNonce ~ "', + }; + window.GravForm.translations = {}; + window.GravForm.translations['PLUGIN_FORM'] = { + 'DROPZONE_CANCEL_UPLOAD': " ~ 'PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD'|t|json_encode ~ ", + 'DROPZONE_CANCEL_UPLOAD_CONFIRMATION': " ~ 'PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD_CONFIRMATION'|t|json_encode ~ ", + 'DROPZONE_DEFAULT_MESSAGE': " ~ 'PLUGIN_FORM.DROPZONE_DEFAULT_MESSAGE'|t|json_encode ~ ", + 'DROPZONE_FALLBACK_MESSAGE': " ~ 'PLUGIN_FORM.DROPZONE_FALLBACK_MESSAGE'|t|json_encode ~ ", + 'DROPZONE_FALLBACK_TEXT': " ~ 'PLUGIN_FORM.DROPZONE_FALLBACK_TEXT'|t|json_encode ~ ", + 'DROPZONE_FILE_TOO_BIG': " ~ 'PLUGIN_FORM.DROPZONE_FILE_TOO_BIG'|t|json_encode ~ ", + 'DROPZONE_INVALID_FILE_TYPE': " ~ 'PLUGIN_FORM.DROPZONE_INVALID_FILE_TYPE'|t|json_encode ~ ", + 'DROPZONE_MAX_FILES_EXCEEDED': " ~ 'PLUGIN_FORM.DROPZONE_MAX_FILES_EXCEEDED'|t|json_encode ~ ", + 'DROPZONE_REMOVE_FILE': " ~ 'PLUGIN_FORM.DROPZONE_REMOVE_FILE'|t|json_encode ~ ", + 'DROPZONE_REMOVE_FILE_CONFIRMATION': " ~ 'PLUGIN_FORM.DROPZONE_REMOVE_FILE_CONFIRMATION'|t|json_encode ~ ", + 'DROPZONE_RESPONSE_ERROR': " ~ 'PLUGIN_FORM.DROPZONE_RESPONSE_ERROR'|t|json_encode ~ " + }; + ", { 'group': 'bottom' }) %} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/formname/formname.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/formname/formname.html.twig new file mode 100644 index 0000000000..70e2bc08b8 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/formname/formname.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig new file mode 100644 index 0000000000..1c0b48188d --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig @@ -0,0 +1,3 @@ +{% set value = (value is null ? (field.evaluate ? evaluate(field.default) : field.default) : value) %} + + diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig new file mode 100644 index 0000000000..c1138b16e9 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/month/month.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/month/month.html.twig new file mode 100644 index 0000000000..36c0fc23ca --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/month/month.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="month" + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/number/number.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/number/number.html.twig new file mode 100644 index 0000000000..116c7cabb9 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/number/number.html.twig @@ -0,0 +1,9 @@ +{% extends "forms/fields/text/text.html.twig" %} + +{% block input_attributes %} + type="number" + {% if field.validate.min is defined %}min="{{ field.validate.min }}"{% endif %} + {% if field.validate.max is defined %}max="{{ field.validate.max }}"{% endif %} + {% if field.validate.step is defined %}step="{{ field.validate.step }}"{% endif %} + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/password/password.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/password/password.html.twig new file mode 100644 index 0000000000..58047e8603 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/password/password.html.twig @@ -0,0 +1,7 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="password" + class="input" + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/radio/radio.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/radio/radio.html.twig new file mode 100644 index 0000000000..76cc00a072 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/radio/radio.html.twig @@ -0,0 +1,22 @@ +{% extends "forms/field.html.twig" %} + +{% set originalValue = value %} +{% set value = (value is null ? field.default : value) %} + +{% block input %} + {% for key, text in field.options %} + {% set id = field.id|default(field.name) ~ '-' ~ key %} + + + + + + {% endfor %} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/range/range.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/range/range.html.twig new file mode 100644 index 0000000000..3b04284d5d --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/range/range.html.twig @@ -0,0 +1,9 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="range" + {% if field.validate.min %}min="{{ field.validate.min }}"{% endif %} + {% if field.validate.max %}max="{{ field.validate.max }}"{% endif %} + {% if field.validate.step %}step="{{ field.validate.step }}"{% endif %} + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/select/select.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/select/select.html.twig new file mode 100644 index 0000000000..c1b4815c46 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/select/select.html.twig @@ -0,0 +1,34 @@ +{% extends "forms/field.html.twig" %} + +{% block global_attributes %} + data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}" + {{ parent() }} +{% endblock %} + +{% block input %} +
    + +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig new file mode 100644 index 0000000000..cf75eab88d --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig @@ -0,0 +1,44 @@ +{% extends "forms/field.html.twig" %} + +{% block global_attributes %} + data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}" + {{ parent() }} +{% endblock %} + +{% block input %} +
    + +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig new file mode 100644 index 0000000000..f0a959391a --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig @@ -0,0 +1,33 @@ +
    + {% if field.title %} +

    + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.title|tu|raw -}} + {% else %} + {{- field.title|t|raw -}} + {% endif %} +

    + {% endif %} + + {% if field.markdown %} +

    + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.text|tu|markdown|raw -}} + {% else %} + {{- field.text|t|markdown|raw -}} + {% endif %} +

    + {% else %} +

    + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.text|tu|raw -}} + {% else %} + {{- field.text|t|raw -}} + {% endif %} +

    + {% endif %} + + {% if field.underline %} +
    + {% endif %} +
    diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/tel/tel.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/tel/tel.html.twig new file mode 100644 index 0000000000..68983131eb --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/tel/tel.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="tel" + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/text/text.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/text/text.html.twig new file mode 100644 index 0000000000..d6a9af3279 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/text/text.html.twig @@ -0,0 +1,37 @@ +{% extends "forms/field.html.twig" %} + +{% block prepend %} +{% if field.prepend %} +
    + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.prepend|tu|raw -}} + {% else %} + {{- field.prepend|t|raw -}} + {% endif %} +
    +{% endif %} +{% endblock %} + +{% block input_attributes %} + type="text" + {{ parent() }} +{% endblock %} + +{% block append %} + {% if field.append %} +
    + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.append|tu|raw -}} + {% else %} + {{- field.append|t|raw -}} + {% endif %} +
    + {% endif %} +{% endblock %} + +{% block input %} +{% if field.prepend or field.append %} + {% set field = field|merge({'wrapper_classes': 'form-input-addon-wrapper'}) %} +{% endif %} +{{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig new file mode 100644 index 0000000000..81ec36cf18 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig @@ -0,0 +1,27 @@ +{% extends "forms/field.html.twig" %} + +{% block input %} +
    + +
    +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/time/time.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/time/time.html.twig new file mode 100644 index 0000000000..b6bb10ecd3 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/time/time.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="time" + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig new file mode 100644 index 0000000000..417f230a5a --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/url/url.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/url/url.html.twig new file mode 100644 index 0000000000..1caae0f803 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/url/url.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="url" + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/forms/fields/week/week.html.twig b/sandbox/grav/user/plugins/form/templates/forms/fields/week/week.html.twig new file mode 100644 index 0000000000..c56f8711ff --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/fields/week/week.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="week" + {{ parent() }} +{% endblock %} diff --git a/sandbox/grav/user/plugins/form/templates/forms/form.html.twig b/sandbox/grav/user/plugins/form/templates/forms/form.html.twig new file mode 100644 index 0000000000..8f1d4670c2 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/forms/form.html.twig @@ -0,0 +1 @@ +{% extends "forms/default/form.html.twig" %} diff --git a/sandbox/grav/user/plugins/form/templates/modular/form.html.twig b/sandbox/grav/user/plugins/form/templates/modular/form.html.twig new file mode 100644 index 0000000000..3e06da56f2 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/modular/form.html.twig @@ -0,0 +1,4 @@ +
    + {{ content|raw }} + {% include "forms/form.html.twig" %} +
    \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/templates/partials/form-messages.html.twig b/sandbox/grav/user/plugins/form/templates/partials/form-messages.html.twig new file mode 100644 index 0000000000..4fd13bc631 --- /dev/null +++ b/sandbox/grav/user/plugins/form/templates/partials/form-messages.html.twig @@ -0,0 +1,5 @@ +{% if form.message %} + {% set message = form.inline_errors and form.messages ? "FORM.VALIDATION_FAIL"|t : form.message %} + +

    {{ message|raw }}

    +{% endif %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/form/webpack.conf.js b/sandbox/grav/user/plugins/form/webpack.conf.js new file mode 100644 index 0000000000..879f6008e5 --- /dev/null +++ b/sandbox/grav/user/plugins/form/webpack.conf.js @@ -0,0 +1,23 @@ +var webpack = require('webpack'), + path = require('path'), + exec = require('child_process').execSync, + pwd = exec('pwd').toString(); + +module.exports = { + entry: { + app: './app/main.js' + }, + externals: { + jquery: 'jQuery', + 'grav-form': 'GravForm' + }, + module: { + preLoaders: [ + { test: /\.json$/, loader: 'json' }, + { test: /\.js$/, loader: 'eslint', exclude: /node_modules/ } + ], + loaders: [ + { test: /\.js$/, loader: 'babel', exclude: /node_modules/, query: { presets: ['es2015'] } } + ] + } +}; diff --git a/sandbox/grav/user/plugins/login/.gitignore b/sandbox/grav/user/plugins/login/.gitignore new file mode 100644 index 0000000000..090a1f02df --- /dev/null +++ b/sandbox/grav/user/plugins/login/.gitignore @@ -0,0 +1,2 @@ +.idea +.DS_Store diff --git a/sandbox/grav/user/plugins/login/CHANGELOG.md b/sandbox/grav/user/plugins/login/CHANGELOG.md new file mode 100644 index 0000000000..ed6941e471 --- /dev/null +++ b/sandbox/grav/user/plugins/login/CHANGELOG.md @@ -0,0 +1,444 @@ +# v2.4.1 +## 09/12/2017 + +1. [](#bugfix) + * Fixed an issue with 3rd party login plugins [#130](https://github.com/getgrav/grav-plugin-login/issues/130) + +# v2.4.0 +## 09/07/2017 + +1. [](#new) + * Added the ability to have a custom route for login page, but not redirect + * Added a new `unauthorized.md` page that can be customized as needed +1. [](#improved) + * Differentiated between `authenticated` and `authorized` + * Moved rate-limiting logic to the Login class + * Much code cleanup and removing of cruft + * Updated vendor libraries + * Added Russian translation +1. [](#bugfix) + * Fixed login JSON response in case of login failure + * Fixed issue with profile form displaying on login page + * Store referrer page when trying to access Profile page + * Fixed error when logging out with an expired session + +# v2.3.2 +## 06/22/2017 + +1. [](#bugfix) + * Grav plugin cli error on password change [#120](https://github.com/getgrav/grav-plugin-login/issues/120) + +# v2.3.1 +## 05/16/2017 + +1. [](#improved) + * Added routes to the Admin blueprints + +# v2.3.0 +## 04/19/2017 + +1. [](#new) + * Added new built-in profile page support + * Added optional flood protection for password resets and login attempts [#91](https://github.com/getgrav/grav-plugin-login/issues/91) +1. [](#improved) + * Use new system configuration entries for username and password format + * Use initialized form object in Twig templates rather than array from page.header + * Improved alert styling in login templates + * Added `appends` for number field + * Added missing `route` options in admin options (blueprints) +1. [](#bugfix) + * Set cookie path to `/` if `base_url_relative` is empty [#102](https://github.com/getgrav/grav-plugin-login/issues/102) + * Fixed some redirect logic + +# v2.2.1 +## 01/24/2017 + +1. [](#bugfix) + * Fix login form/status templates displaying user as logged in even if he's not authenticated + * Use email validation instead of text validation in the forgot password form [https://github.com/gantry/gantry5/issues/1813](https://github.com/gantry/gantry5/issues/1813) + +# v2.2.0 +## 12/13/2016 + +1. [](#new) + * RC released as stable + +# v2.2.0-rc.5 +## 12/07/2016 + +1. [](#improved) + * Added support for hiding `Remember me` checkbox and and `Forgot` button (for Offline functionality) +1. [](#bugfix) + * Fixed redirect issue in admin plugin + +# v2.2.0-rc.4 +## 12/04/2016 + +1. [](#improved) + * Improved logic for redirect after login to not include login-related pages. + +# v2.2.0-rc.3 +## 11/26/2016 + +1. [](#improved) + * Added some validity checks in the reset password form +1. [](#bugfix) + * Correctly redirect to the last page visited after login, unless `redirect_after_login` is defined + +# v2.2.0-rc.2 +## 11/17/2016 + +1. [](#new) + * Allow to set permissions using nested array syntax [#96](https://github.com/getgrav/grav-plugin-login/issues/96) +1. [](#improved) + * Use the same feedback message when resetting the password if the email exists or not. Remove email in the message as we now recover via email, useless +1. [](#bugfix) + * Fix registration form, fields were not visible [#97](https://github.com/getgrav/grav-plugin-login/issues/97) + * Do not initialize the user session if the user exists but has no `site.login` permission + +# v2.2.0-rc.1 +## 11/09/2016 + +1. [](#new) + * Allow login via `username` or `email` + * Only allow password recovery via `email` address + +# v2.1.2 +## 10/01/2016 + +1. [](#bugfix) + * Fixed an old reference to `LoginUtils` and replaced with new `EmailUtils` + +# v2.1.1 +## 09/08/2016 + +1. [](#improved) + * Use better detection for admin allowing multi-site setup with subfolders + +# v2.1.0 +## 09/07/2016 + +1. [](#improved) + * Added support for Grav's autoescape twig setting + * Dropped unused variable reference + * Moved Email Utils to Email plugin + * Updated vendor libraries + * Allow explicitly showing the login page on pages that are not the Login form template [#11](https://github.com/getgrav/grav-plugin-maintenance/issues/11) + +# v2.0.1 +## 08/10/2016 + +1. [](#improved) + * Added Romanian + +# v2.0.0 +## 07/14/2016 + +1. [](#improved) + * Optimized nonce creation + * Point account path to core's account stream [#85](https://github.com/getgrav/grav-plugin-login/issues/85) + +# v2.0.0-rc.2 +## 06/21/2016 + +1. [](#new) + * Add an option to login protect a login-protected page media accessed through the page route [#45](https://github.com/getgrav/grav-plugin-login/issues/45) +1. [](#improved) + * Fixed some language keys +1. [](#bugfix) + * Correctly show an error message when the reset password form does not provide the correct nonce + +# v2.0.0-rc.1 +## 06/01/2016 + +1. [](#improved) + * French updated +1. [](#bugfix) + * Enable twig processing in a page #75 + * Deny access to registration when user registration is disabled #72 + +# v2.0.0-beta.3 +## 05/23/2016 + +1. [](#improved) + * Added a redirect after activation + * Changed hardcoded redirect routes to config-based +1. [](#bugfix) + * Fix a redirect issue #74 + * Don't error if missing a HTTP_USER_AGENT browser string + +# v2.0.0-beta.2 +## 05/03/2016 + +1. [](#improved) + * Improved the login form page once logged in + * Translate welcome and logout strings +1. [](#bugfix) + * Fixed logging out on the homepage + * Fixed an issue in processing user registration + +# v2.0.0-beta.1 +## 04/20/2016 + +1. [](#new) + * Introduce a more flexible Login plugin architecture, which allows separate authentication plugins to hook into the Login events. Separated OAuth to its own plugin. + * OAuth has been separated to its own plugin, needs to be installed separately and configured. The users account filename format has changed too, to fix an issue that involved people with the same name on a service. + * The `redirect` option has been changed to `redirect_after_login`. Make sure you update your configuration file. +1. [](#improved) + * Add a proper 'Access levels' config section for Login. + * Various underlying improvements + * Updated french, added german +1. [](#bugfix) + * Make username field autofocus + * Add validation to the password reset form + * Fixed an issue that allowed a user logged in, without access to the actual permissions set to view a page, to see its content, and the login form again even if already logged in. + +# v1.3.1 +## 02/05/2016 + +1. [](#new) + * Add translations for Username and Password (placeholders are not translated) +1. [](#improved) + * Improve registration, forgot, reset and login forms accessibility by setting the id attribute + * Improved french translation + * Add the correct message type when raising a form processing error +1. [](#bugfix) + * Show the correct error message when the user is not authorized to view a page + * Fix showing the OAuth links in the login form + +# v1.3.0 +## 01/06/2016 + +1. [](#new) + * Added a new CLI command to change a user's password + * Added a new CLI command to edit the user state +1. [](#improved) + * Improved french translation + +# v1.2.1 +## 12/18/2015 + +1. [](#new) + * Croatian translation +1. [](#improved) + * Use type `email` in registration form + * Drop manual validation in registration + +# v1.2.0 +## 12/11/2015 + +1. [](#new) + * Added account activation email upon registration + * Added forgot password functionality + * Support ACL from parent page + * Allow login immediately after account activation +1. [](#improved) + * Handle admin login page if available + * Example registration form now provided by plugin + * Better error handling of registration + * Tab-based plugin configuration + * Updated translations +1. [](#bugfix) + * Prevent failing when no default values are set + +# v1.1.0 +## 12/01/2015 + +1. [](#new) + * Support new **User Registration** +1. [](#improved) + * Use new security salt for newer and fallback otherwise + * Composer update of libraries + * Check for session existence else throw a runtime error +1. [](#bugfix) + * Fix remember-me functionality + * Check page exists so as not to fail hard + * Fix for static Inflector references #17 + + +# v1.0.1 +## 11/23/2015 + +1. [](#improved) + * Hardening cookies with user-agent and system cache key instead of deprecated system hash + * Set a custom route for login only if it's not an admin path + +# v1.0.0 +## 11/21/2015 + +1. [](#new) + * Added OAuth login support for _Facebook_, _Google_, _GitHub_ and _Twitter_ + * Added **Nonce** form security support + * Added option to "redirect after login" + * Added "remember me" functionality + * Added Hungarian translation +2. [](#improved) + * Added blueprints for Grav Admin plugin (multi-language support!) + +# v0.3.3 +## 09/11/2015 + +1. [](#improved) + * Changed authorise to authorize +1. [](#bugfix) + * Fix denied string + +# v0.3.2 +## 09/01/2015 + +1. [](#improved) + * Broke out login form into its own partial + +# v0.3.1 +## 08/31/2015 + +1. [](#improved) + * Added username field autofocus + +# v0.3.0 +## 08/24/2015 + +1. [](#new) + * Added simple CSS styling + * Added simple login status with logout +1. [](#improved) + * Improved README documentation + * More strings translated + * Updated blueprints + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... + +# v1.3.1 +## 02/05/2016 + +1. [](#new) + * Add translations for Username and Password (placeholders are not translated) +1. [](#improved) + * Improve registration, forgot, reset and login forms accessibility by setting the id attribute + * Improved french translation + * Add the correct message type when raising a form processing error +1. [](#bugfix) + * Show the correct error message when the user is not authorized to view a page + * Fix showing the OAuth links in the login form + +# v1.3.0 +## 01/06/2016 + +1. [](#new) + * Added a new CLI command to change a user's password + * Added a new CLI command to edit the user state +1. [](#improved) + * Improved french translation + +# v1.2.1 +## 12/18/2015 + +1. [](#new) + * Croatian translation +1. [](#improved) + * Use type `email` in registration form + * Drop manual validation in registration + +# v1.2.0 +## 12/11/2015 + +1. [](#new) + * Added account activation email upon registration + * Added forgot password functionality + * Support ACL from parent page + * Allow login immediately after account activation +1. [](#improved) + * Handle admin login page if available + * Example registration form now provided by plugin + * Better error handling of registration + * Tab-based plugin configuration + * Updated translations +1. [](#bugfix) + * Prevent failing when no default values are set + +# v1.1.0 +## 12/01/2015 + +1. [](#new) + * Support new **User Registration** +1. [](#improved) + * Use new security salt for newer and fallback otherwise + * Composer update of libraries + * Check for session existence else throw a runtime error +1. [](#bugfix) + * Fix remember-me functionality + * Check page exists so as not to fail hard + * Fix for static Inflector references #17 + + +# v1.0.1 +## 11/23/2015 + +1. [](#improved) + * Hardening cookies with user-agent and system cache key instead of deprecated system hash + * Set a custom route for login only if it's not an admin path + +# v1.0.0 +## 11/21/2015 + +1. [](#new) + * Added OAuth login support for _Facebook_, _Google_, _GitHub_ and _Twitter_ + * Added **Nonce** form security support + * Added option to "redirect after login" + * Added "remember me" functionality + * Added Hungarian translation +2. [](#improved) + * Added blueprints for Grav Admin plugin (multi-language support!) + +# v0.3.3 +## 09/11/2015 + +1. [](#improved) + * Changed authorise to authorize +1. [](#bugfix) + * Fix denied string + +# v0.3.2 +## 09/01/2015 + +1. [](#improved) + * Broke out login form into its own partial + +# v0.3.1 +## 08/31/2015 + +1. [](#improved) + * Added username field autofocus + +# v0.3.0 +## 08/24/2015 + +1. [](#new) + * Added simple CSS styling + * Added simple login status with logout +1. [](#improved) + * Improved README documentation + * More strings translated + * Updated blueprints + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/login/LICENSE b/sandbox/grav/user/plugins/login/LICENSE new file mode 100644 index 0000000000..4bb709282c --- /dev/null +++ b/sandbox/grav/user/plugins/login/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/login/README.md b/sandbox/grav/user/plugins/login/README.md new file mode 100644 index 0000000000..cbaf135b53 --- /dev/null +++ b/sandbox/grav/user/plugins/login/README.md @@ -0,0 +1,366 @@ +# Grav Login Plugin + +The **login plugin** for [Grav](http://github.com/getgrav/grav) adds login, basic ACL, and session wide messages to Grav. It is designed to provide a way to secure front-end and admin content throughout Grav. + +# Installation + +The **login** plugin actually requires the help of the **email** and **form** plugins. The **email** plugin is needed to ensure that you can recover a password via email if required. The **form** plugin is used to generate the forms required. + +These are available via GPM, and because the plugin has dependencies you just need to proceed and install the login plugin, and agree when prompted to install the others: + +``` +$ bin/gpm install login +``` + +# Changes in version 2.0 + +The Login Plugin 2.0 has the following changes compared to 1.0: + +- OAuth has been separated to its own plugin, needs to be installed separately and configured. The users account filename format has changed too, to fix an issue that involved people with the same name on a service. +- The `redirect` option has been changed to `redirect_after_login`. +- The Remember Me session minimum length is now 1 week. +- Removed the option to login from oauth without creating the corresponding user file under `user/accounts/`. + +# Creating Users + +You can either use the built-in CLI capabilities, or you create a user manually by creating a new YAML file in your `user/acounts` folder. + + +# CLI Usage + +The simplest way to create a new user is to simply run the `bin/plugin login newuser` command. This will take you through a few questions to gather information with which to create your user. You can also use inline arguments to avoid the interactive questions. + +### Commands + +| Command | Arguments | Explination | +|---------------|--------------------------------------|----------------------------| +|`newuser`|Aliases: `add-user`, `new-user`|Creates a new user (creates file in `user/accounts/`) +|| [ -u, --user=USER ] | The username. | +|| [ -p, --password=PASSWORD ] | The password. Ensure the password respects Grav's password policy. **Note that this option is not recommended because the password will be visible by users listing the processes.** | +|| [ -e, --email=EMAIL ] | The user email address. | +|| [ -P, --permissions=PERMISSIONS ] | The user permissions. It can be either `a` for Admin access only, `s` for Site access only and `b` for both Admin and Site access. | +|| [ -N, --fullname=FULLNAME ] | The user full name | +|| [ -t, --title=TITLE ] | The title of the user. Usually used as a subtext. Example: Admin, Collaborator, Developer | +|| [ -s, --state=STATE ] | The state of the account. Either `enabled` (default) or `disabled` | +||| +|`changepass`|Aliases: `newpass`, `passwd`|Changes password of the specified user (User file must exist) +|| [ -u, --user=USER ] | The username. | +|| [ -p, --password=PASSWORD ] | The new password. Ensure the password respects Grav's password policy. **Note that this option is not recommended because the password will be visible by users listing the processes.** | + + +### CLI Example +``` +> bin/plugin login newuser -u joeuser -p 8c9sRCeBExAiwk -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" +Creating new user + + +Success! User joeuser created. +``` + +### Interactive Example +``` +> bin/plugin login newuser +Creating new user + +Enter a username: joeuser +Enter a password: 8c9sRCeBExAiwk +Enter an email: joeuser@grav.org +Please choose a set of permissions: + [a] admin access + [s] site access + [b] admin and site access + > b +Enter a fullname: Joe User +Enter a title: Site Administrator +Please choose the state for the account: + [enabled ] Enabled + [disabled] Disabled + > enabled + +Success! User joeuser created. +``` + +### Manual User Creation + +Here is example user defined in `user/accounts/admin.yaml`: + +``` +password: password +email: youremail@mail.com +fullname: Johnny Appleseed +title: Site Administrator +access: + admin: + login: true + super: true +``` + +>> Note: the username is based on the name of the YAML file. + +# Usage + +You can add ACL to any page by typing something like below into the page header: + +``` +access: + site.login: true + admin.login: true +``` + +Users who have any of the listed ACL roles enabled will have access to the page. +Others will be forwarded to login screen. + +Because the admin user contains an `admin.login: true` reference he will be able to login to the secured page because that is one of the conditions defined in the page header. You are free to create any specific set of ACL rules you like. Your user account must simply contain those same rules if you wish the user to have access. + +## Create Private Areas + +Enabling the setting "Use parent access rules" (`parent_acl` in login.yaml) allows you to create private areas where you set the access level on the parent page, and all the subpages inherit that requirement. + +# Login Page + +>> Note: the **frontend site** and **admin plugin** use different sessions so you need to explicitly provide a login on the frontend. + +The login plugin can **automatically generate** a login page for you when you try to access a page that your user (or guest account) does not have access to. + +Alternatively, you can also provide a specific login route if you wish to forward users to a specific login page. To do this you need to create a copy of the `login.yaml` from the plugin in your `user/config/plugins` folder and provide a specific route (or just edit the plugin setttings in the admin plugin). + +``` +route: /user-login +``` + +You would then need to provide a suitable login form, probably based on the one that is provided with the plugin. + +## Redirection after Login + +By default Grav will redirect to the prior page visited before entering the login process. Any page is fair game unless you manually set: + +``` +login_redirect_here: false +``` + +In the page's header. If you set this value to `false`, this page will not be a valid redirect page, and the page visited prior to this page will be considered. + +You can override this default behavior by forcing a standard location by specifying an explicit option in your Login configuration YAML: + +``` +redirect_after_login: '/profile' +``` + +This will always take you to the `/profile` route after a successful login. + +# Logout + +The login plugin comes with a simple Twig partial to provide a logout link (`login-status.html.twig`). You will need to include it in your theme however. An example of this can be found in the Antimatter theme's `partials/navigation.html.twig` file: + +``` +{% if config.plugins.login.enabled and grav.user.username %} +
  • {% include 'partials/login-status.html.twig' %}
  • +{% endif %} +``` + +You can also copy this `login-status.html.twig` file into your theme and modify it as you see fit. + +# Allow User Registration + +The Login plugin handles user registration. +To enable the built-in registration form, in the Login Plugin configuration enable user registration and just add a value to the "Registration path" field. + +Then just open your browser on that page, and you'll be presented a registration form. + +## Adding the registration page to the menu + +Here are two ways you can do it, but of course Grav is flexible and you can come up with other ways too. + +The first and easiest way is to add a page with the same slug (route) as the registration form. So for example if in the Login Plugin settings you set /register as the registration form path, then create a `04.register` page (the 04 number is just an example, use your own ordering), with no content. +The Login plugin will "override" that page, serving the registration page form when the user clicks on that menu item. + +A second way is to add a custom menu item that points to the registration page, by editing `site.yaml` with this code, that will append a "Register" menu item: + +``` +menu: + - + url: 'register' + text: Register +``` + +This works in most themes, Antimatter included, but it's not guaranteed to work in all themes, as it's something that must be added to the navigation twig code. + +## Customizing the registration form + +The provided registration form is just a quick way to start using it. You might however need different fields on the registration form, or you want to add more content. Here's how to do it. + +First, create a registration form page. + +Create a folder `04.registration/form.md`. The folder name is just an example. Pick the one that suits you. The important part is the file name: since we're building a form, we need a `form.md` file. + +Also, your theme needs to implement forms. Use Antimatter or another form-compatible theme if yours does not work, then once you're setup with the form you can migrate the forms files and make it work on your theme too. + +Add the following content to your registration form page: + +``` +--- +form: + + fields: + - + name: username + type: text + validate: + required: true + message: PLUGIN_LOGIN.USERNAME_NOT_VALID + config-pattern@: system.username_regex + + - + name: email + type: text + validate: + required: true + message: PLUGIN_LOGIN.EMAIL_VALIDATION_MESSAGE + + - + name: password1 + type: password + label: Enter a password + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + - + name: password2 + type: password + label: Repeat the password + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + buttons: + - + type: submit + value: Submit + - + type: reset + value: Reset + + process: + register_user: true + display: '/welcome' + message: "Welcome to my site!" +--- + +# Registration +``` + +This is a normal form. The only thing different from a contact form or another form that you might write on your site is the process field `register_user`, which takes care of processing the user registration. + +Once the user is registered, Grav redirects the user to the `display` page with the `message` message. + +The only field strictly required by Grav is `username`. Then the other fields can be added as needed. + +For example in this case we added + +- password1 +- password2 + +to the form. And, in the Login plugin configuration we have by default enable the double password verification with the "Validate double entered password" option. What this does is picking the password1 and password2 fields, validate them, check they are equal and put the content in the `password` field. + +You can avoid having 2 fields for the password, which by the way is a recommended option, and just put a single `password` field. + +Last important thing before the registration is correctly setup: make sure in the Login plugin settings you have the user registration enabled, otherwise the registration will trigger an error, as by default user registration is DISABLED. + +## Sending an activation email + +By default the registration process adds a new user, and sets it as enabled. +Grav allows disabled user accounts, so we can take advantage of this functionality and add a new user, but with a disabled state. Then we can send an email to the user, asking to validate the email address. + +That validation email will contain a link to set the user account to enabled. To do this, just enable "Set the user as disabled" and "Send activation email" in the Login Plugin options. + +## Send a welcome email + +Enable "Send welcome email" in the options. + +The content of the welcome email is defined in the language file, strings `PLUGIN_LOGIN.WELCOME_EMAIL_SUBJECT` and `PLUGIN_LOGIN.WELCOME_EMAIL_BODY`. Customize them as needed in your language file override. + +Note: if the activation email is enabled, the welcome email to be sent upon the account activation action (when the user clicks the link to activate the account) + +## Send a notification email to the site owner + +Enable "Send notification email" in the options. + +The content of the notification email is defined in the language file, strings `PLUGIN_LOGIN.NOTIFICATION_EMAIL_SUBJECT` and `PLUGIN_LOGIN.NOTIFICATION_EMAIL_BODY`. Customize them as needed in your language file override. + +Note: if the activation email is enabled, the notification email to be sent upon the account activation action (when the user clicks the link to activate the account) + +## Adding your own fields + +If you want to add your own custom fields to the registration form, just add fields to the form like you would with any other form. + +Then, to let the Login plugin add those fields to the user yaml file, you also need to add it to the "Registration fields" option in the Login Plugin configuration. + +By default we have + +``` + - 'username' + - 'password' + - 'email' + - 'fullname' + - 'title' + - 'access' + - 'state' +``` + +Add your own as you prefer, to build any custom registration form you can think of. + +## Specifying a default value for a field + +If you want to pre-fill a field, without showing it to the user in the form, you could set it as an hidden field. But the user could see it - and modify it via the browser dev tools. + +To add a field and make sure the user cannot modify it, add it to "Default values" list. + +## Login users directly after the registration + +Just enable "Login the user after registration" + +If the user activation email is enabled, the user will be logged in as soon as the activation link is clicked. + +## Add captcha to the user registration + +Add a captcha like you would with any form: + +Add + +``` + - name: g-recaptcha-response + label: Captcha + type: captcha + recaptcha_site_key: aeio43kdk3idko3k4ikd4 + recaptcha_not_validated: 'Captcha not valid!' + validate: + required: true +``` + +to the form field, and + +``` +process: + - captcha +``` + +to validate it server-side. Put this process action before all the other actions, so it's processed first and the user is not created if the captcha is not valid. + +## Redirect to another page after login + +You can set the "Redirect after registration" option in the Login plugin, or as with any form, use the `process.display` property, and set it to the destination page route: + +``` + process: + - + display: /welcome +``` + + + +# Known issues + +When updating from an older version, pre-october 2015, you might have an error `Class 'Grav\Login\Controller' Not Found`. The problem is during the update, since a file name was changed from lowercase to capitalized. Solution: reinstall the Login plugin, or change the file name `user/plugins/login/classes/controller.php` to `user/plugins/login/classes/Controller.php` (notice the capital `C`). diff --git a/sandbox/grav/user/plugins/login/blueprints.yaml b/sandbox/grav/user/plugins/login/blueprints.yaml new file mode 100644 index 0000000000..2237c5bae9 --- /dev/null +++ b/sandbox/grav/user/plugins/login/blueprints.yaml @@ -0,0 +1,368 @@ +name: Login +version: 2.4.1 +description: Enables user authentication and login screen. +icon: sign-in +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +keywords: admin, plugin, login +homepage: https://github.com/getgrav/grav-plugin-login +keywords: login, authentication, admin, security +bugs: https://github.com/getgrav/grav-plugin-login/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.3.3' } + - { name: form, version: '>=2.4.0' } + - { name: email, version: '~2.0' } + +form: + validation: loose + fields: + + tabs: + type: tabs + active: 1 + class: subtle + + fields: + login: + type: tab + title: PLUGIN_LOGIN.BTN_LOGIN + + fields: + + enabled: + type: hidden + label: PLUGIN_LOGIN.PLUGIN_STATUS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + built_in_css: + type: toggle + label: PLUGIN_LOGIN.BUILTIN_CSS + highlight: 1 + default: 1 + help: PLUGIN_LOGIN.BUILTIN_CSS_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + route: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE + help: PLUGIN_LOGIN.ROUTE_HELP + placeholder: "/my-custom-login" + + redirect_after_login: + type: text + label: PLUGIN_LOGIN.REDIRECT_AFTER_LOGIN + help: PLUGIN_LOGIN.REDIRECT_AFTER_LOGIN_HELP + placeholder: "/my-page" + + route_forgot: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_FORGOT + placeholder: "/forgot_password" + + route_reset: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_RESET + placeholder: "/reset_password" + + route_profile: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_PROFILE + placeholder: "/user_profile" + + parent_acl: + type: toggle + label: PLUGIN_LOGIN.USE_PARENT_ACL_LABEL + highlight: 1 + default: 0 + help: PLUGIN_LOGIN.USE_PARENT_ACL_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + protect_protected_page_media: + type: toggle + label: PLUGIN_LOGIN.PROTECT_PROTECTED_PAGE_MEDIA_LABEL + highlight: 1 + default: 0 + help: PLUGIN_LOGIN.PROTECT_PROTECTED_PAGE_MEDIA_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + routes: + type: section + title: PLUGIN_LOGIN.ROUTES + + fields: + + route_activate: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_ACTIVATE + placeholder: '/activate_user' + + route_forgot: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_FORGOT + placeholder: '/forgot_password' + + route_reset: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_RESET + placeholder: '/reset_password' + + route_profile: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_PROFILE + placeholder: '/user_profile' + + route_register: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_REGISTER + help: PLUGIN_LOGIN.ROUTE_REGISTER_HELP + placeholder: "/register" + + user_registration.redirect_after_registration: + type: text + label: PLUGIN_LOGIN.REDIRECT_AFTER_REGISTRATION + help: PLUGIN_LOGIN.REDIRECT_AFTER_REGISTRATION_HELP + placeholder: "/page-to-show-after-registration" + + user_registration.redirect_after_activation: + type: text + label: PLUGIN_LOGIN.REDIRECT_AFTER_ACTIVATION + help: PLUGIN_LOGIN.REDIRECT_AFTER_ACTIVATION_HELP + placeholder: "/page-to-show-after-activation" + + rememberme: + type: section + title: PLUGIN_LOGIN.REMEMBER_ME + + fields: + rememberme.enabled: + type: toggle + label: PLUGIN_ADMIN.ENABLED + help: PLUGIN_ADMIN.SESSION_ENABLED_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + rememberme.timeout: + type: text + size: small + default: 604800 + label: PLUGIN_ADMIN.TIMEOUT + help: PLUGIN_LOGIN.TIMEOUT_HELP + validate: + type: number + min: 1 + + rememberme.name: + type: text + size: small + label: PLUGIN_ADMIN.NAME + help: PLUGIN_ADMIN.SESSION_NAME_HELP + + registration: + type: tab + title: PLUGIN_LOGIN.USER_REGISTRATION + + fields: + user_registration.enabled: + type: toggle + label: PLUGIN_ADMIN.ENABLED + help: PLUGIN_LOGIN.USER_REGISTRATION_ENABLED_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + registration_fields: + type: section + title: PLUGIN_LOGIN.REGISTRATION_FIELDS + + fields: + user_registration.fields: + type: array + value_only: true + label: PLUGIN_LOGIN.REGISTRATION_FIELDS + help: PLUGIN_LOGIN.REGISTRATION_FIELDS_HELP + placeholder_key: PLUGIN_LOGIN.REGISTRATION_FIELD_KEY + placeholder_value: PLUGIN_LOGIN.REGISTRATION_FIELD_VALUE + + user_registration.default_values: + type: array + label: PLUGIN_LOGIN.DEFAULT_VALUES + help: PLUGIN_LOGIN.DEFAULT_VALUES_HELP + placeholder_key: PLUGIN_LOGIN.ADDITIONAL_PARAM_KEY + placeholder_value: PLUGIN_LOGIN.ADDITIONAL_PARAM_VALUE + + access_levels: + title: PLUGIN_ADMIN.ACCESS_LEVELS + type: section + security: admin.super + + fields: + user_registration.groups: + type: selectize + size: large + label: PLUGIN_ADMIN.GROUPS + '@data-options': '\Grav\User\Groups::groups' + classes: fancy + help: PLUGIN_LOGIN.GROUPS_HELP + validate: + type: commalist + + user_registration.access.site: + type: array + label: PLUGIN_ADMIN.SITE_ACCESS + help: PLUGIN_LOGIN.SITE_ACCESS_HELP + multiple: false + validate: + type: array + + options: + type: section + title: PLUGIN_LOGIN.OPTIONS + + fields: + + user_registration.options.validate_password1_and_password2: + type: toggle + label: PLUGIN_LOGIN.VALIDATE_PASSWORD1_AND_PASSWORD2 + help: PLUGIN_LOGIN.VALIDATE_PASSWORD1_AND_PASSWORD2_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.set_user_disabled: + type: toggle + label: PLUGIN_LOGIN.SET_USER_DISABLED + help: PLUGIN_LOGIN.SET_USER_DISABLED_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.login_after_registration: + type: toggle + label: PLUGIN_LOGIN.LOGIN_AFTER_REGISTRATION + help: PLUGIN_LOGIN.LOGIN_AFTER_REGISTRATION_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.send_activation_email: + type: toggle + label: PLUGIN_LOGIN.SEND_ACTIVATION_EMAIL + help: PLUGIN_LOGIN.SEND_ACTIVATION_EMAIL_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.send_notification_email: + type: toggle + label: PLUGIN_LOGIN.SEND_NOTIFICATION_EMAIL + help: PLUGIN_LOGIN.SEND_NOTIFICATION_EMAIL_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.send_welcome_email: + type: toggle + label: PLUGIN_LOGIN.SEND_WELCOME_EMAIL + help: PLUGIN_LOGIN.SEND_WELCOME_EMAIL_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + + Security: + type: tab + title: PLUGIN_LOGIN.SECURITY_TAB + + fields: + max_pw_resets_count: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_RESETS_COUNT + help: PLUGIN_LOGIN.MAX_RESETS_COUNT_HELP + append: PLUGIN_LOGIN.RESETS + validate: + type: number + min: 0 + + max_pw_resets_interval: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_RESETS_INTERVAL + help: PLUGIN_LOGIN.MAX_RESETS_INTERVAL_HELP + append: PLUGIN_LOGIN.SECONDS + validate: + type: number + min: 1 + + max_login_count: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_LOGINS_COUNT + help: PLUGIN_LOGIN.MAX_LOGINS_COUNT_HELP + append: PLUGIN_LOGIN.ATTEMPTS + validate: + type: number + min: 0 + + max_login_interval: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_LOGINS_INTERVAL + help: PLUGIN_LOGIN.MAX_LOGINS_INTERVAL_HELP + append: PLUGIN_LOGIN.SECONDS + validate: + type: number + min: 1 diff --git a/sandbox/grav/user/plugins/login/classes/Controller.php b/sandbox/grav/user/plugins/login/classes/Controller.php new file mode 100644 index 0000000000..03c52e65d4 --- /dev/null +++ b/sandbox/grav/user/plugins/login/classes/Controller.php @@ -0,0 +1,482 @@ +grav = $grav; + $this->action = $action; + $this->login = isset($this->grav['login']) ? $this->grav['login'] : ''; + $this->post = $post ? $this->getPost($post) : []; + + $this->rememberMe(); + } + + /** + * Performs an action. + */ + public function execute() + { + // Set redirect if available. + if (isset($this->post['_redirect'])) { + $redirect = $this->post['_redirect']; + unset($this->post['_redirect']); + } + + $success = false; + $method = $this->prefix . ucfirst($this->action); + + if (!method_exists($this, $method)) { + throw new \RuntimeException('Page Not Found', 404); + } + + try { + $success = call_user_func([$this, $method]); + } catch (\RuntimeException $e) { + $this->login->setMessage($e->getMessage(), 'error'); + } + + if (!$this->redirect && isset($redirect)) { + $this->setRedirect($redirect); + } + + return $success; + } + + /** + * Handle login. + * + * @return bool True if the action was performed. + */ + public function taskLogin() + { + /** @var Language $t */ + $t = $this->grav['language']; + + /** @var User $user */ + $user = $this->grav['user']; + + $count = $this->grav['config']->get('plugins.login.max_login_count', 5); + $interval =$this->grav['config']->get('plugins.login.max_login_interval', 10); + + if ($this->login->isUserRateLimited($user, 'login_attempts', $count, $interval)) { + $this->login->setMessage($t->translate(['PLUGIN_LOGIN.TOO_MANY_LOGIN_ATTEMPTS', $interval]), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + + + if ($this->authenticate($this->post)) { + $this->login->setMessage($t->translate('PLUGIN_LOGIN.LOGIN_SUCCESSFUL')); + + $this->login->resetRateLimit($user, 'login_attempts'); + + $redirect = $this->grav['config']->get('plugins.login.redirect_after_login'); + if (!$redirect) { + $redirect = $this->grav['session']->redirect_after_login ?: $this->grav['uri']->referrer('/'); + } + $this->setRedirect($redirect); + } else { + if ($user->username) { + $this->login->setMessage($t->translate('PLUGIN_LOGIN.ACCESS_DENIED'), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_unauthorized', '/')); + } else { + $this->login->setMessage($t->translate('PLUGIN_LOGIN.LOGIN_FAILED'), 'error'); + } + } + + return true; + } + + /** + * Handle logout. + * + * @return bool True if the action was performed. + */ + public function taskLogout() + { + /** @var User $user */ + $user = $this->grav['user']; + + if (!$this->rememberMe->login()) { + $credentials = $user->get('username'); + $this->rememberMe->getStorage()->cleanAllTriplets($credentials); + } + $this->rememberMe->clearCookie(); + + $this->grav['session']->invalidate()->start(); + $this->setRedirect('/'); + + return true; + } + + /** + * Handle the email password recovery procedure. + * + * @return bool True if the action was performed. + */ + protected function taskForgot() + { + $param_sep = $this->grav['config']->get('system.param_sep', ':'); + $data = $this->post; + + $email = isset($data['email']) ? $data['email'] : ''; + $user = !empty($email) ? User::find($email, ['email']) : null; + + /** @var Language $l */ + $language = $this->grav['language']; + $messages = $this->grav['messages']; + + if (!isset($this->grav['Email'])) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_EMAIL_NOT_CONFIGURED'), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + if (!$user || !$user->exists()) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'), 'info'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + if (empty($user->email)) { + $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL', $email]), + 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + $from = $this->grav['config']->get('plugins.email.from'); + + if (empty($from)) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_EMAIL_NOT_CONFIGURED'), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + $count = $this->grav['config']->get('plugins.login.max_pw_resets_count', 0); + $interval =$this->grav['config']->get('plugins.login.max_pw_resets_interval', 2); + + if ($this->login->isUserRateLimited($user, 'pw_resets', $count, $interval)) { + $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_IT_IS_BLOCKED', $email, $interval]), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + + $token = md5(uniqid(mt_rand(), true)); + $expire = time() + 604800; // next week + + $user->reset = $token . '::' . $expire; + $user->save(); + + $author = $this->grav['config']->get('site.author.name', ''); + $fullname = $user->fullname ?: $user->username; + + $reset_link = $this->grav['base_url_absolute'] . $this->grav['config']->get('plugins.login.route_reset') . '/task:login.reset/token' . $param_sep . $token . '/user' . $param_sep . $user->username . '/nonce' . $param_sep . Utils::getNonce('reset-form'); + + $sitename = $this->grav['config']->get('site.title', 'Website'); + + $to = $user->email; + + $subject = $language->translate(['PLUGIN_LOGIN.FORGOT_EMAIL_SUBJECT', $sitename]); + $content = $language->translate(['PLUGIN_LOGIN.FORGOT_EMAIL_BODY', $fullname, $reset_link, $author, $sitename]); + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_FAILED_TO_EMAIL'), 'error'); + } else { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'), 'info'); + } + + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + + /** + * Handle the reset password action. + * + * @return bool True if the action was performed. + */ + public function taskReset() + { + $data = $this->post; + $language = $this->grav['language']; + $messages = $this->grav['messages']; + + if (isset($data['password'])) { + $username = isset($data['username']) ? $data['username'] : null; + $user = !empty($username) ? User::find($username) : null; + $password = isset($data['password']) ? $data['password'] : null; + $token = isset($data['token']) ? $data['token'] : null; + + if ($user && !empty($user->reset) && $user->exists()) { + list($good_token, $expire) = explode('::', $user->reset); + + if ($good_token === $token) { + if (time() > $expire) { + $messages->add($language->translate('PLUGIN_LOGIN.RESET_LINK_EXPIRED'), 'error'); + $this->grav->redirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + unset($user->hashed_password); + unset($user->reset); + $user->password = $password; + + $user->validate(); + $user->filter(); + $user->save(); + + $messages->add($language->translate('PLUGIN_LOGIN.RESET_PASSWORD_RESET'), 'info'); + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + } + + $messages->add($language->translate('PLUGIN_LOGIN.RESET_INVALID_LINK'), 'error'); + $this->grav->redirect($this->grav['config']->get('plugins.login.route_forgot')); + + return true; + + } + + $user = $this->grav['uri']->param('user'); + $token = $this->grav['uri']->param('token'); + + if (!$user || !$token) { + $messages->add($language->translate('PLUGIN_LOGIN.RESET_INVALID_LINK'), 'error'); + $this->grav->redirect($this->grav['config']->get('plugins.login.route_forgot')); + + return true; + } + + return true; + } + + /** + * Authenticate user. + * + * @param array $form Form fields. + * + * @return bool + */ + protected function authenticate($form) + { + /** @var User $user */ + $user = $this->grav['user']; + + if (!$user->authenticated) { + $username = isset($form['username']) ? $form['username'] : $this->rememberMe->login(); + + // Normal login process + $user = User::find($username); + if ($user->exists() && !empty($form['username']) && !empty($form['password'])) { + // Authenticate user + $user->authenticated = $user->authenticate($form['password']); + + if ($user->authenticated) { + + // Authorize against user ACL + $user_authorized = $user->authorize('site.login'); + + if ($user_authorized) { + $this->grav['session']->user = $user; + + unset($this->grav['user']); + $this->grav['user'] = $user; + + // If the user wants to be remembered, create Rememberme cookie + if (!empty($form['rememberme'])) { + $this->rememberMe->createCookie($form['username']); + } else { + $this->rememberMe->clearCookie(); + $this->rememberMe->getStorage()->cleanAllTriplets($user->get('username')); + } + } + } + } + } + + // Authorize against user ACL + $user_authorized = $user->authorize('site.login'); + $user->authenticated = ($user->authenticated && $user_authorized); + + return $user->authenticated; + } + + /** + * Redirects an action + */ + public function redirect() + { + if ($this->redirect) { + $this->grav->redirect($this->redirect, $this->redirectCode); + } + } + + /** + * Set redirect. + * + * @param $path + * @param int $code + */ + public function setRedirect($path, $code = 303) + { + $this->redirect = $path; + $this->redirectCode = $code; + } + + /** + * Gets and sets the RememberMe class + * + * @param mixed $var A rememberMe instance to set + * + * @return RememberMe\RememberMe Returns the current rememberMe instance + */ + public function rememberMe($var = null) + { + if ($var !== null) { + $this->rememberMe = $var; + } + + if (!$this->rememberMe) { + /** @var Config $config */ + $config = $this->grav['config']; + + // Setup storage for RememberMe cookies + $storage = new RememberMe\TokenStorage(); + $this->rememberMe = new RememberMe\RememberMe($storage); + $this->rememberMe->setCookieName($config->get('plugins.login.rememberme.name')); + $this->rememberMe->setExpireTime($config->get('plugins.login.rememberme.timeout')); + + // Hardening cookies with user-agent and random salt or + // fallback to use system based cache key + $server_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'unknown'; + $data = $server_agent . $config->get('security.salt', $this->grav['cache']->getKey()); + $this->rememberMe->setSalt(hash('sha512', $data)); + + // Set cookie with correct base path of Grav install + $cookie = new Cookie(); + $cookie->setPath($this->grav['base_url_relative'] ?: '/'); + $this->rememberMe->setCookie($cookie); + } + + return $this->rememberMe; + } + + /** + * Prepare and return POST data. + * + * @param array $post + * + * @return array + */ + protected function &getPost(array $post) + { + unset($post[$this->prefix]); + + // Decode JSON encoded fields and merge them to data. + if (isset($post['_json'])) { + $post = array_merge_recursive($post, $this->jsonDecode($post['_json'])); + unset($post['_json']); + } + + return $post; + } + + /** + * Recursively JSON decode data. + * + * @param array $data + * + * @return array + */ + protected function jsonDecode(array $data) + { + foreach ($data as &$value) { + if (is_array($value)) { + $value = $this->jsonDecode($value); + } else { + $value = json_decode($value, true); + } + } + + return $data; + } + +} diff --git a/sandbox/grav/user/plugins/login/classes/Login.php b/sandbox/grav/user/plugins/login/classes/Login.php new file mode 100644 index 0000000000..ac2cf818a3 --- /dev/null +++ b/sandbox/grav/user/plugins/login/classes/Login.php @@ -0,0 +1,280 @@ +grav = $grav; + $this->config = $this->grav['config']; + $this->language = $this->grav['language']; + $this->session = $this->grav['session']; + $this->user = $this->grav['user']; + $this->uri = $this->grav['uri']; + } + + /** + * Add message into the session queue. + * + * @param string $msg + * @param string $type + */ + public function setMessage($msg, $type = 'info') + { + /** @var Message $messages */ + $messages = $this->grav['messages']; + $messages->add($msg, $type); + } + + /** + * Fetch and delete messages from the session queue. + * + * @param string $type + * + * @return array + */ + public function messages($type = null) + { + /** @var Message $messages */ + $messages = $this->grav['messages']; + + return $messages->fetch($type); + } + + /** + * Create a new user file + * + * @param array $data + * + * @return User + */ + public function register($data) + { + //Add new user ACL settings + $groups = $this->config->get('plugins.login.user_registration.groups', []); + + if (count($groups) > 0) { + $data['groups'] = $groups; + } + + $access = $this->config->get('plugins.login.user_registration.access.site', []); + if (count($access) > 0) { + $data['access']['site'] = $access; + } + + $username = $data['username']; + $file = CompiledYamlFile::instance($this->grav['locator']->findResource('account://' . $username . YAML_EXT, + true, true)); + + // Create user object and save it + $user = new User($data); + $user->file($file); + $user->save(); + + if (isset($data['state']) && $data['state'] === 'enabled' && $this->config->get('plugins.login.user_registration.options.login_after_registration', false)) { + //Login user + $this->session->user = $user; + unset($this->grav['user']); + $this->grav['user'] = $user; + $user->authorized = $user->authorize('site.login'); + } + + return $user; + } + + + /** + * Handle the email to notify the user account creation to the site admin. + * + * @param $user + * + * @return bool True if the action was performed. + */ + public function sendNotificationEmail($user) + { + if (empty($user->email)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.USER_NEEDS_EMAIL_FIELD')); + } + + $site_name = $this->config->get('site.title', 'Website'); + + $subject = $this->language->translate(['PLUGIN_LOGIN.NOTIFICATION_EMAIL_SUBJECT', $site_name]); + $content = $this->language->translate([ + 'PLUGIN_LOGIN.NOTIFICATION_EMAIL_BODY', + $site_name, + $user->username, + $user->email + ]); + $to = $this->config->get('plugins.email.from'); + + if (empty($to)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_NOT_CONFIGURED')); + } + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_SENDING_FAILURE')); + } + + return true; + } + + /** + * Handle the email to welcome the new user + * + * @param $user + * + * @return bool True if the action was performed. + */ + public function sendWelcomeEmail($user) + { + if (empty($user->email)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.USER_NEEDS_EMAIL_FIELD')); + } + + $site_name = $this->config->get('site.title', 'Website'); + + $subject = $this->language->translate(['PLUGIN_LOGIN.WELCOME_EMAIL_SUBJECT', $site_name]); + $content = $this->language->translate(['PLUGIN_LOGIN.WELCOME_EMAIL_BODY', $user->username, $site_name]); + $to = $user->email; + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_SENDING_FAILURE')); + } + + return true; + } + + /** + * Handle the email to activate the user account. + * + * @param User $user + * + * @return bool True if the action was performed. + */ + public function sendActivationEmail($user) + { + if (empty($user->email)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.USER_NEEDS_EMAIL_FIELD')); + } + + $token = md5(uniqid(mt_rand(), true)); + $expire = time() + 604800; // next week + $user->activation_token = $token . '::' . $expire; + $user->save(); + + $param_sep = $this->config->get('system.param_sep', ':'); + $activation_link = $this->grav['base_url_absolute'] . $this->config->get('plugins.login.route_activate') . '/token' . $param_sep . $token . '/username' . $param_sep . $user->username . '/nonce' . $param_sep . Utils::getNonce('user-activation'); + + $site_name = $this->config->get('site.title', 'Website'); + + $subject = $this->language->translate(['PLUGIN_LOGIN.ACTIVATION_EMAIL_SUBJECT', $site_name]); + $content = $this->language->translate([ + 'PLUGIN_LOGIN.ACTIVATION_EMAIL_BODY', + $user->username, + $activation_link, + $site_name + ]); + $to = $user->email; + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_SENDING_FAILURE')); + } + + return true; + } + + /** + * Check if user may use password reset functionality. + * + * @param User $user + * @param $field + * @param $count + * @param $interval + * @return bool + */ + public function isUserRateLimited(User $user, $field, $count, $interval) + { + if ($count > 0) { + if (!isset($user->{$field})) { + $user->{$field} = array(); + } + //remove older than 1 hour attempts + $actual_resets = array(); + foreach ($user->{$field} as $reset) { + if ($reset > (time() - $interval * 60)) { + $actual_resets[] = $reset; + } + } + + if (count($actual_resets) >= $count) { + return true; + } + $actual_resets[] = time(); // current reset + $user->{$field} = $actual_resets; + + } + return false; + } + + /** + * Reset the rate limit counter + * + * @param User $user + * @param $field + */ + public function resetRateLimit(User $user, $field) + { + $user->{$field} = []; + } + +} diff --git a/sandbox/grav/user/plugins/login/classes/RememberMe/RememberMe.php b/sandbox/grav/user/plugins/login/classes/RememberMe/RememberMe.php new file mode 100644 index 0000000000..4690f55ee1 --- /dev/null +++ b/sandbox/grav/user/plugins/login/classes/RememberMe/RememberMe.php @@ -0,0 +1,41 @@ + + */ +class RememberMe extends Authenticator +{ + /** + * Gets storage interface + * + * @return StorageInterface + */ + public function getStorage() + { + return $this->storage; + } + + /** + * Set storage interface + * + * @param StorageInterface $storage Storage interface + */ + public function setStorage($storage) + { + $this->storage = $storage; + } +} diff --git a/sandbox/grav/user/plugins/login/classes/RememberMe/TokenStorage.php b/sandbox/grav/user/plugins/login/classes/RememberMe/TokenStorage.php new file mode 100644 index 0000000000..4031cd6578 --- /dev/null +++ b/sandbox/grav/user/plugins/login/classes/RememberMe/TokenStorage.php @@ -0,0 +1,197 @@ + + */ +class TokenStorage implements StorageInterface +{ + /** + * @var DoctrineCache + */ + protected $driver; + + /** + * @var string + */ + protected $cache_dir; + + /** + * Constructor + * + * @param string $path Path to storage directory + */ + public function __construct($path = 'cache://rememberme') + { + /** @var Cache $cache */ + $cache = Grav::instance()['cache']; + + $this->cache_dir = Grav::instance()['locator']->findResource($path, true, true); + + // Setup cache + $this->driver = $cache->getCacheDriver(); + if ($this->driver instanceof FilesystemCache) { + $this->driver = new FilesystemCache($this->cache_dir); + } + + // Set the cache namespace to our unique key + $this->driver->setNamespace($cache->getKey()); + } + + /** + * Return Tri-state value constant + * + * @param mixed $credential Unique credential (user id, + * email address, user name) + * @param string $token One-Time Token + * @param string $persistentToken Persistent Token + * + * @return int + */ + public function findTriplet($credential, $token, $persistentToken) + { + + // Hash the tokens, because they can contain a salt and can be + // accessed in the file system + $persistentToken = sha1(trim($persistentToken)); + $token = sha1(trim($token)); + + $id = $this->getId($credential); + if (!$this->driver->contains($id)) { + return self::TRIPLET_NOT_FOUND; + } + + list($expire, $tokens) = $this->driver->fetch($id); + if (isset($tokens[$persistentToken]) && $tokens[$persistentToken] == $token) { + return self::TRIPLET_FOUND; + } + + return self::TRIPLET_INVALID; + } + + /** + * Store the new token for the credential and the persistent token. + * Create a new storage entry, if the combination of credential and + * persistent token does not exist. + * + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @param int $expire Timestamp when this triplet + * will expire (0 = no expiry) + */ + public function storeTriplet($credential, $token, $persistentToken, $expire = null) + { + // Hash the tokens, because they can contain a salt and can be + // accessed in the file system + $persistentToken = sha1(trim($persistentToken)); + $token = sha1(trim($token)); + + $e = null; + $tokens = []; + $id = $this->getId($credential); + if ($this->driver->contains($id)) { + list($e, $tokens) = $this->driver->fetch($id); + } + + // Get cache lifetime for tokens + if ($expire === null && $e === null) { + /** @var Cache $cache */ + $cache = Grav::instance()['cache']; + $expire = $cache->getLifetime(); + } elseif ($expire === null) { + $expire = $e; + } + + // Update tokens + $tokens[$persistentToken] = $token; + $this->driver->save($id, [$expire, $tokens], $expire); + + return $this; + } + + /** + * Replace current token after successful authentication + * + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @param int $expire + */ + public function replaceTriplet($credential, $token, $persistentToken, $expire = null) + { + $this->cleanTriplet($credential, $persistentToken); + $this->storeTriplet($credential, $token, $persistentToken, $expire); + } + + /** + * Remove one triplet of the user from the store + * + * @param mixed $credential + * @param string $persistentToken + */ + public function cleanTriplet($credential, $persistentToken) + { + // Hash the tokens, because they can contain a salt and can be + // accessed in the file system + $persistentToken = sha1(trim($persistentToken)); + + // Delete token from storage + $id = $this->getId($credential); + if ($this->driver->contains($id)) { + list($expire, $tokens) = $this->driver->fetch($id); + unset($tokens[$persistentToken]); + $this->driver->save($id, [$expire, $tokens], $expire); + } + } + + /** + * Remove all triplets of a user, effectively logging him out on all + * machines + * + * @param mixed $credential + */ + public function cleanAllTriplets($credential) + { + $id = $this->getId($credential); + $this->driver->delete($id); + } + + /** + * Helper method to clear RememberMe cache + */ + public function clearCache() + { + $this->driver->flushAll(); + } + + /** + * Get the cache id + * + * @param string $key A key to compute the cache id for + * @return string The cache id + */ + protected function getId($key) + { + /** @var Cache $cache */ + $cache = Grav::instance()['cache']; + + return 'login' . md5(trim($key) . $cache->getKey()); + } +} diff --git a/sandbox/grav/user/plugins/login/cli/ChangePasswordCommand.php b/sandbox/grav/user/plugins/login/cli/ChangePasswordCommand.php new file mode 100644 index 0000000000..24be533af4 --- /dev/null +++ b/sandbox/grav/user/plugins/login/cli/ChangePasswordCommand.php @@ -0,0 +1,202 @@ +setName('change-password') + ->setAliases(['edit-password', 'newpass', 'changepass', 'passwd']) + ->addOption( + 'user', + 'u', + InputOption::VALUE_REQUIRED, + 'The username' + ) + ->addOption( + 'password', + 'p', + InputOption::VALUE_REQUIRED, + "The password. Note that this option is not recommended because the password will be visible by users listing the processes. You should also make sure the password respects Grav's password policy." + ) + ->setDescription('Changes a User Password') + ->setHelp('The change-password changes the password of the specified user. (User must exist)') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'user' => $this->input->getOption('user'), + 'password1' => $this->input->getOption('password') + ]; + + $this->validateOptions(); + + $helper = $this->getHelper('question'); + $data = []; + + $this->output->writeln('Changing User Password'); + $this->output->writeln(''); + + if (!$this->options['user']) { + // Get username and validate + $question = new Question('Enter a username: '); + $question->setValidator(function ($value) { + return $this->validate('user', $value); + }); + + $username = $helper->ask($this->input, $this->output, $question); + } else { + $username = $this->options['user']; + } + + + if (!$this->options['password1']) { + // Get password and validate + $password = $this->askForPassword($helper, 'Enter a new password: ', function ($password1) use ($helper) { + $this->validate('password1', $password1); + + // Since input is hidden when prompting for passwords, the user is asked to repeat the password + return $this->askForPassword($helper, 'Repeat the password: ', function ($password2) use ($password1) { + return $this->validate('password2', $password2, $password1); + }); + }); + + $data['password'] = $password; + } else { + $data['password'] = $this->options['password1']; + } + + // Lowercase the username for the filename + $username = strtolower($username); + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + // Grab the account file and read in the information before setting the file (prevent setting erase) + $oldUserFile = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $oldData = (array)$oldUserFile->content(); + + //Set the password feild to new password + $oldData['password'] = $data['password']; + + // Create user object and save it using oldData (with updated password) + $user = new User($oldData); + $file = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $user->file($file); + $user->save(); + + $this->output->writeln(''); + $this->output->writeln('Success! User ' . $username . '\'s password changed.'); + } + + /** + * + */ + protected function validateOptions() + { + foreach (array_filter($this->options) as $type => $value) { + $this->validate($type, $value); + } + } + + /** + * @param $type + * @param $value + * @param string $extra + * + * @return mixed + */ + protected function validate($type, $value, $extra = '') + { + /** @var Config $config */ + $config = Grav::instance()['config']; + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + $username_regex = '/' . $config->get('system.username_regex') . '/'; + $pwd_regex = '/' . $config->get('system.pwd_regex') . '/'; + + switch ($type) { + case 'user': + if (!preg_match($username_regex, $value)) { + throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed'); + } + if (!$locator->findResource('account://' . $value . YAML_EXT)) { + throw new \RuntimeException('Username "' . $value . '" does not exist, please pick another username'); + } + + break; + + case 'password1': + if (!preg_match($pwd_regex, $value)) { + throw new \RuntimeException('Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'); + } + + break; + + case 'password2': + if (strcmp($value, $extra)) { + throw new \RuntimeException('Passwords did not match.'); + } + + break; + } + + return $value; + } + + /** + * Get password and validate. + * + * @param Helper $helper + * @param string $question + * @param callable $validator + * + * @return string + */ + protected function askForPassword(Helper $helper, $question, callable $validator) + { + $question = new Question($question); + $question->setValidator($validator); + $question->setHidden(true); + $question->setHiddenFallback(true); + + return $helper->ask($this->input, $this->output, $question); + } +} diff --git a/sandbox/grav/user/plugins/login/cli/ChangeUserStateCommand.php b/sandbox/grav/user/plugins/login/cli/ChangeUserStateCommand.php new file mode 100644 index 0000000000..ed36b36994 --- /dev/null +++ b/sandbox/grav/user/plugins/login/cli/ChangeUserStateCommand.php @@ -0,0 +1,175 @@ +setName('toggle-user') + ->setAliases(['disableuser', 'enableuser', 'toggleuser', 'change-user-state']) + ->addOption( + 'user', + 'u', + InputOption::VALUE_REQUIRED, + 'The username' + ) + ->addOption( + 'state', + 's', + InputOption::VALUE_REQUIRED, + 'The state of the account. Can be either `enabled` or `disabled`. [default: "enabled"]' + ) + ->setDescription('Changes whether user can login or not') + ->setHelp('The toggle-user sets a user\'s login status to enabled or disabled.') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'user' => $this->input->getOption('user'), + 'state' => $this->input->getOption('state') + ]; + + $this->validateOptions(); + + $helper = $this->getHelper('question'); + $data = []; + + $this->output->writeln('Setting User State'); + $this->output->writeln(''); + + if (!$this->options['user']) { + // Get username and validate + $question = new Question('Enter a username: '); + $question->setValidator(function ($value) { + return $this->validate('user', $value); + }); + + $username = $helper->ask($this->input, $this->output, $question); + } else { + $username = $this->options['user']; + } + + + if (!$this->options['state'] && !count(array_filter($this->options))) { + // Choose State + $question = new ChoiceQuestion( + 'Please choose the state for the account:', + array('enabled' => 'Enabled', 'disabled' => 'Disabled'), + 'enabled' + ); + + $question->setErrorMessage('State %s is invalid.'); + $data['state'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['state'] = $this->options['state'] ?: 'enabled'; + } + + // Lowercase the username for the filename + $username = strtolower($username); + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + // Grab the account file and read in the information before setting the file (prevent setting erase) + $oldUserFile = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $oldData = (array)$oldUserFile->content(); + + //Set the state feild to new state + $oldData['state'] = $data['state']; + + // Create user object and save it using oldData (with updated state) + $user = new User($oldData); + $file = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $user->file($file); + $user->save(); + + $this->output->writeln(''); + $this->output->writeln('Success! User ' . $username . ' state set to .' . $data['state']); + } + + /** + * + */ + protected function validateOptions() + { + foreach (array_filter($this->options) as $type => $value) { + $this->validate($type, $value); + } + } + + /** + * @param $type + * @param $value + * @param string $extra + * + * @return mixed + */ + protected function validate($type, $value, $extra = '') + { + /** @var Config $config */ + $config = Grav::instance()['config']; + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + $username_regex = '/' . $config->get('system.username_regex') . '/'; + + switch ($type) { + case 'user': + if (!preg_match($username_regex, $value)) { + throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed'); + } + if (!file_exists($locator->findResource('account://' . $value . YAML_EXT))) { + throw new \RuntimeException('Username "' . $value . '" does not exist, please pick another username'); + } + + break; + + case 'state': + if ($value !== 'enabled' && $value !== 'disabled') { + throw new \RuntimeException('State is not valid'); + } + + break; + } + + return $value; + } +} diff --git a/sandbox/grav/user/plugins/login/cli/NewUserCommand.php b/sandbox/grav/user/plugins/login/cli/NewUserCommand.php new file mode 100644 index 0000000000..51e7495b64 --- /dev/null +++ b/sandbox/grav/user/plugins/login/cli/NewUserCommand.php @@ -0,0 +1,333 @@ +setName('new-user') + ->setAliases(['add-user', 'newuser']) + ->addOption( + 'user', + 'u', + InputOption::VALUE_REQUIRED, + 'The username' + ) + ->addOption( + 'password', + 'p', + InputOption::VALUE_REQUIRED, + "The password. Note that this option is not recommended because the password will be visible by users listing the processes. You should also make sure the password respects Grav's password policy." + ) + ->addOption( + 'email', + 'e', + InputOption::VALUE_REQUIRED, + 'The user email' + ) + ->addOption( + 'permissions', + 'P', + InputOption::VALUE_REQUIRED, + 'The user permissions. It can be either `a` for Admin access only, `s` for Site access only and `b` for both Admin and Site access.' + ) + ->addOption( + 'fullname', + 'N', + InputOption::VALUE_REQUIRED, + 'The user full name.' + ) + ->addOption( + 'title', + 't', + InputOption::VALUE_REQUIRED, + 'The title of the user. Usually used as a subtext. Example: Admin, Collaborator, Developer' + ) + ->addOption( + 'state', + 's', + InputOption::VALUE_REQUIRED, + 'The state of the account. Can be either `enabled` or `disabled`. [default: "enabled"]' + ) + ->setDescription('Creates a new user') + ->setHelp('The new-user creates a new user file in user/accounts/ folder') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'user' => $this->input->getOption('user'), + 'password1' => $this->input->getOption('password'), + 'email' => $this->input->getOption('email'), + 'permissions' => $this->input->getOption('permissions'), + 'fullname' => $this->input->getOption('fullname'), + 'title' => $this->input->getOption('title'), + 'state' => $this->input->getOption('state') + ]; + + $this->validateOptions(); + + $helper = $this->getHelper('question'); + $data = []; + + $this->output->writeln('Creating new user'); + $this->output->writeln(''); + + if (!$this->options['user']) { + // Get username and validate + $question = new Question('Enter a username: ', 'admin'); + $question->setValidator(function ($value) { + return $this->validate('user', $value); + }); + + $username = $helper->ask($this->input, $this->output, $question); + } else { + $username = $this->options['user']; + } + + + if (!$this->options['password1']) { + // Get password and validate + $password = $this->askForPassword($helper, 'Enter a password: ', function ($password1) use ($helper) { + $this->validate('password1', $password1); + + // Since input is hidden when prompting for passwords, the user is asked to repeat the password + return $this->askForPassword($helper, 'Repeat the password: ', function ($password2) use ($password1) { + return $this->validate('password2', $password2, $password1); + }); + }); + + $data['password'] = $password; + } else { + $data['password'] = $this->options['password1']; + } + + if (!$this->options['email']) { + // Get email and validate + $question = new Question('Enter an email: '); + $question->setValidator(function ($value) { + return $this->validate('email', $value); + }); + + $data['email'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['email'] = $this->options['email']; + } + + if (!$this->options['permissions']) { + // Choose permissions + $question = new ChoiceQuestion( + 'Please choose a set of permissions:', + array('a' => 'Admin Access', 's' => 'Site Access', 'b' => 'Admin and Site Access'), + 'a' + ); + + $question->setErrorMessage('Permissions %s is invalid.'); + $permissions_choice = $helper->ask($this->input, $this->output, $question); + } else { + $permissions_choice = $this->options['permissions']; + } + + switch ($permissions_choice) { + case 'a': + $data['access']['admin'] = ['login' => true, 'super' => true]; + break; + case 's': + $data['access']['site'] = ['login' => true]; + break; + case 'b': + $data['access']['admin'] = ['login' => true, 'super' => true]; + $data['access']['site'] = ['login' => true]; + } + + if (!$this->options['fullname']) { + // Get fullname + $question = new Question('Enter a fullname: '); + $question->setValidator(function ($value) { + return $this->validate('fullname', $value); + }); + + $data['fullname'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['fullname'] = $this->options['fullname']; + } + + + if (!$this->options['title'] && !count(array_filter($this->options))) { + // Get title + $question = new Question('Enter a title: '); + $data['title'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['title'] = $this->options['title']; + } + + if (!$this->options['state'] && !count(array_filter($this->options))) { + // Choose State + $question = new ChoiceQuestion( + 'Please choose the state for the account:', + array('enabled' => 'Enabled', 'disabled' => 'Disabled'), + 'enabled' + ); + + $question->setErrorMessage('State %s is invalid.'); + $data['state'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['state'] = $this->options['state'] ?: 'enabled'; + } + + // Lowercase the username for the filename + $username = strtolower($username); + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + // Create user object and save it + $user = new User($data); + $file = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $user->file($file); + $user->save(); + + $this->output->writeln(''); + $this->output->writeln('Success! User ' . $username . ' created.'); + } + + /** + * + */ + protected function validateOptions() + { + foreach (array_filter($this->options) as $type => $value) { + $this->validate($type, $value); + } + } + + /** + * @param $type + * @param $value + * @param string $extra + * + * @return mixed + */ + protected function validate($type, $value, $extra = '') + { + /** @var Config $config */ + $config = Grav::instance()['config']; + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + + $username_regex = '/' . $config->get('system.username_regex') . '/'; + $pwd_regex = '/' . $config->get('system.pwd_regex') . '/'; + + switch ($type) { + case 'user': + if (!preg_match($username_regex, $value)) { + throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed'); + } + if (file_exists($locator->findResource('account://' . $value . YAML_EXT))) { + throw new \RuntimeException('Username "' . $value . '" already exists, please pick another username'); + } + + break; + + case 'password1': + if (!preg_match($pwd_regex, $value)) { + throw new \RuntimeException('Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'); + } + + break; + + case 'password2': + if (strcmp($value, $extra)) { + throw new \RuntimeException('Passwords did not match.'); + } + + break; + + case 'email': + if (!preg_match('/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/', $value)) { + throw new \RuntimeException('Not a valid email address'); + } + + break; + + case 'permissions': + if (!in_array($value, ['a', 's', 'b'])) { + throw new \RuntimeException('Permissions ' . $value . ' are invalid.'); + } + + break; + + case 'fullname': + if ($value === null || trim($value) === '') { + throw new \RuntimeException('Fullname cannot be empty'); + } + + break; + + case 'state': + if ($value !== 'enabled' && $value !== 'disabled') { + throw new \RuntimeException('State is not valid'); + } + + break; + } + + return $value; + } + + /** + * Get password and validate. + * + * @param Helper $helper + * @param string $question + * @param callable $validator + * + * @return string + */ + protected function askForPassword(Helper $helper, $question, callable $validator) + { + $question = new Question($question); + $question->setValidator($validator); + $question->setHidden(true); + $question->setHiddenFallback(true); + return $helper->ask($this->input, $this->output, $question); + } +} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/composer.json b/sandbox/grav/user/plugins/login/composer.json new file mode 100644 index 0000000000..78751cc190 --- /dev/null +++ b/sandbox/grav/user/plugins/login/composer.json @@ -0,0 +1,37 @@ +{ + "name": "grav-plugin-login", + "description": "Enables user authentication and login screen.", + "keywords": ["login", "authentication", "admin", "security"], + "homepage": "https://github.com/getgrav/grav-plugin-login", + "license": "MIT", + "authors": [ + { + "name": "Team Grav", + "email": "devs@getgrav.org", + "homepage": "http://getgrav.org", + "role": "Developer" + }, + { + "name": "Sommerregen", + "email": "sommerregen@benjamin-regler.de", + "homepage": "http://benjamin-regler.de", + "role": "Developer" + } + ], + "support": { + "email": "support@example.org", + "issues": "https://github.com/getgrav/grav-plugin-login/issues", + "irc": "https://gitter.im/getgrav/grav", + "forum": "http://getgrav.org/forum", + "docs": "https://github.com/getgrav/grav-plugin-login/blob/master/README.md" + }, + "require": { + "php": ">=5.4.0", + "birke/rememberme": "1.*" + }, + "autoload": { + "psr-4": { + "Grav\\Plugin\\Login\\": "classes/" + } + } +} diff --git a/sandbox/grav/user/plugins/login/composer.lock b/sandbox/grav/user/plugins/login/composer.lock new file mode 100644 index 0000000000..8d1fb6d705 --- /dev/null +++ b/sandbox/grav/user/plugins/login/composer.lock @@ -0,0 +1,113 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "540c2e320c9819de1b7c90b59f17263d", + "packages": [ + { + "name": "birke/rememberme", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/gbirke/rememberme.git", + "reference": "810473852eb4823098e47e23376a19b77ba0c165" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gbirke/rememberme/zipball/810473852eb4823098e47e23376a19b77ba0c165", + "reference": "810473852eb4823098e47e23376a19b77ba0c165", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.1.4" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Birke\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gabriel Birke", + "email": "gb@birke-software.de" + } + ], + "description": "Secure \"Remember Me\" functionality", + "homepage": "https://github.com/gbirke/rememberme", + "keywords": [ + "cookie", + "remember", + "security" + ], + "time": "2017-02-12T12:43:00+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v1.4.2", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/965cdeb01fdcab7653253aa81d40441d261f1e66", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2017-03-13T16:22:52+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.4.0" + }, + "platform-dev": [] +} diff --git a/sandbox/grav/user/plugins/login/css/login.css b/sandbox/grav/user/plugins/login/css/login.css new file mode 100644 index 0000000000..c4abce560b --- /dev/null +++ b/sandbox/grav/user/plugins/login/css/login.css @@ -0,0 +1,81 @@ +#grav-login { + max-width: 30rem; + margin: 5rem auto; + background: #fcfcfc; + border: 4px solid #eee; + border-radius: 4px; + padding: 1rem 3rem 3rem 3rem; + text-align: center; +} + +#grav-login .form-actions { + text-align: right; +} + +#grav-logout { + position: absolute; + bottom: 5px; + right: 5px; +} + +.alert.info { + color: #27ae60; +} + +.alert.error { + color: #e74c3c; +} + +#grav-login p { + font-size: small; + margin: 1rem 0; + padding: 0; + text-align: center; +} +#grav-login .form-actions p { + margin-bottom: 0; +} + +#grav-login .button { + vertical-align: middle; +} + +#grav-login .delimiter { + display: block; + font-size: 1.6rem; + letter-spacing: 1px; + line-height: 1.6rem; + position: relative; + text-transform: uppercase; + margin: 1rem 0; +} + +#grav-login .delimiter:after, +#grav-login .delimiter:before { + background-color: #777777; + content: ""; + height: 1px; + position: absolute; + top: 0.8rem; + width: 40%; +} +#grav-login .delimiter:before { + background-image: -moz-linear-gradient(right center , #777777, #ffffff); + left: 0; +} +#grav-login .delimiter:after { + background-image: -moz-linear-gradient(left center , #777777, #ffffff); + right: 0; +} + +#grav-login .rememberme { + display: inline-block; + float: left; + padding: 7px 0; + vertical-align: middle; +} + +#grav-login .rememberme label { + font-weight: inherit; + display: inline; +} diff --git a/sandbox/grav/user/plugins/login/hebe.json b/sandbox/grav/user/plugins/login/hebe.json new file mode 100644 index 0000000000..d1f65aedf5 --- /dev/null +++ b/sandbox/grav/user/plugins/login/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-login", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/login" + } + ] + } + } + } +} diff --git a/sandbox/grav/user/plugins/login/languages.yaml b/sandbox/grav/user/plugins/login/languages.yaml new file mode 100644 index 0000000000..773ec5dff5 --- /dev/null +++ b/sandbox/grav/user/plugins/login/languages.yaml @@ -0,0 +1,512 @@ +en: + PLUGIN_LOGIN: + USERNAME: Username + EMAIL: Email + USERNAME_EMAIL: Username/Email + PASSWORD: Password + ACCESS_DENIED: Access denied... + LOGIN_FAILED: Login failed... + LOGIN_SUCCESSFUL: You have been successfully logged in. + BTN_LOGIN: Login + BTN_LOGOUT: Logout + BTN_FORGOT: Forgot + BTN_REGISTER: Register + BTN_RESET: "Reset Password" + BTN_SEND_INSTRUCTIONS: "Send Reset Instructions" + RESET_LINK_EXPIRED: "Reset link has expired, please try again" + RESET_PASSWORD_RESET: "Password has been reset" + RESET_INVALID_LINK: "Invalid reset link used, please try again" + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instructions to reset your password have been sent via email" + FORGOT_FAILED_TO_EMAIL: "Failed to email instructions, please try again later" + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Cannot reset password for %s, no email address is set" + FORGOT_USERNAME_DOES_NOT_EXIST: "User with username %s does not exist" + FORGOT_EMAIL_NOT_CONFIGURED: "Cannot reset password. This site is not configured to send emails" + FORGOT_EMAIL_SUBJECT: "%s Password Reset Request" + FORGOT_EMAIL_BODY: "

    Password Reset

    Dear %1$s,

    A request was made on %4$s to reset your password.


    Click this to reset your password

    Alternatively, copy the following URL into your browser's address bar:

    %2$s


    Kind regards,

    %3$s

    " + SESSION: "“Remember Me”-Session" + REMEMBER_ME: Remember Me + REMEMBER_ME_HELP: "Sets a persistent cookie on your browser to allow persistent-login authentication between sessions." + REMEMBER_ME_STOLEN_COOKIE: "Someone else has used your login information to access this page! All sessions were logged out. Please log in with your credentials and check your data." + BUILTIN_CSS: Use built in CSS + BUILTIN_CSS_HELP: Include the CSS provided by the admin plugin + ROUTE: Login path + ROUTE_HELP: Custom route to a custom login page that your theme provides + ROUTE_REGISTER: Registration path + ROUTE_REGISTER_HELP: Route to the registration page. Set this if you want to use the built-in registration page. Leave it empty if you have your own registration form + USERNAME_NOT_VALID: "Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed" + USERNAME_NOT_AVAILABLE: "Username %s already exists, please pick another username" + PASSWORD_NOT_VALID: "Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" + PASSWORDS_DO_NOT_MATCH: "Passwords do not match. Double-check you entered the same password twice" + USER_NEEDS_EMAIL_FIELD: "The user needs an email field" + EMAIL_SENDING_FAILURE: "An error occurred while sending the email" + ACTIVATION_EMAIL_SUBJECT: "Activate your account on %s" + ACTIVATION_EMAIL_BODY: "Hi %s, click here to activate your account on %s" + WELCOME_EMAIL_SUBJECT: "Welcome to %s" + WELCOME_EMAIL_BODY: "Hi %s, welcome to %s!" + NOTIFICATION_EMAIL_SUBJECT: "New user on %s" + NOTIFICATION_EMAIL_BODY: "Hi, a new user registered on %s. Username: %s, email: %s" + EMAIL_FOOTER: "GetGrav.org" + ACTIVATION_LINK_EXPIRED: "Activation link expired" + USER_ACTIVATED_SUCCESSFULLY: "User activated successfully" + INVALID_REQUEST: "Invalid request" + USER_REGISTRATION: "User Registration" + USER_REGISTRATION_ENABLED_HELP: "Enable the user registration" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Validate double entered password" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Validate and compare two different fields for the passwords, named `password1` and `password2`. Enable this if you have two password fields in the registration form" + SET_USER_DISABLED: "Set the user as disabled" + SET_USER_DISABLED_HELP: "Best used along with the `Send activation email` email. Adds the user to Grav, but sets it as disabled" + LOGIN_AFTER_REGISTRATION: "Login the user after registration" + LOGIN_AFTER_REGISTRATION_HELP: "Immediately login the user after the registration. If email activation is required, the user will be logged in immediately after activating the account" + SEND_ACTIVATION_EMAIL: "Send activation email" + SEND_ACTIVATION_EMAIL_HELP: "Sends an email to the user to activate his account. Enable the `Set the user as disabled` option when using this feature, so the user will be set as disabled and an email will be sent to activate the account" + SEND_NOTIFICATION_EMAIL: "Send notification email" + SEND_NOTIFICATION_EMAIL_HELP: "Notifies the site admin that a new user has registered. The email will be sent to the `To` field in the Email Plugin configuration" + SEND_WELCOME_EMAIL: "Send welcome email" + SEND_WELCOME_EMAIL_HELP: "Sends an email to the newly registered user" + DEFAULT_VALUES: "Default values" + DEFAULT_VALUES_HELP: "List of field names and values associated, that will be added to the user profile (yaml file) by default, without being configurable by the user. Separate multiple values with a comma, with no spaces between the values" + ADDITIONAL_PARAM_KEY: "Parameter" + ADDITIONAL_PARAM_VALUE: "Value" + REGISTRATION_FIELDS: "Registration fields" + REGISTRATION_FIELDS_HELP: "Add the fields that will be added to the user yaml file. Fields not listed here will not be added even if present in the registration form" + REGISTRATION_FIELD_KEY: "Field name" + REDIRECT_AFTER_LOGIN: "Redirect after login" + REDIRECT_AFTER_LOGIN_HELP: "Custom route to redirect after login" + REDIRECT_AFTER_REGISTRATION: "Redirect after registration" + REDIRECT_AFTER_REGISTRATION_HELP: "Custom route to redirect after the registration" + OPTIONS: Options + EMAIL_VALIDATION_MESSAGE: "Must be a valid email address" + PASSWORD_VALIDATION_MESSAGE: "Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" + TIMEOUT_HELP: "Sets the session timeout in seconds when Remember Me is enabled and checked by the user. Minimum is 604800 which means 1 week" + GROUPS_HELP: "List of groups the new registered user will be part of, if any" + SITE_ACCESS_HELP: "List of site access levels the new registered user will have. Example: `login` -> `true` " + WELCOME: "Welcome" + REDIRECT_AFTER_ACTIVATION: "Redirect after the user activation" + REDIRECT_AFTER_ACTIVATION_HELP: "Used if the user is required to activate the account via email. Once activated, this route will be shown" + REGISTRATION_DISABLED: "Registration disabled" + USE_PARENT_ACL_LABEL: "Use parent access rules" + USE_PARENT_ACL_HELP: "Check for parent access rules if no rules are defined" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: "Protect a login-protected page media" + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "If enabled, media of a login protected page is login protected as well and cannot be seen unless logged in" + SECURITY_TAB: "Security" + MAX_RESETS_COUNT: "Max password resets count" + MAX_RESETS_COUNT_HELP: "Password reset flood protection setting (0 - not limited)" + MAX_RESETS_INTERVAL: "Max password resets interval" + MAX_RESETS_INTERVAL_HELP: "The time interval for the max password resets count value" + FORGOT_CANNOT_RESET_IT_IS_BLOCKED: "Cannot reset password for %s, password reset functionality temporarily blocked, please try later (maximum %s minutes)" + MAX_LOGINS_COUNT: "Max logins count" + MAX_LOGINS_COUNT_HELP: "Flood protection setting (0 - not limited)" + MAX_LOGINS_INTERVAL: "Max logins interval" + MAX_LOGINS_INTERVAL_HELP: "The time interval for the login count value" + TOO_MANY_LOGIN_ATTEMPTS: "Too many failed login attempted in the configured time (%s minutes)" + SECONDS: "seconds" + RESETS: "resets" + ATTEMPTS: "attempts" + ROUTES: "Routes" + ROUTE_FORGOT: "Forgot password route" + ROUTE_RESET: "Reset password route" + ROUTE_PROFILE: "User profile route" + ROUTE_ACTIVATE: "User activation route" + +de: + PLUGIN_LOGIN: + USERNAME: Benutzername + EMAIL: Email + USERNAME_EMAIL: Benutzername/Email + PASSWORD: Passwort + ACCESS_DENIED: Zugang verweigert + LOGIN_FAILED: Login fehlgeschlagen... + LOGIN_SUCCESSFUL: Du wurdest erfolgreich eingeloggt. + BTN_LOGIN: Anmelden + BTN_LOGOUT: Abmelden + BTN_FORGOT: Vergessen + BTN_REGISTER: Registrieren + REMEMBER_ME: Angemeldet bleiben + REMEMBER_ME_HELP: "Speichert einen Cookie im Browser, welcher eine fortwährende Anmeldung sicherstellt." + BUILTIN_CSS: "Nutze das integrierte CSS" + BUILTIN_CSS_HELP: "Nutze das CSS, welches vom Admin Plugin bereitgestellt werden" + ROUTE: "Anmeldepfad" + ROUTE_REGISTER: "Registrierungspfad" + USERNAME_NOT_AVAILABLE: "Der Nutzername %s existiert bereits, bitte wähle einen Anderen" + USER_NEEDS_EMAIL_FIELD: "Der Nutzer benötigt ein E-Mail Feld" + EMAIL_SENDING_FAILURE: "Ein Fehler ist beim senden der E-Mail aufgetreten" + ACTIVATION_EMAIL_SUBJECT: "Aktiviere dein Account auf %s" + ACTIVATION_EMAIL_BODY: "Hi %s, click %s to activate your account on %s" + WELCOME_EMAIL_SUBJECT: "Willkommen zu %s" + WELCOME_EMAIL_BODY: "Hi %s, willkommen zu %s!" + NOTIFICATION_EMAIL_SUBJECT: "Neuer Nutzer auf %s" + NOTIFICATION_EMAIL_BODY: "Hi, ein neuer Nutzer hat sich auf %s registriert. Nutzername: %s, E-Mail: %s" + EMAIL_FOOTER: "GetGrav.org" + ACTIVATION_LINK_EXPIRED: "Aktivierungslink ist abgelaufen" + USER_ACTIVATED_SUCCESSFULLY: "Nutzer erfolgreich aktiviert" + INVALID_REQUEST: "Ungültige Anfrage" + USER_REGISTRATION: "Nutzer Registrierung" + USER_REGISTRATION_ENABLED_HELP: "Aktiviere die Nutzer Registrierung" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Überprüfe das doppelt eingegebene Passwort" + SEND_ACTIVATION_EMAIL: "Aktivierungs E-Mail senden" + SEND_NOTIFICATION_EMAIL: "Benachtichtigungs E-Mail senden" + SEND_WELCOME_EMAIL: "Sende eine Willkommens E-Mail" + DEFAULT_VALUES: "Standard Werte" + ADDITIONAL_PARAM_KEY: "Parameter" + ADDITIONAL_PARAM_VALUE: "Wert" + REGISTRATION_FIELDS: "Registrierungsfelder" + REGISTRATION_FIELD_KEY: "Feldname" + REDIRECT_AFTER_LOGIN: "Umleitung nach Login" + REDIRECT_AFTER_REGISTRATION: "Umleitung nach Registrierung" + OPTIONS: Optionen + EMAIL_VALIDATION_MESSAGE: "Muss eine gültige E-Mail Adresse sein" + WELCOME: "Willkommen" + +fr: + PLUGIN_LOGIN: + USERNAME: "Nom d’utilisateur" + EMAIL: "E-mail" + USERNAME_EMAIL: "Nom d’utilisateur/E-mail" + PASSWORD: "Mot de passe" + ACCESS_DENIED: "Accès refusé..." + LOGIN_FAILED: "Échec de la connexion..." + LOGIN_SUCCESSFUL: "Vous vous êtes connecté avec succès." + BTN_LOGIN: "Connexion" + BTN_LOGOUT: "Déconnexion" + BTN_FORGOT: "Mot de passe oublié" + BTN_REGISTER: "S’enregister" + BTN_RESET: "Réinitialiser le mot de passe" + BTN_SEND_INSTRUCTIONS: "Envoyer les instructions de Réinitialisation" + RESET_LINK_EXPIRED: "Le lien de réinitialisation a expiré, veuillez réessayer" + RESET_PASSWORD_RESET: "Le mot de passe a été réinitialisé" + RESET_INVALID_LINK: "Le lien de réinitialisation utilisé n’est pas valide, veuillez réessayer" + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Les instructions pour la réinitialisation de votre mot de passe ont été envoyées par e-mail" + FORGOT_FAILED_TO_EMAIL: "Impossible d’envoyer les instructions, veuillez réessayer ultérieurement" + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Impossible de réinitialiser le mot de passe pour %s, aucune adresse e-mail n’a été paramétrée" + FORGOT_USERNAME_DOES_NOT_EXIST: "L’utilisateur avec le nom d’utilisateur %s n’existe pas" + FORGOT_EMAIL_NOT_CONFIGURED: "Impossible de réinitialiser le mot de passe. Ce site n’est pas configuré pour envoyer des e-mails" + FORGOT_EMAIL_SUBJECT: "Demande de réinitialisation de mot de passe %s" + FORGOT_EMAIL_BODY: "

    Réinitialisation de mot de passe

    %1$s,

    Une demande a été faite sur %4$s pour la réinitialisation de votre mot de passe.


    Cliquez ici pour réinitialiser votre mot de passe

    Vous pouvez également copier l’URL suivante dans la barre d’adresse de votre navigateur :

    %2$s


    Cordialement,

    %3$s

    " + SESSION: "Session - “Se souvenir de moi”" + REMEMBER_ME: "Se souvenir de moi" + REMEMBER_ME_HELP: "Définit un cookie persistant sur votre navigateur autorisant l’authentification par connexion persistante entre les sessions." + REMEMBER_ME_STOLEN_COOKIE: "Quelqu’un d’autre a utilisé vos informations de connexion pour accéder à cette page ! Toutes les sessions ont été déconnectées. Veuillez vous connecter avec vos identifiants et vérifier vos données." + BUILTIN_CSS: "Utiliser les CSS intégrés" + BUILTIN_CSS_HELP: "Utiliser les CSS fournis dans le plugin d’administration" + ROUTE: "Chemin de connexion" + ROUTE_HELP: "Chemin personnalisé vers une page de connexion personnalisée proposée par votre thème" + ROUTE_REGISTER: "Chemin vers l’inscription" + ROUTE_REGISTER_HELP: "Chemin vers la page d’inscription. A définir si vous souhaitez utiliser la page d’inscription intégrée. Laisser vide si vous disposez de votre propre formulaire d’inscription." + USERNAME_NOT_VALID: "Le nom d’utilisateur doit comporter entre 3 et 16 caractères et peut être composé de lettres minuscules, de chiffres et de tirets de soulignement (underscores) et des traits d’union. Les lettres majuscules, les espaces et les caractères spéciaux ne sont pas autorisés." + USERNAME_NOT_AVAILABLE: "Le nom d’utilisateur %s existe déjà, veuillez en choisir un autre." + PASSWORD_NOT_VALID: "Le mot de passe doit contenir au moins un chiffre, une majuscule et une minuscule et être composé d’au moins 8 caractères" + PASSWORDS_DO_NOT_MATCH: "Les mots de passe sont différents. Réessayez de saisir le même mot de passe deux fois." + USER_NEEDS_EMAIL_FIELD: "L’utilisateur a besoin d’un champ pour e-mail" + EMAIL_SENDING_FAILURE: "Une erreur est survenue lors de l’envoi de l’e-mail." + ACTIVATION_EMAIL_SUBJECT: "Activer votre compte sur %s" + ACTIVATION_EMAIL_BODY: "Bonjour %s, cliquez pour activer votre compte sur %s" + WELCOME_EMAIL_SUBJECT: "Bienvenue sur %s" + WELCOME_EMAIL_BODY: "Bonjour %s, bienvenue sur %s!" + NOTIFICATION_EMAIL_SUBJECT: "Nouvel utilisateur sur %s" + EMAIL_FOOTER: "GetGrav.org" + NOTIFICATION_EMAIL_BODY: "Bonjour, un nouvel utilisateur s’est inscrit sur %s. Nom d’utilisateur : %s, e-mail : %s" + ACTIVATION_LINK_EXPIRED: "Le lien d’activation a expiré" + USER_ACTIVATED_SUCCESSFULLY: "Utilisateur activé avec succès" + INVALID_REQUEST: "Requête non valide" + USER_REGISTRATION: "Inscription de l’utilisateur" + USER_REGISTRATION_ENABLED_HELP: "Activer l’inscription des utilisateurs" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Valider la double saisie du mot de passe" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Comparer et valider deux champs pour les mots de passe `Mot de passe 1` et `Mot de passe 2`. Activez cette option si vous avez deux champs de mots de passe dans le formulaire d’inscription." + SET_USER_DISABLED: "Définir l’utilisateur comme désactivé" + SET_USER_DISABLED_HELP: "La meilleure pratique si vous utilisez l’option `Envoyer un e-mail d’activation`. Ajoute l’utilisateur à Grav, mais le défini comme étant désactivé." + LOGIN_AFTER_REGISTRATION: "Connecte l’utilisateur après son inscription" + LOGIN_AFTER_REGISTRATION_HELP: "Identifier immédiatement l’utilisateur après l’inscription. Si l’e-mail d’activation est demandé, l’utilisateur sera connecté immédiatement après l’activation du compte." + SEND_ACTIVATION_EMAIL: "Envoyer un e-mail d’activation" + SEND_ACTIVATION_EMAIL_HELP: "Envoyer un e-mail à l’utilisateur pour l’activation son compte. Lorsque vous utilisez cette fonction, activez l’option `Définir l’utilisateur comme désactivé` afin que l’utilisateur soit désactivé et qu’un e-mail lui soit envoyé pour activer son compte." + SEND_NOTIFICATION_EMAIL: "Envoyer un e-mail de notification" + SEND_NOTIFICATION_EMAIL_HELP: "Informe l’administrateur du site qu’un nouvel utilisateur s’est enregistré. L’e-mail sera envoyé à la personne renseignée dans le champ `À` dans la configuration du plugin e-mail." + SEND_WELCOME_EMAIL: "Envoyer un e-mail de bienvenue" + SEND_WELCOME_EMAIL_HELP: "Envoyer un e-mail à un nouvel utilisateur enregistré." + DEFAULT_VALUES: "Valeurs par défaut" + DEFAULT_VALUES_HELP: "Liste des noms et valeurs associés pour les champs. Ils seront ajoutés au profil utilisateur par défaut (fichier yaml), sans pouvoir être configurables par l’utilisateur. Séparez les différentes valeurs par une virgule, sans espaces entre les valeurs." + ADDITIONAL_PARAM_KEY: "Paramètre" + ADDITIONAL_PARAM_VALUE: "Valeur" + REGISTRATION_FIELDS: "Champs d’inscription" + REGISTRATION_FIELDS_HELP: "Ajouter les champs qui seront ajoutés au fichier yaml de l’utilisateur. Les champs non listés ne seront pas ajoutés même s’ils sont présent sur le formulaire d’inscription" + REGISTRATION_FIELD_KEY: "Nom du champ" + REDIRECT_AFTER_LOGIN: "Redirection après connexion" + REDIRECT_AFTER_LOGIN_HELP: "Chemin personnalisé de redirection après la connexion" + REDIRECT_AFTER_REGISTRATION: "Redirection après inscription" + REDIRECT_AFTER_REGISTRATION_HELP: "Chemin personnalisé de redirection après l’inscription" + OPTIONS: "Options" + EMAIL_VALIDATION_MESSAGE: "Doit-être une adresse e-mail valide" + PASSWORD_VALIDATION_MESSAGE: "Le mot de passe doit-être composé d’au moins un chiffre, une majuscule et une minuscule, et au moins 8 caractères" + TIMEOUT_HELP: "Définit le délai d’expiration de la session en secondes lorsque `Se souvenir de moi` est activé et coché par l’utilisateur. Minimum de 604800 ce qui correspond à 1 semaine." + GROUPS_HELP: "Liste des groupes auxquels le nouvel utilisateur enregistré fera partie, le cas échéant." + SITE_ACCESS_HELP: "Liste des niveaux d’accès au site attribués au nouvel utilisateur enregistré. Exemple : `login` -> `true` " + WELCOME: "Bienvenue" + REDIRECT_AFTER_ACTIVATION: "Redirection après l’activation de l’utilisateur" + REDIRECT_AFTER_ACTIVATION_HELP: "Utilisé s’il est nécessaire pour l’utilisateur d’activer le compte par e-mail. Une fois activé, ce chemin s’affichera" + REGISTRATION_DISABLED: "Inscription désactivée" + USE_PARENT_ACL_LABEL: "Appliquer les règles d’accès parentes" + USE_PARENT_ACL_HELP: "Utiliser les règles d’accès parentes si aucune règle n’a été définie" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: "Protéger le média d'une page par une protection par connexion" + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "Si activé, les médias d'une page protégée par connexion sera également protégé par un système de connexion et ne pourra pas être visible à moins d'être connecté." + +ru: + PLUGIN_LOGIN: + USERNAME: Логин + EMAIL: Email + USERNAME_EMAIL: Логин/Email + PASSWORD: Пароль + ACCESS_DENIED: Доступ закрыт... + LOGIN_FAILED: Ошибка входа... + LOGIN_SUCCESSFUL: Вы успешно вошли в систему. + BTN_LOGIN: Войти + BTN_LOGOUT: Выйти + BTN_FORGOT: Забыл + BTN_REGISTER: Регистрация + BTN_RESET: "Сброс пароля" + BTN_SEND_INSTRUCTIONS: "Отправить инструкции по сбросу" + RESET_LINK_EXPIRED: "Время ссылки для сброса истекло, повторите попытку" + RESET_PASSWORD_RESET: "Пароль был сброшен" + RESET_INVALID_LINK: "Неверная ссылка сброса, повторите попытку" + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Инструкции по сбросу пароля были отправлены по электронной почте" + FORGOT_FAILED_TO_EMAIL: "Не удалось отправить инструкции по электронной почте, повторите попытку позже" + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Не удается сбросить пароль для %s, адресс электронной почты не установлен" + FORGOT_USERNAME_DOES_NOT_EXIST: "Пользователь с именем %s не существует" + FORGOT_EMAIL_NOT_CONFIGURED: "Невозможно сбросить пароль. Этот сайт не настроен для отправки писем" + FORGOT_EMAIL_SUBJECT: "%s Запрос на сброс пароля" + FORGOT_EMAIL_BODY: "

    Восстановление пароля

    Уважаемый %1$s,

    Был сделан запрос для сброса пароля от %4$s.


    Нажмите, чтобы сбросить пароль

    Или скопируйте следующий URL-адрес в адресную строку браузера:

    %2$s


    С уважением,

    %3$s

    " + SESSION: "“Запомнить меня”-Сессия" + REMEMBER_ME: Запомнить меня + REMEMBER_ME_HELP: "Устанавливает постоянный файл cookie в вашем браузере, чтобы разрешить постоянную аутентификацию входа между сеансами." + REMEMBER_ME_STOLEN_COOKIE: "Кто-то еще использовал вашу регистрационную информацию для доступа к этой странице! Все сеансы были отключены. Войдите в свою учетную запись и проверьте свои данные." + BUILTIN_CSS: Использовать встроенный CSS + BUILTIN_CSS_HELP: Использовать CSS, предоставленный плагином администратора. + ROUTE: Путь страницы входа + ROUTE_HELP: Путь к пользовательской странице входа, которую предоставляет ваша тема + ROUTE_REGISTER: Путь регистрации + ROUTE_REGISTER_HELP: Путь к пользовательской странице регистрации. Заполните, если вы хотите использовать встроенную страницу регистрации. Оставьте его пустым, если у вас есть собственная регистрационная форма + USERNAME_NOT_VALID: "Имя пользователя должно быть от 3 до 16 символов, включая строчные буквы, цифры, символы подчеркивания и дефисы. Прописные буквы, пробелы и специальные символы не допускаются" + USERNAME_NOT_AVAILABLE: "Имя пользователя %s уже существует, выберите другое имя пользователя" + PASSWORD_NOT_VALID: "Пароль должен содержать как минимум одно число, одну прописную и строчную букву, и быть не менее 8 символов" + PASSWORDS_DO_NOT_MATCH: "Пароли не совпадают. Дважды проверьте, что вы дважды ввели тот же пароль" + USER_NEEDS_EMAIL_FIELD: "Пользователю требуется поле электронной почты" + EMAIL_SENDING_FAILURE: "Произошла ошибка при отправке письма" + ACTIVATION_EMAIL_SUBJECT: "Активируйте свою учетную запись %s" + ACTIVATION_EMAIL_BODY: "Привет %s, перейдите сюда для активации вашей учетной записи %s" + WELCOME_EMAIL_SUBJECT: "Добро пожаловать в %s" + WELCOME_EMAIL_BODY: "Привет %s, добро пожаловать в %s!" + NOTIFICATION_EMAIL_SUBJECT: "Новый пользователь %s" + NOTIFICATION_EMAIL_BODY: "Привет, новый пользователь, зарегистрированный на %s. Имя пользователя: %s, email: %s" + EMAIL_FOOTER: "GetGrav.org" + ACTIVATION_LINK_EXPIRED: "Время ссылки для активации истекло" + USER_ACTIVATED_SUCCESSFULLY: "Пользователь успешно активирован" + INVALID_REQUEST: "Неверный запрос" + USER_REGISTRATION: "Регистрация пользователя" + USER_REGISTRATION_ENABLED_HELP: "Включить регистрацию пользователя" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Двойная проверка введенного пароля" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Подтвердить и сравнить два разных поля для паролей с именами `password1` и` password2`. Включите это, если у вас есть два поля пароля в регистрационной форме" + SET_USER_DISABLED: "Установить пользователя как отключенный" + SET_USER_DISABLED_HELP: "Лучше всего использовать электронную почту «Отправить электронную почту активации». Добавляет пользователя в Grav, но устанавливает его как отключенный" + LOGIN_AFTER_REGISTRATION: "Воход в систему после регистрации" + LOGIN_AFTER_REGISTRATION_HELP: "Автоматический воход в систему после регистрации. Если требуется активация электронной почты, пользователь будет входить в систему сразу после активации учетной записи" + SEND_ACTIVATION_EMAIL: "Отправить письмо активации" + SEND_ACTIVATION_EMAIL_HELP: "Отправляет электронное письмо пользователю для активации своей учетной записи. Включите параметр «Установить пользователя как отключенный» при использовании этой функции, чтобы пользователь был отключен, и для активации учетной записи будет отправлено электронное письмо" + SEND_NOTIFICATION_EMAIL: "Отправить уведомление по электронной почте" + SEND_NOTIFICATION_EMAIL_HELP: "Сообщает администратору сайта о регистрации нового пользователя. Электронная почта будет отправлена в поле «Кому» в конфигурации плагина электронной почты" + SEND_WELCOME_EMAIL: "Отправить приветственное письмо" + SEND_WELCOME_EMAIL_HELP: "Отправляет электронное письмо вновь зарегистрированному пользователю" + DEFAULT_VALUES: "Значения по умолчанию" + DEFAULT_VALUES_HELP: "Список названий полей и связанных значений, которые будут добавлены в профиль пользователя (файл yaml) по умолчанию, без настройки пользователем. Разделите несколько значений запятой, без пробелов между значениями" + ADDITIONAL_PARAM_KEY: "Параметр" + ADDITIONAL_PARAM_VALUE: "Значение" + REGISTRATION_FIELDS: "Регистрационные поля" + REGISTRATION_FIELDS_HELP: "Добавьте поля, которые будут добавлены в файл yaml пользователя. Поля, не перечисленные здесь, не будут добавлены, даже если они присутствуют в регистрационной форме" + REGISTRATION_FIELD_KEY: "Имя поля" + REDIRECT_AFTER_LOGIN: "Перенаправление после входа в систему" + REDIRECT_AFTER_LOGIN_HELP: "Пользовательский маршрут для перенаправления после входа в систему" + REDIRECT_AFTER_REGISTRATION: "Перенаправление после регистрации" + REDIRECT_AFTER_REGISTRATION_HELP: "Пользовательский маршрут для перенаправления после регистрации" + OPTIONS: Опции + EMAIL_VALIDATION_MESSAGE: "Адрес эл. почты должен быть действительным" + PASSWORD_VALIDATION_MESSAGE: "Пароль должен содержать как минимум одно число, одну прописную и строчную букву и быть не менее 8 символов" + TIMEOUT_HELP: "Устанавливает тайм-аут сеанса в секундах, когда функция «Запомнить меня» включена и установлена пользователем. Минимум 604800, что означает 1 неделю" + GROUPS_HELP: "Список групп, в которые войдет новый зарегистрированный пользователь" + SITE_ACCESS_HELP: "Список уровней доступа к сайту, зарегистрированных пользователей. Пример: `login` ->` true`" + WELCOME: "Добро пожаловать" + REDIRECT_AFTER_ACTIVATION: "Перенаправление после активации пользователя" + REDIRECT_AFTER_ACTIVATION_HELP: "Используется, если пользователю требуется активировать учетную запись по электронной почте. После активации этот маршрут будет показан" + REGISTRATION_DISABLED: "Регистрация отключена" + USE_PARENT_ACL_LABEL: "Использовать родительские правила доступа" + USE_PARENT_ACL_HELP: "Проверьте правила доступа к родителям, если правила не определены" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: "Защита защищенных страниц." + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "Если этот параметр включен, то доступ к защищенной странице для входа в систему также защищен паролем, и его нельзя увидеть, если он не зарегистрирован" + SECURITY_TAB: "Безопасность" + MAX_RESETS_COUNT: "Максимальное количество сброса пароля" + MAX_RESETS_COUNT_HELP: "Настройка защиты пароля от флуда (0 - не ограничено)" + MAX_RESETS_INTERVAL: "Максимальный интервал сброса пароля" + MAX_RESETS_INTERVAL_HELP: "Интервал времени для максимального количества сбросов пароля" + FORGOT_CANNOT_RESET_IT_IS_BLOCKED: "Невозможно сбросить пароль для %s, функция сброса пароля временно отключена, попробуйте позже (максимум %s минут)" + MAX_LOGINS_COUNT: "Максимальное количество входов" + MAX_LOGINS_COUNT_HELP: "Настройка защиты от флуда (0 - не ограничено)" + MAX_LOGINS_INTERVAL: "Максимальный интервал входа" + MAX_LOGINS_INTERVAL_HELP: "Временной интервал для значения счетчика входа" + TOO_MANY_LOGIN_ATTEMPTS: "Слишком много неудачных попыток входа в настроенное время (%s минут)" + SECONDS: "секунд" + RESETS: "сбросов" + ATTEMPTS: "попыток" + ROUTES: "Маршруты" + ROUTE_FORGOT: "Забыли пароль" + ROUTE_RESET: "Сброса пароля" + ROUTE_PROFILE: "Профиля пользователя" + ROUTE_ACTIVATE: "Активации пользователя" + +hr: + PLUGIN_LOGIN: + ACCESS_DENIED: Pristup odbijen... + LOGIN_FAILED: Prijava nije uspjela... + BTN_LOGIN: Prijava + BTN_LOGOUT: Odjava + BTN_FORGOT: Zaboravih + BTN_REGISTER: Registriraj + REMEMBER_ME: Zapamti me + BUILTIN_CSS: Koristi ugrađeni CSS + BUILTIN_CSS_HELP: Uključi CSS koji dolazi sa admin pluginom + ROUTE: Putanja prijave + ROUTE_REGISTER: Putanja registracije + USERNAME_NOT_VALID: "Korisničko ime bi trebalo biti između 3 i 16 znakova, uključujući mala slova, brojeve, _, i crtice. VELIKA SLOVA, razmaci, i posebni znakovi nisu dopušteni" + USERNAME_NOT_AVAILABLE: "Korisničko ime %s već postoji, odaberi neko drugo" + PASSWORD_NOT_VALID: "Lozinka mora sadržavati bar jedan broj i jedno veliko i malo slovo, i bar još 8 ili više znakova" + PASSWORDS_DO_NOT_MATCH: "Lozinke se ne slažu. Poonovo provjeri da li si unio istu lozinku dva puta" + USER_NEEDS_EMAIL_FIELD: "Korisnik treba email polje" + EMAIL_SENDING_FAILURE: "Došlo je do greške pri slanju emaila" + ACTIVATION_LINK_EXPIRED: "Aktivacijski link je istekao" + USER_ACTIVATED_SUCCESSFULLY: "Korisnik je uspješno aktiviran" + INVALID_REQUEST: "Nevaljani zahtjev" + USER_REGISTRATION: "Registracija korisnika" + USER_REGISTRATION_ENABLED_HELP: "Omogući registraciju korisnika" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Validiraj duplo unesenu lozinku" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Validiraj i usporedi dva različčita polja za lozinke, imenovana `lozinka1` i `lozinka2`. Omogući ovo ako imaš dva polja za lozinke u formularu registracije" + LOGIN_AFTER_REGISTRATION: "Ulogiraj korisnika nakon reegistracije" + LOGIN_AFTER_REGISTRATION_HELP: "Ulogiraj korisnika odmah nakon registracije. Ako je potrebna email aktivacija, korisnik će biti ulogiran odmah nakon aktiviranja računa" + SEND_ACTIVATION_EMAIL: "Pošalji aktivacijski email" + SEND_ACTIVATION_EMAIL_HELP: "Šalje email korisniku da aktivira svoja račun." + SEND_NOTIFICATION_EMAIL: "Pošalji email obavijest" + SEND_NOTIFICATION_EMAIL_HELP: "Obavještava administratora da se novi korisnik registrirao. Email će biti poslan na `To` polje u Email Plugin konfiguraciji" + SEND_WELCOME_EMAIL: "Pošalji email dobrodošlice" + SEND_WELCOME_EMAIL_HELP: "Šalje email novoregistriranom korisniku" + DEFAULT_VALUES: "Određene vrijednosti" + DEFAULT_VALUES_HELP: "List of field names and values associated, that will be added to the user profile (yaml file) by default, without being configurable by the user. Separate multiple values with a comma, with no spaces between the values" + ADDITIONAL_PARAM_KEY: "Parametar" + ADDITIONAL_PARAM_VALUE: "Vrijednost" + REGISTRATION_FIELDS: "Registracijska polja" + REGISTRATION_FIELDS_HELP: "Add the fields that will be added to the user yaml file. Fields not listed here will not be added even if present in the registration form" + REGISTRATION_FIELD_KEY: "Ime polja" + OPTIONS: Opcije + +hu: + PLUGIN_LOGIN: + ACCESS_DENIED: Hozzáférés megtagadva... + LOGIN_FAILED: Sikertelen belépés... + LOGIN_SUCCESSFUL: Sikeresen beléptél. + BTN_LOGIN: Belépés + BTN_LOGOUT: Kilépés + BTN_FORGOT: Elfelejtettem + BTN_REGISTER: Regisztráció + REMEMBER_ME: Jegyezz Meg + REMEMBER_ME_HELP: "Elhelyezünk egy hosszú lejáratú sütit a böngésződben, hogy belépve maradhass két munkamenet között." + REMEMBER_ME_STOLEN_COOKIE: "Valaki a belépési adataid felhasználásával látogatta meg ezt az oldalt! Minden munkamenetet kiléptettünk. Kérlek, jelentkezz be ismét és ellenőrizd az adataidat." + BUILTIN_CSS: Beépített CSS használata + BUILTIN_CSS_HELP: Az admin plugin által biztosított CSS beillesztése + ROUTE: Belépés útvonala + ROUTE_HELP: Egyedi útvonal egy egyedi belépő oldalhoz, melyet az aktuális téma biztosít + ROUTE_REGISTER: Regisztráció útvonala + ROUTE_REGISTER_HELP: A regisztrációs oldal elérési útja. Akkor állítsd be, ha a beépített regisztrációs oldalt szeretnéd használni + USERNAME_NOT_VALID: "A felhasználónév 3-16 karakter hosszú legyen, tartalmazhat kisbetűket, számokat, aláhúzást és kötőjelet. Nagybetűk, szóköz és speciális karakterek használata nem megengedett" + USERNAME_NOT_AVAILABLE: "%s nevű felhasználó már létezik, kérlek válassz más felhasználónevet" + PASSWORD_NOT_VALID: "A jelszónak tartalmaznia kell legalább egy számot, egy kisbetűt és egy nagybetűt, valamint legalább 8 karakter hosszú kell, hogy legyen" + PASSWORDS_DO_NOT_MATCH: "A két jelszó nem egyezik meg. Győzödj meg róla, hogy azonos legyen a kettő" +ro: + PLUGIN_LOGIN: + USERNAME: "Nume utilizator" + PASSWORD: "Parolă" + ACCESS_DENIED: "Acces refuzat..." + LOGIN_FAILED: "Logare eșuată..." + LOGIN_SUCCESSFUL: "Ați fost logat cu succes." + BTN_LOGIN: "Logare" + BTN_LOGOUT: "Ieșire din cont " + BTN_FORGOT: "Am uitat" + BTN_REGISTER: "Înregistrare" + BTN_RESET: "Resetează parola" + BTN_SEND_INSTRUCTIONS: "Trimite instrucțiuni pentru resetare" + RESET_LINK_EXPIRED: "Link-ul pentru resetarea parolei a expirat, vă rugăm încercați din nou " + RESET_PASSWORD_RESET: "Parola a fost modificată" + RESET_INVALID_LINK: "Link-ul pentru resetare este invalid, Invalid reset link used, vă rugăm încercați din nou " + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instrucțiunile pentru resetarea parolei au fst trimise pe email" + FORGOT_FAILED_TO_EMAIL: "Instrucțiunile nu au putut fi trimise pe email, vă rugăm încercați mai târziu " + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Parola nu poate fi resetată pentru %s, nu este setată nici o adresă de email" + FORGOT_USERNAME_DOES_NOT_EXIST: "Utilizatorul cu numele %s nu există" + FORGOT_EMAIL_NOT_CONFIGURED: "Parola nu poate fi resetată. Acest site nu este configurat pentru a trimite email-uri." + FORGOT_EMAIL_SUBJECT: "%s Cerere de resetare a parolei" + FORGOT_EMAIL_BODY: "

    Resetare parolă

    Dragă %1$s,

    O cerere de resetare a parolei a fost făcută în data de %4$s.


    Apasă aici pentru a reseta parola

    Alternativ, copiază URL de mai jos în bara de adrese a browser-ului favorit:

    %2$s


    Cu respect,

    %3$s

    " + SESSION: "“Ține-mă minte”-Sesiune" + REMEMBER_ME: "Ține-mă minte" + REMEMBER_ME_HELP: "Setează o cookie în browserul Dvs. ce permite menținerea datelor de logare între sesiuni." + REMEMBER_ME_STOLEN_COOKIE: "Altcineva a folosit darele Dvs de logare pentru a accesa această pagină! Toate sesiunile au fost deconectate. Vă rugăm să vă logați cu datele Dvs. și să verificați toate detaliile. " + BUILTIN_CSS: "Folosește CSS-ul din modul" + BUILTIN_CSS_HELP: "Include CSS-ul furnizat de către modulul Admin" + ROUTE: "Calea pentru logare" + ROUTE_HELP: "O rută personalizată către pagina de logare pe care o furnizează tema activă " + ROUTE_REGISTER: "Calea pentru înregistrare " + ROUTE_REGISTER_HELP: "Ruta către pagina de înregistrare. Setați această rută dacă doriți folosirea paginei implicite pentru înregistrare. Lăsați gol dacă folosiți o pagină personalizată pentru înregistrare." + USERNAME_NOT_VALID: "Numele de utilizator trebuie să fie între 3-16 caractere, incluzând litere mici, numere, linii de subliniere și cratime. Literele de tipar, spațiile și caracterele speciale nu sunt permise. " + USERNAME_NOT_AVAILABLE: "Utilizatorul %s există deja, vă rugăm alegeți un alt nume de utilizator " + PASSWORD_NOT_VALID: " Parola trebuie să conțină cel puțin 1 număr și o literă de tipar și o literă mică; și să aibă minim 8 caractere" + PASSWORDS_DO_NOT_MATCH: " Parolele nu sunt identice. Vă rugăm verificați că ași scris aceeiași parolă de două ori." + USER_NEEDS_EMAIL_FIELD: "Utilizatorul trebuie să aibă adresa de email completată" + EMAIL_SENDING_FAILURE: "A apărut o eroare la trimirea email-ului" + ACTIVATION_EMAIL_SUBJECT: "Activați-vă contrul pentru %s" + ACTIVATION_EMAIL_BODY: "Salut %s, apasă aici pentru a-ți activa contul de pe %s" + WELCOME_EMAIL_SUBJECT: "Bine ați venit pe %s" + WELCOME_EMAIL_BODY: "Salut %s, bine ai venit la %s!" + NOTIFICATION_EMAIL_SUBJECT: "Utilizator nou pe %s" + NOTIFICATION_EMAIL_BODY: "Salut, un nou utilizator s-a înregistrat pe %s. Nume de utilizator: %s, adresă de email: %s" + ACTIVATION_LINK_EXPIRED: "Link-ul pentru activare este expirat" + USER_ACTIVATED_SUCCESSFULLY: "Utilizator activat cu succes" + INVALID_REQUEST: "Cerere invalidă " + USER_REGISTRATION: "Înregistrare utilizator " + USER_REGISTRATION_ENABLED_HELP: "Activați înregistrarea utilizatorilor" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Validați parola introdusă de două ori" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Validați și comparați cele două câmpuri pentru parolă cu numele `password1` și `password2`. Activați această opțiune dacă există două câmpuri pentru parolă în formularul de înregistrare." + SET_USER_DISABLED: "Setați utilizatorul dezactivat" + SET_USER_DISABLED_HELP: "Cel mai bine să fie folosit împreună cu email-ul pentru activare. Adaugă utilizatorul în Grav dar îl setează ca dezactivat" + LOGIN_AFTER_REGISTRATION: "Loghează utilizatorul după înregistrare" + LOGIN_AFTER_REGISTRATION_HELP: "Imediat după înregistrare loghează utilizatorul în cont. Dacă este necesară activarea prin email, utilizatorul va fi logat imediat după activarea contului." + SEND_ACTIVATION_EMAIL: "Trimite email-ul pentru activare" + SEND_ACTIVATION_EMAIL_HELP: "Trimite un email către utilizatorul nou înregistrat pentru activarea contului. Activați opțiunea `Setați utilizatorul dezactivat` când folosiți această opțiune pentru a seta utilizatorul dezactivat și pentru a trimite un email automat pentru activarea contului. " + SEND_NOTIFICATION_EMAIL: "Trimite email cu notificare" + SEND_NOTIFICATION_EMAIL_HELP: "Notifică adminstratorul site-ului când un utilizator nou s-a înregistrat. Email-ul va di trimis către adresa `Către` din configurarea modului de Email" + SEND_WELCOME_EMAIL: "Trimite email de bun venit" + SEND_WELCOME_EMAIL_HELP: "Trimite un email către utilizatorul nou înregistrat." + DEFAULT_VALUES: " Valori implicite" + DEFAULT_VALUES_HELP: "Listă de câmpuri și valorile asociate acestora ce vor fi adăugate profilului utilizatorului (în fișierul yaml) în mod implicit fără a putea fi configurabile de către utilizator. Separați valorile multiple cu virgulă, fără spații între valori." + ADDITIONAL_PARAM_KEY: "Parametru" + ADDITIONAL_PARAM_VALUE: "Valoare" + REGISTRATION_FIELDS: "Câmpuri pentru înregistrare" + REGISTRATION_FIELDS_HELP: "Adaugă câmpurile ce vor fi adăugate fișierului yaml al utilizatorului. Câmpurile care nu sunt listate aici nu vor fi adăugate chiar dacă sunt prezente în formularul de înregistrare." + REGISTRATION_FIELD_KEY: " Numele câmpului" + REDIRECT_AFTER_LOGIN: "Redirecționează după logare" + REDIRECT_AFTER_LOGIN_HELP: "Ruta personalizată pentru redirecționare după logare" + REDIRECT_AFTER_REGISTRATION: "Redirecționează după înregistrare" + REDIRECT_AFTER_REGISTRATION_HELP: "Ruta personalizată pentru redirecționare după înregistrare" + OPTIONS: 'Opțiuni' + EMAIL_VALIDATION_MESSAGE: "Trebuie să fie o adresă de email validă" + PASSWORD_VALIDATION_MESSAGE: "Parola trebuie să conțină cel puțin un număr și o literă de tipar și să aibă cel puțin 8 caractere" + TIMEOUT_HELP: "Setează pauza pentru sesiune când este activat 'Ține-mă minte' de către utilizator. Minimul este de 604800 care înseamnă 1 săptămână." + GROUPS_HELP: "Lista grupurilor din care utilizatorii nou înregistrați vor face parte, dacă este necesar" + SITE_ACCESS_HELP: "Lista cu niveluri de acces la care utilizatorul nou înregistrat are acces. De eg: `login` -> `true` " + WELCOME: "Bine ați venit" + REDIRECT_AFTER_ACTIVATION: "Redirecționează după activarea utilizatorului" + REDIRECT_AFTER_ACTIVATION_HELP: "Folosită dacă utilizatorul trebuie să-și activeze contul prin email. Odată activat contul va fi folosită această rută." + REGISTRATION_DISABLED: " Dezactivează înregistrarea " + USE_PARENT_ACL_LABEL: "Folosește regulile de acces ale părintelui" + USE_PARENT_ACL_HELP: "Verifică regulie de acces ale părintelui dacă nu sunt specificate alte reguli de acces" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: " Protejează media ce aparține paginii de logare " + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "Dacă este activată, media ce aparține unei pagini de logare este protejată și nu poate fi accesată decât după logare." diff --git a/sandbox/grav/user/plugins/login/login.php b/sandbox/grav/user/plugins/login/login.php new file mode 100644 index 0000000000..febc2f079a --- /dev/null +++ b/sandbox/grav/user/plugins/login/login.php @@ -0,0 +1,774 @@ + [['initializeSession', 10000], ['initializeLogin', 1000]], + 'onTask.login.login' => ['loginController', 0], + 'onTask.login.forgot' => ['loginController', 0], + 'onTask.login.logout' => ['loginController', 0], + 'onTask.login.reset' => ['loginController', 0], + 'onPagesInitialized' => ['storeReferrerPage', 0], + 'onPageInitialized' => ['authorizePage', 0], + 'onPageFallBackUrl' => ['authorizeFallBackUrl', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', -100000], + 'onFormProcessed' => ['onFormProcessed', 0] + ]; + } + + /** + * Initialize login plugin if path matches. + */ + public function initializeSession() + { + /** @var Config $config */ + $config = $this->grav['config']; + + // Check to ensure sessions are enabled. + if (!$config->get('system.session.enabled')) { + throw new \RuntimeException('The Login plugin requires "system.session" to be enabled'); + } + + // Autoload classes + $autoload = __DIR__ . '/vendor/autoload.php'; + if (!is_file($autoload)) { + throw new \Exception('Login Plugin failed to load. Composer dependencies not met.'); + } + require_once $autoload; + + // Define current user service. + $this->grav['user'] = function ($c) { + /** @var Grav $c */ + + $session = $c['session']; + + if (!isset($session->user)) { + $session->user = new User; + + if ($c['config']->get('plugins.login.rememberme.enabled')) { + $controller = new Controller($c, ''); + $rememberMe = $controller->rememberMe(); + + // If we can present the correct tokens from the cookie, we are logged in + $username = $rememberMe->login(); + if ($username) { + // Normal login process + $user = User::load($username); + if ($user->exists()) { + // There is a chance that an attacker has stolen + // the login token, so we store the fact that + // the user was logged in via RememberMe + // (instead of login form) + $session->remember_me = $rememberMe; + $session->user = $user; + } + } + + // Check if the token was invalid + if ($rememberMe->loginTokenWasInvalid()) { + $controller->setMessage($c['language']->translate('PLUGIN_LOGIN.REMEMBER_ME_STOLEN_COOKIE')); + } + } + } + + return $session->user; + }; + } + + /** + * Initialize login plugin if path matches. + */ + public function initializeLogin() + { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + + //Initialize Login Object + $this->login = new Login($this->grav); + + //Store Login Object in Grav + $this->grav['login'] = $this->login; + + // Admin has its own login; make sure we're not in admin. + if (!isset($this->grav['admin'])) { + $this->route = $this->config->get('plugins.login.route'); + } + + $path = $uri->path(); + $this->redirect_to_login = $this->config->get('plugins.login.redirect_to_login'); + + // Register route to login page if it has been set. + if ($this->route && $this->route === $path) { + $this->enable([ + 'onPagesInitialized' => ['addLoginPage', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_forgot')) { + $this->enable([ + 'onPagesInitialized' => ['addForgotPage', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_reset')) { + $this->enable([ + 'onPagesInitialized' => ['addResetPage', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_register')) { + if ($this->config->get('plugins.login.user_registration.enabled')) { + $this->enable([ + 'onPagesInitialized' => ['addRegisterPage', 0], + ]); + } else { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_LOGIN.REGISTRATION_DISABLED'), 404); + } + return; + } + + if ($path === $this->config->get('plugins.login.route_activate')) { + $this->enable([ + 'onPagesInitialized' => ['handleUserActivation', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_profile')) { + $this->enable([ + 'onPagesInitialized' => ['addProfilePage', 0], + ]); + return; + } + } + + public function storeReferrerPage() + { + $invalid_redirect_routes = [ + $this->config->get('plugins.login.route') ?: '/login', + $this->config->get('plugins.login.route_register') ?: '/register', + $this->config->get('plugins.login.route_activate') ?: '/activate_user', + $this->config->get('plugins.login.route_forgot') ?: '/forgot_password', + $this->config->get('plugins.login.route_reset') ?: '/reset_password', + ]; + $current_route = $this->grav['uri']->route(); + + + if (!in_array($current_route, $invalid_redirect_routes)) { + + $allowed = true; + + /** @var Page $page */ + $page = $this->grav['pages']->dispatch($current_route); + + if ($page) { + $header = $page->header(); + if (isset($header->login_redirect_here) && $header->login_redirect_here === false) { + $allowed = false; + } + + if ($allowed && $page->routable()) { + $this->grav['session']->redirect_after_login = $page->route() . $this->grav['uri']->params() ?: ''; + } + } + + } + } + + /** + * Add Login page + */ + public function addLoginPage() + { + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($this->route); + + if (!$page) { + // Only add login page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . "/pages/login.md")); + $page->slug(basename($this->route)); + + $pages->addPage($page, $this->route); + } + } + + /** + * Add Login page + */ + public function addForgotPage() + { + $route = $this->config->get('plugins.login.route_forgot'); + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + // Only add forgot page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . "/pages/forgot.md")); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + } + + /** + * Add Reset page + */ + public function addResetPage() + { + $route = $this->config->get('plugins.login.route_reset'); + + $uri = $this->grav['uri']; + $token = $uri->param('token'); + $user = $uri->param('user'); + + if (!$user || !$token) { + return; + } + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + // Only add login page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . "/pages/reset.md")); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + } + + /** + * Add Register page + */ + public function addRegisterPage() + { + $route = $this->config->get('plugins.login.route_register'); + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . "/pages/register.md")); + $page->template('form'); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + } + + /** + * Handle user activation + */ + public function handleUserActivation() + { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + + /** @var Message $messages */ + $messages = $this->grav['messages']; + + $username = $uri->param('username'); + + $nonce = $uri->param('nonce'); + if ($nonce === null || !Utils::verifyNonce($nonce, 'user-activation')) { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.INVALID_REQUEST'); + $messages->add($message, 'error'); + $this->grav->redirect('/'); + + return; + } + + $token = $uri->param('token'); + $user = User::load($username); + + if (!$user->activation_token) { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.INVALID_REQUEST'); + $messages->add($message, 'error'); + } else { + list($good_token, $expire) = explode('::', $user->activation_token); + + if ($good_token === $token) { + if (time() > $expire) { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.ACTIVATION_LINK_EXPIRED'); + $messages->add($message, 'error'); + } else { + $user['state'] = 'enabled'; + $user->save(); + $message = $this->grav['language']->translate('PLUGIN_LOGIN.USER_ACTIVATED_SUCCESSFULLY'); + $messages->add($message, 'info'); + + if ($this->config->get('plugins.login.user_registration.options.send_welcome_email', false)) { + $this->login->sendWelcomeEmail($user); + } + if ($this->config->get('plugins.login.user_registration.options.send_notification_email', false)) { + $this->login->sendNotificationEmail($user); + } + + if ($this->config->get('plugins.login.user_registration.options.login_after_registration', false)) { + //Login user + $this->grav['session']->user = $user; + unset($this->grav['user']); + $this->grav['user'] = $user; + $user->authenticated = true; + $user->authorized = $user->authorize('site.login'); + } + } + } else { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.INVALID_REQUEST'); + $messages->add($message, 'error'); + } + } + + $redirect_route = $this->config->get('plugins.login.user_registration.redirect_after_activation', '/'); + $this->grav->redirect($redirect_route); + } + + /** + * Add Profile page + */ + public function addProfilePage() + { + $route = $this->config->get('plugins.login.route_profile'); + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + // Only add forgot page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . "/pages/profile.md")); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + + $this->storeReferrerPage(); + } + + /** + * Set Unauthorized page + * @throws \Exception + */ + public function setUnauthorizedPage() + { + $route = $this->config->get('plugins.login.route_unauthorized'); + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/unauthorized.md')); + $page->template('default'); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + + unset($this->grav['page']); + $this->grav['page'] = $page; + } + + /** + * Initialize login controller + */ + public function loginController() + { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $task = !empty($_POST['task']) ? $_POST['task'] : $uri->param('task'); + $task = substr($task, strlen('login.')); + $post = !empty($_POST) ? $_POST : []; + + switch ($task) { + case 'login': + if (!isset($post['login-form-nonce']) || !Utils::verifyNonce($post['login-form-nonce'], 'login-form')) { + $this->grav['messages']->add($this->grav['language']->translate('PLUGIN_LOGIN.ACCESS_DENIED'), + 'info'); + $this->authorized = false; + $twig = $this->grav['twig']; + $twig->twig_vars['notAuthorized'] = true; + + return; + } + break; + + case 'forgot': + if (!isset($post['forgot-form-nonce']) || !Utils::verifyNonce($post['forgot-form-nonce'], 'forgot-form')) { + $this->grav['messages']->add($this->grav['language']->translate('PLUGIN_LOGIN.ACCESS_DENIED'),'info'); + return; + } + break; + } + + $controller = new Controller($this->grav, $task, $post); + $controller->execute(); + $controller->redirect(); + } + + /** + * Authorize the Page fallback url (page media accessed through the page route) + */ + public function authorizeFallBackUrl() + { + if ($this->config->get('plugins.login.protect_protected_page_media', false)) { + $page_url = dirname($this->grav['uri']->path()); + $page = $this->grav['pages']->find($page_url); + $this->grav['page'] = $page; + $this->authorizePage(); + } + } + + /** + * Authorize Page + */ + public function authorizePage() + { + /** @var User $user */ + $user = $this->grav['user']; + if (!$user->get('access')) { + $user = User::load($user->get('username')); + } + + /** @var Page $page */ + $page = $this->grav['page']; + + if (!$page) { + return; + } + + $header = $page->header(); + $rules = isset($header->access) ? (array)$header->access : []; + + $config = $this->mergeConfig($page); + + if ($config->get('parent_acl')) { + // If page has no ACL rules, use its parent's rules + if (!$rules) { + $parent = $page->parent(); + while (!$rules and $parent) { + $header = $parent->header(); + $rules = isset($header->access) ? (array)$header->access : []; + $parent = $parent->parent(); + } + } + } + + // Continue to the page if it has no ACL rules. + if (!$rules) { + return; + } + + // Continue to the page if user is authorized to access the page. + foreach ($rules as $rule => $value) { + if (is_array($value)) { + foreach ($value as $nested_rule => $nested_value) { + if ($user->authorize($rule . '.' . $nested_rule) == $nested_value) { + return; + } + } + } else { + if ($user->authorize($rule) == $value) { + return; + } + } + } + + // User is not logged in; redirect to login page. + if ($this->redirect_to_login && $this->route && !$user->authenticated) { + $this->grav->redirect($this->route, 302); + } + + /** @var Language $l */ + $l = $this->grav['language']; + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + // Reset page with login page. + if (!$user->authenticated) { + + if ($this->route) { + $page = $this->grav['pages']->dispatch($this->route); + } else { + $page = new Page; + // $this->grav['session']->redirect_after_login = $this->grav['uri']->path() . ($this->grav['uri']->params() ?: ''); + + // Get the admin Login page is needed, else teh default + if ($this->isAdmin()) { + $login_file = $this->grav['locator']->findResource("plugins://admin/pages/admin/login.md"); + $page->init(new \SplFileInfo($login_file)); + } else { + $page->init(new \SplFileInfo(__DIR__ . "/pages/login.md")); + } + + $page->slug(basename($this->route)); + } + + $this->authenticated = false; + unset($this->grav['page']); + $this->grav['page'] = $page; + + $twig->twig_vars['form'] = new Form($page); + } else { + $this->grav['messages']->add($l->translate('PLUGIN_LOGIN.ACCESS_DENIED'), 'error'); + $this->authorized = false; + $twig->twig_vars['notAuthorized'] = true; + + $this->setUnauthorizedPage(); + } + } + + + /** + * Add twig paths to plugin templates. + */ + public function onTwigTemplatePaths() + { + $twig = $this->grav['twig']; + $twig->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Set all twig variables for generating output. + */ + public function onTwigSiteVariables() + { + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + $this->grav->fireEvent('onLoginPage'); + + $extension = $this->grav['uri']->extension(); + $extension = $extension ?: 'html'; + + if (!$this->authenticated) { + $twig->template = "login." . $extension . ".twig"; + } + + // add CSS for frontend if required + if (!$this->isAdmin() && $this->config->get('plugins.login.built_in_css')) { + $this->grav['assets']->add('plugin://login/css/login.css'); + } + + $task = $this->grav['uri']->param('task'); + $task = substr($task, strlen('login.')); + if ($task === 'reset') { + $username = $this->grav['uri']->param('user'); + $token = $this->grav['uri']->param('token'); + + if (!empty($username) && !empty($token)) { + $twig->twig_vars['username'] = $username; + $twig->twig_vars['token'] = $token; + } + + } + } + + /** + * Process the user registration, triggered by a registration form + * + * @param Form $form + */ + private function processUserRegistration($form, Event $event) + { + if (!$this->config->get('plugins.login.enabled')) { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_LOGIN.PLUGIN_LOGIN_DISABLED')); + } + + if (!$this->config->get('plugins.login.user_registration.enabled')) { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_LOGIN.USER_REGISTRATION_DISABLED')); + } + + $data = []; + $username = $form->value('username'); + $data['username'] = $username; + + if (file_exists($this->grav['locator']->findResource('account://' . $username . YAML_EXT))) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $this->grav['language']->translate([ + 'PLUGIN_LOGIN.USERNAME_NOT_AVAILABLE', + $username + ]) + ])); + $event->stopPropagation(); + + return; + } + + if ($this->config->get('plugins.login.user_registration.options.validate_password1_and_password2', + false) + ) { + if ($form->value('password1') !== $form->value('password2')) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $this->grav['language']->translate('PLUGIN_LOGIN.PASSWORDS_DO_NOT_MATCH') + ])); + $event->stopPropagation(); + + return; + } + $data['password'] = $form->value('password1'); + } + + $fields = $this->config->get('plugins.login.user_registration.fields', []); + + foreach ($fields as $field) { + // Process value of field if set in the page process.register_user + $default_values = $this->config->get('plugins.login.user_registration.default_values'); + if ($default_values) { + foreach ($default_values as $key => $param) { + $values = explode(',', $param); + + if ($key == $field) { + $data[$field] = $values; + } + } + } + + if (!isset($data[$field]) && $form->value($field)) { + $data[$field] = $form->value($field); + } + } + + if ($this->config->get('plugins.login.user_registration.options.validate_password1_and_password2', + false) + ) { + unset($data['password1']); + unset($data['password2']); + } + + if ($this->config->get('plugins.login.user_registration.options.set_user_disabled', false)) { + $data['state'] = 'disabled'; + } else { + $data['state'] = 'enabled'; + } + + $user = $this->login->register($data); + + if ($this->config->get('plugins.login.user_registration.options.send_activation_email', false)) { + $this->login->sendActivationEmail($user); + } else { + if ($this->config->get('plugins.login.user_registration.options.send_welcome_email', false)) { + $this->login->sendWelcomeEmail($user); + } + if ($this->config->get('plugins.login.user_registration.options.send_notification_email', false)) { + $this->login->sendNotificationEmail($user); + } + } + + $redirect = $this->config->get('plugins.login.user_registration.redirect_after_registration', false); + if ($redirect) { + $this->grav->redirect($redirect); + } + } + + /** + * Save user profile information + * + * @param Form $form + * @param Event $event + * @return bool + */ + private function processUserProfile($form, Event $event) + { + $user = $this->grav['user']; + $user->merge($form->getData()->toArray()); + + try { + $user->save(); + } catch (\Exception $e) { + $form->setMessage($e->getMessage(), 'error'); + return false; + } + + return true; + } + + /** + * Process a registration form. Handles the following actions: + * + * - register_user: registers a user + * + * @param Event $event + */ + public function onFormProcessed(Event $event) + { + $form = $event['form']; + $action = $event['action']; + + switch ($action) { + case 'register_user': + $this->processUserRegistration($form, $event); + break; + case 'update_user': + $this->processUserProfile($form, $event); + break; + } + } +} diff --git a/sandbox/grav/user/plugins/login/login.yaml b/sandbox/grav/user/plugins/login/login.yaml new file mode 100644 index 0000000000..98593d3253 --- /dev/null +++ b/sandbox/grav/user/plugins/login/login.yaml @@ -0,0 +1,45 @@ +enabled: true +built_in_css: true +route: +redirect_to_login: true +redirect_after_login: +route_activate: '/activate_user' +route_forgot: '/forgot_password' +route_reset: '/reset_password' +route_profile: '/user_profile' +route_register: '/user_register' +route_unauthorized: '/user_unauthorized' +parent_acl: false +protect_protected_page_media: false + +user_registration: + enabled: true + + fields: + - 'username' + - 'password' + - 'email' + - 'fullname' + - 'title' + + access: + site: + login: 'true' + + options: + validate_password1_and_password2: true + set_user_disabled: false + login_after_registration: true + send_activation_email: false + send_notification_email: false + send_welcome_email: false + +rememberme: + enabled: true + timeout: 604800 # Timeout in seconds. Defaults to 1 week + name: grav-rememberme # Name prefix of the session cookie + +max_pw_resets_count: 0 +max_pw_resets_interval: 60 +max_login_count: 0 +max_login_interval: 2 \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/pages/forgot.md b/sandbox/grav/user/plugins/login/pages/forgot.md new file mode 100644 index 0000000000..6f46df640c --- /dev/null +++ b/sandbox/grav/user/plugins/login/pages/forgot.md @@ -0,0 +1,21 @@ +--- +title: Forgot password + +login_redirect_here: false + +form: + + fields: + - name: email + type: email + label: PLUGIN_LOGIN.EMAIL + autofocus: true + validate: + required: true + type: email +--- + + +# Recover your password + +Enter your email to recover your password diff --git a/sandbox/grav/user/plugins/login/pages/login.md b/sandbox/grav/user/plugins/login/pages/login.md new file mode 100644 index 0000000000..648dc0340b --- /dev/null +++ b/sandbox/grav/user/plugins/login/pages/login.md @@ -0,0 +1,28 @@ +--- +title: Login + +login_redirect_here: false + +form: + name: login + action: + method: post + + fields: + - name: username + type: text + id: username + placeholder: Username + label: PLUGIN_LOGIN.USERNAME_EMAIL + autofocus: true + + - name: password + type: password + id: password + placeholder: Password + label: PLUGIN_LOGIN.PASSWORD +--- + +# User Login + +This page is restricted... diff --git a/sandbox/grav/user/plugins/login/pages/profile.md b/sandbox/grav/user/plugins/login/pages/profile.md new file mode 100644 index 0000000000..b3e59baed1 --- /dev/null +++ b/sandbox/grav/user/plugins/login/pages/profile.md @@ -0,0 +1,50 @@ +--- +title: Profile +access: + site.login: true + +form: + fields: + avatar_img: + type: avatar + + username: + type: text + readonly: true + disabled: true + + email: + type: email + placeholder: "Enter your email" + validate: + required: true + message: PLUGIN_LOGIN.EMAIL_VALIDATION_MESSAGE + + fullname: + type: text + + title: + type: text + + password: + type: password + label: Enter new password + validate: + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + + buttons: + - + type: submit + value: Submit + - + type: reset + value: Reset + + process: + update_user: true + message: "Your profile has been updated" +--- + +# Profile \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/pages/register.md b/sandbox/grav/user/plugins/login/pages/register.md new file mode 100644 index 0000000000..5988d3c069 --- /dev/null +++ b/sandbox/grav/user/plugins/login/pages/register.md @@ -0,0 +1,59 @@ +--- +login_redirect_here: false + +form: + + fields: + - + name: username + type: text + id: username + placeholder: "Choose a username" + validate: + required: true + message: PLUGIN_LOGIN.USERNAME_NOT_VALID + config-pattern@: system.username_regex + + - + name: email + type: email + id: email + placeholder: "Enter your email" + validate: + required: true + message: PLUGIN_LOGIN.EMAIL_VALIDATION_MESSAGE + + - + name: password1 + type: password + id: password1 + label: Enter a password + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + - + name: password2 + type: password + id: password2 + label: Enter the password again + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + buttons: + - + type: submit + value: Submit + - + type: reset + value: Reset + + process: + register_user: true + message: "You are logged in" +--- + +# Register diff --git a/sandbox/grav/user/plugins/login/pages/reset.md b/sandbox/grav/user/plugins/login/pages/reset.md new file mode 100644 index 0000000000..1c3048a4a1 --- /dev/null +++ b/sandbox/grav/user/plugins/login/pages/reset.md @@ -0,0 +1,35 @@ +--- +title: Reset password + +login_redirect_here: false + +form: + + fields: + - name: username + type: hidden + id: username + placeholder: Username + readonly: true + + - name: password + type: password + id: password + placeholder: Password + autofocus: true + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + - name: token + type: hidden + +process: + twig: true +--- + +# Password Reset + +### Username: {{uri.param('user')}} + diff --git a/sandbox/grav/user/plugins/login/pages/unauthorized.md b/sandbox/grav/user/plugins/login/pages/unauthorized.md new file mode 100644 index 0000000000..6b9aa13d95 --- /dev/null +++ b/sandbox/grav/user/plugins/login/pages/unauthorized.md @@ -0,0 +1,5 @@ +--- +title: Unauthorized +--- + +# You don't have access to this page... \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/templates/forgot.html.twig b/sandbox/grav/user/plugins/login/templates/forgot.html.twig new file mode 100644 index 0000000000..b5b6e19379 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/forgot.html.twig @@ -0,0 +1,5 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + {% include 'partials/forgot-form.html.twig' %} +{% endblock %} diff --git a/sandbox/grav/user/plugins/login/templates/login.html.twig b/sandbox/grav/user/plugins/login/templates/login.html.twig new file mode 100644 index 0000000000..9c69bcf934 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/login.html.twig @@ -0,0 +1,5 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + {% include 'partials/login-form.html.twig' %} +{% endblock %} diff --git a/sandbox/grav/user/plugins/login/templates/login.json.twig b/sandbox/grav/user/plugins/login/templates/login.json.twig new file mode 100644 index 0000000000..05cb2e45ed --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/login.json.twig @@ -0,0 +1,5 @@ +{%- if not grav.user.authenticated -%} +{"code":401,"status":"unauthenticated","message":"Authentication required","login":{{ include('partials/login-form.html.twig')|trim|json_encode }}} +{%- else -%} +{"code":200,"status":"authenticated","message":"You have been authenticated"} +{%- endif -%} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/templates/partials/forgot-form.html.twig b/sandbox/grav/user/plugins/login/templates/partials/forgot-form.html.twig new file mode 100644 index 0000000000..408fb5853e --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/partials/forgot-form.html.twig @@ -0,0 +1,20 @@ +
    + {{ content|raw }} + + {% include 'partials/messages.html.twig' %} + +
    + {% for field in form.fields %} + {% if field.type %} +
    + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} +
    + {% endif %} + {% endfor %} +
    + +
    + + {{ nonce_field('forgot-form', 'forgot-form-nonce')|raw }} +
    +
    diff --git a/sandbox/grav/user/plugins/login/templates/partials/login-form.html.twig b/sandbox/grav/user/plugins/login/templates/partials/login-form.html.twig new file mode 100644 index 0000000000..a6094d2c56 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/partials/login-form.html.twig @@ -0,0 +1,53 @@ +
    + {% include 'partials/messages.html.twig' %} + + {% if page.template == 'login' or show_login_form %} + + {% if grav.user.authenticated %} +

    {{ 'PLUGIN_LOGIN.WELCOME'|t }} {{ grav.user.fullname ?: grav.user.username }}

    +
    + {{ 'PLUGIN_LOGIN.BTN_LOGOUT'|t }} + + {% else %} + {{ content|raw }} + +
    + {% if grav.twig.plugins_hooked_loginPage %} + {% for label in grav.twig.plugins_hooked_loginPage %} + {% include label %} + {% endfor %} + {% endif %} + + {% for field in form.fields %} + {% if field.type %} +
    + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} +
    + {% endif %} + {% endfor %} + +
    + {% if config.plugins.login.rememberme.enabled and page.header.form.login.rememberme ?? true %} +
    +
    + + +
    +
    + {% endif %} + + {% if page.header.form.login.forgot_button ?? true %} + {{ 'PLUGIN_LOGIN.BTN_FORGOT'|t }} + {% endif %} + + +
    + + {{ nonce_field('login-form', 'login-form-nonce')|raw }} +
    + + {% endif %} + + {% endif %} + +
    diff --git a/sandbox/grav/user/plugins/login/templates/partials/login-status.html.twig b/sandbox/grav/user/plugins/login/templates/partials/login-status.html.twig new file mode 100644 index 0000000000..8425439359 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/partials/login-status.html.twig @@ -0,0 +1,5 @@ + diff --git a/sandbox/grav/user/plugins/login/templates/partials/messages.html.twig b/sandbox/grav/user/plugins/login/templates/partials/messages.html.twig new file mode 100644 index 0000000000..7727bf74a9 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/partials/messages.html.twig @@ -0,0 +1,3 @@ +{% for message in grav.messages.fetch %} +
    {{ message.message|raw }}
    +{% endfor %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/templates/partials/reset-form.html.twig b/sandbox/grav/user/plugins/login/templates/partials/reset-form.html.twig new file mode 100644 index 0000000000..031b21b309 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/partials/reset-form.html.twig @@ -0,0 +1,26 @@ +{% if uri.param('token') and uri.param('task') %} +
    + {{ content|raw }} + + {% include 'partials/messages.html.twig' %} + +
    + {% for field in form.fields %} + {% set value = attribute(grav.twig.twig_vars, field.name) is defined ? attribute(grav.twig.twig_vars, field.name) : null %} + + {% if field.type %} +
    + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} +
    + {% endif %} + {% endfor %} +
    + +
    + + {{ nonce_field('reset-form', 'reset-form-nonce')|raw }} +
    +
    +{% endif %} + + diff --git a/sandbox/grav/user/plugins/login/templates/profile.html.twig b/sandbox/grav/user/plugins/login/templates/profile.html.twig new file mode 100644 index 0000000000..dbfa868ef5 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/profile.html.twig @@ -0,0 +1,8 @@ +{% extends 'partials/base.html.twig' %} + +{% do form.setAllData(grav.user.toArray) %} + +{% block content %} + {{ page.content }} + {% include 'forms/form.html.twig' %} +{% endblock %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/templates/profile.json.twig b/sandbox/grav/user/plugins/login/templates/profile.json.twig new file mode 100644 index 0000000000..da0d0233b1 --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/profile.json.twig @@ -0,0 +1 @@ +{% extends 'forms/ajax.json.twig' %} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/login/templates/reset.html.twig b/sandbox/grav/user/plugins/login/templates/reset.html.twig new file mode 100644 index 0000000000..e16235656d --- /dev/null +++ b/sandbox/grav/user/plugins/login/templates/reset.html.twig @@ -0,0 +1,7 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + {% include 'partials/reset-form.html.twig' %} +{% endblock %} + + diff --git a/sandbox/grav/user/plugins/markdown-notices/CHANGELOG.md b/sandbox/grav/user/plugins/markdown-notices/CHANGELOG.md new file mode 100644 index 0000000000..b3b685c0b5 --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/CHANGELOG.md @@ -0,0 +1,5 @@ +# v1.0.0 +## 12/22/2015 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/markdown-notices/LICENSE b/sandbox/grav/user/plugins/markdown-notices/LICENSE new file mode 100644 index 0000000000..4bb709282c --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/markdown-notices/README.md b/sandbox/grav/user/plugins/markdown-notices/README.md new file mode 100644 index 0000000000..397d6db40c --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/README.md @@ -0,0 +1,61 @@ +# Grav Markdown Notices Plugin + +The **markdown-notices plugin** for [Grav](http://github.com/getgrav/grav) allows generation of notice blocks of text via markdown: + +![](assets/screenshot.png) + +# Installation + +This plugin is easy to install with GPM. + +``` +$ bin/gpm install markdown-notices +``` + +# Configuration + +Simply copy the `user/plugins/markdown-notices/markdown-notices.yaml` into `user/config/plugins/markdown-notices.yaml` and make your modifications. + +``` +enabled: true +built_in_css: true +level_classes: [yellow, red, blue, green] +``` + +# Examples + +Using one level of `!` + +``` +! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. +! Vestibulum eu condimentum urna. Vestibulum feugiat odio ut sodales porta. Donec sit amet ante mi. Donec lobortis +! orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex +! tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. +``` + +You will output the following HTML + +``` +
    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. + Vestibulum eu condimentum urna. Vestibulum feugiat odio ut sodales porta. Donec sit amet ante mi. Donec lobortis + orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex + tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. +

    +
    +``` + +The `yellow` class is determined by the `level_classes` in the configuration. You can customize this as you need. + +``` +!! Lorem ipsum dolor sit amet, **consectetur adipiscing** elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. +!! +!! * List item a +!! * List item b +!! +!! orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex +!! tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. +``` + +Two levels of `!!` will use the second level class etc. You can also use complex markdown inside the notices. diff --git a/sandbox/grav/user/plugins/markdown-notices/assets/notices.css b/sandbox/grav/user/plugins/markdown-notices/assets/notices.css new file mode 100644 index 0000000000..93c3a856dd --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/assets/notices.css @@ -0,0 +1,32 @@ +.notices { + padding: 1px 1px 1px 30px; + margin: 15px 0; +} + +.notices p { + +} + +.notices.yellow { + border-left: 10px solid #f0ad4e; + background: #fcf8f2; + color: #df8a13; +} + +.notices.red { + border-left: 10px solid #d9534f; + background: #fdf7f7; + color: #b52b27; +} + +.notices.blue { + border-left: 10px solid #5bc0de; + background: #f4f8fa; + color: #28a1c5; +} + +.notices.green { + border-left: 10px solid #5cb85c; + background: #f1f9f1; + color: #3d8b3d; +} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/markdown-notices/assets/screenshot.png b/sandbox/grav/user/plugins/markdown-notices/assets/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cf27677a9736178e4945722a7f39a453b16cb558 GIT binary patch literal 86632 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 literal 0 HcmV?d00001 diff --git a/sandbox/grav/user/plugins/markdown-notices/blueprints.yaml b/sandbox/grav/user/plugins/markdown-notices/blueprints.yaml new file mode 100644 index 0000000000..2d3d49bb9c --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/blueprints.yaml @@ -0,0 +1,44 @@ +name: Markdown Notices +version: 1.0.0 +description: "Adds the ability to render notices blocks in Markdown" +icon: asterisk +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin status + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + built_in_css: + type: toggle + label: Use built in CSS + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + level_classes: + type: selectize + size: large + placeholder: "e.g. yellow, red, blue, green" + label: Level classes + help: The classes to use for each level of notices depth + classes: fancy + validate: + type: commalist diff --git a/sandbox/grav/user/plugins/markdown-notices/markdown-notices.php b/sandbox/grav/user/plugins/markdown-notices/markdown-notices.php new file mode 100644 index 0000000000..6930481868 --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/markdown-notices.php @@ -0,0 +1,84 @@ + ['onMarkdownInitialized', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0] + ]; + } + + public function onMarkdownInitialized(Event $event) + { + $markdown = $event['markdown']; + + $markdown->addBlockType('!', 'Notices', true, false); + + $markdown->blockNotices = function($Line) { + + $this->level_classes = $this->config->get('plugins.markdown-notices.level_classes'); + + if (preg_match('/^(!{1,'.count($this->level_classes).'})[ ]+(.*)/', $Line['text'], $matches)) + { + $level = strlen($matches[1]) - 1; + + + + // if we have more levels than we support + if ($level > count($this->level_classes)-1) + { + return; + } + + $text = $matches[2]; + + $Block = array( + 'element' => array( + 'name' => 'div', + 'handler' => 'lines', + 'attributes' => array( + 'class' => 'notices '. $this->level_classes[$level], + ), + 'text' => (array) $text, + ), + ); + + return $Block; + } + }; + + $markdown->blockNoticesContinue = function($Line, array $Block) { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '!' and preg_match('/^(!{1,'.count($this->level_classes).'})(.*)/', $Line['text'], $matches)) + { + $Block['element']['text'] []= ltrim($matches[2]); + + return $Block; + } + }; + } + + public function onTwigSiteVariables() + { + if ($this->config->get('plugins.markdown-notices.built_in_css')) { + $this->grav['assets'] + ->add('plugin://markdown-notices/assets/notices.css'); + } + } + +} \ No newline at end of file diff --git a/sandbox/grav/user/plugins/markdown-notices/markdown-notices.yaml b/sandbox/grav/user/plugins/markdown-notices/markdown-notices.yaml new file mode 100644 index 0000000000..35ce5a6659 --- /dev/null +++ b/sandbox/grav/user/plugins/markdown-notices/markdown-notices.yaml @@ -0,0 +1,3 @@ +enabled: true +built_in_css: true +level_classes: [yellow, red, blue, green] \ No newline at end of file diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/CHANGELOG.md b/sandbox/grav/user/plugins/patternlab-twig-extensions/CHANGELOG.md new file mode 100755 index 0000000000..74d77dc062 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/CHANGELOG.md @@ -0,0 +1,17 @@ +# v1.0.2 +## 05/14/2017 + +1. [](#new) + * Tweaked `shuffle` to handle associative arrays as well, thanks to @Lamecarlate. + +# v1.0.1 +## 09/30/2016 + +1. [](#new) + * Added demo URL + +# v1.0.0 +## 09/30/2016 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/LICENSE b/sandbox/grav/user/plugins/patternlab-twig-extensions/LICENSE new file mode 100755 index 0000000000..ff905acd3f --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Aaron Dalton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/README.md b/sandbox/grav/user/plugins/patternlab-twig-extensions/README.md new file mode 100755 index 0000000000..c8b6836089 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/README.md @@ -0,0 +1,67 @@ +# Twig Extensions Plugin + +The **Twig Extensions** plugin is for [Grav CMS](http://github.com/getgrav/grav). It pulls in a subset of the official [Twig Extensions](https://github.com/twigphp/Twig-extensions), v1.4.0. + +For a demo, [visit my blog](https://perlkonig.com/demos/twig-extensions). + +## Installation + +Installing the Twig Extensions plugin can be done in one of two ways. The GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +### GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install twig-extensions + +This will install the Twig Extensions plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/twig-extensions`. + +### Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `twig-extensions`. You can find these files on [GitHub](https://github.com/Perlkonig/grav-plugin-twig-extensions) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/twig-extensions + +> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav) and the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) to operate. + +## Configuration + +Below is the default configuration. An explanation of the various fields follows. To customize, first copy `twig-extensions.yaml` to your `user/config/plugins` folder and edit that copy. + +``` +enabled: true +modules: [array, intl, date] + +``` + +* The `enabled` field turns the plugin off and on. + +* The `modules` array tells the plugin which modules you want imported. This plugin only imports three of the five modules. These are the only valid options. + +## Usage + +Simply enable the plugin to use these Twig filters. There are three modules available: + +* The `Intl` module provides three filters: + * `localizeddate` formats a date based on the locale. + * `localizednumber` formats a number based on the locale. + * `localizedcurrency` formats a number based on a given currency code. + +* The `Array` module provides a single filter: + * `shuffle` randomizes an array. + * **Note:** This code was slightly modified to allow shuffling associative arrays. Simply pass `true` to enable this feature: `{{ myArray | shuffle(true) }}`. + +The `Date` module also only provides a single filter: + * `time_diff` dispays the delta between two dates in a human readable form (e.g., `2 days ago`). + +For more information, [read the official documentation](http://twig.sensiolabs.org/doc/extensions/index.html). + +### Omitted Modules + +* The `Text` module is omitted because Grav already has `truncate` built in, and the `wordwrap` provided here is not very helpful. + +* The `I18n` module is omitted because Grav already has extensive i18n features. + + diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/blueprints.yaml b/sandbox/grav/user/plugins/patternlab-twig-extensions/blueprints.yaml new file mode 100755 index 0000000000..750aa65b95 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/blueprints.yaml @@ -0,0 +1,27 @@ +name: Pattern Lab Twig Extensions +version: 1.0.0 +description: Incorporates a subset of the official [Twig Extensions](https://github.com/twigphp/Twig-extensions) +icon: filter +author: + name: Salem Ghoweri + email: me@salemghoweri.com +homepage: https://github.com/Perlkonig/grav-plugin-twig-extensions +keywords: grav, plugin, twig, extensions +bugs: https://github.com/Perlkonig/grav-plugin-twig-extensions/issues +docs: https://github.com/Perlkonig/grav-plugin-twig-extensions/blob/master/README.md +demo: https://perlkonig.com/demos/twig-extensions +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin status + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.php b/sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.php new file mode 100755 index 0000000000..f0ac86751a --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.php @@ -0,0 +1,156 @@ + ['onPluginsInitialized', 0] + ]; + } + + /** + * Initialize the plugin + */ + public function onPluginsInitialized() + { + // Don't proceed if we are in the admin plugin + if ($this->isAdmin()) { + return; + } + + // Enable the main event we are interested in + $this->enable([ + 'onTwigExtensions' => ['onTwigExtensions', -100], + ]); + } + + /** + * Loads a singleton registry of plugin objects. + */ + public function onTwigExtensions() + { + $modules = $this->grav['config']->get('plugins.patternlab-twig-extensions.extensions'); + + // if (!self::$objects) { + // static::loadAll('filters'); + // static::loadAll('functions'); + // static::loadAll('tags'); + // } + + // if (in_array('intl', $modules)) { + // require_once(__DIR__ . '/vendor/Twig/Intl.php'); + // $this->grav['twig']->twig->addExtension(new \Twig_Extensions_Extension_Intl()); + // } + if (in_array('extension_loader', $modules)) { + require_once(__DIR__ . '/src/TwigExtension/TwigExtensionAdapter.php'); + $this->grav['twig']->twig->addExtension(new \Twig_Extensions_Extension_Adapter()); + } + // if (in_array('date', $modules)) { + // require_once(__DIR__ . '/vendor/Twig/Date.php'); + // $this->grav['twig']->twig->addExtension(new \Twig_Extensions_Extension_Date()); + // } + + + + + } + + + // + // /** + // * Gets all plugin objects of a given type. + // * + // * @param string $type + // * The plugin type to load. + // * + // * @return array + // * An array of loaded objects to be provided by the twig extension for a + // * given type. + // */ + // static public function get($type) { + // return !empty(self::$objects[$type]) ? self::$objects[$type] : []; + // } + // /** + // * Loads all plugins of a given type. + // * + // * This should be called once per $type. + // * + // * @param string $type + // * The type to load all plugins for. + // */ + // static protected function loadAll($type) { + // $themeLocation = $this->grav['locator']->findResources('theme://')[0]; + // $themePath = $themeLocation . '/*/_twig-components/'; + // // $themeLocation = drupal_get_path('theme', $theme); + // + // $extensionPaths = new Finder(); + // $extensionPaths->directories()->depth(0)->in($themePath); + // + // // $themeLocation = $this->grav['locator']->findResources('theme://')[0]; + // // $patternLabTwigExtensions = $theme_dir . '/pattern-lab/source/_twig-components'; + // + // foreach ($extensionPaths as $extensionPath) { + // $fullPath = $extensionPath; + // print $fullPath; + // + // foreach (scandir($fullPath . $type) as $file) { + // $fileInfo = pathinfo($file); + // if ($fileInfo['extension'] === 'php') { + // if ($file[0] != '.' && $file[0] != '_' && substr($file, 0, 3) != 'pl_') { + // static::load($type, $fullPath . $type . '/' . $file); + // } + // } + // } + // } + // } + // /** + // * Loads a specific plugin instance. + // * + // * @param string $type + // * The type of the plugin to be loaded. + // * @param string $file + // * The fully qualified path of the plugin to be loaded. + // */ + // static protected function load($type, $file) { + // include $file; + // switch ($type) { + // case 'filters': + // self::$objects['filters'][] = $filter; + // break; + // case 'functions': + // self::$objects['functions'][] = $function; + // break; + // case 'tags': + // if (preg_match('/^([^\.]+)\.tag\.php$/', basename($file), $matches)) { + // $class = "Project_{$matches[1]}_TokenParser"; + // if (class_exists($class)) { + // self::$objects['parsers'][] = new $class(); + // } + // } + // break; + // } + // } +} diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.yaml b/sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.yaml new file mode 100755 index 0000000000..e7513a0e24 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/patternlab-twig-extensions.yaml @@ -0,0 +1,2 @@ +enabled: true +extensions: [extension_loader] diff --git a/sandbox/grav/user/plugins/patternlab-twig-extensions/src/TwigExtension/TwigExtensionAdapter.php b/sandbox/grav/user/plugins/patternlab-twig-extensions/src/TwigExtension/TwigExtensionAdapter.php new file mode 100755 index 0000000000..606f307c91 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-extensions/src/TwigExtension/TwigExtensionAdapter.php @@ -0,0 +1,95 @@ +findResources('theme://')[0]; + // $themePath = ROOT_DIR '../' .$theme . '/' . 'pattern-lab/source'; + $themePath = ROOT_DIR . '../' . 'pattern-lab/source'; + // $theme = \Drupal::config('system.theme')->get('default'); + // $themeLocation = + // print_r($themePath); + // $patternLabPatternsDir = $theme_dir . '/pattern-lab/source/_patterns'; + // $patternLabSourceDir = $theme_dir . '/pattern-lab/source'; + + + $extensionPaths = glob($themePath . '*/_twig-components/'); + + // print_r($extensionPaths); + + foreach ($extensionPaths as $extensionPath) { + $fullPath = $extensionPath; + + // print_r($fullPath); + + foreach (scandir($fullPath . $type) as $file) { + $fileInfo = pathinfo($file); + print_r($fileInfo['extension']); + + if ($fileInfo['extension'] === 'php') { + if ($file[0] != '.' && $file[0] != '_' && substr($file, 0, 3) != 'pl_') { + static::load($type, $fullPath . $type . '/' . $file); + } + } + } + } + } + /** + * Loads a specific plugin instance. + * + * @param string $type + * The type of the plugin to be loaded. + * @param string $file + * The fully qualified path of the plugin to be loaded. + */ + static protected function load($type, $file) { + include $file; + + switch ($type) { + case 'filters': + self::$objects['filters'][] = $filter; + break; + case 'functions': + self::$objects['functions'][] = $function; + break; + case 'tags': + if (preg_match('/^([^\.]+)\.tag\.php$/', basename($file), $matches)) { + $class = "Project_{$matches[1]}_TokenParser"; + if (class_exists($class)) { + print("yay!"); + self::$objects['parsers'][] = new $class(); + } + } + break; + } + } +} diff --git a/sandbox/grav/user/plugins/patternlab-twig-namespaces/CHANGELOG.md b/sandbox/grav/user/plugins/patternlab-twig-namespaces/CHANGELOG.md new file mode 100755 index 0000000000..74d77dc062 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-namespaces/CHANGELOG.md @@ -0,0 +1,17 @@ +# v1.0.2 +## 05/14/2017 + +1. [](#new) + * Tweaked `shuffle` to handle associative arrays as well, thanks to @Lamecarlate. + +# v1.0.1 +## 09/30/2016 + +1. [](#new) + * Added demo URL + +# v1.0.0 +## 09/30/2016 + +1. [](#new) + * ChangeLog started... diff --git a/sandbox/grav/user/plugins/patternlab-twig-namespaces/LICENSE b/sandbox/grav/user/plugins/patternlab-twig-namespaces/LICENSE new file mode 100755 index 0000000000..ff905acd3f --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-namespaces/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Aaron Dalton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/patternlab-twig-namespaces/README.md b/sandbox/grav/user/plugins/patternlab-twig-namespaces/README.md new file mode 100755 index 0000000000..c8b6836089 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-namespaces/README.md @@ -0,0 +1,67 @@ +# Twig Extensions Plugin + +The **Twig Extensions** plugin is for [Grav CMS](http://github.com/getgrav/grav). It pulls in a subset of the official [Twig Extensions](https://github.com/twigphp/Twig-extensions), v1.4.0. + +For a demo, [visit my blog](https://perlkonig.com/demos/twig-extensions). + +## Installation + +Installing the Twig Extensions plugin can be done in one of two ways. The GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +### GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install twig-extensions + +This will install the Twig Extensions plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/twig-extensions`. + +### Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `twig-extensions`. You can find these files on [GitHub](https://github.com/Perlkonig/grav-plugin-twig-extensions) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/twig-extensions + +> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav) and the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) to operate. + +## Configuration + +Below is the default configuration. An explanation of the various fields follows. To customize, first copy `twig-extensions.yaml` to your `user/config/plugins` folder and edit that copy. + +``` +enabled: true +modules: [array, intl, date] + +``` + +* The `enabled` field turns the plugin off and on. + +* The `modules` array tells the plugin which modules you want imported. This plugin only imports three of the five modules. These are the only valid options. + +## Usage + +Simply enable the plugin to use these Twig filters. There are three modules available: + +* The `Intl` module provides three filters: + * `localizeddate` formats a date based on the locale. + * `localizednumber` formats a number based on the locale. + * `localizedcurrency` formats a number based on a given currency code. + +* The `Array` module provides a single filter: + * `shuffle` randomizes an array. + * **Note:** This code was slightly modified to allow shuffling associative arrays. Simply pass `true` to enable this feature: `{{ myArray | shuffle(true) }}`. + +The `Date` module also only provides a single filter: + * `time_diff` dispays the delta between two dates in a human readable form (e.g., `2 days ago`). + +For more information, [read the official documentation](http://twig.sensiolabs.org/doc/extensions/index.html). + +### Omitted Modules + +* The `Text` module is omitted because Grav already has `truncate` built in, and the `wordwrap` provided here is not very helpful. + +* The `I18n` module is omitted because Grav already has extensive i18n features. + + diff --git a/sandbox/grav/user/plugins/patternlab-twig-namespaces/blueprints.yaml b/sandbox/grav/user/plugins/patternlab-twig-namespaces/blueprints.yaml new file mode 100755 index 0000000000..26fc99215e --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-namespaces/blueprints.yaml @@ -0,0 +1,27 @@ +name: Pattern Lab Twig Namespaces +version: 1.0.0 +description: Add namespaces to Grav Twig instance +icon: filter +author: + name: Salem Ghoweri + email: me@salemghoweri.com +homepage: https://github.com/bolt-design-system/grav-plugin-patternlab-twig-namespaces +keywords: grav, plugin, twig, namespaces, pattern lab +bugs: https://github.com/bolt-design-system/grav-plugin-patternlab-twig-namespaces/issues +docs: https://github.com/bolt-design-system/grav-plugin-patternlab-twig-namespaces/blob/master/README.md +#demo: https://perlkonig.com/demos/twig-extensions +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin status + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool diff --git a/sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php b/sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php new file mode 100755 index 0000000000..c5724811a0 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.php @@ -0,0 +1,106 @@ + ['onPluginsInitialized', 0] + ]; + } + + /** + * Initialize the plugin + */ + public function onPluginsInitialized() + { + // Don't proceed if we are in the admin plugin + if ($this->isAdmin()) { + return; + } + + // Enable the main event we are interested in + $this->enable([ + 'onTwigLoader' => ['onTwigLoader', -100], + ]); + } + + public function onTwigLoader() + { + // $theme_dir = $this->grav['locator']->findResources('theme://')[0]; + $patternLabPatternsDir = ROOT_DIR . '../' . 'pattern-lab/source'; + // $patternLabPatternsDir = $theme_dir . '/pattern-lab/source/_patterns'; + + // $patternLabSourceDir = $theme_dir . '/pattern-lab/source'; + + $finder = new Finder(); + $finder->directories()->depth(0)->in($patternLabPatternsDir); + foreach ($finder as $file) { + $pattern = $file->getRelativePathName(); + $patternBits = explode("-",$pattern,2); + $patternTypePath = (((int)$patternBits[0] != 0) || ($patternBits[0] == '00')) ? $patternBits[1] : $pattern; + + // echo $file->getPathName(); + + // $filesystemLoader->addPath($file->getPathName(), $patternTypePath); +$this->grav['twig']->addPath($file->getPathName(), $patternTypePath); + // } + } + + + // $pattern = $file->getRelativePathName(); + + $patternFinder = new Finder(); + $patternFinder->files()->name('*.twig')->in($patternLabPatternsDir); + + foreach ($patternFinder as $file) { + $pattern = basename($file->getRealPath()); + $patternBits = explode("-", $pattern, 2); + $patternTypePath = (((int)$patternBits[0] != 0) || ($patternBits[0] == '00')) ? $patternBits[1] : $pattern; + $patternNameBits = explode(".",$patternTypePath); + $path = pathinfo($file->getRealPath()); + $this->grav['twig']->addPath($path['dirname'], 'bolt'); + } + } +} + // $patternName = (((int)$patternBits[0] != 0) || ($patternBits[0] == '00')) ? $patternNameBits[1] : $pattern; + + // print $file->getPathName(); + // print $patternName; + // print_r($patternNameBits[0]); + + + + // print $path['dirname']; + + // echo $file->getPathName(); + + // $filesystemLoader->addPath($file->getPathName(), $patternTypePath); + + // } + + + // return $filesystemLoader; + + + + // $this->grav['twig']->addPath($theme_dir . '/pattern-lab/source/_patterns/00-atoms', 'atoms'); diff --git a/sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.yaml b/sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.yaml new file mode 100755 index 0000000000..3e44e698d0 --- /dev/null +++ b/sandbox/grav/user/plugins/patternlab-twig-namespaces/patternlab-twig-namespaces.yaml @@ -0,0 +1,3 @@ +enabled: true +modules: [array, intl, date] + diff --git a/sandbox/grav/user/plugins/problems/CHANGELOG.md b/sandbox/grav/user/plugins/problems/CHANGELOG.md new file mode 100644 index 0000000000..e7ed40f4ed --- /dev/null +++ b/sandbox/grav/user/plugins/problems/CHANGELOG.md @@ -0,0 +1,105 @@ +# v1.4.7 +## 05/16/2017 + +1. [](#improved) + * Added check for Exif module if this feature is enabled + +# v1.4.6 +## 02/17/2017 + +1. [](#improved) + * Return 500 error code if there is a problem instead of 200 [https://github.com/getgrav/grav/issues/1291](https://github.com/getgrav/grav/issues/1291) + +# v1.4.5 +## 09/14/2016 + +1. [](#bugfix) + * Show the correct status for the Zip extension check + +# v1.4.4 +## 09/08/2016 + +1. [](#new) + * Added check for new root folder `tmp` and try to create if missing +1. [](#bugfix) + * Fixed Whoops error if `backup` folder doesn't exist and cannot be created + +# v1.4.3 +## 05/27/2016 + +1. [](#new) + * Reverted compression checks + +# v1.4.2 +## 05/23/2016 + +1. [](#new) + * Check for compression issues + +# v1.4.1 +## 05/03/2016 + +1. [](#new) + * Added a check for XML support in PHP +1. [](#improved) + * Use common language strings in blueprints + +# v1.4.0 +## 01/06/2016 + +1. [](#improved) + * Avoid generating errors on .DS_Store files added to the bin/ folder by OSX + * Removed executable checks for bin/* commands. Going to document instead. + +# v1.3.3 +## 12/09/2015 + +1. [](#new) + * Set minimum PHP requirements to 5.5.9 +1. [](#improved) + * Ensure problems plugin runs before admin + +# v1.3.2 +## 12/09/2015 + +1. [](#improved) + * Skip windows platforms for executable permissions check + * Removed mod_headers from required Apache modules check + +# v1.3.1 +## 12/07/2015 + +1. [](#improved) + * Added executable check on `/bin/` files + +# v1.3.0 +## 12/07/2015 + +1. [](#improved) + * Added check for PHP `OpenSSL`, `Mbstring` and `Curl` are installed + * Added check to ensure `mod_rewrite` and `mod_headers` are installed if running Apache + +# v1.2.0 +## 08/25/2015 + +1. [](#improved) + * Added blueprints for Grav Admin plugin + +# v1.1.6 +## 06/16/2015 + +2. [](#new) + * Try to create missing `backup` folder if it is missing + +# v1.1.5 +## 05/09/2015 + +2. [](#new) + * Added check for `backup` folder for Grav > 0.9.27 + +# v1.1.4 +## 04/26/2015 + +2. [](#new) + * Changelog started + diff --git a/sandbox/grav/user/plugins/problems/LICENSE b/sandbox/grav/user/plugins/problems/LICENSE new file mode 100644 index 0000000000..484793ad19 --- /dev/null +++ b/sandbox/grav/user/plugins/problems/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sandbox/grav/user/plugins/problems/README.md b/sandbox/grav/user/plugins/problems/README.md new file mode 100644 index 0000000000..9280bbd51e --- /dev/null +++ b/sandbox/grav/user/plugins/problems/README.md @@ -0,0 +1,89 @@ +# Grav Problems Plugin + +![Problems](assets/readme_1.png) + +`Problems` is a [Grav](http://github.com/getgrav/grav) Plugin and allows to detect issues. + +This plugin is included in any package distributed that contains Grav. If you decide to clone Grav from GitHub, you will most likely want to install this. + +# Installation + +Installing the Problems plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install problems + +This will install the Problems plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/problems`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `problems`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-problems) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/problems + +>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav), the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins, and a theme to be installed in order to operate. + +# Usage + +`Problems` runs in the background and most of the time you will not know it is there. Although as soon as an issue is caught, the plugin will let you know. + +`Problems` checks for the following common issues: + +| Check | Description | +| :---------------------------------- | :-------------------------------------------------------------------------------------------------------- | +| Apache `mod_rewrite` | Checks to ensure `mod_rewrite` is enabled if you are running an Apache server. | +| PHP Version | Checks to make sure the PHP version being run by the server meets or exceeds Grav's minimum requirements. | +| PHP GD (Image Manipulation Library) | Checks to make sure that PHP GD is installed. | +| PHP Curl (Data Transfer Library) | Checks to make sure that PHP Curl is installed. | +| PHP OpenSSL (Secure Sockets Library) | Checks to make sure that PHP OpenSSL is installed. | +| PHP Mbstring (Multibyte String Library) | Checks to make sure that PHP Mbstring is installed. | +| .htaccess | Checks to make sure that there is an `.htaccess` file in Grav's root directory. | +| `bin/*` executable | Checks that all the files in the `bin/` folder are exectuable. | +| Cache | Checks the `/cache` folder's existence and verifies that it is writeable. | +| Logs | Checks the `/logs` folder's existence and verifies that it is writeable. | +| Images | Checks the `/images` folder's existence and verifies that it is writeable. | +| Assets | Checks the `/assets` folder's existence and verifies that it is writeable. | +| System | Checks the `/system` folder's existence. | +| Data | Checks the `/user/data` folder's existence and verifies that it is writeable. | +| Pages | Checks the `/user/images` folder's existence. | +| Config | Checks the `/user/config` folder's existence. | +| Error | Checks to make sure the **Error** plugin is installed in `/user/plugins/error`. | +| Plugins | Checks the `/user/plugins` folder's existence. | +| Themes | Checks the `/user/themes` folder's existence. | +| Vendor | Checks the `/vendor` folder's existence. | + +If an issue is discovered, you will be greeted with a page that lists these checks and whether or not your install passed or failed them. Green checks mean it passed, and a red x indicates that the there is something amiss with the item. + +Problems uses the cache as refresh indicator. That means that if nothing has changed anywhere, the plugin will just skip its validation tests altogether. + +If a change is caught and the cache is refreshed, the plugin will loop through its validation tests and making sure nothing is out of place. + +`Problems` gets also triggered if any fatal exception is caught. + +# Updating + +As development for the Problems plugin continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Problems is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update problems + +This command will check your Grav install to see if your Problems plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Problems is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/plugins/problems` directory. +* Download the new version of the Problems plugin from either [GitHub](https://github.com/getgrav/grav-plugin-problems) or [GetGrav.org](http://getgrav.org/downloads/plugins#extras). +* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `problems`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. diff --git a/sandbox/grav/user/plugins/problems/assets/readme_1.png b/sandbox/grav/user/plugins/problems/assets/readme_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6f916051e0d0b0465d6ebefab3245ceee48fa1 GIT binary patch literal 72908 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

    jeGdS=|Q&Q}b2OmA4l|Hjl=fxU{%%?truUw_E)y zw?66>qD=>oM=oUj$3g#o$%{KsKp3SPIp2}*8g~bL(5{-5=(f^dU)mVR`sYV{8t0&6 zK7S%4ds}A`Zfyo9zh?Xn0a5?qJ`;5UpqbOa{NTq*`1SRQ!z#xo z>e(*3)z#G1nM7MG`D7Dfeocu!a6O;_CRC6y%h`8Y^C0$50Sw;01q>iZ^8}r;rhqa0Dj&F zSeeAt&j!EF>4WRCOb+HXDh!tKUjz-~f!V>+RQ{Lb?Y|9wJ_>M8F2q@<<^MuLJqFxT zm*_w7y@MP!KnN*kn?rWS{r~e#u9yK{sPdH7f4QN#2;dL?M>j3YW797A+FNcq5Si1| zEi2XsQ8Oma@^8Kq0Qpc?zkh^oVaJ3g?*V#UkN;Q1?3aZVU=siD5Hb68g*pH{|38Ix z-XiD{oOHU-pCq3BIwwQk11qW-(hK-_f|U8A?>0&kp@0xHw;IjOwHoK#=`G*e=rdNY z7MuF%Z!OwCR(hih00T63>PtSCe~Zp0mg6y?7N*K{b1)0aNo%s2T9&(flaRnJp?2&a zQhN_t0H0Dg3M;w(V37_TwKpRgKxI#t54MhT7kgOWR*DTg6_R~TFe&h+-6ntF0X}k& zN!_F05*js2wxQzlxmTB;s#Hz6?luAxO&W%J+k?Eb*>bbJMoWBDI?QOR)v5keaWZ|# zY=YXo^(qAGUdF4Lm1`Q02-OvEwC`U*0e%I*eZBJ49>0E6lj(ccv$D}LQI?wwV&A-f zIQLdRt(~NXO~e5uOiQ~br>wZQYw>FnqsJ&r4LK~C+=S5|IeD(Vm8Px15)-ipnjcc| zRwaa|x{~*6t7(#nJSnNiz0FffC=v(MU)Net&?)Sm-ctj^-vIfwVY2DXc9AZ~&v#e# zVNEl>Z}36u%06TEe3V=DUzu*7!0(NgRs*=pC9a9fO0D)zt$r0}GHwdj2#@;iR|KyD z8US|kQ!OxXuT)E}h0y&gRm-gqDLxeh99^QnZO@yL;;{S06i_(`uf*0FcT%n-P z$@^1i>zy@XR9L`#ldqW$ttE4#zx>)C`yYDIJ385PN^PrLbjpwP+w%Qh>-#BAz5a`x zDZedLCxZx%?V|>k9@J?T1C)drrm9h1Ke_h^5Q;YG^a0A+-p{}k9f-J*x^z;*=Lt!$ zLm#`O4yZGu`_zpFMnJkFV_rF*o+ey7YtJ1q<11e> zKAj965tVv#Yp8Sg5AwN9Bb_H=_W1-qJraztBB=$j)3A; zz7d+I#qV1^+Kv1k!vnH<>|ZNfG!J?3SbcNn6R?f6@E30Yay7OROZ~m`Ajg$I%y*az z82_5(hgEqs4a<(v;%L_bkAFqK zNM?yd;0#Ao0LgkJ%Oljew`!@c_NfH#!xZL`D(_?~39;?#=wqo1`&dR#RWmO@&8_f& z{V1>^L*}@*hsJCSL%O$oZ;KEuy{A%dKL0pP+Q_a2K8fRVx9)nO{fWg1$9V4sxo@-G zyN;HSxc>5|e@W2>Q57f}>7Fpi;n>i9nyu z@N{moSq~|ACnBhSX1l-!5VxyJG8grnEUsezed-c zhsT(Tm4%=Rs4hNOlg@i$qh42ZR0kgJdle;_mp+;-t4QLk2lU($X{_dEo!5$45gE6i z$6IYLMX#Z|fm{wpkwxAPtRQ|WjPh`}v0kg$+pQ`B!zalZ2B27#Jw70rfHDGb+9wPj z2!kCXvX8YKpK;c~%51j?2P#SU>%GRmp0uDSJ(5`NtL*WWN3)N(USd(NOXWc4km9x% z6Kr9Wrx<%citReqwZvhh94Jl%7uA}LAKTx^1(O#(TwZf+DydQ-H1Es!?pw+)Hf*^+ zR~q5F5hR^ZoOIQ@y(x0Wbv@rPB^VwvzItx5AAQ6n&4auG#Erxk9;q!e?K2nd}aG>fREGYvhH`eNL~$SJVhLHxzbYsaMCykyYL|8kX|PB4P~ zy@X&#e)!Y2s~z05H)j zRk{eVZ&b9fB3Y)O?PCnWJ^J1a`*tOP5%PVKDDE>J?^^8<3H{6Tm;fbOEUe*iM^5Q1 zWiYBCxD^?P3N-w@9YM(0Gxgo8YMgvdTW-eoVYt5gw)tQrygR2oZK&R9;SKI-kllJ; zPz$+(5s{SK*;*^NKP6*|Y#c?8b`D7e6J=>86ey_)Z5+5(sZOPC9hXO6Im^sRckacZ zqgM`vF!Q!$stKKb->&?K=VVm+&537`B83z*cE<2Bwg)Nqfs82&Hlb3LgH4t0#Y}F5 zFSk_5Z5XZ>uO)KbiMjn_098_k(DNP)Ml{LIe}0Y?t#Jy!aFe@bI7N4D_taXu4Jb~z8 zPT^*tk{6WXGrli}nZ?FMisB=;qK5W!OM?Y@68E<=^opv3!y>qN#Tw=+t4(`up^mpc zQ`3CoRtQarmtc=|dt8_pNaLGQ3B z8^hb>7BfY1dyKRkG7)8JqWQ)-)x<(pJlY~~nBTT~R8*$4S}dU>;HkOhW@uvXQ~#MT zYwH%Qy=O60iRUo4cOF8UF}VqKGCbQbz9$!1^Q1VJ%TnqXPYYLIiaOIpHJvF`C$UV{ zTz9vO8={kD=4G2fc#77?$_07aZn^VtwHV=fo2K%0XWS?32zvIgt<^@p`KP%!cK(x3 zVUV@B3vVc*Pe~1}E)N=Gt1C!VGqlgxiOF>%5Vk+qjMHnVX;`D354P7U_o>k{Z931v zk^BCrBnuCyrg(h>ENf$(_R!{e6DKw-=&R7J!rT{{n*}SZmtaAg`WWc0t)`D+zAkSj zWPlHg%)RhZaKEMlj+`j*oow3I_NZBeH+u3gYUV~e2<*GVWE%qP&7})(4Cn) z(Zq4m$Oj#gGOH=KI;l1OnQ6|AF77qxBw2zS5!=!_C~lmhcx$MB`SnZ!SvM$1lS5D+ z`We=mBZoQPX-b-*{J>%`f%nk2G&%6T?UP1gIxr#D>C0l&l?{P{{X7&427QVrs@Z8+ zW+?svL`E=fw|026h>QGL?quNhsFJ=+@GKQ(g^#dU6QQv6ENfn7;0xLQAzE--|=_JJ1 z`X{j3eSdWHd_UBRYD!q1UgyRg|JbM;U`VIgbqe&xHTmlrrfi{Utv+%Z+|lWe!W&lp z;0z{C$eDde<$^>w!dDI(*+UjpY#t~%3n&v_>%BMP>rY%U9MFcPDEyE`d5kvB%$*Jk zHKbF%eAo3@s8i@d=kSq?wbV&VS~4nfjaD46l+48&>qnxMB%F;IU8SR5dw+p0?d#mf zRC&+6vO3hsIO@>pn5(0AA(lyFN)#oVcNdJ%CD!D&V2}6Hs4rF!j!ef_5bPXsxT=?n zwyr)Br~wvkBzYuVIG_8`OeSTY5a@kv9yuh;(Klm&3Cy%2Jyw7_S~>3p+ztkIt87-p z-fYFu(dbRe{cRbgy(F!Afdb#VXc^`~yjXjC zfzuysS7K%nt1S^pXlS)Ef4RGGgjVZOm;;+|cAVT0*!=;abqj?=CA4% zC}zexy2GR(tx8+dV#9&#U&no)2DuB{TMjGHro~WQCo-BY_#zdkyC}XvYVml04(U^$ z?{rZ@QNKDzlJFoYq~Ai=I$+7wrB-fK4?gepHHbV3!x6`^jmwRDap8nIxLLU7U7^DZ zA9I?zpE@C0<+eW|OCaja6mHzT^b46{ni8>Ge(4lpUdCzN%_{V+oi`=%@dQ3?w5X5V zKj<{Hm^O)jC~&o2C9Q9H+)48`L<}$DgG@)4oShWs@mQ~?;IS!_SFavAeB#a_x^oXX z>3Sv2IoCLt>3U8$v%G+lDP=W1bjL1L2i?<(AoJdss=2_ZdC6PE{#j7U@anZb@j;b| zi)a0YE1!V0^Y;p`KK(c@EjZ~e6)~jJ;X5Q8SNEQ@PSj@KB^)Zf7k+_1fPbhm0#w=( z2+F>%!6?!&SbUZ0uy+bP9@W!AY6#5O`FW|DLqnBuZ7%OP2sCEt+SI4zGG)T}K5a3J z$BcsBIV(MC&{fOFxg%3k3Y6yN=CTH~`7~^=TQ$j%zvqeddsMV&xr`+E&8)M83GX{t zFPHFe?{3QC#h&?VW`bG5I|@@(G_AqM^b7}7O1jZ&!8>yXN)-d}#ftYyj?wuXX*=O% zHl&&5A7r`rThV%FT3H%>#B{4FswLHW-lknpaG#Rm?YktmVOv(bE`{gu-bDsmW+ZPf z8O&)(R97$LdSaeuVvF#Zy|KCDtc{GYXFu#ygtzpk-r|aO1|d0=AD6*q+3~UyN~)9mag=+(1yW=*X=RGAm263YMY*<3?ZBO=o&K>!~R9>`opL+x!=zg-qf6nVLv{EcbCF zF0iAvFk>STg3GlxuiUKg461~dqiiOLqrP?e&5nD{VrO|0V(wF}oe>$Go|OY18{}7( z$|>1?q~Cxkl`$LCW;9O&dt>xOEvjKp*22N5<6xrf3hS3@zOLB8_KIy5uwaUH#rI&% z#;+e2eJh+9uP3Qzdfk&0!?N;qG-d|muLg?fYV@p$Qo2Yu#WZM0ftW8(qnFZ3ZZ2ek zhSdRUWGC~@T`UYV|#i}Wvq)dm{$WLXjpl~6;@PPx(oFgf^SmC~|_1yWqRK48ed z*=TmD@|>tcJ5mBXFMSo1&G|TfFKzs(Nt*F?Cm1v5&l+6YsvEWnd4MNb*o?%~5iWF% z25;tQmKo@aSFJmh3|rTVChOom&Oy%@1mc`Eri~FTg#yjBq}jrIwGoQ0I=Oni)oTr{ zq@0ezdxgopinR7lcuwCY;yQLzRI1bho*F=IMfK|NM9)0iDZ)B{bGJ~ZuZnP+(5?7$ z2bkqjXA&Qew3_LtYB9$Ke!GRzfbGX(XFVZ7pdn&gwN1vFA>VfTgk9Ld{tqybN3}=q zv-c&7wWwqzy||zzCOeNpQ4o7^UvE<#Oeov;6_@%MEviZSO9Hkzsb@9YoU6t|w;Q#d z?#%Su1ytFSK)phkpAFUT?{%?>+13yA%M@F0X9XARlbn=_oeYCkikwC+j|t8``Eoe6 zfM!6Y$gi18iGT-YYvjrc?z=Dwr*Ho3Kmx3eyV=YIb~jECfo_>?(HR z+8qA+G>MFJowT#1z295T+gj-IX4#Gs;2E3SW9vKT-|3`Vkia`pZ%&C`Q4AzZ!Ybdr z6Nm;5r0bUHs9^2*+|F*E*_kPeWkk=}QR_KF)vEhG6Km$7rC&+GWB|FFFYx}TC2@b7 z5;{2?sQR_PbGDStBiN_uxQT^lgLf{~q59TybdEl3Yj|g3tt$@>YBs{=YJ!#CaSmDE z(et=3x!uz09rmiu6t>kNXX~{Z3ahKfQ0fNTq1tN#pYqLA$w{((=0m*-eNmJ0BA+50 zI7VC$J)b+))6OhAs8!ft$ONm}biI&Y8f6#++tPpA6xQz|o_?FX|s#WqIAX9r*cb+kY= zpK9X2xd)#fsILjquNqF=8-7jW-sx5^8r>h)!meK=MgR7f5jdO_rd17gbHTEeAGKfL z=ZU&@n);P^=1g!&?9-7Nn@$B`jUhk6lMP@G>s`}cJ2{HbUAVPm(DRniqibIK@k^W* zh$0ADD1sfIB0orHO%Yi+y!weUBZjZpXeM8RAr^Xwp(`Ro&p7ar6|QNYa$rp)t&{wH zg5R9_gniyKfu>f<)+Rk_+(8!?%rGfU)vS>h?xnyHUyAqzd;`qy`Yl(>7!0XA<-Gkv zr^l>1QT4L3jW^MGBs4jpMG)D-@EXL7E(YCKd{XtTtA`)T;_eK&M_^u!4G}Tfef|zXB>m0ek!B?57*c>Q5 zUKM;Dw>7x01>0K+?(~Rg+&}Z($wKMnkLdEqkWcvwOYVamc(SoHga%!XSaPWOz$W;I zi#S9lajo3zV(6x_G!44x7+js?HF<+-;EJ2qq#}7dT`dv^YeXM~Eh{X`GHS$E>Yi+# zznmv3Uv(T`A=_2nE35uG=(RrBc{%U#oBesN;Qkh-yyFQ@&Fc-`@wp40l{$fp*SVK> zsueV~Y^v*!tpXpun^Z5%_7V;Sss*%>waKbgTVm8_puqc#wCl7^hVlSiEA}f+QNJ2kljY^=@R8 zUErGFUNXdN`R;Y1jYh@vdI)Rj(t9Q^pQU^;)*?z$R7mYZ>l?p)r6!RpM>Z0L2er@j zZBq2HHZa*fyLf8UFk(&K{ZN@rf&6yyC`zfT6qz4iX9bhuIpY?1odcMwL z6IJ3}k&(?%nD{b-d*nzhk$srZUH#>Xp5~aN#o9d~GSod?dC-NS~HNFX^xy-nsSVz8|u_WmozTYrJ97>D;FWylSU?>5gCWbj9h z&>yK@tk_~T^$P~t#(r`Cy{&q9@&e_1YckAaGDy1heIH|hE+Up5Q1}PV@8!o)hgwZK zT|sKypwqY517;lx{suN`o8LLdE{QE$e1J?rQ_hhcVKtXYeqC2WpSc`%t^mtyTBK)u zU@Jo73L+q)+e`}+CWwb}IXMc&NELj1M(DiLu%_@dlm3F0fN{S9T@kx9A`l;oUo#kj zL=HU?I^qUzcHF!bxx8LNKJ?t;mc%XeC34*pwqgE94T_CXkAnW;+$*fcufm z&#SYYqVz{Se&4Jv`gr+5)!IFh^7kr(pI4|Qa#!j1VmsIsH?wi04pjE7vPUs0O3f!# zc%OgB>Uj<$}a#}dcIsx{zibq=z z(u8@QwY$OQ;)*cwDYNkDorNbc$sPjgatK!HR9G8;4Ra>YF{xIY^JG+gz44*PXQw^( zCt20K)!Z^7WlrS!fH)tpD-oSl02Z%YWQ+;GS{HueKDT$*L{GhrlCWJw(8S4Jy=Ya7 zz-T>vcI?V>P|3|(!A~nmM#1EWa2nd;B51lk795wRq_o-BJL? z`l|-pwZ13k399_SyT#o&6I{+;>|?0E_`bt!!{j$CF>7yVQrhDo-^+P>8>%w6{Oc_eeGg2m??Q)ExoJiYSEzR>p!=E-FtwZB9H)|&Zqz!7eJcheRKUoT}c}2$4n}fuO*bDva0p)fPiExLfqmGdN z%)yAZ_14?N5RgHhke;;|y{?+L_y=!zVbisc^{wP|u%bWn)Aw?CSSTyIym50a>c-Va zG=>M~_CSrlHd>oMb`k?}MrzTB+;-X~<-)k0v*vcwdo%4DaDi6jhsc9bZ3;isl*G=`O>S7d?j&I7Xz8;+QeP}B|ZNmGU{VeiJ7WZAHkp2PYkM)XI z>jX7J^XvEAw(qEAes;B}GoqL~N4=|b7&s>(xu#1e52pp(8X)Ng@mGvFZY8uJ8lrv| zCmqPD*ITeU6!mlV@Z2d=E<#6SX;gQ!Yoga`h@e)@9iFljUMm}epN+RC(aRJJDkcu= z0r$a3EH1+~O4|>DOu@-fDi%miLtKInA2gIIiTOR?Ms?^w_gL2A(RHPEV#I2*LUuB| zWxXP>jn2hescHcav$LWqPn=&?qE9{I=*5umqDr<-T#5J+A;(~&-|w^nzQH0Z4c;^{ zcqF*?0}P8~rTce<(L$kHcT_5wbzF4)j9pybM(F#@cDuQ<>y_Nxk-nbRdF~fgB>Bwx z(FErpOhB`K_cNny4&o+1wxNF+HVwTw*Lf#fpfL7)!;z{ON7E>C_qN|jv86?3iZnHz zrc#eKm|W0@80Og3NHKBbJ^MA}+WLK9Pw%=^J_GEkWc1Acw*g!MQw{%R6&3_L;F2OB z^VFUGA#|xw#*B|WD9*ay?#>%m8jPoJ(?a;Y5d*%C5F<$5eLY+S z7R2~efBB_39I*+BJ5{4P){^{4`YRbZcKBNA=YS@X62Gg!yhx5F5_TT)@TgoeTRK=J z#Wm=B;=@~`ztnKQ(^2_wht?caHIbHqTxcH@WXSnv(VrttC^6}!ht%M%(FOGfjO*gr z&#+JSPOdK%acVnDB-u@oFf?fM@Oi0wF0jcZQxl~>IHW%Z07=%@)}udsG`7$fxJrVf z*${oVMmFjEaFrQd&TlnJAZrnYGf{l{(O=+Yq}okHL>4wd>UCbovh96gvl|s{4($Er zMsF&$+oaCz^;A%J27~Y{C`Plfq^(O?;6kK-U?eTuaw3@VLobP4H!4!tW?a8u8Ktv1 zAa&aug3GkiKh~+Q`{W~MG5F5qKiW~iu`>7U$tdanh9QA?vQ^rF#gu3a`XvWyKdi0U zH-4*xR*o^4Z}yT)HW!6gM#<$?3F$=k=lg*vAUft5JHPVaJr|G3VI7&||NO;&04>h1 z83KOA2fqV+R*uhFf-@%KGk)saZ+`9}_4og3fPiJU_3>+sz++9yC^@e#?_0h)ONmtV zto!@>4u9R*A1d3kuhN!JHfd!3XRlFaLZ`BjnQY<+S^wqOcESGZh(Bt#KXBC5tc!&E zhTq=vmk0K%W!Qb-?@j$l<+T9|GLqsA_x0s=YHpv(C-&(@zOT6ZuPIHE;oZUk)225$ z(^;q0!Bf9H7|6m89XS3!%iZmC7e48)Nya>S0e9e=mfhCRP|MFN5C2y}b#Y)1BWL6KNMCnIEdLZ}IcO!)vjt_ZcAGcpGJXEj(-S2m04h)_)bN zt-J?iD!xhzow}LYIg*XTvLaSms=A(^_xZP!&R+Z@E6eqhRW&zX-1<5Ce1YZ*L#Ifm{x?wmlyD#a!x_bguO1rp zc|0W)+QOXUnc|nCP!fA~?sU&SWninfHE!!9M_7ni?SEU(b%}gZ_QU^1@}IW!;TwEo zW?7Lpo4U&GGa{9$C1RWA8w1CLzyEO;`xrjEuxCzEd03rMl#Jg99K7&$$sSYjRFkp) znF_Xt?474;toxOH`NwJi`QrD+Ky&Q7@_vyYR+AFo#l_X(B)=TtBfrY~S*->q8;S3t zqLbvemFCzfYwvnEoKHjg2ah`v{xbaOGQX=6`mk{9i8K;0xMMs~NoX3FoGlTsdTWVaf3L>FbYS~(%b zko8ht6<0qoE+R;7ni9I)!nwPiQ0_3sBa*&$n+k7)igSN!?H0%hc`ZKj`Gk7(zxC#v zz@HXmKHaX{w(M@KC%I19hzO{x#Xmk?_xl~+ln%m)Pq3{a11_6FXs1H>7!C*GFX zUC6!nevbaF+8$;t)=b6bm?&b0x`R>BEzwI_Nc)sr3rJUfl~tn+NllUz$qHKjxH{^A zN5KYg&cJKxR@BBk6I5`Z`Dgb7pIe{Vp?x5bt_ks(Nh8@UDVJDHXnSb`h+4n)^2{-C zM~-EPK1MN2HB*4YZ%y5vcgMU=|ta%n%)ztD(+Ds@m6et<-y<2ITeC7?_>g za!%o=piU0>w#gP)MbeK6>x>knu`m=j%#aT`(%&>SqhRxFTTJsaSbCw?F)tcP{JI-O z^+bvn&8u;e<6b`Y=gLcLA`qinH<%?oUdo#$AzGEM6OMD$-|DDm*)%e+o6IVlG zD=}eX0gZuW(=%}xJDPS679(U}A>@LG>-mJJ&8kj~QWlo2Dn4i0(}O7B0`T4<;m~uh zB2`zmLPg67m?=l{&qF^qu#6uU3YqI-ud{nt_^=M|I##B)tEbX1JOQ8@Zre^C{daKO z?TnOv=F72*3uk7;V^~gQxe5pi#5PHomwQ6izoiH+l|Z;wR?~E`8v&t)Dt5q=p;|i3 z!c^-p^C_8bGkrc3O^pMm)hb?%fxd4|3b5cac~Xvu^TJ>;UQo5J(UGGCZza*pa)Quw zzT}RQfAZH6fq9pX)nQb}6g=Z>t=7{H z3RQ&Y6n>0q+Az>E?HKBgHlPgb%y=sn&)Cu81lMJ=Y>u`fY!E_Zt(pLKkdI3AA6!|n z4NwkLa_hkmGNwE&(Yb51qvRWTrleBNH-grJ6FsOik`uESqMCw}dl0(jQ}M+v<2)t` zADni@E*0x_>4kR-w7z0 z??@VXxcyTF>sQ}sMQutUp@!;Idr7ss&pq!t$y{OPff-uLM!oyBNBM;@@1UsWj$+YC zb89|DYwcl`;YVRl(P(3=8}4Z}Hw|XjRb#8R9#A2^wD)fh{5qK~;a{GcbXKF|z_WO` zEn}?BL2WG5EkFS(*Qf=&L8st0VFri8BSBb(72d1lwC@v5G2gqo^h`@z>AgR;Fk;4v zn{ZQ~<;!rZ^zJKh0y1McXHYf>NjL3=y0m_^G5vNw$Sg&*BR+cM=5IgsM}qN_s6#so z)-@@C8DjgoC}hj87eNMs6`%J>4&GR=V!=$Nqt-uXGisy>qqF#;1>mi^shT8#?n2W_ zvo?XB_UJsBYWGfAgi4=92+wqZrPo7f+TbJ;wXV`pANo>6UveW9?rl%&swsB^Zl^S% zH~ATT9i{zU#`@0R!}>x~^t(-Z#={?Gc_i)ccsi&&%4&R9}4yNdueXJsBN( zwZ|eFzxhT~5N!N|gZ5aJ0%B?WdWzggfs|KBTaf!ivhI$uc&%aI{E23pxL{i+H!|cL zrSL)#Nk`vBpx#;DF9phDzyBDl9ib&pSUDn>>7yM`TSfg5hK^p7l zK3-T7#X?-2TA5aMB0~bt?JU`D#G+)G?CwEMyjN&tz}cnfLTWD0A?R#PO0np|j=};U z;=_5d)b4abS0uJYs)!9z)1OvS#SDxLrBF53uip+%WDIzeQ)in-ueJxr^Tfu(#|sDE ze|ud}^S#}ajKL8FM+-ZsSS}B!K^ofJuvEvKD|XPxG?v@B*k)*;&GUpg-@JgcK%QXQ zrf4)zTu==%+a+DN^0W0ON?tXUR=_JExAiTk@S7ID8@B-2BVCGFGpVhwRgvK33B@m* zwbdQL*}j@xljqI;a>8%WQjE^el|9ex?i$pRXiQJU72_B1oz|?2*4oFYUbH2YuCzjG zAx|zlo;nt&m=~7r7upuC+^X{y*BTg=hV=B*+s!fppLN>d5)qbeG~#ClF&O7UDZ%G{ zfNy&XYJ{db0)fMCqJx#=#a+2Lx;Qyv!(TpW>V>AEoVId-8hN^Brsps(pQgR0LdT@g z@r4$Z%*&TtWTPq}Yc;Yf4{R-u_egs|Q*cLXW#vbTDlW!2h__(^22u|0jNTyrjRVp| zrN-t7dBA6pE{%P{hFG`ot}z&DeaQkb<}e=PK-~yz@pcMMyzaDd@=GPkbp52}9l6WO zAJ+uB_~YQq6{Ef_MLauw#wvtSw0|Pwqy?+%)#EVEN8{8Y;9G;?X~?QG21}AHs6Ke0 z25Ux-$rs$kL{j?zrG%+AtBq7)3Ik%wV9e%3@M)%;e>TOe%^`*G3n3ZrTAu{QRry0TIrTNUy?_e*XCku`L3CA6 z2D5o#d2VSJ*t%lcNn}|~pItBLkIYU}<3dyHh+m5Eiy86$Brl#kbWRa?T~xAk#O&`# zIiMGM=KZKh-582EHnuE;mJOV4LM7r#nNzbs@^a8CcugXtu_3`Dp-*`3YCS+Y8is}) z_|MMxlsWQyXmrfm0S^+uUPhJyI=1Bhh~UWFQE{Y z989bAZmhC;Q<5LEY*+hHqkJt%siA9^3L?lCCf~oG+fc`b)DWU)GH2wKW8}qYO@U|nM`#9R!(Glm)j8wUG-=Qia zbF`o2b$G5!t>P}pV^)dAZ%_Ld3g5DmVIXZfzZrVO8P#5ew@fQvZ^Z7Od+@l>qQ1<4 zSA=2UDyk3wjFh@QG%T-%ghyOr?6f<_7_j?N4kci~SO1N>QyTzTazDp$P*QMK3z(Z@ z5wjj}+Z|RGu4>x|KRu@4UwA)5NZjbqLX7e-hhL2( zV`^9`kx0<^&IJl;95vDHL86yP&K!c(@rRYKfeOZNG5=8O?7f2lw z#HO88)Jm!Wm5q+zTC2POSkAnxYg@QlUIFzFw^g*R0VN}PXIy6!0Fe%jIV^KuQvw>L z1$O4+PyAD%NImj63t!|}1u><8s0C`2N{o;Z63+UKa7L1FKz?8Ur+mvjy8H3t$ngBqEAytYe4ajabCdip0 zKpjBin6OJhfbcK-evV!M`t{H@E7Lr-9c}dtB<}Qj_CgJOXk{g&?Wjz40>_hJbn{E?xX)JZNrY+cfx6q@IiNqC(q9rTgu7WUlJ^Gpyq{R~NC)6R`4mB3t0_pbj4KzLS=gHp#@oMPjve-Oie zf!53*K4dNj@&^SDv^WsNSa*b=mFRl;XXlz+W^hh3k#j~;8tz30>OVrz@O~iV?&v49 zeI_IE&Bvi{FFoulH*iFqH^{mH9EWC-A*Z)7(?p$SXKgp zi7fQ=%wgKb->P(z&N>;=a;GZ*?GQ|hga_OS&EC7l?yCc4XvP+ChpE|xZ{LBKC{>od zhLMG0YGM0$9(Oqyj;Xhbp;lr3lyWIk2C@#MmS(N1J3V?sXrAW|i%$TCW^QS=BFBcO zE4&l7g2Omvs76T_vsHJeN()u9k^WDsK{!j>>~NC#eK;f}Z3C{I*UAf{?eiwWS2?L5 z95=3d9NVt9m+%oNyAl{?5kBB-P5T8j9Mdsj+C@V>%EGiiaAUDqVlup7!%7l}(hiQ!q$arcC zGyu)>gf3w#lBf_g}~TjjqTcS~V}3WOhqBBhV|hY=SH@y-OVvPr4iWP0`9*WKAH=Zn4U2%!xSd z@ag7CjpQeM(PBnzOIpCP))+1DY{*rxj37wfR&&%(i9T@L=509mm_p$8VvUG2rj(n# zKBcPSP-9&{tw~E*`lye$%hrT~PlS^4E~UfBkoW;Am*QV;*1|z;|9}l<=$5pmkRrOh zMuW0>ztYZe;n~h_&-xGfUekT92ljN!c9^^&0sy!gq=Ormb;k{`0oAPR&M<)Q;f@R9 z!x?0VMsol42`5&`E@=tCsnIlqM^V%GapuUQ*P_|X2+jlZYWEC5 z%^2t5iZcC}q(!wJRX6t9z<1DKjS<|L0@kP>8Y_g9fsFaU(8`>_qY1k}(2RYF=);N) zJ@9Q+Mpt6IF)Cc%Jjf%lp-Q%($_iuCwV8b5;~Ge#*VQ`f@%#0#%Fh+hh0* zR*97<42xk{X^%nmRLN1jU|}I71>+gw2Jk#o?rS^C9(nWH#`Oc|Qi7@DlMbJ1sW22M zyyubNPM6FONJPK$yMd;9wG}o3A(x1ECPWS`Dvd4NL=ON#9ErACb=J%EV;0!}!cg0f zVyK=pe35lG_hLwn_EIL2qi2mcCLQa*jFA?bq{$rF=?Clb>YB~A@kDsdL=n}%_+Z?z zO}+NsS*6)%;IjZ1jHZ_Ye02oHOYAqG2QM8p6Fp$eEZ~2^w#dzms+O<%$ zlVnXMK^DQyRaJp`Mb@3%D`O>afQ1RoW1N*5EX8fK^>(y=cYJ4_?3R6(zHw$f)UEP1 zeRa-`9qKk2Sq85MI|auUP?iA?t7-1zz1ghd_{*tsSMB3_;cx^`84)s~0@3CvQ$6#m zt%yhVSEq4P%R;|^iWa?d>0;yd9U-G zx0!u(j}+Wid|6Ni?a8HjBE=#X zjL7mM1-ZQKzH>QThPk}f9^C8Zli?z($Xy*f>QoDaTb{8#XD3Go^QcY>(9 zoiqG+Az1*z+^ksRbTxtSZ}qyL825}EWdaZAZAj5*!dpxkwBXLT{WrgQHUIMpsd+D%HBX-l5>Yy)o>HhH&fXnX4`jhXfr92YtD zhivK}rv)>NsA7Q=*xtZcG$6jB)Go!c;IQZg0n!k*T0bR$Q_9q}bXDVgU}mquqreB_ zR2pDD+1Fosnoq)O;m~KxAi?UMiIHwN?+wn2y?FoPPK~;rR<9~Fb2G4NN9i|O zwP0_e*G^PBWvg`~IB3EumZ+-(jEr!jsOl8BtHxee1`(J%#3oAS6U!%0d7b>%gc+D& zs$20Hp-vkmQ-_1l9RMBxvhEvrMBC9pZ#1-Mi14~@18KgnJff1}q9F5db@KS+jM5ly z)I#I3)=*%p)#5^4v3rk~Rp>bTyMJR{aZG0)O8mP*DB;HPS_5W^OVJ#+tF$TTpUXV+ zsGESR;#$Z`Ka?s^YVU#7t~ChQDdPI2UT8NYX-qTf7NW*A1`h7XdFq0E=OK3rUvTIx ziax)z0fvZkLerF6Hj?Wk#6E?$%~;6EcI#NXWj}8({w&|}zG0pFISP9B=Vw?iL3)Do zPIX3}RPTRa?gWEx$-{a)YSnV~#)90x;4c7*kKcU>efZVb)_0R{HEU;D{~$?zk1 zZs5&?Lpyf%&Aonpd2nV}1AOJede(wiaCUV{?21d!2%bAGp>q#Mic1VmArE8w4X{LK zD&>;=o99b4Dm%HOZ}_H#MYAmF!js3(V{Lqab|a~?X_3NJ=3Z5Lq474DS5J?BG9-N} zoO8@;mn?DES)b2HNCjGh=9)aOND(RvrlfJ{aJT+fgeC%OFwj+lZ>*$xqSN=?D0L}b+klB5Y?aXac;EnORFSehcdt6 z_kmm+_l8V{4<;)O%ts~KQR4zu9{-*hcEE^oDDK$k^Ce+u;=4Ny$>I<1?!@fQwtN-o z5+@?ZPc0dFLVi_%!x(jq@LZHII{A9e>U4eFEd{tV@A59$>l&9|-l{cmFb1eL!84$;Kfb!p8^2$gQ07 z16}zVJMix}eD*TxRWp6S_gaR77Uh<3!{-GqiSXmd$k%lXRD$84~nzRCIq_ye0*8)GkD`|1AxnLoBg literal 0 HcmV?d00001 diff --git a/sandbox/grav/user/plugins/problems/blueprints.yaml b/sandbox/grav/user/plugins/problems/blueprints.yaml new file mode 100644 index 0000000000..7360395bde --- /dev/null +++ b/sandbox/grav/user/plugins/problems/blueprints.yaml @@ -0,0 +1,37 @@ +name: Problems +version: 1.4.7 +description: Detects and reports problems found in the site. +icon: exclamation-circle +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-problems +keywords: problems, plugin, detector, assistant, required +bugs: https://github.com/getgrav/grav-plugin-problems/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + built_in_css: + type: toggle + label: Use built in CSS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool diff --git a/sandbox/grav/user/plugins/problems/css/problems.css b/sandbox/grav/user/plugins/problems/css/problems.css new file mode 100644 index 0000000000..4917e5489d --- /dev/null +++ b/sandbox/grav/user/plugins/problems/css/problems.css @@ -0,0 +1,71 @@ +section#body { + padding-top: 3rem; +} + +ul.problems { + list-style: none; + padding: 0; + margin-top: 3rem; +} + +ul.problems li { + margin-bottom: 1rem; + padding: 1rem; +} + +ul.problems li.success { + background: #F1F9F1; + border-left: 5px solid #5CB85C; + color: #3d8b3d; +} + +ul.problems li.error { + background: #FDF7F7; + border-left: 5px solid #D9534F; + color: #b52b27; +} + +ul.problems li.info { + background: #F4F8FA; + border-left: 5px solid #5bc0de; + color: #28a1c5; +} + +ul.problems .fa { + font-size: 3rem; + vertical-align: middle; + margin-left: 1rem; + display: block; + float: left; +} + +ul.problems p { + display: block; + margin: 0.5rem 0.5rem 0.5rem 5rem; +} + +.button.big { + font-size: 1.2rem; +} + +.center { + text-align: center; +} + +.underline { + text-decoration: underline; +} + +.clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +.clearfix { display: inline-block; } +/* start commented backslash hack \*/ +* html .clearfix { height: 1%; } +.clearfix { display: block; } +/* close commented backslash hack */ diff --git a/sandbox/grav/user/plugins/problems/css/template.css b/sandbox/grav/user/plugins/problems/css/template.css new file mode 100644 index 0000000000..ba59ac88bb --- /dev/null +++ b/sandbox/grav/user/plugins/problems/css/template.css @@ -0,0 +1,762 @@ +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Raleway:300,400,600|Inconsolata); + +#header #logo h3, #header #navbar ul, #header #navbar .panel-activation, #footer p { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 20px; } + +html, body { + height: 100%; } + +body { + background: white; + color: #444444; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #1bb3e9; } + a:hover { + color: #0e6e90; } + +b, strong, label, th { + font-weight: 600; } + +#container { + min-height: 100%; + position: relative; } + +.fullwidth #body { + padding-left: 0; + padding-right: 0; } + +#body { + padding-top: 8rem; + padding-bottom: 11rem; } + +.default-animation, #body, #header, #header #logo h3, .modular .showcase .button { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +.padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .blog-content-list, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, #footer { + padding-left: 7rem; + padding-right: 7rem; } + @media only all and (max-width: 59.938rem) { + .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .blog-content-list, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, #footer { + padding-left: 4rem; + padding-right: 4rem; } } + @media only all and (max-width: 47.938rem) { + .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .blog-content-list, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, #footer { + padding-left: 1rem; + padding-right: 1rem; } } + +.padding-vert { + padding-top: 3rem; + padding-bottom: 3rem; } + +#header { + position: fixed; + z-index: 10; + width: 100%; + height: 5rem; + background-color: rgba(255, 255, 255, 0.9); + box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15); } + #header.scrolled { + height: 3rem; + background-color: rgba(255, 255, 255, 0.9) !important; + box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15) !important; } + #header.scrolled #logo h3 { + color: #444444 !important; + font-size: 1.6rem !important; } + #header.scrolled #logo a { + color: #444444 !important; } + #header.scrolled #navbar a { + color: #1bb3e9 !important; } + #header.scrolled #navbar a:before, #header.scrolled #navbar a:after { + background-color: #1bb3e9 !important; } + #header > .grid, #header #logo, #header #navbar { + height: 100%; } + #header #logo { + float: left; } + #header #logo h3 { + font-size: 2rem; + line-height: 2rem; + margin: 0; + text-transform: uppercase; } + #header #logo h3 a { + color: #444444; } + #header #navbar { + font-size: 0.9rem; } + #header #navbar ul { + display: inline-block; + margin: 0; + list-style: none; + float: right; } + #header #navbar ul li { + float: left; + position: relative; } + #header #navbar ul li a { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + display: inline-block; + padding: 0.1rem 0.8rem; } + #header #navbar ul li a:before, #header #navbar ul li a:after { + content: ""; + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + left: 0; + background-color: #1bb3e9; + visibility: hidden; + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -ms-transform: scaleX(0); + -o-transform: scaleX(0); + transform: scaleX(0); + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + transition: all 0.2s ease; } + #header #navbar ul li a:hover:before { + visibility: visible; + -webkit-transform: scaleX(0.75); + -moz-transform: scaleX(0.75); + -ms-transform: scaleX(0.75); + -o-transform: scaleX(0.75); + transform: scaleX(0.75); } + #header #navbar ul li.active a:after { + top: 0; + visibility: visible; + -webkit-transform: scaleX(0.75); + -moz-transform: scaleX(0.75); + -ms-transform: scaleX(0.75); + -o-transform: scaleX(0.75); + transform: scaleX(0.75); } + @media only all and (max-width: 59.938rem) { + #header #navbar ul { + display: none; } } + #header #navbar .panel-activation { + display: none; + font-size: 2rem; + cursor: pointer; + float: right; } + @media only all and (max-width: 59.938rem) { + #header #navbar .panel-activation { + display: inline-block; } } + +.header-image.fullwidth #body { + padding-left: 0; + padding-right: 0; } + .header-image.fullwidth #body > .listing-row { + padding-left: 7rem; + padding-right: 7rem; } +.header-image .listing-row:last-child { + margin-bottom: 2rem; } +.header-image #body > .blog-header { + margin-top: -9.5rem; + padding-top: 9rem; } +.header-image #breadcrumbs { + margin-top: 1rem; } +.header-image #header { + background-color: rgba(255, 255, 255, 0); + box-shadow: none; } + .header-image #header #logo h3, .header-image #header #logo a { + color: white; } + .header-image #header a, .header-image #header .menu-btn { + color: white; } + .header-image #header a:before, .header-image #header a:after { + background-color: rgba(255, 255, 255, 0.7) !important; } + +#footer { + position: absolute; + background: #333; + height: 6rem; + right: 0; + bottom: 0; + left: 0; + color: #999; + text-align: center; } + #footer a:hover { + color: #fff; } + #footer .totop { + position: absolute; + bottom: 5rem; + text-align: center; + left: 0; + right: 0; } + #footer .totop span { + font-size: 1.7rem; + line-height: 2.5rem; + background: #333; + width: 3rem; + height: 2rem; + border-radius: 3px; + display: inline-block; + text-align: top; } + #footer p { + margin: 0; } + #footer p .fa { + color: #fff; } + +body { + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + letter-spacing: -0px; } + +h1 { + font-size: 3.2rem; } + @media only all and (max-width: 47.938rem) { + h1 { + font-size: 2.5rem; + line-height: 1.2; + margin-bottom: 2.5rem; } } + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h2 { + font-size: 2.1rem; } } +@media only all and (max-width: 47.938rem) { + h2 { + font-size: 2rem; } } + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h3 { + font-size: 1.7rem; } } +@media only all and (max-width: 47.938rem) { + h3 { + font-size: 1.6rem; } } + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h4 { + font-size: 1.35rem; } } +@media only all and (max-width: 47.938rem) { + h4 { + font-size: 1.25rem; } } + +h1 { + text-align: center; + letter-spacing: -3px; } + +h2 { + letter-spacing: -2px; } + +h3 { + letter-spacing: -1px; } + +h1 + h2 { + margin: -2rem 0 2rem 0; + font-size: 2rem; + line-height: 1; + text-align: center; + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 300; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h1 + h2 { + font-size: 1.6rem; } } + @media only all and (max-width: 47.938rem) { + h1 + h2 { + font-size: 1.5rem; } } + +h2 + h3 { + margin: 0.5rem 0 2rem 0; + font-size: 2rem; + line-height: 1; + text-align: center; + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 300; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h2 + h3 { + font-size: 1.6rem; } } + @media only all and (max-width: 47.938rem) { + h2 + h3 { + font-size: 1.5rem; } } + +blockquote { + border-left: 10px solid #f0f2f4; } + blockquote p { + font-size: 1.1rem; + color: #999; } + blockquote cite { + display: block; + text-align: right; + color: #666; + font-size: 1.2rem; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-left: 10px solid #F0AD4E; + background: #FCF8F2; + color: #df8a13; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-left: 10px solid #D9534F; + background: #FDF7F7; + color: #b52b27; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-left: 10px solid #5BC0DE; + background: #F4F8FA; + color: #28a1c5; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-left: 10px solid #5CB85C; + background: #F1F9F1; + color: #3d8b3d; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; } + +pre { + padding: 2rem; + background: #f6f6f6; + border: 1px solid #dddddd; + border-radius: 3px; } + pre code { + color: #237794; + background: inherit; } + +hr { + border-bottom: 4px solid #f0f2f4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #1bb3e9; + color: white; } + +fieldset { + border: 1px solid #dddddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #dddddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1bb3e9; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(21, 163, 214, 0.7); } + +.form-field .required { + color: #F3443F; + font-size: 3rem; + line-height: 3rem; + vertical-align: top; + height: 1.5rem; + display: inline-block; } + +form .buttons { + text-align: center; } +form input { + font-weight: 400; } + +table { + border: 1px solid #eaeaea; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: white; + color: #1bb3e9; + border: 1px solid #1bb3e9; + border-radius: 3px; } + .button:hover { + background: #1bb3e9; + color: white; } + .button:active { + box-shadow: 0 1px 0 #118ab5; } + +.button-secondary { + background: white; + color: #f6635e; + border: 1px solid #f6635e; + border-radius: 3px; } + .button-secondary:hover { + background: #f6635e; + color: white; } + .button-secondary:active { + box-shadow: 0 1px 0 #f32b24; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938rem) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938rem) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938rem) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1bb3e9; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: white; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1bb3e9; } + +.bullet-icon-2 { + background: #1be9da; } + +.bullet-icon-3 { + background: #d5e91b; } + +.bullet-content { + margin-left: 4.55rem; } + +#panel { + color: white; } + #panel .navigation { + list-style: none; + padding: 0; } + #panel .navigation li { + padding: 0.5rem 1rem; + border-bottom: 1px solid #404040; + font-weight: 600; } + #panel .navigation li.active { + background: #fff; } + #panel .navigation li.active a { + color: #444444; } + #panel .navigation li.active a:hover { + color: #444444; } + #panel .navigation li:last-child { + border-bottom: 0; } + #panel .navigation li a:hover { + color: white; } + +/* Menu Appearance */ +.pushy { + position: fixed; + width: 250px; + height: 100%; + top: 0; + z-index: 9999; + background: #333333; + overflow: auto; + -webkit-overflow-scrolling: touch; + /* enables momentum scrolling in iOS overflow elements */ } + +/* Menu Movement */ +.pushy-left { + -webkit-transform: translate3d(-250px, 0, 0); + -moz-transform: translate3d(-250px, 0, 0); + -ms-transform: translate3d(-250px, 0, 0); + -o-transform: translate3d(-250px, 0, 0); + transform: translate3d(-250px, 0, 0); } + +.pushy-open { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.container-push, .push-push { + -webkit-transform: translate3d(250px, 0, 0); + -moz-transform: translate3d(250px, 0, 0); + -ms-transform: translate3d(250px, 0, 0); + -o-transform: translate3d(250px, 0, 0); + transform: translate3d(250px, 0, 0); } + +/* Menu Transitions */ +.pushy, #container, .push { + -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); + -moz-transition: -moz-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); + transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); + /* improves performance issues on mobile*/ + -webkit-perspective: 1000; } + +/* Site Overlay */ +.site-overlay { + display: none; } + +.pushy-active .site-overlay { + display: block; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 250px; + z-index: 9999; } + +.blog-header { + padding-top: 2rem; + padding-bottom: 2rem; } + .blog-header.blog-header-image { + background-size: cover; + background-position: center; } + .blog-header.blog-header-image h1, .blog-header.blog-header-image h2 { + color: white; } + .blog-header h1 { + font-size: 4rem; + margin-top: 0; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .blog-header h1 { + font-size: 3rem; } } + @media only all and (max-width: 47.938rem) { + .blog-header h1 { + font-size: 2.5rem; + line-height: 1.2; + margin-bottom: 2.5rem; } } + .blog-header + .blog-content { + padding-top: 3rem; } + +.list-item { + border-bottom: 1px solid #eeeeee; + margin-bottom: 3rem; } + .list-item:last-child { + border-bottom: 0; } + .list-item .list-blog-header { + position: relative; } + .list-item .list-blog-header h4 { + margin-bottom: 0.5rem; } + .list-item .list-blog-header h4 a { + color: #444444; } + .list-item .list-blog-header h4 a:hover { + color: #1bb3e9; } + .list-item .list-blog-header img { + display: block; + margin-top: 1rem; + border-radius: 3px; } + .list-item .list-blog-date { + float: right; + text-align: center; } + .list-item .list-blog-date span { + display: block; + font-size: 1.75rem; + font-weight: 600; + line-height: 110%; } + .list-item .list-blog-date em { + display: block; + border-top: 1px solid #eeeeee; + font-style: normal; + text-transform: uppercase; } + +.blog-content-item .list-blog-padding > p:nth-child(2) { + font-size: 1.2rem; } + +.tags a { + display: inline-block; + font-size: 0.8rem; + border: 1px solid #1bb3e9; + border-radius: 3px; + padding: 0.1rem 0.4rem; + margin-bottom: 0.2rem; + text-transform: uppercase; } + +.archives { + padding: 0; + list-style: none; } + .archives li { + border-bottom: 1px solid #eeeeee; + line-height: 2rem; } + .archives li:last-child { + border-bottom: 0; } + +.syndicate a { + margin-bottom: 1rem; } + +div#breadcrumbs { + padding-left: 0; } + +#sidebar { + padding-left: 3rem; } + @media only all and (max-width: 47.938rem) { + #sidebar { + padding-left: 0; } } + #sidebar .sidebar-content { + margin-bottom: 3rem; } + #sidebar .sidebar-content h4 { + margin-bottom: 1rem; } + #sidebar .sidebar-content p, #sidebar .sidebar-content ul { + margin-top: 1rem; } + +ul.pagination { + margin: 0 0 3rem; + text-align: left; } + +#error { + text-align: center; + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding-bottom: 6rem; } + #error h1 { + font-size: 5rem; } + #error p { + margin: 1rem 0; } + +.modular.header-image #body > .showcase { + margin-top: -9.5rem; + padding-top: 9rem; } +.modular.header-image #header { + background-color: rgba(255, 255, 255, 0); + box-shadow: none; } + .modular.header-image #header #logo h3 { + color: white; } + .modular.header-image #header #navbar a { + color: white; } +.modular .showcase { + padding-top: 4rem; + padding-bottom: 4rem; + background-color: #666; + background-size: cover; + background-attachment: fixed; + background-position: center; + text-align: center; + color: white; } + .modular .showcase h1 { + font-size: 4rem; + margin-top: 0; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .modular .showcase h1 { + font-size: 3rem; } } + @media only all and (max-width: 47.938rem) { + .modular .showcase h1 { + font-size: 2.5rem; + line-height: 1.2; + margin-bottom: 2.5rem; } } + .modular .showcase .button { + color: white; + padding: 0.7rem 2rem; + margin-top: 2rem; + background: rgba(255, 255, 255, 0); + border: 1px solid white; + border-radius: 3px; + box-shadow: none; + font-size: 1.3rem; } + .modular .showcase .button:hover { + background: rgba(255, 255, 255, 0.2); } + +.modular .features { + padding: 3rem 0; + text-align: center; } + .modular .features:after { + content: ""; + display: table; + clear: both; } + .modular .features h2 { + margin: 0; + line-height: 100%; } + .modular .features p { + margin: 1rem 0; + font-size: 1.2rem; } + @media only all and (max-width: 47.938rem) { + .modular .features p { + font-size: 1rem; } } + .modular .features .feature-items { + margin-top: 2rem; } + .modular .features .feature { + display: block; + float: left; + width: 25%; + vertical-align: top; + margin-top: 2rem; + margin-bottom: 1rem; } + @media only all and (max-width: 47.938rem) { + .modular .features .feature { + width: 100%; } } + .modular .features .feature i.fa { + font-size: 2rem; + color: #1bb3e9; } + .modular .features .feature h4 { + margin: 0; + font-size: 1.1rem; } + .modular .features .feature p { + display: inline-block; + font-size: 1rem; + margin: 0.2rem 0 1rem; } + .modular .features.big { + text-align: center; } + .modular .features.big .feature { + width: 50%; } + .modular .features.big i.fa { + font-size: 3rem; + float: left; } + .modular .features.big .feature-content { + padding-right: 2rem; } + .modular .features.big .feature-content.push { + margin-left: 5rem; } + .modular .features.big .feature-content h4 { + font-size: 1.3rem; + text-align: left; } + .modular .features.big .feature-content p { + padding: 0; + text-align: left; } + +.callout { + background: #f6f6f6; + padding: 3rem 0.938rem; } + .callout .align-left { + float: left; + margin-right: 2rem; } + .callout .align-right { + float: right; + margin-left: 2rem; } + .callout img { + border-radius: 3px; } + +.modular .modular-row:last-child { + margin-bottom: 2rem; } + +/*# sourceMappingURL=template.css.map */ diff --git a/sandbox/grav/user/plugins/problems/html/problems.html b/sandbox/grav/user/plugins/problems/html/problems.html new file mode 100644 index 0000000000..241d6b778b --- /dev/null +++ b/sandbox/grav/user/plugins/problems/html/problems.html @@ -0,0 +1,28 @@ + + + + + Grav Problems + + + + + + + +

    +
    +

    Issues Found

    +

    Please Review and Resolve before continuing...

    + +

    + Reload Page +

    + +
      + %%PROBLEMS%% +
    +
    +
    + + diff --git a/sandbox/grav/user/plugins/problems/problems.php b/sandbox/grav/user/plugins/problems/problems.php new file mode 100644 index 0000000000..3b21f0e34b --- /dev/null +++ b/sandbox/grav/user/plugins/problems/problems.php @@ -0,0 +1,332 @@ + ['onPluginsInitialized', 100001], + 'onFatalException' => ['onFatalException', 0] + ]; + } + + public function onFatalException() + { + if ($this->isAdmin()) { + $this->active = false; + return; + } + + // Run through potential issues + if ($this->problemChecker()) { + $this->renderProblems(); + } + } + + public function onPluginsInitialized() + { + if ($this->isAdmin()) { + $this->active = false; + return; + } + + /** @var Cache $cache */ + $cache = $this->grav['cache']; + $validated_prefix = 'problem-check-'; + + $this->check = CACHE_DIR . $validated_prefix . $cache->getKey(); + + if (!file_exists($this->check)) { + // If no issues remain, save a state file in the cache + if (!$this->problemChecker()) { + // delete any existing validated files + foreach (new \GlobIterator(CACHE_DIR . $validated_prefix . '*') as $fileInfo) { + @unlink($fileInfo->getPathname()); + } + + // create a file in the cache dir so it only runs on cache changes + touch($this->check); + + } else { + $this->renderProblems(); + } + + } + } + + protected function renderProblems() + { + $theme = 'antimatter'; + + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $baseUrlRelative = $uri->rootUrl(false); + $themeUrl = $baseUrlRelative . '/' . USER_PATH . basename(THEMES_DIR) . '/' . $theme; + $problemsUrl = $baseUrlRelative . '/user/plugins/problems'; + + $html = file_get_contents(__DIR__ . '/html/problems.html'); + + /** + * Process the results, ignore the statuses passed as $ignore_status + * + * @param $results + * @param $ignore_status + */ + $processResults = function ($results, $ignore_status) { + $problems = ''; + + foreach ($results as $key => $result) { + if ($key == 'files' || $key == 'apache' || $key == 'execute') { + foreach ($result as $key_text => $value_text) { + foreach ($value_text as $status => $text) { + if ($status == $ignore_status) continue; + $problems .= $this->getListRow($status, '' . $key_text . ' ' . $text); + } + } + } else { + foreach ($result as $status => $text) { + if ($status == $ignore_status) continue; + $problems .= $this->getListRow($status, $text); + } + } + } + + return $problems; + }; + + // First render the errors + $problems = $processResults($this->results, 'success'); + + // Then render the successful checks + $problems .= $processResults($this->results, 'error'); + + $html = str_replace('%%BASE_URL%%', $baseUrlRelative, $html); + $html = str_replace('%%THEME_URL%%', $themeUrl, $html); + $html = str_replace('%%PROBLEMS_URL%%', $problemsUrl, $html); + $html = str_replace('%%PROBLEMS%%', $problems, $html); + + echo $html; + http_response_code(500); + + exit(); + + + } + + protected function getListRow($status, $text) + { + if ($status == 'error') { + $icon = 'fa-times'; + } elseif ($status == 'info') { + $icon = 'fa-info'; + } else { + $icon = 'fa-check'; + } + $output = "\n"; + $output .= '
  • '. $text . '

  • '; + return $output; + } + + protected function problemChecker() + { + $min_php_version = defined('GRAV_PHP_MIN') ? GRAV_PHP_MIN : '5.4.0'; + $problems_found = false; + + $essential_files = [ + 'cache' => true, + 'logs' => true, + 'images' => true, + 'assets' => true, + 'system' => false, + 'user/data' => true, + 'user/pages' => false, + 'user/config' => false, + 'user/plugins/error' => false, + 'user/plugins' => false, + 'user/themes' => false, + 'vendor' => false + ]; + + if (version_compare(GRAV_VERSION, '0.9.27', ">=")) { + $essential_files['backup'] = true; + $backup_folder = ROOT_DIR . 'backup'; + // try to create backup folder if missing + if (!file_exists($backup_folder)) { + @mkdir($backup_folder, 0770); + } + } + + if (version_compare(GRAV_VERSION, '1.1.4', ">=")) { + $essential_files['tmp'] = true; + $tmp_folder = ROOT_DIR . 'tmp'; + // try to create tmp folder if missing + if (!file_exists($tmp_folder)) { + @mkdir($tmp_folder, 0770); + } + } + + // Perform some Apache checks + if (strpos(php_sapi_name(), 'apache') !== false) { + + $require_apache_modules = ['mod_rewrite']; + $apache_modules = apache_get_modules(); + + $apache_status = []; + + foreach ($require_apache_modules as $module) { + if (in_array($module, $apache_modules)) { + $apache_module_adjective = ' Apache module is enabled'; + $apache_module_status = 'success'; + } else { + $problems_found = true; + $apache_module_adjective = ' Apache module is not installed or enabled'; + $apache_module_status = 'error'; + } + $apache_status[$module] = [$apache_module_status => $apache_module_adjective]; + } + + if (sizeof($apache_status) > 0) { + $this->results['apache'] = $apache_status; + } + } + + // Check PHP version + if (version_compare(phpversion(), $min_php_version, '<')) { + $problems_found = true; + $php_version_adjective = 'lower'; + $php_version_status = 'error'; + + } else { + $php_version_adjective = 'greater'; + $php_version_status = 'success'; + } + $this->results['php'] = [$php_version_status => 'Your PHP version (' . phpversion() . ') is '. $php_version_adjective . ' than the minimum required: ' . $min_php_version . ' - Additional Information']; + + // Check for GD library + if (defined('GD_VERSION') && function_exists('gd_info')) { + $gd_adjective = ''; + $gd_status = 'success'; + } else { + $problems_found = true; + $gd_adjective = 'not '; + $gd_status = 'error'; + } + $this->results['gd'] = [$gd_status => 'PHP GD (Image Manipulation Library) is '. $gd_adjective . 'installed']; + + // Check for PHP CURL library + if (function_exists('curl_version')) { + $curl_adjective = ''; + $curl_status = 'success'; + } else { + $problems_found = true; + $curl_adjective = 'not '; + $curl_status = 'error'; + } + $this->results['curl'] = [$curl_status => 'PHP Curl (Data Transfer Library) is '. $curl_adjective . 'installed']; + + // Check for PHP Open SSL library + if (extension_loaded('openssl') && defined('OPENSSL_VERSION_TEXT')) { + $ssl_adjective = ''; + $ssl_status = 'success'; + } else { + $problems_found = true; + $ssl_adjective = 'not '; + $ssl_status = 'error'; + } + $this->results['ssl'] = [$ssl_status => 'PHP OpenSSL (Secure Sockets Library) is '. $ssl_adjective . 'installed']; + + // Check for PHP XML library + if (extension_loaded('xml')) { + $xml_adjective = ''; + $xml_status = 'success'; + } else { + $problems_found = true; + $xml_adjective = 'not '; + $xml_status = 'error'; + } + $this->results['xml'] = [$xml_status => 'PHP XML Library is '. $xml_adjective . 'installed']; + + // Check for PHP MbString library + if (extension_loaded('mbstring')) { + $mbstring_adjective = ''; + $mbstring_status = 'success'; + } else { + $problems_found = true; + $mbstring_adjective = 'not '; + $mbstring_status = 'error'; + } + $this->results['mbstring'] = [$mbstring_status => 'PHP Mbstring (Multibyte String Library) is '. $mbstring_adjective . 'installed']; + + // Check Exif if enabled + if ($this->grav['config']->get('system.media.auto_metadata_exif')) { + if(extension_loaded('exif')) { + $exif_adjective = ''; + $exif_status = 'success'; + } else { + $problems_found = true; + $exif_adjective = 'not '; + $exif_status = 'error'; + } + $this->results['exif'] = [$exif_status => 'PHP Exif (Exchangeable Image File Format) is '. $exif_adjective . 'installed']; + } + + // Check for PHP Zip library + if (extension_loaded('zip')) { + $zip_adjective = ''; + $zip_status = 'success'; + } else { + $problems_found = true; + $zip_adjective = 'not '; + $zip_status = 'error'; + } + $this->results['zip'] = [$zip_status => 'PHP Zip extension is '. $zip_adjective . 'installed']; + + // Check for essential files & perms + $file_problems = []; + foreach ($essential_files as $file => $check_writable) { + $file_path = ROOT_DIR . $file; + $is_dir = false; + if (!file_exists($file_path)) { + $problems_found = true; + $file_status = 'error'; + $file_adjective = 'does not exist'; + + } else { + $file_status = 'success'; + $file_adjective = 'exists'; + $is_writeable = is_writable($file_path); + $is_dir = is_dir($file_path); + + if ($check_writable) { + if (!$is_writeable) { + $file_status = 'error'; + $problems_found = true; + $file_adjective .= ' but is not writeable'; + } else { + $file_adjective .= ' and is writeable'; + } + } + } + + $file_problems[$file_path] = [$file_status => $file_adjective]; + + } + if (sizeof($file_problems) > 0) { + $this->results['files'] = $file_problems; + } + + return $problems_found; + } +} diff --git a/sandbox/grav/user/plugins/problems/problems.yaml b/sandbox/grav/user/plugins/problems/problems.yaml new file mode 100644 index 0000000000..1ab22e7451 --- /dev/null +++ b/sandbox/grav/user/plugins/problems/problems.yaml @@ -0,0 +1,2 @@ +enabled: true +built_in_css: true diff --git a/sandbox/grav/user/themes/.gitkeep b/sandbox/grav/user/themes/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sandbox/grav/user/themes/bolt/blueprints.yaml b/sandbox/grav/user/themes/bolt/blueprints.yaml new file mode 100644 index 0000000000..1fb000f949 --- /dev/null +++ b/sandbox/grav/user/themes/bolt/blueprints.yaml @@ -0,0 +1,10 @@ +name: Bolt Pattern Lab +version: 0.0.0 +description: "A starter theme for integration between Grav CMS and Pattern Lab using the Bolt Design System" +icon: empire +author: + name: Salem Ghoweri + url: https://boltdesignsystem.com +homepage: https://github.com/bolt-design-system/bolt +bugs: https://github.com/bolt-design-system/bolt/issues +license: MIT diff --git a/sandbox/grav/user/themes/bolt/bolt.php b/sandbox/grav/user/themes/bolt/bolt.php new file mode 100644 index 0000000000..0d11eb2627 --- /dev/null +++ b/sandbox/grav/user/themes/bolt/bolt.php @@ -0,0 +1,9 @@ + + + + {% block head %} + + {% if header.title %}{{ header.title|e('html') }} | {% endif %}{{ site.title|e('html') }} + {# include '@bolt/metadata.html.twig' #} + + + + + {% block stylesheets %} + {# {% do assets.addCss('theme://css/somefile.css', 102) %} #} + {% endblock %} + {{ assets.css() }} + + {% block javascripts %} + {# {% do assets.addJs('jquery') %} #} + {# {% do assets.addJs('theme://js/somefile.js') %} #} + {% endblock %} + {{ assets.js() }} + {% endblock head %} + + + +
    + + + + + + {% block body %} + {% include "@bolt/button.twig" with { + text: "Example button" + } %} + + {% block content %}{% endblock %} + {% endblock %} + + {% block footer %} +
    +
    + {% endblock %} + + {% block bottom %} + {{ assets.js('bottom') }} + {% endblock %} +
    + + diff --git a/sandbox/grav/user/themes/bolt/templates/default.html.twig b/sandbox/grav/user/themes/bolt/templates/default.html.twig new file mode 100644 index 0000000000..d5353931ca --- /dev/null +++ b/sandbox/grav/user/themes/bolt/templates/default.html.twig @@ -0,0 +1,5 @@ +{% extends '_layouts/base.html.twig' %} + +{% block content %} + {{ page.content }} +{% endblock %} diff --git a/sandbox/grav/user/themes/bolt/templates/error.html.twig b/sandbox/grav/user/themes/bolt/templates/error.html.twig new file mode 100644 index 0000000000..7c433af8b8 --- /dev/null +++ b/sandbox/grav/user/themes/bolt/templates/error.html.twig @@ -0,0 +1,12 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} +
    +
    +

    {{ 'ERROR'|t }} {{ page.header.http_response_code }}

    +

    + {{ page.content }} +

    +
    +
    +{% endblock %} diff --git a/sandbox/grav/user/themes/bolt/templates/modular.html.twig b/sandbox/grav/user/themes/bolt/templates/modular.html.twig new file mode 100644 index 0000000000..28f7de590d --- /dev/null +++ b/sandbox/grav/user/themes/bolt/templates/modular.html.twig @@ -0,0 +1,56 @@ +{% extends 'partials/base.html.twig' %} + +{% set show_onpage_menu = header.onpage_menu == true or header.onpage_menu is null %} +{% macro pageLinkName(text) %}{{ text|lower|replace({' ':'_'}) }}{% endmacro %} + +{% block javascripts %} + {% if show_onpage_menu %} + {% do assets.add('theme://js/singlePageNav.min.js') %} + {% endif %} + {{ parent() }} +{% endblock %} + + +{% block bottom %} + {{ parent() }} + {% if show_onpage_menu %} + + {% endif %} +{% endblock %} + +{% block header_navigation %} + {% if show_onpage_menu %} + + {% else %} + {{ parent() }} + {% endif %} +{% endblock %} + +{% block content %} + {{ page.content }} + {% for module in page.collection() %} +
    + {{ module.content }} + {% endfor %} +{% endblock %} diff --git a/sandbox/grav/user/themes/bolt/templates/modular/features.html.twig b/sandbox/grav/user/themes/bolt/templates/modular/features.html.twig new file mode 100644 index 0000000000..0f34fc11db --- /dev/null +++ b/sandbox/grav/user/themes/bolt/templates/modular/features.html.twig @@ -0,0 +1,22 @@ +
    + {{ content }} +
    + {% for feature in page.header.features %} +
    + {% if feature.icon %} + +
    + {% else %} +
    + {% endif %} + {% if feature.header %} +

    {{ feature.header }}

    + {% endif %} + {% if feature.text %} +

    {{ feature.text }}

    + {% endif %} +
    +
    + {% endfor %} +
    +
    diff --git a/sandbox/grav/user/themes/bolt/templates/modular/showcase.html.twig b/sandbox/grav/user/themes/bolt/templates/modular/showcase.html.twig new file mode 100644 index 0000000000..cb3aa8e80a --- /dev/null +++ b/sandbox/grav/user/themes/bolt/templates/modular/showcase.html.twig @@ -0,0 +1,13 @@ +{% set showcase_image = page.media.images|first.grayscale().contrast(20).brightness(-125).colorize(-35,81,122) %} +{% if showcase_image %} +
    +{% else %} +
    +{% endif %} + {{ content }} + + {% for button in page.header.buttons %} + {{ button.text }} + {% endfor %} + +
    diff --git a/sandbox/grav/user/themes/bolt/templates/modular/text.html.twig b/sandbox/grav/user/themes/bolt/templates/modular/text.html.twig new file mode 100644 index 0000000000..4b058a5d9d --- /dev/null +++ b/sandbox/grav/user/themes/bolt/templates/modular/text.html.twig @@ -0,0 +1,7 @@ +
    + {% set image = page.media.images|first %} + {% if image %} + {{ image.cropResize(400,400).html('','','align-'~page.header.image_align) }} + {% endif %} +{{ content }} +
    diff --git a/sandbox/grav/webserver-configs/Caddyfile b/sandbox/grav/webserver-configs/Caddyfile new file mode 100644 index 0000000000..a3241327f8 --- /dev/null +++ b/sandbox/grav/webserver-configs/Caddyfile @@ -0,0 +1,33 @@ +:8080 +gzip +fastcgi / 127.0.0.1:9000 php + +# Begin - Security +# deny all direct access for these folders +rewrite { + r /(\.git|cache|bin|logs|backups|tests)/.*$ + to /403 +} +# deny running scripts inside core system folders +rewrite { + r /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ + to /403 +} +# deny running scripts inside user folder +rewrite { + r /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ + to /403 +} +# deny access to specific files in the root folder +rewrite { + r /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) + to /403 +} + +status 403 /403 +## End - Security + +# global rewrite should come last. +rewrite { + to {path} {path}/ /index.php?_url={uri}&{query} +} diff --git a/sandbox/grav/webserver-configs/Caddyfile-0.8.x b/sandbox/grav/webserver-configs/Caddyfile-0.8.x new file mode 100644 index 0000000000..aaf92ceda8 --- /dev/null +++ b/sandbox/grav/webserver-configs/Caddyfile-0.8.x @@ -0,0 +1,33 @@ +# Caddyfile for Caddy 0.8.x and below + +:8080 +gzip +fastcgi / 127.0.0.1:9000 php + +# Begin - Security +# deny all direct access for these folders +rewrite { + r /(\.git|cache|bin|logs|backups|tests)/.*$ + status 403 +} +# deny running scripts inside core system folders +rewrite { + r /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ + status 403 +} +# deny running scripts inside user folder +rewrite { + r /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ + status 403 +} +# deny access to specific files in the root folder +rewrite { + r /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) + status 403 +} +## End - Security + +# global rewrite should come last. +rewrite { + to {path} {path}/ /index.php?_url={uri}&{query} +} diff --git a/sandbox/grav/webserver-configs/htaccess.txt b/sandbox/grav/webserver-configs/htaccess.txt new file mode 100644 index 0000000000..ef79a4bc26 --- /dev/null +++ b/sandbox/grav/webserver-configs/htaccess.txt @@ -0,0 +1,75 @@ + + +RewriteEngine On + +## Begin RewriteBase +# If you are getting 500 or 404 errors on subpages, you may have to uncomment the RewriteBase entry +# You should change the '/' to your appropriate subfolder. For example if you have +# your Grav install at the root of your site '/' should work, else it might be something +# along the lines of: RewriteBase / +## + +# RewriteBase / + +## End - RewriteBase + +## Begin - X-Forwarded-Proto +# In some hosted or load balanced environments, SSL negotiation happens upstream. +# In order for Grav to recognize the connection as secure, you need to uncomment +# the following lines. +# +# RewriteCond %{HTTP:X-Forwarded-Proto} https +# RewriteRule .* - [E=HTTPS:on] +# +## End - X-Forwarded-Proto + +## Begin - Exploits +# If you experience problems on your site block out the operations listed below +# This attempts to block the most common type of exploit `attempts` to Grav +# +# Block out any script trying to base64_encode data within the URL. +RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] +# Block out any script that includes a

    >JL*{UmglSW+0r4`!zHU;hM6x}hYt*N4h;w(61y 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%0A#!4cm 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%0Axlbb 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�`$koB-3n9x}))nM6u<#GGxSSKIGghGZz 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 GiiP4bnU>f3K9T`h{_S5;e$WL*Y4NAqy6O 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