Merge branch 'features/help_with_index'

This commit is contained in:
Dmitriy Zaporozhets 2013-01-22 17:58:40 +02:00
commit e0fb0703c4
11 changed files with 444 additions and 426 deletions

View file

@ -81,6 +81,8 @@
} }
} }
} }
&.nav-small-tabs > li > a { padding: 6px 9px; }
} }
/** ALERT MESSAGES **/ /** ALERT MESSAGES **/

View file

@ -0,0 +1,34 @@
.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

View file

@ -1,107 +1,105 @@
%h3.page_title API = render layout: 'help/layout' do
.back_link %h3.page_title API
= link_to help_path do %br
← to index
%br
%ul.nav.nav-tabs.log-tabs %ul.nav.nav-tabs.log-tabs.nav-small-tabs
%li.active %li.active
= link_to "README", "#README", 'data-toggle' => 'tab' = link_to "README", "#README", 'data-toggle' => 'tab'
%li %li
= link_to "Projects", "#projects", 'data-toggle' => 'tab' = link_to "Projects", "#projects", 'data-toggle' => 'tab'
%li %li
= link_to "Snippets", "#snippets", 'data-toggle' => 'tab' = link_to "Snippets", "#snippets", 'data-toggle' => 'tab'
%li %li
= link_to "Repositories", "#repositories", 'data-toggle' => 'tab' = link_to "Repositories", "#repositories", 'data-toggle' => 'tab'
%li %li
= link_to "Users", "#users", 'data-toggle' => 'tab' = link_to "Users", "#users", 'data-toggle' => 'tab'
%li %li
= link_to "Session", "#session", 'data-toggle' => 'tab' = link_to "Session", "#session", 'data-toggle' => 'tab'
%li %li
= link_to "Issues", "#issues", 'data-toggle' => 'tab' = link_to "Issues", "#issues", 'data-toggle' => 'tab'
%li %li
= link_to "Milestones", "#milestones", 'data-toggle' => 'tab' = link_to "Milestones", "#milestones", 'data-toggle' => 'tab'
%li %li
= link_to "Notes", "#notes", 'data-toggle' => 'tab' = link_to "Notes", "#notes", 'data-toggle' => 'tab'
.tab-content .tab-content
.tab-pane.active#README .tab-pane.active#README
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
README README
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "README.md")) = markdown File.read(Rails.root.join("doc", "api", "README.md"))
.tab-pane#projects .tab-pane#projects
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Projects Projects
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "projects.md")) = markdown File.read(Rails.root.join("doc", "api", "projects.md"))
.tab-pane#snippets .tab-pane#snippets
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Projects Snippets Projects Snippets
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "snippets.md")) = markdown File.read(Rails.root.join("doc", "api", "snippets.md"))
.tab-pane#repositories .tab-pane#repositories
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Projects Projects
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "repositories.md")) = markdown File.read(Rails.root.join("doc", "api", "repositories.md"))
.tab-pane#users .tab-pane#users
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Users Users
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "users.md")) = markdown File.read(Rails.root.join("doc", "api", "users.md"))
.tab-pane#session .tab-pane#session
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Session Session
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "session.md")) = markdown File.read(Rails.root.join("doc", "api", "session.md"))
.tab-pane#issues .tab-pane#issues
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Issues Issues
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "issues.md")) = markdown File.read(Rails.root.join("doc", "api", "issues.md"))
.tab-pane#milestones .tab-pane#milestones
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Milestones Milestones
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "milestones.md")) = markdown File.read(Rails.root.join("doc", "api", "milestones.md"))
.tab-pane#notes .tab-pane#notes
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Notes Notes
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "api", "notes.md")) = markdown File.read(Rails.root.join("doc", "api", "notes.md"))

View file

