annotate examples/tutorial/geddit/templates/info.html @ 625:dba522b4c31d

GenshiTutorial: implemented AJAX commenting.
author cmlenz
date Fri, 31 Aug 2007 17:01:00 +0000
parents dc35e9882390
children 693a7212b348
rev   line source
611
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
1 <!DOCTYPE html>
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
2 <html xmlns="http://www.w3.org/1999/xhtml"
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
3 xmlns:xi="http://www.w3.org/2001/XInclude"
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
4 xmlns:py="http://genshi.edgewall.org/">
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
5 <xi:include href="layout.html" />
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
6 <head>
619
71d3edd302ae GenshiTutorial: various updates to sync with wiki page.
cmlenz
parents: 618
diff changeset
7 <title>${link.title}</title>
625
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
8 <link rel="alternate" title="Geddit: ${link.title}"
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
9 type="application/atom+xml" href="${url('/feed/%s/' % link.id)}" />
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
10 <script type="text/javascript">
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
11 function loadCommentForm(a) {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
12 $.get("${url('/comment/%s/' % link.id)}", {}, function(html) {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
13 var form = a.hide().parent().after(html).next();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
14 function closeForm() {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
15 form.slideUp("fast", function() { a.fadeIn(); form.remove() });
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
16 return false;
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
17 }
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
18 function initForm() {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
19 form.find("input[@name='cancel']").click(closeForm);
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
20 form.submit(function() {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
21 var data = form.find("input[@type='text'], textarea").serialize();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
22 $.post("${url('/comment/%s/' % link.id)}", data, function(html) {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
23 var elem = $(html).get(0);
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
24 if (/form/i.test(elem.tagName)) {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
25 form.after(elem).remove();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
26 form = $(elem);
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
27 initForm();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
28 } else {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
29 if ($("ul.comments").length == 0) {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
30 a.parent().before('<ul class="comments"></ul>');
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
31 }
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
32 $("ul.comments")
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
33 .find("li.hilite").removeClass("hilite").end()
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
34 .append($(elem).addClass("hilite")).slideDown();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
35 closeForm();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
36 }
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
37 });
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
38 return false;
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
39 });
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
40 }
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
41 initForm();
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
42 });
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
43 }
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
44 $(document).ready(function() {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
45 $("a.action").click(function() {
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
46 loadCommentForm($(this));
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
47 return false;
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
48 });
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
49 });
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
50 </script>
611
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
51 </head>
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
52 <body>
619
71d3edd302ae GenshiTutorial: various updates to sync with wiki page.
cmlenz
parents: 618
diff changeset
53 <h1>${link.title}</h1>
71d3edd302ae GenshiTutorial: various updates to sync with wiki page.
cmlenz
parents: 618
diff changeset
54 <a href="${link.url}">${link.url}</a><br />
621
d218020fb92a Use system default date/time format in templates.
cmlenz
parents: 619
diff changeset
55 posted by ${link.username} at ${link.time.strftime('%x %X')}<br />
622
dc35e9882390 GenshiTutorial: add Atom feeds.
cmlenz
parents: 621
diff changeset
56
619
71d3edd302ae GenshiTutorial: various updates to sync with wiki page.
cmlenz
parents: 618
diff changeset
57 <ul py:if="link.comments" class="comments">
625
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
58 <xi:include href="_comment.html"
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
59 py:for="num, comment in enumerate(link.comments)" />
618
5a2059ce1f0b Simplify the tutorial project: comments are now flat, not hierarchical.
cmlenz
parents: 615
diff changeset
60 </ul>
625
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
61
dba522b4c31d GenshiTutorial: implemented AJAX commenting.
cmlenz
parents: 622
diff changeset
62 <p><a class="action" href="${url('/comment/%s/' % link.id)}">comment</a></p>
611
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
63 </body>
16b1be35c265 Add current code for GenshiTutorial to the `examples` directory.
cmlenz
parents:
diff changeset
64 </html>
Copyright (C) 2012-2017 Edgewall Software