Commit e0fb0703c4fecb6ed036d7599b0692de9c92b206

Authored by Dmitriy Zaporozhets
2 parents e982a951 2be107d0

Merge branch 'features/help_with_index'

app/assets/stylesheets/gitlab_bootstrap/common.scss
@@ -81,6 +81,8 @@ @@ -81,6 +81,8 @@
81 } 81 }
82 } 82 }
83 } 83 }
  84 +
  85 + &.nav-small-tabs > li > a { padding: 6px 9px; }
84 } 86 }
85 87
86 /** ALERT MESSAGES **/ 88 /** ALERT MESSAGES **/
app/views/help/_layout.html.haml 0 → 100644
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +.row
  2 + .span3{:"data-spy" => 'affix'}
  3 + .ui-box
  4 + .title
  5 + %h5 Help
  6 + %ul.well-list
  7 + %li
  8 + %strong= link_to "Workflow", help_workflow_path
  9 + %li
  10 + %strong= link_to "SSH keys", help_ssh_path
  11 +
  12 + %li
  13 + %strong= link_to "GitLab Markdown", help_markdown_path
  14 +
  15 + %li
  16 + %strong= link_to "Permissions", help_permissions_path
  17 +
  18 + %li
  19 + %strong= link_to "API", help_api_path
  20 +
  21 + %li
  22 + %strong= link_to "Web Hooks", help_web_hooks_path
  23 +
  24 + %li
  25 + %strong= link_to "Rake Tasks", help_raketasks_path
  26 +
  27 + %li
  28 + %strong= link_to "System Hooks", help_system_hooks_path
  29 +
  30 + %li
  31 + %strong= link_to "Public Access", help_public_access_path
  32 +
  33 + .span9.right
  34 + = yield
app/views/help/api.html.haml
1 -%h3.page_title API  
2 -.back_link  
3 - = link_to help_path do  
4 - ← to index  
5 -%br 1 += render layout: 'help/layout' do
  2 + %h3.page_title API
  3 + %br
6 4
7 -%ul.nav.nav-tabs.log-tabs  
8 - %li.active  
9 - = link_to "README", "#README", 'data-toggle' => 'tab'  
10 - %li  
11 - = link_to "Projects", "#projects", 'data-toggle' => 'tab'  
12 - %li  
13 - = link_to "Snippets", "#snippets", 'data-toggle' => 'tab'  
14 - %li  
15 - = link_to "Repositories", "#repositories", 'data-toggle' => 'tab'  
16 - %li  
17 - = link_to "Users", "#users", 'data-toggle' => 'tab'  
18 - %li  
19 - = link_to "Session", "#session", 'data-toggle' => 'tab'  
20 - %li  
21 - = link_to "Issues", "#issues", 'data-toggle' => 'tab'  
22 - %li  
23 - = link_to "Milestones", "#milestones", 'data-toggle' => 'tab'  
24 - %li  
25 - = link_to "Notes", "#notes", 'data-toggle' => 'tab' 5 + %ul.nav.nav-tabs.log-tabs.nav-small-tabs
  6 + %li.active
  7 + = link_to "README", "#README", 'data-toggle' => 'tab'
  8 + %li
  9 + = link_to "Projects", "#projects", 'data-toggle' => 'tab'
  10 + %li
  11 + = link_to "Snippets", "#snippets", 'data-toggle' => 'tab'
  12 + %li
  13 + = link_to "Repositories", "#repositories", 'data-toggle' => 'tab'
  14 + %li
  15 + = link_to "Users", "#users", 'data-toggle' => 'tab'
  16 + %li
  17 + = link_to "Session", "#session", 'data-toggle' => 'tab'
  18 + %li
  19 + = link_to "Issues", "#issues", 'data-toggle' => 'tab'
  20 + %li
  21 + = link_to "Milestones", "#milestones", 'data-toggle' => 'tab'
  22 + %li
  23 + = link_to "Notes", "#notes", 'data-toggle' => 'tab'
26 24
27 -.tab-content  
28 - .tab-pane.active#README  
29 - .file_holder  
30 - .file_title  
31 - %i.icon-file  
32 - README  
33 - .file_content.wiki  
34 - = preserve do  
35 - = markdown File.read(Rails.root.join("doc", "api", "README.md")) 25 + .tab-content
  26 + .tab-pane.active#README
  27 + .file_holder
  28 + .file_title
  29 + %i.icon-file
  30 + README
  31 + .file_content.wiki
  32 + = preserve do
  33 + = markdown File.read(Rails.root.join("doc", "api", "README.md"))
36 34
37 - .tab-pane#projects  
38 - .file_holder  
39 - .file_title  
40 - %i.icon-file  
41 - Projects  
42 - .file_content.wiki  
43 - = preserve do  
44 - = markdown File.read(Rails.root.join("doc", "api", "projects.md")) 35 + .tab-pane#projects
  36 + .file_holder
  37 + .file_title
  38 + %i.icon-file
  39 + Projects
  40 + .file_content.wiki
  41 + = preserve do
  42 + = markdown File.read(Rails.root.join("doc", "api", "projects.md"))
45 43
46 - .tab-pane#snippets  
47 - .file_holder  
48 - .file_title  
49 - %i.icon-file  
50 - Projects Snippets  
51 - .file_content.wiki  
52 - = preserve do  
53 - = markdown File.read(Rails.root.join("doc", "api", "snippets.md")) 44 + .tab-pane#snippets
  45 + .file_holder
  46 + .file_title
  47 + %i.icon-file
  48 + Projects Snippets
  49 + .file_content.wiki
  50 + = preserve do
  51 + = markdown File.read(Rails.root.join("doc", "api", "snippets.md"))
54 52
55 - .tab-pane#repositories  
56 - .file_holder  
57 - .file_title  
58 - %i.icon-file  
59 - Projects  
60 - .file_content.wiki  
61 - = preserve do  
62 - = markdown File.read(Rails.root.join("doc", "api", "repositories.md")) 53 + .tab-pane#repositories
  54 + .file_holder
  55 + .file_title
  56 + %i.icon-file
  57 + Projects
  58 + .file_content.wiki
  59 + = preserve do
  60 + = markdown File.read(Rails.root.join("doc", "api", "repositories.md"))
63 61
64 - .tab-pane#users  
65 - .file_holder  
66 - .file_title  
67 - %i.icon-file  
68 - Users  
69 - .file_content.wiki  
70 - = preserve do  
71 - = markdown File.read(Rails.root.join("doc", "api", "users.md")) 62 + .tab-pane#users
  63 + .file_holder
  64 + .file_title
  65 + %i.icon-file
  66 + Users
  67 + .file_content.wiki
  68 + = preserve do
  69 + = markdown File.read(Rails.root.join("doc", "api", "users.md"))
72 70
73 - .tab-pane#session  
74 - .file_holder  
75 - .file_title  
76 - %i.icon-file  
77 - Session  
78 - .file_content.wiki  
79 - = preserve do  
80 - = markdown File.read(Rails.root.join("doc", "api", "session.md")) 71 + .tab-pane#session
  72 + .file_holder
  73 + .file_title
  74 + %i.icon-file
  75 + Session
  76 + .file_content.wiki
  77 + = preserve do
  78 + = markdown File.read(Rails.root.join("doc", "api", "session.md"))
81 79
82 - .tab-pane#issues  
83 - .file_holder  
84 - .file_title  
85 - %i.icon-file  
86 - Issues  
87 - .file_content.wiki  
88 - = preserve do  
89 - = markdown File.read(Rails.root.join("doc", "api", "issues.md")) 80 + .tab-pane#issues
  81 + .file_holder
  82 + .file_title
  83 + %i.icon-file
  84 + Issues
  85 + .file_content.wiki
  86 + = preserve do
  87 + = markdown File.read(Rails.root.join("doc", "api", "issues.md"))
