More flexible links in the revision info pane
authorJoachim Breitner <mail@joachim-breitner.de>
Thu, 6 Aug 2015 08:25:42 +0000 (08:25 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Thu, 6 Aug 2015 08:28:14 +0000 (08:28 +0000)
binary/settings.yaml
ghc/settings.yaml
site/index.html
site/js/gipeda.js
src/BenchmarkSettings.hs
src/ReportTypes.hs

index 562bf63..66dec8a 100644 (file)
@@ -1,6 +1,5 @@
 title: Binary
-diffLink: https://github.com/kolmodin/binary/commit/{{rev}}
-# logLink: https://raw.githubusercontent.com/nomeata/ghc-speed-logs/master/{{rev}}.log
+revisionInfo: '<a href="https://github.com/kolmodin/binary/commit/{{rev}}">GitHub</a>'
 limitRecent: 20
 start: 4853c7b467409468ac9029558c8ed3caa4a4be6c
 
index f892f1b..a162f3b 100644 (file)
@@ -1,6 +1,5 @@
 title: GHC Speed
-diffLink: https://git.haskell.org/ghc.git/commitdiff/{{rev}}
-logLink: https://raw.githubusercontent.com/nomeata/ghc-speed-logs/master/{{rev}}.log
+revisionInfo: '<a href="https://git.haskell.org/ghc.git/commitdiff/{{rev}}">View Diff</a> – <a href="https://phabricator.haskell.org/rGHC{{rev}}">Phab</a> – <a href="http://raw.githubusercontent.com/nomeata/ghc-speed-logs/master/{{rev}}.log">View buildlog</a>' 
 limitRecent: 50
 start: 55e7ab1210975e6276f3cab3ac0e1f35bcd772f0
 interestingTags: "*-release"
index d423885..ecd21cc 100644 (file)
@@ -364,20 +364,15 @@ html {
     </h2>
     <p>
     {{#if rev.summary.parents}}
-    Displaying changes since:
+    Parent:
     {{#with (lookup rev.summary.parents 0)}}
       <a href="{{revisionLink this}}">
        {{> rev-id hash=this}}
-      </a> –
-      <a href="{{diffLink this ../rev.summary.hash}}">View diff</a>
+      </a>
     {{/with}} –
-    {{#logLink rev.summary.hash }}
-      <a href="{{link}}">View buildlog</a> –
-    {{/logLink}}
-      {{> summary-icons rev.summary.stats }}
-    {{else}}
-    No parent commit found.
     {{/if}}
+    {{revisionInfo rev.summary }} –
+    {{> summary-icons rev.summary.stats }}
     </p> 
     <pre>{{rev.gitLog}}</pre>
     {{/if}}
index eec4a29..8cfc55f 100644 (file)
@@ -173,15 +173,14 @@ Handlebars.registerHelper('graphLink', function(benchName, hl1, hl2) {
     if (hl2 && typeof(hl2) == 'string') {hls.push(hl2)};
     return "#" + routes.graph.url(benchName,hls);
 });
-Handlebars.registerHelper('diffLink', function(rev1, rev2) {
-    return Handlebars.compile(data.settings.diffLink)({base: rev1, rev: rev2});
-});
-Handlebars.registerHelper('logLink', function(rev, options) {
-  if (data.settings.logLink) {
-    var link = Handlebars.compile(data.settings.logLink)({rev: rev});
-    $.extend(this,{link:link});
-    return options.fn(this);
-  }
+Handlebars.registerHelper('revisionInfo', function(revSummary) {
+    var ctxt = {};
+    ctxt.rev = revSummary.hash;
+    if (revSummary.parents) {
+       ctxt.base=revSummary.parents[0];
+    }
+    var result = Handlebars.compile(data.settings.revisionInfo)(ctxt);
+    return new Handlebars.SafeString(result);
 });
 Handlebars.registerHelper('indexLink', function() {
   return "#" + routes.index.url();
index 2354999..6d9b91f 100644 (file)
@@ -84,8 +84,7 @@ instance FromJSON S where
 
 data Settings = Settings
    { title :: String
-   , diffLink :: String
-   , logLink :: Maybe String
+   , revisionInfo :: String
    , limitRecent :: Integer
    , start :: String
    , interestingTags :: Maybe String
@@ -95,8 +94,7 @@ data Settings = Settings
 instance FromJSON Settings where
     parseJSON (Object v) =
         Settings <$> v .: "title"
-                 <*> v .: "diffLink"
-                 <*> v .:? "logLink"
+                 <*> v .: "revisionInfo"
                  <*> v .: "limitRecent"
                  <*> v .: "start"
                  <*> v .:? "interestingTags"
index c8e1d30..d2e5dbb 100644 (file)
@@ -16,8 +16,7 @@ import qualified BenchmarkSettings as S
 
 data ClientSettings = ClientSettings
    { title :: String
-   , diffLink :: String
-   , logLink :: String
+   , revisionInfo :: String
    }
  deriving (Generic)
 instance ToJSON ClientSettings