BigW Consortium Gitlab
Resolve "User-generated permalink IDs collide with GitLab interface" ## What does this MR do? Prevents ID values automatically generated by headers in [GitLab Flavored Markdown](https://github.com/gitlabhq/gitlabhq/blob/master/doc/user/markdown.md#header-ids-and-links) from colliding with IDs used elsewhere in the GitLab interface. This can cause confusion when, for instance, a selector looks for a merge request tab with `id="pipelines"` and there is a header with the same ID earlier in the DOM. How this works: * All header IDs generated with GitLab Flavored Markdown are namespaced with `id="user-content_foo"` * All anchor links which point to these IDs continue to use the non-namespaced hash `<a href="#foo">...</a>` * When a page is loaded or when the `hashchange` event is triggered, javascript will automatically search for `#user-content_foo` if `#foo` cannot be found, and scroll to that position instead. ## Before ![2016-11-21-13.00.28](/uploads/e3be2cd6a9142dfd6e64db5462a6aa76/2016-11-21-13.00.28.gif) ## After: ![2016-11-21-13.12.45](/uploads/f7ae3f3a30c91325eaa3665591b6a850/2016-11-21-13.12.45.gif) ![2016-11-21-13.03.00](/uploads/3a6a782c081ecaa05b8781548d794909/2016-11-21-13.03.00.gif) ## Does this MR meet the acceptance criteria? - [x] [Changelog entry](https://docs.gitlab.com/ce/development/changelog.html) added - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if it does - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Closes #22781 See also prior attempts to address this issue: #3908, !2023, !2024 See merge request !7631
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
api | Loading commit data... | |
banzai | Loading commit data... | |
cycle_analytics_helpers | Loading commit data... | |
features | Loading commit data... | |
gitlab_stubs | Loading commit data... | |
import_export | Loading commit data... | |
matchers | Loading commit data... | |
services | Loading commit data... | |
api_helpers.rb | Loading commit data... | |
capybara.rb | Loading commit data... | |
capybara_helpers.rb | Loading commit data... | |
carrierwave.rb | Loading commit data... | |
cycle_analytics_helpers.rb | Loading commit data... | |
database_connection_helpers.rb | Loading commit data... | |
db_cleaner.rb | Loading commit data... | |
email_format_shared_examples.rb | Loading commit data... | |
email_helpers.rb | Loading commit data... | |
factory_girl.rb | Loading commit data... | |
fake_u2f_device.rb | Loading commit data... | |
filter_spec_helper.rb | Loading commit data... | |
fixture_helpers.rb | Loading commit data... | |
git_helpers.rb | Loading commit data... | |
git_http_helpers.rb | Loading commit data... | |
import_spec_helper.rb | Loading commit data... | |
issue_helpers.rb | Loading commit data... | |
issue_tracker_service_shared_example.rb | Loading commit data... | |
javascript_fixtures_helpers.rb | Loading commit data... | |
jira_service_helper.rb | Loading commit data... | |
ldap_helpers.rb | Loading commit data... | |
login_helpers.rb | Loading commit data... | |
markdown_feature.rb | Loading commit data... | |
mentionable_shared_examples.rb | Loading commit data... | |
merge_request_helpers.rb | Loading commit data... | |
notify_shared_examples.rb | Loading commit data... | |
omni_auth.rb | Loading commit data... | |
project_features_apply_to_issuables_shared_examples.rb | Loading commit data... | |
project_hook_data_shared_example.rb | Loading commit data... | |
rake_helpers.rb | Loading commit data... | |
reference_parser_helpers.rb | Loading commit data... | |
reference_parser_shared_examples.rb | Loading commit data... | |
repo_helpers.rb | Loading commit data... | |
search_helpers.rb | Loading commit data... | |
select2_helper.rb | Loading commit data... | |
services_shared_context.rb | Loading commit data... | |
setup_builds_storage.rb | Loading commit data... | |
slash_commands_helpers.rb | Loading commit data... | |
snippets_shared_examples.rb | Loading commit data... | |
stub_configuration.rb | Loading commit data... | |
stub_gitlab_calls.rb | Loading commit data... | |
stub_gitlab_data.rb | Loading commit data... | |
taskable_shared_examples.rb | Loading commit data... | |
test_env.rb | Loading commit data... | |
updating_mentions_shared_examples.rb | Loading commit data... | |
wait_for_ajax.rb | Loading commit data... | |
wait_for_vue_resource.rb | Loading commit data... | |
webmock.rb | Loading commit data... | |
workhorse_helpers.rb | Loading commit data... |