90 88
91 - .tab-pane#milestones  
92 - .file_holder  
93 - .file_title  
94 - %i.icon-file  
95 - Milestones  
96 - .file_content.wiki  
97 - = preserve do  
98 - = markdown File.read(Rails.root.join("doc", "api", "milestones.md")) 89 + .tab-pane#milestones
  90 + .file_holder
  91 + .file_title
  92 + %i.icon-file
  93 + Milestones
  94 + .file_content.wiki
  95 + = preserve do
  96 + = markdown File.read(Rails.root.join("doc", "api", "milestones.md"))
99 97
100 - .tab-pane#notes  
101 - .file_holder  
102 - .file_title  
103 - %i.icon-file  
104 - Notes  
105 - .file_content.wiki  
106 - = preserve do  
107 - = markdown File.read(Rails.root.join("doc", "api", "notes.md")) 98 + .tab-pane#notes
  99 + .file_holder
  100 + .file_title
  101 + %i.icon-file
  102 + Notes
  103 + .file_content.wiki
  104 + = preserve do
  105 + = markdown File.read(Rails.root.join("doc", "api", "notes.md"))
app/views/help/markdown.html.haml
1 -%h3.page_title GitLab Flavored Markdown  
2 -.back_link  
3 - = link_to help_path do  
4 - ← to index  
5 -%hr  
6 -  
7 -.row  
8 - .span8  
9 - %p  
10 - For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).  
11 - It extends the standard Markdown in a few significant ways adds some useful functionality.  
12 -  
13 - %p You can use GFM in:  
14 - %ul  
15 - %li commit messages  
16 - %li comments  
17 - %li wall posts  
18 - %li issues  
19 - %li merge requests  
20 - %li milestones  
21 - %li wiki pages  
22 -  
23 - .span4  
24 - .alert.alert-info 1 += render layout: 'help/layout' do
  2 + %h3.page_title GitLab Flavored Markdown
  3 + %br
  4 +
  5 + .row
  6 + .span8
25 %p 7 %p
26 - If you're not already familiar with Markdown, you should spend 15 minutes and go over the excellent  
27 - %strong= link_to "Markdown Syntax Guide", "http://daringfireball.net/projects/markdown/syntax"  
28 - at Daring Fireball. 8 + For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).
  9 + It extends the standard Markdown in a few significant ways adds some useful functionality.
  10 +
  11 + %p You can use GFM in:
  12 + %ul
  13 + %li commit messages
  14 + %li comments
  15 + %li wall posts
  16 + %li issues
  17 + %li merge requests
  18 + %li milestones
  19 + %li wiki pages
  20 +
  21 + .span4
  22 + .alert.alert-info
  23 + %p
  24 + If you're not already familiar with Markdown, you should spend 15 minutes and go over the excellent
  25 + %strong= link_to "Markdown Syntax Guide", "http://daringfireball.net/projects/markdown/syntax"
  26 + at Daring Fireball.
  27 +
  28 + .row
  29 + .span8
  30 + %h3 Differences from traditional Markdown
  31 +
  32 + %h4 Newlines
29 33
30 -.row  
31 - .span8  
32 - %h3 Differences from traditional Markdown 34 + %p
  35 + The biggest difference that GFM introduces is in the handling of linebreaks.
  36 + With traditional Markdown you can hard wrap paragraphs of text and they will be combined into a single paragraph. We find this to be the cause of a huge number of unintentional formatting errors.
  37 + GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.
33 38
34 - %h4 Newlines  
35 39
36 - %p  
37 - The biggest difference that GFM introduces is in the handling of linebreaks.  
38 - With traditional Markdown you can hard wrap paragraphs of text and they will be combined into a single paragraph. We find this to be the cause of a huge number of unintentional formatting errors.  
39 - GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended. 40 + %p The next paragraph contains two phrases separated by a single newline character:
  41 + %pre= "Roses are red\nViolets are blue"
  42 + %p becomes
  43 + = markdown "Roses are red\nViolets are blue"
40 44
  45 + %h4 Multiple underscores in words
41 46
42 - %p The next paragraph contains two phrases separated by a single newline character:  
43 - %pre= "Roses are red\nViolets are blue"  
44 - %p becomes  
45 - = markdown "Roses are red\nViolets are blue" 47 + %p
  48 + It is not reasonable to italicize just <em>part</em> of a word, especially when you're dealing with code and names often appear with multiple underscores.
  49 + Therefore, GFM ignores multiple underscores in words.
