Commit 0e4bc4e6 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'link-doc-help' into 'master'

Readme on the help page

Adds the readme from the docs to the help page instead of the current links.

Fixes #1117
parents 749d198f 17a696a9
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
/** /**
* Page specific styles (issues, projects etc): * Page specific styles (issues, projects etc):
*/ */
@import "sections/*"; @import "sections/*";
/** /**
......
.documentation {
padding-bottom: 10px;
p {
padding: 10px;
margin: 0;
}
li {
list-style-type: none;
padding-left: 10px;
}
}
...@@ -13,6 +13,17 @@ class HelpController < ApplicationController ...@@ -13,6 +13,17 @@ class HelpController < ApplicationController
end end
end end
def show
@category = params[:category]
@file = params[:file]
if File.exists?(Rails.root.join('doc', @category, @file + '.md'))
render 'show'
else
not_found!
end
end
def shortcuts def shortcuts
end end
end end
...@@ -33,15 +33,15 @@ module SearchHelper ...@@ -33,15 +33,15 @@ module SearchHelper
# Autocomplete results for internal help pages # Autocomplete results for internal help pages
def help_autocomplete def help_autocomplete
[ [
{ label: "help: API Help", url: help_api_path }, { label: "help: API Help", url: help_page_path("api", "README") },
{ label: "help: Markdown Help", url: help_markdown_path }, { label: "help: Markdown Help", url: help_page_path("markdown", "markdown") },
{ label: "help: Permissions Help", url: help_permissions_path }, { label: "help: Permissions Help", url: help_page_path("permissions", "permissions") },
{ label: "help: Public Access Help", url: help_public_access_path }, { label: "help: Public Access Help", url: help_page_path("public_access", "public_access") },
{ label: "help: Rake Tasks Help", url: help_raketasks_path }, { label: "help: Rake Tasks Help", url: help_page_path("raketasks", "README") },
{ label: "help: SSH Keys Help", url: help_ssh_path }, { label: "help: SSH Keys Help", url: help_page_path("ssh", "README") },
{ label: "help: System Hooks Help", url: help_system_hooks_path }, { label: "help: System Hooks Help", url: help_page_path("system_hooks", "system_hooks") },
{ label: "help: Web Hooks Help", url: help_web_hooks_path }, { label: "help: Web Hooks Help", url: help_page_path("web_hooks", "web_hooks") },
{ label: "help: Workflow Help", url: help_workflow_path }, { label: "help: Workflow Help", url: help_page_path("workflow", "README") },
] ]
end end
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
.body.form-holder .body.form-holder
%p.light %p.light
Read more about project permissions Read more about project permissions
%strong= link_to "here", help_permissions_path, class: "vlink" %strong= link_to "here", help_page_path("permissions", "permissions"), class: "vlink"
= form_tag project_teams_update_admin_group_path(@group), id: "new_team_member", class: "bulk_import", method: :put do = form_tag project_teams_update_admin_group_path(@group), id: "new_team_member", class: "bulk_import", method: :put do
%div %div
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
System hooks System hooks
%p.light %p.light
#{link_to "System hooks ", help_system_hooks_path, class: "vlink"} can be #{link_to "System hooks ", help_page_path("system_hooks", "system_hooks"), class: "vlink"} can be
used for binding events when GitLab creates a User or Project. used for binding events when GitLab creates a User or Project.
%hr %hr
......
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
%h3.page-title Access Denied %h3.page-title Access Denied
%hr %hr
%p You are not allowed to access this page. %p You are not allowed to access this page.
%p Read more about project permissions #{link_to "here", help_permissions_path, class: "vlink"} %p Read more about project permissions #{link_to "here", help_page_path("permissions", "permissions"), class: "vlink"}
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
%p.light %p.light
Members of group have access to all group projects. Members of group have access to all group projects.
Read more about permissions Read more about permissions
%strong= link_to "here", help_permissions_path, class: "vlink" %strong= link_to "here", help_page_path("permissions", "permissions"), class: "vlink"
%hr %hr
......
.row .row
.col-md-3 .col-md-3
%h3.page-title Help %h3.page-title Help
%ul.nav.nav-pills.nav-stacked
- links = {:"Workflow" => help_workflow_path, :"SSH Keys" => help_ssh_path, :"GitLab Markdown" => help_markdown_path, :"Permissions" => help_permissions_path, :"API" => help_api_path, :"Web Hooks" => help_web_hooks_path, :"Rake Tasks" => help_raketasks_path, :"System Hooks" => help_system_hooks_path, :"Public Access" => help_public_access_path, :"Security" => help_security_path}
- links.each do |title,path|
%li{class: current_page?(path) ? 'active' : nil}
= link_to title, path
.col-md-9 .col-md-9
.wiki .wiki
= yield = yield
...@@ -33,53 +33,12 @@ ...@@ -33,53 +33,12 @@
Use Use
= link_to "shortcuts", '#', onclick: "new Shortcuts()" = link_to "shortcuts", '#', onclick: "new Shortcuts()"
.col-md-4 .col-md-8
.ui-box .ui-box.documentation
.title .title Documentation
User documentation
%ul.well-list = preserve do
%li - readme_text = File.read(Rails.root.join("doc", "README.md"))
%strong= link_to "Workflow", help_workflow_path - text = readme_text.dup
%p Learn how to use Git and GitLab together. - readme_text.scan(/\]\(([^(]+)\)/) { |match| text.gsub!(match.first, "help/#{match.first}") }
= markdown text
%li
%strong= link_to "SSH keys", help_ssh_path
%p Setup secure access to your projects.
%li
%strong= link_to "GitLab Markdown", help_markdown_path
%p Learn what you can do with GitLab's advanced formatting system.
%li
%strong= link_to "Permissions", help_permissions_path
%p Get familiar with GitLab's permission levels.
%li
%strong= link_to "API", help_api_file_path(category: 'README')
%p Explore how you can access GitLab via a simple and powerful API.
%li
%strong= link_to "Web Hooks", help_web_hooks_path
%p Let GitLab notify you when new code has been pushed to your project.
.col-md-4
.ui-box
.title
Admin documentation
%ul.well-list
%li
%strong= link_to "Rake Tasks", help_raketasks_path
%p Explore what GitLab has in store for you to make administration easier.
%li
%strong= link_to "System Hooks", help_system_hooks_path
%p Let GitLab notify you when certain management tasks need to be carried out.
%li
%strong= link_to "Public Access", help_public_access_path
%p Learn how you can allow public access to a project.
%li
%strong= link_to "Security", help_security_path
%p Learn what you can do to secure your GitLab instance.
.col-md-12
.documentation
= markdown File.read(Rails.root.join('doc', @category, @file + '.md'))
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
SSH keys allow you to establish a secure connection between your computer and GitLab SSH keys allow you to establish a secure connection between your computer and GitLab
%br %br
Before you can add an SSH key you need to Before you can add an SSH key you need to
= link_to "generate it", help_ssh_path = link_to "generate it", help_page_path("ssh", "README")
%hr %hr
......
%h3.page-title Add an SSH Key %h3.page-title Add an SSH Key
%p.light %p.light
Paste your public key here. Read more about how to generate a key on #{link_to "the SSH help page", help_ssh_path}. Paste your public key here. Read more about how to generate a key on #{link_to "the SSH help page", help_page_path("ssh", "README")}.
%hr %hr
= render 'form' = render 'form'
......
.form-group.project-visibility-level-holder .form-group.project-visibility-level-holder
= f.label :visibility_level, class: 'control-label' do = f.label :visibility_level, class: 'control-label' do
Visibility Level Visibility Level
= link_to "(?)", help_public_access_path = link_to "(?)", help_page_path("public_access", "public_access")
.col-sm-10 .col-sm-10
- if can_change_visibility_level - if can_change_visibility_level
- Gitlab::VisibilityLevel.values.each do |level| - Gitlab::VisibilityLevel.values.each do |level|
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
.col-sm-10 .col-sm-10
%p.light %p.light
Paste a machine public key here. Read more about how to generate it Paste a machine public key here. Read more about how to generate it
= link_to "here", help_ssh_path = link_to "here", help_page_path("ssh", "README")
= f.text_area :key, class: "form-control thin_area", rows: 5 = f.text_area :key, class: "form-control thin_area", rows: 5
.form-actions .form-actions
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Web hooks Web hooks
%p.light %p.light
#{link_to "Web hooks ", help_web_hooks_path, class: "vlink"} can be #{link_to "Web hooks ", help_page_path("web_hooks", "web_hooks"), class: "vlink"} can be
used for binding events when something is happening within the project. used for binding events when something is happening within the project.
%hr.clearfix %hr.clearfix
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
.col-sm-10 .col-sm-10
= f.text_area :description, class: 'form-control js-gfm-input markdown-area', rows: 14 = f.text_area :description, class: 'form-control js-gfm-input markdown-area', rows: 14
.col-sm-12.hint .col-sm-12.hint
.pull-left Issues are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .pull-left Issues are parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}.
.pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard. .pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard.
.clearfix .clearfix
.error-alert .error-alert
......
...@@ -24,9 +24,8 @@ ...@@ -24,9 +24,8 @@
.col-sm-10 .col-sm-10
= f.text_area :description, class: "form-control js-gfm-input markdown-area", rows: 14 = f.text_area :description, class: "form-control js-gfm-input markdown-area", rows: 14
.col-sm-12.hint .col-sm-12.hint
.pull-left Description is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .pull-left Description is parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}.
.pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard. .pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard.
.clearfix .clearfix
.error-alert .error-alert
%hr %hr
......
...@@ -25,9 +25,8 @@ ...@@ -25,9 +25,8 @@
= f.label :description, "Description" = f.label :description, "Description"
= f.text_area :description, class: "form-control js-gfm-input markdown-area", rows: 10 = f.text_area :description, class: "form-control js-gfm-input markdown-area", rows: 10
.col-sm-12.hint .col-sm-12.hint
.pull-left Description is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .pull-left Description is parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}.
.pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard. .pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard.
.clearfix .clearfix
.error-alert .error-alert
.form-group .form-group
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
.col-sm-10 .col-sm-10
= f.text_area :description, maxlength: 2000, class: "form-control markdown-area", rows: 10 = f.text_area :description, maxlength: 2000, class: "form-control markdown-area", rows: 10
.hint .hint
.pull-left Milestones are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .pull-left Milestones are parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}.
.pull-left Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard. .pull-left Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard.
.clearfix .clearfix
.error-alert .error-alert
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
= f.text_area :note, size: 255, class: 'note_text js-note-text js-gfm-input markdown-area' = f.text_area :note, size: 255, class: 'note_text js-note-text js-gfm-input markdown-area'
.light.clearfix.hint .light.clearfix.hint
.pull-left Comments are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .pull-left Comments are parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}
.pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard. .pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard.
.error-alert .error-alert
.note-preview-holder.hide .note-preview-holder.hide
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
.bs-callout.bs-callout-info .bs-callout.bs-callout-info
%p Protected branches designed to %p Protected branches designed to
%ul %ul
%li prevent push for all except #{link_to "masters", help_permissions_path, class: "vlink"}. %li prevent push for all except #{link_to "masters", help_page_path("permissions", "permissions"), class: "vlink"}.
%li prevent branch from force push %li prevent branch from force push
%li prevent branch from removal %li prevent branch from removal
%p Read more about project permissions #{link_to "here", help_permissions_path, class: "underlined-link"} %p Read more about project permissions #{link_to "here", help_page_path("permissions", "permissions"), class: "underlined-link"}
- if can? current_user, :admin_project, @project - if can? current_user, :admin_project, @project
= form_for [@project, @protected_branch], html: { class: 'form-horizontal' } do |f| = form_for [@project, @protected_branch], html: { class: 'form-horizontal' } do |f|
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
%p.light %p.light
Read more about project permissions Read more about project permissions
%strong= link_to "here", help_permissions_path, class: "vlink" %strong= link_to "here", help_page_path("permissions", "permissions"), class: "vlink"
= render "team", members: @users_projects = render "team", members: @users_projects
- if @group - if @group
= render "group_members" = render "group_members"
...@@ -24,9 +24,8 @@ ...@@ -24,9 +24,8 @@
.col-sm-10 .col-sm-10
= f.text_area :content, class: 'form-control js-gfm-input markdown-area', rows: 18 = f.text_area :content, class: 'form-control js-gfm-input markdown-area', rows: 18
.col-sm-12.hint .col-sm-12.hint
.pull-left Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .pull-left Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}
.pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard. .pull-right Attach images (JPG, PNG, GIF) by dragging & dropping, #{link_to "selecting them", '#', class: 'markdown-selector' } or pasting from the clipboard.
.clearfix .clearfix
.error-alert .error-alert
.form-group .form-group
......
...@@ -31,19 +31,10 @@ Gitlab::Application.routes.draw do ...@@ -31,19 +31,10 @@ Gitlab::Application.routes.draw do
# #
# Help # Help
# #
get 'help' => 'help#index' get 'help' => 'help#index'
get 'help/api' => 'help#api' get 'help/:category/:file' => 'help#show', as: :help_page
get 'help/api/:category' => 'help#api', as: 'help_api_file'
get 'help/markdown' => 'help#markdown'
get 'help/permissions' => 'help#permissions'
get 'help/public_access' => 'help#public_access'
get 'help/raketasks' => 'help#raketasks'
get 'help/ssh' => 'help#ssh'
get 'help/system_hooks' => 'help#system_hooks'
get 'help/web_hooks' => 'help#web_hooks'
get 'help/workflow' => 'help#workflow'
get 'help/shortcuts' get 'help/shortcuts'
get 'help/security'
# #
# Global snippets # Global snippets
......
+ [Workflow](workflow/workflow.md) + [Workflow](workflow.md)
+ [Project Features](workflow/project_features.md) + [Project Features](project_features.md)
...@@ -8,14 +8,14 @@ class Spinach::Features::Help < Spinach::FeatureSteps ...@@ -8,14 +8,14 @@ class Spinach::Features::Help < Spinach::FeatureSteps
end end
step 'I visit the "Rake Tasks" help page' do step 'I visit the "Rake Tasks" help page' do
visit help_raketasks_path visit help_page_path("raketasks", "maintenance")
end end
step 'I should see "Rake Tasks" page markdown rendered' do step 'I should see "Rake Tasks" page markdown rendered' do
page.should have_content "GitLab provides some specific rake tasks to enable special features or perform maintenance tasks" page.should have_content "Gather information about GitLab and the system it runs on"
end end
step 'Header "Rebuild project satellites" should have correct ids and links' do step 'Header "Rebuild project satellites" should have correct ids and links' do
header_should_have_correct_id_and_link(3, '(Re-)Create satellite repos', 're-create-satellite-repos') header_should_have_correct_id_and_link(3, '(Re-)Create satellite repos', 're-create-satellite-repos', '.documentation')
end end
end end
...@@ -79,35 +79,35 @@ describe HelpController, "routing" do ...@@ -79,35 +79,35 @@ describe HelpController, "routing" do
end end
it "to #permissions" do it "to #permissions" do
get("/help/permissions").should route_to('help#permissions') get("/help/permissions/permissions").should route_to('help#show', category: "permissions", file: "permissions")
end end
it "to #workflow" do it "to #workflow" do
get("/help/workflow").should route_to('help#workflow') get("/help/workflow/README").should route_to('help#show', category: "workflow", file: "README")
end end
it "to #api" do it "to #api" do
get("/help/api").should route_to('help#api') get("/help/api/README").should route_to('help#show', category: "api", file: "README")
end end
it "to #web_hooks" do it "to #web_hooks" do
get("/help/web_hooks").should route_to('help#web_hooks') get("/help/web_hooks/web_hooks").should route_to('help#show', category: "web_hooks", file: "web_hooks")
end end
it "to #system_hooks" do it "to #system_hooks" do
get("/help/system_hooks").should route_to('help#system_hooks') get("/help/system_hooks/system_hooks").should route_to('help#show', category: "system_hooks", file: "system_hooks")
end end
it "to #markdown" do it "to #markdown" do
get("/help/markdown").should route_to('help#markdown') get("/help/markdown/markdown").should route_to('help#show',category: "markdown", file: "markdown")
end end
it "to #ssh" do it "to #ssh" do
get("/help/ssh").should route_to('help#ssh') get("/help/ssh/README").should route_to('help#show', category: "ssh", file: "README")
end end
it "to #raketasks" do it "to #raketasks" do
get("/help/raketasks").should route_to('help#raketasks') get("/help/raketasks/README").should route_to('help#show', category: "raketasks", file: "README")
end end
end end
......
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