@ -1,129 +1,127 @@
%h3.page_title GitLab Flavored Markdown = render layout: 'help/layout' do
.back_link %h3.page_title GitLab Flavored Markdown
= link_to help_path do %br
← to index
%hr
.row .row
.span8 .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
%p %p
If you're not already familiar with Markdown, you should spend 15 minutes and go over the excellent For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).
%strong= link_to "Markdown Syntax Guide", "http://daringfireball.net/projects/markdown/syntax" It extends the standard Markdown in a few significant ways adds some useful functionality.
at Daring Fireball.
.row %p You can use GFM in:
.span8 %ul
%h3 Differences from traditional Markdown %li commit messages
%li comments
%li wall posts
%li issues
%li merge requests
%li milestones
%li wiki pages
%h4 Newlines .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.
%p .row
The biggest difference that GFM introduces is in the handling of linebreaks. .span8
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. %h3 Differences from traditional Markdown
GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.
%h4 Newlines
%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
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.
%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"
%h4 URL autolinking
%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 Fenced code blocks
%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.
%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```}
%h4 Emoji
.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:
:exclamation: You can use emoji anywhere GFM is supported. :sunglasses:
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.
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.
}
.span4
.alert.alert-info
%p %p
Consult the The biggest difference that GFM introduces is in the handling of linebreaks.
%strong= link_to "Emoji Cheat Sheet", "http://www.emoji-cheat-sheet.com/" 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.
for a list of all supported emoji codes. GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.
.row
.span8
%h4 Special GitLab references
%p %p The next paragraph contains two phrases separated by a single newline character:
GFM recognizes special references. %pre= "Roses are red\nViolets are blue"
You can easily reference e.g. a team member, an issue or a commit within a project. %p becomes
GFM will turn that reference into a link so you can navigate between them easily. = markdown "Roses are red\nViolets are blue"
%p GFM will recognize the following references: %h4 Multiple underscores in words
%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 %p
- if @project = current_user.authorized_projects.first 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.
- if issue = @project.issues.first Therefore, GFM ignores multiple underscores in words.
%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." %pre= "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
%p becomes: %p becomes
= markdown "This is related to ##{issue.id}. @#{current_user.name} is working on solving it." = markdown "perform_complicated_task\ndo_this_and_do_that_and_another_thing"
- @project = nil # Prevent this from bubbling up to page title
%h4 URL autolinking
%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 Fenced code blocks
%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.
%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```}
%h4 Emoji
.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:
:exclamation: You can use emoji anywhere GFM is supported. :sunglasses:
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.
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.
}
.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

View file

@ -1,68 +1,66 @@
%h3.page_title Permissions = render layout: 'help/layout' do
.back_link %h3.page_title Permissions
= link_to help_path do %br
&larr; to index
%hr
%fieldset %fieldset
%legend Guest %legend Guest
%ul %ul
%li Create new issue %li Create new issue
%li Leave comments %li Leave comments
%li Write on project wall %li Write on project wall
%fieldset %fieldset
%legend Reporter %legend Reporter
%ul %ul
%li Create new issue %li Create new issue
%li Leave comments %li Leave comments
%li Write on project wall %li Write on project wall
%li Pull project code %li Pull project code
%li Download project %li Download project
%li Create a code snippets %li Create a code snippets
%fieldset %fieldset
%legend Developer %legend Developer
%ul %ul
%li Create new issue %li Create new issue
%li Leave comments %li Leave comments
%li Write on project wall %li Write on project wall
%li Pull project code %li Pull project code
%li Download project %li Download project
%li Create new merge request %li Create new merge request
%li Create a code snippets %li Create a code snippets
%li Create new branches %li Create new branches
%li Push to non-protected branches %li Push to non-protected branches
%li Remove non-protected branches %li Remove non-protected branches
%li Add tags %li Add tags
%li Write a wiki %li Write a wiki
%fieldset %fieldset
%legend Master %legend Master
%ul %ul
%li Create new issue %li Create new issue
%li Leave comments %li Leave comments
%li Write on project wall %li Write on project wall
%li Pull project code %li Pull project code
%li Download project %li Download project
%li Create new merge request %li Create new merge request
%li Create a code snippets %li Create a code snippets
%li Create new branches %li Create new branches
%li Push to non-protected branches %li Push to non-protected branches
%li Remove non-protected branches %li Remove non-protected branches
%li Add tags %li Add tags
%li Write a wiki %li Write a wiki
%li Add new team members %li Add new team members
%li Push to protected branches %li Push to protected branches
%li Remove protected branches %li Remove protected branches
%li Push with force option %li Push with force option
%li Edit project %li Edit project
%li Add Deploy Keys to project %li Add Deploy Keys to project
%li Configure Project Hooks %li Configure Project Hooks
%fieldset %fieldset
%legend Owner %legend Owner
%ul %ul
%li Transfer project to another namespace %li Transfer project to another namespace
%li Remove project %li Remove project

View file

@ -1,18 +1,16 @@
%h3.page_title Public Access = render layout: 'help/layout' do
.back_link %h3.page_title Public Access
= link_to help_path do %br
&larr; to index
%hr
%p %p
GitLab allows you to open selected projects to be accessed publicly. GitLab allows you to open selected projects to be accessed publicly.
These projects will be clonable These projects will be clonable
%em without any %em without any
authentication. authentication.
Also they will be listed on the #{link_to "public access directory", public_root_path}. Also they will be listed on the #{link_to "public access directory", public_root_path}.
%ol %ol
%li Go to your project dashboard %li Go to your project dashboard
%li Click on the "Edit" tab %li Click on the "Edit" tab
%li Select "Public clone access" %li Select "Public clone access"

View file

