[pmwiki-users] Pre-alpha rich text WYSIWTF editor

Martin Kerz martinkerz at gmail.com
Tue Mar 29 13:30:51 CDT 2011

I guess a really elegant solution would be that the corresponding div in the html would be grayed out and have a „editing of this part is not possible in Rich-Text“. I imagine it looking like a missing flash-plugin div.


On 29.03.2011, at 19:26, Peter Bowers wrote:

> On Tue, Mar 29, 2011 at 3:04 PM, Petko Yotov <5ko at 5ko.fr> wrote:
>> It is exactly the opposite: there are just too many possibilities in wiki
>> markup that produce HTML that can never be reverted back to its source wiki
>> markup. For example dynamic PageLists, WikiTrails, PageVariables, Includes,
>> picture galleries... :-)
> Ah, yes, of course...
>> The only way I can think of combinig the strength of the PmWiki markups and
>> the ease of use for newcomers is to only RichEdit sections of the page that
>> will not contain any wiki markup. But yes, in this case, it would be possible
>> to convert the HTML of the section to wiki markup. :-)
> What would happen if you tapped into the list of markup rules and got
> rid of (i.e., "HTMLKeep()" them) all markup that wasn't round-trip
> formatable.  So any formatting that WTF handles (bold, italics,
> tables, bullets, etc.) would be removed from the array of rules.  The
> remaining rules would be processed to remove them from MarkupToHTML()
> consideration until the very last step, thus leaving the markup in
> place that WTF can't handle.
> This isn't coming out very clearly.  Maybe some pseudo-code would help:
> function HTMLKeep($arg)
> {
>  Keep the text in a special name-space
> }
> function HTMLUnKeep()
> {
>  Replace all Keep's in that special name-space with your special
> <pre>block</pre> syntax or whatever
> }
> Before MarkupToHTML() run a function like this:
> function ProtectMarkup($text)
> {
>   global $MarkupRules; // I haven't looked up how this is stored,
> bear with the pseudo-code
>   global $UnprotectedRules; // this will hold a list of any rules
> that you *want* to be used prior to WTF editing to make HTML
>   foreach ($MarkupRules as $rulename->$pat) {
>      if (!in_array($rulename, $UnprotectedRules))
>         $text = preg_replace($pat.'e',
> HTMLKeep("<markup_pre>$0</markup_pre>"));
>   }
>   return $text;
> }
> Then at the very end (when converting the HTML back to markup) as the
> final step in HTMLToMarkup() (from ConvertHTML recipe?) you would just
> get rid of the <markup_pre>...</markup_pre> leaving only what was in
> between.
> The idea is to store pure markup and still allow people to
> ?action=edit a page if they know markup.  If they don't know markup
> then they could ?action=wysiwtf the page and they would see any
> non-translatable markup using the same pre-blocks you have now.  The
> advantage is theoretically "expert" users and "novice" users could
> both comfortably edit the same page...
> I've obviously glossed over some of the difficulties in the
> pseudo-code, but as a concept does it seem to work?
> -Peter
> _______________________________________________
> pmwiki-users mailing list
> pmwiki-users at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users

More information about the pmwiki-users mailing list