[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