trusty-cms 3.8.2 → 3.8.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.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/Gemfile.lock +1 -1
  4. data/app/helpers/scoped_helper.rb +1 -1
  5. data/app/models/trusty_cms/config.rb +2 -5
  6. data/config/application.rb +4 -4
  7. data/config/initializers/devise.rb +1 -1
  8. data/db/migrate/{001_create_radiant_tables.rb → 001_create_trusty_tables.rb} +1 -1
  9. data/db/migrate/20111016150725_extend_page_part_content_limit.rb +0 -2
  10. data/lib/configuration_extensions/configuration_extensions.rb +9 -9
  11. data/lib/tasks/extensions.rake +4 -4
  12. data/lib/tasks/framework.rake +28 -28
  13. data/lib/tasks/radiant_config.rake +4 -4
  14. data/lib/trusty_cms.rb +1 -1
  15. data/lib/trusty_cms/config/definition.rb +1 -1
  16. data/lib/trusty_cms/extension_loader.rb +1 -1
  17. data/lib/trusty_cms/extension_path.rb +1 -1
  18. data/lib/trusty_cms/initializer.rb +14 -14
  19. data/lib/trusty_cms/taggable.rb +1 -1
  20. data/lib/trusty_cms/task_support.rb +2 -2
  21. data/spec/dummy/config/application.rb +8 -8
  22. data/vendor/extensions/clipped-extension/lib/tasks/clipped_extension_tasks.rake +2 -2
  23. data/vendor/extensions/multi-site-extension/lib/tasks/scoped_admin_extension_tasks.rake +2 -2
  24. metadata +3 -103
  25. data/CONTRIBUTORS.md +0 -279
  26. data/Vagrantfile +0 -122
  27. data/app/mailers/password_mailer.rb +0 -10
  28. data/bin/ci/before_script +0 -10
  29. data/bin/trusty_test +0 -3
  30. data/lib/generators/extension/USAGE +0 -30
  31. data/lib/generators/extension/extension_generator.rb +0 -97
  32. data/lib/generators/extension/templates/README.md +0 -6
  33. data/lib/generators/extension/templates/RSpecRakefile +0 -109
  34. data/lib/generators/extension/templates/Rakefile +0 -25
  35. data/lib/generators/extension/templates/cucumber.yml +0 -1
  36. data/lib/generators/extension/templates/cucumber_env.rb +0 -11
  37. data/lib/generators/extension/templates/cucumber_paths.rb +0 -22
  38. data/lib/generators/extension/templates/en.yml +0 -3
  39. data/lib/generators/extension/templates/extension.rb +0 -21
  40. data/lib/generators/extension/templates/functional_test.rb +0 -15
  41. data/lib/generators/extension/templates/gemspec.rb +0 -29
  42. data/lib/generators/extension/templates/lib.rb +0 -8
  43. data/lib/generators/extension/templates/migration.rb +0 -9
  44. data/lib/generators/extension/templates/radiant_config.rb +0 -3
  45. data/lib/generators/extension/templates/routes.rb +0 -5
  46. data/lib/generators/extension/templates/spec.opts +0 -6
  47. data/lib/generators/extension/templates/spec_helper.rb +0 -42
  48. data/lib/generators/extension/templates/tasks.rake +0 -47
  49. data/lib/generators/extension/templates/test_helper.rb +0 -26
  50. data/lib/generators/extension_controller/USAGE +0 -36
  51. data/lib/generators/extension_controller/extension_controller_generator.rb +0 -84
  52. data/lib/generators/extension_controller/templates/controller.rb +0 -10
  53. data/lib/generators/extension_controller/templates/controller_spec.rb +0 -23
  54. data/lib/generators/extension_controller/templates/functional_test.rb +0 -11
  55. data/lib/generators/extension_controller/templates/helper.rb +0 -2
  56. data/lib/generators/extension_controller/templates/helper_spec.rb +0 -11
  57. data/lib/generators/extension_controller/templates/helper_test.rb +0 -4
  58. data/lib/generators/extension_controller/templates/view.html.erb +0 -2
  59. data/lib/generators/extension_controller/templates/view_spec.rb +0 -12
  60. data/lib/generators/extension_mailer/USAGE +0 -17
  61. data/lib/generators/extension_mailer/extension_mailer_generator.rb +0 -68
  62. data/lib/generators/extension_mailer/templates/fixture.erb +0 -3
  63. data/lib/generators/extension_mailer/templates/mailer.rb +0 -15
  64. data/lib/generators/extension_mailer/templates/unit_test.rb +0 -21
  65. data/lib/generators/extension_mailer/templates/view.erb +0 -3
  66. data/lib/generators/extension_migration/USAGE +0 -34
  67. data/lib/generators/extension_migration/extension_migration_generator.rb +0 -25
  68. data/lib/generators/extension_migration/templates/migration.rb +0 -11
  69. data/lib/generators/extension_model/USAGE +0 -35
  70. data/lib/generators/extension_model/extension_model_generator.rb +0 -68
  71. data/lib/generators/extension_model/templates/fixtures.yml +0 -19
  72. data/lib/generators/extension_model/templates/migration.rb +0 -16
  73. data/lib/generators/extension_model/templates/model.rb +0 -2
  74. data/lib/generators/extension_model/templates/model_spec.rb +0 -11
  75. data/lib/generators/extension_model/templates/unit_test.rb +0 -8
  76. data/lib/generators/generator_base_extension.rb +0 -18
  77. data/lib/generators/instance/instance_generator.rb +0 -148
  78. data/lib/generators/instance/templates/databases/db2.yml +0 -40
  79. data/lib/generators/instance/templates/databases/mysql.yml +0 -47
  80. data/lib/generators/instance/templates/databases/postgresql.yml +0 -44
  81. data/lib/generators/instance/templates/databases/sqlite3.yml +0 -16
  82. data/lib/generators/instance/templates/databases/sqlserver.yml +0 -21
  83. data/lib/generators/instance/templates/instance_boot.rb +0 -122
  84. data/lib/generators/instance/templates/instance_config.ru +0 -2
  85. data/lib/generators/instance/templates/instance_environment.rb +0 -93
  86. data/lib/generators/instance/templates/instance_gemfile +0 -78
  87. data/lib/generators/instance/templates/instance_generate +0 -6
  88. data/lib/generators/instance/templates/instance_radiant_config.rb +0 -16
  89. data/lib/generators/instance/templates/instance_rakefile +0 -3
  90. data/lib/generators/instance/templates/instance_routes.rb +0 -1
  91. data/lib/generators/language_extension/USAGE +0 -27
  92. data/lib/generators/language_extension/language_extension_generator.rb +0 -71
  93. data/lib/generators/language_extension/templates/README +0 -3
  94. data/lib/generators/language_extension/templates/RSpecRakefile +0 -123
  95. data/lib/generators/language_extension/templates/Rakefile +0 -25
  96. data/lib/generators/language_extension/templates/available_tags.yml +0 -553
  97. data/lib/generators/language_extension/templates/cucumber.yml +0 -1
  98. data/lib/generators/language_extension/templates/cucumber_env.rb +0 -16
  99. data/lib/generators/language_extension/templates/cucumber_paths.rb +0 -14
  100. data/lib/generators/language_extension/templates/extension.rb +0 -12
  101. data/lib/generators/language_extension/templates/functional_test.rb +0 -15
  102. data/lib/generators/language_extension/templates/gemspec.rb +0 -24
  103. data/lib/generators/language_extension/templates/lang.yml +0 -181
  104. data/lib/generators/language_extension/templates/lib.rb +0 -8
  105. data/lib/generators/language_extension/templates/spec.opts +0 -6
  106. data/lib/generators/language_extension/templates/spec_helper.rb +0 -36
  107. data/lib/generators/language_extension/templates/tasks.rake +0 -28
  108. data/lib/generators/language_extension/templates/test_helper.rb +0 -26
  109. data/lib/generators/trusty_cms/USAGE +0 -8
  110. data/lib/generators/trusty_cms/templates/Rakefile.erb +0 -7
  111. data/lib/generators/trusty_cms/templates/application.rb.erb +0 -149
  112. data/lib/generators/trusty_cms/templates/boot.rb.erb +0 -9
  113. data/lib/generators/trusty_cms/templates/config.ru.erb +0 -4
  114. data/lib/generators/trusty_cms/templates/database.yml.erb +0 -28
  115. data/lib/generators/trusty_cms/templates/environment.rb.erb +0 -5
  116. data/lib/generators/trusty_cms/templates/environments/development.rb.erb +0 -24
  117. data/lib/generators/trusty_cms/templates/environments/production.rb.erb +0 -26
  118. data/lib/generators/trusty_cms/templates/environments/test.rb.erb +0 -35
  119. data/lib/generators/trusty_cms/templates/initializers/secret_token.rb.erb +0 -13
  120. data/lib/generators/trusty_cms/templates/initializers/session_store.rb.erb +0 -8
  121. data/lib/generators/trusty_cms/templates/initializers/trusty_cms_config.rb.erb +0 -16
  122. data/lib/generators/trusty_cms/templates/preinitializer.rb.erb +0 -18
  123. data/lib/generators/trusty_cms/templates/routes.rb.erb +0 -0
  124. data/lib/generators/trusty_cms/trusty_cms_generator.rb +0 -32
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require File.expand_path('../../config/boot', __FILE__)
3
- require 'generators/generator_base_extension'
4
-
5
- Rails::Generator::Base.prepend_sources(Rails::Generator::PathSource.new(:builtin, "#{TrustyCms.root}/lib/generators"))
6
- require 'commands/generate'
@@ -1,16 +0,0 @@
1
- TrustyCms.config do |config|
2
- # this file can be used to set defaults, options and validation rules for local configuration settings.
3
- # core settings are defined in TRUSTY_CMS_ROOT/config/initializers/radiant_config.rb and by the corresponding
4
- # file in each radiant extension. You probably don't need to add anything here, but in case you do:
5
-
6
- # config.define 'site.show_footer?', :default => "true"
7
- # config.define 'S3.bucket', :default => "key", :allow_change => false
8
-
9
- # you can also use this file to set config values (by environment, for example):
10
-
11
- # if Rails.env == 'production'
12
- # config['cache.duration'] = 86400
13
- # else
14
- # config['cache.duration'] = 0
15
- # end
16
- end
@@ -1,3 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'config', 'boot')
2
-
3
- import File.join(TRUSTY_CMS_ROOT, 'Rakefile')
@@ -1 +0,0 @@
1
- load File.join(TRUSTY_CMS_ROOT, "config", "routes.rb")
@@ -1,27 +0,0 @@
1
- Description:
2
- The language_extension generator creates stubs for a new TrustyCms translation.
3
-
4
- The generator takes an language abbreviation as its argument. The extension name may be
5
- given as a language abbreviation 'en' or a localized abbreviation 'en-GB' and should not
6
- be prefixed with 'i18n' or suffixed with 'Extension'.
7
-
8
- The generator creates an extension directory in vendor/extensions that includes
9
- i18n_<extension_name>_extension.rb, README and Rakefile files as well as lib, task,
10
- and test directories.
11
-
12
- Example:
13
- ./script/generate language_extension fr
14
-
15
- This will create:
16
- vendor/extensions/i18n_fr/config/locales/fr.yml
17
- vendor/extensions/i18n_fr/lib/tasks
18
- vendor/extensions/i18n_fr/README
19
- vendor/extensions/i18n_fr/i18n_fr_extension.rb
20
- vendor/extensions/i18n_fr/lib/tasks/i18n_fr_extension_tasks.rake
21
- vendor/extensions/i18n_fr/spec/controllers
22
- vendor/extensions/i18n_fr/spec/models
23
- vendor/extensions/i18n_fr/spec/views
24
- vendor/extensions/i18n_fr/spec/helpers
25
- vendor/extensions/i18n_fr/Rakefile
26
- vendor/extensions/i18n_fr/spec/spec_helper.rb
27
- vendor/extensions/i18n_fr/spec/spec.opts
@@ -1,71 +0,0 @@
1
- class LanguageExtensionGenerator < Rails::Generator::NamedBase
2
- default_options :with_test_unit => false
3
-
4
- attr_reader :extension_path, :extension_file_name, :localization_name
5
-
6
- def initialize(runtime_args, runtime_options = {})
7
- super
8
- @extension_file_name = "#{file_name}_language_pack_extension"
9
- @extension_path = "vendor/extensions/#{file_name}_language_pack"
10
- @localization_name = localization_name
11
- end
12
-
13
- def manifest
14
- record do |m|
15
- m.directory "#{extension_path}/config/locales"
16
- m.directory "#{extension_path}/lib/tasks"
17
-
18
- m.template 'README', "#{extension_path}/README"
19
- m.template 'extension.rb', "#{extension_path}/#{extension_file_name}.rb"
20
- # m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
21
- m.template 'lang.yml', "#{extension_path}/config/locales/#{localization_name}.yml"
22
- m.template 'available_tags.yml', "#{extension_path}/config/locales/#{localization_name}_available_tags.yml"
23
- m.template 'lib.rb', "#{extension_path}/lib/radiant-#{file_name}_language_pack-extension.rb"
24
- m.template 'gemspec.rb', "#{extension_path}/radiant-#{file_name}_language_pack-extension.gemspec"
25
- end
26
-
27
- end
28
-
29
- def class_name
30
- super.to_name.gsub(' ', '') + 'LanguagePackExtension'
31
- end
32
-
33
- def extension_name
34
- class_name.to_name('Extension')
35
- end
36
-
37
- def author_info
38
- @author_info ||= begin
39
- Git.global_config
40
- rescue NameError
41
- {}
42
- end
43
- end
44
-
45
- def homepage
46
- author_info['github.user'] ? "http://github.com/#{author_info['github.user']}/radiant-#{file_name}-extension" : "http://example.com/#{file_name}"
47
- end
48
-
49
- def author_email
50
- author_info['user.email'] || 'your email'
51
- end
52
-
53
- def author_name
54
- author_info['user.name'] || 'Your Name'
55
- end
56
-
57
- def add_options!(opt)
58
- # opt.separator ''
59
- # opt.separator 'Options:'
60
- # opt.on("--with-test-unit",
61
- # "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v }
62
- end
63
-
64
- def localization_name
65
- file_name.split('_')[1] ? "#{file_name.split('_')[0]}-#{file_name.split('_')[1].upcase}" : file_name
66
- end
67
-
68
- def copy_files
69
- FileUtils.cp("#{TRUSTY_CMS_ROOT}/config/locales/en_available_tags.yml","#{TRUSTY_CMS_ROOT}/#{extension_path}/config/locales/#{localization_name}_available_tags.yml")
70
- end
71
- end
@@ -1,3 +0,0 @@
1
- = <%= extension_name %>
2
-
3
- Description goes here
@@ -1,123 +0,0 @@
1
- # I think this is the one that should be moved to the extension Rakefile template
2
-
3
- # In rails 1.2, plugins aren't available in the path until they're loaded.
4
- # Check to see if the rspec plugin is installed first and require
5
- # it if it is. If not, use the gem version.
6
-
7
- # Determine where the RSpec plugin is by loading the boot
8
- unless defined? TRUSTY_CMS_ROOT
9
- ENV["Rails.env"] = "test"
10
- case
11
- when ENV["RADIANT_ENV_FILE"]
12
- require File.dirname(ENV["RADIANT_ENV_FILE"]) + "/boot"
13
- when File.dirname(__FILE__) =~ %r{vendor/trusty_cms/vendor/extensions}
14
- require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../")}/config/boot"
15
- else
16
- require "#{File.expand_path(File.dirname(__FILE__) + "/../../../")}/config/boot"
17
- end
18
- end
19
-
20
- require 'rake'
21
- require 'rdoc/task'
22
- require 'rake/testtask'
23
-
24
- rspec_base = File.expand_path(TRUSTY_CMS_ROOT + '/vendor/plugins/rspec/lib')
25
- $LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
26
- require 'spec/rake/spectask'
27
- require 'cucumber'
28
- require 'cucumber/rake/task'
29
-
30
- # Cleanup the TRUSTY_CMS_ROOT constant so specs will load the environment
31
- Object.send(:remove_const, :TRUSTY_CMS_ROOT)
32
-
33
- extension_root = File.expand_path(File.dirname(__FILE__))
34
-
35
- task :default => :spec
36
- task :stats => "spec:statsetup"
37
-
38
- desc "Run all specs in spec directory"
39
- Spec::Rake::SpecTask.new(:spec) do |t|
40
- t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
41
- t.spec_files = FileList['spec/**/*_spec.rb']
42
- end
43
-
44
- task :features => 'spec:integration'
45
-
46
- namespace :spec do
47
- desc "Run all specs in spec directory with RCov"
48
- Spec::Rake::SpecTask.new(:rcov) do |t|
49
- t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
50
- t.spec_files = FileList['spec/**/*_spec.rb']
51
- t.rcov = true
52
- t.rcov_opts = ['--exclude', 'spec', '--rails']
53
- end
54
-
55
- desc "Print Specdoc for all specs"
56
- Spec::Rake::SpecTask.new(:doc) do |t|
57
- t.spec_opts = ["--format", "specdoc", "--dry-run"]
58
- t.spec_files = FileList['spec/**/*_spec.rb']
59
- end
60
-
61
- [:models, :controllers, :views, :helpers].each do |sub|
62
- desc "Run the specs under spec/#{sub}"
63
- Spec::Rake::SpecTask.new(sub) do |t|
64
- t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
65
- t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
66
- end
67
- end
68
-
69
- desc "Run the Cucumber features"
70
- Cucumber::Rake::Task.new(:integration) do |t|
71
- t.fork = true
72
- t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'pretty')]
73
- # t.feature_pattern = "#{extension_root}/features/**/*.feature"
74
- t.profile = "default"
75
- end
76
-
77
- # Setup specs for stats
78
- task :statsetup do
79
- require 'code_statistics'
80
- ::STATS_DIRECTORIES << %w(Model\ specs spec/models)
81
- ::STATS_DIRECTORIES << %w(View\ specs spec/views)
82
- ::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers)
83
- ::STATS_DIRECTORIES << %w(Helper\ specs spec/views)
84
- ::CodeStatistics::TEST_TYPES << "Model specs"
85
- ::CodeStatistics::TEST_TYPES << "View specs"
86
- ::CodeStatistics::TEST_TYPES << "Controller specs"
87
- ::CodeStatistics::TEST_TYPES << "Helper specs"
88
- ::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
89
- end
90
-
91
- namespace :db do
92
- namespace :fixtures do
93
- desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y"
94
- task :load => :environment do
95
- require 'active_record/fixtures'
96
- ActiveRecord::Base.establish_connection(Rails.env.to_sym)
97
- (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(Rails.root, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
98
- Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
99
- end
100
- end
101
- end
102
- end
103
- end
104
-
105
- desc 'Generate documentation for the <%= file_name %> extension.'
106
- RDoc:Task.new(:rdoc) do |rdoc|
107
- rdoc.rdoc_dir = 'rdoc'
108
- rdoc.title = '<%= class_name %>'
109
- rdoc.options << '--line-numbers' << '--inline-source'
110
- rdoc.rdoc_files.include('README')
111
- rdoc.rdoc_files.include('lib/**/*.rb')
112
- end
113
-
114
- # For extensions that are in transition
115
- desc 'Test the <%= file_name %> extension.'
116
- Rake::TestTask.new(:test) do |t|
117
- t.libs << 'lib'
118
- t.pattern = 'test/**/*_test.rb'
119
- t.verbose = true
120
- end
121
-
122
- # Load any custom rakefiles for extension
123
- Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
@@ -1,25 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rdoc/task'
4
-
5
- desc 'Default: run unit tests.'
6
- task :default => :test
7
-
8
- desc 'Test the <%= file_name %> extension.'
9
- Rake::TestTask.new(:test) do |t|
10
- t.libs << 'lib'
11
- t.pattern = 'test/**/*_test.rb'
12
- t.verbose = true
13
- end
14
-
15
- desc 'Generate documentation for the <%= file_name %> extension.'
16
- RDoc:Task.new(:rdoc) do |rdoc|
17
- rdoc.rdoc_dir = 'rdoc'
18
- rdoc.title = '<%= class_name %>'
19
- rdoc.options << '--line-numbers' << '--inline-source'
20
- rdoc.rdoc_files.include('README')
21
- rdoc.rdoc_files.include('lib/**/*.rb')
22
- end
23
-
24
- # Load any custom rakefiles for extension
25
- Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
@@ -1,553 +0,0 @@
1
- ---
2
- <%= localization_name %>:
3
- desc:
4
- author:
5
- Renders the name of the author of the current page.
6
-
7
- breadcrumb:
8
- Renders the @breadcrumb@ attribute of the current page.
9
-
10
- breadcrumbs:
11
- Renders a trail of breadcrumbs to the current page. The separator attribute
12
- specifies the HTML fragment that is inserted between each of the breadcrumbs. By
13
- default it is set to @>@. The boolean nolinks attribute can be specified to render
14
- breadcrumbs in plain text, without any links (useful when generating title tag).
15
-
16
- *Usage&#58;*
17
-
18
- <pre><code><r&#58;breadcrumbs [separator="separator_string"] [nolinks="true"] /></code></pre>
19
-
20
- children-count:
21
- Renders the total number of children.
22
-
23
- children-each-child:
24
- Page attribute tags inside of this tag refer to the current child. This is occasionally
25
- useful if you are inside of another tag (like &lt;r&#58;find&gt;) and need to refer back to the
26
- current child.
27
-
28
- *Usage&#58;*
29
-
30
- <pre><code><r&#58;children&#58;each>
31
- <r&#58;child>...</r&#58;child>
32
- </r&#58;children&#58;each>
33
- </code></pre>
34
-
35
- children-each-header:
36
- Renders the tag contents only if the contents do not match the previous header. This
37
- is extremely useful for rendering date headers for a list of child pages.
38
-
39
- If you would like to use several header blocks you may use the @name@ attribute to
40
- name the header. When a header is named it will not restart until another header of
41
- the same name is different.
42
-
43
- Using the @restart@ attribute you can cause other named headers to restart when the
44
- present header changes. Simply specify the names of the other headers in a semicolon
45
- separated list.
46
-
47
- *Usage&#58;*
48
-
49
- <pre><code><r&#58;children&#58;each>
50
- <r&#58;header [name="header_name"] [restart="name1[;name2;...]"]>
51
- ...
52
- </r&#58;header>
53
- </r&#58;children&#58;each>
54
- </code></pre>
55
-
56
- children-each-if_first:
57
- Renders the tag contents only if the current page is the first child in the context of
58
- a children&#58;each tag
59
-
60
- *Usage&#58;*
61
-
62
- <pre><code><r&#58;children&#58;each>
63
- <r&#58;if_first >
64
- ...
65
- </r&#58;if_first>
66
- </r&#58;children&#58;each>
67
- </code></pre>
68
-
69
-
70
- children-each-if_last:
71
- Renders the tag contents only if the current page is the last child in the context of
72
- a children&#58;each tag
73
-
74
- *Usage&#58;*
75
-
76
- <pre><code><r&#58;children&#58;each>
77
- <r&#58;if_last >
78
- ...
79
- </r&#58;if_last>
80
- </r&#58;children&#58;each>
81
- </code></pre>
82
-
83
-
84
- children-each-unless_first:
85
- Renders the tag contents unless the current page is the first child in the context of
86
- a children&#58;each tag
87
-
88
- *Usage&#58;*
89
-
90
- <pre><code><r&#58;children&#58;each>
91
- <r&#58;unless_first >
92
- ...
93
- </r&#58;unless_first>
94
- </r&#58;children&#58;each>
95
- </code></pre>
96
-
97
-
98
- children-each-unless_last:
99
- Renders the tag contents unless the current page is the last child in the context of
100
- a children&#58;each tag
101
-
102
- *Usage&#58;*
103
-
104
- <pre><code><r&#58;children&#58;each>
105
- <r&#58;unless_last >
106
- ...
107
- </r&#58;unless_last>
108
- </r&#58;children&#58;each>
109
- </code></pre>
110
-
111
-
112
- children-each:
113
- Cycles through each of the children. Inside this tag all page attribute tags
114
- are mapped to the current child page.
115
-
116
- *Usage&#58;*
117
-
118
- <pre><code><r&#58;children&#58;each [offset="number"] [limit="number"]
119
- [by="published_at|updated_at|created_at|slug|title|keywords|description"]
120
- [order="asc|desc"] [status="draft|reviewed|published|hidden|all"]>
121
- ...
122
- </r&#58;children&#58;each>
123
- </code></pre>
124
-
125
- children-first:
126
- Returns the first child. Inside this tag all page attribute tags are mapped to
127
- the first child. Takes the same ordering options as @<r&#58;children&#58;each>@.
128
-
129
- *Usage&#58;*
130
-
131
- <pre><code><r&#58;children&#58;first>...</r&#58;children&#58;first></code></pre>
132
-
133
- children-last:
134
- Returns the last child. Inside this tag all page attribute tags are mapped to
135
- the last child. Takes the same ordering options as @<r&#58;children&#58;each>@.
136
-
137
- *Usage&#58;*
138
-
139
- <pre><code><r&#58;children&#58;last>...</r&#58;children&#58;last></code></pre>
140
-
141
- children:
142
- Gives access to a page's children.
143
-
144
- *Usage&#58;*
145
-
146
- <pre><code><r&#58;children>...</r&#58;children></code></pre>
147
-
148
- comment:
149
- Nothing inside a set of comment tags is rendered.
150
-
151
- *Usage&#58;*
152
-
153
- <pre><code><r&#58;comment>...</r&#58;comment></code></pre>
154
-
155
- content:
156
- Renders the main content of a page. Use the @part@ attribute to select a specific
157
- page part. By default the @part@ attribute is set to body. Use the @inherit@
158
- attribute to specify that if a page does not have a content part by that name that
159
- the tag should render the parent's content part. By default @inherit@ is set to
160
- @false@. Use the @contextual@ attribute to force a part inherited from a parent
161
- part to be evaluated in the context of the child page. By default 'contextual'
162
- is set to true.
163
-
164
- *Usage&#58;*
165
-
166
- <pre><code><r&#58;content [part="part_name"] [inherit="true|false"] [contextual="true|false"] /></code></pre>
167
-
168
- cycle:
169
- Renders one of the passed values based on a global cycle counter. Use the @reset@
170
- attribute to reset the cycle to the beginning. Use the @name@ attribute to track
171
- multiple cycles; the default is @cycle@.
172
-
173
- *Usage&#58;*
174
-
175
- <pre><code><r&#58;cycle values="first, second, third" [reset="true|false"] [name="cycle"] /></code></pre>
176
-
177
- date:
178
- Renders the date based on the current page (by default when it was published or created).
179
- The format attribute uses the same formating codes used by the Ruby @strftime@ function. By
180
- default it's set to @&#37;A, &#37;B &#37;d, &#37;Y@. The @for@ attribute selects which date to render. Valid
181
- options are @published_at@, @created_at@, @updated_at@, and @now@. @now@ will render the
182
- current date/time, regardless of the page.
183
-
184
- *Usage&#58;*
185
-
186
- <pre><code><r&#58;date [format="&#37;A, &#37;B &#37;d, &#37;Y"] [for="published_at"]/></code></pre>
187
-
188
- escape_html:
189
- Escapes angle brackets, etc. for rendering in an HTML document.
190
-
191
- *Usage&#58;*
192
-
193
- <pre><code><r&#58;escape_html>...</r&#58;escape_html></code></pre>
194
-
195
- find:
196
- Inside this tag all page related tags refer to the page found at the @url@ attribute.
197
- @url@s may be relative or absolute paths.
198
-
199
- *Usage&#58;*
200
-
201
- <pre><code><r&#58;find url="value_to_find">...</r&#58;find></code></pre>
202
-
203
- if_ancestor_or_self:
204
- Renders the contained elements if the current contextual page is either the actual page or one of its parents.
205
-
206
- This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is or descends from the current page.
207
-
208
- *Usage&#58;*
209
-
210
- <pre><code><r&#58;if_ancestor_or_self>...</r&#58;if_ancestor_or_self></code></pre>
211
-
212
- if_children:
213
- Renders the contained elements only if the current contextual page has one or
214
- more child pages. The @status@ attribute limits the status of found child pages
215
- to the given status, the default is @"published"@. @status="all"@ includes all
216
- non-virtual pages regardless of status.
217
-
218
- *Usage&#58;*
219
-
220
- <pre><code><r&#58;if_children [status="published"]>...</r&#58;if_children></code></pre>
221
-
222
- if_content:
223
- Renders the containing elements if all of the listed parts exist on a page.
224
- By default the @part@ attribute is set to @body@, but you may list more than one
225
- part by separating them with a comma. Setting the optional @inherit@ to true will
226
- search ancestors independently for each part. By default @inherit@ is set to @false@.
227
-
228
- When listing more than one part, you may optionally set the @find@ attribute to @any@
229
- so that it will render the containing elements if any of the listed parts are found.
230
- By default the @find@ attribute is set to @all@.
231
-
232
- *Usage&#58;*
233
-
234
- <pre><code><r&#58;if_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r&#58;if_content></code></pre>
235
-
236
- if_dev:
237
- Renders the containing elements only if TrustyCms in is development mode.
238
-
239
- *Usage&#58;*
240
-
241
- <pre><code><r&#58;if_dev>...</r&#58;if_dev></code></pre>
242
-
243
- if_parent:
244
- Renders the contained elements only if the current contextual page has a parent, i.e.
245
- is not the root page.
246
-
247
- *Usage&#58;*
248
-
249
- <pre><code><r&#58;if_parent>...</r&#58;if_parent></code></pre>
250
-
251
- if_self:
252
- Renders the contained elements if the current contextual page is also the actual page.
253
-
254
- This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is the current page.
255
-
256
- *Usage&#58;*
257
-
258
- <pre><code><r&#58;if_self>...</r&#58;if_self></code></pre>
259
-
260
- if_url:
261
- Renders the containing elements only if the page's url matches the regular expression
262
- given in the @matches@ attribute. If the @ignore_case@ attribute is set to false, the
263
- match is case sensitive. By default, @ignore_case@ is set to true.
264
-
265
- *Usage&#58;*
266
-
267
- <pre><code><r&#58;if_url matches="regexp" [ignore_case="true|false"]>...</r&#58;if_url></code></pre>
268
-
269
- link:
270
- Renders a link to the page. When used as a single tag it uses the page's title
271
- for the link name. When used as a double tag the part in between both tags will
272
- be used as the link text. The link tag passes all attributes over to the HTML
273
- @a@ tag. This is very useful for passing attributes like the @class@ attribute
274
- or @id@ attribute. If the @anchor@ attribute is passed to the tag it will
275
- append a pound sign (<code>#</code>) followed by the value of the attribute to
276
- the @href@ attribute of the HTML @a@ tag--effectively making an HTML anchor.
277
-
278
- *Usage&#58;*
279
-
280
- <pre><code><r&#58;link [anchor="name"] [other attributes...] /></code></pre>
281
-
282
- or
283
-
284
- <pre><code><r&#58;link [anchor="name"] [other attributes...]>link text here</r&#58;link></code></pre>
285
-
286
- markdown:
287
- Filters its contents with the Markdown filter.
288
-
289
- *Usage&#58;*
290
-
291
- <pre><code><r&#58;markdown>** bold text **</r&#58;markdown></code></pre>
292
-
293
- produces
294
-
295
- <pre><code><strong> bold text </strong></code></pre>
296
-
297
- meta-description:
298
- Emits the page description field in a meta tag, unless attribute
299
- 'tag' is set to 'false'.
300
-
301
- *Usage&#58;*
302
-
303
- <pre><code> <r&#58;meta&#58;description [tag="false"] /> </code></pre>
304
-
305
- meta-keywords:
306
- Emits the page keywords field in a meta tag, unless attribute
307
- 'tag' is set to 'false'.
308
-
309
- *Usage&#58;*
310
-
311
- <pre><code> <r&#58;meta&#58;keywords [tag="false"] /> </code></pre>
312
-
313
- meta:
314
- The namespace for 'meta' attributes. If used as a singleton tag, both the description
315
- and keywords fields will be output as &lt;meta /&gt; tags unless the attribute 'tag' is set to 'false'.
316
-
317
- *Usage&#58;*
318
-
319
- <pre><code> <r&#58;meta [tag="false"] />
320
- <r&#58;meta>
321
- <r&#58;description [tag="false"] />
322
- <r&#58;keywords [tag="false"] />
323
- </r&#58;meta>
324
- </code></pre>
325
-
326
- navigation-if_first:
327
- Renders the containing elements if the element is the first
328
- in the navigation list
329
-
330
- *Usage&#58;*
331
-
332
- <pre><code><r&#58;normal><r&#58;if_first>...</r&#58;if_first></r&#58;normal></code></pre>
333
-
334
- navigation-if_last:
335
- Renders the containing elements if the element is the last
336
- in the navigation list
337
-
338
- *Usage&#58;*
339
-
340
- <pre><code><r&#58;normal><r&#58;if_last>...</r&#58;if_last></r&#58;normal></code></pre>
341
-
342
- navigation:
343
- Renders a list of links specified in the @urls@ attribute according to three
344
- states&#58;
345
-
346
- * @normal@ specifies the normal state for the link
347
- * @here@ specifies the state of the link when the url matches the current
348
- page's URL
349
- * @selected@ specifies the state of the link when the current page matches
350
- is a child of the specified url
351
- # @if_last@ renders its contents within a @normal@, @here@ or
352
- @selected@ tag if the item is the last in the navigation elements
353
- # @if_first@ renders its contents within a @normal@, @here@ or
354
- @selected@ tag if the item is the first in the navigation elements
355
-
356
- The @between@ tag specifies what should be inserted in between each of the links.
357
-
358
- *Usage&#58;*
359
-
360
- <pre><code><r&#58;navigation urls="[Title&#58; url | Title&#58; url | ...]">
361
- <r&#58;normal><a href="<r&#58;url />"><r&#58;title /></a></r&#58;normal>
362
- <r&#58;here><strong><r&#58;title /></strong></r&#58;here>
363
- <r&#58;selected><strong><a href="<r&#58;url />"><r&#58;title /></a></strong></r&#58;selected>
364
- <r&#58;between> | </r&#58;between>
365
- </r&#58;navigation>
366
- </code></pre>
367
-
368
- page:
369
- Causes the tags referring to a page's attributes to refer to the current page.
370
-
371
- *Usage&#58;*
372
-
373
- <pre><code><r&#58;page>...</r&#58;page></code></pre>
374
-
375
- parent:
376
- Page attribute tags inside this tag refer to the parent of the current page.
377
-
378
- *Usage&#58;*
379
-
380
- <pre><code><r&#58;parent>...</r&#58;parent></code></pre>
381
-
382
- random:
383
- Randomly renders one of the options specified by the @option@ tags.
384
-
385
- *Usage&#58;*
386
-
387
- <pre><code><r&#58;random>
388
- <r&#58;option>...</r&#58;option>
389
- <r&#58;option>...</r&#58;option>
390
- ...
391
- <r&#58;random>
392
- </code></pre>
393
-
394
- rfc1123_date:
395
- Outputs the published date using the format mandated by RFC 1123. (Ideal for RSS feeds.)
396
-
397
- *Usage&#58;*
398
-
399
- <pre><code><r&#58;rfc1123_date /></code></pre>
400
-
401
- slug:
402
- Renders the @slug@ attribute of the current page.
403
-
404
- smarty_pants:
405
- Filters its contents with the SmartyPants filter.
406
-
407
- *Usage&#58;*
408
-
409
- <pre><code><r&#58;smarty_pants>"A revolutionary quotation."</r&#58;smarty_pants></code></pre>
410
-
411
- produces
412
-
413
- <pre><code>&#8220;A revolutionary quotation.&#8221;</code></pre>
414
-
415
- snippet:
416
- Renders the snippet specified in the @name@ attribute within the context of a page.
417
-
418
- *Usage&#58;*
419
-
420
- <pre><code><r&#58;snippet name="snippet_name" /></code></pre>
421
-
422
- When used as a double tag, the part in between both tags may be used within the
423
- snippet itself, being substituted in place of @<r&#58;yield/>@.
424
-
425
- *Usage&#58;*
426
-
427
- <pre><code><r&#58;snippet name="snippet_name">Lorem ipsum dolor...</r&#58;snippet></code></pre>
428
-
429
- status:
430
- Prints the page's status as a string. Optional attribute 'downcase'
431
- will cause the status to be all lowercase.
432
-
433
- *Usage&#58;*
434
-
435
- <pre><code><r&#58;status [downcase='true'] /></code></pre>
436
-
437
- textile:
438
- Filters its contents with the Textile filter.
439
-
440
- *Usage*&#58;
441
-
442
- <pre><code><r&#58;textile>
443
- * First
444
- * Second
445
- </r&#58;textile></code></pre>
446
-
447
- produces&#58;
448
-
449
- <pre><code><ul>
450
- <li>First</li>
451
- <li>Second</li>
452
- </ul></code></pre>
453
-
454
- title:
455
- Renders the @title@ attribute of the current page.
456
-
457
- unless_ancestor_or_self:
458
- Renders the contained elements unless the current contextual page is either the actual page or one of its parents.
459
-
460
- This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is or descends from the current page.
461
-
462
- *Usage&#58;*
463
-
464
- <pre><code><r&#58;unless_ancestor_or_self>...</r&#58;unless_ancestor_or_self></code></pre>
465
-
466
- unless_children:
467
- Renders the contained elements only if the current contextual page has no children.
468
- The @status@ attribute limits the status of found child pages to the given status,
469
- the default is @"published"@. @status="all"@ includes all non-virtual pages
470
- regardless of status.
471
-
472
- *Usage&#58;*
473
-
474
- <pre><code><r&#58;unless_children [status="published"]>...</r&#58;unless_children></code></pre>
475
-
476
- unless_content:
477
- The opposite of the @if_content@ tag. It renders the contained elements if all of the
478
- specified parts do not exist. Setting the optional @inherit@ to true will search
479
- ancestors independently for each part. By default @inherit@ is set to @false@.
480
-
481
- When listing more than one part, you may optionally set the @find@ attribute to @any@
482
- so that it will not render the containing elements if any of the listed parts are found.
483
- By default the @find@ attribute is set to @all@.
484
-
485
- *Usage&#58;*
486
-
487
- <pre><code><r&#58;unless_content [part="part_name, other_part"] [inherit="false"] [find="any"]>...</r&#58;unless_content></code></pre>
488
-
489
- unless_dev:
490
- The opposite of the @if_dev@ tag.
491
-
492
- *Usage&#58;*
493
-
494
- <pre><code><r&#58;unless_dev>...</r&#58;unless_dev></code></pre>
495
-
496
- unless_parent:
497
- Renders the contained elements only if the current contextual page has no parent, i.e.
498
- is the root page.
499
-
500
- *Usage&#58;*
501
-
502
- <pre><code><r&#58;unless_parent>...</r&#58;unless_parent></code></pre>
503
-
504
- unless_self:
505
- Renders the contained elements unless the current contextual page is also the actual page.
506
-
507
- This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is the current page.
508
-
509
- *Usage&#58;*
510
-
511
- <pre><code><r&#58;unless_self>...</r&#58;unless_self></code></pre>
512
-
513
- unless_url:
514
- The opposite of the @if_url@ tag.
515
-
516
- *Usage&#58;*
517
-
518
- <pre><code><r&#58;unless_url matches="regexp" [ignore_case="true|false"]>...</r&#58;unless_url></code></pre>
519
-
520
- url:
521
- Renders the @url@ attribute of the current page.
522
-
523
- yield:
524
- Used within a snippet as a placeholder for substitution of child content, when
525
- the snippet is called as a double tag.
526
-
527
- *Usage (within a snippet)&#58;*
528
-
529
- <pre><code>
530
- <div id="outer">
531
- <p>before</p>
532
- <r&#58;yield/>
533
- <p>after</p>
534
- </div>
535
- </code></pre>
536
-
537
- If the above snippet was named "yielding", you could call it from any Page,
538
- Layout or Snippet as follows&#58;
539
-
540
- <pre><code><r&#58;snippet name="yielding">Content within</r&#58;snippet></code></pre>
541
-
542
- Which would output the following&#58;
543
-
544
- <pre><code>
545
- <div id="outer">
546
- <p>before</p>
547
- Content within
548
- <p>after</p>
549
- </div>
550
- </code></pre>
551
-
552
- When called in the context of a Page or a Layout, @<r&#58;yield/>@ outputs nothing.
553
-