Help with index

This commit is contained in:
Dmitriy Zaporozhets 2013-01-22 17:58:09 +02:00
parent 69ec189ad2
commit 2be107d0d9
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 **/

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
.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"))

View file

@ -1,129 +1,127 @@
%h3.page_title GitLab Flavored Markdown
.back_link
= link_to help_path do
← to index
%hr
= render layout: 'help/layout' do
%h3.page_title GitLab Flavored Markdown
%br
.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
.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.
.row
.span8
%h3 Differences from traditional Markdown
%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
%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
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.
.row
.span8
%h3 Differences from traditional Markdown
%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
Consult the
%strong= link_to "Emoji Cheat Sheet", "http://www.emoji-cheat-sheet.com/"
for a list of all supported emoji codes.
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.
.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 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 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
%h4 Multiple underscores in words
-# 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
%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
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
.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

View file

@ -1,18 +1,16 @@
%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"

View file

@ -1,66 +1,64 @@
%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"))

View file

@ -1,25 +1,23 @@
%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....

View file

@ -1,14 +1,12 @@
%h3 System hooks
.back_link
= link_to :back do
&larr; back
%hr
= render layout: 'help/layout' do
%h3.page_title System hooks
%br
%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"
%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"

View file

@ -1,15 +1,13 @@
%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.
= render layout: 'help/layout' do
%h3.page_title Web hooks
%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"
%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"

View file

@ -1,40 +1,38 @@
%h3.page_title Workflow
.back_link
= link_to help_path do
&larr; to index
%hr
= 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
%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 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 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 Push your branch to GitLab
.bash
%pre.dark
git push origin $feature_name
%li
%p Review your code on Commits page
%li
%p Review your code on Commits page
%li
%p Create a merge request
%li
%p Create a merge request
%li
%p Your team lead will review code &amp; merge it to main branch
%li
%p Your team lead will review code &amp; merge it to main branch