プロジェクト

全般

プロフィール

Vote #68001

未完了

RedCloth 4 support

Admin Redmine さんがほぼ4年前に追加. ほぼ4年前に更新.

ステータス:
New
優先度:
通常
担当者:
-
カテゴリ:
Text formatting_26
対象バージョン:
-
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
26
version_id:
0
issue_org_id:
6269
author_id:
1188
assigned_to_id:
0
comments:
22
status_id:
1
tracker_id:
2
plus1:
5
affected_version:
closed_on:
affected_version_id:
ステータス-->[New]

説明

Adding support for Redcloth 4 would be nice since Redcloth 3.x is clearly outdated and has many bugs and limitations.

But we have to make some choices before integrating this :

Redcloth 4.x needs native compiling, which could be problematic, especially for Windows users. What should we do :

** try to find how we could make installation easier, and try to switch from redcloth3 to redcloth4
** integrate redcloth4 support as an extra feature (like OpenID authentication: redmine behavior would depend on the presence of a system gem) ? Cons: duplicated testing / things to maintain
** just add this as a "core plugin" ?
** write our own (light) textile parser for the core and drop all this into plugins ?

when ? which target version ?

if we decide to stay on redcloth3, pros/cons ? is there something we can do to bypass actual limitations (use of light mode in activity summaries, hard_breaks related problems, handling of pre/code/@ sections,...)

does anyone know good alternatives to redcloth ?

I leave a tiny patch which basically just let you boot a redmine trunk instance with your system's redcloth 4.2 gem. Basic formatting works but there are many broken tests. I can work on it, but I'd prefer we answer questions above before.


journals

In my best option would be to leave redcloth3 (as light textile parser), and redcloth4 add as plug-in.

For Windows, can simply include precompiled gem?

> does anyone know good alternatives to redcloth?

For textile format i know only 2 implementation: redcloth & http://textile.thresholdstate.com/

--------------------------------------------------------------------------------
Windows uses can get precompiled RedCloth 4 this way:

@gem install RedCloth --platform=x86-mswin32-60@

I applied the @basic_redcloth4_support.diff@ but unfortunately code highlighting stops to work then (https://redmine.buschmais.com/help/wiki_syntax_detailed.html#13)
--------------------------------------------------------------------------------
Both versions of RedCloth (3 and 4) suffer some sort of XSS vulnerability; however, there are work arounds which we could put in place to remove such attacks. It deals with the use of :filter_html and white_list to allow only the HTML that RedCloth/Textile generates.

Perhaps we can rework the implementation to actually utilize asane sanitization method and get back to using the full power of RedCloth instead of this disabled version.

*References*:
* "Ruby on Rails Guide - Security":http://guides.rubyonrails.org/security.html See § 8.15
* "RoR Security Project - RedCloth":http://www.rorsecurity.info/2007/08/20/redcloth-security-thoughts/
--------------------------------------------------------------------------------
There is a pure-ruby version since 4.2.0 but its use is discouraged by its author himself :

Excerpt from https://github.com/jgarber/redcloth/blob/master/CHANGELOG :

<pre>Added a pure-ruby version of the parser for times when you can't compile the C or Java extensions. You should avoid using it if at all possible because it is 32 times slower (and has some other problems, too)! [Jason Garber]</pre>

--------------------------------------------------------------------------------
It seems that the support for definition list (DL) was added between RedCloth 3.x and 4.x, together with a bunch other improvements. I hope Redmine can add RedCloth 4 support in the next release.
--------------------------------------------------------------------------------
RedCloth 4 is very desired feature.
up!
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
Adding another upvote -- in addition to the new features, RedCloth 4 also has a detailed reference manual (http://redcloth.org/textile/). Having spent many hours trying to figure out (and document for my users) which Textile features Redmine supports, I would really appreciate being able to point to something like this.
--------------------------------------------------------------------------------
I'm personally waiting for https://github.com/jgarber/redcloth-parslet because switching to RC4 would bring some important performance drop.

Upgrading would be a challenge whichever RC version we would upgrade to because of the current mix between original and Redmine specific code.
--------------------------------------------------------------------------------
Hooking in RedCloth4 is also challenging. I should have updated the issue before, but Redmine specific code to handle shortcuts (issues, commit, docs, etc.), "toc", "include" or macros isn't as easy to integrate in the native version.

@Adam Clark: sure RedCloth doc is pretty complete, but Redmine one is accessible and should do the trick for 99% users. See "?" button in every area, which should open "a little box":http://www.redmine.org/help/wiki_syntax.html and optionnally "the full page":http://www.redmine.org/help/wiki_syntax_detailed.html ; we're open to ideas to improve this doc, tell us if things are missing, if you have criticism about the structure etc. You can open a new ticket for that if you want.
--------------------------------------------------------------------------------
> @Adam Clark: sure RedCloth doc is pretty complete, but Redmine one is accessible and should do the trick for 99% users.

I think it does the trick for 99% of the _time_, but in the end almost every _user_ is going to hit a 1% edge case at some point. I don't think it's sensible for Redmine to include exhaustive documentation of Textile, but the fact that there are some excellent Textile docs out there, which are rendered more frustrating than helpful by the fact that large chunks of their content is unusable in Redmine, sort of highlights how far behind the curve the current implementation is.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
+1 Definition list support would be really nice
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
+1, please Upgrade soon.
--------------------------------------------------------------------------------
Since it looks like there's been no movement on this in 5 years, I've created an initial plugin release that adds a 'Redcloth 4' text formatting option to redmine.

"Redmine Redcloth Plugin":http://www.redmine.org/plugins/redmine_redcloth

Feel free to try it out. I have not tested all possible renderings in the initial release. I've developed it against redmine 3.1 / 3.2, though it may work with other versions.
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


related_issues

relates,New,10078,Definition List support
relates,New,8055,Links ending with curly brackets are not correctly interpreted
relates,Reopened,6376,Turning off textile inline with '==' doesn't work.
relates,New,10889,Add support for the 'tel' URL protocol handler
relates,New,10758,Sub-/superscript w/o blank
relates,Reopened,14038,Ordered/unordered lists inside table cell are mangled
relates,New,16149,Textile within-word markup doesn't work
relates,Closed,6796,Long Description Causes 100% CPU on Windows
relates,Closed,20425,fn1. not working in tickets
relates,New,29746,Unexpected results with enumeration formatting in Textile
relates,Closed,20511,Comments for Textile text formatting
duplicates,Closed,6910,Update to new version of textile
blocks,New,2219,Export to LaTeX using Redcloth 4
blocks,New,7533,Inline image alt-text fails due to wiki syntax

Admin Redmine さんがほぼ4年前に更新

  • カテゴリText formatting_26 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0