46 50
47 - %h4 Multiple underscores in words 51 + %pre= "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
  52 + %p becomes
  53 + = markdown "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
48 54
49 - %p  
50 - It is not reasonable to italicize just <em>part</em> of a word, especially when you're dealing with code and names often appear with multiple underscores.  
51 - Therefore, GFM ignores multiple underscores in words. 55 + %h4 URL autolinking
52 56
53 - %pre= "perform_complicated_task\ndo_this_and_do_that_and_another_thing"  
54 - %p becomes  
55 - = markdown "perform_complicated_task\ndo_this_and_do_that_and_another_thing" 57 + %p
  58 + GFM will autolink standard URLs you copy and paste into your text.
  59 + So if you want to link to a URL (instead of a textual link), you can simply put the URL in verbatim and it will be turned into a link to that URL.
56 60
57 - %h4 URL autolinking 61 + %h4 Fenced code blocks
58 62
59 - %p  
60 - GFM will autolink standard URLs you copy and paste into your text.  
61 - So if you want to link to a URL (instead of a textual link), you can simply put the URL in verbatim and it will be turned into a link to that URL. 63 + %p
  64 + Markdown converts text with four spaces at the front of each line to code blocks.
  65 + GFM supports that, but we also support fenced blocks.
  66 + Just wrap your code blocks in <code>```</code> and you won't need to indent manually to trigger a code block.
62 67
63 - %h4 Fenced code blocks 68 + %pre= %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
  69 + %p becomes
  70 + = markdown %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
64 71
65 - %p  
66 - Markdown converts text with four spaces at the front of each line to code blocks.  
67 - GFM supports that, but we also support fenced blocks.  
68 - Just wrap your code blocks in <code>```</code> and you won't need to indent manually to trigger a code block. 72 + %h4 Emoji
69 73
70 - %pre= %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}  
71 - %p becomes  
72 - = markdown %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```} 74 + .row
  75 + .span8
  76 + :ruby
  77 + puts markdown %Q{Sometimes you want to be :cool: and add some :sparkles: to your :speech_balloon:. Well we have a :gift: for you:
73 78
74 - %h4 Emoji 79 + :exclamation: You can use emoji anywhere GFM is supported. :sunglasses:
75 80
76 -.row  
77 - .span8  
78 - :ruby  
79 - puts markdown %Q{Sometimes you want to be :cool: and add some :sparkles: to your :speech_balloon:. Well we have a :gift: for you: 81 + You can use it to point out a :bug: or warn about :monkey:patches. And if someone improves your really :snail: code, send them a :bouquet: or some :candy:. People will :heart: you for that.
80 82
81 - :exclamation: You can use emoji anywhere GFM is supported. :sunglasses: 83 + If you are :new: to this, don't be :fearful:. You can easily join the emoji :circus_tent:. All you need to do is to :book: up on the supported codes.
  84 + }
82 85
83 - You can use it to point out a :bug: or warn about :monkey:patches. And if someone improves your really :snail: code, send them a :bouquet: or some :candy:. People will :heart: you for that. 86 + .span4
  87 + .alert.alert-info
  88 + %p
  89 + Consult the
  90 + %strong= link_to "Emoji Cheat Sheet", "http://www.emoji-cheat-sheet.com/"
  91 + for a list of all supported emoji codes.
84 92
85 - If you are :new: to this, don't be :fearful:. You can easily join the emoji :circus_tent:. All you need to do is to :book: up on the supported codes.  
86 - } 93 + .row
  94 + .span8
  95 + %h4 Special GitLab references
87 96
88 - .span4  
89 - .alert.alert-info  
90 %p 97 %p
91 - Consult the  
92 - %strong= link_to "Emoji Cheat Sheet", "http://www.emoji-cheat-sheet.com/"  
93 - for a list of all supported emoji codes.  
94 -  
95 -.row  
96 - .span8  
97 - %h4 Special GitLab references  
98 -  
99 - %p  
100 - GFM recognizes special references.  
101 - You can easily reference e.g. a team member, an issue or a commit within a project.  
102 - GFM will turn that reference into a link so you can navigate between them easily.  
103 -  
104 - %p GFM will recognize the following references:  
105 - %ul  
106 - %li  
107 - %code @foo  
108 - for team members  
109 - %li  
110 - %code #123  
111 - for issues  
112 - %li  
113 - %code !123  
114 - for merge request  
115 - %li  
116 - %code $123  
117 - for snippets  
118 - %li  
119 - %code 1234567  
120 - for commits  
121 -  
122 - -# this example will only be shown if the user has a project with at least one issue  
123 - - if @project = current_user.authorized_projects.first  
124 - - if issue = @project.issues.first  
125 - %p For example in your #{link_to @project.name, project_path(@project)} project, writing:  
126 - %pre= "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."  
127 - %p becomes:  
128 - = markdown "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."  
129 - - @project = nil # Prevent this from bubbling up to page title 98 + GFM recognizes special references.
  99 + You can easily reference e.g. a team member, an issue or a commit within a project.
  100 + GFM will turn that reference into a link so you can navigate between them easily.
  101 +
  102 + %p GFM will recognize the following references:
  103 + %ul
  104 + %li
  105 + %code @foo
  106 + for team members
  107 + %li
  108 + %code #123
  109 + for issues
  110 + %li
  111 + %code !123
  112 + for merge request
  113 + %li
  114 + %code $123
  115 + for snippets
  116 + %li
  117 + %code 1234567
  118 + for commits
  119 +
  120 + -# this example will only be shown if the user has a project with at least one issue
  121 + - if @project = current_user.authorized_projects.first
  122 + - if issue = @project.issues.first
  123 + %p For example in your #{link_to @project.name, project_path(@project)} project, writing:
  124 + %pre= "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."
  125 + %p becomes:
  126 + = markdown "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."
  127 + - @project = nil # Prevent this from bubbling up to page title
app/views/help/permissions.html.haml
1 -%h3.page_title Permissions  
2 -.back_link  
3 - = link_to help_path do  
4 - &larr; to index  
5 -%hr 1 += render layout: 'help/layout' do
  2 + %h3.page_title Permissions
  3 + %br
6 4
7 -%fieldset  
8 - %legend Guest  
9 - %ul  
10 - %li Create new issue  
11 - %li Leave comments  
12 - %li Write on project wall 5 + %fieldset
  6 + %legend Guest
  7 + %ul
  8 + %li Create new issue
  9 + %li Leave comments
  10 + %li Write on project wall
13 11
14 -%fieldset  
15 - %legend Reporter  
16 - %ul  
17 - %li Create new issue  
18 - %li Leave comments  
19 - %li Write on project wall  
20 - %li Pull project code  
21 - %li Download project  
22 - %li Create a code snippets 12 + %fieldset
  13 + %legend Reporter
  14 + %ul
  15 + %li Create new issue
  16 + %li Leave comments
  17 + %li Write on project wall
  18 + %li Pull project code
  19 + %li Download project
  20 + %li Create a code snippets
23 21
24 22
25 -%fieldset  
26 - %legend Developer  
27 - %ul  
28 - %li Create new issue  
29 - %li Leave comments  
30 - %li Write on project wall  
31 - %li Pull project code  
32 - %li Download project  
33 - %li Create new merge request  
34 - %li Create a code snippets  
35 - %li Create new branches  
36 - %li Push to non-protected branches  
37 - %li Remove non-protected branches  
38 - %li Add tags  
39 - %li Write a wiki 23 + %fieldset
  24 + %legend Developer
  25 + %ul
  26 + %li Create new issue
  27 + %li Leave comments
  28 + %li Write on project wall
  29 + %li Pull project code
  30 + %li Download project
  31 + %li Create new merge request
  32 + %li Create a code snippets
  33 + %li Create new branches
  34 + %li Push to non-protected branches
  35 + %li Remove non-protected branches
  36 + %li Add tags
  37 + %li Write a wiki
40 38
41 -%fieldset  
42 - %legend Master  
43 - %ul  
44 - %li Create new issue  
45 - %li Leave comments  
46 - %li Write on project wall  
47 - %li Pull project code  
48 - %li Download project  
49 - %li Create new merge request  
50 - %li Create a code snippets  
51 - %li Create new branches  
52 - %li Push to non-protected branches  
53 - %li Remove non-protected branches  
54 - %li Add tags  
55 - %li Write a wiki  
56 - %li Add new team members  
57 - %li Push to protected branches  
58 - %li Remove protected branches  
59 - %li Push with force option  
60 - %li Edit project  
61 - %li Add Deploy Keys to project  
62 - %li Configure Project Hooks 39 + %fieldset
  40 + %legend Master
  41 + %ul
  42 + %li Create new issue
  43 + %li Leave comments
  44 + %li Write on project wall
  45 + %li Pull project code
  46 + %li Download project
  47 + %li Create new merge request
  48 + %li Create a code snippets
  49 + %li Create new branches
  50 + %li Push to non-protected branches
  51 + %li Remove non-protected branches
  52 + %li Add tags
  53 + %li Write a wiki
  54 + %li Add new team members
  55 + %li Push to protected branches
  56 + %li Remove protected branches
  57 + %li Push with force option
  58 + %li Edit project
  59 + %li Add Deploy Keys to project
  60 + %li Configure Project Hooks
63 61
64 -%fieldset  
65 - %legend Owner  
66 - %ul  
67 - %li Transfer project to another namespace  
68 - %li Remove project 62 + %fieldset
  63 + %legend Owner
  64 + %ul
  65 + %li Transfer project to another namespace
  66 + %li Remove project
app/views/help/public_access.html.haml
1 -%h3.page_title Public Access  
2 -.back_link  
3 - = link_to help_path do  
4 - &larr; to index  
5 -%hr 1 += render layout: 'help/layout' do
  2 + %h3.page_title Public Access
  3 + %br
6 4
7 -%p  
8 - GitLab allows you to open selected projects to be accessed publicly.  
9 - These projects will be clonable  
10 - %em without any  
11 - authentication.  
12 - Also they will be listed on the #{link_to "public access directory", public_root_path}. 5 + %p
  6 + GitLab allows you to open selected projects to be accessed publicly.
  7 + These projects will be clonable
  8 + %em without any
  9 + authentication.
  10 + Also they will be listed on the #{link_to "public access directory", public_root_path}.
13 11
14 -%ol  
15 - %li Go to your project dashboard  
16 - %li Click on the "Edit" tab  
17 - %li Select "Public clone access" 12 + %ol
  13 + %li Go to your project dashboard
  14 + %li Click on the "Edit" tab
  15 + %li Select "Public clone access"
18 16
app/views/help/raketasks.html.haml
1 -%h3.page_title GitLab Rake Tasks  
2 -.back_link  
3 - = link_to help_path do  
4 - &larr; to index  
5 -%hr 1 += render layout: 'help/layout' do
  2 + %h3.page_title GitLab Rake Tasks
  3 + %br
6 4
7 -%p.slead  
8 - GitLab provides some specific rake tasks to enable special features or perform maintenance tasks. 5 + %p.slead
  6 + GitLab provides some specific rake tasks to enable special features or perform maintenance tasks.
9 7
10 -%ul.nav.nav-tabs.log-tabs  
11 - %li.active  
12 - = link_to "Features", "#features", 'data-toggle' => 'tab'  
13 - %li  
14 - = link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab'  
15 - %li  
16 - = link_to "User Management", "#user_management", 'data-toggle' => 'tab'  
17 - %li  
18 - = link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab'  
19 - %li  
20 - = link_to "Cleanup", "#cleanup", 'data-toggle' => 'tab' 8 + %ul.nav.nav-tabs.log-tabs
  9 + %li.active
  10 + = link_to "Features", "#features", 'data-toggle' => 'tab'
  11 + %li
  12 + = link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab'
  13 + %li
  14 + = link_to "User Management", "#user_management", 'data-toggle' => 'tab'
  15 + %li
  16 + = link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab'
  17 + %li
  18 + = link_to "Cleanup", "#cleanup", 'data-toggle' => 'tab'
21 19
22 -.tab-content  
23 - .tab-pane.active#features  
24 - .file_holder  
25 - .file_title  
26 - %i.icon-file  
27 - Features  
28 - .file_content.wiki  
29 - = preserve do  
30 - = markdown File.read(Rails.root.join("doc", "raketasks", "features.md")) 20 + .tab-content
  21 + .tab-pane.active#features
  22 + .file_holder
  23 + .file_title
  24 + %i.icon-file
  25 + Features
  26 + .file_content.wiki
  27 + = preserve do
  28 + = markdown File.read(Rails.root.join("doc", "raketasks", "features.md"))
31 29
32 - .tab-pane#maintenance  
33 - .file_holder  
34 - .file_title  
35 - %i.icon-file  
36 - Maintenance  
37 - .file_content.wiki  
38 - = preserve do  
39 - = markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md")) 30 + .tab-pane#maintenance
  31 + .file_holder
  32 + .file_title
  33 + %i.icon-file
  34 + Maintenance
  35 + .file_content.wiki
  36 + = preserve do
  37 + = markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md"))
40 38
41 - .tab-pane#user_management  
42 - .file_holder  
43 - .file_title  
44 - %i.icon-file  
45 - User Management  
46 - .file_content.wiki  
47 - = preserve do  
48 - = markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md")) 39 + .tab-pane#user_management
  40 + .file_holder
  41 + .file_title
  42 + %i.icon-file
  43 + User Management
  44 + .file_content.wiki
  45 + = preserve do
  46 + = markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md"))
49 47
50 - .tab-pane#cleanup  
51 - .file_holder  
52 - .file_title  
53 - %i.icon-file  
54 - Cleanup  
55 - .file_content.wiki  
56 - = preserve do  
57 - = markdown File.read(Rails.root.join("doc", "raketasks", "cleanup.md")) 48 + .tab-pane#cleanup
  49 + .file_holder
  50 + .file_title
  51 + %i.icon-file
  52 + Cleanup
  53 + .file_content.wiki
  54 + = preserve do
  55 + = markdown File.read(Rails.root.join("doc", "raketasks", "cleanup.md"))
58 56
59 - .tab-pane#backup_restore  
60 - .file_holder  
61 - .file_title  
62 - %i.icon-file  
63 - Backup & Restore  
64 - .file_content.wiki  
65 - = preserve do  
66 - = markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md")) 57 + .tab-pane#backup_restore
  58 + .file_holder
  59 + .file_title
  60 + %i.icon-file
  61 + Backup & Restore
  62 + .file_content.wiki
  63 + = preserve do
  64 + = markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md"))
app/views/help/ssh.html.haml
1 -%h3.page_title SSH Keys  
2 -.back_link  
3 - = link_to help_path do  
4 - &larr; to index  
5 -%hr 1 += render layout: 'help/layout' do
  2 + %h3.page_title SSH Keys
  3 + %br
6 4
7 -%p.slead  
8 - SSH key allows you to establish a secure connection between your computer and GitLab 5 + %p.slead
  6 + SSH key allows you to establish a secure connection between your computer and GitLab
9 7
10 -%p.slead  
11 - To generate a new SSH key just open your terminal and use code below. 8 + %p.slead
  9 + To generate a new SSH key just open your terminal and use code below.
12 10
13 -%pre.dark  
14 - ssh-keygen -t rsa -C "#{current_user.email}" 11 + %pre.dark
  12 + ssh-keygen -t rsa -C "#{current_user.email}"
15 13
16 - \# Creates a new ssh key using the provided email  
17 - \# Generating public/private rsa key pair... 14 + \# Creates a new ssh key using the provided email
  15 + \# Generating public/private rsa key pair...
18 16
19 -%p.slead  
20 - Next just use code below to dump your public key and add to GitLab SSH Keys 17 + %p.slead
  18 + Next just use code below to dump your public key and add to GitLab SSH Keys
21 19
22 -%pre.dark  
23 - cat ~/.ssh/id_rsa.pub 20 + %pre.dark
  21 + cat ~/.ssh/id_rsa.pub
24 22
25 - \# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc.... 23 + \# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
app/views/help/system_hooks.html.haml
1 -%h3 System hooks  
2 -.back_link  
3 - = link_to :back do  
4 - &larr; back  
5 -%hr  
6 -  
7 -%p.slead  
8 - Your GitLab instance can perform HTTP POST requests on the following events: create_project, delete_project, create_user, delete_user, change_team_member.  
9 - %br 1 += render layout: 'help/layout' do
  2 + %h3.page_title System hooks
10 %br 3 %br
11 - System Hooks can be used, e.g. for logging or changing information in a LDAP server.  
12 - %br  
13 -%h5 Hooks request example:  
14 -= render "admin/hooks/data_ex" 4 +
  5 + %p.slead
  6 + Your GitLab instance can perform HTTP POST requests on the following events: create_project, delete_project, create_user, delete_user, change_team_member.
  7 + %br
  8 + %br
  9 + System Hooks can be used, e.g. for logging or changing information in a LDAP server.
  10 + %br
  11 + %h5 Hooks request example:
  12 + = render "admin/hooks/data_ex"
app/views/help/web_hooks.html.haml
1 -%h3.page_title Web hooks  
2 -.back_link  
3 - = link_to help_path do  
4 - &larr; to index  
5 -%hr  
6 -  
7 -%p.slead  
8 - Every GitLab project can trigger a web server whenever the repo is pushed to.  
9 - %br  
10 - Web Hooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server. 1 += render layout: 'help/layout' do
  2 + %h3.page_title Web hooks
11 %br 3 %br
12 - GitLab will send POST request with commits information on every push.  
13 -%h5 Hooks request example:  
14 -= render "hooks/data_ex" 4 +
  5 + %p.slead
  6 + Every GitLab project can trigger a web server whenever the repo is pushed to.
  7 + %br
  8 + Web Hooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server.
  9 + %br
  10 + GitLab will send POST request with commits information on every push.
  11 + %h5 Hooks request example:
  12 + = render "hooks/data_ex"
15 13
app/views/help/workflow.html.haml
1 -%h3.page_title Workflow  
2 -.back_link  
3 - = link_to help_path do  
4 - &larr; to index  
5 -%hr  
6 -  
7 -%ol.help  
8 - %li  
9 - %p Clone project  
10 - .bash  
11 - %pre.dark  
12 - git clone git@example.com:project-name.git  
13 -  
14 - %li  
15 - %p Create branch with your feature  
16 - .bash  
17 - %pre.dark  
18 - git checkout -b $feature_name  
19 -  
20 - %li  
21 - %p Write code. Commit changes  
22 - .bash  
23 - %pre.dark  
24 - git commit -am "My feature is ready"  
25 -  
26 - %li  
27 - %p Push your branch to GitLab  
28 - .bash  
29 - %pre.dark  
30 - git push origin $feature_name  
31 -  
32 - %li  
33 - %p Review your code on Commits page  
34 -  
35 - %li  
36 - %p Create a merge request  
37 -  
38 - %li  
39 - %p Your team lead will review code &amp; merge it to main branch 1 += render layout: 'help/layout' do
  2 + %h3.page_title Workflow
  3 + %br
  4 +
  5 + %ol.help
  6 + %li
  7 + %p Clone project
  8 + .bash
  9 + %pre.dark
  10 + git clone git@example.com:project-name.git
  11 +
  12 + %li
  13 + %p Create branch with your feature
  14 + .bash
  15 + %pre.dark
  16 + git checkout -b $feature_name
  17 +
  18 + %li
  19 + %p Write code. Commit changes
  20 + .bash
  21 + %pre.dark
  22 + git commit -am "My feature is ready"
  23 +
  24 + %li
  25 + %p Push your branch to GitLab
  26 + .bash
  27 + %pre.dark
  28 + git push origin $feature_name
  29 +
  30 + %li
  31 + %p Review your code on Commits page
  32 +
  33 + %li
  34 + %p Create a merge request
  35 +
  36 + %li
  37 + %p Your team lead will review code &amp; merge it to main branch
40 38