card 1.96.2 → 1.96.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/config/initializers/patches.rb +1 -1
- data/db/migrate_core_cards/20130823192433_add_style_cards.rb +1 -1
- data/db/migrate_core_cards/20170314175313_add_notification_event_card.rb +2 -3
- data/db/migrate_core_cards/data/1.11_help_text.json +16 -16
- data/db/migrate_core_cards/data/1.13_config_text.json +2 -2
- data/db/migrate_core_cards/data/1.14_config_descriptions_etc.json +12 -12
- data/db/migrate_core_cards/data/bootstrap_layout.json +1 -1
- data/db/seed/new/card_actions.yml +799 -799
- data/db/seed/new/card_acts.yml +2 -2
- data/db/seed/new/cards.yml +1610 -1610
- data/db/seed/new/schema_migrations.yml +8 -10
- data/db/seed/test/fixtures/card_actions.yml +1789 -1789
- data/db/seed/test/fixtures/card_acts.yml +447 -447
- data/db/seed/test/fixtures/card_changes.yml +66 -66
- data/db/seed/test/fixtures/card_references.yml +575 -575
- data/db/seed/test/fixtures/cards.yml +2612 -2612
- data/db/seed/test/seed.rb +2 -1
- data/lib/card/format/error.rb +12 -6
- data/lib/card/model/save_helper.rb +2 -1
- data/lib/card/query.rb +1 -1
- data/lib/card/set.rb +22 -12
- data/lib/card/view/cache.rb +3 -3
- data/lib/cardio.rb +3 -1
- data/mod/ace_editor/db/migrate_core_cards/20160804112538_add_ace_cards.rb +1 -1
- data/mod/basic_formats/set/all/base.rb +16 -2
- data/mod/basic_formats/set/all/json.rb +16 -14
- data/mod/bootstrap/lib/stylesheets/style_bootstrap_cards.scss +54 -4
- data/mod/bootstrap/vendor/bootstrap/Gemfile +3 -3
- data/mod/bootstrap/vendor/bootstrap/Gemfile.lock +15 -15
- data/mod/bootstrap/vendor/bootstrap/README.md +36 -30
- data/mod/bootstrap/vendor/bootstrap/_config.yml +12 -30
- data/mod/bootstrap/vendor/bootstrap/build/build-plugins.js +81 -0
- data/mod/bootstrap/vendor/bootstrap/build/generate-sri.js +2 -2
- data/mod/bootstrap/vendor/bootstrap/build/workbox.config.json +1 -1
- data/mod/bootstrap/vendor/bootstrap/build/workbox.js +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.css +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.css.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.min.css +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.min.css.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.css +5 -4
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.css.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.min.css +2 -2
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.min.css.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.css +145 -96
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.css.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.min.css +2 -2
- data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.min.css.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.js +123 -106
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.js +123 -106
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.min.js +2 -2
- data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.min.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/alert.js +160 -134
- data/mod/bootstrap/vendor/bootstrap/js/dist/alert.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/button.js +150 -125
- data/mod/bootstrap/vendor/bootstrap/js/dist/button.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/carousel.js +465 -406
- data/mod/bootstrap/vendor/bootstrap/js/dist/carousel.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/collapse.js +338 -274
- data/mod/bootstrap/vendor/bootstrap/js/dist/collapse.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/dropdown.js +442 -379
- data/mod/bootstrap/vendor/bootstrap/js/dist/dropdown.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/index.js +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/index.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/modal.js +503 -454
- data/mod/bootstrap/vendor/bootstrap/js/dist/modal.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/popover.js +224 -164
- data/mod/bootstrap/vendor/bootstrap/js/dist/popover.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/scrollspy.js +308 -248
- data/mod/bootstrap/vendor/bootstrap/js/dist/scrollspy.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/tab.js +218 -191
- data/mod/bootstrap/vendor/bootstrap/js/dist/tab.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/tooltip.js +584 -524
- data/mod/bootstrap/vendor/bootstrap/js/dist/tooltip.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/dist/util.js +130 -118
- data/mod/bootstrap/vendor/bootstrap/js/dist/util.js.map +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/src/alert.js +3 -3
- data/mod/bootstrap/vendor/bootstrap/js/src/button.js +7 -7
- data/mod/bootstrap/vendor/bootstrap/js/src/carousel.js +16 -13
- data/mod/bootstrap/vendor/bootstrap/js/src/collapse.js +25 -21
- data/mod/bootstrap/vendor/bootstrap/js/src/dropdown.js +16 -9
- data/mod/bootstrap/vendor/bootstrap/js/src/index.js +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/src/modal.js +30 -30
- data/mod/bootstrap/vendor/bootstrap/js/src/popover.js +2 -2
- data/mod/bootstrap/vendor/bootstrap/js/src/scrollspy.js +12 -9
- data/mod/bootstrap/vendor/bootstrap/js/src/tab.js +5 -4
- data/mod/bootstrap/vendor/bootstrap/js/src/tooltip.js +11 -9
- data/mod/bootstrap/vendor/bootstrap/js/src/util.js +2 -3
- data/mod/bootstrap/vendor/bootstrap/js/tests/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/js/tests/karma-bundle.conf.js +2 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/karma.conf.js +7 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/alert.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/button.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/carousel.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/collapse.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/dropdown.js +69 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/modal.js +3 -43
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/popover.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/scrollspy.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/tab.js +1 -0
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/tooltip.js +24 -40
- data/mod/bootstrap/vendor/bootstrap/js/tests/unit/util.js +5 -1
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/alert.html +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/button.html +1 -1
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/carousel.html +1 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/collapse.html +15 -1
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/dropdown.html +2 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/modal.html +8 -8
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/popover.html +2 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/scrollspy.html +1 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/tab.html +3 -2
- data/mod/bootstrap/vendor/bootstrap/js/tests/visual/tooltip.html +35 -23
- data/mod/bootstrap/vendor/bootstrap/nuget/bootstrap.nuspec +5 -1
- data/mod/bootstrap/vendor/bootstrap/nuget/bootstrap.sass.nuspec +5 -1
- data/mod/bootstrap/vendor/bootstrap/package-lock.json +5397 -7292
- data/mod/bootstrap/vendor/bootstrap/package.js +1 -1
- data/mod/bootstrap/vendor/bootstrap/package.json +63 -64
- data/mod/bootstrap/vendor/bootstrap/scss/_buttons.scss +0 -1
- data/mod/bootstrap/vendor/bootstrap/scss/_carousel.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/scss/_close.scss +8 -7
- data/mod/bootstrap/vendor/bootstrap/scss/_custom-forms.scss +32 -20
- data/mod/bootstrap/vendor/bootstrap/scss/_forms.scss +13 -15
- data/mod/bootstrap/vendor/bootstrap/scss/_functions.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/scss/_input-group.scss +22 -7
- data/mod/bootstrap/vendor/bootstrap/scss/_modal.scss +18 -6
- data/mod/bootstrap/vendor/bootstrap/scss/_navbar.scss +2 -2
- data/mod/bootstrap/vendor/bootstrap/scss/_reboot.scss +5 -2
- data/mod/bootstrap/vendor/bootstrap/scss/_tables.scss +0 -1
- data/mod/bootstrap/vendor/bootstrap/scss/_variables.scss +88 -65
- data/mod/bootstrap/vendor/bootstrap/scss/bootstrap-grid.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/scss/bootstrap-reboot.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/scss/bootstrap.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/scss/mixins/_breakpoints.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/scss/mixins/_forms.scss +7 -7
- data/mod/bootstrap/vendor/bootstrap/scss/mixins/_hover.scss +1 -1
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/breakpoints.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/browser-bugs.yml +5 -5
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/browser-features.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/colors.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/examples.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/grays.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/nav.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/theme-colors.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/translations.yml +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/_includes/ads.html +1 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/bugify.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout-danger-async-methods.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout-info-mediaqueries-breakpoints.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout-warning-color-assistive-technologies.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/docs-navbar.html +1 -4
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/docs-sidebar.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/example.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/_includes/favicons.html +9 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/footer.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/header.html +5 -7
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/bootstrap.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/download.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/github.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/import.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/lightning.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/menu.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/slack.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/twitter.svg +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/_includes/scripts.html +26 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/skippy.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/social.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/default.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/docs.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/examples.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/home.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/redirect.html +1 -1
- data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/simple.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/brand.md +5 -5
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/license.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/overview.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/translations.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/brand/bootstrap-outline.svg +4 -0
- data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/brand/bootstrap-punchout.svg +4 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/brand/bootstrap-social-logo.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/brand/bootstrap-social.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/brand/bootstrap-solid.svg +4 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/css/docs.min.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/css/docs.min.css.map +1 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/bootstrap-stack.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/bootstrap-themes.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/android-chrome-192x192.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/android-chrome-512x512.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/apple-touch-icon.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/browserconfig.xml +1 -1
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/favicon-16x16.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/favicon-32x32.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/manifest.json +2 -2
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-144x144.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-150x150.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-310x150.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-310x310.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-70x70.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg +4 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/docs.min.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/application.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/ie-emulation-modes-warning.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/pwa.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/search.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/anchor.min.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/clipboard.min.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/holder.min.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/jquery-slim.min.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/popper.min.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_ads.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_algolia.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_anchor.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_brand.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_browser-bugs.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_buttons.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_callouts.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_clipboard-js.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_colors.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_component-examples.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_content.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_examples.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_footer.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_masthead.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_nav.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_sidebar.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_skiplink.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_syntax.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_variables.scss +0 -0
- data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/docs.scss +3 -3
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/browser-bugs.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/alerts.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/badge.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/breadcrumb.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/button-group.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/buttons.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/card.md +2 -2
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/carousel.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/collapse.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/dropdowns.md +3 -2
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/forms.md +17 -17
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/input-group.md +27 -27
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/jumbotron.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/list-group.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/modal.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/navbar.md +3 -3
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/navs.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/pagination.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/popovers.md +2 -2
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/progress.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/scrollspy.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/tooltips.md +11 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/code.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/figures.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/images.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/reboot.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/tables.md +16 -5
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/typography.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/album/album.css +0 -2
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/album/index.html +15 -15
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/blog/blog.css +0 -5
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/blog/index.html +7 -7
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/carousel/carousel.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/carousel/index.html +5 -5
- data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/examples/checkout/form-validation.css +5 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/checkout/index.html +6 -6
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/cover/cover.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/cover/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/dashboard/dashboard.css +0 -7
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/dashboard/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/floating-labels/floating-labels.css +23 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/floating-labels/index.html +2 -2
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/grid/grid.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/grid/index.html +9 -9
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/index.html +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/jumbotron/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/jumbotron/jumbotron.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-bottom/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-fixed/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-fixed/navbar-top-fixed.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-static/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-static/navbar-top.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbars/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbars/navbar.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/offcanvas/index.html +10 -10
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/offcanvas/offcanvas.css +0 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/offcanvas/offcanvas.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/pricing/index.html +10 -10
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/pricing/pricing.css +0 -5
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/product/index.html +15 -15
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/product/product.css +0 -5
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/album.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/blog.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/carousel.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/checkout.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/cover.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/dashboard.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/floating-labels.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/grid.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/jumbotron.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbar-bottom.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbar-fixed.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbar-static.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbars.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/offcanvas.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/pricing.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/product.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/sign-in.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/starter-template.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/sticky-footer-navbar.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/sticky-footer.png +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sign-in/index.html +2 -2
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sign-in/signin.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/starter-template/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/starter-template/starter-template.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer-navbar/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer/index.html +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer/sticky-footer.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/tooltip-viewport/index.html +4 -4
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/tooltip-viewport/tooltip-viewport.css +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/tooltip-viewport/tooltip-viewport.js +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/extend/approach.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/extend/icons.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/extend/index.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/accessibility.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/best-practices.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/browsers-devices.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/build-tools.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/contents.md +12 -8
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/download.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/introduction.md +2 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/javascript.md +3 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/theming.md +16 -16
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/webpack.md +1 -6
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/grid.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/media-object.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/overview.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/utilities-for-layout.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/migration.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/borders.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/clearfix.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/close-icon.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/colors.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/display.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/embed.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/flex.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/float.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/image-replacement.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/position.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/screenreaders.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/shadows.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/sizing.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/spacing.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/text.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/vertical-align.md +0 -0
- data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/visibility.md +1 -1
- data/mod/bootstrap/vendor/bootstrap/{favicon.ico → site/favicon.ico} +0 -0
- data/mod/bootstrap/vendor/bootstrap/{index.html → site/index.html} +2 -2
- data/mod/bootstrap/vendor/bootstrap/{robots.txt → site/robots.txt} +0 -0
- data/mod/bootstrap/vendor/bootstrap/{sw.js → site/sw.js} +1 -1
- data/mod/carrierwave/lib/carrier_wave/file_card_uploader.rb +1 -1
- data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +5 -8
- data/mod/carrierwave/template/type/file/file_chooser.haml +1 -1
- data/mod/core/set/abstract/code_file.rb +4 -0
- data/mod/core/set/all/haml.rb +2 -2
- data/mod/follow/spec/set/all/notify_spec.rb +2 -1
- data/mod/google_analytics/set/all/google_analytics.rb +5 -3
- data/mod/item/set/all/bar.haml +6 -3
- data/mod/item/set/all/bar.rb +27 -12
- data/mod/item/set/all/box.haml +4 -3
- data/mod/item/set/all/box.rb +1 -1
- data/mod/item/set/all/expanded_bar.haml +8 -6
- data/mod/item/spec/set/all/bar_spec.rb +3 -3
- data/mod/machines/lib/javascript/decko_filter.js.coffee +5 -1
- data/mod/machines/lib/stylesheets/style_cards.scss +16 -24
- data/mod/pointer/set/abstract/01_paging.rb +4 -4
- data/mod/pointer/set/abstract/02_pointer/options_api.rb +10 -12
- data/mod/prosemirror_editor/db/migrate_core_cards/20160804112548_add_prosemirror_cards.rb +1 -1
- data/mod/search/set/abstract/search.rb +9 -6
- data/mod/search/set/abstract/wql_search.rb +20 -5
- data/mod/search/set/self/search.rb +1 -1
- data/mod/standard/set/all/error.rb +15 -0
- data/mod/standard/set/all/rich_html/content.rb +30 -21
- data/mod/standard/set/all/rich_html/content/labeled.haml +4 -0
- data/mod/standard/set/all/rich_html/error.rb +11 -12
- data/mod/standard/set/all/rich_html/title.rb +1 -1
- data/mod/standard/spec/content/chunk/include_spec.rb +1 -1
- data/mod/standard/spec/set/all/error_spec.rb +1 -1
- data/mod/standard/spec/set/type/email_template/email_config_spec.rb +10 -9
- data/mod/standard/spec/set/type/uri_spec.rb +7 -7
- data/mod/tinymce_editor/db/migrate_core_cards/20160804112560_add_tinymce_cards.rb +1 -1
- data/mod/utility/set/abstract/bs_badge/labeled_badge.haml +1 -1
- data/mod/utility/set/abstract/media/media_snippet.haml +1 -2
- metadata +231 -230
- data/mod/bootstrap/vendor/bootstrap/_includes/ads.html +0 -1
- data/mod/bootstrap/vendor/bootstrap/_includes/favicons.html +0 -9
- data/mod/bootstrap/vendor/bootstrap/_includes/scripts.html +0 -26
- data/mod/bootstrap/vendor/bootstrap/assets/brand/bootstrap-outline.svg +0 -6
- data/mod/bootstrap/vendor/bootstrap/assets/brand/bootstrap-punchout.svg +0 -6
- data/mod/bootstrap/vendor/bootstrap/assets/brand/bootstrap-solid.svg +0 -6
- data/mod/bootstrap/vendor/bootstrap/assets/css/docs.min.css.map +0 -1
- data/mod/bootstrap/vendor/bootstrap/assets/img/favicons/safari-pinned-tab.svg +0 -20
- data/mod/bootstrap/vendor/bootstrap/build/upload-preview.sh +0 -13
- data/mod/bootstrap/vendor/bootstrap/docs/4.1/examples/checkout/form-validation.css +0 -11
data/db/seed/test/seed.rb
CHANGED
|
@@ -246,7 +246,8 @@ class SharedData
|
|
|
246
246
|
|
|
247
247
|
# capitalized names so that they don't interfere with checks for the verbs
|
|
248
248
|
create "Created card", content: "new content"
|
|
249
|
-
update "Created card", name: "Updated card", content: "changed content",
|
|
249
|
+
update "Created card", name: "Updated card", content: "changed content",
|
|
250
|
+
type: :pointer, skip: :validate_renaming
|
|
250
251
|
create "Created card", content: "new content"
|
|
251
252
|
card = create "Deleted card", content: "old content"
|
|
252
253
|
card.delete
|
data/lib/card/format/error.rb
CHANGED
|
@@ -2,11 +2,7 @@ class Card
|
|
|
2
2
|
class Format
|
|
3
3
|
module Error
|
|
4
4
|
def rescue_view e, view
|
|
5
|
-
|
|
6
|
-
raise e if Rails.env =~ /^cucumber$/
|
|
7
|
-
# TODO: unify with Card::Error#report
|
|
8
|
-
Rails.logger.info "#{e.message}\n#{e.backtrace}"
|
|
9
|
-
method = focal? ? :focal_error : :rendering_error
|
|
5
|
+
method = loud_error? ? :loud_error : :quiet_error
|
|
10
6
|
send method, e, view
|
|
11
7
|
end
|
|
12
8
|
|
|
@@ -18,11 +14,21 @@ class Card
|
|
|
18
14
|
end
|
|
19
15
|
end
|
|
20
16
|
|
|
21
|
-
def
|
|
17
|
+
def loud_error?
|
|
18
|
+
focal? || Card.config.raise_all_rendering_errors
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def loud_error e, view
|
|
22
22
|
card.errors.add "#{view} view", rendering_error(e, view) if card.errors.empty?
|
|
23
23
|
raise e
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
def quiet_error e, view
|
|
27
|
+
# TODO: unify with Card::Error#report
|
|
28
|
+
Rails.logger.info "#{e.message}\n#{e.backtrace}"
|
|
29
|
+
rendering_error e, view
|
|
30
|
+
end
|
|
31
|
+
|
|
26
32
|
def rendering_error exception, view
|
|
27
33
|
if exception.is_a? Card::Error::UserError
|
|
28
34
|
exception.message
|
|
@@ -271,7 +271,8 @@ class Card
|
|
|
271
271
|
|
|
272
272
|
return if update_args.empty? && subcards.empty?
|
|
273
273
|
# FIXME: use ensure_attributes for subcards
|
|
274
|
-
card.update_attributes! update_args.merge(subcards: subcards
|
|
274
|
+
card.update_attributes! update_args.merge(subcards: subcards,
|
|
275
|
+
skip: :validate_renaming)
|
|
275
276
|
end
|
|
276
277
|
|
|
277
278
|
def changing_args card, args
|
data/lib/card/query.rb
CHANGED
|
@@ -8,7 +8,7 @@ class Card
|
|
|
8
8
|
#
|
|
9
9
|
# Query "statements" (objects, really) are made in WQL (Wagn Query
|
|
10
10
|
# Language). Because WQL is used by Deckers, the primary language
|
|
11
|
-
# documentation is on wagn.org. (
|
|
11
|
+
# documentation is on wagn.org. (https://decko.org/WQL_Syntax). Note that the
|
|
12
12
|
# examples there are in JSON, like Search card content, but statements in
|
|
13
13
|
# Card::Query are in ruby form.
|
|
14
14
|
#
|
data/lib/card/set.rb
CHANGED
|
@@ -2,22 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
class Card
|
|
4
4
|
#
|
|
5
|
-
#
|
|
5
|
+
# A _Set_ is a group of {Card Cards} to which _Rules_ may apply. Sets can be as
|
|
6
|
+
# specific as a single card, as general as all cards, or anywhere in between.
|
|
6
7
|
#
|
|
7
|
-
#
|
|
8
|
+
# Rules can defined onto Sets in two ways:
|
|
8
9
|
#
|
|
9
|
-
# - **Card rules** are defined in card content. These are generally configured via the
|
|
10
|
+
# - **Card rules** are defined in card content. These are generally configured via the
|
|
11
|
+
# web interface and are thus documented at https://decko.org/rules.
|
|
10
12
|
# - **Code rules** can be defined in a 'set module'.
|
|
11
13
|
#
|
|
12
|
-
# The {Card::Mod} docs explain how to create mods and set_modules. This page explains
|
|
14
|
+
# The {Card::Mod} docs explain how to create mods and set_modules. This page explains
|
|
15
|
+
# how those modules become useful.
|
|
13
16
|
#
|
|
14
|
-
#
|
|
17
|
+
# Suppose you have created a "mod" for managing your contacts called "contactmanager",
|
|
18
|
+
# and it includes code that would apply to all +address cards here:
|
|
15
19
|
#
|
|
16
20
|
# ./contactmanager/set/right/address.rb
|
|
17
21
|
#
|
|
18
|
-
#
|
|
22
|
+
# Then, whenever you fetch or instantiate a +address card, the card will automatically
|
|
23
|
+
# include code from that set module. In fact, it will include all the set modules
|
|
24
|
+
# associated with sets of which it is a member.
|
|
19
25
|
#
|
|
20
|
-
# For example, say you have a Plaintext card named 'Philipp+address', and you have set
|
|
26
|
+
# For example, say you have a Plaintext card named 'Philipp+address', and you have set
|
|
27
|
+
# files for the following sets:
|
|
21
28
|
#
|
|
22
29
|
# * all cards
|
|
23
30
|
# * all Plaintext cards
|
|
@@ -27,13 +34,16 @@ class Card
|
|
|
27
34
|
#
|
|
28
35
|
# mycard = Card.fetch 'Philipp+address'
|
|
29
36
|
#
|
|
30
|
-
# ...then mycard will include the set modules associated with each of those sets in the
|
|
37
|
+
# ...then mycard will include the set modules associated with each of those sets in the
|
|
38
|
+
# above order.
|
|
31
39
|
#
|
|
32
|
-
# Note that the set module's filename connects it to the set, so both the set_pattern
|
|
40
|
+
# Note that the set module's filename connects it to the set, so both the set_pattern
|
|
41
|
+
# and the set_anchor must correspond to the codename of a card in the database to
|
|
42
|
+
# function correctly.
|
|
33
43
|
#
|
|
34
|
-
# A set module is "just ruby", but is generally quite concise because Card
|
|
35
|
-
# a)
|
|
36
|
-
# b)
|
|
44
|
+
# A set module is "just ruby", but is generally quite concise because Card uses
|
|
45
|
+
# a) the set module's file location to autogenerate ruby module names and
|
|
46
|
+
# b) Card::Set to provide API for the most common set methods.
|
|
37
47
|
#
|
|
38
48
|
module Set
|
|
39
49
|
include Event::Api
|
data/lib/card/view/cache.rb
CHANGED
|
@@ -12,9 +12,9 @@ class Card
|
|
|
12
12
|
# @return [rendered view or stub]
|
|
13
13
|
def fetch &block
|
|
14
14
|
case cache_action
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
when :yield then yield # simple render
|
|
16
|
+
when :cache_yield then cache_render(&block) # render to/from cache
|
|
17
|
+
when :stub then stub # render stub
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
data/lib/cardio.rb
CHANGED
|
@@ -70,7 +70,9 @@ module Cardio
|
|
|
70
70
|
persistent_cache: true,
|
|
71
71
|
prepopulate_cache: false,
|
|
72
72
|
machine_refresh: :cautious, # options: eager, cautious, never
|
|
73
|
-
|
|
73
|
+
|
|
74
|
+
allow_irreversible_admin_tasks: false,
|
|
75
|
+
raise_all_rendering_errors: true
|
|
74
76
|
}
|
|
75
77
|
end
|
|
76
78
|
|
|
@@ -19,7 +19,7 @@ class AddAceCards < Card::Migration
|
|
|
19
19
|
create_or_update(
|
|
20
20
|
name: "*Ace+*self+*help",
|
|
21
21
|
content: "Configure [[https://ace.c9.io|ace]], "\
|
|
22
|
-
"Wagn's default code editor. [[
|
|
22
|
+
"Wagn's default code editor. [[https://decko.org/ace|more]]"
|
|
23
23
|
)
|
|
24
24
|
ensure_card name: "script: ace", type_id: Card::JavaScriptID,
|
|
25
25
|
codename: "script_ace"
|
|
@@ -97,8 +97,16 @@ format do
|
|
|
97
97
|
end
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
view :labeled_content do
|
|
101
|
-
|
|
100
|
+
view :labeled_content, tags: :unknown_ok do
|
|
101
|
+
valid_labeled_content { render_core }
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def valid_labeled_content
|
|
105
|
+
if card.known?
|
|
106
|
+
yield
|
|
107
|
+
else
|
|
108
|
+
createable { missing_link(fa_icon("plus-square")) }
|
|
109
|
+
end
|
|
102
110
|
end
|
|
103
111
|
|
|
104
112
|
view :titled_content do
|
|
@@ -166,4 +174,10 @@ format do
|
|
|
166
174
|
|
|
167
175
|
tmpl_set_name.left_name
|
|
168
176
|
end
|
|
177
|
+
|
|
178
|
+
# DEPRECATED
|
|
179
|
+
view :naked do
|
|
180
|
+
Rails.logger.info "DEPRECATED: naked view (used with #{card.name} card)"
|
|
181
|
+
render_core
|
|
182
|
+
end
|
|
169
183
|
end
|
|
@@ -42,9 +42,15 @@ format :json do
|
|
|
42
42
|
card: _render_atom }
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
+
def request_url
|
|
46
|
+
req = controller.request
|
|
47
|
+
req ? req.original_url : path
|
|
48
|
+
end
|
|
49
|
+
|
|
45
50
|
view :core do
|
|
46
51
|
card.known? ? render_content : nil
|
|
47
52
|
end
|
|
53
|
+
|
|
48
54
|
view :content do
|
|
49
55
|
card.content
|
|
50
56
|
end
|
|
@@ -65,6 +71,15 @@ format :json do
|
|
|
65
71
|
h
|
|
66
72
|
end
|
|
67
73
|
|
|
74
|
+
view :molecule, cache: :never do
|
|
75
|
+
_render_atom.merge items: _render_items,
|
|
76
|
+
links: _render_links,
|
|
77
|
+
ancestors: _render_ancestors,
|
|
78
|
+
html_url: path,
|
|
79
|
+
type: nest(card.type_card, view: :nucleus)
|
|
80
|
+
|
|
81
|
+
end
|
|
82
|
+
|
|
68
83
|
view :items, cache: :never do
|
|
69
84
|
listing item_cards, view: :atom
|
|
70
85
|
end
|
|
@@ -85,20 +100,12 @@ format :json do
|
|
|
85
100
|
end
|
|
86
101
|
end
|
|
87
102
|
|
|
88
|
-
view :molecule, cache: :never do
|
|
89
|
-
_render_atom.merge items: _render_items,
|
|
90
|
-
links: _render_links,
|
|
91
|
-
ancestors: _render_ancestors,
|
|
92
|
-
html_url: path,
|
|
93
|
-
type: nest(card.type_card, view: :nucleus)
|
|
94
|
-
|
|
95
|
-
end
|
|
96
|
-
|
|
97
103
|
# minimum needed to re-fetch card
|
|
98
104
|
view :cast, cache: :never do
|
|
99
105
|
card.cast
|
|
100
106
|
end
|
|
101
107
|
|
|
108
|
+
## DEPRECATED
|
|
102
109
|
view :marks do
|
|
103
110
|
{
|
|
104
111
|
id: card.id,
|
|
@@ -120,11 +127,6 @@ format :json do
|
|
|
120
127
|
return {} if card.structure
|
|
121
128
|
{ content: card.db_content }
|
|
122
129
|
end
|
|
123
|
-
|
|
124
|
-
def request_url
|
|
125
|
-
req = controller.request
|
|
126
|
-
req ? req.original_url : path
|
|
127
|
-
end
|
|
128
130
|
end
|
|
129
131
|
|
|
130
132
|
# TODO: perhaps this should be in a general "data" module.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
*
|
|
2
|
+
* Decko: [[https://decko.org]]
|
|
3
3
|
* Copyright 2015 Grass Commons and other contributors; Licensed GPL
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
$label_color: $gray-600;
|
|
12
12
|
$header_color: $gray-200;
|
|
13
13
|
$credit_color: $primary;
|
|
14
|
+
// $bar-border-color: $grey-100;
|
|
15
|
+
// $box-border-color: $grey-100;
|
|
14
16
|
$bar_stripe_color: $gray-700;
|
|
17
|
+
$box_stripe_color: $gray-700;
|
|
15
18
|
|
|
16
19
|
header {
|
|
17
20
|
a {
|
|
@@ -344,11 +347,58 @@ body.mceContentBody {
|
|
|
344
347
|
}
|
|
345
348
|
}
|
|
346
349
|
|
|
347
|
-
|
|
348
|
-
|
|
350
|
+
/*----------- Bars and Boxes -------------*/
|
|
351
|
+
|
|
352
|
+
.expanded-bar, .bar, .box {
|
|
353
|
+
.missing-view {
|
|
354
|
+
// TODO: obviate in ruby with better unknown API
|
|
355
|
+
display: none;
|
|
356
|
+
}
|
|
357
|
+
div, span, a {
|
|
358
|
+
overflow: hidden;
|
|
359
|
+
}
|
|
349
360
|
}
|
|
350
361
|
|
|
351
|
-
.
|
|
362
|
+
.item-box {
|
|
363
|
+
display: inline-block;
|
|
364
|
+
min-width: 260px;
|
|
365
|
+
width: 15%;
|
|
366
|
+
padding: 10px 1%;
|
|
367
|
+
vertical-align: top;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.box-top {
|
|
371
|
+
display: flex;
|
|
372
|
+
min-height: 60px;
|
|
373
|
+
flex-direction: column;
|
|
374
|
+
justify-content: center;
|
|
375
|
+
overflow: auto;
|
|
376
|
+
h1, h2, h3, h4, h5, h6, div, span, a {
|
|
377
|
+
white-space: nowrap;
|
|
378
|
+
overflow: hidden;
|
|
379
|
+
text-overflow: ellipsis;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.box-middle {
|
|
384
|
+
min-height: 180px;
|
|
385
|
+
img {
|
|
386
|
+
object-fit: contain;
|
|
387
|
+
height: 130px;
|
|
388
|
+
width: 190px;
|
|
389
|
+
}
|
|
390
|
+
overflow: hidden;
|
|
391
|
+
text-overflow: ellipsis;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.bar {
|
|
352
395
|
border-left: 3px solid $bar_stripe_color !important;
|
|
353
396
|
}
|
|
354
397
|
|
|
398
|
+
.box {
|
|
399
|
+
border-top: 3px solid $box_stripe_color !important;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.badge {
|
|
403
|
+
vertical-align: text-top!important;
|
|
404
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
2
|
|
|
3
3
|
group :development, :test do
|
|
4
|
-
gem 'jekyll', '~> 3.8.
|
|
5
|
-
gem 'jekyll-redirect-from', '~> 0.
|
|
4
|
+
gem 'jekyll', '~> 3.8.3'
|
|
5
|
+
gem 'jekyll-redirect-from', '~> 0.14.0'
|
|
6
6
|
gem 'jekyll-sitemap', '~> 1.2.0'
|
|
7
|
-
gem 'jekyll-toc', '~> 0.
|
|
7
|
+
gem 'jekyll-toc', '~> 0.6.0'
|
|
8
8
|
end
|
|
@@ -8,15 +8,15 @@ GEM
|
|
|
8
8
|
em-websocket (0.5.1)
|
|
9
9
|
eventmachine (>= 0.12.9)
|
|
10
10
|
http_parser.rb (~> 0.6.0)
|
|
11
|
-
eventmachine (1.2.
|
|
12
|
-
eventmachine (1.2.
|
|
13
|
-
ffi (1.9.
|
|
14
|
-
ffi (1.9.
|
|
11
|
+
eventmachine (1.2.7)
|
|
12
|
+
eventmachine (1.2.7-x64-mingw32)
|
|
13
|
+
ffi (1.9.25)
|
|
14
|
+
ffi (1.9.25-x64-mingw32)
|
|
15
15
|
forwardable-extended (2.6.0)
|
|
16
16
|
http_parser.rb (0.6.0)
|
|
17
17
|
i18n (0.9.5)
|
|
18
18
|
concurrent-ruby (~> 1.0)
|
|
19
|
-
jekyll (3.8.
|
|
19
|
+
jekyll (3.8.3)
|
|
20
20
|
addressable (~> 2.4)
|
|
21
21
|
colorator (~> 1.0)
|
|
22
22
|
em-websocket (~> 0.5)
|
|
@@ -29,17 +29,17 @@ GEM
|
|
|
29
29
|
pathutil (~> 0.9)
|
|
30
30
|
rouge (>= 1.7, < 4)
|
|
31
31
|
safe_yaml (~> 1.0)
|
|
32
|
-
jekyll-redirect-from (0.
|
|
32
|
+
jekyll-redirect-from (0.14.0)
|
|
33
33
|
jekyll (~> 3.3)
|
|
34
34
|
jekyll-sass-converter (1.5.2)
|
|
35
35
|
sass (~> 3.4)
|
|
36
36
|
jekyll-sitemap (1.2.0)
|
|
37
37
|
jekyll (~> 3.3)
|
|
38
|
-
jekyll-toc (0.
|
|
39
|
-
nokogiri (~> 1.
|
|
38
|
+
jekyll-toc (0.6.0)
|
|
39
|
+
nokogiri (~> 1.7)
|
|
40
40
|
jekyll-watch (2.0.0)
|
|
41
41
|
listen (~> 3.0)
|
|
42
|
-
kramdown (1.
|
|
42
|
+
kramdown (1.17.0)
|
|
43
43
|
liquid (4.0.0)
|
|
44
44
|
listen (3.1.5)
|
|
45
45
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
@@ -47,9 +47,9 @@ GEM
|
|
|
47
47
|
ruby_dep (~> 1.2)
|
|
48
48
|
mercenary (0.3.6)
|
|
49
49
|
mini_portile2 (2.3.0)
|
|
50
|
-
nokogiri (1.8.
|
|
50
|
+
nokogiri (1.8.4)
|
|
51
51
|
mini_portile2 (~> 2.3.0)
|
|
52
|
-
nokogiri (1.8.
|
|
52
|
+
nokogiri (1.8.4-x64-mingw32)
|
|
53
53
|
mini_portile2 (~> 2.3.0)
|
|
54
54
|
pathutil (0.16.1)
|
|
55
55
|
forwardable-extended (~> 2.6)
|
|
@@ -71,10 +71,10 @@ PLATFORMS
|
|
|
71
71
|
x64-mingw32
|
|
72
72
|
|
|
73
73
|
DEPENDENCIES
|
|
74
|
-
jekyll (~> 3.8.
|
|
75
|
-
jekyll-redirect-from (~> 0.
|
|
74
|
+
jekyll (~> 3.8.3)
|
|
75
|
+
jekyll-redirect-from (~> 0.14.0)
|
|
76
76
|
jekyll-sitemap (~> 1.2.0)
|
|
77
|
-
jekyll-toc (~> 0.
|
|
77
|
+
jekyll-toc (~> 0.6.0)
|
|
78
78
|
|
|
79
79
|
BUNDLED WITH
|
|
80
|
-
1.16.
|
|
80
|
+
1.16.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://getbootstrap.com/">
|
|
3
|
-
<img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width=72 height=72>
|
|
3
|
+
<img src="https://getbootstrap.com/docs/4.1/assets/brand/bootstrap-solid.svg" alt="Bootstrap logo" width=72 height=72>
|
|
4
4
|
</a>
|
|
5
5
|
|
|
6
6
|
<h3 align="center">Bootstrap</h3>
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
|
|
43
43
|
Several quick start options are available:
|
|
44
44
|
|
|
45
|
-
- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.1.
|
|
45
|
+
- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.1.3.zip)
|
|
46
46
|
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
|
|
47
47
|
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap`
|
|
48
|
-
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.1.
|
|
49
|
-
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.1.
|
|
48
|
+
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.1.3`
|
|
49
|
+
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.1.3`
|
|
50
50
|
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
|
|
51
51
|
|
|
52
|
-
Read the [Getting started page](https://getbootstrap.com/docs/4.
|
|
52
|
+
Read the [Getting started page](https://getbootstrap.com/docs/4.1/getting-started/introduction/) for information on the framework contents, templates and examples, and more.
|
|
53
53
|
|
|
54
54
|
## Status
|
|
55
55
|
|
|
@@ -62,6 +62,7 @@ Read the [Getting started page](https://getbootstrap.com/docs/4.0/getting-starte
|
|
|
62
62
|
[](https://www.nuget.org/packages/bootstrap/absoluteLatest)
|
|
63
63
|
[](https://david-dm.org/twbs/bootstrap?type=peer)
|
|
64
64
|
[](https://david-dm.org/twbs/bootstrap?type=dev)
|
|
65
|
+
[](https://coveralls.io/github/twbs/bootstrap?branch=v4-dev)
|
|
65
66
|
[](https://github.com/twbs/bootstrap/tree/v4-dev/dist/css/bootstrap.min.css)
|
|
66
67
|
[](https://github.com/twbs/bootstrap/tree/v4-dev/dist/js/bootstrap.min.js)
|
|
67
68
|
|
|
@@ -73,27 +74,32 @@ Within the download you'll find the following directories and files, logically g
|
|
|
73
74
|
|
|
74
75
|
```
|
|
75
76
|
bootstrap/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
│ ├── bootstrap.css
|
|
79
|
-
│ ├── bootstrap.
|
|
80
|
-
│ ├── bootstrap.min.css
|
|
81
|
-
│ ├── bootstrap-grid.css
|
|
82
|
-
│ ├── bootstrap-
|
|
83
|
-
│ ├── bootstrap-
|
|
84
|
-
│ ├── bootstrap-
|
|
85
|
-
│ ├── bootstrap-reboot.css
|
|
86
|
-
│ ├── bootstrap
|
|
87
|
-
│ ├── bootstrap
|
|
88
|
-
│
|
|
89
|
-
└──
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
└── dist/
|
|
78
|
+
├── css/
|
|
79
|
+
│ ├── bootstrap-grid.css
|
|
80
|
+
│ ├── bootstrap-grid.css.map
|
|
81
|
+
│ ├── bootstrap-grid.min.css
|
|
82
|
+
│ ├── bootstrap-grid.min.css.map
|
|
83
|
+
│ ├── bootstrap-reboot.css
|
|
84
|
+
│ ├── bootstrap-reboot.css.map
|
|
85
|
+
│ ├── bootstrap-reboot.min.css
|
|
86
|
+
│ ├── bootstrap-reboot.min.css.map
|
|
87
|
+
│ ├── bootstrap.css
|
|
88
|
+
│ ├── bootstrap.css.map
|
|
89
|
+
│ ├── bootstrap.min.css
|
|
90
|
+
│ └── bootstrap.min.css.map
|
|
91
|
+
└── js/
|
|
92
|
+
├── bootstrap.bundle.js
|
|
93
|
+
├── bootstrap.bundle.js.map
|
|
94
|
+
├── bootstrap.bundle.min.js
|
|
95
|
+
├── bootstrap.bundle.min.js.map
|
|
96
|
+
├── bootstrap.js
|
|
97
|
+
├── bootstrap.js.map
|
|
98
|
+
├── bootstrap.min.js
|
|
99
|
+
└── bootstrap.min.js.map
|
|
94
100
|
```
|
|
95
101
|
|
|
96
|
-
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`).
|
|
102
|
+
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [source maps](https://developers.google.com/web/tools/chrome-devtools/debug/readability/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/), but not [jQuery](https://jquery.com/).
|
|
97
103
|
|
|
98
104
|
|
|
99
105
|
## Bugs and feature requests
|
|
@@ -105,15 +111,14 @@ Have a bug or a feature request? Please first read the [issue guidelines](https:
|
|
|
105
111
|
|
|
106
112
|
Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at <https://getbootstrap.com/>. The docs may also be run locally.
|
|
107
113
|
|
|
108
|
-
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `assets/js/src/search.js` file.
|
|
114
|
+
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `site/docs/4.1/assets/js/src/search.js` file.
|
|
109
115
|
|
|
110
116
|
### Running documentation locally
|
|
111
117
|
|
|
112
|
-
1. Run through the [tooling setup](https://getbootstrap.com/docs/4.
|
|
118
|
+
1. Run through the [tooling setup](https://getbootstrap.com/docs/4.1/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
|
|
113
119
|
2. Run `npm install` to install Node.js dependencies.
|
|
114
|
-
3. Run `npm
|
|
115
|
-
4.
|
|
116
|
-
5. Open `http://localhost:9001` in your browser, and voilà.
|
|
120
|
+
3. Run `npm start` to compile CSS and JavaScript files, generate our docs, and watch for changes.
|
|
121
|
+
4. Open `http://localhost:9001` in your browser, and voilà.
|
|
117
122
|
|
|
118
123
|
Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/home/).
|
|
119
124
|
|
|
@@ -121,6 +126,7 @@ Learn more about using Jekyll by reading its [documentation](https://jekyllrb.co
|
|
|
121
126
|
|
|
122
127
|
- For v2.3.2: <https://getbootstrap.com/2.3.2/>
|
|
123
128
|
- For v3.3.x: <https://getbootstrap.com/docs/3.3/>
|
|
129
|
+
- For v4.0.x: <https://getbootstrap.com/docs/4.0/>
|
|
124
130
|
|
|
125
131
|
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
|
|
126
132
|
|
|
@@ -131,7 +137,7 @@ Please read through our [contributing guidelines](https://github.com/twbs/bootst
|
|
|
131
137
|
|
|
132
138
|
Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/master/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo).
|
|
133
139
|
|
|
134
|
-
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <
|
|
140
|
+
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <https://editorconfig.org/>.
|
|
135
141
|
|
|
136
142
|
|
|
137
143
|
## Community
|