Commit e0fb0703c4fecb6ed036d7599b0692de9c92b206
Exists in
master
and in
4 other branches
Merge branch 'features/help_with_index'
Showing
11 changed files
with
442 additions
and
424 deletions
Show diff stats
app/assets/stylesheets/gitlab_bootstrap/common.scss
@@ -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 | - ← 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 | - ← 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 | - ← 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 | - ← 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 | - ← 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 | - ← 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 | - ← 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 & 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 & merge it to main branch | ||
40 | 38 |