radiant-turkish_language_pack-extension 1.0.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.
- data/README +9 -0
- data/Rakefile +123 -0
- data/config/locales/tr.yml +237 -0
- data/config/locales/tr_available_tags.yml +625 -0
- data/doc/classes/TurkishLanguagePackExtension.html +137 -0
- data/doc/classes/TurkishLanguagePackExtension.src/M000001.html +18 -0
- data/doc/created.rid +1 -0
- data/doc/files/README.html +115 -0
- data/doc/files/Rakefile.html +259 -0
- data/doc/files/radiant-turkish_language_pack-extension_gemspec.html +158 -0
- data/doc/files/turkish_language_pack_extension_rb.html +101 -0
- data/doc/fr_class_index.html +27 -0
- data/doc/fr_file_index.html +30 -0
- data/doc/fr_method_index.html +27 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/tasks/i18n_tr_extension_tasks.rake +28 -0
- data/radiant-turkish_language_pack-extension.gemspec +49 -0
- data/turkish_language_pack_extension.rb +9 -0
- metadata +100 -0
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.
|
data/Rakefile
ADDED
@@ -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 <r:find>) 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 @%A, %B %d, %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=\"%A, %B %d, %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 <r:children:each>) 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 <r:children:each>) 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 <meta /> 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>“A revolutionary quotation.”</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 <r:children:each>) 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 <r:children:each>) 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."
|