Commit e0fb0703 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'features/help_with_index'

parents e982a951 2be107d0
......@@ -81,6 +81,8 @@
}
}
}
&.nav-small-tabs > li > a { padding: 6px 9px; }
}
/** ALERT MESSAGES **/
......
.row
.span3{:"data-spy" => 'affix'}
.ui-box
.title
%h5 Help
%ul.well-list
%li
%strong= link_to "Workflow", help_workflow_path
%li
%strong= link_to "SSH keys", help_ssh_path
%li
%strong= link_to "GitLab Markdown", help_markdown_path
%li
%strong= link_to "Permissions", help_permissions_path
%li
%strong= link_to "API", help_api_path
%li
%strong= link_to "Web Hooks", help_web_hooks_path
%li
%strong= link_to "Rake Tasks", help_raketasks_path
%li
%strong= link_to "System Hooks", help_system_hooks_path
%li
%strong= link_to "Public Access", help_public_access_path
.span9.right
= yield
%h3.page_title API
.back_link
= link_to help_path do
← to index
%br
= render layout: 'help/layout' do
%h3.page_title API
%br
%ul.nav.nav-tabs.log-tabs
%li.active
= link_to "README", "#README", 'data-toggle' => 'tab'
%li
= link_to "Projects", "#projects", 'data-toggle' => 'tab'
%li
= link_to "Snippets", "#snippets", 'data-toggle' => 'tab'
%li
= link_to "Repositories", "#repositories", 'data-toggle' => 'tab'
%li
= link_to "Users", "#users", 'data-toggle' => 'tab'
%li
= link_to "Session", "#session", 'data-toggle' => 'tab'
%li
= link_to "Issues", "#issues", 'data-toggle' => 'tab'
%li
= link_to "Milestones", "#milestones", 'data-toggle' => 'tab'
%li
= link_to "Notes", "#notes", 'data-toggle' => 'tab'
%ul.nav.nav-tabs.log-tabs.nav-small-tabs
%li.active
= link_to "README", "#README", 'data-toggle' => 'tab'
%li
= link_to "Projects", "#projects", 'data-toggle' => 'tab'
%li
= link_to "Snippets", "#snippets", 'data-toggle' => 'tab'
%li
= link_to "Repositories", "#repositories", 'data-toggle' => 'tab'
%li
= link_to "Users", "#users", 'data-toggle' => 'tab'
%li
= link_to "Session", "#session", 'data-toggle' => 'tab'
%li
= link_to "Issues", "#issues", 'data-toggle' => 'tab'
%li
= link_to "Milestones", "#milestones", 'data-toggle' => 'tab'
%li
= link_to "Notes", "#notes", 'data-toggle' => 'tab'
.tab-content
.tab-pane.active#README
.file_holder
.file_title
%i.icon-file
README
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "README.md"))
.tab-content
.tab-pane.active#README
.file_holder
.file_title
%i.icon-file
README
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "README.md"))
.tab-pane#projects
.file_holder
.file_title
%i.icon-file
Projects
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "projects.md"))
.tab-pane#projects
.file_holder
.file_title
%i.icon-file
Projects
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "projects.md"))
.tab-pane#snippets
.file_holder
.file_title
%i.icon-file
Projects Snippets
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "snippets.md"))
.tab-pane#snippets
.file_holder
.file_title
%i.icon-file
Projects Snippets
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "snippets.md"))
.tab-pane#repositories
.file_holder
.file_title
%i.icon-file
Projects
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "repositories.md"))
.tab-pane#repositories
.file_holder
.file_title
%i.icon-file
Projects
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "repositories.md"))
.tab-pane#users
.file_holder
.file_title
%i.icon-file
Users
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "users.md"))
.tab-pane#users
.file_holder
.file_title
%i.icon-file
Users
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "users.md"))
.tab-pane#session
.file_holder
.file_title
%i.icon-file
Session
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "session.md"))
.tab-pane#session
.file_holder
.file_title
%i.icon-file
Session
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "session.md"))
.tab-pane#issues
.file_holder
.file_title
%i.icon-file
Issues
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "issues.md"))
.tab-pane#issues
.file_holder
.file_title
%i.icon-file
Issues
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "issues.md"))
.tab-pane#milestones
.file_holder
.file_title
%i.icon-file
Milestones
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "milestones.md"))
.tab-pane#milestones
.file_holder
.file_title
%i.icon-file
Milestones
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "milestones.md"))
.tab-pane#notes
.file_holder
.file_title
%i.icon-file
Notes
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "notes.md"))
.tab-pane#notes
.file_holder
.file_title
%i.icon-file
Notes
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "api", "notes.md"))
%h3.page_title GitLab Flavored Markdown
.back_link
= link_to help_path do
← to index
%hr
.row
.span8
%p
For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).
It extends the standard Markdown in a few significant ways adds some useful functionality.
%p You can use GFM in:
%ul
%li commit messages
%li comments
%li wall posts
%li issues
%li merge requests
%li milestones
%li wiki pages
.span4
.alert.alert-info
= render layout: 'help/layout' do
%h3.page_title GitLab Flavored Markdown
%br
.row
.span8
%p
If you're not already familiar with Markdown, you should spend 15 minutes and go over the excellent
%strong= link_to "Markdown Syntax Guide", "http://daringfireball.net/projects/markdown/syntax"
at Daring Fireball.
For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).
It extends the standard Markdown in a few significant ways adds some useful functionality.
%p You can use GFM in:
%ul
%li commit messages
%li comments
%li wall posts
%li issues
%li merge requests
%li milestones
%li wiki pages
.span4
.alert.alert-info
%p
If you're not already familiar with Markdown, you should spend 15 minutes and go over the excellent
%strong= link_to "Markdown Syntax Guide", "http://daringfireball.net/projects/markdown/syntax"
at Daring Fireball.
.row
.span8
%h3 Differences from traditional Markdown
%h4 Newlines
.row
.span8
%h3 Differences from traditional Markdown
%p
The biggest difference that GFM introduces is in the handling of linebreaks.
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.
GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.
%h4 Newlines
%p
The biggest difference that GFM introduces is in the handling of linebreaks.
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.
GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.
%p The next paragraph contains two phrases separated by a single newline character:
%pre= "Roses are red\nViolets are blue"
%p becomes
= markdown "Roses are red\nViolets are blue"
%h4 Multiple underscores in words
%p The next paragraph contains two phrases separated by a single newline character:
%pre= "Roses are red\nViolets are blue"
%p becomes
= markdown "Roses are red\nViolets are blue"
%p
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.
Therefore, GFM ignores multiple underscores in words.
%h4 Multiple underscores in words
%pre= "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
%p becomes
= markdown "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
%p
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.
Therefore, GFM ignores multiple underscores in words.
%h4 URL autolinking
%pre= "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
%p becomes
= markdown "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
%p
GFM will autolink standard URLs you copy and paste into your text.
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.
%h4 URL autolinking
%h4 Fenced code blocks
%p
GFM will autolink standard URLs you copy and paste into your text.
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.
%p
Markdown converts text with four spaces at the front of each line to code blocks.
GFM supports that, but we also support fenced blocks.
Just wrap your code blocks in <code>```</code> and you won't need to indent manually to trigger a code block.
%h4 Fenced code blocks
%pre= %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
%p becomes
= markdown %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
%p
Markdown converts text with four spaces at the front of each line to code blocks.
GFM supports that, but we also support fenced blocks.
Just wrap your code blocks in <code>```</code> and you won't need to indent manually to trigger a code block.
%h4 Emoji
%pre= %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
%p becomes
= markdown %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
.row
.span8
:ruby
puts markdown %Q{Sometimes you want to be :cool: and add some :sparkles: to your :speech_balloon:. Well we have a :gift: for you:
%h4 Emoji
:exclamation: You can use emoji anywhere GFM is supported. :sunglasses:
.row
.span8
:ruby
puts markdown %Q{Sometimes you want to be :cool: and add some :sparkles: to your :speech_balloon:. Well we have a :gift: for you:
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.
:exclamation: You can use emoji anywhere GFM is supported. :sunglasses:
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.
}
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.
.span4
.alert.alert-info
%p
Consult the
%strong= link_to "Emoji Cheat Sheet", "http://www.emoji-cheat-sheet.com/"
for a list of all supported emoji codes.
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.
}
.row
.span8
%h4 Special GitLab references
.span4
.alert.alert-info
%p
Consult the
%strong= link_to "Emoji Cheat Sheet", "http://www.emoji-cheat-sheet.com/"
for a list of all supported emoji codes.
.row
.span8
%h4 Special GitLab references
%p
GFM recognizes special references.
You can easily reference e.g. a team member, an issue or a commit within a project.
GFM will turn that reference into a link so you can navigate between them easily.
%p GFM will recognize the following references:
%ul
%li
%code @foo
for team members
%li
%code #123
for issues
%li
%code !123
for merge request
%li
%code $123
for snippets
%li
%code 1234567
for commits
-# this example will only be shown if the user has a project with at least one issue
- if @project = current_user.authorized_projects.first
- if issue = @project.issues.first
%p For example in your #{link_to @project.name, project_path(@project)} project, writing:
%pre= "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."
%p becomes:
= markdown "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."
- @project = nil # Prevent this from bubbling up to page title
GFM recognizes special references.
You can easily reference e.g. a team member, an issue or a commit within a project.
GFM will turn that reference into a link so you can navigate between them easily.
%p GFM will recognize the following references:
%ul
%li
%code @foo
for team members
%li
%code #123
for issues
%li
%code !123
for merge request
%li
%code $123
for snippets
%li
%code 1234567
for commits
-# this example will only be shown if the user has a project with at least one issue
- if @project = current_user.authorized_projects.first
- if issue = @project.issues.first
%p For example in your #{link_to @project.name, project_path(@project)} project, writing:
%pre= "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."
%p becomes:
= markdown "This is related to ##{issue.id}. @#{current_user.name} is working on solving it."
- @project = nil # Prevent this from bubbling up to page title
%h3.page_title Permissions
.back_link
= link_to help_path do
&larr; to index
%hr
= render layout: 'help/layout' do
%h3.page_title Permissions
%br
%fieldset
%legend Guest
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%fieldset
%legend Guest
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%fieldset
%legend Reporter
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%li Pull project code
%li Download project
%li Create a code snippets
%fieldset
%legend Reporter
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%li Pull project code
%li Download project
%li Create a code snippets
%fieldset
%legend Developer
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%li Pull project code
%li Download project
%li Create new merge request
%li Create a code snippets
%li Create new branches
%li Push to non-protected branches
%li Remove non-protected branches
%li Add tags
%li Write a wiki
%fieldset
%legend Developer
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%li Pull project code
%li Download project
%li Create new merge request
%li Create a code snippets
%li Create new branches
%li Push to non-protected branches
%li Remove non-protected branches
%li Add tags
%li Write a wiki
%fieldset
%legend Master
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%li Pull project code
%li Download project
%li Create new merge request
%li Create a code snippets
%li Create new branches
%li Push to non-protected branches
%li Remove non-protected branches
%li Add tags
%li Write a wiki
%li Add new team members
%li Push to protected branches
%li Remove protected branches
%li Push with force option
%li Edit project
%li Add Deploy Keys to project
%li Configure Project Hooks
%fieldset
%legend Master
%ul
%li Create new issue
%li Leave comments
%li Write on project wall
%li Pull project code
%li Download project
%li Create new merge request
%li Create a code snippets
%li Create new branches
%li Push to non-protected branches
%li Remove non-protected branches
%li Add tags
%li Write a wiki
%li Add new team members
%li Push to protected branches
%li Remove protected branches
%li Push with force option
%li Edit project
%li Add Deploy Keys to project
%li Configure Project Hooks
%fieldset
%legend Owner
%ul
%li Transfer project to another namespace
%li Remove project
%fieldset
%legend Owner
%ul
%li Transfer project to another namespace
%li Remove project
%h3.page_title Public Access
.back_link
= link_to help_path do
&larr; to index
%hr
= render layout: 'help/layout' do
%h3.page_title Public Access
%br
%p
GitLab allows you to open selected projects to be accessed publicly.
These projects will be clonable
%em without any
authentication.
Also they will be listed on the #{link_to "public access directory", public_root_path}.
%p
GitLab allows you to open selected projects to be accessed publicly.
These projects will be clonable
%em without any
authentication.
Also they will be listed on the #{link_to "public access directory", public_root_path}.
%ol
%li Go to your project dashboard
%li Click on the "Edit" tab
%li Select "Public clone access"
%ol
%li Go to your project dashboard
%li Click on the "Edit" tab
%li Select "Public clone access"
%h3.page_title GitLab Rake Tasks
.back_link
= link_to help_path do
&larr; to index
%hr
= render layout: 'help/layout' do
%h3.page_title GitLab Rake Tasks
%br
%p.slead
GitLab provides some specific rake tasks to enable special features or perform maintenance tasks.
%p.slead
GitLab provides some specific rake tasks to enable special features or perform maintenance tasks.
%ul.nav.nav-tabs.log-tabs
%li.active
= link_to "Features", "#features", 'data-toggle' => 'tab'
%li
= link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab'
%li
= link_to "User Management", "#user_management", 'data-toggle' => 'tab'
%li
= link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab'
%li
= link_to "Cleanup", "#cleanup", 'data-toggle' => 'tab'
%ul.nav.nav-tabs.log-tabs
%li.active
= link_to "Features", "#features", 'data-toggle' => 'tab'
%li
= link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab'
%li
= link_to "User Management", "#user_management", 'data-toggle' => 'tab'
%li
= link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab'
%li
= link_to "Cleanup", "#cleanup", 'data-toggle' => 'tab'
.tab-content
.tab-pane.active#features
.file_holder
.file_title
%i.icon-file
Features
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "features.md"))
.tab-content
.tab-pane.active#features
.file_holder
.file_title
%i.icon-file
Features
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "features.md"))
.tab-pane#maintenance
.file_holder
.file_title
%i.icon-file
Maintenance
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md"))
.tab-pane#maintenance
.file_holder
.file_title
%i.icon-file
Maintenance
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md"))
.tab-pane#user_management
.file_holder
.file_title
%i.icon-file
User Management
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md"))
.tab-pane#user_management
.file_holder
.file_title
%i.icon-file
User Management
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md"))
.tab-pane#cleanup
.file_holder
.file_title
%i.icon-file
Cleanup
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "cleanup.md"))
.tab-pane#cleanup
.file_holder
.file_title
%i.icon-file
Cleanup
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "cleanup.md"))
.tab-pane#backup_restore
.file_holder
.file_title
%i.icon-file
Backup & Restore
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md"))
.tab-pane#backup_restore
.file_holder
.file_title
%i.icon-file
Backup & Restore
.file_content.wiki
= preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md"))
%h3.page_title SSH Keys
.back_link
= link_to help_path do
&larr; to index
%hr
= render layout: 'help/layout' do
%h3.page_title SSH Keys
%br
%p.slead
SSH key allows you to establish a secure connection between your computer and GitLab
%p.slead
SSH key allows you to establish a secure connection between your computer and GitLab
%p.slead
To generate a new SSH key just open your terminal and use code below.
%p.slead
To generate a new SSH key just open your terminal and use code below.
%pre.dark
ssh-keygen -t rsa -C "#{current_user.email}"
%pre.dark
ssh-keygen -t rsa -C "#{current_user.email}"
\# Creates a new ssh key using the provided email
\# Generating public/private rsa key pair...
\# Creates a new ssh key using the provided email
\# Generating public/private rsa key pair...
%p.slead
Next just use code below to dump your public key and add to GitLab SSH Keys
%p.slead
Next just use code below to dump your public key and add to GitLab SSH Keys
%pre.dark
cat ~/.ssh/id_rsa.pub
%pre.dark
cat ~/.ssh/id_rsa.pub
\# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
\# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
%h3 System hooks
.back_link
= link_to :back do
&larr; back
%hr
%p.slead
Your GitLab instance can perform HTTP POST requests on the following events: create_project, delete_project, create_user, delete_user, change_team_member.
%br
= render layout: 'help/layout' do
%h3.page_title System hooks
%br
System Hooks can be used, e.g. for logging or changing information in a LDAP server.
%br
%h5 Hooks request example:
= render "admin/hooks/data_ex"
%p.slead
Your GitLab instance can perform HTTP POST requests on the following events: create_project, delete_project, create_user, delete_user, change_team_member.
%br
%br
System Hooks can be used, e.g. for logging or changing information in a LDAP server.
%br
%h5 Hooks request example:
= render "admin/hooks/data_ex"
%h3.page_title Web hooks
.back_link
= link_to help_path do
&larr; to index
%hr
%p.slead
Every GitLab project can trigger a web server whenever the repo is pushed to.
%br
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.
= render layout: 'help/layout' do
%h3.page_title Web hooks
%br
GitLab will send POST request with commits information on every push.
%h5 Hooks request example:
= render "hooks/data_ex"
%p.slead
Every GitLab project can trigger a web server whenever the repo is pushed to.
%br
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.
%br
GitLab will send POST request with commits information on every push.
%h5 Hooks request example:
= render "hooks/data_ex"
%h3.page_title Workflow
.back_link
= link_to help_path do
&larr; to index
%hr
%ol.help
%li
%p Clone project
.bash
%pre.dark
git clone git@example.com:project-name.git
%li
%p Create branch with your feature
.bash
%pre.dark
git checkout -b $feature_name
%li
%p Write code. Commit changes
.bash
%pre.dark
git commit -am "My feature is ready"
%li
%p Push your branch to GitLab
.bash
%pre.dark
git push origin $feature_name
%li
%p Review your code on Commits page
%li
%p Create a merge request
%li
%p Your team lead will review code &amp; merge it to main branch
= render layout: 'help/layout' do
%h3.page_title Workflow
%br
%ol.help
%li
%p Clone project
.bash
%pre.dark
git clone git@example.com:project-name.git
%li
%p Create branch with your feature
.bash
%pre.dark
git checkout -b $feature_name
%li
%p Write code. Commit changes
.bash
%pre.dark
git commit -am "My feature is ready"
%li
%p Push your branch to GitLab
.bash
%pre.dark
git push origin $feature_name
%li
%p Review your code on Commits page
%li
%p Create a merge request
%li
%p Your team lead will review code &amp; merge it to main branch
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment