Project

General

Profile

Actions

Defect #30256

closed

Cannot make cross-project wiki link if the project name includes square brackets

Added by Go MAEDA over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Text formatting
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

According to the Wiki formatting help, You can link to wiki pages of another project using the following syntax.

[[sandbox:some page]]
[[sandbox:]]

However, it does not work if the name of the destination project includes "[" or "]" character.

For example, suppose that there is a project named "[Foo]Bar". If you want to link to wiki pages in the project, the syntax is "[[[Foo]Bar:PageName]]". However, it does not generate any link.


Files


Related issues

Related to Redmine - Defect #20397: project:someproject wiki syntax should link to project with identifier "someproject', not name.New

Actions
Actions #1

Updated by Go MAEDA over 5 years ago

  • Related to Defect #20397: project:someproject wiki syntax should link to project with identifier "someproject', not name. added
Actions #2

Updated by Yuichi HARADA over 5 years ago

I reviewed the regular expression as follows.(Change from "greedy quantifier" to "lazy quantifier")
https://ruby-doc.org/core-2.6/doc/regexp_rdoc.html#label-Repetition
I attached a patch.

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index e250c20ee..8fa56ac55 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -787,7 +787,7 @@ module ApplicationHelper
   #   [[project:mypage]]
   #   [[project:mypage|mytext]]
   def parse_wiki_links(text, project, obj, attr, only_path, options)
-    text.gsub!(/(!)?(\[\[([^\]\n\|]+)(\|([^\]\n\|]+))?\]\])/) do |m|
+    text.gsub!(/(!)?(\[\[([^\n\|]+?)(\|([^\n\|]+?))?\]\])/) do |m|
       link_project = project
       esc, all, page, title = $1, $2, $3, $5
       if esc.nil?

Actions #3

Updated by Go MAEDA about 5 years ago

  • Target version set to Candidate for next minor release
Actions #4

Updated by Go MAEDA about 5 years ago

  • Target version changed from Candidate for next minor release to 4.0.3

LGTM. Setting the target version to 4.0.3.

Actions #5

Updated by Go MAEDA about 5 years ago

  • Subject changed from Cannot make cross-project wiki link if the project name includes "[" or "]" to Cannot make cross-project wiki link if the project name includes square brackets
  • Status changed from New to Resolved
  • Assignee set to Go MAEDA
  • Resolution set to Fixed

Committed the patch. Thank you for your contribution.

Actions #6

Updated by Go MAEDA about 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF