trek 2.2.0 → 2.3.1
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/.slim-lint.yml +0 -3
- data/AGENTS.md +9 -2
- data/CHANGELOG.md +73 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +23 -3
- data/Makefile +11 -9
- data/README.md +1 -1
- data/app/assets/icons/trek/chevron-down.svg +1 -0
- data/app/assets/icons/trek/chevron-up.svg +1 -0
- data/app/assets/icons/trek/external.svg +1 -0
- data/app/assets/icons/trek/theme-auto.svg +1 -0
- data/app/assets/icons/trek/theme-dark.svg +1 -0
- data/app/assets/icons/trek/theme-light.svg +1 -0
- data/app/assets/stylesheets/trek/base.css +13 -0
- data/app/components/trek/button_component/button_component.css +9 -0
- data/app/components/trek/button_component.rb +13 -1
- data/app/components/trek/dashboard/tile_component/tile_component.html.slim +1 -1
- data/app/components/trek/dashboard/tile_component.rb +14 -0
- data/app/components/trek/dialog_component/dialog_component.html.slim +6 -2
- data/app/components/trek/dialog_component/dialog_component.js +62 -2
- data/app/components/trek/dropdown_component/dropdown_component.css +69 -0
- data/app/components/trek/dropdown_component/dropdown_component.html.slim +31 -0
- data/app/components/trek/dropdown_component/dropdown_component.js +114 -0
- data/app/components/trek/dropdown_component.rb +34 -0
- data/app/components/trek/form/group_component/group_component.css +34 -0
- data/app/components/trek/header_component/header_component.css +9 -4
- data/app/components/trek/header_component/header_component.html.slim +17 -10
- data/app/components/trek/header_component/header_component.js +29 -5
- data/app/components/trek/header_component.rb +24 -3
- data/app/components/trek/menu_component/menu_component.css +6 -0
- data/app/components/trek/menu_component.rb +29 -4
- data/app/components/trek/toaster/toast_component.rb +1 -1
- data/app/controllers/concerns/trek/authorization.rb +12 -0
- data/app/controllers/concerns/trek/filters.rb +18 -1
- data/app/helpers/trek/page_path_helper.rb +4 -3
- data/app/helpers/trek/theme_helper.rb +16 -1
- data/app/models/concerns/trek/phonable.rb +15 -3
- data/app/models/concerns/trek/sectionable.rb +5 -0
- data/app/models/concerns/trek/users/validations.rb +15 -6
- data/app/uploaders/audio_uploader.rb +11 -0
- data/app/uploaders/record_image_uploader.rb +3 -0
- data/config/locales/trek.en.yml +3 -2
- data/config/locales/trek.fr.yml +1 -0
- data/docs/.vitepress/config.mjs +20 -1
- data/docs/.vitepress/theme/style.css +36 -8
- data/docs/changelog.md +9 -0
- data/docs/customize.md +18 -2
- data/docs/deploy.md +7 -2
- data/docs/getting-started.md +1 -1
- data/docs/index.md +8 -8
- data/docs/public/apple-touch-icon.png +0 -0
- data/docs/public/favicon.ico +0 -0
- data/docs/public/favicon.png +0 -0
- data/docs/public/trek-mark.webp +0 -0
- data/docs/reference/components.md +15 -0
- data/docs/reference/concerns/phonable.md +27 -1
- data/docs/reference/controllers.md +8 -3
- data/docs/reference/environment-variables.md +2 -0
- data/docs/reference/forms.md +2 -0
- data/docs/reference/generators/install.md +4 -1
- data/docs/reference/icons.md +1 -1
- data/docs/reference/models/tag.md +1 -1
- data/docs/reference/models/user.md +6 -4
- data/docs/reference/uploaders.md +31 -6
- data/docs/what-is-trek.md +1 -1
- data/lib/generators/trek/install/admin/routes_generator.rb +7 -1
- data/lib/generators/trek/install/appsignal_generator.rb +102 -0
- data/lib/generators/trek/install/model_specs_generator.rb +64 -0
- data/lib/generators/trek/install/postmark_generator.rb +3 -0
- data/lib/generators/trek/install/ruby_generator.rb +1 -1
- data/lib/generators/trek/install/scalingo_generator.rb +1 -1
- data/lib/generators/trek/install/uploaders_generator.rb +2 -0
- data/lib/generators/trek/install_generator.rb +5 -0
- data/lib/generators/trek/taxonomies_generator.rb +7 -0
- data/lib/generators/trek/templates/.gitlab-ci.yml +1 -1
- data/lib/generators/trek/templates/config/appsignal.rb.tt +25 -0
- data/lib/generators/trek/templates/controllers/admin/uploads_controller.rb +4 -0
- data/lib/generators/trek/templates/controllers/admin/user_password_resets_controller.rb +7 -0
- data/lib/generators/trek/templates/controllers/admin/users_controller.rb +4 -1
- data/lib/generators/trek/templates/controllers/concerns/appsignal_context.rb +37 -0
- data/lib/generators/trek/templates/db/seeds/setup/fragments.rb +3 -0
- data/lib/generators/trek/templates/db/seeds/setup/users.rb +6 -0
- data/lib/generators/trek/templates/db/seeds/test/cases/page_tree.rb +5 -0
- data/lib/generators/trek/templates/initializers/appsignal_context.rb +5 -0
- data/lib/generators/trek/templates/locales/scaffold/model.en.yml.tt +1 -1
- data/lib/generators/trek/templates/migrations/fragments.rb.erb +1 -1
- data/lib/generators/trek/templates/migrations/menu_nodes.rb.erb +0 -1
- data/lib/generators/trek/templates/migrations/tag_categories.rb.erb +1 -1
- data/lib/generators/trek/templates/migrations/taggings.rb.erb +1 -1
- data/lib/generators/trek/templates/migrations/users.rb.erb +2 -1
- data/lib/generators/trek/templates/models/tag.rb +6 -1
- data/lib/generators/trek/templates/policies/admin/tag_policy.rb +1 -1
- data/lib/generators/trek/templates/policies/external_link_policy.rb +1 -1
- data/lib/generators/trek/templates/spec/fixtures/files/image.png +0 -0
- data/lib/generators/trek/templates/spec/fixtures/files/sound.mp3 +0 -0
- data/lib/generators/trek/templates/spec/models/page_spec.rb +24 -0
- data/lib/generators/trek/templates/spec/models/user_spec.rb +109 -0
- data/lib/generators/trek/templates/spec/policies/admin/external_link_policy_spec.rb +17 -0
- data/lib/generators/trek/templates/spec/policies/admin/fragment_policy_spec.rb +33 -0
- data/lib/generators/trek/templates/spec/policies/admin/page_policy_spec.rb +39 -0
- data/lib/generators/trek/templates/spec/policies/admin/preview_policy_spec.rb +9 -0
- data/lib/generators/trek/templates/spec/policies/admin/tag_category_policy_spec.rb +31 -0
- data/lib/generators/trek/templates/spec/policies/admin/tag_policy_spec.rb +31 -0
- data/lib/generators/trek/templates/spec/policies/admin/user_policy_spec.rb +58 -0
- data/lib/generators/trek/templates/spec/requests/admin/fragments_spec.rb +50 -0
- data/lib/generators/trek/templates/spec/requests/admin/pages_spec.rb +47 -0
- data/lib/generators/trek/templates/spec/requests/admin/uploads_spec.rb +22 -0
- data/lib/generators/trek/templates/spec/requests/admin/user_password_resets_spec.rb +78 -0
- data/lib/generators/trek/templates/spec/requests/admin/user_sessions_spec.rb +51 -0
- data/lib/generators/trek/templates/spec/requests/admin/users_spec.rb +99 -0
- data/lib/generators/trek/templates/views/admin/user_password_resets/edit.html.slim +1 -1
- data/lib/generators/trek/templates/views/admin/user_password_resets/new.html.slim +1 -1
- data/lib/generators/trek/templates/views/admin/user_sessions/new.html.slim +2 -2
- data/lib/generators/trek/templates/views/admin/users/theme.turbo_stream.slim +2 -0
- data/lib/generators/trek/upgrade/v2_generator.rb +3 -0
- data/lib/tasks/trek/attachments.rake +18 -0
- data/lib/trek/cached_attachments.rb +53 -0
- data/lib/trek/saved_attachments_reload.rb +44 -0
- data/lib/trek/version.rb +1 -1
- data/lib/trek.rb +4 -0
- data/package.json +1 -1
- data/postcss.config.js +36 -0
- data/trek.gemspec +6 -0
- metadata +89 -3
- data/app/assets/icons/trek/theme.svg +0 -11
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Trek
|
|
4
|
+
# Shrine plugin keeping, across a reload, the attachers whose file was saved with the record.
|
|
5
|
+
#
|
|
6
|
+
# Shrine's `activerecord` plugin resets every attacher when the record is reloaded, which is
|
|
7
|
+
# right for an explicit reload but loses a pending attachment when something reloads the record
|
|
8
|
+
# *during* the save: closure_tree does exactly that in its `after_save` callback when it
|
|
9
|
+
# reorders siblings (on create, or when the parent changes) on a numerically ordered tree.
|
|
10
|
+
# The attacher is then no longer `changed?` when Shrine's `after_commit` runs, so the file is
|
|
11
|
+
# never promoted from the temporary `cache` storage to `store` and breaks once the cache is
|
|
12
|
+
# cleaned up.
|
|
13
|
+
#
|
|
14
|
+
# An attachment that was *not* saved is still discarded, as on any reload.
|
|
15
|
+
module SavedAttachmentsReload
|
|
16
|
+
module ReloadGuard
|
|
17
|
+
def reload(...)
|
|
18
|
+
saved_attachers = instance_variables.filter_map do |ivar|
|
|
19
|
+
attacher = instance_variable_get(ivar)
|
|
20
|
+
[ivar, attacher.dup] if attacher.is_a?(::Shrine::Attacher) && attacher.changed?
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
super.tap do
|
|
24
|
+
saved_attachers.each do |ivar, attacher|
|
|
25
|
+
# Only the attacher whose file is the one now in the column: anything else was
|
|
26
|
+
# assigned but not saved, and a reload drops it.
|
|
27
|
+
instance_variable_set(ivar, attacher) if attacher.file == instance_variable_get(ivar).file
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
module AttachmentMethods
|
|
34
|
+
def included(model)
|
|
35
|
+
super
|
|
36
|
+
|
|
37
|
+
# Prepended rather than included: Shrine's own `reload` is defined on this attachment
|
|
38
|
+
# module, which the model includes — a prepended module wraps it whatever the order the
|
|
39
|
+
# model includes its concerns in.
|
|
40
|
+
model.prepend(ReloadGuard)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
data/lib/trek/version.rb
CHANGED
data/lib/trek.rb
CHANGED
|
@@ -6,6 +6,7 @@ require "blurhash"
|
|
|
6
6
|
require "closure_tree"
|
|
7
7
|
require "deepl"
|
|
8
8
|
require "dry-initializer"
|
|
9
|
+
require "email_validator"
|
|
9
10
|
require "fastimage"
|
|
10
11
|
require "http_accept_language"
|
|
11
12
|
require "image_processing"
|
|
@@ -19,12 +20,15 @@ require "shrine"
|
|
|
19
20
|
require "shrine/plugins/blurhash"
|
|
20
21
|
require "slim-rails"
|
|
21
22
|
require "strip_attributes"
|
|
23
|
+
require "turbo-rails"
|
|
22
24
|
require "view_component"
|
|
23
25
|
require "view_component/form"
|
|
24
26
|
|
|
25
27
|
module Trek
|
|
28
|
+
require_relative "trek/cached_attachments"
|
|
26
29
|
require_relative "trek/engine"
|
|
27
30
|
require_relative "trek/i18n_keys_resolver"
|
|
31
|
+
require_relative "trek/saved_attachments_reload"
|
|
28
32
|
require_relative "trek/typography_formatter"
|
|
29
33
|
require_relative "trek/version"
|
|
30
34
|
|
data/package.json
CHANGED
data/postcss.config.js
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
|
+
// Radix Colors only ship light (`:root, .light-theme`) and dark (`.dark-theme`)
|
|
2
|
+
// variables, with no way to follow the system preference
|
|
3
|
+
// (https://github.com/radix-ui/colors/issues/26). Copy every rule targeting
|
|
4
|
+
// `.dark-theme` into a `prefers-color-scheme: dark` media query, with
|
|
5
|
+
// `.auto-theme` in place of `.dark-theme`. The media query is appended last so
|
|
6
|
+
// it wins over the light defaults, and each rule keeps its enclosing at-rules
|
|
7
|
+
// (e.g. the Display P3 `@supports`/`@media` blocks).
|
|
8
|
+
const DARK_THEME = /\.dark-theme(?![\w-])/;
|
|
9
|
+
const autoDarkTheme = {
|
|
10
|
+
postcssPlugin: "auto-dark-theme",
|
|
11
|
+
OnceExit(root, { AtRule }) {
|
|
12
|
+
const media = new AtRule({
|
|
13
|
+
name: "media",
|
|
14
|
+
params: "(prefers-color-scheme: dark)",
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
root.walkRules((rule) => {
|
|
18
|
+
const selectors = rule.selectors
|
|
19
|
+
.filter((selector) => DARK_THEME.test(selector))
|
|
20
|
+
.map((selector) => selector.replace(DARK_THEME, ".auto-theme"));
|
|
21
|
+
if (!selectors.length) return;
|
|
22
|
+
|
|
23
|
+
let node = rule.clone({ selectors });
|
|
24
|
+
let parent = rule.parent;
|
|
25
|
+
while (parent.type === "atrule") {
|
|
26
|
+
node = parent.clone({ nodes: [] }).append(node);
|
|
27
|
+
parent = parent.parent;
|
|
28
|
+
}
|
|
29
|
+
media.append(node);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
if (media.nodes?.length) root.append(media);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
1
36
|
module.exports = {
|
|
2
37
|
plugins: [
|
|
3
38
|
require("postcss-import"),
|
|
39
|
+
autoDarkTheme,
|
|
4
40
|
// call the `postcss-modules` plugin ourselves
|
|
5
41
|
require("postcss-modules")({
|
|
6
42
|
generateScopedName: (name, filename, _css) => {
|
data/trek.gemspec
CHANGED
|
@@ -35,10 +35,15 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
spec.add_dependency "closure_tree", "~> 9.0"
|
|
36
36
|
spec.add_dependency "deepl-rb", "~> 3.0"
|
|
37
37
|
spec.add_dependency "dry-initializer", "~> 3.1"
|
|
38
|
+
spec.add_dependency "email_validator", "~> 2.2"
|
|
38
39
|
spec.add_dependency "fastimage", "~> 2.2"
|
|
39
40
|
spec.add_dependency "http_accept_language", "~> 2.1"
|
|
40
41
|
spec.add_dependency "i18n-tasks", "~> 1.0"
|
|
41
42
|
spec.add_dependency "image_processing", "~> 1.8"
|
|
43
|
+
# json 3's `JSON.parse` takes keyword options only, but ActiveSupport (up to 8.1.3.1) passes them
|
|
44
|
+
# positionally, which breaks `db/schema.rb` for jsonb columns with a default. Lift once Rails
|
|
45
|
+
# supports json 3 (spec/dummy/generated_files_spec.rb checks the schema dump).
|
|
46
|
+
spec.add_dependency "json", "< 3"
|
|
42
47
|
spec.add_dependency "kaminari"
|
|
43
48
|
spec.add_dependency "listen"
|
|
44
49
|
spec.add_dependency "lookbook", ">= 2.3.13"
|
|
@@ -53,6 +58,7 @@ Gem::Specification.new do |spec|
|
|
|
53
58
|
spec.add_dependency "shrine-blurhash", "~> 0.2"
|
|
54
59
|
spec.add_dependency "slim-rails", "~> 4.0"
|
|
55
60
|
spec.add_dependency "strip_attributes", "~> 2.0"
|
|
61
|
+
spec.add_dependency "turbo-rails", ">= 1.0"
|
|
56
62
|
spec.add_dependency "view_component", "< 5.0"
|
|
57
63
|
spec.add_dependency "view_component-form", "~> 0.3"
|
|
58
64
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trek
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mohamed Bengrich
|
|
@@ -124,6 +124,20 @@ dependencies:
|
|
|
124
124
|
- - "~>"
|
|
125
125
|
- !ruby/object:Gem::Version
|
|
126
126
|
version: '3.1'
|
|
127
|
+
- !ruby/object:Gem::Dependency
|
|
128
|
+
name: email_validator
|
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
|
130
|
+
requirements:
|
|
131
|
+
- - "~>"
|
|
132
|
+
- !ruby/object:Gem::Version
|
|
133
|
+
version: '2.2'
|
|
134
|
+
type: :runtime
|
|
135
|
+
prerelease: false
|
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
+
requirements:
|
|
138
|
+
- - "~>"
|
|
139
|
+
- !ruby/object:Gem::Version
|
|
140
|
+
version: '2.2'
|
|
127
141
|
- !ruby/object:Gem::Dependency
|
|
128
142
|
name: fastimage
|
|
129
143
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -180,6 +194,20 @@ dependencies:
|
|
|
180
194
|
- - "~>"
|
|
181
195
|
- !ruby/object:Gem::Version
|
|
182
196
|
version: '1.8'
|
|
197
|
+
- !ruby/object:Gem::Dependency
|
|
198
|
+
name: json
|
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
|
200
|
+
requirements:
|
|
201
|
+
- - "<"
|
|
202
|
+
- !ruby/object:Gem::Version
|
|
203
|
+
version: '3'
|
|
204
|
+
type: :runtime
|
|
205
|
+
prerelease: false
|
|
206
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
207
|
+
requirements:
|
|
208
|
+
- - "<"
|
|
209
|
+
- !ruby/object:Gem::Version
|
|
210
|
+
version: '3'
|
|
183
211
|
- !ruby/object:Gem::Dependency
|
|
184
212
|
name: kaminari
|
|
185
213
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -382,6 +410,20 @@ dependencies:
|
|
|
382
410
|
- - "~>"
|
|
383
411
|
- !ruby/object:Gem::Version
|
|
384
412
|
version: '2.0'
|
|
413
|
+
- !ruby/object:Gem::Dependency
|
|
414
|
+
name: turbo-rails
|
|
415
|
+
requirement: !ruby/object:Gem::Requirement
|
|
416
|
+
requirements:
|
|
417
|
+
- - ">="
|
|
418
|
+
- !ruby/object:Gem::Version
|
|
419
|
+
version: '1.0'
|
|
420
|
+
type: :runtime
|
|
421
|
+
prerelease: false
|
|
422
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
423
|
+
requirements:
|
|
424
|
+
- - ">="
|
|
425
|
+
- !ruby/object:Gem::Version
|
|
426
|
+
version: '1.0'
|
|
385
427
|
- !ruby/object:Gem::Dependency
|
|
386
428
|
name: view_component
|
|
387
429
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -459,13 +501,16 @@ files:
|
|
|
459
501
|
- app/assets/icons/trek/check.svg
|
|
460
502
|
- app/assets/icons/trek/chevron-double-left.svg
|
|
461
503
|
- app/assets/icons/trek/chevron-double-right.svg
|
|
504
|
+
- app/assets/icons/trek/chevron-down.svg
|
|
462
505
|
- app/assets/icons/trek/chevron-left.svg
|
|
463
506
|
- app/assets/icons/trek/chevron-right.svg
|
|
507
|
+
- app/assets/icons/trek/chevron-up.svg
|
|
464
508
|
- app/assets/icons/trek/close.svg
|
|
465
509
|
- app/assets/icons/trek/cursor.svg
|
|
466
510
|
- app/assets/icons/trek/danger.svg
|
|
467
511
|
- app/assets/icons/trek/download.svg
|
|
468
512
|
- app/assets/icons/trek/eraser.svg
|
|
513
|
+
- app/assets/icons/trek/external.svg
|
|
469
514
|
- app/assets/icons/trek/eye.svg
|
|
470
515
|
- app/assets/icons/trek/grid.svg
|
|
471
516
|
- app/assets/icons/trek/hr.svg
|
|
@@ -487,7 +532,9 @@ files:
|
|
|
487
532
|
- app/assets/icons/trek/reorder.svg
|
|
488
533
|
- app/assets/icons/trek/return.svg
|
|
489
534
|
- app/assets/icons/trek/search.svg
|
|
490
|
-
- app/assets/icons/trek/theme.svg
|
|
535
|
+
- app/assets/icons/trek/theme-auto.svg
|
|
536
|
+
- app/assets/icons/trek/theme-dark.svg
|
|
537
|
+
- app/assets/icons/trek/theme-light.svg
|
|
491
538
|
- app/assets/icons/trek/undo.svg
|
|
492
539
|
- app/assets/images/trek/favicon.png
|
|
493
540
|
- app/assets/images/trek/favicon.svg
|
|
@@ -528,6 +575,10 @@ files:
|
|
|
528
575
|
- app/components/trek/dialog_component/dialog_component.css
|
|
529
576
|
- app/components/trek/dialog_component/dialog_component.html.slim
|
|
530
577
|
- app/components/trek/dialog_component/dialog_component.js
|
|
578
|
+
- app/components/trek/dropdown_component.rb
|
|
579
|
+
- app/components/trek/dropdown_component/dropdown_component.css
|
|
580
|
+
- app/components/trek/dropdown_component/dropdown_component.html.slim
|
|
581
|
+
- app/components/trek/dropdown_component/dropdown_component.js
|
|
531
582
|
- app/components/trek/entries/item_component.rb
|
|
532
583
|
- app/components/trek/entries/item_component/item_component.css
|
|
533
584
|
- app/components/trek/entries/item_component/item_component.html.slim
|
|
@@ -715,6 +766,7 @@ files:
|
|
|
715
766
|
- app/policies/trek/preview_policy.rb
|
|
716
767
|
- app/policies/trek/resource_policy.rb
|
|
717
768
|
- app/policies/trek/user_policy.rb
|
|
769
|
+
- app/uploaders/audio_uploader.rb
|
|
718
770
|
- app/uploaders/image_uploader.rb
|
|
719
771
|
- app/uploaders/model_image_uploader.rb
|
|
720
772
|
- app/uploaders/record_image_uploader.rb
|
|
@@ -743,11 +795,16 @@ files:
|
|
|
743
795
|
- docs/.vitepress/config.mjs
|
|
744
796
|
- docs/.vitepress/theme/index.js
|
|
745
797
|
- docs/.vitepress/theme/style.css
|
|
798
|
+
- docs/changelog.md
|
|
746
799
|
- docs/customize.md
|
|
747
800
|
- docs/deploy.md
|
|
748
801
|
- docs/getting-started.md
|
|
749
802
|
- docs/index.md
|
|
803
|
+
- docs/public/apple-touch-icon.png
|
|
804
|
+
- docs/public/favicon.ico
|
|
805
|
+
- docs/public/favicon.png
|
|
750
806
|
- docs/public/logo.svg
|
|
807
|
+
- docs/public/trek-mark.webp
|
|
751
808
|
- docs/reference/components.md
|
|
752
809
|
- docs/reference/concerns/contentable.md
|
|
753
810
|
- docs/reference/concerns/formattable.md
|
|
@@ -800,6 +857,7 @@ files:
|
|
|
800
857
|
- lib/generators/trek/install/admin_generator.rb
|
|
801
858
|
- lib/generators/trek/install/agents_generator.rb
|
|
802
859
|
- lib/generators/trek/install/application_generator.rb
|
|
860
|
+
- lib/generators/trek/install/appsignal_generator.rb
|
|
803
861
|
- lib/generators/trek/install/assets_generator.rb
|
|
804
862
|
- lib/generators/trek/install/attachments_generator.rb
|
|
805
863
|
- lib/generators/trek/install/authentication_generator.rb
|
|
@@ -823,6 +881,7 @@ files:
|
|
|
823
881
|
- lib/generators/trek/install/mailer_generator.rb
|
|
824
882
|
- lib/generators/trek/install/makefile_generator.rb
|
|
825
883
|
- lib/generators/trek/install/menu_node_generator.rb
|
|
884
|
+
- lib/generators/trek/install/model_specs_generator.rb
|
|
826
885
|
- lib/generators/trek/install/package_json_generator.rb
|
|
827
886
|
- lib/generators/trek/install/page_generator.rb
|
|
828
887
|
- lib/generators/trek/install/postcss_generator.rb
|
|
@@ -850,6 +909,7 @@ files:
|
|
|
850
909
|
- lib/generators/trek/templates/Makefile
|
|
851
910
|
- lib/generators/trek/templates/README.md
|
|
852
911
|
- lib/generators/trek/templates/components/index.js
|
|
912
|
+
- lib/generators/trek/templates/config/appsignal.rb.tt
|
|
853
913
|
- lib/generators/trek/templates/config/i18n-tasks.yml.erb
|
|
854
914
|
- lib/generators/trek/templates/controllers/admin/base_controller.rb
|
|
855
915
|
- lib/generators/trek/templates/controllers/admin/dashboards_controller.rb
|
|
@@ -861,9 +921,14 @@ files:
|
|
|
861
921
|
- lib/generators/trek/templates/controllers/admin/user_password_resets_controller.rb
|
|
862
922
|
- lib/generators/trek/templates/controllers/admin/user_sessions_controller.rb
|
|
863
923
|
- lib/generators/trek/templates/controllers/admin/users_controller.rb
|
|
924
|
+
- lib/generators/trek/templates/controllers/concerns/appsignal_context.rb
|
|
864
925
|
- lib/generators/trek/templates/controllers/concerns/trek/authentication.rb
|
|
926
|
+
- lib/generators/trek/templates/db/seeds/setup/fragments.rb
|
|
927
|
+
- lib/generators/trek/templates/db/seeds/setup/users.rb
|
|
928
|
+
- lib/generators/trek/templates/db/seeds/test/cases/page_tree.rb
|
|
865
929
|
- lib/generators/trek/templates/helpers/application_helper.rb
|
|
866
930
|
- lib/generators/trek/templates/helpers/external_link_path_helper.rb
|
|
931
|
+
- lib/generators/trek/templates/initializers/appsignal_context.rb
|
|
867
932
|
- lib/generators/trek/templates/initializers/healthcheck.rb
|
|
868
933
|
- lib/generators/trek/templates/initializers/shrine.rb
|
|
869
934
|
- lib/generators/trek/templates/javascript/application.js
|
|
@@ -911,7 +976,24 @@ files:
|
|
|
911
976
|
- lib/generators/trek/templates/policies/page.rb
|
|
912
977
|
- lib/generators/trek/templates/policies/preview.rb
|
|
913
978
|
- lib/generators/trek/templates/policies/user.rb
|
|
979
|
+
- lib/generators/trek/templates/spec/fixtures/files/image.png
|
|
980
|
+
- lib/generators/trek/templates/spec/fixtures/files/sound.mp3
|
|
981
|
+
- lib/generators/trek/templates/spec/models/page_spec.rb
|
|
982
|
+
- lib/generators/trek/templates/spec/models/user_spec.rb
|
|
983
|
+
- lib/generators/trek/templates/spec/policies/admin/external_link_policy_spec.rb
|
|
984
|
+
- lib/generators/trek/templates/spec/policies/admin/fragment_policy_spec.rb
|
|
985
|
+
- lib/generators/trek/templates/spec/policies/admin/page_policy_spec.rb
|
|
986
|
+
- lib/generators/trek/templates/spec/policies/admin/preview_policy_spec.rb
|
|
987
|
+
- lib/generators/trek/templates/spec/policies/admin/tag_category_policy_spec.rb
|
|
988
|
+
- lib/generators/trek/templates/spec/policies/admin/tag_policy_spec.rb
|
|
989
|
+
- lib/generators/trek/templates/spec/policies/admin/user_policy_spec.rb
|
|
990
|
+
- lib/generators/trek/templates/spec/requests/admin/fragments_spec.rb
|
|
914
991
|
- lib/generators/trek/templates/spec/requests/admin/n_plus_one_spec.rb
|
|
992
|
+
- lib/generators/trek/templates/spec/requests/admin/pages_spec.rb
|
|
993
|
+
- lib/generators/trek/templates/spec/requests/admin/uploads_spec.rb
|
|
994
|
+
- lib/generators/trek/templates/spec/requests/admin/user_password_resets_spec.rb
|
|
995
|
+
- lib/generators/trek/templates/spec/requests/admin/user_sessions_spec.rb
|
|
996
|
+
- lib/generators/trek/templates/spec/requests/admin/users_spec.rb
|
|
915
997
|
- lib/generators/trek/templates/views/admin/dashboards/index.html.slim
|
|
916
998
|
- lib/generators/trek/templates/views/admin/fragments/_form.html.slim
|
|
917
999
|
- lib/generators/trek/templates/views/admin/fragments/_fragment.json.jb
|
|
@@ -944,14 +1026,18 @@ files:
|
|
|
944
1026
|
- lib/generators/trek/templates/views/admin/users/index.html.slim
|
|
945
1027
|
- lib/generators/trek/templates/views/admin/users/new.html.slim
|
|
946
1028
|
- lib/generators/trek/templates/views/admin/users/show.html.slim
|
|
1029
|
+
- lib/generators/trek/templates/views/admin/users/theme.turbo_stream.slim
|
|
947
1030
|
- lib/generators/trek/templates/views/admin_mailer/invite.en.html.slim
|
|
948
1031
|
- lib/generators/trek/templates/views/admin_mailer/invite.en.text.erb
|
|
949
1032
|
- lib/generators/trek/templates/views/admin_mailer/invite.fr.html.slim
|
|
950
1033
|
- lib/generators/trek/templates/views/admin_mailer/invite.fr.text.erb
|
|
951
1034
|
- lib/generators/trek/upgrade/v2_generator.rb
|
|
1035
|
+
- lib/tasks/trek/attachments.rake
|
|
952
1036
|
- lib/trek.rb
|
|
1037
|
+
- lib/trek/cached_attachments.rb
|
|
953
1038
|
- lib/trek/engine.rb
|
|
954
1039
|
- lib/trek/i18n_keys_resolver.rb
|
|
1040
|
+
- lib/trek/saved_attachments_reload.rb
|
|
955
1041
|
- lib/trek/typography_formatter.rb
|
|
956
1042
|
- lib/trek/version.rb
|
|
957
1043
|
- netlify.toml
|
|
@@ -981,7 +1067,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
981
1067
|
- !ruby/object:Gem::Version
|
|
982
1068
|
version: '0'
|
|
983
1069
|
requirements: []
|
|
984
|
-
rubygems_version: 4.0.
|
|
1070
|
+
rubygems_version: 4.0.20
|
|
985
1071
|
specification_version: 4
|
|
986
1072
|
summary: A modern content management & back-office system for Ruby on Rails
|
|
987
1073
|
test_files: []
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
|
2
|
-
<path d="M8,4.8A3.2,3.2,0,1,1,4.8,8,3.2,3.2,0,0,1,8,4.8ZM8,9.6A1.6,1.6,0,1,0,6.4,8,1.6,1.6,0,0,0,8,9.6Z"/>
|
|
3
|
-
<path d="M8,3.2a.8.8,0,0,1-.8-.8V.8A.8.8,0,0,1,8.8.8V2.4A.8.8,0,0,1,8,3.2Z"/>
|
|
4
|
-
<path d="M4.04,4.84a.8.8,0,0,1-.566-.234L2.343,3.474A.8.8,0,0,1,3.474,2.343L4.606,3.474A.8.8,0,0,1,4.04,4.84Z"/>
|
|
5
|
-
<path d="M2.4,8.8H.8a.8.8,0,0,1,0-1.6H2.4a.8.8,0,0,1,0,1.6Z"/>
|
|
6
|
-
<path d="M2.909,13.891a.8.8,0,0,1-.566-1.366l1.131-1.131a.8.8,0,0,1,1.131,1.131L3.474,13.657A.8.8,0,0,1,2.909,13.891Z"/>
|
|
7
|
-
<path d="M8,16a.8.8,0,0,1-.8-.8V13.6a.8.8,0,0,1,1.6,0v1.6A.8.8,0,0,1,8,16Z"/>
|
|
8
|
-
<path d="M13.091,13.891a.8.8,0,0,1-.566-.234l-1.131-1.131a.8.8,0,1,1,1.131-1.131l1.131,1.131a.8.8,0,0,1-.566,1.366Z"/>
|
|
9
|
-
<path d="M15.2,8.8H13.6a.8.8,0,1,1,0-1.6h1.6a.8.8,0,0,1,0,1.6Z"/>
|
|
10
|
-
<path d="M11.96,4.84a.8.8,0,0,1-.566-1.366l1.131-1.131a.8.8,0,0,1,1.131,1.131L12.526,4.606A.8.8,0,0,1,11.96,4.84Z"/>
|
|
11
|
-
</svg>
|