Mercurial Hosting > nabble
comparison src/nabble/view/naml/change_title_and_meta_tags.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 <macro name="change_title_and_meta_tags" requires="servlet"> | |
2 <n.node_page.> | |
3 <n.if.not.visitor.is_site_admin> | |
4 <then> | |
5 <n.login.><t>Only authorized users can proceed in this area.</t></n.login.> | |
6 </then> | |
7 </n.if.not.visitor.is_site_admin> | |
8 | |
9 <n.if.is_submitted_form> | |
10 <then> | |
11 <n.if.has_custom_values_field.is_checked> | |
12 <then> | |
13 <n.page_node.set_property name="page_title" value="[n.page_title_field.value/]"/> | |
14 <n.page_node.set_property name="page_meta_description" value="[n.page_meta_description_field.value/]"/> | |
15 </then> | |
16 <else> | |
17 <n.page_node.delete_property name="page_title"/> | |
18 <n.page_node.delete_property name="page_meta_description"/> | |
19 </else> | |
20 </n.if.has_custom_values_field.is_checked> | |
21 <n.redirect_to.page_node.path/> | |
22 </then> | |
23 <else> | |
24 <n.has_custom_values_field.set_value value="[n.page_node.has_custom_meta_tags/]"/> | |
25 <n.page_title_field.set_value.property_default property="page_title" default="[n.page_node.default_title_contents/]"/> | |
26 <n.page_meta_description_field.set_value.property_default property="page_meta_description" default="[n.page_node.default_meta_description/]"/> | |
27 </else> | |
28 </n.if.is_submitted_form> | |
29 <n.html> | |
30 <head> | |
31 <meta name="robots" content="noindex,nofollow"/> | |
32 <n.title.><t>Change title and meta tags</t></n.title.> | |
33 <style type="text/css"> | |
34 textarea { | |
35 margin:.4em 0 2em; | |
36 width:40em; | |
37 height:3em; | |
38 } | |
39 </style> | |
40 <script type="text/javascript"> | |
41 var txt_counter = '<t>Current length: <t.number>#1</t.number> characters</t>'; | |
42 function updateCounters(){ | |
43 $('textarea').each(function() { | |
44 var $textarea = $(this); | |
45 $textarea.prev().html(txt_counter.replace(/#1/, $textarea.val().length)); | |
46 }); | |
47 }; | |
48 | |
49 function enableFields() { | |
50 var checked = $('#has_custom_values').is(':checked'); | |
51 var $fields = $('#page_title,#page_meta_description'); | |
52 if (checked) { | |
53 $('textarea').keyup(updateCounters); | |
54 $fields.removeAttr('disabled'); | |
55 $fields.eq(0).focus(); | |
56 } else | |
57 $fields.attr('disabled', true); | |
58 }; | |
59 $(document).ready(function() { | |
60 enableFields(); | |
61 updateCounters(); | |
62 $('#has_custom_values').click(enableFields); | |
63 }); | |
64 </script> | |
65 </head> | |
66 <body> | |
67 <n.edit_header first_text="[n.page_node.subject/]" second_text="[t]Change title and meta tags[/t]" /> | |
68 <div class="weak-color" style="margin:1em 0"> | |
69 <t>Here you can customize the title and meta tags of the <t.location><i><n.page_node.subject/></i></t.location> page.</t> | |
70 <t>The meta information below can help you optimize this page for search engines (e.g., google, yahoo!, etc.).</t> | |
71 </div> | |
72 <n.form.> | |
73 <div style="margin:1em 0 0;"> | |
74 <n.has_custom_values_field.checkbox /> | |
75 <label for="[n.has_custom_values_field.name/]" class="big-title second-font"><t>Use custom values</t></label><br/> | |
76 </div> | |
77 | |
78 <div style="margin:1em 0 0 3em"> | |
79 <div class="big-title second-font"><t>Page Title</t></div> | |
80 <div class="weak-color"><t>Enter a context-rich title that clearly identifies this page.</t></div> | |
81 <div class="weak-color"><t>The title should ideally be less than 70 characters in length.</t></div> | |
82 <div class="weak-color"></div> | |
83 <n.page_title_field.textarea maxlength="100"/> | |
84 | |
85 <div class="big-title second-font"><t>Meta Description</t></div> | |
86 <div class="weak-color"><t>Enter a brief and concise summary of your page's content.</t></div> | |
87 <div class="weak-color"><t>Limit your description to 155 characters or 170 characters at most.</t></div> | |
88 <div class="weak-color"></div> | |
89 <n.page_meta_description_field.textarea maxlength="250"/> | |
90 </div> | |
91 | |
92 <div> | |
93 <input type="submit" class="toolbar action-button" value="[t]Save Changes[/t]" /> | |
94 <t>or</t> <a href="[n.page_node.path/]"><t>Cancel</t></a> | |
95 </div> | |
96 </n.form.> | |
97 </body> | |
98 </n.html> | |
99 </n.node_page.> | |
100 </macro> | |
101 | |
102 <macro name="has_custom_meta_tags" requires="node"> | |
103 <n.both> | |
104 <condition1.has_property name="page_title"/> | |
105 <condition2.has_property name="page_meta_description"/> | |
106 </n.both> | |
107 </macro> | |
108 | |
109 <macro name="property_default" parameters="property, default"> | |
110 <n.if.page_node.has_property name="[n.property/]"> | |
111 <then.page_node.get_property name="[n.property/]"/> | |
112 <else.compress.default/> | |
113 </n.if.page_node.has_property> | |
114 </macro> | |
115 | |
116 <macro name="default_title_contents" requires="node"> | |
117 <n.if.is_app> | |
118 <then.default_app_title_contents/> | |
119 <else.default_topic_title_contents/> | |
120 </n.if.is_app> | |
121 </macro> | |
122 | |
123 <macro name="change_title_and_meta_tags_link" requires="node" dot_parameter="text" parameters="title, class"> | |
124 <a href="[n.change_title_and_meta_tags_path/]" class="[n.class/]" rel="nofollow" title="[n.title/]"><n.default. to="[t]Change title and meta tags[/t]"><n.text/></n.default.></a> | |
125 </macro> | |
126 | |
127 <macro name="change_title_and_meta_tags_path"> | |
128 <n.encode_url.> | |
129 /template/NamlServlet.jtp?macro=change_title_and_meta_tags&node=<n.id/> | |
130 </n.encode_url.> | |
131 </macro> | |
132 | |
133 <macro name="page_title_field" dot_parameter="do"> | |
134 <n.field. name="page_title"><n.do/></n.field.> | |
135 </macro> | |
136 | |
137 <macro name="page_meta_description_field" dot_parameter="do"> | |
138 <n.field. name="page_meta_description"><n.do/></n.field.> | |
139 </macro> | |
140 | |
141 <macro name="has_custom_values_field" dot_parameter="do"> | |
142 <n.field. name="has_custom_values"><n.do/></n.field.> | |
143 </macro> |