[pmwiki-devel] Embed script immediately after body

Simon nzskiwi at gmail.com
Tue Sep 7 22:32:00 PDT 2021


Awesome, thank you

On Mon, 6 Sept 2021 at 17:46, Petko Yotov <5ko at 5ko.fr> wrote:

> On 05/09/2021 22:26, Simon wrote:
> > Thanks very much, my wording was very loose.
> >
> > The instructions say" Include the JavaScript SDK on your page once,
> > ideally
> > right after the opening body tag."
>
> This can be added in the skin template file, right after the opening
> body tag.
>
> Alternatively, you may want to create a markup rule and place that in
> your GroupHeader page. It will not be right after the opening <body> tag
> but close, and will be more configurable from within the wiki.
>
> Their SDK script has the attributes "async" and "defer", that means it
> is run in very low priority, and not at any precise point in time.
>
> I see that you can embed the posts in a simpler iframe, see attached
> screenshot. It may be easier to maintain this way, and no need for the
> full SDK.
>
> Something like this may work:
>
>    Markup('fbpost', 'directives', '/\\(:fbpost (.*?):\\)/', 'FmtFBPost');
>    function FmtFBPost($m) {
>      $fmt = '<iframe
> src="https://www.facebook.com/plugins/post.php?href='
>      . '{$url}&width=500&show_text=true&height=273&appId"
>      width="500" height="273" style="border:none;overflow:hidden"
>      scrolling="no" frameborder="0" allowfullscreen="true"
>      allow="clipboard-write; encrypted-media; picture-in-picture;
> web-share">'
>      .'</iframe>';
>
>      $url = trim($m[1]));
>      $html = str_replace('{$url}', rawurlencode($url), $fmt);
>      return Keep($html);
>    }
>
> Then in a wiki page, you use:
>
>     (:fbpost https://[full url of the post]:)
>
>  From their example, I only escaped the special character & to & and
> removed the "autoplay" permission. You can probably start from here.
>
> Petko
>
> > On Mon, 6 Sept 2021 at 05:04, Petko Yotov <5ko at 5ko.fr> wrote:
> >
> >> On 05/09/2021 11:10, Simon wrote:
> >> > Does PmWiki have the ability to specify scripts to be added to a page
> >> > directly after the body tag?
> >>
> >> $HTMLFooterFmt is intended for this:
> >>
> >>    $HTMLFooterFmt['my-recipe'] =
> >>      '<script src="$FarmPubDirUrl/my-recipe.js"></script>';
> >>
> >> Or possibly, if you want to allow customization:
> >>
> >>    SDVA($HTMLFooterFmt, array('my-recipe' => '<script ...>'));
> >>
> >>
> >> BTW, this is not added "after" the </body> tag but just before it.
> >> After
> >> it would be invalid HTML.
> >>
> >> Petko
> >>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pmichaud.com/pipermail/pmwiki-devel/attachments/20210908/aa11dc37/attachment.html>


More information about the pmwiki-devel mailing list