mirror of
				https://github.com/gitbucket/gitbucket.git
				synced 2025-10-31 02:25:59 +01:00 
			
		
		
		
	Refactor for views.
- Replace urls with helpers.url and helpers.assets - Move google-code-prettify to main.scala.html - Move some CSS styles to gitbucket.css
This commit is contained in:
		| @@ -26,6 +26,22 @@ object helpers { | ||||
|     Html(Markdown.toHtml(value, repository, enableWikiLink, enableCommitLink, enableIssueLink)) | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Generates the url to the repository. | ||||
|    */ | ||||
|   def url(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context): String = | ||||
|     "%s/%s/%s".format(context.path, repository.owner, repository.name) | ||||
|  | ||||
|   /** | ||||
|    * Generates the url to the account page. | ||||
|    */ | ||||
|   def url(userName: String)(implicit context: app.Context): String = "%s/%s".format(context.path, userName) | ||||
|  | ||||
|   /** | ||||
|    * Returns the url to the root of assets. | ||||
|    */ | ||||
|   def assets(implicit context: app.Context): String = "%s/assets".format(context.path) | ||||
|  | ||||
|   /** | ||||
|    * Converts issue id and commit id to link. | ||||
|    */ | ||||
|   | ||||
| @@ -1,7 +1,8 @@ | ||||
| @(account: model.Account)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main(account.userName){ | ||||
|   <form action="@path/@account.userName/_edit" method="POST" validate="true"> | ||||
|   <form action="@url(account.userName)/_edit" method="POST" validate="true"> | ||||
|     <fieldset> | ||||
|       <label><strong>Mail Address</strong></label> | ||||
|       <input type="text" name="mailAddress" id="mailAddress" value="@account.mailAddress"/> | ||||
| @@ -13,8 +14,8 @@ | ||||
|       <span id="error-url" class="error"></span> | ||||
|     </fieldset> | ||||
|     <fieldset> | ||||
|       <input type="submit" class="btn btn-primary" value="Save"/> | ||||
|       <a href="@path/@account.userName" class="btn">Cancel</a> | ||||
|       <input type="submit" class="btn btn-success" value="Save"/> | ||||
|       <a href="@url(account.userName)" class="btn">Cancel</a> | ||||
|     </fieldset> | ||||
|   </form> | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(account: model.Account, repositories: List[service.RepositoryService.RepositoryInfo])(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main(account.userName){ | ||||
|   <div class="container-fluid"> | ||||
|     <div class="row-fluid"> | ||||
| @@ -10,7 +10,7 @@ | ||||
|         </div> | ||||
|         <div class="block"> | ||||
|           <div><i class="icon-home"></i> <a href="@account.url">@account.url</a></div> | ||||
|           <div><i class="icon-time"></i> <span class="muted">Joined on</span> @helpers.date(account.registeredDate)</div> | ||||
|           <div><i class="icon-time"></i> <span class="muted">Joined on</span> @date(account.registeredDate)</div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="span8"> | ||||
| @@ -22,7 +22,7 @@ | ||||
|           @if(loginAccount.isDefined && loginAccount.get.userName == account.userName){ | ||||
|           <li class="pull-right"> | ||||
|             <div class="button-group"> | ||||
|               <a href="@path/@account.userName/_edit" class="btn">Edit Your Profile</a> | ||||
|               <a href="@url(account.userName)/_edit" class="btn">Edit Your Profile</a> | ||||
|             </div> | ||||
|           </li> | ||||
|           } | ||||
| @@ -30,9 +30,9 @@ | ||||
|         @repositories.map { repository => | ||||
|         <div class="block"> | ||||
|           <div class="block-header"> | ||||
|             <a href="@path/@repository.owner">@repository.owner</a> | ||||
|             <a href="@url(repository.owner)">@repository.owner</a> | ||||
|             / | ||||
|             <a href="@path/@repository.owner/@repository.name">@repository.name</a> | ||||
|             <a href="@url(repository)">@repository.name</a> | ||||
|             @if(repository.repository.isPrivate){ | ||||
|               <i class="icon-lock"></i> | ||||
|             } | ||||
| @@ -40,7 +40,7 @@ | ||||
|           @if(repository.repository.description.isDefined){ | ||||
|             <div>@repository.repository.description</div> | ||||
|           } | ||||
|           <div><span class="muted small">Last updated: @helpers.datetime(repository.repository.lastActivityDate)</span></div> | ||||
|           <div><span class="muted small">Last updated: @datetime(repository.repository.lastActivityDate)</span></div> | ||||
|         </div> | ||||
|         } | ||||
|       </div> | ||||
|   | ||||
| @@ -32,7 +32,7 @@ | ||||
|       <span id="error-url" class="error"></span> | ||||
|     </fieldset> | ||||
|     <fieldset> | ||||
|       <input type="submit" class="btn btn-primary" value="@if(account.isEmpty){Create User} else {Update User}"/> | ||||
|       <input type="submit" class="btn btn-success" value="@if(account.isEmpty){Create User} else {Update User}"/> | ||||
|       <a href="@path/admin/users" class="btn">Cancel</a> | ||||
|     </fieldset> | ||||
|   </form> | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| @(diffs: Seq[util.JGitUtil.DiffInfo], repository: service.RepositoryService.RepositoryInfo, commitId: Option[String])(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @import org.eclipse.jgit.diff.DiffEntry.ChangeType | ||||
| @diffs.zipWithIndex.map { case (diff, i) => | ||||
|   <a name="diff-@i"></a> | ||||
| @@ -17,7 +18,7 @@ | ||||
|         } | ||||
|         @if(commitId.isDefined){ | ||||
|           <div class="pull-right align-right"> | ||||
|             <a href="@path/@repository.owner/@repository.name/blob/@commitId.get/@diff.newPath" class="btn btn-small">View file @@ @commitId.get.substring(0, 10)</a> | ||||
|             <a href="@url(repository)/blob/@commitId.get/@diff.newPath" class="btn btn-small">View file @@ @commitId.get.substring(0, 10)</a> | ||||
|           </div> | ||||
|         } | ||||
|       </th> | ||||
| @@ -35,9 +36,9 @@ | ||||
|     </tr> | ||||
|   </table> | ||||
| } | ||||
| <script type="text/javascript" src="@path/assets/jsdifflib/difflib.js"></script> | ||||
| <script type="text/javascript" src="@path/assets/jsdifflib/diffview.js"></script> | ||||
| <link href="@path/assets/jsdifflib/diffview.css" type="text/css" rel="stylesheet" /> | ||||
| <script type="text/javascript" src="@assets/jsdifflib/difflib.js"></script> | ||||
| <script type="text/javascript" src="@assets/jsdifflib/diffview.js"></script> | ||||
| <link href="@assets/jsdifflib/diffview.css" type="text/css" rel="stylesheet" /> | ||||
| <style type="text/css"> | ||||
| table.inlinediff { | ||||
|   width: 100%; | ||||
| @@ -53,39 +54,39 @@ td.insert, td.equal, td.delete { | ||||
| </style> | ||||
| <script> | ||||
| function diffUsingJS(oldTextId, newTextId, outputId) { | ||||
|     // get the baseText and newText values from the two textboxes, and split them into lines | ||||
|     var oldText = document.getElementById(oldTextId).value; | ||||
|     if(oldText == ''){ | ||||
|       var oldLines = []; | ||||
|     } else { | ||||
|       var oldLines = difflib.stringAsLines(oldText); | ||||
|     } | ||||
|   // get the baseText and newText values from the two textboxes, and split them into lines | ||||
|   var oldText = document.getElementById(oldTextId).value; | ||||
|   if(oldText == ''){ | ||||
|     var oldLines = []; | ||||
|   } else { | ||||
|     var oldLines = difflib.stringAsLines(oldText); | ||||
|   } | ||||
|      | ||||
|     var newText = document.getElementById(newTextId).value | ||||
|     if(newText == ''){ | ||||
|       var newLines = []; | ||||
|     } else { | ||||
|       var newLines = difflib.stringAsLines(newText); | ||||
|     } | ||||
|   var newText = document.getElementById(newTextId).value | ||||
|   if(newText == ''){ | ||||
|     var newLines = []; | ||||
|   } else { | ||||
|     var newLines = difflib.stringAsLines(newText); | ||||
|   } | ||||
|  | ||||
|     // create a SequenceMatcher instance that diffs the two sets of lines | ||||
|     var sm = new difflib.SequenceMatcher(oldLines, newLines); | ||||
|   // create a SequenceMatcher instance that diffs the two sets of lines | ||||
|   var sm = new difflib.SequenceMatcher(oldLines, newLines); | ||||
|  | ||||
|     // get the opcodes from the SequenceMatcher instance | ||||
|     // opcodes is a list of 3-tuples describing what changes should be made to the base text | ||||
|     // in order to yield the new text | ||||
|     var opcodes = sm.get_opcodes(); | ||||
|     var diffoutputdiv = document.getElementById(outputId); | ||||
|     while (diffoutputdiv.firstChild) diffoutputdiv.removeChild(diffoutputdiv.firstChild); | ||||
|   // get the opcodes from the SequenceMatcher instance | ||||
|   // opcodes is a list of 3-tuples describing what changes should be made to the base text | ||||
|   // in order to yield the new text | ||||
|   var opcodes = sm.get_opcodes(); | ||||
|   var diffoutputdiv = document.getElementById(outputId); | ||||
|   while (diffoutputdiv.firstChild) diffoutputdiv.removeChild(diffoutputdiv.firstChild); | ||||
|  | ||||
|     // build the diff view and add it to the current DOM | ||||
|     diffoutputdiv.appendChild(diffview.buildView({ | ||||
|         baseTextLines: oldLines, | ||||
|         newTextLines: newLines, | ||||
|         opcodes: opcodes, | ||||
|         contextSize: 4, | ||||
|         viewType: 1 | ||||
|     })); | ||||
|   // build the diff view and add it to the current DOM | ||||
|   diffoutputdiv.appendChild(diffview.buildView({ | ||||
|     baseTextLines: oldLines, | ||||
|     newTextLines: newLines, | ||||
|     opcodes: opcodes, | ||||
|     contextSize: 4, | ||||
|     viewType: 1 | ||||
|   })); | ||||
| } | ||||
|  | ||||
| $(function(){ | ||||
|   | ||||
| @@ -1,7 +1,8 @@ | ||||
| @(active: String, repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <div class="head"> | ||||
|   <a href="@path/@repository.owner">@repository.owner</a> / <a href="@path/@repository.owner/@repository.name">@repository.name</a> | ||||
|   <a href="@url(repository.owner)">@repository.owner</a> / <a href="@url(repository)">@repository.name</a> | ||||
|   @if(repository.repository.isPrivate){ | ||||
|     <i class="icon-lock"></i> | ||||
|   } | ||||
| @@ -9,17 +10,17 @@ | ||||
| <table class="global-nav box-header"> | ||||
|   <tr> | ||||
|     <th class="box-header@if(active=="code"){ active}"> | ||||
|       <a href="@path/@repository.owner/@repository.name">Code</a> | ||||
|       <a href="@url(repository)">Code</a> | ||||
|     </th> | ||||
|     <th class="box-header@if(active=="issues"){ active}"> | ||||
|       <a href="@path/@repository.owner/@repository.name/issues">Issues</a> | ||||
|       <a href="@url(repository)/issues">Issues</a> | ||||
|     </th> | ||||
|     <th class="box-header@if(active=="wiki"){ active}"> | ||||
|       <a href="@path/@repository.owner/@repository.name/wiki">Wiki</a> | ||||
|       <a href="@url(repository)/wiki">Wiki</a> | ||||
|     </th> | ||||
|     @if(loginAccount.isDefined && (loginAccount.get.isAdmin || loginAccount.get.userName == repository.owner)){ | ||||
|     <th class="box-header@if(active=="settings"){ active}"> | ||||
|       <a href="@path/@repository.owner/@repository.name/settings">Settings</a> | ||||
|       <a href="@url(repository)/settings">Settings</a> | ||||
|     </th> | ||||
|     } | ||||
|   </tr>   | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| @(repositories: List[service.RepositoryService.RepositoryInfo])(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @main("GitBucket"){ | ||||
|   <h3>Recent updated repositories</h3> | ||||
|   @repositories.map { repository => | ||||
|     <div class="block"> | ||||
|       <div class="block-header-2"> | ||||
|         <a href="@path/@repository.owner">@repository.owner</a> | ||||
|         <a href="@url(repository.owner)">@repository.owner</a> | ||||
|         / | ||||
|         <a href="@path/@repository.owner/@repository.name">@repository.name</a> | ||||
|         <a href="@url(repository)">@repository.name</a> | ||||
|         @if(repository.repository.isPrivate){ | ||||
|           <i class="icon-lock"></i> | ||||
|         } | ||||
| @@ -16,7 +16,7 @@ | ||||
|       @if(repository.repository.description.isDefined){ | ||||
|         <div>@repository.repository.description</div> | ||||
|       } | ||||
|       <div><span class="muted small">Last updated: @helpers.datetime(repository.repository.lastActivityDate)</span></div> | ||||
|       <div><span class="muted small">Last updated: @datetime(repository.repository.lastActivityDate)</span></div> | ||||
|     </div> | ||||
|   } | ||||
| } | ||||
| @@ -5,7 +5,7 @@ | ||||
|   @html.header("issues", repository) | ||||
|   @issuestab("issues", repository) | ||||
|   <ul class="nav nav-tabs"> | ||||
|     <li class="pull-left"><a href="@path/@repository.owner/@repository.name/issues"><i class="icon-arrow-left"></i> Back to issue list</a></li> | ||||
|     <li class="pull-left"><a href="@url(repository)/issues"><i class="icon-arrow-left"></i> Back to issue list</a></li> | ||||
|     <li class="pull-right">Issue #@issue.issueId</li> | ||||
|   </ul> | ||||
|   <div class="row-fluid"> | ||||
| @@ -13,7 +13,7 @@ | ||||
|       <div class="box"> | ||||
|         <div class="box-content"> | ||||
|           <span class="pull-right"><a class="btn btn-small" href="#" id="edit">Edit</a></span> | ||||
|           <div class="small"><a href="@path/@issue.openedUserName">@issue.openedUserName</a> opened this issue @datetime(issue.registeredDate)</div> | ||||
|           <div class="small"><a href="@url(issue.openedUserName)">@issue.openedUserName</a> opened this issue @datetime(issue.registeredDate)</div> | ||||
|           <h4 id="issueTitle">@issue.title</h4> | ||||
|         </div> | ||||
|         <div class="box-content" style="background-color: #f5f5f5;" id="issueContent"> | ||||
| @@ -23,7 +23,7 @@ | ||||
|       @comments.map { comment => | ||||
|       <div class="box" id="comment-@comment.commentId"> | ||||
|         <div class="box-header-small"> | ||||
|           <a href="@path/@comment.commentedUserName">@comment.commentedUserName</a> commented | ||||
|           <a href="@url(comment.commentedUserName)">@comment.commentedUserName</a> commented | ||||
|           <span class="pull-right"> | ||||
|             @datetime(comment.registeredDate) | ||||
|             <a href="#" data-comment-id="@comment.commentId"><i class="icon-pencil"></i></a> | ||||
| @@ -34,7 +34,7 @@ | ||||
|         </div> | ||||
|       </div> | ||||
|       } | ||||
|       <form action="@path/@repository.owner/@repository.name/issue_comments" method="POST" validate="true"> | ||||
|       <form action="@url(repository)/issue_comments" method="POST" validate="true"> | ||||
|       <div class="box"> | ||||
|         <div class="box-content"> | ||||
|           @html.preview(repository, "", false, true, true, "width: 730px; height: 100px;") | ||||
| @@ -59,7 +59,7 @@ | ||||
| <script> | ||||
| $(function(){ | ||||
|   $('#edit').click(function(){ | ||||
|     $.get('@path/@repository.owner/@repository.name/issues/_data/@issue.issueId', | ||||
|     $.get('@url(repository)/issues/_data/@issue.issueId', | ||||
|     { | ||||
|       dataType : 'html' | ||||
|     }, | ||||
| @@ -71,7 +71,7 @@ $(function(){ | ||||
|  | ||||
|   $('i.icon-pencil').click(function(){ | ||||
|     var id = $(this).closest('a').data('comment-id'); | ||||
|     $.get('@path/@repository.owner/@repository.name/issue_comments/_data/' + id, | ||||
|     $.get('@url(repository)/issue_comments/_data/' + id, | ||||
|     { | ||||
|       dataType : 'html' | ||||
|     }, | ||||
|   | ||||
| @@ -1,12 +1,13 @@ | ||||
| @(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main("New Issue - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("issues", repository) | ||||
|   @issuestab("", repository) | ||||
|  | ||||
|   <div class="row-fluid"> | ||||
|     <div class="span9"> | ||||
|       <form action="@path/@repository.owner/@repository.name/issues" method="POST" validate="true"> | ||||
|       <form action="@url(repository)/issues" method="POST" validate="true"> | ||||
|       <div class="box"> | ||||
|         <div class="box-content"> | ||||
|           <span id="error-title" class="error"></span> | ||||
|   | ||||
| @@ -11,20 +11,20 @@ | ||||
|     <div class="span3"> | ||||
|       <ul class="nav nav-pills nav-stacked"> | ||||
|         <li@if(filter == "all"){ class="active"}> | ||||
|           <a href="@path/@repository.owner/@repository.name/issues@condition.toURL"> | ||||
|           <a href="@url(repository)/issues@condition.toURL"> | ||||
|             <span class="count-right">@allCount</span> | ||||
|             Everyone's Issues | ||||
|           </a> | ||||
|         </li> | ||||
|         @if(loginAccount.isDefined){ | ||||
|         <li@if(filter == "assigned"){ class="active"}> | ||||
|           <a href="@path/@repository.owner/@repository.name/issues/assigned/@loginAccount.map(_.userName)@condition.toURL"> | ||||
|           <a href="@url(repository)/issues/assigned/@loginAccount.map(_.userName)@condition.toURL"> | ||||
|             <span class="count-right">@assignedCount</span> | ||||
|             Assigned to you | ||||
|           </a> | ||||
|         </li> | ||||
|         <li@if(filter == "created_by"){ class="active"}> | ||||
|           <a href="@path/@repository.owner/@repository.name/issues/created_by/@loginAccount.map(_.userName)@condition.toURL"> | ||||
|           <a href="@url(repository)/issues/created_by/@loginAccount.map(_.userName)@condition.toURL"> | ||||
|             <span class="count-right">@createdByCount</span> | ||||
|             Created by you | ||||
|           </a> | ||||
| @@ -129,18 +129,18 @@ | ||||
|       @issues.map { case (issue, labels, commentCount) => | ||||
|         <tr> | ||||
|           <td> | ||||
|             <a href="@path/@repository.owner/@repository.name/issues/@issue.issueId" class="issue-title">@issue.title</a> | ||||
|             <a href="@url(repository)/issues/@issue.issueId" class="issue-title">@issue.title</a> | ||||
|             @labels.map { label => | ||||
|               <span class="label-color" style="background-color: #@label.color; color: #@label.fontColor;">@label.labelName</span> | ||||
|             } | ||||
|             <span class="pull-right muted">#@issue.issueId</span> | ||||
|             <div class="small muted"> | ||||
|               Opened by <a href="@path/@repository.owner" class="username">@issue.openedUserName</a> @datetime(issue.registeredDate)  | ||||
|               Opened by <a href="@url(issue.openedUserName)" class="username">@issue.openedUserName</a> @datetime(issue.registeredDate)  | ||||
|               @if(commentCount == 1){ | ||||
|                 <i class="icon-comment"></i><a href="@path/@repository.owner/@repository.name/issues/@issue.issueId" class="issue-comment-count">1 comment</a> | ||||
|                 <i class="icon-comment"></i><a href="@url(repository)/issues/@issue.issueId" class="issue-comment-count">1 comment</a> | ||||
|               } | ||||
|               @if(commentCount > 1){ | ||||
|                 <i class="icon-comment"></i><a href="@path/@repository.owner/@repository.name/issues/@issue.issueId" class="issue-comment-count">@commentCount comments</a> | ||||
|                 <i class="icon-comment"></i><a href="@url(repository)/issues/@issue.issueId" class="issue-comment-count">@commentCount comments</a> | ||||
|               } | ||||
|             </div> | ||||
|           </td> | ||||
| @@ -153,7 +153,7 @@ | ||||
|             @if(condition.labels.nonEmpty || condition.milestoneId.isDefined){ | ||||
|               <a href="@condition.copy(labels = Set.empty, milestoneId = None).toURL">Clear active filters.</a> | ||||
|             } else { | ||||
|               <a href="@path/@repository.owner/@repository.name/issues/new">Create a new issue.</a> | ||||
|               <a href="@url(repository)/issues/new">Create a new issue.</a> | ||||
|             } | ||||
|           </td> | ||||
|         </tr> | ||||
| @@ -170,10 +170,10 @@ | ||||
| $(function(){ | ||||
|   $('#manageLabel').click(function(){ | ||||
|     if($(this).data('toggle-state')){ | ||||
|       location.href = '@path/@repository.owner/@repository.name/issues'; | ||||
|       location.href = '@url(repository)/issues'; | ||||
|     } else { | ||||
|       $(this).data('toggle-state', 'on'); | ||||
|       $.get('@path/@repository.owner/@repository.name/issues/label/edit', function(data){ | ||||
|       $.get('@url(repository)/issues/label/edit', function(data){ | ||||
|         $('#label-list').parent().empty().html(data); | ||||
|       }); | ||||
|     } | ||||
|   | ||||
| @@ -1,11 +1,12 @@ | ||||
| @(active: String, repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <ul class="nav nav-tabs"> | ||||
|   <li@if(active == "issues"){ class="active"}><a href="@path/@repository.owner/@repository.name/issues">Browse Issues</a></li> | ||||
|   <li@if(active == "milestones"){ class="active"}><a href="@path/@repository.owner/@repository.name/issues/milestones">Milestones</a></li> | ||||
|   <li@if(active == "issues"){ class="active"}><a href="@url(repository)/issues">Browse Issues</a></li> | ||||
|   <li@if(active == "milestones"){ class="active"}><a href="@url(repository)/issues/milestones">Milestones</a></li> | ||||
|   <li class="pull-right"> | ||||
|     <div class="btn-group"> | ||||
|       <a class="btn btn-success" href="@path/@repository.owner/@repository.name/issues/new">New Issue</a> | ||||
|       <a class="btn btn-success" href="@url(repository)/issues/new">New Issue</a> | ||||
|     </div> | ||||
|   </li> | ||||
| </ul> | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| @(label: Option[model.Label], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @defining((if(label.isEmpty) ("new", 190, 4) else ("edit", 180, 8))){ case (mode, width, margin) => | ||||
| <div id="@(mode)LabelArea"> | ||||
|   <form method="POST" id="edit-label-form" | ||||
|         action="@path/@repository.owner/@repository.name/issues/label/@{if(mode == "new") "new" else label.get.labelId + "/edit"}" | ||||
|         action="@url(repository)/issues/label/@{if(mode == "new") "new" else label.get.labelId + "/edit"}" | ||||
|         validate="true" @if(mode == "edit"){ style="margin-bottom: 8px;"}> | ||||
|     <span id="error-@(mode)LabelName" class="error"></span> | ||||
|     <input type="text" name="@(mode)LabelName" id="@(mode)LabelName" style="width: @(width)px; margin-left: @(margin)px; margin-bottom: 0px;" value="@label.map(_.labelName)"@if(mode == "new"){ placeholder="New label name"}/> | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| @(labels: List[model.Label], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <div id="label-edit"> | ||||
|   <ul class="label-list nav nav-pills nav-stacked"> | ||||
|     @labels.map { label => | ||||
| @@ -17,7 +18,7 @@ | ||||
|     $('i.icon-remove-circle').click(function(e){ | ||||
|       e.stopPropagation(); | ||||
|       if(confirm('Are you sure you want to delete this?')){ | ||||
|         $.get('@path/@repository.owner/@repository.name/issues/label/' + $(this).parents('a').data('label-id') + '/delete', | ||||
|         $.get('@url(repository)/issues/label/' + $(this).parents('a').data('label-id') + '/delete', | ||||
|           function(data){ | ||||
|             $('#label-edit').parent().empty().html(data); | ||||
|           } | ||||
| @@ -29,7 +30,7 @@ | ||||
|       if($('input[name=editLabelId]').val() != $(this).data('label-id')){ | ||||
|         $('#editLabelArea').remove(); | ||||
|         var element = this; | ||||
|         $.get('@path/@repository.owner/@repository.name/issues/label/' + $(this).data('label-id') + '/edit', | ||||
|         $.get('@url(repository)/issues/label/' + $(this).data('label-id') + '/edit', | ||||
|           function(data){ | ||||
|             $(element).parent().append(data); | ||||
|             $('div#label-edit li').css('border', '1px solid white'); | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| @(milestone: Option[model.Milestone], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main("Milestones - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("milestones", repository) | ||||
|   @issuestab("milestones", repository) | ||||
|   <form method="POST" action="@path/@repository.owner/@repository.name/issues/milestones/@if(milestone.isEmpty){new}else{@milestone.get.milestoneId/edit}" validate="true"> | ||||
|   <form method="POST" action="@url(repository)/issues/milestones/@if(milestone.isEmpty){new}else{@milestone.get.milestoneId/edit}" validate="true"> | ||||
|     <fieldset> | ||||
|       <label for="title"><string>Title</string></label> | ||||
|       <input type="text" id="title" name="title" style="width: 400px;" value="@milestone.map(_.title)"/> | ||||
| @@ -27,10 +27,10 @@ | ||||
|       } else { | ||||
|         @if(milestone.get.closedDate.isDefined){ | ||||
|           <input type="button" class="btn" value="Open" id="open" | ||||
|                  onclick="location.href='@path/@repository.owner/@repository.name/issues/milestones/@milestone.get.milestoneId/close';"/> | ||||
|                  onclick="location.href='@url(repository)/issues/milestones/@milestone.get.milestoneId/close';"/> | ||||
|         } else { | ||||
|           <input type="button" class="btn" value="Close" id="close" | ||||
|                  onclick="location.href='@path/@repository.owner/@repository.name/issues/milestones/@milestone.get.milestoneId/open';"/> | ||||
|                  onclick="location.href='@url(repository)/issues/milestones/@milestone.get.milestoneId/open';"/> | ||||
|         } | ||||
|         <input type="submit" class="btn" value="Update milestone"/> | ||||
|       } | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(state: String, milestones: List[(model.Milestone, Int, Int)], repository: service.RepositoryService.RepositoryInfo, isWritable: Boolean)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main("Milestones - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("milestones", repository) | ||||
|   @issuestab("milestones", repository) | ||||
| @@ -22,7 +22,7 @@ | ||||
|       </ul> | ||||
|       @if(isWritable){ | ||||
|         <hr> | ||||
|         <a href="@path/@repository.owner/@repository.name/issues/milestones/new" class="btn btn-block">Create a new milestone</a> | ||||
|         <a href="@url(repository)/issues/milestones/new" class="btn btn-block">Create a new milestone</a> | ||||
|       } | ||||
|     </div> | ||||
|     <div class="span9"> | ||||
| @@ -35,12 +35,12 @@ | ||||
|             <td> | ||||
|               <div class="milestone row-fluid"> | ||||
|                 <div class="span4"> | ||||
|                   <a href="@path/@repository.owner/@repository.name/issues?milestone=@milestone.milestoneId&state=open" class="milestone-title">@milestone.title</a><br> | ||||
|                   <a href="@url(repository)/issues?milestone=@milestone.milestoneId&state=open" class="milestone-title">@milestone.title</a><br> | ||||
|                   @if(milestone.closedDate.isDefined){ | ||||
|                     <span class="muted">Closed @helpers.datetime(milestone.closedDate.get)</span> | ||||
|                     <span class="muted">Closed @datetime(milestone.closedDate.get)</span> | ||||
|                   } else { | ||||
|                     @if(milestone.dueDate.isDefined){ | ||||
|                       <span class="muted">Due in @helpers.date(milestone.dueDate.get)</span> | ||||
|                       <span class="muted">Due in @date(milestone.dueDate.get)</span> | ||||
|                     } else { | ||||
|                       <span class="muted">No due date</span> | ||||
|                     } | ||||
| @@ -50,15 +50,15 @@ | ||||
|                   <div class="milestone-menu"> | ||||
|                     <div class="pull-right"> | ||||
|                       @if(isWritable){ | ||||
|                         <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/edit">Edit | ||||
|                         <a href="@url(repository)/issues/milestones/@milestone.milestoneId/edit">Edit | ||||
|                         @if(milestone.closedDate.isDefined){ | ||||
|                           <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/open">Open</a> | ||||
|                           <a href="@url(repository)/issues/milestones/@milestone.milestoneId/open">Open</a> | ||||
|                         } else { | ||||
|                           <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/close">Close</a> | ||||
|                           <a href="@url(repository)/issues/milestones/@milestone.milestoneId/close">Close</a> | ||||
|                         } | ||||
|                         <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/delete" class="delete">Delete</a> | ||||
|                         <a href="@url(repository)/issues/milestones/@milestone.milestoneId/delete" class="delete">Delete</a> | ||||
|                       } | ||||
|                       <a href="@path/@repository.owner/@repository.name/issues?milestone=@milestone.milestoneId&state=open">Browse issues</a> | ||||
|                       <a href="@url(repository)/issues?milestone=@milestone.milestoneId&state=open">Browse issues</a> | ||||
|                     </div> | ||||
|                     <span class="muted">@closedCount closed - @openCount open</span> | ||||
|                   </div> | ||||
| @@ -78,7 +78,7 @@ | ||||
|               </div> | ||||
|               @if(milestone.description.isDefined){ | ||||
|                 <div class="milestone-description"> | ||||
|                   @helpers.markdown(milestone.description.get, repository, false, false, false) | ||||
|                   @markdown(milestone.description.get, repository, false, false, false) | ||||
|                 </div> | ||||
|               } | ||||
|             </td> | ||||
| @@ -89,7 +89,7 @@ | ||||
|             <td style="padding: 20px; background-color: #eee; text-align: center;"> | ||||
|               No milestones to show. | ||||
|               @if(isWritable){ | ||||
|                 <a href="@path/@repository.owner/@repository.name/issues/milestones/new">Create a new milestone.</a> | ||||
|                 <a href="@url(repository)/issues/milestones/new">Create a new milestone.</a> | ||||
|               } | ||||
|             </td> | ||||
|           </tr> | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| @(title: String)(body: Html)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
|   <head> | ||||
| @@ -7,21 +8,23 @@ | ||||
|     <title>@title</title> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <!-- Le styles --> | ||||
|     <link href="@path/assets/bootstrap/css/bootstrap.css" rel="stylesheet"> | ||||
|     <link href="@path/assets/bootstrap/css/bootstrap-responsive.css" rel="stylesheet"> | ||||
|     <link href="@assets/bootstrap/css/bootstrap.css" rel="stylesheet"> | ||||
|     <link href="@assets/bootstrap/css/bootstrap-responsive.css" rel="stylesheet"> | ||||
|     <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> | ||||
|     <!--[if lt IE 9]> | ||||
|       <script src="@path/assets/bootstrap/js/html5shiv.js"></script> | ||||
|       <script src="@assets/bootstrap/js/html5shiv.js"></script> | ||||
|     <![endif]--> | ||||
|     <link href="@path/assets/datepicker/css/datepicker.css" rel="stylesheet"> | ||||
|     <link href="@path/assets/colorpicker/css/bootstrap-colorpicker.css" rel="stylesheet"> | ||||
|     <link href="@path/assets/common/css/gitbucket.css" rel="stylesheet"> | ||||
|     <script src="@path/assets/common/js/jquery-1.9.1.js"></script> | ||||
|     <script src="@path/assets/common/js/validation.js"></script> | ||||
|     <script src="@path/assets/common/js/gitbucket.js"></script> | ||||
|     <script src="@path/assets/bootstrap/js/bootstrap.js"></script> | ||||
|     <script src="@path/assets/datepicker/js/bootstrap-datepicker.js"></script> | ||||
|     <script src="@path/assets/colorpicker/js/bootstrap-colorpicker.js"></script> | ||||
|     <link href="@assets/datepicker/css/datepicker.css" rel="stylesheet"> | ||||
|     <link href="@assets/colorpicker/css/bootstrap-colorpicker.css" rel="stylesheet"> | ||||
|     <link href="@assets/google-code-prettify/prettify.css" type="text/css" rel="stylesheet"/> | ||||
|     <link href="@assets/common/css/gitbucket.css" rel="stylesheet"> | ||||
|     <script src="@assets/common/js/jquery-1.9.1.js"></script> | ||||
|     <script src="@assets/common/js/validation.js"></script> | ||||
|     <script src="@assets/common/js/gitbucket.js"></script> | ||||
|     <script src="@assets/bootstrap/js/bootstrap.js"></script> | ||||
|     <script src="@assets/datepicker/js/bootstrap-datepicker.js"></script> | ||||
|     <script src="@assets/colorpicker/js/bootstrap-colorpicker.js"></script> | ||||
|     <script src="@assets/google-code-prettify/prettify.js"></script> | ||||
|   </head> | ||||
|   <body> | ||||
|     <div class="navbar navbar-inverse"> | ||||
| @@ -37,8 +40,8 @@ | ||||
|             <ul class="nav pull-right"> | ||||
|               @if(loginAccount.isDefined){ | ||||
|                 <li><a href="@path/new">New repo</a></li> | ||||
|                 <li><a href="@path/@loginAccount.get.userName">Account</a></li> | ||||
|                 <li><a href="@path/admin/users">Users</a></li> | ||||
|                 <li><a href="@url(loginAccount.get.userName)">Account</a></li> | ||||
|                 <li><a href="@path/admin/users">Administration</a></li> | ||||
|                 <li><a href="@path/signout">Sign out</a></li> | ||||
|               } else { | ||||
|                 <li><a href="@path/signin">Sign in</a></li> | ||||
| @@ -52,4 +55,7 @@ | ||||
|       @body | ||||
|     </div> | ||||
|   </body> | ||||
|   <script> | ||||
|     $(function(){ prettyPrint(); }); | ||||
|   </script> | ||||
| </html> | ||||
| @@ -12,7 +12,7 @@ | ||||
|     <input type="text" name="description" id="description" style="width: 600px;"/> | ||||
|   </fieldset> | ||||
|   <fieldset> | ||||
|     <input type="submit" class="btn btn-primary" value="Create repository"/> | ||||
|     <input type="submit" class="btn btn-success" value="Create repository"/> | ||||
|   </fieldset> | ||||
| </form> | ||||
| } | ||||
| @@ -1,13 +1,16 @@ | ||||
| @(repository: service.RepositoryService.RepositoryInfo, content: String, enableWikiLink: Boolean, | ||||
|   enableCommitLink: Boolean, enableIssueLink: Boolean, style: String = "", placeholder: String = "Leave a comment")(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <div class="tabbable"> | ||||
|   <ul class="nav nav-tabs"> | ||||
|     <li class="active"><a href="#tab1" data-toggle="tab">Write</a></li> | ||||
|     <li><a href="#tab2" data-toggle="tab" id="preview">Preview</a></li> | ||||
|     @* | ||||
|     <li class="pull-right"> | ||||
|       <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">Markdown Syntax Guide</a> | ||||
|     </li> | ||||
|     *@ | ||||
|   </ul> | ||||
|   <div class="tab-content"> | ||||
|     <div class="tab-pane active" id="tab1"> | ||||
| @@ -20,13 +23,13 @@ | ||||
|     </div> | ||||
|   </div> | ||||
| </div> | ||||
| <link  href="@path/assets/google-code-prettify/prettify.css" type="text/css" rel="stylesheet"/> | ||||
| <script src="@path/assets/google-code-prettify/prettify.js"></script> | ||||
| <link  href="@assets/google-code-prettify/prettify.css" type="text/css" rel="stylesheet"/> | ||||
| <script src="@assets/google-code-prettify/prettify.js"></script> | ||||
| <script> | ||||
| $(function(){ | ||||
|   $('#preview').click(function(){ | ||||
|     $('#preview-area').html('<img src="@path/assets/common/images/indicator.gif"> Previewing...'); | ||||
|     $.post('@path/@repository.owner/@repository.name/_preview', { | ||||
|     $('#preview-area').html('<img src="@assets/common/images/indicator.gif"> Previewing...'); | ||||
|     $.post('@url(repository)/_preview', { | ||||
|       content          : $('#content').val(), | ||||
|       enableWikiLink   : @enableWikiLink, | ||||
|       enableCommitLink : @enableCommitLink, | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| @(branch: String, repository: service.RepositoryService.RepositoryInfo, pathList: List[String], content: util.JGitUtil.ContentInfo, latestCommit: util.JGitUtil.CommitInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main(repository.owner+"/"+repository.name) { | ||||
|   @html.header("code", repository) | ||||
|   @navtab(branch, repository, "files") | ||||
|   <div class="head"> | ||||
|     <a href="@path/@repository.owner/@repository.name/tree/@branch">@repository.name</a> / | ||||
|     <a href="@url(repository)/tree/@branch">@repository.name</a> / | ||||
|     @pathList.zipWithIndex.map { case (section, i) => | ||||
|       @if(i == pathList.length - 1){ | ||||
|         @section | ||||
|       } else { | ||||
|         <a href="@path/@repository.owner/@repository.name/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> / | ||||
|         <a href="@url(repository)/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> / | ||||
|       } | ||||
|     } | ||||
|   </div> | ||||
| @@ -19,20 +19,20 @@ | ||||
|     <tr> | ||||
|       <th style="font-weight: normal;"> | ||||
|         <div class="pull-left"> | ||||
|           <a href="@path/@latestCommit.committer" class="username strong">@latestCommit.committer</a> | ||||
|           <span class="muted">@helpers.datetime(latestCommit.time)</span> | ||||
|           <a href="@path/@repository.owner/@repository.name/commit/@latestCommit.id" class="commit-message">@helpers.link(latestCommit.summary, repository)</a> | ||||
|           <a href="@url(latestCommit.committer)" class="username strong">@latestCommit.committer</a> | ||||
|           <span class="muted">@datetime(latestCommit.time)</span> | ||||
|           <a href="@url(repository)/commit/@latestCommit.id" class="commit-message">@link(latestCommit.summary, repository)</a> | ||||
|         </div> | ||||
|         <div class="btn-group pull-right"> | ||||
|           <a class="btn btn-mini" href="?raw=true">Raw</a> | ||||
|           <a class="btn btn-mini" href="@path/@repository.owner/@repository.name/commits/@branch/@pathList.mkString("/")">History</a> | ||||
|           <a class="btn btn-mini" href="@url(repository)/commits/@branch/@pathList.mkString("/")">History</a> | ||||
|         </div>   | ||||
|       </th> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td> | ||||
|         @if(content.viewType == "text"){ | ||||
|         <pre class="prettyprint linenums">@content.content.get</pre> | ||||
|         <pre class="prettyprint linenums blob">@content.content.get</pre> | ||||
|         } | ||||
|         @if(content.viewType == "image"){ | ||||
|         <img src="?raw=true"/> | ||||
| @@ -46,26 +46,4 @@ | ||||
|       </td> | ||||
|     </tr> | ||||
|   </table> | ||||
|    | ||||
|   <link  href="@path/assets/google-code-prettify/prettify.css" type="text/css" rel="stylesheet"/> | ||||
|   <script src="@path/assets/google-code-prettify/prettify.js"></script> | ||||
|   <style type="text/css"> | ||||
|   li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 { | ||||
|     list-style-type: decimal; | ||||
|     background: white; | ||||
|   } | ||||
|  | ||||
|   li.L1, li.L3, li.L5, li.L7, li.L9 { | ||||
|     background: #f5f5f5; | ||||
|   } | ||||
|  | ||||
|   pre.prettyprint { | ||||
|     border: none; | ||||
|     background-color: white; | ||||
|     padding-left: 20px; | ||||
|   } | ||||
|   </style> | ||||
|   <script> | ||||
|   $(function(){ prettyPrint(); }); | ||||
|   </script> | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(commitId: String, commit: util.JGitUtil.CommitInfo, branches: List[String], tags: List[String], repository: service.RepositoryService.RepositoryInfo, diffs: Seq[util.JGitUtil.DiffInfo])(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @import util.Implicits._ | ||||
| @import org.eclipse.jgit.diff.DiffEntry.ChangeType | ||||
| @html.main(commit.shortMessage){ | ||||
| @@ -10,26 +10,26 @@ | ||||
|     <tr> | ||||
|       <th> | ||||
|         <div class="pull-right align-right"> | ||||
|           <a href="@path/@repository.owner/@repository.name/tree/@commit.id" class="btn btn-small">Browse code</a> | ||||
|           <a href="@url(repository)/tree/@commit.id" class="btn btn-small">Browse code</a> | ||||
|         </div> | ||||
|         <div class="commit-log">@helpers.link(commit.summary, repository)</div> | ||||
|         <div class="commit-log">@link(commit.summary, repository)</div> | ||||
|         @if(commit.description.isDefined){ | ||||
|           <pre class="commit-description">@helpers.link(commit.description.get, repository)</pre> | ||||
|           <pre class="commit-description">@link(commit.description.get, repository)</pre> | ||||
|         } | ||||
|         <div class="small" style="font-weight: normal;"> | ||||
|           @if(branches.nonEmpty){ | ||||
|             <span class="muted"> | ||||
|               <img src="@path/assets/common/images/branch.png"/> | ||||
|               <img src="@assets/common/images/branch.png"/> | ||||
|               @branches.zipWithIndex.map { case (branch, i) => | ||||
|                 <a href="@path/@repository.owner/@repository.name/tree/@branch" class="branch" id="branch-@i">@branch</a> | ||||
|                 <a href="@url(repository)/tree/@branch" class="branch" id="branch-@i">@branch</a> | ||||
|               } | ||||
|             </span> | ||||
|           } | ||||
|           @if(tags.nonEmpty){ | ||||
|             <span class="muted"> | ||||
|               <img src="@path/assets/common/images/tag.png"/> | ||||
|               <img src="@assets/common/images/tag.png"/> | ||||
|               @tags.zipWithIndex.map { case (tag, i) => | ||||
|                 <a href="@path/@repository.owner/@repository.name/tree/@tag" class="tag" id="tag-@i">@tag</a> | ||||
|                 <a href="@url(repository)/tree/@tag" class="tag" id="tag-@i">@tag</a> | ||||
|               } | ||||
|             </span> | ||||
|           } | ||||
| @@ -38,7 +38,7 @@ | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td> | ||||
|         <a href="@path/@commit.committer" class="username strong">@commit.committer</a> <span class="muted">@helpers.datetime(commit.time)</span> | ||||
|         <a href="@url(commit.committer)" class="username strong">@commit.committer</a> <span class="muted">@datetime(commit.time)</span> | ||||
|         <div class="pull-right monospace small" style="text-align: right;"> | ||||
|           <div> | ||||
|             @if(commit.parents.size == 0){ | ||||
| @@ -46,7 +46,7 @@ | ||||
|             } | ||||
|             @if(commit.parents.size == 1){ | ||||
|               <span class="muted">1 parent</span> | ||||
|               <a href="@path/@repository.owner/@repository.name/commit/@commit.parents(0)" class="commit-id">@commit.parents(0).substring(0, 7)</a> | ||||
|               <a href="@url(repository)/commit/@commit.parents(0)" class="commit-id">@commit.parents(0).substring(0, 7)</a> | ||||
|             } | ||||
|             <span class="muted">commit</span> @commit.id | ||||
|           </div> | ||||
| @@ -54,7 +54,7 @@ | ||||
|             <div> | ||||
|               <span class="muted">@commit.parents.size parents | ||||
|               @commit.parents.map { parent => | ||||
|                 <a href="@path/@repository.owner/@repository.name/commit/@parent" class="commit-id">@parent.substring(0, 7)</a> | ||||
|                 <a href="@url(repository)/commit/@parent" class="commit-id">@parent.substring(0, 7)</a> | ||||
|               }.mkHtml(" + ") | ||||
|               </span> | ||||
|             </div> | ||||
| @@ -78,16 +78,16 @@ | ||||
|     <li@if(i > 0){ class="border"}> | ||||
|       <a href="#diff-@i"> | ||||
|         @if(diff.changeType == ChangeType.COPY || diff.changeType == ChangeType.RENAME){ | ||||
|           <img src="@path/assets/common/images/diff_move.png"/> @diff.oldPath -> @diff.newPath | ||||
|           <img src="@assets/common/images/diff_move.png"/> @diff.oldPath -> @diff.newPath | ||||
|         } | ||||
|         @if(diff.changeType == ChangeType.ADD){ | ||||
|           <img src="@path/assets/common/images/diff_add.png"/> @diff.newPath | ||||
|           <img src="@assets/common/images/diff_add.png"/> @diff.newPath | ||||
|         } | ||||
|         @if(diff.changeType == ChangeType.MODIFY){ | ||||
|           <img src="@path/assets/common/images/diff_edit.png"/> @diff.newPath | ||||
|           <img src="@assets/common/images/diff_edit.png"/> @diff.newPath | ||||
|         } | ||||
|         @if(diff.changeType == ChangeType.DELETE){ | ||||
|           <img src="@path/assets/common/images/diff_delete.png"/> @diff.oldPath | ||||
|           <img src="@assets/common/images/diff_delete.png"/> @diff.oldPath | ||||
|         } | ||||
|       </a> | ||||
|     </li> | ||||
|   | ||||
| @@ -1,51 +1,50 @@ | ||||
| @(pathList: List[String], branch: String, repository: service.RepositoryService.RepositoryInfo, commits: Seq[Seq[util.JGitUtil.CommitInfo]], page: Int, hasNext: Boolean)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main(repository.owner+"/"+repository.name) { | ||||
|   @html.header("code", repository) | ||||
|   @navtab(branch, repository, if(pathList.isEmpty) "commits" else "files") | ||||
|   <div class="head"> | ||||
|     @if(pathList.isEmpty){ | ||||
|       <a href="@path/@repository.owner/@repository.name/tree/@branch">@repository.name</a> / Commit History | ||||
|       <a href="@url(repository)/tree/@branch">@repository.name</a> / Commit History | ||||
|     } | ||||
|     @if(pathList.nonEmpty){ | ||||
|       <span class="muted">History for</span> | ||||
|       <a href="@path/@repository.owner/@repository.name/tree/@branch">@repository.name</a> / | ||||
|       <a href="@url(repository)/tree/@branch">@repository.name</a> / | ||||
|       @pathList.zipWithIndex.map { case (section, i) => | ||||
|         @if(i == pathList.length - 1){ | ||||
|           @section | ||||
|         } else { | ||||
|           <a href="@path/@repository.owner/@repository.name/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> / | ||||
|           <a href="@url(repository)/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> / | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   </div> | ||||
|        | ||||
|   @commits.map { date => | ||||
|   @commits.map { day => | ||||
|     <table class="table table-bordered"> | ||||
|       <tr> | ||||
|         <th>@helpers.date(date.head.time)</th> | ||||
|         <th>@date(day.head.time)</th> | ||||
|       </tr> | ||||
|       @date.map { commit => | ||||
|       @day.map { commit => | ||||
|       <tr> | ||||
|         <td> | ||||
|           <div class="pull-left"> | ||||
|             <a href="@path/@repository.owner/@repository.name/commit/@commit.id" class="commit-message" style="font-weight: bold;">@helpers.link(commit.summary, repository)</a> | ||||
|             <a href="@url(repository)/commit/@commit.id" class="commit-message" style="font-weight: bold;">@link(commit.summary, repository)</a> | ||||
|             @if(commit.description.isDefined){ | ||||
|               <a href="javascript:void(0)" onclick="$('#description-@commit.id').toggle();" class="omit">...</a> | ||||
|             } | ||||
|             <br> | ||||
|             @if(commit.description.isDefined){ | ||||
|               <pre id="description-@commit.id" style="display: none;" class="commit-description">@helpers.link(commit.description.get, repository)</pre> | ||||
|               <pre id="description-@commit.id" style="display: none;" class="commit-description">@link(commit.description.get, repository)</pre> | ||||
|             } | ||||
|             <div class="small"> | ||||
|               <a href="@path/@commit.committer" class="username">@commit.committer</a> | ||||
|               <span class="muted">@helpers.datetime(commit.time)</span> | ||||
|               <a href="@url(commit.committer)" class="username">@commit.committer</a> | ||||
|               <span class="muted">@datetime(commit.time)</span> | ||||
|             </div> | ||||
|           </div> | ||||
|           <div class="pull-right align-right"> | ||||
|             <a href="@path/@repository.owner/@repository.name/commit/@commit.id" class="btn btn-small monospace">@commit.id.substring(0, 10)</a><br> | ||||
|             <a href="@path/@repository.owner/@repository.name/tree/@commit.id" class="small">Browse code</a> | ||||
|             <a href="@url(repository)/commit/@commit.id" class="btn btn-small monospace">@commit.id.substring(0, 10)</a><br> | ||||
|             <a href="@url(repository)/tree/@commit.id" class="small">Browse code</a> | ||||
|           </div> | ||||
|         </td> | ||||
|       </tr> | ||||
|   | ||||
| @@ -1,35 +1,35 @@ | ||||
| @(branch: String, repository: service.RepositoryService.RepositoryInfo, pathList: List[String], latestCommit: util.JGitUtil.CommitInfo, files: List[util.JGitUtil.FileInfo], readme: Option[String])(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main(repository.owner + "/" + repository.name) { | ||||
|   @html.header("code", repository) | ||||
|   @navtab(branch, repository, "files") | ||||
|   <div class="head"> | ||||
|     <a href="@path/@repository.owner/@repository.name/tree/@branch">@repository.name</a> / | ||||
|     <a href="@url(repository)/tree/@branch">@repository.name</a> / | ||||
|     @pathList.zipWithIndex.map { case (section, i) => | ||||
|       <a href="@path/@repository.owner/@repository.name/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> / | ||||
|       <a href="@url(repository)/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> / | ||||
|     } | ||||
|   </div> | ||||
|   <div class="box"> | ||||
|     <table class="table table-file-list" style="border: 1px solid silver;"> | ||||
|       <tr> | ||||
|         <th colspan="4" style="font-weight: normal;"> | ||||
|           <a href="@path/@repository.owner/@repository.name/commit/@latestCommit.id" class="commit-message">@helpers.link(latestCommit.summary, repository)</a> | ||||
|           <a href="@url(repository)/commit/@latestCommit.id" class="commit-message">@link(latestCommit.summary, repository)</a> | ||||
|           @if(latestCommit.description.isDefined){ | ||||
|             <a href="javascript:void(0)" onclick="$('#description-@latestCommit.id').toggle();" class="omit">...</a> | ||||
|           } | ||||
|           @if(latestCommit.description.isDefined){ | ||||
|             <pre id="description-@latestCommit.id" class="commit-description" style="display: none;">@helpers.link(latestCommit.description.get, repository)</pre> | ||||
|             <pre id="description-@latestCommit.id" class="commit-description" style="display: none;">@link(latestCommit.description.get, repository)</pre> | ||||
|           } | ||||
|         </th> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td colspan="4" class="latest-commit"> | ||||
|           <div> | ||||
|             <a href="@path/@repository.owner/@repository.name/@latestCommit.committer" class="username strong">@latestCommit.committer</a> | ||||
|             <span class="muted">@helpers.datetime(latestCommit.time)</span> | ||||
|             <a href="@url(latestCommit.committer)" class="username strong">@latestCommit.committer</a> | ||||
|             <span class="muted">@datetime(latestCommit.time)</span> | ||||
|             <div class="pull-right align-right monospace"> | ||||
|               <a href="@path/@repository.owner/@repository.name/commit/@latestCommit.id" class="commit-id"><span class="muted">latest commit</span> @latestCommit.id.substring(0, 10)</a> | ||||
|               <a href="@url(repository)/commit/@latestCommit.id" class="commit-id"><span class="muted">latest commit</span> @latestCommit.id.substring(0, 10)</a> | ||||
|             </div> | ||||
|           </div> | ||||
|         </td> | ||||
| @@ -37,7 +37,7 @@ | ||||
|       @if(pathList.size > 0){ | ||||
|       <tr> | ||||
|         <td width="16"></td> | ||||
|         <td><a href="@path/@repository.owner/@repository.name@if(pathList.size > 1){/tree/@branch/@pathList.init.mkString("/")}">..</a></td> | ||||
|         <td><a href="@url(repository)@if(pathList.size > 1){/tree/@branch/@pathList.init.mkString("/")}">..</a></td> | ||||
|         <td></td> | ||||
|         <td></td> | ||||
|       </tr> | ||||
| @@ -46,20 +46,20 @@ | ||||
|       <tr> | ||||
|         <td width="16"> | ||||
|         @if(file.isDirectory){ | ||||
|           <img src="@path/assets/common/images/folder.png"/> | ||||
|           <img src="@assets/common/images/folder.png"/> | ||||
|         } else { | ||||
|           <img src="@path/assets/common/images/file.png"/> | ||||
|           <img src="@assets/common/images/file.png"/> | ||||
|         } | ||||
|         </td> | ||||
|         <td> | ||||
|         @if(file.isDirectory){ | ||||
|           <a href="@path/@repository.owner/@repository.name/tree@{(branch :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a> | ||||
|           <a href="@url(repository)/tree@{(branch :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a> | ||||
|         } else { | ||||
|           <a href="@path/@repository.owner/@repository.name/blob@{(branch :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a> | ||||
|           <a href="@url(repository)/blob@{(branch :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a> | ||||
|         } | ||||
|         </td> | ||||
|         <td>@helpers.datetime(file.time)</td> | ||||
|         <td><a href="@path/@repository.owner/@repository.name/commit/@file.commitId" class="commit-message">@helpers.link(file.message, repository)</a> [<a href="@path/@file.committer">@file.committer</a>]</td> | ||||
|         <td>@datetime(file.time)</td> | ||||
|         <td><a href="@url(repository)/commit/@file.commitId" class="commit-message">@link(file.message, repository)</a> [<a href="@url(file.committer)">@file.committer</a>]</td> | ||||
|       </tr> | ||||
|       } | ||||
|     </table> | ||||
| @@ -68,7 +68,7 @@ | ||||
|   @readme.map { content => | ||||
|   <div class="box"> | ||||
|     <div class="box-header">README.md</div> | ||||
|     <div class="box-content">@helpers.markdown(content, repository, false, false, false)</div> | ||||
|     <div class="box-content">@markdown(content, repository, false, false, false)</div> | ||||
|   </div> | ||||
|   } | ||||
| } | ||||
| @@ -1,5 +1,6 @@ | ||||
| @(id: String, repository: service.RepositoryService.RepositoryInfo, active: String)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <ul class="nav nav-tabs"> | ||||
|   <li> | ||||
|     <div class="btn-group" style="margin-right: 20px;"> | ||||
| @@ -13,14 +14,14 @@ | ||||
|       </button> | ||||
|       <ul class="dropdown-menu"> | ||||
|         @repository.branchList.map { branch => | ||||
|           <li><a href="@path/@repository.owner/@repository.name/@if(active=="commits"){commits} else {tree}/@branch">@branch</a></li> | ||||
|           <li><a href="@url(repository)/@if(active=="commits"){commits} else {tree}/@branch">@branch</a></li> | ||||
|         } | ||||
|       </ul> | ||||
|     </div> | ||||
|   </li> | ||||
|   <li@if(active=="files"){ class="active"}><a href="@path/@repository.owner/@repository.name/tree/@id">Files</a></li> | ||||
|   <li@if(active=="commits"){ class="active"}><a href="@path/@repository.owner/@repository.name/commits/@id">Commits</a></li> | ||||
|   <li@if(active=="tags"){ class="active"}><a href="@path/@repository.owner/@repository.name/tags">Tags@if(repository.tags.length > 0){ <span class="badge">@repository.tags.length</span>}</a></li> | ||||
|   <li@if(active=="files"){ class="active"}><a href="@url(repository)/tree/@id">Files</a></li> | ||||
|   <li@if(active=="commits"){ class="active"}><a href="@url(repository)/commits/@id">Commits</a></li> | ||||
|   <li@if(active=="tags"){ class="active"}><a href="@url(repository)/tags">Tags@if(repository.tags.length > 0){ <span class="badge">@repository.tags.length</span>}</a></li> | ||||
|   <li class="pull-right"> | ||||
|     <div class="input-prepend"> | ||||
|       <span class="add-on">HTTP</span> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers | ||||
| @import view.helpers._ | ||||
| @html.main(repository.owner + "/" + repository.name) { | ||||
|   @html.header("code", repository) | ||||
|   @navtab("master", repository, "tags") @* TODO DON'T display branch pulldown *@ | ||||
| @@ -14,10 +14,10 @@ | ||||
|     </tr> | ||||
|     @repository.tags.map { tag => | ||||
|       <tr> | ||||
|         <td><a href="@path/@repository.owner/@repository.name/tree/@tag.name">@tag.name</a></td> | ||||
|         <td>@helpers.datetime(tag.time)</td> | ||||
|         <td class="monospace"><a href="@path/@repository.owner/@repository.name/commit/@tag.id">@tag.id.substring(0, 10)</a></td> | ||||
|         <td><a href="@path/@repository.owner/@repository.name/archive/@(tag.name).zip">ZIP</a></td> | ||||
|         <td><a href="@url(repository)/tree/@tag.name">@tag.name</a></td> | ||||
|         <td>@datetime(tag.time)</td> | ||||
|         <td class="monospace"><a href="@url(repository)/commit/@tag.id">@tag.id.substring(0, 10)</a></td> | ||||
|         <td><a href="@url(repository)/archive/@(tag.name).zip">ZIP</a></td> | ||||
|       </tr> | ||||
|     } | ||||
|   </table> | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| @(collaborators: List[String], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main("Settings"){ | ||||
|   @html.header("settings", repository) | ||||
|   @menu("collaborators", repository){ | ||||
| @@ -7,12 +8,12 @@ | ||||
|     <ul class="collaborator"> | ||||
|       @collaborators.map { collaboratorName => | ||||
|         <li> | ||||
|           <a href="@path/@collaboratorName">@collaboratorName</a> | ||||
|           <a href="@path/@repository.owner/@repository.name/settings/collaborators/remove?name=@collaboratorName" class="remove">(remove)</a> | ||||
|           <a href="@url(collaboratorName)">@collaboratorName</a> | ||||
|           <a href="@url(repository)/settings/collaborators/remove?name=@collaboratorName" class="remove">(remove)</a> | ||||
|         </li> | ||||
|       } | ||||
|     </ul> | ||||
|     <form method="POST" action="@path/@repository.owner/@repository.name/settings/collaborators/add" validate="true"> | ||||
|     <form method="POST" action="@url(repository)/settings/collaborators/add" validate="true"> | ||||
|       <div> | ||||
|         <span class="error" id="error-userName"></span> | ||||
|       </div> | ||||
| @@ -24,7 +25,7 @@ | ||||
| <script> | ||||
| $('#userName').typeahead({ | ||||
|   source: function (query, process) { | ||||
|     return $.get('@path/@repository.owner/@repository.name/settings/collaborators/proposals', { query: query }, | ||||
|     return $.get('@url(repository)/settings/collaborators/proposals', { query: query }, | ||||
|       function (data) { | ||||
|         return process(data.options); | ||||
|       }); | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| @(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main("Delete Repository"){ | ||||
|   @html.header("settings", repository) | ||||
|   @menu("delete", repository){ | ||||
|     <form id="form" method="post" action="@path/@repository.owner/@repository.name/settings/delete"> | ||||
|     <form id="form" method="post" action="@url(repository)/settings/delete"> | ||||
|       <h3>Delete repository</h3> | ||||
|       <p> | ||||
|         Once you delete a repository, there is no going back. | ||||
|   | ||||
| @@ -1,16 +1,17 @@ | ||||
| @(active: String, repository: service.RepositoryService.RepositoryInfo)(body: Html)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <div class="row-fluid"> | ||||
|   <div class="span3"> | ||||
|     <ul class="nav nav-tabs nav-stacked"> | ||||
|       <li@if(active=="options"){ class="active"}> | ||||
|         <a href="@path/@repository.owner/@repository.name/settings/options">Options</a> | ||||
|         <a href="@url(repository)/settings/options">Options</a> | ||||
|       </li> | ||||
|       <li@if(active=="collaborators"){ class="active"}> | ||||
|         <a href="@path/@repository.owner/@repository.name/settings/collaborators">Collaborators</a> | ||||
|         <a href="@url(repository)/settings/collaborators">Collaborators</a> | ||||
|       </li> | ||||
|       <li@if(active=="delete"){ class="active"}> | ||||
|         <a href="@path/@repository.owner/@repository.name/settings/delete">Delete Repository</a> | ||||
|         <a href="@url(repository)/settings/delete">Delete Repository</a> | ||||
|       </li> | ||||
|    </ul> | ||||
|   </div> | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| @(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main("Settings"){ | ||||
|   @html.header("settings", repository) | ||||
|   @menu("options", repository){ | ||||
|     <form id="form" method="post" action="@path/@repository.owner/@repository.name/settings/options" validate="true"> | ||||
|     <form id="form" method="post" action="@url(repository)/settings/options" validate="true"> | ||||
|       <div class="box"> | ||||
|         <div class="box-header">Settings</div> | ||||
|         <div class="box-content"> | ||||
| @@ -66,10 +67,7 @@ | ||||
|       </div> | ||||
|       *@ | ||||
|       <fieldset> | ||||
|         <input type="submit" class="btn btn-primary" value="Apply changes"/> | ||||
|         <!-- | ||||
|         <input type="submit" class="btn btn-danger" value="Delete this repository"/> | ||||
|         --> | ||||
|         <input type="submit" class="btn btn-success" value="Apply changes"/> | ||||
|       </fieldset> | ||||
|     </form> | ||||
|   } | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     <input type="password" name="password" id="password"/> | ||||
|     <span id="error-password" class="error"></span> | ||||
|     <div> | ||||
|       <input type="submit" class="btn btn-primary" value="Sign in"/> | ||||
|       <input type="submit" class="btn btn-success" value="Sign in"/> | ||||
|     </div> | ||||
|   </form> | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(pageName: String, page: service.WikiService.WikiPageInfo, repository: service.RepositoryService.RepositoryInfo, isWritable: Boolean)(implicit context: app.Context) | ||||
| @import view.helpers | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main(pageName + " - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("wiki", repository) | ||||
|   @wikitab((if(pageName == "Home") "home" else ""), repository) | ||||
| @@ -11,22 +11,20 @@ | ||||
|     <li class="pull-right"> | ||||
|       <div class="btn-group"> | ||||
|         @if(isWritable){ | ||||
|           <a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">New Page</a> | ||||
|           <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_edit">Edit Page</a> | ||||
|           <a class="btn" href="@url(repository)/wiki/_new">New Page</a> | ||||
|           <a class="btn" href="@url(repository)/wiki/@pageName/_edit">Edit Page</a> | ||||
|         } | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/@pageName/_history">Page History</a> | ||||
|       </div> | ||||
|     </li> | ||||
|   </ul> | ||||
|   <div class="markdown-body"> | ||||
|     @helpers.markdown(page.content, repository, true, false, false) | ||||
|     @markdown(page.content, repository, true, false, false) | ||||
|   </div> | ||||
|   <div class="small"> | ||||
|     <span class="muted">Last edited by @page.committer at @helpers.datetime(page.time)</span> | ||||
|     <span class="muted">Last edited by @page.committer at @datetime(page.time)</span> | ||||
|   </div> | ||||
| } | ||||
| <link  href="@path/assets/google-code-prettify/prettify.css" type="text/css" rel="stylesheet"/> | ||||
| <script src="@path/assets/google-code-prettify/prettify.js"></script> | ||||
| <script> | ||||
|   $(function(){ prettyPrint(); }); | ||||
| </script> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(pageName: Option[String], diffs: Seq[util.JGitUtil.DiffInfo], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import view.helpers | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @import org.eclipse.jgit.diff.DiffEntry.ChangeType | ||||
| @html.main("Compare Revisions - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("wiki", repository) | ||||
| @@ -12,10 +12,10 @@ | ||||
|     <li class="pull-right"> | ||||
|       <div class="btn-group"> | ||||
|       @if(pageName.isDefined){ | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName">View Page</a> | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Back to Page History</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/@pageName">View Page</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/@pageName/_history">Back to Page History</a> | ||||
|       } else { | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/_history">Back to Wiki History</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/_history">Back to Wiki History</a> | ||||
|       } | ||||
|       </div> | ||||
|     </li> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(pageName: String, page: Option[service.WikiService.WikiPageInfo], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import view.helpers | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main((if(pageName == "") "New Page" else pageName) + " - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("wiki", repository) | ||||
|   @wikitab("", repository) | ||||
| @@ -11,20 +11,20 @@ | ||||
|     <li class="pull-right"> | ||||
|       <div class="btn-group"> | ||||
|       @if(pageName != ""){ | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName">View Page</a> | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_delete" id="delete">Delete Page</a> | ||||
|         <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/@pageName">View Page</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/@pageName/_delete" id="delete">Delete Page</a> | ||||
|         <a class="btn" href="@url(repository)/wiki/@pageName/_history">Page History</a> | ||||
|       } | ||||
|       </div> | ||||
|     </li> | ||||
|   </ul> | ||||
|   <form action="@path/@repository.owner/@repository.name/wiki/@if(pageName == ""){_new} else {_edit}" method="POST" validate="true"> | ||||
|   <form action="@url(repository)/wiki/@if(pageName == ""){_new} else {_edit}" method="POST" validate="true"> | ||||
|     <span id="error-pageName" class="error"></span> | ||||
|     <input type="text" name="pageName" value="@pageName" style="width: 900px; font-weight: bold;" placeholder="Input a page name."/> | ||||
|     @html.preview(repository, page.map(_.content).getOrElse(""), true, false, false, "width: 900px; height: 400px;", "") | ||||
|     <input type="text" name="message" value="" style="width: 900px;" placeholder="Write a small message here explaining this change. (Optional)"/> | ||||
|     <input type="hidden" name="currentPageName" value="@pageName"/> | ||||
|     <input type="submit" value="Save" class="btn btn-primary"> | ||||
|     <input type="submit" value="Save" class="btn btn-success"> | ||||
|   </form> | ||||
| } | ||||
| <script> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(pageName: Option[String], commits: List[util.JGitUtil.CommitInfo], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import view.helpers | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main("History - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("wiki", repository) | ||||
|   @wikitab(if(pageName.isEmpty) "history" else "", repository) | ||||
| @@ -18,12 +18,12 @@ | ||||
|       <div class="btn-group"> | ||||
|         @if(pageName.isEmpty){ | ||||
|           @if(loginAccount.isDefined){ | ||||
|             <a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">New Page</a> | ||||
|             <a class="btn" href="@url(repository)/wiki/_new">New Page</a> | ||||
|           } | ||||
|         } else { | ||||
|           <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName">View Page</a> | ||||
|           <a class="btn" href="@url(repository)/wiki/@pageName">View Page</a> | ||||
|           @if(loginAccount.isDefined){ | ||||
|             <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_edit">Edit Page</a> | ||||
|             <a class="btn" href="@url(repository)/wiki/@pageName/_edit">Edit Page</a> | ||||
|           } | ||||
|         } | ||||
|       </div> | ||||
| @@ -33,9 +33,9 @@ | ||||
|     @commits.map { commit => | ||||
|       <tr> | ||||
|         <td width="0%"><input type="checkbox" name="commitId" value="@commit.id"></td> | ||||
|         <td><a href="@path/@commit.committer">@commit.committer</a></td> | ||||
|         <td><a href="@url(commit.committer)">@commit.committer</a></td> | ||||
|         <td width="80%"> | ||||
|           <span class="muted">@helpers.datetime(commit.time):</span> | ||||
|           <span class="muted">@datetime(commit.time):</span> | ||||
|           @commit.shortMessage | ||||
|         </td> | ||||
|       </tr> | ||||
| @@ -53,10 +53,10 @@ | ||||
|       var e = $('input[name=commitId]:checked'); | ||||
|       if(e.length == 2){ | ||||
|         @if(pageName.isEmpty){ | ||||
|           location.href = '@path/@repository.owner/@repository.name/wiki/_compare/' +  | ||||
|           location.href = '@url(repository)/wiki/_compare/' + | ||||
|             $(e.get(1)).attr('value') + '...' + $(e.get(0)).attr('value'); | ||||
|         } else { | ||||
|           location.href = '@path/@repository.owner/@repository.name/wiki/@pageName.get/_compare/' +  | ||||
|           location.href = '@url(repository)/wiki/@pageName.get/_compare/' + | ||||
|             $(e.get(1)).attr('value') + '...' + $(e.get(0)).attr('value'); | ||||
|         } | ||||
|       } | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| @(pages: List[String], repository: service.RepositoryService.RepositoryInfo, isWritable: Boolean)(implicit context: app.Context) | ||||
| @import view.helpers | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| @html.main("Pages - " + repository.owner + "/" + repository.name){ | ||||
|   @html.header("wiki", repository) | ||||
|   @wikitab("pages", repository) | ||||
| @@ -11,14 +11,14 @@ | ||||
|     <li class="pull-right"> | ||||
|       <div class="btn-group"> | ||||
|         @if(isWritable){ | ||||
|           <a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">New Page</a> | ||||
|           <a class="btn" href="@url(repository)/wiki/_new">New Page</a> | ||||
|         } | ||||
|       </div> | ||||
|     </li> | ||||
|   </ul> | ||||
|   <ul> | ||||
|     @pages.map { page => | ||||
|       <li><a href="@path/@repository.owner/@repository.name/wiki/@page">@page</a></li> | ||||
|       <li><a href="@url(repository)/wiki/@page">@page</a></li> | ||||
|     } | ||||
|   </ul> | ||||
|  | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| @(active: String, repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) | ||||
| @import context._ | ||||
| @import view.helpers._ | ||||
| <ul class="nav nav-tabs"> | ||||
|   <li@if(active == "home"){ class="active"}><a href="@path/@repository.owner/@repository.name/wiki">Home</a></li> | ||||
|   <li@if(active == "pages"){ class="active"}><a href="@path/@repository.owner/@repository.name/wiki/_pages">Pages</a></li> | ||||
|   <li@if(active == "history"){ class="active"}><a href="@path/@repository.owner/@repository.name/wiki/_history">Wiki History</a></li> | ||||
|   <li@if(active == "home"){ class="active"}><a href="@url(repository)/wiki">Home</a></li> | ||||
|   <li@if(active == "pages"){ class="active"}><a href="@url(repository)/wiki/_pages">Pages</a></li> | ||||
|   <li@if(active == "history"){ class="active"}><a href="@url(repository)/wiki/_history">Wiki History</a></li> | ||||
|   <li class="pull-right"> | ||||
|     <div class="input-prepend"> | ||||
|       <span class="add-on">HTTP</span> | ||||
|   | ||||
| @@ -225,6 +225,21 @@ ul#commit-file-list li.border { | ||||
|   border-top: 1px solid #eee; | ||||
| } | ||||
|  | ||||
| li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 { | ||||
|   list-style-type: decimal; | ||||
|   background: white; | ||||
| } | ||||
|  | ||||
| li.L1, li.L3, li.L5, li.L7, li.L9 { | ||||
|   background: #f5f5f5; | ||||
| } | ||||
|  | ||||
| pre.blob { | ||||
|   border: none; | ||||
|   background-color: white; | ||||
|   padding-left: 20px; | ||||
| } | ||||
|  | ||||
| /****************************************************************************/ | ||||
| /* Issues */ | ||||
| /****************************************************************************/ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user