trek 0.0.1 → 0.1.11
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/.editorconfig +27 -0
- data/.eslintrc.json +14 -0
- data/.node-version +1 -0
- data/.npmignore +6 -0
- data/.rubocop.yml +28 -1
- data/.slim-lint.yml +103 -0
- data/.stylelintrc.json +13 -0
- data/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +541 -0
- data/.yarn/releases/yarn-3.8.0.cjs +875 -0
- data/.yarnrc.yml +13 -0
- data/Gemfile +17 -2
- data/Gemfile.lock +583 -0
- data/LICENSE +21 -0
- data/README.md +198 -11
- data/app/assets/icons/trek/add.svg +5 -0
- data/app/assets/icons/trek/arrow-bar-left.svg +7 -0
- data/app/assets/icons/trek/arrow-bar-right.svg +7 -0
- data/app/assets/icons/trek/bold.svg +1 -0
- data/app/assets/icons/trek/check.svg +1 -0
- data/app/assets/icons/trek/chevron-double-left.svg +1 -0
- data/app/assets/icons/trek/chevron-double-right.svg +1 -0
- data/app/assets/icons/trek/chevron-left.svg +1 -0
- data/app/assets/icons/trek/chevron-right.svg +1 -0
- data/app/assets/icons/trek/close.svg +1 -0
- data/app/assets/icons/trek/cursor.svg +1 -0
- data/app/assets/icons/trek/danger.svg +1 -0
- data/app/assets/icons/trek/download.svg +1 -0
- data/app/assets/icons/trek/eraser.svg +1 -0
- data/app/assets/icons/trek/eye.svg +1 -0
- data/app/assets/icons/trek/grid.svg +1 -0
- data/app/assets/icons/trek/hr.svg +1 -0
- data/app/assets/icons/trek/italic-off.svg +1 -0
- data/app/assets/icons/trek/italic.svg +1 -0
- data/app/assets/icons/trek/layout.svg +6 -0
- data/app/assets/icons/trek/link.svg +1 -0
- data/app/assets/icons/trek/list-bullets.svg +1 -0
- data/app/assets/icons/trek/list.svg +1 -0
- data/app/assets/icons/trek/logout.svg +5 -0
- data/app/assets/icons/trek/paragraph.svg +1 -0
- data/app/assets/icons/trek/pic.svg +6 -0
- data/app/assets/icons/trek/profile.svg +5 -0
- data/app/assets/icons/trek/quotation.svg +1 -0
- data/app/assets/icons/trek/rating.svg +7 -0
- data/app/assets/icons/trek/redo.svg +1 -0
- data/app/assets/icons/trek/refresh.svg +5 -0
- data/app/assets/icons/trek/reorder.svg +8 -0
- data/app/assets/icons/trek/return.svg +1 -0
- data/app/assets/icons/trek/search.svg +1 -0
- data/app/assets/icons/trek/theme.svg +11 -0
- data/app/assets/icons/trek/undo.svg +1 -0
- data/app/assets/images/trek/favicon.png +0 -0
- data/app/assets/images/trek/favicon.svg +1 -0
- data/app/assets/stylesheets/trek/_colors.css +43 -0
- data/app/assets/stylesheets/trek/_fonts.css +9 -0
- data/app/assets/stylesheets/trek/_media_queries.css +5 -0
- data/app/assets/stylesheets/trek/_utilities.css +12 -0
- data/app/assets/stylesheets/trek/base.css +58 -0
- data/app/components/index.js +20 -0
- data/app/components/trek/brand_component/brand_component.css +33 -0
- data/app/components/trek/brand_component/brand_component.html.slim +7 -0
- data/app/components/trek/brand_component/brand_component.js +1 -0
- data/app/components/trek/brand_component.rb +27 -0
- data/app/components/trek/button_component/button_component.css +87 -0
- data/app/components/trek/button_component/button_component.js +15 -0
- data/app/components/trek/button_component.rb +93 -0
- data/app/components/trek/component.rb +10 -0
- data/app/components/trek/dashboard/section_component/section_component.css +19 -0
- data/app/components/trek/dashboard/section_component/section_component.html.slim +5 -0
- data/app/components/trek/dashboard/section_component/section_component.js +15 -0
- data/app/components/trek/dashboard/section_component.rb +13 -0
- data/app/components/trek/dashboard/tile_component/tile_component.css +199 -0
- data/app/components/trek/dashboard/tile_component/tile_component.html.slim +4 -0
- data/app/components/trek/dashboard/tile_component/tile_component.js +15 -0
- data/app/components/trek/dashboard/tile_component.rb +28 -0
- data/app/components/trek/dialog_component/dialog_component.css +22 -0
- data/app/components/trek/dialog_component/dialog_component.html.slim +26 -0
- data/app/components/trek/dialog_component/dialog_component.js +40 -0
- data/app/components/trek/dialog_component.rb +9 -0
- data/app/components/trek/form/actions_component/actions_component.css +39 -0
- data/app/components/trek/form/actions_component/actions_component.html.slim +10 -0
- data/app/components/trek/form/actions_component/actions_component.js +15 -0
- data/app/components/trek/form/actions_component.rb +30 -0
- data/app/components/trek/form/collection_select_component/collection_select_component.css +4 -0
- data/app/components/trek/form/collection_select_component/collection_select_component.js +30 -0
- data/app/components/trek/form/collection_select_component.rb +20 -0
- data/app/components/trek/form/content_editor_component/content_editor_component.css +190 -0
- data/app/components/trek/form/content_editor_component/content_editor_component.html.slim +254 -0
- data/app/components/trek/form/content_editor_component/content_editor_component.js +282 -0
- data/app/components/trek/form/content_editor_component/extensions/image_block.js +71 -0
- data/app/components/trek/form/content_editor_component/extensions/prompts_block.js +65 -0
- data/app/components/trek/form/content_editor_component/extensions/table_of_contents.js +66 -0
- data/app/components/trek/form/content_editor_component.rb +69 -0
- data/app/components/trek/form/errors_component/errors_component.css +14 -0
- data/app/components/trek/form/errors_component/errors_component.html.slim +7 -0
- data/app/components/trek/form/errors_component/errors_component.js +1 -0
- data/app/components/trek/form/errors_component.rb +27 -0
- data/app/components/trek/form/fieldset_component/fieldset_component.css +42 -0
- data/app/components/trek/form/fieldset_component/fieldset_component.html.slim +4 -0
- data/app/components/trek/form/fieldset_component/fieldset_component.js +15 -0
- data/app/components/trek/form/fieldset_component.rb +18 -0
- data/app/components/trek/form/group_component/group_component.css +115 -0
- data/app/components/trek/form/group_component/group_component.html.slim +7 -0
- data/app/components/trek/form/group_component/group_component.js +15 -0
- data/app/components/trek/form/group_component.rb +69 -0
- data/app/components/trek/form/grouped_collection_select_component/grouped_collection_select_component.css +4 -0
- data/app/components/trek/form/grouped_collection_select_component/grouped_collection_select_component.js +30 -0
- data/app/components/trek/form/grouped_collection_select_component.rb +20 -0
- data/app/components/trek/form/image_field_component/image_field_component.css +31 -0
- data/app/components/trek/form/image_field_component/image_field_component.html.slim +21 -0
- data/app/components/trek/form/image_field_component/image_field_component.js +91 -0
- data/app/components/trek/form/image_field_component.rb +56 -0
- data/app/components/trek/form/link_select_component/link_select_component.css +4 -0
- data/app/components/trek/form/link_select_component/link_select_component.js +35 -0
- data/app/components/trek/form/link_select_component.rb +20 -0
- data/app/components/trek/form/sound_field_component/sound_field_component.css +27 -0
- data/app/components/trek/form/sound_field_component/sound_field_component.html.slim +29 -0
- data/app/components/trek/form/sound_field_component/sound_field_component.js +79 -0
- data/app/components/trek/form/sound_field_component.rb +37 -0
- data/app/components/trek/form/switch_box_component/switch_box_component.css +89 -0
- data/app/components/trek/form/switch_box_component/switch_box_component.js +22 -0
- data/app/components/trek/form/switch_box_component.rb +62 -0
- data/app/components/trek/form/text_field_component/text_field_component.css +4 -0
- data/app/components/trek/form/text_field_component/text_field_component.js +15 -0
- data/app/components/trek/form/text_field_component.rb +11 -0
- data/app/components/trek/gate_component/gate_component.css +23 -0
- data/app/components/trek/gate_component/gate_component.html.slim +6 -0
- data/app/components/trek/gate_component/gate_component.js +15 -0
- data/app/components/trek/gate_component.rb +6 -0
- data/app/components/trek/header_component/header_component.css +94 -0
- data/app/components/trek/header_component/header_component.html.slim +42 -0
- data/app/components/trek/header_component/header_component.js +13 -0
- data/app/components/trek/header_component.rb +60 -0
- data/app/components/trek/heading_component/heading_component.css +59 -0
- data/app/components/trek/heading_component/heading_component.html.slim +9 -0
- data/app/components/trek/heading_component/heading_component.js +15 -0
- data/app/components/trek/heading_component.rb +10 -0
- data/app/components/trek/icon/sprite_component.rb +71 -0
- data/app/components/trek/icon_component/icon_component.css +12 -0
- data/app/components/trek/icon_component/icon_component.js +1 -0
- data/app/components/trek/icon_component.rb +83 -0
- data/app/components/trek/layout_component/layout_component.css +68 -0
- data/app/components/trek/layout_component/layout_component.html.slim +20 -0
- data/app/components/trek/layout_component/layout_component.js +47 -0
- data/app/components/trek/layout_component.rb +11 -0
- data/app/components/trek/list/item_component/item_component.css +147 -0
- data/app/components/trek/list/item_component/item_component.html.slim +29 -0
- data/app/components/trek/list/item_component/item_component.js +15 -0
- data/app/components/trek/list/item_component.rb +64 -0
- data/app/components/trek/list/tree/item_component/item_component.css +109 -0
- data/app/components/trek/list/tree/item_component/item_component.html.slim +12 -0
- data/app/components/trek/list/tree/item_component/item_component.js +15 -0
- data/app/components/trek/list/tree/item_component.rb +82 -0
- data/app/components/trek/list/tree_component/tree_component.css +6 -0
- data/app/components/trek/list/tree_component/tree_component.js +47 -0
- data/app/components/trek/list/tree_component.rb +48 -0
- data/app/components/trek/list_component/list_component.css +6 -0
- data/app/components/trek/list_component/list_component.js +47 -0
- data/app/components/trek/list_component.rb +51 -0
- data/app/components/trek/menu_component/menu_component.css +64 -0
- data/app/components/trek/menu_component/menu_component.html.slim +3 -0
- data/app/components/trek/menu_component/menu_component.js +1 -0
- data/app/components/trek/menu_component.rb +90 -0
- data/app/components/trek/pagination_component/pagination_component.css +110 -0
- data/app/components/trek/pagination_component/pagination_component.html.slim +2 -0
- data/app/components/trek/pagination_component/pagination_component.js +1 -0
- data/app/components/trek/pagination_component.rb +6 -0
- data/app/components/trek/properties_component/properties_component.css +17 -0
- data/app/components/trek/properties_component/properties_component.html.slim +3 -0
- data/app/components/trek/properties_component/properties_component.js +15 -0
- data/app/components/trek/properties_component.rb +69 -0
- data/app/components/trek/search_component/search_component.css +62 -0
- data/app/components/trek/search_component/search_component.html.slim +11 -0
- data/app/components/trek/search_component/search_component.js +1 -0
- data/app/components/trek/search_component.rb +9 -0
- data/app/components/trek/tabs_component/tabs_component.css +49 -0
- data/app/components/trek/tabs_component/tabs_component.html.slim +12 -0
- data/app/components/trek/tabs_component/tabs_component.js +71 -0
- data/app/components/trek/tabs_component.rb +53 -0
- data/app/components/trek/toaster/toast_component/toast_component.css +63 -0
- data/app/components/trek/toaster/toast_component/toast_component.js +30 -0
- data/app/components/trek/toaster/toast_component.rb +68 -0
- data/app/components/trek/toaster_component/toaster_component.css +8 -0
- data/app/components/trek/toaster_component/toaster_component.html.slim +2 -0
- data/app/components/trek/toaster_component/toaster_component.js +1 -0
- data/app/components/trek/toaster_component.rb +7 -0
- data/app/controllers/concerns/trek/authentication.rb +31 -0
- data/app/controllers/concerns/trek/authorization.rb +15 -0
- data/app/controllers/concerns/trek/hooks.rb +16 -0
- data/app/controllers/concerns/trek/localization.rb +32 -0
- data/app/controllers/concerns/trek/model.rb +32 -0
- data/app/controllers/concerns/trek/notices.rb +19 -0
- data/app/controllers/concerns/trek/pagination.rb +9 -0
- data/app/controllers/concerns/trek/redirections.rb +23 -0
- data/app/controllers/concerns/trek/reorderable.rb +49 -0
- data/app/controllers/trek/base_controller.rb +17 -0
- data/app/controllers/trek/panels/base_controller.rb +6 -0
- data/app/controllers/trek/panels/images_controller.rb +45 -0
- data/app/controllers/trek/panels/links_controller.rb +41 -0
- data/app/controllers/trek/panels/prompts_controller.rb +41 -0
- data/app/controllers/trek/resource_controller.rb +86 -0
- data/app/formatters/prosemirror_to_html/global_id_to_links_formatter.rb +18 -0
- data/app/formatters/prosemirror_to_html/nodes/image_block.rb +44 -0
- data/app/formatters/prosemirror_to_html/nodes/prompts_block.rb +28 -0
- data/app/formatters/prosemirror_to_html/remove_empty_paragraphs_formatter.rb +11 -0
- data/app/forms/trek/form_builder.rb +59 -0
- data/app/helpers/trek/css_classes_helpers.rb +22 -0
- data/app/helpers/trek/i18n_helper.rb +23 -0
- data/app/helpers/trek/identifier_helper.rb +7 -0
- data/app/helpers/trek/page_path_helper.rb +50 -0
- data/app/helpers/trek/stimulus_helpers.rb +59 -0
- data/app/helpers/trek/theme_helper.rb +11 -0
- data/app/javascript/controllers/application.js +9 -0
- data/app/javascript/controllers/element_controller.js +9 -0
- data/app/javascript/controllers/hello_controller.js +7 -0
- data/app/javascript/controllers/index.js +14 -0
- data/app/javascript/controllers/removable_element_controller.js +24 -0
- data/app/javascript/controllers/search_params_controller.js +20 -0
- data/app/javascript/trek.js +5 -0
- data/app/models/concerns/trek/contentable.rb +21 -0
- data/app/models/concerns/trek/formattable.rb +48 -0
- data/app/models/concerns/trek/fragmentable.rb +27 -0
- data/app/models/concerns/trek/keyable.rb +11 -0
- data/app/models/concerns/trek/orderable.rb +13 -0
- data/app/models/concerns/trek/pageable.rb +100 -0
- data/app/models/concerns/trek/pages/pathable.rb +68 -0
- data/app/models/concerns/trek/pages/scopes.rb +11 -0
- data/app/models/concerns/trek/pages/search_engine_optimizable.rb +37 -0
- data/app/models/concerns/trek/pages/versionable.rb +56 -0
- data/app/models/concerns/trek/phonable.rb +49 -0
- data/app/models/concerns/trek/search.rb +18 -0
- data/app/models/concerns/trek/searchable.rb +14 -0
- data/app/models/concerns/trek/sectionable.rb +23 -0
- data/app/models/concerns/trek/sluggable.rb +35 -0
- data/app/models/concerns/trek/taggable.rb +14 -0
- data/app/models/concerns/trek/translatable.rb +27 -0
- data/app/models/concerns/trek/users/invitable.rb +20 -0
- data/app/models/concerns/trek/users/locales.rb +13 -0
- data/app/models/concerns/trek/users/roles.rb +23 -0
- data/app/models/concerns/trek/users/scopes.rb +11 -0
- data/app/models/concerns/trek/users/themes.rb +17 -0
- data/app/models/concerns/trek/users/validations.rb +18 -0
- data/app/models/prosemirror.rb +20 -0
- data/app/models/trek/content_editor/image.rb +26 -0
- data/app/models/trek/content_editor/link.rb +21 -0
- data/app/models/trek/content_editor/prompt.rb +21 -0
- data/app/models/trek/dashboard/config.rb +15 -0
- data/app/models/trek/feature.rb +7 -0
- data/app/models/trek/user_password_reset.rb +12 -0
- data/app/models/trek/user_session.rb +8 -0
- data/app/policies/concerns/trek/policies/helpers.rb +15 -0
- data/app/policies/concerns/trek/policies/permitted_attributes.rb +20 -0
- data/app/policies/trek/application_policy.rb +27 -0
- data/app/policies/trek/fragment_policy.rb +37 -0
- data/app/policies/trek/page_policy.rb +45 -0
- data/app/policies/trek/preview_policy.rb +7 -0
- data/app/policies/trek/resource_policy.rb +33 -0
- data/app/policies/trek/user_policy.rb +57 -0
- data/app/uploaders/image_uploader.rb +28 -0
- data/app/uploaders/model_image_uploader.rb +3 -0
- data/app/uploaders/record_image_uploader.rb +3 -0
- data/app/views/kaminari/_first_page.html.slim +12 -0
- data/app/views/kaminari/_gap.html.slim +8 -0
- data/app/views/kaminari/_last_page.html.slim +12 -0
- data/app/views/kaminari/_next_page.html.slim +12 -0
- data/app/views/kaminari/_page.html.slim +17 -0
- data/app/views/kaminari/_paginator.html.slim +20 -0
- data/app/views/kaminari/_prev_page.html.slim +12 -0
- data/app/views/trek/panels/images/_form.html.slim +35 -0
- data/app/views/trek/panels/images/create.turbo_stream.slim +19 -0
- data/app/views/trek/panels/images/new.html.slim +2 -0
- data/app/views/trek/panels/links/_form.html.slim +39 -0
- data/app/views/trek/panels/links/create.turbo_stream.slim +12 -0
- data/app/views/trek/panels/links/new.html.slim +2 -0
- data/app/views/trek/panels/prompts/_form.html.slim +37 -0
- data/app/views/trek/panels/prompts/create.turbo_stream.slim +18 -0
- data/app/views/trek/panels/prompts/new.html.slim +2 -0
- data/app/views/trek/shared/_resource_heading.html.slim +16 -0
- data/app/views/trek/shared/_resource_index_heading.html.slim +36 -0
- data/config/brakeman.ignore +27 -0
- data/config/locales/trek.en.yml +248 -0
- data/config/locales/trek.fr.yml +250 -0
- data/docs/customize.md +15 -0
- data/esbuild.config.js +36 -0
- data/lefthook.yml +41 -0
- data/lib/generators/trek/USAGE +7 -0
- data/lib/generators/trek/admin/user_generator.rb +37 -0
- data/lib/generators/trek/helpers.rb +68 -0
- data/lib/generators/trek/install/admin/fragments_generator.rb +37 -0
- data/lib/generators/trek/install/admin/pages_generator.rb +37 -0
- data/lib/generators/trek/install/admin/routes_generator.rb +40 -0
- data/lib/generators/trek/install/admin/user_password_resets_generator.rb +37 -0
- data/lib/generators/trek/install/admin/user_sessions_generator.rb +40 -0
- data/lib/generators/trek/install/admin/users_generator.rb +32 -0
- data/lib/generators/trek/install/admin_generator.rb +59 -0
- data/lib/generators/trek/install/application_generator.rb +40 -0
- data/lib/generators/trek/install/assets_generator.rb +44 -0
- data/lib/generators/trek/install/attachments_generator.rb +50 -0
- data/lib/generators/trek/install/authentication_generator.rb +32 -0
- data/lib/generators/trek/install/authorization_generator.rb +57 -0
- data/lib/generators/trek/install/brakeman_generator.rb +21 -0
- data/lib/generators/trek/install/bundler_audit_generator.rb +21 -0
- data/lib/generators/trek/install/ci_generator.rb +21 -0
- data/lib/generators/trek/install/component_generator.rb +21 -0
- data/lib/generators/trek/install/config_generator.rb +31 -0
- data/lib/generators/trek/install/current_generator.rb +22 -0
- data/lib/generators/trek/install/editorconfig_generator.rb +20 -0
- data/lib/generators/trek/install/esbuild_generator.rb +31 -0
- data/lib/generators/trek/install/eslint_generator.rb +29 -0
- data/lib/generators/trek/install/external_link_generator.rb +41 -0
- data/lib/generators/trek/install/fragment_generator.rb +33 -0
- data/lib/generators/trek/install/healthcheck_generator.rb +30 -0
- data/lib/generators/trek/install/kaminari_generator.rb +19 -0
- data/lib/generators/trek/install/lefthook_generator.rb +29 -0
- data/lib/generators/trek/install/locales_generator.rb +59 -0
- data/lib/generators/trek/install/lookbook_generator.rb +25 -0
- data/lib/generators/trek/install/mailer_generator.rb +65 -0
- data/lib/generators/trek/install/makefile_generator.rb +21 -0
- data/lib/generators/trek/install/menu_node_generator.rb +36 -0
- data/lib/generators/trek/install/package_json_generator.rb +21 -0
- data/lib/generators/trek/install/page_generator.rb +66 -0
- data/lib/generators/trek/install/postcss_generator.rb +36 -0
- data/lib/generators/trek/install/postmark_generator.rb +70 -0
- data/lib/generators/trek/install/prettier_generator.rb +30 -0
- data/lib/generators/trek/install/procfiles_generator.rb +34 -0
- data/lib/generators/trek/install/readme_generator.rb +21 -0
- data/lib/generators/trek/install/rubocop_generator.rb +25 -0
- data/lib/generators/trek/install/ruby_generator.rb +28 -0
- data/lib/generators/trek/install/scalingo_generator.rb +42 -0
- data/lib/generators/trek/install/slim_lint_generator.rb +25 -0
- data/lib/generators/trek/install/specs_generator.rb +45 -0
- data/lib/generators/trek/install/strip_attributes_generator.rb +21 -0
- data/lib/generators/trek/install/stylelint_generator.rb +30 -0
- data/lib/generators/trek/install/translations_generator.rb +44 -0
- data/lib/generators/trek/install/uploaders_generator.rb +31 -0
- data/lib/generators/trek/install/user_generator.rb +75 -0
- data/lib/generators/trek/install/yarn_generator.rb +71 -0
- data/lib/generators/trek/install_generator.rb +189 -0
- data/lib/generators/trek/scaffold_generator.rb +158 -0
- data/lib/generators/trek/taxonomies_generator.rb +53 -0
- data/lib/generators/trek/templates/.gitlab-ci.yml +188 -0
- data/lib/generators/trek/templates/Makefile +35 -0
- data/lib/generators/trek/templates/README.md +45 -0
- data/lib/generators/trek/templates/components/index.js +20 -0
- data/lib/generators/trek/templates/config/i18n-tasks.yml.erb +159 -0
- data/lib/generators/trek/templates/controllers/admin/base_controller.rb +14 -0
- data/lib/generators/trek/templates/controllers/admin/dashboards_controller.rb +8 -0
- data/lib/generators/trek/templates/controllers/admin/fragments_controller.rb +9 -0
- data/lib/generators/trek/templates/controllers/admin/menu_nodes_controller.rb +24 -0
- data/lib/generators/trek/templates/controllers/admin/pages_controller.rb +31 -0
- data/lib/generators/trek/templates/controllers/admin/scaffold_controller.rb.tt +11 -0
- data/lib/generators/trek/templates/controllers/admin/uploads_controller.rb +20 -0
- data/lib/generators/trek/templates/controllers/admin/user_password_resets_controller.rb +57 -0
- data/lib/generators/trek/templates/controllers/admin/user_sessions_controller.rb +48 -0
- data/lib/generators/trek/templates/controllers/admin/users_controller.rb +24 -0
- data/lib/generators/trek/templates/helpers/application_helper.rb +16 -0
- data/lib/generators/trek/templates/helpers/external_link_path_helper.rb +8 -0
- data/lib/generators/trek/templates/initializers/healthcheck.rb +21 -0
- data/lib/generators/trek/templates/initializers/shrine.rb +41 -0
- data/lib/generators/trek/templates/javascript/application.js +5 -0
- data/lib/generators/trek/templates/layouts/admin/auth.html.slim +31 -0
- data/lib/generators/trek/templates/layouts/admin.html.slim +71 -0
- data/lib/generators/trek/templates/layouts/application.html.slim +15 -0
- data/lib/generators/trek/templates/layouts/mailer.html.slim +9 -0
- data/lib/generators/trek/templates/locales/scaffold/admin.en.yml.tt +19 -0
- data/lib/generators/trek/templates/locales/scaffold/admin.other.yml.tt +19 -0
- data/lib/generators/trek/templates/locales/scaffold/model.en.yml.tt +11 -0
- data/lib/generators/trek/templates/locales/scaffold/model.other.yml.tt +12 -0
- data/lib/generators/trek/templates/mailers/user_mailer.rb +21 -0
- data/lib/generators/trek/templates/migrations/external_links.rb.erb +12 -0
- data/lib/generators/trek/templates/migrations/fragments.rb.erb +15 -0
- data/lib/generators/trek/templates/migrations/menu_nodes.rb.erb +21 -0
- data/lib/generators/trek/templates/migrations/page_paths.rb.erb +12 -0
- data/lib/generators/trek/templates/migrations/page_versions.rb.erb +13 -0
- data/lib/generators/trek/templates/migrations/pages.rb.erb +19 -0
- data/lib/generators/trek/templates/migrations/tag_categories.rb.erb +12 -0
- data/lib/generators/trek/templates/migrations/taggings.rb.erb +12 -0
- data/lib/generators/trek/templates/migrations/tags.rb.erb +13 -0
- data/lib/generators/trek/templates/migrations/users.rb.erb +8 -0
- data/lib/generators/trek/templates/models/current.rb +3 -0
- data/lib/generators/trek/templates/models/dashboard.rb +12 -0
- data/lib/generators/trek/templates/models/external_link.rb +12 -0
- data/lib/generators/trek/templates/models/fragment.rb +24 -0
- data/lib/generators/trek/templates/models/menu_node.rb +38 -0
- data/lib/generators/trek/templates/models/page.rb +40 -0
- data/lib/generators/trek/templates/models/page_path.rb +15 -0
- data/lib/generators/trek/templates/models/page_version.rb +60 -0
- data/lib/generators/trek/templates/models/tag.rb +25 -0
- data/lib/generators/trek/templates/models/tag_category.rb +17 -0
- data/lib/generators/trek/templates/models/tagging.rb +4 -0
- data/lib/generators/trek/templates/package.json.tt +12 -0
- data/lib/generators/trek/templates/policies/admin/scaffold_policy.rb.tt +39 -0
- data/lib/generators/trek/templates/policies/admin/tag_category_policy.rb +11 -0
- data/lib/generators/trek/templates/policies/admin/tag_policy.rb +9 -0
- data/lib/generators/trek/templates/policies/external_link_policy.rb +22 -0
- data/lib/generators/trek/templates/policies/fragment.rb +4 -0
- data/lib/generators/trek/templates/policies/page.rb +4 -0
- data/lib/generators/trek/templates/policies/preview.rb +4 -0
- data/lib/generators/trek/templates/policies/user.rb +4 -0
- data/lib/generators/trek/templates/views/admin/dashboards/index.html.slim +29 -0
- data/lib/generators/trek/templates/views/admin/fragments/_form.html.slim +30 -0
- data/lib/generators/trek/templates/views/admin/fragments/_fragment.json.jb +5 -0
- data/lib/generators/trek/templates/views/admin/fragments/edit.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/fragments/index.html.slim +19 -0
- data/lib/generators/trek/templates/views/admin/fragments/index.json.jb +3 -0
- data/lib/generators/trek/templates/views/admin/fragments/new.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/menu_nodes/_form.html.slim +19 -0
- data/lib/generators/trek/templates/views/admin/menu_nodes/edit.html.slim +30 -0
- data/lib/generators/trek/templates/views/admin/pages/_form.html.slim +117 -0
- data/lib/generators/trek/templates/views/admin/pages/_page.json.jb +9 -0
- data/lib/generators/trek/templates/views/admin/pages/edit.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/pages/index.html.slim +40 -0
- data/lib/generators/trek/templates/views/admin/pages/index.json.jb +3 -0
- data/lib/generators/trek/templates/views/admin/pages/new.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/scaffold/_form.html.slim.tt +22 -0
- data/lib/generators/trek/templates/views/admin/scaffold/edit.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/scaffold/index.html.slim +21 -0
- data/lib/generators/trek/templates/views/admin/scaffold/new.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/scaffold/show.html.slim.tt +10 -0
- data/lib/generators/trek/templates/views/admin/user_password_resets/edit.html.slim +16 -0
- data/lib/generators/trek/templates/views/admin/user_password_resets/new.html.slim +17 -0
- data/lib/generators/trek/templates/views/admin/user_sessions/new.html.slim +20 -0
- data/lib/generators/trek/templates/views/admin/users/_form.html.slim +60 -0
- data/lib/generators/trek/templates/views/admin/users/edit.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/users/index.html.slim +21 -0
- data/lib/generators/trek/templates/views/admin/users/new.html.slim +2 -0
- data/lib/generators/trek/templates/views/admin/users/show.html.slim +41 -0
- data/lib/generators/trek/templates/views/user_mailer/invite_email.en.html.slim +29 -0
- data/lib/generators/trek/templates/views/user_mailer/invite_email.en.text.erb +9 -0
- data/lib/generators/trek/templates/views/user_mailer/invite_email.fr.html.slim +29 -0
- data/lib/generators/trek/templates/views/user_mailer/invite_email.fr.text.erb +9 -0
- data/lib/generators/trek/templates/views/user_mailer/reset_password_email.en.html.slim +7 -0
- data/lib/generators/trek/templates/views/user_mailer/reset_password_email.en.text.erb +9 -0
- data/lib/generators/trek/templates/views/user_mailer/reset_password_email.fr.html.slim +7 -0
- data/lib/generators/trek/templates/views/user_mailer/reset_password_email.fr.text.erb +9 -0
- data/lib/trek/engine.rb +38 -0
- data/lib/trek/i18n_keys_resolver.rb +72 -0
- data/lib/trek/typography_formatter.rb +63 -0
- data/lib/trek/version.rb +1 -1
- data/lib/trek.rb +26 -2
- data/package.json +54 -0
- data/postcss.config.js +56 -0
- data/trek.gemspec +65 -0
- data/vendor/tom_select/css/tom-select.custom.css +462 -0
- data/yarn.lock +6053 -0
- metadata +874 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3358d8b92a863e10db5e015d6747fc1973249b9cf266f245bcee6fea5e11ada2
|
|
4
|
+
data.tar.gz: 84b609db2a23b60cd98868334cbf59142a1581b72e1d20c3088f342b80daa539
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d38576c0fe0adb84d673cc6ec7d66e2524619d09e1586f70072a3892ca9fe124b7b42d4534100f594588ab5655d218f48b476669b828fcc81bc209510e6b6f84
|
|
7
|
+
data.tar.gz: 2247bc4a71af0581c7b9779fda55ff39065566945153852238fc870a13668e7eb77deaa1fcd58eb086818d0ea6933718c26749e90c29d0e35a0ddf8f80a6e0ac
|
data/.editorconfig
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
; top-most EditorConfig file
|
|
2
|
+
root = true
|
|
3
|
+
|
|
4
|
+
; Unix-style newlines
|
|
5
|
+
[*]
|
|
6
|
+
end_of_line = LF
|
|
7
|
+
indent_style = space
|
|
8
|
+
indent_size = 2
|
|
9
|
+
charset = utf-8
|
|
10
|
+
trim_trailing_whitespace = true
|
|
11
|
+
insert_final_newline = true
|
|
12
|
+
|
|
13
|
+
[*.md]
|
|
14
|
+
trim_trailing_whitespace = false
|
|
15
|
+
|
|
16
|
+
[Makefile]
|
|
17
|
+
indent_style = tab
|
|
18
|
+
insert_final_newline = false
|
|
19
|
+
|
|
20
|
+
[*.enc]
|
|
21
|
+
insert_final_newline = false
|
|
22
|
+
|
|
23
|
+
[*.key]
|
|
24
|
+
insert_final_newline = false
|
|
25
|
+
|
|
26
|
+
[spec/fixtures/**/*]
|
|
27
|
+
insert_final_newline = false
|
data/.eslintrc.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"browser": true,
|
|
4
|
+
"es2021": true
|
|
5
|
+
},
|
|
6
|
+
"extends": ["eslint:recommended", "prettier"],
|
|
7
|
+
"ignorePatterns": ["app/assets/builds/**/*.js", "lib/generators/**/*.js"],
|
|
8
|
+
"overrides": [],
|
|
9
|
+
"parserOptions": {
|
|
10
|
+
"ecmaVersion": "latest",
|
|
11
|
+
"sourceType": "module"
|
|
12
|
+
},
|
|
13
|
+
"rules": {}
|
|
14
|
+
}
|
data/.node-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
22.21.1
|
data/.npmignore
ADDED
data/.rubocop.yml
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
+
# Omakase Ruby styling for Rails
|
|
2
|
+
inherit_gem: { rubocop-rails-omakase: rubocop.yml }
|
|
3
|
+
plugins:
|
|
4
|
+
- rubocop-rspec
|
|
5
|
+
|
|
6
|
+
Bundler:
|
|
7
|
+
Enabled: true
|
|
8
|
+
Gemspec:
|
|
9
|
+
Enabled: true
|
|
10
|
+
Performance:
|
|
11
|
+
Enabled: true
|
|
12
|
+
Rails:
|
|
13
|
+
Enabled: true
|
|
14
|
+
Security:
|
|
15
|
+
Enabled: true
|
|
16
|
+
|
|
1
17
|
AllCops:
|
|
2
|
-
|
|
18
|
+
NewCops: disable
|
|
19
|
+
TargetRubyVersion: 3.4
|
|
20
|
+
|
|
21
|
+
Layout/SpaceInsideArrayLiteralBrackets:
|
|
22
|
+
Enabled: true
|
|
23
|
+
EnforcedStyle: no_space
|
|
3
24
|
|
|
4
25
|
Style/StringLiterals:
|
|
5
26
|
Enabled: true
|
|
@@ -11,3 +32,9 @@ Style/StringLiteralsInInterpolation:
|
|
|
11
32
|
|
|
12
33
|
Layout/LineLength:
|
|
13
34
|
Max: 120
|
|
35
|
+
|
|
36
|
+
Gemspec/RequiredRubyVersion:
|
|
37
|
+
Enabled: false
|
|
38
|
+
|
|
39
|
+
Rails/BulkChangeTable:
|
|
40
|
+
Enabled: false
|
data/.slim-lint.yml
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Default application configuration that all configurations inherit from.
|
|
2
|
+
#
|
|
3
|
+
# This is an opinionated list of which hooks are valuable to run and what their
|
|
4
|
+
# out of the box settings should be.
|
|
5
|
+
|
|
6
|
+
# Whether to ignore frontmatter at the beginning of Slim documents for
|
|
7
|
+
# frameworks such as Jekyll/Middleman
|
|
8
|
+
skip_frontmatter: false
|
|
9
|
+
|
|
10
|
+
linters:
|
|
11
|
+
AllCops:
|
|
12
|
+
NewCops: disable
|
|
13
|
+
|
|
14
|
+
CommentControlStatement:
|
|
15
|
+
enabled: true
|
|
16
|
+
|
|
17
|
+
ConsecutiveControlStatements:
|
|
18
|
+
enabled: true
|
|
19
|
+
max_consecutive: 2
|
|
20
|
+
|
|
21
|
+
ControlStatementSpacing:
|
|
22
|
+
enabled: true
|
|
23
|
+
|
|
24
|
+
EmbeddedEngines:
|
|
25
|
+
enabled: false
|
|
26
|
+
forbidden_engines: []
|
|
27
|
+
|
|
28
|
+
EmptyControlStatement:
|
|
29
|
+
enabled: true
|
|
30
|
+
|
|
31
|
+
EmptyLines:
|
|
32
|
+
enabled: true
|
|
33
|
+
|
|
34
|
+
FileLength:
|
|
35
|
+
enabled: false
|
|
36
|
+
max: 300
|
|
37
|
+
|
|
38
|
+
LineLength:
|
|
39
|
+
enabled: true
|
|
40
|
+
max: 80
|
|
41
|
+
|
|
42
|
+
RedundantDiv:
|
|
43
|
+
enabled: true
|
|
44
|
+
|
|
45
|
+
RuboCop:
|
|
46
|
+
enabled: true
|
|
47
|
+
# These cops are incredibly noisy since the Ruby we extract from Slim
|
|
48
|
+
# templates isn't well-formatted, so we ignore them.
|
|
49
|
+
# WARNING: If you define this list in your own .slim-lint.yml file, you'll
|
|
50
|
+
# be overriding the list defined here.
|
|
51
|
+
ignored_cops:
|
|
52
|
+
- Layout/ArgumentAlignment
|
|
53
|
+
- Layout/ArrayAlignment
|
|
54
|
+
- Layout/BlockAlignment
|
|
55
|
+
- Layout/ClosingParenthesisIndentation
|
|
56
|
+
- Layout/EmptyLineAfterGuardClause
|
|
57
|
+
- Layout/EndAlignment
|
|
58
|
+
- Layout/FirstArgumentIndentation
|
|
59
|
+
- Layout/FirstArrayElementIndentation
|
|
60
|
+
- Layout/FirstHashElementIndentation
|
|
61
|
+
- Layout/FirstParameterIndentation
|
|
62
|
+
- Layout/HashAlignment
|
|
63
|
+
- Layout/IndentationConsistency
|
|
64
|
+
- Layout/IndentationWidth
|
|
65
|
+
- Layout/InitialIndentation
|
|
66
|
+
- Layout/LineEndStringConcatenationIndentation
|
|
67
|
+
- Layout/LineLength
|
|
68
|
+
- Layout/MultilineArrayBraceLayout
|
|
69
|
+
- Layout/MultilineAssignmentLayout
|
|
70
|
+
- Layout/MultilineHashBraceLayout
|
|
71
|
+
- Layout/MultilineMethodCallBraceLayout
|
|
72
|
+
- Layout/MultilineMethodCallIndentation
|
|
73
|
+
- Layout/MultilineMethodDefinitionBraceLayout
|
|
74
|
+
- Layout/MultilineOperationIndentation
|
|
75
|
+
- Layout/ParameterAlignment
|
|
76
|
+
- Layout/TrailingEmptyLines
|
|
77
|
+
- Layout/TrailingWhitespace
|
|
78
|
+
- Lint/Void
|
|
79
|
+
- Metrics/BlockLength
|
|
80
|
+
- Metrics/BlockNesting
|
|
81
|
+
- Naming/FileName
|
|
82
|
+
- Style/FrozenStringLiteralComment
|
|
83
|
+
- Style/IdenticalConditionalBranches
|
|
84
|
+
- Style/IfUnlessModifier
|
|
85
|
+
- Style/Next
|
|
86
|
+
- Style/TrailingCommaInArguments
|
|
87
|
+
- Style/WhileUntilDo
|
|
88
|
+
- Style/WhileUntilModifier
|
|
89
|
+
|
|
90
|
+
Tab:
|
|
91
|
+
enabled: true
|
|
92
|
+
|
|
93
|
+
TagCase:
|
|
94
|
+
enabled: true
|
|
95
|
+
|
|
96
|
+
TrailingBlankLines:
|
|
97
|
+
enabled: true
|
|
98
|
+
|
|
99
|
+
TrailingWhitespace:
|
|
100
|
+
enabled: true
|
|
101
|
+
|
|
102
|
+
Zwsp:
|
|
103
|
+
enabled: false
|
data/.stylelintrc.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["stylelint-config-standard"],
|
|
3
|
+
"ignoreFiles": ["app/assets/builds/**/*.css", "node_modules/**/*.css", "vendor/**/*.css"],
|
|
4
|
+
"plugins": ["stylelint-order"],
|
|
5
|
+
"rules": {
|
|
6
|
+
"custom-property-pattern": "^[a-z0-9A-]+$",
|
|
7
|
+
"no-descending-specificity": null,
|
|
8
|
+
"order/properties-alphabetical-order": true,
|
|
9
|
+
"selector-class-pattern": "^[a-z0-9-]+$",
|
|
10
|
+
"selector-pseudo-class-no-unknown": null,
|
|
11
|
+
"selector-id-pattern": "^[a-z0-9-]+$"
|
|
12
|
+
}
|
|
13
|
+
}
|