changeset 301:19a377f4e962

No more `meta` link stuff, everything is an endpoint link.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 29 Sep 2014 07:26:17 -0700
parents 62d54e55208a
children 15d317805c58
files wikked/assets/js/wikked/views.js wikked/formatter.py wikked/templates/meta_page.html wikked/views/read.py
diffstat 4 files changed, 11 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/wikked/assets/js/wikked/views.js	Mon Sep 29 07:25:43 2014 -0700
+++ b/wikked/assets/js/wikked/views.js	Mon Sep 29 07:26:17 2014 -0700
@@ -107,15 +107,6 @@
             else
                 jel.attr('href', '/#/read/' + wiki_url);
         });
-        $('a.wiki-meta-link', el).each(function(i) {
-            var jel = $(this);
-            var meta_name = jel.attr('data-wiki-meta');
-            var meta_value = jel.attr('data-wiki-value');
-            if (jel.hasClass('missing') || jel.attr('data-action') == 'edit')
-                jel.attr('href', '/#/edit/' + meta_name + ':' + meta_value);
-            else
-                jel.attr('href', '/#/read/' + meta_name + ':' + meta_value);
-        });
     };
 
     var PageView = exports.PageView = Backbone.View.extend({
--- a/wikked/formatter.py	Mon Sep 29 07:25:43 2014 -0700
+++ b/wikked/formatter.py	Mon Sep 29 07:26:17 2014 -0700
@@ -116,7 +116,7 @@
             value = m.group(2).strip()
             if endpoint in self.endpoints:
                 return self.endpoints[endpoint](ctx, endpoint, value, value)
-            return self._formatMetaLink(ctx, endpoint, value, value)
+            return self._formatEndpointLink(ctx, endpoint, value, value)
         text = re.sub(r'\[\[(\w[\w\d]+)\:([^\]]+)\]\]', repl1, text)
 
         # [[display name|endpoint:Something/Whatever]]
@@ -126,7 +126,7 @@
             value = m.group(3).strip()
             if endpoint in self.endpoints:
                 return self.endpoints[endpoint](ctx, endpoint, value, display)
-            return self._formatMetaLink(ctx, endpoint, value, display)
+            return self._formatEndpointLink(ctx, endpoint, value, display)
         text = re.sub(r'\[\[([^\|\]]+)\|\s*(\w[\w\d]+)\:([^\]]+)\]\]', repl2, text)
 
         # [[display name|Whatever/PageName]]
@@ -205,14 +205,16 @@
 
         return '<a class="wiki-asset" href="%s">%s</a>' % (abs_url, display)
 
-    def _formatMetaLink(self, ctx, endpoint, value, display):
-        meta_url = '%s:%s' % (endpoint, value)
-        ctx.out_links.append(meta_url)
-        return '<a class="wiki-meta-link" data-wiki-meta="%s" data-wiki-value="%s">%s</a>' % (endpoint, value, display)
+    def _formatEndpointLink(self, ctx, endpoint, value, display):
+        url = '%s:%s' % (endpoint, value)
+        ctx.out_links.append(url)
+        return ('<a class="wiki-link" data-wiki-endpoint="%s" '
+                'data-wiki-url="%s">%s</a>' % (endpoint, url, display))
 
     def _formatWikiLink(self, ctx, display, url):
         ctx.out_links.append(url)
-        return '<a class="wiki-link" data-wiki-url="%s">%s</a>' % (url, display)
+        return '<a class="wiki-link" data-wiki-url="%s">%s</a>' % (
+                url, display)
 
     @staticmethod
     def parseWikiLinks(text):
--- a/wikked/templates/meta_page.html	Mon Sep 29 07:25:43 2014 -0700
+++ b/wikked/templates/meta_page.html	Mon Sep 29 07:26:17 2014 -0700
@@ -1,7 +1,7 @@
 {% if info_text %}
 {{info_text|safe}}
 {% else %}
-<p>No additional information is available for this page. You can <a class="wiki-meta-link missing" data-wiki-meta="{{name}}" data-wiki-value="{{safe_value}}" data-action="edit">write some right now</a>.</p>
+<p>No additional information is available for this page. You can <a class="wiki-link missing" data-wiki-endpoint="{{name}}" data-wiki-url="{{url}}" data-action="edit">write some right now</a>.</p>
 {% endif %}
 
 <h3>Pages in {{name}} "{{value}}"</h3>
--- a/wikked/views/read.py	Mon Sep 29 07:25:43 2014 -0700
+++ b/wikked/views/read.py	Mon Sep 29 07:26:17 2014 -0700
@@ -135,6 +135,7 @@
             fields=['url', 'title', 'text', 'meta'])
     tpl_data = {
             'name': endpoint,
+            'url': meta_page_url,
             'value': value,
             'safe_value': urllib.quote(value.encode('utf-8')),
             'pages': [get_page_meta(p) for p in pages]