radiant-turkish_language_pack-extension 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README ADDED
@@ -0,0 +1,9 @@
1
+ = I18n Tr
2
+
3
+ Turkish language pack for Radiant. Translation consists of
4
+ admin UI strings and description of radiant tags.
5
+
6
+ == Yapılacaklar (TO-DO's)
7
+
8
+ Tags in config/locales/tr_available_tags.yml will be translated in Turkish.
9
+ config/locales/tr_available_tags.yml dosyası full türkçeye çevirilecek dikkat edilerek.
@@ -0,0 +1,123 @@
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? RADIANT_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/radiant/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 'rake/rdoctask'
22
+ require 'rake/testtask'
23
+
24
+ rspec_base = File.expand_path(RADIANT_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 RADIANT_ROOT constant so specs will load the environment
31
+ Object.send(:remove_const, :RADIANT_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 de extension.'
106
+ Rake::RDocTask.new(:rdoc) do |rdoc|
107
+ rdoc.rdoc_dir = 'rdoc'
108
+ rdoc.title = 'I18nDeExtension'
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 de 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 }
@@ -0,0 +1,237 @@
1
+ ---
2
+ tr:
3
+ account: 'Hesap'
4
+ activerecord:
5
+ errors:
6
+ messages:
7
+ blank: 'burası boş olmamalı' # required
8
+ invalid: 'bu formata uygun değil' #invalid_format
9
+ not_a_number: 'bu mutlaka sayı olmalı' # must be number
10
+ not_a_page: "burada bir sayfa olmalı"
11
+ not_permitted: 'burası mutlaka izin verilen değerlerde olmalı'
12
+ taken: 'bu isim zaten kullanımda' # name_in_use
13
+ too_long: 'burası mutlaka %{count} karakterden uzun olmamalı' # character_limit
14
+ too_short: 'burası mutlaka %{count} karakterden kısa olmamalı' # character_minimum
15
+ models:
16
+ page:
17
+ attributes:
18
+ slug:
19
+ taken: 'Slug sayfa kardeş sayfalar tarafından kullanılıyor' # slug_in_use
20
+ user:
21
+ attributes:
22
+ email:
23
+ invalid: 'bu geçerli bir e-mail adresi değil' # invalid_email
24
+ login:
25
+ taken: 'bu oturum zaten açık ve kullanılıyor' # login already in use
26
+ password:
27
+ confirmation: 'parola uyumu sağlanmalı' # password_confirmation
28
+ add_child: 'Alt Sayfa Ekle'
29
+ add_field: 'Alan Ekle'
30
+ add_part: 'Bölüm Ekle'
31
+ add_tab: 'Tab Ekle'
32
+ admin: 'Yönetici'
33
+ available_tags: 'Kullanılabilir Etiketler'
34
+ available_tags_for: '%{name} için Kullanılabilir Etiketler'
35
+ body: 'Gövde'
36
+ breadcrumb: 'Tam hazır olmayan taslak'
37
+ buttons:
38
+ create: '%{name} Oluştur'
39
+ save_and_continue: 'Kaydet ve Düzenlemeye Devam Et'
40
+ save_changes: 'Değişiklikleri Kaydet'
41
+ cancel: 'İptal Et'
42
+ change: 'Değiştir'
43
+ close: 'Kapat'
44
+ config:
45
+ admin:
46
+ title: 'Yönetici Başlık İsmi'
47
+ defaults:
48
+ locale: 'varsayılan dil'
49
+ page:
50
+ fields: "sayfa alanları"
51
+ filter: "sayfa filtresi"
52
+ parts: "sayfa bölümleri"
53
+ status: "sayfa durumu"
54
+ snippet:
55
+ filter: "snippet filtresi"
56
+ dev:
57
+ host: "geliştirici sitesi domaini"
58
+ local:
59
+ timezone: "yerel zamandilimi"
60
+ site:
61
+ title: "site başlığı"
62
+ host: "site domaini"
63
+ user:
64
+ allow_password_reset?: "parola sıfırlamaya izin ver"
65
+ content: 'İçerik'
66
+ content_type: 'İçerik Tipi'
67
+ creating_status: 'Oluşturuluyor %{model}'
68
+ date:
69
+ abbr_day_names: [Pzr, Pzt, Sal, Çrş, Prş, Cum, Cmt]
70
+ abbr_month_names: [~, Ock, Şub, Mar, Nis, May, Haz, Tem, Ağu, Eyl, Eki, Kas, Ara]
71
+ day_names: [Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi]
72
+ formats:
73
+ default: "%d-%m-%Y"
74
+ long: "%B %e, %Y"
75
+ only_day: "%e"
76
+ short: "%e %b"
77
+ month_names: [~, Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
78
+ order: [ :day, :month, :year ]
79
+ delete_layout: 'Görünüm Düzenini Sil'
80
+ delete_pages: '%{pages} sayfalarını sil'
81
+ delete_snippet: 'Snippet Sil'
82
+ delete_user: 'Kullanıcı Sil'
83
+ description: 'Açıklama'
84
+ design: 'Dizayn'
85
+ designer: 'Dizayncı'
86
+ draft: 'Taslak'
87
+ edit: 'Düzenle'
88
+ edit_configuration: 'Konfigürasyon Düzenle'
89
+ edit_layout: 'Görünümü Düzenle'
90
+ edit_page: 'Sayfa Düzenle'
91
+ edit_preferences: 'Tercih Düzenle'
92
+ edit_settings: 'Ayar Düzenle'
93
+ edit_snippet: 'Snippet Düzenle'
94
+ edit_user: 'Kullanıcı Düzenle'
95
+ email_address: 'E-mail Adresi'
96
+ extension: 'Eklenti'
97
+ extensions: 'Eklentiler'
98
+ filter: 'Filtre'
99
+ hidden: 'Gizlenmiş'
100
+ hide: 'Gizle'
101
+ keywords: 'Anahtar Kelimeler'
102
+ language: 'Dil'
103
+ layout: 'Görünüm'
104
+ layouts: 'Görünümler'
105
+ log_out: 'Çıkış yap'
106
+ logged_in_as: 'Giriş yapan: '
107
+ login: 'Giriş Yap'
108
+ modify: 'Değiştir'
109
+ more: 'Fazlası...'
110
+ more_info: 'Daha Fazla Bilgi...'
111
+ name: 'İsim'
112
+ new_homepage: 'Yeni Anasayfa'
113
+ new_layout: 'Yeni Görünüm'
114
+ new_page: 'Yeni Sayfa'
115
+ new_password: 'Yeni Parola'
116
+ new_snippet: 'Yeni Snippet'
117
+ new_user: 'Yeni Kullanıcı'
118
+ 'no': 'Hayır'
119
+ no_layouts: 'Görünüm Yok'
120
+ no_pages: 'Sayfa Yok'
121
+ no_snippets: 'Snippet Yok'
122
+ normal_page: 'Normal Sayfa'
123
+ notes: 'Notlar'
124
+ optional: 'Opsiyonel'
125
+ or: 'ya da'
126
+ page: 'Sayfa'
127
+ page_hierarchy: 'Geçerli sistenin sayfa hiyerarşisi'
128
+ page_page: 'Sayfa Bölümü'
129
+ page_title: 'Sayfa Başlığı'
130
+ page_type: 'Sayfa Tipi'
131
+ pages: 'Sayfalar'
132
+ pages_controller:
133
+ removed_many: "Sayfalar siteden başarıyla silindi."
134
+ removed_one: "Sayfa siteden başarıyla silindi."
135
+ saved: "Sayfanız kaydedildi."
136
+ password: 'Parola'
137
+ password_confirmation: 'Parola Doğrula'
138
+ personal: 'Kişisel'
139
+ personal_preferences: 'Kişisel Tercihler'
140
+ please_login: 'Lütfen Giriş Yapın'
141
+ powered_by: 'Arkasındaki güç'
142
+ preferences: 'Tercihler'
143
+ preferences_controller:
144
+ error_updating: 'Tercihleriniz güncellerinirken bir hata ile karşılaşıldı.'
145
+ updated: 'Tercihleriniz güncellendi.'
146
+ preview: 'Önizleme'
147
+ published: 'Yayınlandı'
148
+ published_at: 'Yayınlanma yeri'
149
+ published_on: 'Yayınlanma zamanı'
150
+ reference: 'Referans'
151
+ remember_me: 'Beni hatırla'
152
+ remember_me_in_this_browser: 'Beni bu tarayıcıda hatırla'
153
+ remove: 'Sil'
154
+ remove_field: 'Alan Sil'
155
+ remove_layout: 'Görünüm Sil'
156
+ remove_page: 'Sayfa Sil'
157
+ remove_pages: '%{pages} Sil'
158
+ remove_snippet: 'Snippet Sil'
159
+ remove_tab: 'Tab Sil'
160
+ remove_user: 'Kullanıcı Sil'
161
+ required: 'Gerekli'
162
+ resource_controller:
163
+ not_found: "%{humanized_model_name} bulunamadı."
164
+ removed: "%{humanized_model_name} silinmiş."
165
+ saved: "%{humanized_model_name} kaydedildi."
166
+ update_conflict: "%{humanized_model_name} son yüklemeden beri modifiye edilmiş. Veri kaybı olmadan silinmesi mümkün değil."
167
+ validation_errors: "Bu form işlenirken onaylama hataları oluştu. Devam etmeden önce formunuzu gözden geçirip hataları düzeltiniz."
168
+ reviewed: 'Gözden geçirildi'
169
+ roles: 'Roller'
170
+ saving_changes: Değişiklikler kaydediliyor
171
+ saving_preferences: Tercihler kaydediliyor
172
+ scheduled: "Zamanlandı"
173
+ search_tags: 'Etiket Ara:'
174
+ select:
175
+ default: '<varsayılan>'
176
+ inherit: '<dahili>'
177
+ none: '<hiçbiri>'
178
+ normal: '<normal>'
179
+ settings: 'Ayarlar'
180
+ show_all: 'Hepsini Göster'
181
+ slug: 'Slug Sayfa'
182
+ snippet: 'Snippet'
183
+ snippets: 'Snippetler'
184
+ status: 'Durum'
185
+ # Warnings and info text:
186
+ testing: Test yapılıyor
187
+ text:
188
+ layouts:
189
+ remove_warning: '<strong class="warning">permanently remove</strong> görünümüne geçmeye emin misiniz?'
190
+ pages:
191
+ remove_warning: 'Gerçekten <strong class="warning">permanently remove</strong> %{pages} silmeye kararlı mısınız?'
192
+ snippets:
193
+ remove_warning: 'Gerçekten <strong class="warning">permanently remove</strong> bu snippeti silecek misiniz?'
194
+ users:
195
+ remove_warning: 'Gerçekten <strong class="warning">permanently remove</strong> bu kullanıcıyı silecek misiniz?'
196
+ this_file_language: "Turkish"
197
+ time:
198
+ formats:
199
+ datetime:
200
+ formats:
201
+ default: "%m-%Y-%dT%H:%M:%S%Z"
202
+ default: "%a %b %d %H:%M:%S %Z %Y"
203
+ long: "%B %d, %Y %H:%M"
204
+ only_second: "%S"
205
+ short: "%d %b %H:%M"
206
+ time: "%H:%M"
207
+ timestamp: "%I:%M %p on %B %d, %Y"
208
+ timestamp:
209
+ at: 'at'
210
+ by: 'by'
211
+ last_updated: 'Son Güncelleme'
212
+ type: 'Tip'
213
+ units:
214
+ KB: "KB"
215
+ MB: "MB"
216
+ GB: "GB"
217
+ seconds: "saniye"
218
+ minutes: "dakika"
219
+ hours: "saat"
220
+ days: "gün"
221
+ weeks: "hafta"
222
+ months: "ay"
223
+ user: 'Kullanıcı'
224
+ username: 'Kullanıcı Adı'
225
+ username_or_email: 'Kullanıcı Adı veya E-mail Adresi'
226
+ users: 'Kullanıcılar'
227
+ users_controller:
228
+ cannot_delete_self: 'Kendinizi silemezsiniz.'
229
+ version: 'Versiyon'
230
+ view_site: 'Siteyi Gör'
231
+ warning: 'Uyarı'
232
+ website: 'Websitesi'
233
+ welcome_controller:
234
+ invalid_user: 'Geçersiz kullanıcı adı, e-mail adresi, veya parola.'
235
+ logged_out: 'Çıkışınız yapıldı. Çıktınız'
236
+ 'yes': 'Evet'
237
+
@@ -0,0 +1,625 @@
1
+
2
+ ---
3
+ en:
4
+ desc:
5
+ aggregate-children-count: "Renders the total count of children of the aggregated pages. Accepts the
6
+ same options as @<r:children:each />@.
7
+
8
+ *Usage*:
9
+
10
+ <pre><code><r:aggregate paths=\"/section1; /section2; /section3\">
11
+ <r:children:count />
12
+ </r:aggregate></code></pre>"
13
+ aggregate-children-each: "Renders the contained block for each child of the aggregated pages. Accepts the
14
+ same options as the plain @<r:children:each />@.
15
+
16
+ *Usage*:
17
+
18
+ <pre><code><r:aggregate paths=\"/section1; /section2; /section3\">
19
+ <r:children:each>
20
+ ...
21
+ </r:children:each>
22
+ </r:aggregate></code></pre>"
23
+ aggregate-children-first: "Renders the first child of the aggregated pages. Accepts the
24
+ same options as @<r:children:each />@.
25
+
26
+ *Usage*:
27
+
28
+ <pre><code><r:aggregate paths=\"/section1; /section2; /section3\">
29
+ <r:children:first>
30
+ ...
31
+ </r:children:first>
32
+ </r:aggregate></code></pre>"
33
+ aggregate-children-last: "Renders the last child of the aggregated pages. Accepts the
34
+ same options as @<r:children:each />@.
35
+
36
+ *Usage*:
37
+
38
+ <pre><code><r:aggregate paths=\"/section1; /section2; /section3\">
39
+ <r:children:last>
40
+ ...
41
+ </r:children:last>
42
+ </r:aggregate></code></pre>"
43
+ aggregate-each: "Sets the scope to the individual aggregated page allowing you to
44
+ iterate through each of the listed paths.
45
+
46
+ *Usage*:
47
+
48
+ <pre><code><r:aggregate:each paths=\"/section1; /section2; /section3\"> ... </r:aggregate:each></code></pre>"
49
+ aggregate: "Aggregates the children of multiple paths using the @paths@ attribute.
50
+ Useful for combining many different sections/categories into a single
51
+ feed or listing.
52
+
53
+ *Usage*:
54
+
55
+ <pre><code><r:aggregate paths=\"/section1; /section2; /section3\"> ... </r:aggregate></code></pre>"
56
+ author: "Renders the name of the author of the current page."
57
+ breadcrumb: "Renders the @breadcrumb@ attribute of the current page."
58
+ breadcrumbs: "Renders a trail of breadcrumbs to the current page. The separator attribute
59
+ specifies the HTML fragment that is inserted between each of the breadcrumbs. By
60
+ default it is set to @>@. The boolean @nolinks@ attribute can be specified to render
61
+ breadcrumbs in plain text, without any links (useful when generating title tag).
62
+ Set the boolean @noself@ attribute to omit the present page (useful in page headers).
63
+
64
+ *Usage:*
65
+
66
+ <pre><code><r:breadcrumbs [separator=\"separator_string\"] [nolinks=\"true\"] [noself=\"true\"]/></code></pre>"
67
+ children-count: "Renders the total number of children."
68
+ children-each-child: "Page attribute tags inside of this tag refer to the current child. This is occasionally
69
+ useful if you are inside of another tag (like &lt;r:find&gt;) and need to refer back to the
70
+ current child.
71
+
72
+ *Usage:*
73
+
74
+ <pre><code><r:children:each>
75
+ <r:child>...</r:child>
76
+ </r:children:each>
77
+ </code></pre>"
78
+ children-each-header: "Renders the tag contents only if the contents do not match the previous header. This
79
+ is extremely useful for rendering date headers for a list of child pages.
80
+
81
+ If you would like to use several header blocks you may use the @name@ attribute to
82
+ name the header. When a header is named it will not restart until another header of
83
+ the same name is different.
84
+
85
+ Using the @restart@ attribute you can cause other named headers to restart when the
86
+ present header changes. Simply specify the names of the other headers in a semicolon
87
+ separated list.
88
+
89
+ *Usage:*
90
+
91
+ <pre><code><r:children:each>
92
+ <r:header [name=\"header_name\"] [restart=\"name1[;name2;...]\"]>
93
+ ...
94
+ </r:header>
95
+ </r:children:each>
96
+ </code></pre>"
97
+ children-each-if_first: "Renders the tag contents only if the current page is the first child in the context of
98
+ a children:each tag
99
+
100
+ *Usage:*
101
+
102
+ <pre><code><r:children:each>
103
+ <r:if_first >
104
+ ...
105
+ </r:if_first>
106
+ </r:children:each>
107
+ </code></pre>"
108
+ children-each-if_last: "Renders the tag contents only if the current page is the last child in the context of
109
+ a children:each tag
110
+
111
+ *Usage:*
112
+
113
+ <pre><code><r:children:each>
114
+ <r:if_last >
115
+ ...
116
+ </r:if_last>
117
+ </r:children:each>
118
+ </code></pre>"
119
+ children-each-unless_first: "Renders the tag contents unless the current page is the first child in the context of
120
+ a children:each tag
121
+
122
+ *Usage:*
123
+
124
+ <pre><code><r:children:each>
125
+ <r:unless_first >
126
+ ...
127
+ </r:unless_first>
128
+ </r:children:each>
129
+ </code></pre>"
130
+ children-each-unless_last: "Renders the tag contents unless the current page is the last child in the context of
131
+ a children:each tag
132
+
133
+ *Usage:*
134
+
135
+ <pre><code><r:children:each>
136
+ <r:unless_last >
137
+ ...
138
+ </r:unless_last>
139
+ </r:children:each>
140
+ </code></pre>"
141
+ children-each: "Cycles through each of the children. Inside this tag all page attribute tags
142
+ are mapped to the current child page.
143
+
144
+ Supply @paginated=\"true\"@ to paginate the displayed list. will_paginate view helper
145
+ options can also be specified, including @per_page@, @previous_label@, @next_label@,
146
+ @class@, @separator@, @inner_window@ and @outer_window@.
147
+
148
+ *Usage:*
149
+
150
+ <pre><code><r:children:each [offset=\"number\"] [limit=\"number\"]
151
+ [by=\"published_at|updated_at|created_at|slug|title|keywords|description\"]
152
+ [order=\"asc|desc\"]
153
+ [status=\"draft|reviewed|published|hidden|all\"]
154
+ [paginated=\"true\"]
155
+ [per_page=\"number\"]
156
+ >
157
+ ...
158
+ </r:children:each>
159
+ </code></pre>"
160
+ children-first: "Returns the first child. Inside this tag all page attribute tags are mapped to
161
+ the first child. Takes the same ordering options as @<r:children:each>@.
162
+
163
+ *Usage:*
164
+
165
+ <pre><code><r:children:first>...</r:children:first></code></pre>"
166
+ children-last: "Returns the last child. Inside this tag all page attribute tags are mapped to
167
+ the last child. Takes the same ordering options as @<r:children:each>@.
168
+
169
+ *Usage:*
170
+
171
+ <pre><code><r:children:last>...</r:children:last></code></pre>"
172
+ children: "Gives access to a page's children.
173
+
174
+ *Usage:*
175
+
176
+ <pre><code><r:children>...</r:children></code></pre>"
177
+ comment: "This is deprecated and will be removed. Plase use @<r:hide>@
178
+ Nothing inside a set of comment tags is rendered.
179
+
180
+ *Usage:*
181
+
182
+ <pre><code><r:comment>...</r:comment></code></pre>"
183
+ content: "Renders the main content of a page. Use the @part@ attribute to select a specific
184
+ page part. By default the @part@ attribute is set to body. Use the @inherit@
185
+ attribute to specify that if a page does not have a content part by that name that
186
+ the tag should render the parent's content part. By default @inherit@ is set to
187
+ @false@. Use the @contextual@ attribute to force a part inherited from a parent
188
+ part to be evaluated in the context of the child page. By default 'contextual'
189
+ is set to true.
190
+
191
+ *Usage:*
192
+
193
+ <pre><code><r:content [part=\"part_name\"] [inherit=\"true|false\"] [contextual=\"true|false\"] /></code></pre>"
194
+ cycle: "Renders a counter value or one of the values given based on a global cycle counter.
195
+
196
+ To get a numeric counter just use the tag, or specify a start value with @start@.
197
+ Use the @reset@ attribute to reset the cycle to the beginning. Using @reset@ on a
198
+ numbered cycle will begin at 0. Use the @name@ attribute to track multiple cycles;
199
+ the default is @cycle@.
200
+
201
+ *Usage:*
202
+
203
+ <pre><code><r:cycle [values=\"first, second, third\"] [reset=\"true|false\"] [name=\"cycle\"] [start=\"second\"] /></code></pre>
204
+ <pre><code><r:cycle start=\"3\" /></code></pre>"
205
+ date: "Renders the date based on the current page (by default when it was published or created).
206
+ The format attribute uses the same formating codes used by the Ruby @strftime@ function. By
207
+ default it's set to @&#37;A, &#37;B &#37;d, &#37;Y@. The @for@ attribute selects which date to render. Valid
208
+ options are @published_at@, @created_at@, @updated_at@, and @now@. @now@ will render the
209
+ current date/time, regardless of the page.
210
+
211
+ *Usage:*
212
+
213
+ <pre><code><r:date [format=\"&#37;A, &#37;B &#37;d, &#37;Y\"] [for=\"published_at\"]/></code></pre>"
214
+ escape_html: "Escapes angle brackets, etc. for rendering in an HTML document.
215
+
216
+ *Usage:*
217
+
218
+ <pre><code><r:escape_html>...</r:escape_html></code></pre>"
219
+ field: "Renders the content of the field given in the @name@ attribute.
220
+
221
+ *Usage:*
222
+
223
+ <pre><code><r:field name=\"Keywords\" /></code></pre>"
224
+ find: "Inside this tag all page related tags refer to the page found at the @path@ attribute.
225
+ @path@s may be relative or absolute paths.
226
+
227
+ *Usage:*
228
+
229
+ <pre><code><r:find path=\"value_to_find\">...</r:find></code></pre>"
230
+ gravatar: "Renders the Gravatar of the author of the current page or the named user.
231
+
232
+ *Usage:*
233
+
234
+ <pre><code><r:gravatar /></code></pre>
235
+
236
+ or
237
+
238
+ <pre><code><r:gravatar [name=\"User Name\"]
239
+ [rating=\"G | PG | R | X\"]
240
+ [size=\"32px\"] /></code></pre>"
241
+ hide: "Nothing inside a set of hide tags is rendered.
242
+
243
+ *Usage:*
244
+
245
+ <pre><code><r:hide>...</r:hide></code></pre>"
246
+ if_ancestor_or_self: "Renders the contained elements if the current contextual page is either the actual page or one of its parents.
247
+
248
+ This is typically used inside another tag (like &lt;r:children:each&gt;) to add conditional mark-up if the child element is or descends from the current page.
249
+
250
+ *Usage:*
251
+
252
+ <pre><code><r:if_ancestor_or_self>...</r:if_ancestor_or_self></code></pre>"
253
+ if_children: "Renders the contained elements only if the current contextual page has one or
254
+ more child pages. The @status@ attribute limits the status of found child pages
255
+ to the given status, the default is @\"published\"@. @status=\"all\"@ includes all
256
+ non-virtual pages regardless of status.
257
+
258
+ *Usage:*
259
+
260
+ <pre><code><r:if_children [status=\"published\"]>...</r:if_children></code></pre>"
261
+ if_content: "Renders the containing elements if all of the listed parts exist on a page.
262
+ By default the @part@ attribute is set to @body@, but you may list more than one
263
+ part by separating them with a comma. Setting the optional @inherit@ to true will
264
+ search ancestors independently for each part. By default @inherit@ is set to @false@.
265
+
266
+ When listing more than one part, you may optionally set the @find@ attribute to @any@
267
+ so that it will render the containing elements if any of the listed parts are found.
268
+ By default the @find@ attribute is set to @all@.
269
+
270
+ *Usage:*
271
+
272
+ <pre><code><r:if_content [part=\"part_name, other_part\"] [inherit=\"true\"] [find=\"any\"]>...</r:if_content></code></pre>"
273
+ if_dev: "Renders the containing elements only if Radiant in is development mode.
274
+
275
+ *Usage:*
276
+
277
+ <pre><code><r:if_dev>...</r:if_dev></code></pre>"
278
+ if_field: "Renders the contained elements if the field given in the @name@ attribute
279
+ exists. The tag also takes an optional @equals@ or @matches@ attribute;
280
+ these will expand the tag if the field's content equals or matches the
281
+ given string or regex.
282
+
283
+ *Usage:*
284
+
285
+ <pre><code><r:if_field name=\"author\" [equals|matches=\"John\"] [ignore_case=\"true|false\"]>...</r:if_field></code></pre>"
286
+ if_parent: "Renders the contained elements only if the current contextual page has a parent, i.e.
287
+ is not the root page.
288
+
289
+ *Usage:*
290
+
291
+ <pre><code><r:if_parent>...</r:if_parent></code></pre>"
292
+ if_path: "Renders the containing elements only if the page's path matches the regular expression
293
+ given in the @matches@ attribute. If the @ignore_case@ attribute is set to false, the
294
+ match is case sensitive. By default, @ignore_case@ is set to true.
295
+
296
+ *Usage:*
297
+
298
+ <pre><code><r:if_path matches=\"regexp\" [ignore_case=\"true|false\"]>...</r:if_path></code></pre>"
299
+ if_self: "Renders the contained elements if the current contextual page is also the actual page.
300
+
301
+ This is typically used inside another tag (like &lt;r:children:each&gt;) to add conditional mark-up if the child element is the current page.
302
+
303
+ *Usage:*
304
+
305
+ <pre><code><r:if_self>...</r:if_self></code></pre>"
306
+ javascript: "Renders the content from or a reference to the javascript specified in the @slug@
307
+ attribute. Additionally, the @as@ attribute can be used to make the tag render
308
+ as one of the following:
309
+
310
+ * with no @as@ value the javascript's content is rendered by default.
311
+ * @inline@ - wraps the javascript's content in an (X)HTML @<script>@ element.
312
+ * @url@ - the full path to the javascript.
313
+ * @link@ - embeds the url in an (X)HTML @<script>@ element (creating a link to the external javascript).
314
+
315
+ *Additional Options:*
316
+ When rendering @as=\"inline\"@ or @as=\"link\"@, the (X)HTML @type@ attribute
317
+ is automatically be set to the default javascript content-type.
318
+ You can overrride this attribute or add additional ones by passing extra
319
+ attributes to the @<r:javascript>@ tag.
320
+
321
+ *Usage:*
322
+
323
+ <pre><code><r:javascript slug=\"site.css\" as=\"inline\"
324
+ type=\"text/custom\" id=\"my_id\" />
325
+ <r:javascript slug=\"other.js\" as=\"link\" /></code></pre>
326
+
327
+ The above example will produce the following:
328
+
329
+ <pre><code> <script type=\"text/custom\" id=\"my_id\">
330
+ //<![CDATA[
331
+ var your_script = 'this content';
332
+ //]]>
333
+ </script>
334
+ <script type=\"text/javascript\" src=\"/js/other.js\"></script></code></pre>"
335
+ link: "Renders a link to the page. When used as a single tag it uses the page's title
336
+ for the link name. When used as a double tag the part in between both tags will
337
+ be used as the link text. The link tag passes all attributes over to the HTML
338
+ @a@ tag. This is very useful for passing attributes like the @class@ attribute
339
+ or @id@ attribute. If the @anchor@ attribute is passed to the tag it will
340
+ append a pound sign (<code>#</code>) followed by the value of the attribute to
341
+ the @href@ attribute of the HTML @a@ tag--effectively making an HTML anchor.
342
+
343
+ *Usage:*
344
+
345
+ <pre><code><r:link [anchor=\"name\"] [other attributes...] /></code></pre>
346
+
347
+ or
348
+
349
+ <pre><code><r:link [anchor=\"name\"] [other attributes...]>link text here</r:link></code></pre>"
350
+ markdown: "Filters its contents with the Markdown filter.
351
+
352
+ *Usage:*
353
+
354
+ <pre><code><r:markdown>** bold text **</r:markdown></code></pre>
355
+
356
+ produces
357
+
358
+ <pre><code><strong> bold text </strong></code></pre>"
359
+ meta-description: "Emits the page description field in a meta tag, unless attribute
360
+ 'tag' is set to 'false'.
361
+
362
+ *Usage:*
363
+
364
+ <pre><code> <r:meta:description [tag=\"false\"] /> </code></pre>"
365
+ meta-keywords: "Emits the page keywords field in a meta tag, unless attribute
366
+ 'tag' is set to 'false'.
367
+
368
+ *Usage:*
369
+
370
+ <pre><code> <r:meta:keywords [tag=\"false\"] /> </code></pre>"
371
+ meta: "The namespace for 'meta' attributes. If used as a singleton tag, both the description
372
+ and keywords fields will be output as &lt;meta /&gt; tags unless the attribute 'tag' is set to 'false'.
373
+
374
+ *Usage:*
375
+
376
+ <pre><code> <r:meta [tag=\"false\"] />
377
+ <r:meta>
378
+ <r:description [tag=\"false\"] />
379
+ <r:keywords [tag=\"false\"] />
380
+ </r:meta>
381
+ </code></pre>"
382
+ navigation-if_first: "Renders the containing elements if the element is the first
383
+ in the navigation list
384
+
385
+ *Usage:*
386
+
387
+ <pre><code><r:normal><r:if_first>...</r:if_first></r:normal></code></pre>"
388
+ navigation-if_last: "Renders the containing elements if the element is the last
389
+ in the navigation list
390
+
391
+ *Usage:*
392
+
393
+ <pre><code><r:normal><r:if_last>...</r:if_last></r:normal></code></pre>"
394
+ navigation-unless_first: "Renders the containing elements unless the element is the first
395
+ in the navigation list
396
+
397
+ *Usage:*
398
+
399
+ <pre><code><r:normal><r:unless_first>...</r:unless_first></r:normal></code></pre>"
400
+ navigation-unless_last: "Renders the containing elements unless the element is the last
401
+ in the navigation list
402
+
403
+ *Usage:*
404
+
405
+ <pre><code><r:normal><r:unless_last>...</r:unless_last></r:normal></code></pre>"
406
+ navigation: "Renders a list of links specified in the @paths@ attribute according to three
407
+ states:
408
+
409
+ * @normal@ specifies the normal state for the link
410
+ * @here@ specifies the state of the link when the path matches the current
411
+ page's PATH
412
+ * @selected@ specifies the state of the link when the current page matches
413
+ is a child of the specified path
414
+ # @if_last@ renders its contents within a @normal@, @here@ or
415
+ @selected@ tag if the item is the last in the navigation elements
416
+ # @if_first@ renders its contents within a @normal@, @here@ or
417
+ @selected@ tag if the item is the first in the navigation elements
418
+
419
+ The @between@ tag specifies what should be inserted in between each of the links.
420
+
421
+ *Usage:*
422
+
423
+ <pre><code><r:navigation paths=\"[Title: path | Title: path | ...]\">
424
+ <r:normal><a href=\"<r:path />\"><r:title /></a></r:normal>
425
+ <r:here><strong><r:title /></strong></r:here>
426
+ <r:selected><strong><a href=\"<r:path />\"><r:title /></a></strong></r:selected>
427
+ <r:between> | </r:between>
428
+ </r:navigation>
429
+ </code></pre>"
430
+ page: "Causes the tags referring to a page's attributes to refer to the current page.
431
+
432
+ *Usage:*
433
+
434
+ <pre><code><r:page>...</r:page></code></pre>"
435
+ pagination: "The pagination tag is not usually called directly. Supply paginated=\"true\" when you display a list and it will
436
+ be automatically display only the current page of results, with pagination controls at the bottom.
437
+
438
+ *Usage:*
439
+
440
+ <pre><code><r:children:each paginated=\"true\" per_page=\"50\" container=\"false\" previous_label=\"foo\" next_label=\"bar\">
441
+ <r:child>...</r:child>
442
+ </r:children:each>
443
+ </code></pre>"
444
+ parent: "Page attribute tags inside this tag refer to the parent of the current page.
445
+
446
+ *Usage:*
447
+
448
+ <pre><code><r:parent>...</r:parent></code></pre>"
449
+ path: "Renders the @path@ attribute of the current page."
450
+ random: "Randomly renders one of the options specified by the @option@ tags.
451
+
452
+ *Usage:*
453
+
454
+ <pre><code><r:random>
455
+ <r:option>...</r:option>
456
+ <r:option>...</r:option>
457
+ ...
458
+ <r:random>
459
+ </code></pre>"
460
+ rfc1123_date: "Outputs the published date using the format mandated by RFC 1123. (Ideal for RSS feeds.)
461
+
462
+ *Usage:*
463
+
464
+ <pre><code><r:rfc1123_date /></code></pre>"
465
+ slug: "Renders the @slug@ attribute of the current page."
466
+ smarty_pants: "Filters its contents with the SmartyPants filter.
467
+
468
+ *Usage:*
469
+
470
+ <pre><code><r:smarty_pants>\"A revolutionary quotation.\"</r:smarty_pants></code></pre>
471
+
472
+ produces
473
+
474
+ <pre><code>&#8220;A revolutionary quotation.&#8221;</code></pre>"
475
+ snippet: "Renders the snippet specified in the @name@ attribute within the context of a page.
476
+
477
+ *Usage:*
478
+
479
+ <pre><code><r:snippet name=\"snippet_name\" /></code></pre>
480
+
481
+ When used as a double tag, the part in between both tags may be used within the
482
+ snippet itself, being substituted in place of @<r:yield/>@.
483
+
484
+ *Usage:*
485
+
486
+ <pre><code><r:snippet name=\"snippet_name\">Lorem ipsum dolor...</r:snippet></code></pre>"
487
+ status: "Prints the page's status as a string. Optional attribute 'downcase'
488
+ will cause the status to be all lowercase.
489
+
490
+ *Usage:*
491
+
492
+ <pre><code><r:status [downcase='true'] /></code></pre>"
493
+ stylesheet: "Renders the content from or a reference to the stylesheet specified in the @slug@
494
+ attribute. Additionally, the @as@ attribute can be used to make the tag render
495
+ as one of the following:
496
+
497
+ * with no @as@ value the stylesheet's content is rendered by default.
498
+ * @inline@ - wraps the stylesheet's content in an (X)HTML @<style>@ element.
499
+ * @url@ - the full path to the stylesheet.
500
+ * @link@ - embeds the url in an (X)HTML @<link>@ element (creating a link to the external stylesheet).
501
+
502
+ *Additional Options:*
503
+ When rendering @as=\"inline\"@ or @as=\"link\"@, the (X)HTML @type@ attribute
504
+ is automatically be set to the default stylesheet content-type.
505
+ You can overrride this attribute or add additional ones by passing extra
506
+ attributes to the @<r:stylesheet>@ tag.
507
+
508
+ *Usage:*
509
+
510
+ <pre><code><r:stylesheet slug=\"site.css\" as=\"inline\"
511
+ type=\"text/custom\" id=\"my_id\" />
512
+ <r:stylesheet slug=\"other.css\" as=\"link\"
513
+ rel=\"alternate stylesheet\" /></code></pre>
514
+
515
+ The above example will produce the following:
516
+
517
+ <pre><code> <style type=\"text/custom\" id=\"my_id\">
518
+ /*<![CDATA[*/
519
+ .your_stylesheet { content: 'here' }
520
+ /*]]>*/
521
+ </style>
522
+ <link rel=\"alternate stylesheet\" type=\"text/css\"
523
+ href=\"/css/other.css\" /></code></pre>"
524
+ textile: "Filters its contents with the Textile filter.
525
+
526
+ *Usage*:
527
+
528
+ <pre><code><r:textile>
529
+ * First
530
+ * Second
531
+ </r:textile></code></pre>
532
+
533
+ produces:
534
+
535
+ <pre><code><ul>
536
+ <li>First</li>
537
+ <li>Second</li>
538
+ </ul></code></pre>"
539
+ title: "Renders the @title@ attribute of the current page."
540
+ unless_ancestor_or_self: "Renders the contained elements unless the current contextual page is either the actual page or one of its parents.
541
+
542
+ This is typically used inside another tag (like &lt;r:children:each&gt;) to add conditional mark-up unless the child element is or descends from the current page.
543
+
544
+ *Usage:*
545
+
546
+ <pre><code><r:unless_ancestor_or_self>...</r:unless_ancestor_or_self></code></pre>"
547
+ unless_children: "Renders the contained elements only if the current contextual page has no children.
548
+ The @status@ attribute limits the status of found child pages to the given status,
549
+ the default is @\"published\"@. @status=\"all\"@ includes all non-virtual pages
550
+ regardless of status.
551
+
552
+ *Usage:*
553
+
554
+ <pre><code><r:unless_children [status=\"published\"]>...</r:unless_children></code></pre>"
555
+ unless_content: "The opposite of the @if_content@ tag. It renders the contained elements if all of the
556
+ specified parts do not exist. Setting the optional @inherit@ to true will search
557
+ ancestors independently for each part. By default @inherit@ is set to @false@.
558
+
559
+ When listing more than one part, you may optionally set the @find@ attribute to @any@
560
+ so that it will not render the containing elements if any of the listed parts are found.
561
+ By default the @find@ attribute is set to @all@.
562
+
563
+ *Usage:*
564
+
565
+ <pre><code><r:unless_content [part=\"part_name, other_part\"] [inherit=\"false\"] [find=\"any\"]>...</r:unless_content></code></pre>"
566
+ unless_dev: "The opposite of the @if_dev@ tag.
567
+
568
+ *Usage:*
569
+
570
+ <pre><code><r:unless_dev>...</r:unless_dev></code></pre>"
571
+ unless_field: "The opposite of @if_field@. Renders the contained elements unless the field
572
+ given in the @name@ attribute exists. The tag also takes an optional
573
+ @equals@ or @matches@ attribute; these will expand the tag unless the
574
+ field's content equals or matches the given string or regex.
575
+
576
+ *Usage:*
577
+
578
+ <pre><code><r:unless_field name=\"author\" [equals|matches=\"John\"] [ignore_case=\"true|false\"]>...</r:unless_field></code></pre>"
579
+ unless_parent: "Renders the contained elements only if the current contextual page has no parent, i.e.
580
+ is the root page.
581
+
582
+ *Usage:*
583
+
584
+ <pre><code><r:unless_parent>...</r:unless_parent></code></pre>"
585
+ unless_path: "The opposite of the @if_path@ tag.
586
+
587
+ *Usage:*
588
+
589
+ <pre><code><r:unless_path matches=\"regexp\" [ignore_case=\"true|false\"]>...</r:unless_path></code></pre>"
590
+ unless_self: "Renders the contained elements unless the current contextual page is also the actual page.
591
+
592
+ This is typically used inside another tag (like &lt;r:children:each&gt;) to add conditional mark-up unless the child element is the current page.
593
+
594
+ *Usage:*
595
+
596
+ <pre><code><r:unless_self>...</r:unless_self></code></pre>"
597
+ yield: "Used within a snippet as a placeholder for substitution of child content, when
598
+ the snippet is called as a double tag.
599
+
600
+ *Usage (within a snippet):*
601
+
602
+ <pre><code>
603
+ <div id=\"outer\">
604
+ <p>before</p>
605
+ <r:yield/>
606
+ <p>after</p>
607
+ </div>
608
+ </code></pre>
609
+
610
+ If the above snippet was named \"yielding\", you could call it from any Page,
611
+ Layout or Snippet as follows:
612
+
613
+ <pre><code><r:snippet name=\"yielding\">Content within</r:snippet></code></pre>
614
+
615
+ Which would output the following:
616
+
617
+ <pre><code>
618
+ <div id=\"outer\">
619
+ <p>before</p>
620
+ Content within
621
+ <p>after</p>
622
+ </div>
623
+ </code></pre>
624
+
625
+ When called in the context of a Page or a Layout, @<r:yield/>@ outputs nothing."