Hi Simon,

As I commented on https://github.com/xwiki/xwiki-platform/pull/1109 I think
that most of the time you will want to use a scripting macro + HTML macro
like this:

{{velocity}}
{{html clean="false"}}
<div ...><!-- Some wrapping around the content that may depend on the macro
parameters  -->
  ...
  <!-- Output the macro content here so that it can be edited in-line in
the WYSIWYG editor. -->
  ...
</div>
{{/html}}
{{/velocity}}

An example of such a macro could be:

{{figure src="someImage.png"}}some description{{/figure}}

The macro code would look like this:

{{velocity}}
{{html clean="false"}}
<div class="figure">
  <div class="figure-image-wrapper">
    <img src="..." class="figure-image" />
  </div>
  <div class="figure-caption">
    <!-- Output the figure caption here so that it can be edited in-line in
the WYSIWYG editor. -->
  </div>
</div>
{{/html}}
{{/velocity}}

I know you can output DIVs with wiki syntax but that's not the point. The
point is that we want to use HTML for the UI and leave the wiki syntax for
the user content. So I don't think ``wikimacrocontent`` is that useful (if
it's only purpose is to help you output the ``non-generated-content`` DIV).

Thanks,
Marius


On Tue, May 7, 2019 at 9:21 AM Simon Urli <simon.u...@xwiki.com> wrote:

> Hi everyone,
>
> I'm currently working on allowing inline editing on new wikimacros.
> My first challenge right now is to cope with the problem of inserting
> the macro content and allowing to inline edit it.
>
> In order to do so, I propose to create two new dedicated macro:
>    - wikimacrocontent: would allow to insert and inline edit a wiki
> macro content
>    - wikimacroparameter: the same for a parameter.
>
> The idea would be to be able to write something such as:
>
> {{velocity}}
> {{wikimacrocontent/}}
> This is a content of $xcontext.macro.content.length() characters.
> {{/velocity}}
>
> So the purpose of those macros would be twofold:
>    1. to ease the insertion of macro content/parameters (no need to
> always use {{velocity}}$xcontext.macro.content{{/velocity}}
>    2. to create the dedicated metadata around the content and to be
> processed during wikimacro rendering to allow inline editing
>
> Of course those macro would be only to be used inside a wikimacro.
> I started to develop the wikimacroccontent, so I have a first working
> POC, but I'd like to know WDYT about this.
>
> I would also be really happy if you could give me some wikimacro
> examples where the inline editing would make sense, so I could use it in
> my tests.
>
> Thanks,
> Simon
> --
> Simon Urli
> Software Engineer at XWiki SAS
> simon.u...@xwiki.com
> More about us at http://www.xwiki.com
>

Reply via email to