BlueMir 2012-11-29
make help page
@5a831d4d7517d249ae833e1edf0023fab8f20adc
 
app/views/code/gitView.scala.html (deleted)
--- app/views/code/gitView.scala.html
@@ -1,199 +0,0 @@
-@(url : String, project:Project)
-@main("코드", project, utils.MenuType.CODE){
-<ul class="nav nav-tabs">
-  <a href="@routes.CodeApp.codeBrowser(project.owner, project.name)">@Messages("Files")</a>
-  </li>
-  <a href="@routes.CodeHistoryApp.historyUntilHead(project.owner, project.name)">@Messages("Commits")</a>
-  </li>
-</ul>
-<div class="well">Clone this repository : git clone @url</div>
-<div class="row" id="codeBrowser">
-  <div class="span3">
-    <ul id="codeRoot" class="well nav nav-list">
-      <li id="codeBrowserHeader"><a href="#">코드 탐색기</a></li>
-    </ul>
-  </div>
-  <div class="span9">
-    <div>
-      <span id="breadcrumbs">Breadcrumbs</span> <span> <select>
-          <option>master</option>
-      </select>
-      </span>
-    </div>
-    <div id="folderView">
-      <table class="table table-bordered">
-        <thead>
-          <tr>
-            <th>FileName</th>
-            <th>Commit Message</th>
-            <th>Commit Date</th>
-            <th>Author</th>
-          </tr>
-        </thead>
-        <tbody>
-        </tbody>
-      </table>
-    </div>
-    <div id="codeView" class="hide">
-      <div>
-        <span id="commiter"></span> | <span id="commitDate"></span> | <span id="commitMessage"></span> <span
-          class="pull-right"><a id="rawCode" class="btn btn-mini" target="_blank">Raw</a></span>
-      </div>
-      <hr />
-      <div>
-        <pre>
-          <code style="overflow: hidden"></code>
-        </pre>
-      </div>
-    </div>
-  </div>
-</div>
-<div id="codeError" class="hide row">
-  <div class="well span12">
-    <p>HEAD커밋이 존재하지 않습니다. 다음과 같은 방법을 시도해 보세요</p>
-    <pre>
-      <code>git clone @url
-touch readme.md
-git add readme.md
-git commit -m "init"
-git push origin master</code>
-    </pre>
-  </div>
-</div>
-<script type="text/javascript" src="/assets/javascripts/hljs.js"></script>
-<script type="text/javascript" src="/assets/javascripts/hljs.jquery.js"></script>
-<script type="text/javascript" src="/assets/javascripts/languages/allinone.js"></script>
-<style>
-@@IMPORT url("/assets/stylesheets/hljsstyles/googlecode.css");
-</style>
-<script>
-    $(document).ready(function(){      
-        $(window).bind('hashchange', function(e){
-          //대기 표시 한다.
-          //여기서 요청을 보내고
-          var path = getHash().replace(/^#/, "");
-          
-          $.ajax("code/!" + path, {
-            datatype : "json",
-            success : function(data, textStatus, jqXHR){
-              updateBreadcrumbs(path);
-              updateNav(path);
-              switch(data.type){
-                case "file" :
-                    handleFile(data);
-                  break;
-                case "folder" :
-                    handleFolder(data);
-                  break;
-              }
-            }
-          });
-          function handleFile(data){
-              //파일을 표시한다.
-              $("#commiter").text(data.author);
-              $("#commitMessage").text(data.msg);
-              $("#commitDate").text(data.date);
-              $("code").text(data.data);
-              $("#rawCode").attr("href", path.replace(/\/!/, ""));
-              
-              $("#folderView").hide();
-              $("#codeView").show();
-              $("code").highlight();
-          }
-          function handleFolder(data){
-              //폴더내용을 리스팅 한다.
-              $("#commiter").text(data.author);
-              $("#commitMessage").text(data.msg);
-              $("#commitDate").text(data.date);
-              
-              $("tbody").children().remove();
-              
-              for(var name in data.data){
-                var info = data.data[name];
-                var tablerow = makeTableRow(name, info.msg, info.date, info.author);
-                $("tbody").append(tablerow);
-              }
-
-              $("#folderView").show();
-              $("#codeView").hide();
-          }
-          function makeTableRow(name, message, date, author){
-            return $("<tr>")
-                .append(
-                    $("<td>").append(
-                        $("<a>").text(name).attr("href", "#" + (path !== "/" ? path : "") + "/" +name)
-                        )
-                    )
-                .append($("<td>").text(message))
-                .append($("<td>").text(date))
-                .append($("<td>").text(author));
-          }
-          function updateBreadcrumbs(path){
-            var $breadcrumbs = $("#breadcrumbs");
-            $($breadcrumbs).html('<a href="#/">/</a>');
-                        
-            var names = path.split("/");
-            var str = "#"
-            for(var i = 1; i < names.length; i++){
-              var name = names[i];
-              str += "/" + name;
-              $breadcrumbs.append(" &gt; ");
-              $("<a>").text(name).attr("href", str).appendTo($breadcrumbs);
-            }
-          }
-          
-          function getPath(name){
-            var path = getHash().replace(/^#/, "");
-            if(path == "/") {
-              return path + name;
-            } else {
-              return path + "/" + name;
-            }
-          }
-        });
-        $(window).trigger('hashchange');
-    });
-    
-    function getHash(){
-        //혹시 있을지도 모를 호완성을 위해.
-        return location.hash;
-        
-    }
-    function setHash(hash){
-        return location.hash = hash;
-    }
-    var stack = [];
-    function updateNav(path){
-        $.ajax("code/!" + path, {
-            success : function(data, textStatus, jqXHR){
-                data.path = path;
-                stack.push(data);
-                var $codeRoot = $("#codeRoot");
-                var $a = $codeRoot.find("li a[href='#"+ path +"']");
-                if($a.length !== 0) {
-                    stackTrace(stack);
-                } else {
-                    updateNav(path.substr(0, path.lastIndexOf("/")));
-                } 
-            }
-        });
-    }
-    function stackTrace(stack){
-        while(stack.length !== 0) {
-             var data = stack.pop();
-             if(data.type === "file") continue;
-             
-             var $ul = $("<ul>").addClass("nav nav-list");
-             for(var name in data.data){
-                if(data.data[name].type  !== "folder") continue;
-                
-                var $li = $("<li>");
-                $("<a>").attr("href", "#" + data.path + "/" + name).text(name).appendTo($li);
-                $li.appendTo($ul);
-             }
-             var parentStr = data.path.substr(0, data.path.lastIndexOf("/"));
-             $("#codeRoot").find("li a[href='#" + data.path + "']").parent().after($ul);
-        }
-    }
-    </script>
-}
 
app/views/code/svnView.scala.html (deleted)
--- app/views/code/svnView.scala.html
@@ -1,199 +0,0 @@
-@(url : String, project:Project)
-
-@main("코드", project, utils.MenuType.CODE){
-<ul class="nav nav-tabs">
-    <a href="@routes.CodeApp.codeBrowser(project.owner, project.name)">@Messages("Files")</a></li>
-    <a href="@routes.CodeHistoryApp.historyUntilHead(project.owner, project.name)">@Messages("Commits")</a></li>
-</ul>
-
-<div class="well">Checkout this repository : svn checkout @url</div>
-<div class="row" id="codeBrowser">
-    <div class="span3">
-        <ul id="codeRoot" class="well nav nav-list">
-            <li id="codeBrowserHeader"><a href="#">코드 탐색기</a></li>
-        </ul>
-    </div>
-    <div class="span9" >
-        <div>
-            <span id="breadcrumbs">Breadcrumbs</span>
-            <span>
-                <select>
-                    <option>master</option>
-                </select>
-            </span>
-        </div>
-        <div id="folderView">
-            <table class="table table-bordered">
-                <thead>
-                    <tr>
-                        <th>FileName</th>
-                        <th>Commit Message</th>
-                        <th>Commit Date</th>
-                        <th>Author</th>
-                    </tr>
-                </thead>
-                <tbody>
-                </tbody>
-            </table>
-        </div>
-        <div id="codeView" class="hide">
-            <div>
-                <span id="commiter"></span> | <span id="commitDate"></span> | <span id="commitMessage"></span>
-                <span class="pull-right"><a id="rawCode" class="btn btn-mini" target="_blank">Raw</a></span>
-            </div>
-            <hr />
-            <div>
-                <pre><code style="overflow:hidden"></code></pre>
-            </div>
-        </div>
-        
-    </div>
-    
-</div>
-<div id="codeError" class="hide row">
-    <div class="well span12">
-        <p>HEAD커밋이 존재하지 않습니다. 다음과 같은 방법을 시도해 보세요</p>
-        <pre><code>git clone @url
-touch readme.md
-git add readme.md
-git commit -m "init"
-git push origin master</code></pre>
-    </div>
-</div>
-<script type="text/javascript" src="/assets/javascripts/hljs.js"></script>
-<script type="text/javascript" src="/assets/javascripts/hljs.jquery.js"></script>
-<script type="text/javascript" src="/assets/javascripts/languages/allinone.js"></script>
-<style>
-@@IMPORT url("/assets/stylesheets/hljsstyles/googlecode.css");
-</style>
-<script>
-    $(document).ready(function(){      
-        $(window).bind('hashchange', function(e){
-          //대기 표시 한다.
-          //여기서 요청을 보내고
-          var path = getHash().replace(/^#/, "");
-          
-          $.ajax("code/!" + path, {
-            datatype : "json",
-            success : function(data, textStatus, jqXHR){
-              updateBreadcrumbs(path);
-              updateNav(path);
-              switch(data.type){
-                case "file" :
-                    handleFile(data);
-                  break;
-                case "folder" :
-                    handleFolder(data);
-                  break;
-              }
-            }
-          });
-          function handleFile(data){
-              //파일을 표시한다.
-              $("#commiter").text(data.author);
-              $("#commitMessage").text(data.msg);
-              $("#commitDate").text(data.date);
-              $("code").text(data.data);
-              $("#rawCode").attr("href", path.replace(/\/!/, ""));
-              
-              $("#folderView").hide();
-              $("#codeView").show();
-              $("code").highlight();
-          }
-          function handleFolder(data){
-              //폴더내용을 리스팅 한다.
-              $("#commiter").text(data.author);
-              $("#commitMessage").text(data.msg);
-              $("#commitDate").text(data.date);
-              
-              $("tbody").children().remove();
-              
-              for(var name in data.data){
-                var info = data.data[name];
-                var tablerow = makeTableRow(name, info.msg, info.date, info.author);
-                $("tbody").append(tablerow);
-              }
-
-              $("#folderView").show();
-              $("#codeView").hide();
-          }
-          function makeTableRow(name, message, date, author){
-            return $("<tr>")
-                .append(
-                    $("<td>").append(
-                        $("<a>").text(name).attr("href", "#" + (path !== "/" ? path : "") + "/" +name)
-                        )
-                    )
-                .append($("<td>").text(message))
-                .append($("<td>").text(date))
-                .append($("<td>").text(author));
-          }
-          function updateBreadcrumbs(path){
-            var $breadcrumbs = $("#breadcrumbs");
-            $($breadcrumbs).html('<a href="#/">/</a>');
-                        
-            var names = path.split("/");
-            var str = "#"
-            for(var i = 1; i < names.length; i++){
-              var name = names[i];
-              str += "/" + name;
-              $breadcrumbs.append(" &gt; ");
-              $("<a>").text(name).attr("href", str).appendTo($breadcrumbs);
-            }
-          }
-          
-          function getPath(name){
-            var path = getHash().replace(/^#/, "");
-            if(path == "/") {
-              return path + name;
-            } else {
-              return path + "/" + name;
-            }
-          }
-        });
-        $(window).trigger('hashchange');
-    });
-    
-    function getHash(){
-        //혹시 있을지도 모를 호완성을 위해.
-        return location.hash;
-        
-    }
-    function setHash(hash){
-        return location.hash = hash;
-    }
-    var stack = [];
-    function updateNav(path){
-        $.ajax("code/!" + path, {
-            success : function(data, textStatus, jqXHR){
-                data.path = path;
-                stack.push(data);
-                var $codeRoot = $("#codeRoot");
-                var $a = $codeRoot.find("li a[href='#"+ path +"']");
-                if($a.length !== 0) {
-                    stackTrace(stack);
-                } else {
-                    updateNav(path.substr(0, path.lastIndexOf("/")));
-                } 
-            }
-        });
-    }
-    function stackTrace(stack){
-        while(stack.length !== 0) {
-             var data = stack.pop();
-             if(data.type === "file") continue;
-             
-             var $ul = $("<ul>").addClass("nav nav-list");
-             for(var name in data.data){
-                if(data.data[name].type  !== "folder") continue;
-                
-                var $li = $("<li>");
-                $("<a>").attr("href", "#" + data.path + "/" + name).text(name).appendTo($li);
-                $li.appendTo($ul);
-             }
-             var parentStr = data.path.substr(0, data.path.lastIndexOf("/"));
-             $("#codeRoot").find("li a[href='#" + data.path + "']").parent().after($ul);
-        }
-    }
-    </script>
-}
app/views/help/toc.scala.html
--- app/views/help/toc.scala.html
+++ app/views/help/toc.scala.html
@@ -1,13 +1,142 @@
 @(message: String)
 
 @home(message, utils.MenuType.HELP) {
-<div class="container page-wrap">
-<div class="page" markdown>
-Help
-====
-</div>
-</div>
+<div class="page">
+        <!--<div class="header-wrap">
+            <div class="search-wrap help">
+                <div class="inner">
+                    <form action="/project/search" method="get">
+                        <span class="labels">FAQ</span>
+                        <span class="sp-line"></span>
+                        <span class="sub labels">Help me with</span>
+                        <input name="query" class="text" type="text" placeholder="FAQ 검색"><button type="submit" class="btn-transparent search-btn">SEARCH</button>
+                    </form>
+                </div>
+            </div>
+        </div>-->
+        <ul class="qas">
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">N4를 설치하고 싶어요.</a>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        N4를 설치하기 전에 준비해야 할것은 다음과 같습니다.
+                        <ul>
+                            <li><a href="http://www.oracle.com/technetwork/java/javase">JDK 1.6이상</a></li>
+                            <li><a href="http://www.playframework.org/">Play Framework</a></li>
+                            <li><a href="http://git-scm.com/">Git Client</a></li>
+                        </ul>
+                        위의 프로그램을 모두 인스톨 하신후 소스코드를 받습니다.
+                        <pre><code># git clone https://github.com/nforge/nforge4.git</code></pre>
+                        인스톨된 폴더로 가서 N4를 실행시키면 됩니다.
+                        <pre><code># play run</code></pre>
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">프로젝트를 새로 생성하고 싶어요.</a>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        <p>상단의 New Project를 클릭하신후 필요한 정보를 입력하시면 됩니다.</p>
+                        <p>
+                            공개설정에서 공개를 택하게 되면 해당 프로젝트의 맴버가 아닌
+                            사용자들도 해당 프로젝트를 둘러볼수 있게 되며 맴버가 아니라면
+                            code 저장소를 익명으로 접근하여 소스코드를 받아 갈 수는 있지만
+                            소스코드를 수정하지는 못합니다. 공개설정에서 비 공개를 택하게 되면
+                            해당 프로젝트의 맴버가 아닌 사용자들은 단지 설명과 
+                            이름만을 볼수 있습니다.
+                        </p>
+                        <p>
+                            코드 저장소 방식은 현재 Git과 Subvision을 지원합니다.
+                            Subvision과 Git은 전세계적으로 코드관리 시스템으로 널리 쓰이고 있으며
+                            충분한 신뢰성과 성능을 가지고 있습니다.
+                        </p>
+                        <p>
+                            위의 내용을 다 작성하셨다면 이용약관옆의 물음표를 눌러 약관을 살펴보시고 동의함을 눌러주시면 됩니다.
+                            마지막으로 save버튼을 누르면 새로운 프로젝트를 생성하실수 있습니다.
+                        </p>
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">내가 참여하는 프로젝트들은 어디서 볼수 있나요?</a>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        <a href="/">메인화면</a>
+                        우측 하단에 다음과 같이 참여하고 있는 프로젝트의 목록을 볼수 있습니다. 자물쇠가 있는 것은 비공개
+                        프로젝트이며 자물쇠가 없는 것은 공개 프로젝트 입니다. 괄호 안은 프로젝트를 만든사람을 나타내며 괄호 앞은
+                        프로젝트의 제목을 나타냅니다.
+                        <p><img src="/assets/help/myProjects.png"/></p>
+                        혹은 자신의 <a href="/info">정보 페이지</a>에서도 확인하실수 있습니다.
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">프로젝트 탈퇴는 어떻게 하나요.</a>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        혹은 자신의 <a href="/info">정보 페이지</a>에서 참여하고 있는 프로젝트 목록을 볼수있고
+                        탈퇴도 할수 있습니다. 자신이 프로젝트의 유일한 관리자라면 해당 프로젝트에서 탈퇴를 할수 없습니다.
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">게시판에서는 어떠한 것들을 할수 있나요?</a>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        게시판에서는 다음과 같은 기능이 가능합니다.
+                        <ul>
+                            <li>게시물 상세 조회: 사용자는 게시물의 내용을 볼 수 있다.</li>
+                            <li>게시물 댓글 등록: 로그인 유저는 게시물에 댓글을 남길 수 있다.</li>
+                            <li>게시물 댓글 조회: 사용자는 게시물의 댓글을 볼 수 있다.</li>
+                            <li>게시물 댓글 삭제: 로그인 유저는 자신이 남긴 댓글을 삭제할 수 있다.</li>
+                            <li>관리자 게시물 댓글 삭제: 프로젝트 관리자는 댓글을 삭제할 수 있다.</li>
+                            <li>관리자 게시물 수정: 프로젝트 관리자는 게시물을 편집/삭제 할 수 있다.</li>
+                        </ul>
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">N4의 버그를 발견했어요.</a>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        N4는 현재 Open Source로 진행되고 있습니다. 버그를 발견하셨다면 
+                        <a href="https://github.com/nforge/nforge4/issues">N4 이슈트레커에 등록</a>해 주시거나
+                        패치를 만들어 보내주시면 됩니다. 
+                    </div>
+                </div>
+            </li>
+        </ul>
+    </div>
+    <script>
+    $("a.question").click(function(){
+        $(this).parents("li").toggleClass("open");
+    });
+    </script>
 }
 
-@views.html.markdown()
+
 
 
public/help/myProjects.png (Binary) (added)
+++ public/help/myProjects.png
Binary file is not shown
Add a comment
List