archives_widget

NAML documentation   Watch a video
   Usages of this macro
... in widget.naml
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
<macro name="archives_widget" requires="node_page,servlet">
    <n.widget
Macro
Parameters: contents, title
.>
        <h2 class="sidebar-section shaded-bg-color"><t>Archives</t></h2>
        <ul class="sidebar-section">
            <n.page_node
Binary
Namespace: NodePageNamespace
Parameters: do
.monthly_archives
Binary
Namespace: NodeNamespace
Parameters: do
.>
                <li class="medium-border-color">
                    <a href="[n.page_node
Binary
Namespace: NodePageNamespace
Parameters: do
.path
Macro
Requires: node
Parameters: template, date, index_record
/]"><t>All</t></a>
                    <span class="weak-color">(<n.total
Binary
Namespace: MonthlyArchivesNamespace
/>)</span>
                </li>
 
                <n.year_list
Binary
Namespace: MonthlyArchivesNamespace
Parameters: do
.loop
Macro
Requires: sequence
Parameters: by, do
.>
                    <li class="medium-border-color">
                        <div class="year bold">
                            <span>&#9656;</span>
                            <n.current_year
Binary
Namespace: Years
Parameters: do
.year
Binary
Namespace: YearRow
/>
                        </div>
                        <div style="margin:.3em 0 .3em 1em; display:none">
                            <n.current_year
Binary
Namespace: Years
Parameters: do
.month_list
Binary
Namespace: YearRow
Parameters: do
.loop
Macro
Requires: sequence
Parameters: by, do
.>
                                <n.set_var
Binary
Namespace: BasicNamespace
Parameters: name, value
. name="year-month"><n.current_month
Binary
Namespace: Months
Parameters: do
.year
Binary
Namespace: MonthRow
/><n.current_month
Binary
Namespace: Months
Parameters: do
.month
Binary
Namespace: MonthRow
/></n.set_var.>
                                <n.set_var
Binary
Namespace: BasicNamespace
Parameters: name, value
. name="class">
                                    <n.if
Binary
Namespace: BasicNamespace
Parameters: condition, else, then
.equal
Binary
Namespace: BasicNamespace
Parameters: value2, value1
 value1="[n.var
Binary
Namespace: BasicNamespace
Parameters: name
 name='year-month'/]" value2="[n.app_date
Macro
Requires: servlet
/]">
                                        <then>highlight</then>
                                    </n.if.equal>
                                </n.set_var.>
                                <n.set_var
Binary
Namespace: BasicNamespace
Parameters: name, value
. name="archive-url">
                                    <n.page_node
Binary
Namespace: NodePageNamespace
Parameters: do
.app_path_by_date
Macro
Requires: node
Parameters: date
 date="[n.var
Binary
Namespace: BasicNamespace
Parameters: name
 name='year-month'/]"/>
                                </n.set_var.>
                                <div class="[n.var
Binary
Namespace: BasicNamespace
Parameters: name
 name='class'/]" style="margin:.2em 0; padding: .2em .3em">
                                    <a href="[n.var
Binary
Namespace: BasicNamespace
Parameters: name
 name='archive-url'/]" rel="nofollow"><n.current_month
Binary
Namespace: Months
Parameters: do
.archive_text
Macro
Requires: month_row
/></a>
                                    <span class="weak-color">(<n.current_month
Binary
Namespace: Months
Parameters: do
.count
Binary
Namespace: MonthRow
/>)</span>
                                </div>
                            </n.current_year.month_list.loop.>
                        </div>
                    </li>
                </n.year_list.loop.>
            </n.page_node.monthly_archives.>
        </ul>
        <script type="text/javascript">
            $(document).ready(function() {
                function collapse(e) {
                    $(e).children().first().html('&#9656;');
                    $(e).next().slideUp();
                };
                function expand(e) {
                    $(e).children().first().html('&#9662;');
                    $(e).next().slideDown();
                };
                var $years = $('.year');
                $years.css('cursor', 'pointer');
                var expanded = false;
                $years.each(function() {
                    var isOpen = $('div.highlight', $(this).next()).size() > 0;
                    if (isOpen) {
                        expand(this);
                        expanded = true;
                    }
                    $(this).click(function() {
                        var isOpen = $(this).next().is(':visible');
                        if (isOpen)
                            collapse(this);
                        else
                            expand(this);
                    });
                });
                if (!expanded) {
                    expand($years.eq(0).get());
                }
            });
        </script>
    </n.widget.>
</macro>