summaryrefslogtreecommitdiff
path: root/docs/templatetags.rst
blob: b73383f46c8db9d41cc50ba7467ed385a735c580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
=============
Template Tags
=============

.. module:: gstudio.templatetags

.. highlightlang:: html+django

Gstudio provides several template tags based on
:ref:`inclusion_tag<howto-custom-template-tags-inclusion-tags>` system to
create some **widgets** in your Web site's templates.

.. note::

   The presence of the ``template`` argument in many template tags allow you
   to reuse and customize the rendering of a template tag in a generic
   way. Like that you can display the same template tag many times in your
   pages but with a different appearance.

To start using any of the following template tags you need to load them
first at the top of your template: ::

  {% load gstudio_tags %}

.. module:: gstudio.templatetags.gstudio_tags

.. templatetag:: get_recent_entries

get_recent_entries
==================

Display the latest entries.

.. autofunction:: get_recent_entries

Usage examples: ::

  {% get_recent_entries %}
  {% get_recent_entries 3 %}
  {% get_recent_entries 3 "custom_template.html" %}

.. templatetag:: get_featured_entries

get_featured_entries
====================

Display the featured entries.

.. autofunction:: get_featured_entries

Usage examples: ::

  {% get_featured_entries %}
  {% get_featured_entries 3 %}
  {% get_featured_entries 3 "custom_template.html" %}

.. templatetag:: get_random_entries

get_random_entries
==================

Display random entries.

.. autofunction:: get_random_entries

Usage examples: ::

  {% get_random_entries %}
  {% get_random_entries 3 %}
  {% get_random_entries 3 "custom_template.html" %}

.. templatetag:: get_popular_entries

get_popular_entries
===================

Display popular entries.

.. autofunction:: get_popular_entries

Usage examples: ::

  {% get_popular_entries %}
  {% get_popular_entries 3 %}
  {% get_popular_entries 3 "custom_template.html" %}

.. templatetag:: get_similar_entries

get_similar_entries
===================

Display entries similar to an existing entry.

.. autofunction:: get_similar_entries

Usage examples: ::

  {% get_similar_entries %}
  {% get_similar_entries 3 %}
  {% get_similar_entries 3 "custom_template.html" %}

.. templatetag:: get_calendar_entries

get_calendar_entries
====================

Display an HTML calendar with date of publications.

If you don't set the *year* or the *month* parameter, the calendar will
look in the context of the template if one of these variables is set in
this order : ``(month, day, object.creation_date)``.

If no one of these variables is found, the current month will be displayed.

.. autofunction:: get_calendar_entries

Usage examples: ::

  {% get_calendar_entries %}
  {% get_calendar_entries 2011 4 %}
  {% get_calendar_entries 2011 4 "custom_template.html" %}

.. templatetag:: get_archives_entries

get_archives_entries
====================

Display the archives by month.

.. autofunction:: get_archives_entries

Usage examples: ::

  {% get_archives_entries %}
  {% get_archives_entries "custom_template.html" %}

.. templatetag:: get_archives_entries_tree

get_archives_entries_tree
=========================

Display all the archives as a tree.

.. autofunction::  get_archives_entries_tree

Usage examples: ::

  {% get_archives_entries_tree %}
  {% get_archives_entries_tree "custom_template.html" %}

.. templatetag:: get_authors

get_authors
===========

Display all the published authors.

.. autofunction:: get_authors

Usage examples: ::

  {% get_authors %}
  {% get_authors "custom_template.html" %}

.. templatetag:: get_categories

get_categories
==============

Display all the categories available.

.. autofunction:: get_categories

Usage examples: ::

  {% get_categories %}
  {% get_categories "custom_template.html" %}

.. templatetag:: get_tags

get_tags
========

Store in a context variable a queryset of all the published tags.

.. autofunction:: get_tags

Usage example: ::

  {% get_tags as entry_tags %}

.. templatetag:: get_tag_cloud

get_tag_cloud
=============

Display a cloud of published tags.

.. autofunction:: get_tag_cloud

Usage examples: ::

  {% get_tag_cloud %}
  {% get_tag_cloud 9 %}
  {% get_tag_cloud 9 "custom_template.html" %}

.. templatetag:: get_recent_comments

get_recent_comments
===================

Display the latest comments.

.. autofunction:: get_recent_comments

Usage examples: ::

  {% get_recent_comments %}
  {% get_recent_comments 3 %}
  {% get_recent_comments 3 "custom_template.html" %}

.. templatetag:: get_recent_linkbacks

get_recent_linkbacks
====================

Display the latest linkbacks.

.. autofunction:: get_recent_linkbacks

Usage examples: ::

  {% get_recent_linkbacks %}
  {% get_recent_linkbacks 3 %}
  {% get_recent_linkbacks 3 "custom_template.html" %}

.. templatetag:: gstudio_pagination

gstudio_pagination
=================

Display a Digg-like pagination for long list of pages.

.. autofunction:: gstudio_pagination

Usage examples: ::

  {% gstudio_pagination page_obj %}
  {% gstudio_pagination page_obj 2 2 %}
  {% gstudio_pagination page_obj 2 2 3 3 %}
  {% gstudio_pagination page_obj 2 2 3 3 "custom_template.html" %}

.. templatetag:: gstudio_breadcrumbs

gstudio_breadcrumbs
==================

Display the breadcrumbs for the pages handled by Gstudio.

.. autofunction:: gstudio_breadcrumbs

Usage examples: ::

  {% gstudio_breadcrumbs %}
  {% gstudio_breadcrumbs ">" "News" %}
  {% gstudio_breadcrumbs ">" "News" "custom_template.html" %}

.. templatetag:: get_gravatar

get_gravatar
============

Display the `Gravatar
<http://gravater.com>`_ image associated to an email, useful for comments.

.. autofunction:: get_gravatar

Usage examples: ::

  {% get_gravatar user.email %}
  {% get_gravatar user.email 50 %}
  {% get_gravatar user.email 50 "PG" %}
  {% get_gravatar user.email 50 "PG" "identicon" %}