@ -1,66 +1,64 @@
%h3.page_title GitLab Rake Tasks = render layout: 'help/layout' do
.back_link %h3.page_title GitLab Rake Tasks
= link_to help_path do %br
&larr; to index
%hr
%p.slead %p.slead
GitLab provides some specific rake tasks to enable special features or perform maintenance tasks. GitLab provides some specific rake tasks to enable special features or perform maintenance tasks.
%ul.nav.nav-tabs.log-tabs %ul.nav.nav-tabs.log-tabs
%li.active %li.active
= link_to "Features", "#features", 'data-toggle' => 'tab' = link_to "Features", "#features", 'data-toggle' => 'tab'
%li %li
= link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab' = link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab'
%li %li
= link_to "User Management", "#user_management", 'data-toggle' => 'tab' = link_to "User Management", "#user_management", 'data-toggle' => 'tab'
%li %li
= link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab' = link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab'
%li %li
= link_to "Cleanup", "#cleanup", 'data-toggle' => 'tab' = link_to "Cleanup", "#cleanup", 'data-toggle' => 'tab'
.tab-content .tab-content
.tab-pane.active#features .tab-pane.active#features
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Features Features
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "features.md")) = markdown File.read(Rails.root.join("doc", "raketasks", "features.md"))
.tab-pane#maintenance .tab-pane#maintenance
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Maintenance Maintenance
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md")) = markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md"))
.tab-pane#user_management .tab-pane#user_management
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
User Management User Management
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md")) = markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md"))
.tab-pane#cleanup .tab-pane#cleanup
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Cleanup Cleanup
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "cleanup.md")) = markdown File.read(Rails.root.join("doc", "raketasks", "cleanup.md"))
.tab-pane#backup_restore .tab-pane#backup_restore
.file_holder .file_holder
.file_title .file_title
%i.icon-file %i.icon-file
Backup & Restore Backup & Restore
.file_content.wiki .file_content.wiki
= preserve do = preserve do
= markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md")) = markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md"))

View file

@ -1,25 +1,23 @@
%h3.page_title SSH Keys = render layout: 'help/layout' do
.back_link %h3.page_title SSH Keys
= link_to help_path do %br
&larr; to index
%hr
%p.slead %p.slead
SSH key allows you to establish a secure connection between your computer and GitLab SSH key allows you to establish a secure connection between your computer and GitLab
%p.slead %p.slead
To generate a new SSH key just open your terminal and use code below. To generate a new SSH key just open your terminal and use code below.
%pre.dark %pre.dark
ssh-keygen -t rsa -C "#{current_user.email}" ssh-keygen -t rsa -C "#{current_user.email}"
\# Creates a new ssh key using the provided email \# Creates a new ssh key using the provided email
\# Generating public/private rsa key pair... \# Generating public/private rsa key pair...
%p.slead %p.slead
Next just use code below to dump your public key and add to GitLab SSH Keys Next just use code below to dump your public key and add to GitLab SSH Keys
%pre.dark %pre.dark
cat ~/.ssh/id_rsa.pub cat ~/.ssh/id_rsa.pub
\# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc.... \# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

View file

@ -1,14 +1,12 @@
%h3 System hooks = render layout: 'help/layout' do
.back_link %h3.page_title System hooks
= link_to :back do %br
&larr; back
%hr
%p.slead %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. 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
%br %br
System Hooks can be used, e.g. for logging or changing information in a LDAP server. System Hooks can be used, e.g. for logging or changing information in a LDAP server.
%br %br
%h5 Hooks request example: %h5 Hooks request example:
= render "admin/hooks/data_ex" = render "admin/hooks/data_ex"

View file

@ -1,15 +1,13 @@
%h3.page_title Web hooks = render layout: 'help/layout' do
.back_link %h3.page_title Web hooks
= 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 %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 %p.slead
GitLab will send POST request with commits information on every push. Every GitLab project can trigger a web server whenever the repo is pushed to.
%h5 Hooks request example: %br
= render "hooks/data_ex" 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"

View file

@ -1,40 +1,38 @@
%h3.page_title Workflow = render layout: 'help/layout' do
.back_link %h3.page_title Workflow
= link_to help_path do %br
&larr; to index
%hr
%ol.help %ol.help
%li %li
%p Clone project %p Clone project
.bash .bash
%pre.dark %pre.dark
git clone git@example.com:project-name.git git clone git@example.com:project-name.git
%li %li
%p Create branch with your feature %p Create branch with your feature
.bash .bash
%pre.dark %pre.dark
git checkout -b $feature_name git checkout -b $feature_name
%li %li
%p Write code. Commit changes %p Write code. Commit changes
.bash .bash
%pre.dark %pre.dark
git commit -am "My feature is ready" git commit -am "My feature is ready"
%li %li
%p Push your branch to GitLab %p Push your branch to GitLab
.bash .bash
%pre.dark %pre.dark
git push origin $feature_name git push origin $feature_name
%li %li
%p Review your code on Commits page %p Review your code on Commits page
%li %li
%p Create a merge request %p Create a merge request
%li %li
%p Your team lead will review code &amp; merge it to main branch %p Your team lead will review code &amp; merge it to main branch