iron-cms 0.17.2 → 0.18.0
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/README.md +88 -4
- data/app/assets/builds/iron.css +255 -106
- data/app/assets/tailwind/iron/application.css +1 -0
- data/app/assets/tailwind/iron/components/file-upload.css +26 -0
- data/app/assets/tailwind/iron/lexxy.css +111 -87
- data/app/controllers/concerns/iron/schema_editing.rb +19 -0
- data/app/controllers/iron/api/schema/base_controller.rb +25 -0
- data/app/controllers/iron/api/schema/block_definitions_controller.rb +49 -0
- data/app/controllers/iron/api/schema/content_types_controller.rb +64 -0
- data/app/controllers/iron/api/schema/field_definitions_controller.rb +88 -0
- data/app/controllers/iron/api/schema/locales_controller.rb +52 -0
- data/app/controllers/iron/application_controller.rb +1 -1
- data/app/controllers/iron/block_definitions_controller.rb +1 -0
- data/app/controllers/iron/content_types_controller.rb +1 -0
- data/app/controllers/iron/field_definitions_controller.rb +2 -1
- data/app/controllers/iron/first_runs_controller.rb +1 -1
- data/app/controllers/iron/locales_controller.rb +1 -0
- data/app/controllers/iron/sessions_controller.rb +1 -1
- data/app/helpers/iron/avatar_helper.rb +24 -2
- data/app/javascript/iron/controllers/file_upload_controller.js +38 -7
- data/app/models/iron/account.rb +1 -1
- data/app/models/iron/api/openapi_spec.rb +37 -15
- data/app/models/iron/block_definition/exportable.rb +1 -1
- data/app/models/iron/block_definition.rb +3 -1
- data/app/models/iron/content.rb +176 -0
- data/app/models/iron/content_type/exportable.rb +3 -1
- data/app/models/iron/content_type/importable.rb +1 -1
- data/app/models/iron/content_type.rb +6 -1
- data/app/models/iron/entry/content_assignable.rb +10 -2
- data/app/models/iron/exporter.rb +1 -26
- data/app/models/iron/field/length_constrained.rb +17 -0
- data/app/models/iron/field/validatable.rb +16 -0
- data/app/models/iron/field.rb +1 -1
- data/app/models/iron/field_definition/exportable.rb +3 -4
- data/app/models/iron/field_definition/importable.rb +16 -9
- data/app/models/iron/field_definition/ranked.rb +1 -1
- data/app/models/iron/field_definition/searchable.rb +2 -0
- data/app/models/iron/field_definition/validatable.rb +40 -0
- data/app/models/iron/field_definition/validations.rb +175 -0
- data/app/models/iron/field_definition.rb +1 -1
- data/app/models/iron/field_definitions/date.rb +2 -0
- data/app/models/iron/field_definitions/file.rb +3 -11
- data/app/models/iron/field_definitions/number.rb +2 -0
- data/app/models/iron/field_definitions/reference.rb +2 -0
- data/app/models/iron/field_definitions/rich_text_area.rb +1 -0
- data/app/models/iron/field_definitions/text_area.rb +2 -0
- data/app/models/iron/field_definitions/text_field.rb +1 -9
- data/app/models/iron/fields/block.rb +5 -1
- data/app/models/iron/fields/block_list.rb +5 -1
- data/app/models/iron/fields/date.rb +19 -2
- data/app/models/iron/fields/file.rb +5 -3
- data/app/models/iron/fields/number.rb +28 -1
- data/app/models/iron/fields/reference.rb +2 -0
- data/app/models/iron/fields/rich_text_area.rb +2 -0
- data/app/models/iron/fields/text_area.rb +4 -0
- data/app/models/iron/fields/text_field.rb +9 -5
- data/app/models/iron/importer.rb +1 -54
- data/app/models/iron/locale.rb +2 -0
- data/app/models/iron/schema/auto_dumpable.rb +26 -0
- data/app/models/iron/schema/diff.rb +194 -0
- data/app/models/iron/schema/validation.rb +214 -0
- data/app/models/iron/schema.rb +282 -0
- data/app/models/iron/seed.rb +5 -3
- data/app/models/iron/system.rb +7 -0
- data/app/models/iron/user/deactivatable.rb +5 -0
- data/app/models/iron/user.rb +18 -1
- data/app/views/iron/api/fields/_rich_text_area.json.jbuilder +2 -2
- data/app/views/iron/api/schema/block_definitions/_block_definition.json.jbuilder +4 -0
- data/app/views/iron/api/schema/block_definitions/index.json.jbuilder +1 -0
- data/app/views/iron/api/schema/block_definitions/show.json.jbuilder +1 -0
- data/app/views/iron/api/schema/content_types/_content_type.json.jbuilder +5 -0
- data/app/views/iron/api/schema/content_types/index.json.jbuilder +1 -0
- data/app/views/iron/api/schema/content_types/show.json.jbuilder +1 -0
- data/app/views/iron/api/schema/field_definitions/_field_definition.json.jbuilder +7 -0
- data/app/views/iron/api/schema/field_definitions/show.json.jbuilder +1 -0
- data/app/views/iron/api/schema/locales/_locale.json.jbuilder +4 -0
- data/app/views/iron/api/schema/locales/index.json.jbuilder +1 -0
- data/app/views/iron/api/schema/locales/show.json.jbuilder +1 -0
- data/app/views/iron/block_definitions/_empty_state.html.erb +5 -3
- data/app/views/iron/block_definitions/_form.html.erb +3 -1
- data/app/views/iron/block_definitions/edit.html.erb +19 -17
- data/app/views/iron/block_definitions/index.html.erb +7 -3
- data/app/views/iron/block_definitions/show.html.erb +14 -8
- data/app/views/iron/content_types/_content_type.html.erb +1 -1
- data/app/views/iron/content_types/_empty_state.html.erb +5 -3
- data/app/views/iron/content_types/_form.html.erb +12 -8
- data/app/views/iron/content_types/edit.html.erb +19 -17
- data/app/views/iron/content_types/index.html.erb +7 -3
- data/app/views/iron/content_types/show.html.erb +14 -8
- data/app/views/iron/entries/_empty_state.html.erb +1 -1
- data/app/views/iron/entries/edit.html.erb +1 -1
- data/app/views/iron/entries/entry.html.erb +1 -1
- data/app/views/iron/entries/fields/_block.html.erb +4 -0
- data/app/views/iron/entries/fields/_block_list.html.erb +2 -0
- data/app/views/iron/entries/fields/_boolean.html.erb +1 -0
- data/app/views/iron/entries/fields/_date.html.erb +3 -2
- data/app/views/iron/entries/fields/_field_errors.html.erb +7 -0
- data/app/views/iron/entries/fields/_field_label.html.erb +8 -0
- data/app/views/iron/entries/fields/_file.html.erb +11 -19
- data/app/views/iron/entries/fields/_number.html.erb +6 -2
- data/app/views/iron/entries/fields/_reference.html.erb +2 -1
- data/app/views/iron/entries/fields/_reference_list.html.erb +2 -0
- data/app/views/iron/entries/fields/_rich_text_area.html.erb +2 -1
- data/app/views/iron/entries/fields/_text_area.html.erb +6 -2
- data/app/views/iron/entries/fields/_text_field.html.erb +5 -12
- data/app/views/iron/field_definitions/_field_definition.html.erb +51 -29
- data/app/views/iron/field_definitions/date/_form.html.erb +5 -1
- data/app/views/iron/field_definitions/edit.html.erb +10 -8
- data/app/views/iron/field_definitions/file/_form.html.erb +6 -0
- data/app/views/iron/field_definitions/new.html.erb +5 -3
- data/app/views/iron/field_definitions/number/_form.html.erb +23 -1
- data/app/views/iron/field_definitions/reference/_form.html.erb +5 -0
- data/app/views/iron/field_definitions/rich_text_area/_form.html.erb +5 -0
- data/app/views/iron/field_definitions/text_area/_form.html.erb +23 -0
- data/app/views/iron/field_definitions/text_field/_form.html.erb +20 -1
- data/app/views/iron/home/_content_types.html.erb +1 -1
- data/app/views/iron/locales/_form.html.erb +5 -3
- data/app/views/iron/locales/edit.html.erb +1 -1
- data/app/views/iron/locales/index.html.erb +12 -6
- data/app/views/iron/shared/_schema_lock_badge.html.erb +19 -0
- data/config/locales/en.yml +13 -1
- data/config/locales/it.yml +18 -1
- data/config/routes.rb +11 -0
- data/db/migrate/20260612131538_create_iron_systems.rb +9 -0
- data/exe/iron +5 -0
- data/lib/generators/iron/agents/agents_generator.rb +52 -0
- data/lib/generators/iron/agents/templates/AGENTS.md +24 -0
- data/lib/generators/iron/agents/templates/SKILL.md +423 -0
- data/lib/generators/iron/install/install_generator.rb +118 -0
- data/lib/generators/iron/install/templates/iron_release.rake +5 -0
- data/lib/generators/iron/install/templates/schema.json +12 -0
- data/lib/generators/iron/install/templates/seeds.rb +13 -0
- data/lib/generators/iron/pages/pages_generator.rb +5 -0
- data/lib/generators/iron/pages/templates/pages_controller.rb +1 -1
- data/lib/generators/iron/pages/templates/show.html.erb +1 -1
- data/lib/install/template.rb +9 -0
- data/lib/iron/cli.rb +43 -0
- data/lib/iron/version.rb +1 -1
- data/lib/tasks/iron_content.rake +82 -0
- data/lib/tasks/iron_schema.rake +45 -0
- metadata +62 -3
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
module Iron
|
|
2
|
+
module ContentCommands
|
|
3
|
+
module_function
|
|
4
|
+
|
|
5
|
+
def run
|
|
6
|
+
puts JSON.pretty_generate(yield)
|
|
7
|
+
rescue Iron::Content::InvalidContent => e
|
|
8
|
+
abort JSON.pretty_generate({ errors: e.errors })
|
|
9
|
+
rescue Iron::Content::Error => e
|
|
10
|
+
abort e.message
|
|
11
|
+
rescue ActiveRecord::RecordNotFound => e
|
|
12
|
+
abort not_found_message(e)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def payload
|
|
16
|
+
raw = ENV["PAYLOAD"] || (ENV["FILE"] && File.read(ENV["FILE"])) || ($stdin.read unless $stdin.tty?)
|
|
17
|
+
raw.present? ? JSON.parse(raw) : {}
|
|
18
|
+
rescue JSON::ParserError => e
|
|
19
|
+
abort "Invalid JSON payload: #{e.message}"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def not_found_message(error)
|
|
23
|
+
case error.model
|
|
24
|
+
when "Iron::ContentType"
|
|
25
|
+
"Unknown content type #{ENV["HANDLE"].inspect}. Known handles: #{Iron::ContentType.pluck(:handle).join(", ")}"
|
|
26
|
+
when "Iron::Locale"
|
|
27
|
+
"Unknown locale #{ENV["LOCALE"].inspect}. Known locales: #{Iron::Locale.pluck(:code).join(", ")}"
|
|
28
|
+
else
|
|
29
|
+
error.message
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
namespace :iron do
|
|
36
|
+
namespace :content do
|
|
37
|
+
desc "List all entries of a content type (HANDLE=required, LOCALE=optional)"
|
|
38
|
+
task list: :environment do
|
|
39
|
+
handle = ENV.fetch("HANDLE") { abort "HANDLE is required. Usage: bin/rails iron:content:list HANDLE=blog" }
|
|
40
|
+
|
|
41
|
+
Iron::ContentCommands.run do
|
|
42
|
+
Iron::Content.list(handle, locale: ENV["LOCALE"])
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
desc "Get an entry (HANDLE=required; ID= or ROUTE= for collections, neither for singles; LOCALE=optional)"
|
|
47
|
+
task get: :environment do
|
|
48
|
+
handle = ENV.fetch("HANDLE") { abort "HANDLE is required. Usage: bin/rails iron:content:get HANDLE=blog ID=1" }
|
|
49
|
+
|
|
50
|
+
Iron::ContentCommands.run do
|
|
51
|
+
Iron::Content.get(handle, id: ENV["ID"], route: ENV["ROUTE"], locale: ENV["LOCALE"])
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
desc "Create an entry (HANDLE=required; content JSON via PAYLOAD=, FILE=, or stdin; ROUTE= and LOCALE= optional)"
|
|
56
|
+
task create: :environment do
|
|
57
|
+
handle = ENV.fetch("HANDLE") { abort "HANDLE is required. Usage: bin/rails iron:content:create HANDLE=blog PAYLOAD='{\"title\":\"Hello\"}'" }
|
|
58
|
+
|
|
59
|
+
Iron::ContentCommands.run do
|
|
60
|
+
Iron::Content.create(handle, Iron::ContentCommands.payload, route: ENV["ROUTE"], locale: ENV["LOCALE"])
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
desc "Update an entry (HANDLE=required; ID= or ROUTE= for collections, neither upserts singles; content JSON via PAYLOAD=, FILE=, or stdin; LOCALE=optional)"
|
|
65
|
+
task update: :environment do
|
|
66
|
+
handle = ENV.fetch("HANDLE") { abort "HANDLE is required. Usage: bin/rails iron:content:update HANDLE=blog ID=1 PAYLOAD='{\"title\":\"Hello\"}'" }
|
|
67
|
+
|
|
68
|
+
Iron::ContentCommands.run do
|
|
69
|
+
Iron::Content.update(handle, Iron::ContentCommands.payload, id: ENV["ID"], route: ENV["ROUTE"], locale: ENV["LOCALE"])
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
desc "Delete an entry (HANDLE=required; ID= or ROUTE=)"
|
|
74
|
+
task delete: :environment do
|
|
75
|
+
handle = ENV.fetch("HANDLE") { abort "HANDLE is required. Usage: bin/rails iron:content:delete HANDLE=blog ID=1" }
|
|
76
|
+
|
|
77
|
+
Iron::ContentCommands.run do
|
|
78
|
+
Iron::Content.delete(handle, id: ENV["ID"], route: ENV["ROUTE"])
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
namespace :iron do
|
|
2
|
+
namespace :schema do
|
|
3
|
+
desc "Dump the CMS schema to db/cms/schema.json (SCHEMA_PATH=optional output path, FORMAT=json for machine output)"
|
|
4
|
+
task dump: :environment do
|
|
5
|
+
path = Iron::Schema.dump(ENV["SCHEMA_PATH"])
|
|
6
|
+
|
|
7
|
+
if ENV["FORMAT"] == "json"
|
|
8
|
+
puts JSON.pretty_generate(path: path.to_s)
|
|
9
|
+
else
|
|
10
|
+
puts "Schema dumped to #{path}"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
desc "Show drift between db/cms/schema.json and the database (SCHEMA_PATH=optional input path, FORMAT=json for machine output)"
|
|
15
|
+
task diff: :environment do
|
|
16
|
+
diff = Iron::Schema.diff(ENV["SCHEMA_PATH"])
|
|
17
|
+
|
|
18
|
+
if ENV["FORMAT"] == "json"
|
|
19
|
+
puts JSON.pretty_generate(diff.to_h)
|
|
20
|
+
else
|
|
21
|
+
puts diff
|
|
22
|
+
end
|
|
23
|
+
rescue Iron::Schema::FileMissing, Iron::Schema::InvalidSchema => error
|
|
24
|
+
abort error.message
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
desc "Apply db/cms/schema.json to the database (SCHEMA_PATH=optional input path, PRUNE=1 destroys objects missing from the file, FORMAT=json for machine output)"
|
|
28
|
+
task apply: :environment do
|
|
29
|
+
prune = ENV["PRUNE"] == "1"
|
|
30
|
+
diff = Iron::Schema.apply(ENV["SCHEMA_PATH"], prune: prune)
|
|
31
|
+
|
|
32
|
+
if ENV["FORMAT"] == "json"
|
|
33
|
+
puts JSON.pretty_generate(diff.to_h)
|
|
34
|
+
elsif diff.empty?
|
|
35
|
+
puts "Schema is in sync."
|
|
36
|
+
else
|
|
37
|
+
applied = diff.size(include_removals: prune)
|
|
38
|
+
puts "Applied #{applied} #{"change".pluralize(applied)}:"
|
|
39
|
+
puts diff
|
|
40
|
+
end
|
|
41
|
+
rescue Iron::Schema::FileMissing, Iron::Schema::InvalidSchema => error
|
|
42
|
+
abort error.message
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
metadata
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: iron-cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.18.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Massimo De Marchi
|
|
8
|
-
bindir:
|
|
8
|
+
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
@@ -23,6 +23,20 @@ dependencies:
|
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '8.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: thor
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '1.0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '1.0'
|
|
26
40
|
- !ruby/object:Gem::Dependency
|
|
27
41
|
name: activestorage
|
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -268,7 +282,8 @@ dependencies:
|
|
|
268
282
|
description: A Rails engine for managing and publishing content with a flexible schema.
|
|
269
283
|
email:
|
|
270
284
|
- massimo@inkofpixel.com
|
|
271
|
-
executables:
|
|
285
|
+
executables:
|
|
286
|
+
- iron
|
|
272
287
|
extensions: []
|
|
273
288
|
extra_rdoc_files: []
|
|
274
289
|
files:
|
|
@@ -290,6 +305,7 @@ files:
|
|
|
290
305
|
- app/assets/tailwind/iron/components/field-definition.css
|
|
291
306
|
- app/assets/tailwind/iron/components/fieldset.css
|
|
292
307
|
- app/assets/tailwind/iron/components/file-scope-picker.css
|
|
308
|
+
- app/assets/tailwind/iron/components/file-upload.css
|
|
293
309
|
- app/assets/tailwind/iron/components/form.css
|
|
294
310
|
- app/assets/tailwind/iron/components/icon-picker.css
|
|
295
311
|
- app/assets/tailwind/iron/components/input.css
|
|
@@ -311,12 +327,18 @@ files:
|
|
|
311
327
|
- app/controllers/concerns/iron/authentication.rb
|
|
312
328
|
- app/controllers/concerns/iron/authorization.rb
|
|
313
329
|
- app/controllers/concerns/iron/locale_aware.rb
|
|
330
|
+
- app/controllers/concerns/iron/schema_editing.rb
|
|
314
331
|
- app/controllers/concerns/iron/web_page.rb
|
|
315
332
|
- app/controllers/iron/account/exports_controller.rb
|
|
316
333
|
- app/controllers/iron/account/imports_controller.rb
|
|
317
334
|
- app/controllers/iron/api/base_controller.rb
|
|
318
335
|
- app/controllers/iron/api/content_controller.rb
|
|
319
336
|
- app/controllers/iron/api/openapi_controller.rb
|
|
337
|
+
- app/controllers/iron/api/schema/base_controller.rb
|
|
338
|
+
- app/controllers/iron/api/schema/block_definitions_controller.rb
|
|
339
|
+
- app/controllers/iron/api/schema/content_types_controller.rb
|
|
340
|
+
- app/controllers/iron/api/schema/field_definitions_controller.rb
|
|
341
|
+
- app/controllers/iron/api/schema/locales_controller.rb
|
|
320
342
|
- app/controllers/iron/api/search_controller.rb
|
|
321
343
|
- app/controllers/iron/api/uploads_controller.rb
|
|
322
344
|
- app/controllers/iron/application_controller.rb
|
|
@@ -392,6 +414,7 @@ files:
|
|
|
392
414
|
- app/models/iron/block_definition.rb
|
|
393
415
|
- app/models/iron/block_definition/exportable.rb
|
|
394
416
|
- app/models/iron/block_definition/importable.rb
|
|
417
|
+
- app/models/iron/content.rb
|
|
395
418
|
- app/models/iron/content_type.rb
|
|
396
419
|
- app/models/iron/content_type/exportable.rb
|
|
397
420
|
- app/models/iron/content_type/field_queryable.rb
|
|
@@ -415,11 +438,15 @@ files:
|
|
|
415
438
|
- app/models/iron/exporter.rb
|
|
416
439
|
- app/models/iron/field.rb
|
|
417
440
|
- app/models/iron/field/belongs_to_entry.rb
|
|
441
|
+
- app/models/iron/field/length_constrained.rb
|
|
442
|
+
- app/models/iron/field/validatable.rb
|
|
418
443
|
- app/models/iron/field_definition.rb
|
|
419
444
|
- app/models/iron/field_definition/exportable.rb
|
|
420
445
|
- app/models/iron/field_definition/importable.rb
|
|
421
446
|
- app/models/iron/field_definition/ranked.rb
|
|
422
447
|
- app/models/iron/field_definition/searchable.rb
|
|
448
|
+
- app/models/iron/field_definition/validatable.rb
|
|
449
|
+
- app/models/iron/field_definition/validations.rb
|
|
423
450
|
- app/models/iron/field_definitions/block.rb
|
|
424
451
|
- app/models/iron/field_definitions/block_list.rb
|
|
425
452
|
- app/models/iron/field_definitions/boolean.rb
|
|
@@ -451,11 +478,16 @@ files:
|
|
|
451
478
|
- app/models/iron/person/transferable.rb
|
|
452
479
|
- app/models/iron/qr_code_link.rb
|
|
453
480
|
- app/models/iron/reference.rb
|
|
481
|
+
- app/models/iron/schema.rb
|
|
482
|
+
- app/models/iron/schema/auto_dumpable.rb
|
|
483
|
+
- app/models/iron/schema/diff.rb
|
|
484
|
+
- app/models/iron/schema/validation.rb
|
|
454
485
|
- app/models/iron/search/query.rb
|
|
455
486
|
- app/models/iron/search_record.rb
|
|
456
487
|
- app/models/iron/search_record/fts.rb
|
|
457
488
|
- app/models/iron/seed.rb
|
|
458
489
|
- app/models/iron/session.rb
|
|
490
|
+
- app/models/iron/system.rb
|
|
459
491
|
- app/models/iron/user.rb
|
|
460
492
|
- app/models/iron/user/deactivatable.rb
|
|
461
493
|
- app/models/iron/user/role.rb
|
|
@@ -481,6 +513,17 @@ files:
|
|
|
481
513
|
- app/views/iron/api/fields/_rich_text_area.json.jbuilder
|
|
482
514
|
- app/views/iron/api/fields/_text_area.json.jbuilder
|
|
483
515
|
- app/views/iron/api/fields/_text_field.json.jbuilder
|
|
516
|
+
- app/views/iron/api/schema/block_definitions/_block_definition.json.jbuilder
|
|
517
|
+
- app/views/iron/api/schema/block_definitions/index.json.jbuilder
|
|
518
|
+
- app/views/iron/api/schema/block_definitions/show.json.jbuilder
|
|
519
|
+
- app/views/iron/api/schema/content_types/_content_type.json.jbuilder
|
|
520
|
+
- app/views/iron/api/schema/content_types/index.json.jbuilder
|
|
521
|
+
- app/views/iron/api/schema/content_types/show.json.jbuilder
|
|
522
|
+
- app/views/iron/api/schema/field_definitions/_field_definition.json.jbuilder
|
|
523
|
+
- app/views/iron/api/schema/field_definitions/show.json.jbuilder
|
|
524
|
+
- app/views/iron/api/schema/locales/_locale.json.jbuilder
|
|
525
|
+
- app/views/iron/api/schema/locales/index.json.jbuilder
|
|
526
|
+
- app/views/iron/api/schema/locales/show.json.jbuilder
|
|
484
527
|
- app/views/iron/api/search/show.json.jbuilder
|
|
485
528
|
- app/views/iron/block_definitions/_block_definition.html.erb
|
|
486
529
|
- app/views/iron/block_definitions/_empty_state.html.erb
|
|
@@ -508,6 +551,8 @@ files:
|
|
|
508
551
|
- app/views/iron/entries/fields/_block_list.html.erb
|
|
509
552
|
- app/views/iron/entries/fields/_boolean.html.erb
|
|
510
553
|
- app/views/iron/entries/fields/_date.html.erb
|
|
554
|
+
- app/views/iron/entries/fields/_field_errors.html.erb
|
|
555
|
+
- app/views/iron/entries/fields/_field_label.html.erb
|
|
511
556
|
- app/views/iron/entries/fields/_file.html.erb
|
|
512
557
|
- app/views/iron/entries/fields/_number.html.erb
|
|
513
558
|
- app/views/iron/entries/fields/_reference.html.erb
|
|
@@ -566,6 +611,7 @@ files:
|
|
|
566
611
|
- app/views/iron/settings/show.html.erb
|
|
567
612
|
- app/views/iron/shared/_icon_picker.html.erb
|
|
568
613
|
- app/views/iron/shared/_save_bar.html.erb
|
|
614
|
+
- app/views/iron/shared/_schema_lock_badge.html.erb
|
|
569
615
|
- app/views/iron/shared/_select.html.erb
|
|
570
616
|
- app/views/iron/users/_change_email_dialog.html.erb
|
|
571
617
|
- app/views/iron/users/_change_language_dialog.html.erb
|
|
@@ -614,13 +660,24 @@ files:
|
|
|
614
660
|
- db/migrate/20260215222227_add_authenticatable_to_iron_users.rb
|
|
615
661
|
- db/migrate/20260215222735_remove_legacy_auth_from_iron_users.rb
|
|
616
662
|
- db/migrate/20260221231832_create_iron_integrations.rb
|
|
663
|
+
- db/migrate/20260612131538_create_iron_systems.rb
|
|
664
|
+
- exe/iron
|
|
665
|
+
- lib/generators/iron/agents/agents_generator.rb
|
|
666
|
+
- lib/generators/iron/agents/templates/AGENTS.md
|
|
667
|
+
- lib/generators/iron/agents/templates/SKILL.md
|
|
668
|
+
- lib/generators/iron/install/install_generator.rb
|
|
669
|
+
- lib/generators/iron/install/templates/iron_release.rake
|
|
670
|
+
- lib/generators/iron/install/templates/schema.json
|
|
671
|
+
- lib/generators/iron/install/templates/seeds.rb
|
|
617
672
|
- lib/generators/iron/pages/pages_generator.rb
|
|
618
673
|
- lib/generators/iron/pages/templates/pages_controller.rb
|
|
619
674
|
- lib/generators/iron/pages/templates/show.html.erb
|
|
620
675
|
- lib/generators/iron/template/template_generator.rb
|
|
621
676
|
- lib/generators/iron/template/templates/content_type.html.erb
|
|
677
|
+
- lib/install/template.rb
|
|
622
678
|
- lib/iron-cms.rb
|
|
623
679
|
- lib/iron.rb
|
|
680
|
+
- lib/iron/cli.rb
|
|
624
681
|
- lib/iron/engine.rb
|
|
625
682
|
- lib/iron/global_id/instance_scoped_locator.rb
|
|
626
683
|
- lib/iron/image_analyzer.rb
|
|
@@ -633,6 +690,8 @@ files:
|
|
|
633
690
|
- lib/iron/sdk.rb
|
|
634
691
|
- lib/iron/version.rb
|
|
635
692
|
- lib/puma/plugin/iron_tailwindcss.rb
|
|
693
|
+
- lib/tasks/iron_content.rake
|
|
694
|
+
- lib/tasks/iron_schema.rake
|
|
636
695
|
- lib/tasks/iron_tailwindcss.rake
|
|
637
696
|
- lib/tasks/iron_tasks.rake
|
|
638
697
|
- vendor/javascript/@tailwindplus--elements.js
|