Selaa lähdekoodia

guide page for bare repo
some ui fix

FuXiaoHei 11 vuotta sitten
vanhempi
commit
cb80111e89

+ 14 - 0
public/css/gogs.css

@@ -724,6 +724,20 @@ html, body {
     background-color: #FFF;
 }
 
+.commit-list .date {
+    width: 120px;
+}
+
+.guide-box pre, .guide-box .input-group {
+    margin-top: 20px;
+    margin-bottom: 30px;
+    line-height: 24px;
+}
+
+.guide-box input[readonly] {
+    background-color: #FFF;
+}
+
 /* wrapper and footer */
 
 #wrapper {

+ 25 - 5
public/js/app.js

@@ -41,15 +41,15 @@ var Gogits = {
         });
     };
     Gogits.initPopovers = function () {
-        var hideAllPopovers = function() {
-           $('[data-toggle=popover]').each(function() {
+        var hideAllPopovers = function () {
+            $('[data-toggle=popover]').each(function () {
                 $(this).popover('hide');
-            });  
+            });
         };
 
-        $(document).on('click', function(e) {
+        $(document).on('click', function (e) {
             var $e = $(e.target);
-            if($e.data('toggle') == 'popover'||$e.parents("[data-toggle=popover], .popover").length > 0){
+            if ($e.data('toggle') == 'popover' || $e.parents("[data-toggle=popover], .popover").length > 0) {
                 return;
             }
             hideAllPopovers();
@@ -142,6 +142,23 @@ function initUserSetting() {
     });
 }
 
+function initRepository() {
+    var $guide = $('.guide-box');
+    if ($guide.length) {
+        var $url = $('#guide-clone-url');
+        $guide.find('button[data-url]').on("click",function () {
+            var $this = $(this);
+            if (!$this.hasClass('btn-primary')) {
+                $guide.find('.btn-primary').removeClass('btn-primary').addClass("btn-default");
+                $(this).addClass('btn-primary').removeClass('btn-default');
+                $url.val($this.data("url"));
+                $guide.find('span.clone-url').text($this.data('url'));
+            }
+        }).eq(0).trigger("click");
+        // todo copy to clipboard
+    }
+}
+
 (function ($) {
     $(function () {
         initCore();
@@ -152,5 +169,8 @@ function initUserSetting() {
         if (body.data("page") == "user") {
             initUserSetting();
         }
+        if ($('.gogs-repo-nav').length) {
+            initRepository();
+        }
     });
 })(jQuery);

+ 4 - 2
routers/repo/single.go

@@ -59,6 +59,8 @@ func Single(ctx *middleware.Context, params martini.Params) {
 		return
 	}
 
+	ctx.Data["IsRepoToolbarSource"] = true
+
 	// Branches.
 	brs, err := models.GetBranches(params["username"], params["reponame"])
 	if err != nil {
@@ -176,7 +178,6 @@ func Single(ctx *middleware.Context, params martini.Params) {
 
 	ctx.Data["Paths"] = Paths
 	ctx.Data["Treenames"] = treenames
-	ctx.Data["IsRepoToolbarSource"] = true
 	ctx.Data["BranchLink"] = branchLink
 	ctx.HTML(200, "repo/single")
 }
@@ -187,6 +188,8 @@ func Setting(ctx *middleware.Context, params martini.Params) {
 		return
 	}
 
+	ctx.Data["IsRepoToolbarSetting"] = true
+
 	// Branches.
 	brs, err := models.GetBranches(params["username"], params["reponame"])
 	if err != nil {
@@ -205,7 +208,6 @@ func Setting(ctx *middleware.Context, params martini.Params) {
 	}
 
 	ctx.Data["Title"] = title + " - settings"
-	ctx.Data["IsRepoToolbarSetting"] = true
 	ctx.HTML(200, "repo/setting")
 }
 

+ 1 - 1
templates/repo/single.tmpl

@@ -5,7 +5,7 @@
 <div id="gogs-body" class="container">
     <div id="gogs-source">
         {{if .IsBareRepo}}
-        Need to fill in some guide.
+        {{template "repo/single_bare" .}}
         {{else}}
         <div class="source-toolbar">
             {{ $n := len .Treenames}}

+ 31 - 0
templates/repo/single_bare.tmpl

@@ -0,0 +1,31 @@
+<div class="panel panel-default guide-box">
+    <div class="panel-heading guide-head">
+        <h4>Quick Guide</h4>
+    </div>
+    <div class="panel-body guide-content text-center">
+        <h3>Clone this repository</h3>
+        <div class="input-group col-md-8 col-md-offset-2 guide-buttons">
+            <span class="input-group-btn">
+                <button class="btn btn-default" data-url="https-link" type="button">HTTPS</button>
+                <button class="btn btn-default" data-url="git-link" type="button">SSH</button>
+            </span>
+            <input type="text" class="form-control" id="guide-clone-url" value="" readonly/>
+            <span class="input-group-btn">
+                <button class="btn btn-default" type="button"><i class="fa fa-copy" data-toggle="tooltip" title="copy to clipboard" data-placement="top"></i></button>
+            </span>
+        </div>
+        <p>We recommend every repository include a <strong>README</strong>, <strong>LICENSE</strong>, and <strong>.gitignore</strong>.</p>
+        <hr/>
+        <h3>Create a new repository on the command line</h3>
+            <pre class="text-left"><code>touch README.md
+git init
+git add README.md
+git commit -m "first commit"
+git remote add origin <span class="clone-url">https://github.com/fuxiaohei/air.git</span>
+git push -u origin master</code></pre>
+        <hr/>
+        <h3>Push an existing repository from the command line</h3>
+        <pre class="text-left"><code>git remote add origin <span class="clone-url">https://github.com/fuxiaohei/air.git</span>
+git push -u origin master</code></pre>
+    </div>
+</div>

+ 1 - 2
templates/repo/toolbar.tmpl

@@ -15,9 +15,8 @@
                             <li><a href="/{{.RepositoryLink}}/release">Release</a></li>
                             <li><a href="//{{.RepositoryLink}}/wiki">Wiki</a></li>
                         </ul>
-                    </li>
+                    </li>{{end}}
                 </ul>
-                {{end}}
                 <ul class="nav navbar-nav navbar-right">
                     {{if not .IsBareRepo}}
                     <li class="dropdown">