gitlab-org--gitlab-foss/doc
Hannes Rosenögger 623f6c5f09 Merge branch 'fix-underscore-notes' into 'master'
Fix cross-references that contain underscores

### What does this MR do?

Cross-references that contain underscores confuse the Markdown renderer and don't work properly. For example:

1. In  `myacct/project_one#456`, add a comment that includes a reference to `myacct/project_two#123`.
2. The comment in `myacct/project_one#456` links correctly.
3. The system note in `myacct/project_two#123` is incorrectly linked as:

`mentioned in issue myacct/projectone#456_`

This MR removes the use of the `_` character in the system notes to prevent Markdown confusion.

See a full discussion in #1160.

### Are there points in the code the reviewer needs to double check?

To preserve backwards compatibility with existing system notes, there is a SQL wildcard match for notes having underscores. This seemed safer than migrating all notes.

### Why was this MR needed?

In an ideal world, the Markdown parser would be able to handle references containing underscores with or without escape sequences. However, there are a number of issues:

1. RedCarpet's parser for emphasis block is pretty dumb: it treats `#` as a word break and thus even the `intra_word_emphasis` flag has no effect.
2. The parser is in C and can't be changed easily.
3. There is no way to insert an escape sequence for emphasis blocks.

The only way around this is to switch to something like CommonMark, which does support escape sequences.

### What are the relevant issue numbers / [Feature requests](http://feedback.gitlab.com/)?

Issue #1160

### Screenshots

Before:

![Screen_Shot_2015-03-19_at_1.39.29_AM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/a1db4b96c0df2f10d9855ed5abe976ca/Screen_Shot_2015-03-19_at_1.39.29_AM.png)

After:

![Screen_Shot_2015-03-19_at_1.39.35_AM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/189a062c2d19645eec1782ac1f0d4f2f/Screen_Shot_2015-03-19_at_1.39.35_AM.png)

See merge request !385
2015-03-19 21:20:45 +00:00
..
api Fix cross references when usernames, milestones, or project names contain underscores. 2015-03-19 07:07:30 -07:00
customization Make all non-config/non-operational mentions of URL consistently 2015-01-30 10:24:45 -08:00
development Replace linux with GNU/Linux to recognize the work of Dr. Stallman. 2015-03-15 18:06:25 -07:00
hooks Rephrased wording in the documentation to say "installation from source" instead of "manual installation" or similar. 2015-02-16 09:10:07 -08:00
install Changed tis to this 2015-03-19 09:57:27 +00:00
integration remove duplicate right braces ('}') in configuration examples of GitHub, 2015-03-09 23:20:44 +08:00
legal Update docs to markdown style guide. 2014-06-03 23:16:31 +02:00
logs Mention audit events ee feature in logs documentation. 2015-02-27 12:32:05 -08:00
markdown Fix link to URL auto-linking section in markdown help 2015-03-19 12:59:04 +01:00
operations Document Redis session cleanup 2015-01-06 11:50:05 +01:00
permissions Use plural instead of refering explicitly to male/female. 2015-01-05 12:44:42 +02:00
project_services Fix typo for HipChat doc: messaging, not message 2015-03-16 09:39:43 -07:00
public_access Allow admins to override restricted visibility 2015-03-08 16:10:05 -06:00
raketasks Rephrased wording in the documentation to say "installation from source" instead of "manual installation" or similar. 2015-02-16 09:10:07 -08:00
release Update monthly doc to mention wip blogpost for next release. 2015-03-13 19:00:16 -07:00
security Add doc on "Web Hooks and insecure internal web services". 2015-02-07 01:54:45 +01:00
ssh Replace linux with GNU/Linux to recognize the work of Dr. Stallman. 2015-03-15 18:06:25 -07:00
system_hooks Fix a number of discovered typos, capitalization of developer and 2015-02-03 15:18:40 -08:00
update Update upgrade and installation docs for 7.9. 2015-03-17 14:07:05 -07:00
web_hooks Update documentation for object_kind field in Webhook push and tag push Webhooks 2015-03-13 07:48:35 -07:00
workflow changelog && documentation 2015-02-24 20:36:11 +02:00
README.md Fix broken links in documentation 2015-02-18 22:07:09 -08:00

README.md

Documentation

User documentation

  • API Automate GitLab via a simple and powerful API.
  • Markdown GitLab's advanced formatting system.
  • Permissions Learn what each role in a project (guest/reporter/developer/master/owner) can do.
  • Project Services Integrate a project with external services, such as CI and chat.
  • Public access Learn how you can allow public and internal access to projects.
  • SSH Setup your ssh keys and deploy keys for secure access to your projects.
  • Web hooks Let GitLab notify you when new code has been pushed to your project.
  • Workflow Using GitLab functionality and importing projects from GitHub and SVN.
  • GitLab as OAuth2 authentication service provider. It allows you to login to other applications from GitLab.

Administrator documentation

  • Install Requirements, directory structures and installation from source.
  • Integration How to integrate with systems such as JIRA, Redmine, LDAP and Twitter.
  • Raketasks Backups, maintenance, automatic web hook setup and the importing of projects.
  • Custom git hooks Custom git hooks (on the filesystem) for when web hooks aren't enough.
  • System hooks Notifications when users, projects and keys are changed.
  • Security Learn what you can do to further secure your GitLab instance.
  • Update Update guides to upgrade your installation.
  • Welcome message Add a custom welcome message to the sign-in page.
  • Issue closing Customize how to close an issue from commit messages.
  • Libravatar Use Libravatar for user avatars.
  • Operations Keeping GitLab up and running
  • Log system Log system

Contributor documentation

  • Development Explains the architecture and the guidelines for shell commands.
  • Legal Contributor license agreements.
  • Release How to make the monthly and security releases.