Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2018-06-12 09:15:40

colak
Admin
From: Cyprus
Registered: 2004-11-20
Posts: 9,011
Website GitHub Mastodon Twitter

Post your Short-Tags

Short-tags were introduced on txp v4.7 and although I was initially worried about the learning curve, it proved to be really easy. I just thought that it would be good if people posted some of their short-tags here for some cross-fertilisation of ideas.


Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.

Offline

#2 2018-06-12 09:21:16

colak
Admin
From: Cyprus
Registered: 2004-11-20
Posts: 9,011
Website GitHub Mastodon Twitter

Re: Post your Short-Tags

Short-tag for vimeo which includes a GDPR cookie acceptance.

<txp:if_yield name="setcookie" value="1"><txp:oui_cookie name="accept_vimeo_cookies" duration="+1 year" values="yes" /></txp:if_yield>
<txp:oui_if_cookie name="accept_vimeo_cookies">
<div class="embed-container"<txp:if_yield name="id"> id="<txp:yield name="id" />"<txp:else /> id="vids"</txp:if_yield>><txp:linklist category='<txp:yield name="cat" />' limit="100" sort="id asc" form="" wraptag="div" class="slider"><div class="slide"><div class="embed-container"><iframe src="https://player.vimeo.com/video/<txp:link_description escape="" />?title=0&amp;byline=0&amp;portrait=0" allowfullscreen></iframe></div></div></txp:linklist></div>
<txp:else />
<div class="vimeoeucookies noprint"><p class="centre">We would very much like you to watch these <txp:if_yield name="other"><txp:yield name="other" /><txp:else />NeMe produced</txp:if_yield> videos, <txp:yield name="txt" wraptag="presenting <+>" />, and they are hosted by Vimeo on <txp:linklist category='<txp:yield name="cat" />' limit="100" sort="id asc" form="" wraptag="" break=", "><a rel="external" href="https://vimeo.com/<txp:link_description escape="" />">vimeo.com/<txp:link_description escape="" /></a></txp:linklist>.<br />By viewing them here, you accept Vimeo's <a rel="external" href="https://vimeo.com/privacy">privacy policy</a>.</p><p class="red centre"><a rel="nofollow" href="?accept_vimeo_cookies=yes<txp:if_yield name="id">#<txp:yield name="id"/></txp:if_yield>">View them here</a></p><p>Note that Vimeo only serves First Party cookies in embedded videos but acording to their <a rel="external" href="https://vimeo.com/cookie_policy">cookie policy</a>, more are used in their website.</p></div></txp:oui_if_cookie>

And the tag

<txp::vimeo id="vid" video="xxx" txt="yyy" setcookie="1" />

Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.

Offline

#3 2018-06-12 09:45:55

NicolasGraph
Plugin Author
From: France
Registered: 2008-07-24
Posts: 860
Website

Re: Post your Short-Tags

colak wrote #312522:

Short-tag for vimeo which includes a GDPR cookie acceptance. […]

Thanks colak, I guess that providing an example of this form used a custom shortag would make the use of attributes easy to understand.

…and you could also use core short tags, right?

<if::yield name="setcookie">
    <oui::cookie name="accept_vimeo_cookies" duration="+1 year" values="yes" />
…

Last edited by NicolasGraph (2018-06-12 09:52:08)


Nicolas
Follow me on Twitter and GitHub!
Multiple edits are usually to correct my frenglish…

Offline

#4 2018-06-12 09:56:35

colak
Admin
From: Cyprus
Registered: 2004-11-20
Posts: 9,011
Website GitHub Mastodon Twitter

Re: Post your Short-Tags

Hi Nicolas,

I have to admit that I am yet to start using core short-code but from your example, it does indeed save some typing.


Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.

Offline

#5 2018-06-12 11:21:02

colak
Admin
From: Cyprus
Registered: 2004-11-20
Posts: 9,011
Website GitHub Mastodon Twitter

Re: Post your Short-Tags

Short-tag for Vimeo OR YouTube videos with GDPR cookie acceptance

<txp:if_yield name="setcookie"><oui::cookie name='accept_<txp:yield name="provider" />_cookies' duration="+1 year" values="yes" /></txp:if_yield>
<txp:hide>This sets the cookie and it is required just once/provider/article</txp:hide>

<oui::if_cookie name='accept_<txp:yield name="provider" />_cookies'>
	<div class="embed-container"<txp:if_yield name="id"> id="<txp:yield name="id" />"</txp:if_yield>>
		<txp:if_yield name="provider" value="vimeo">
			<iframe src="https://player.vimeo.com/video/<txp:yield name="video" />?title=0&amp;byline=0&amp;portrait=0" allowfullscreen></iframe>
		</txp:if_yield>
		<txp:if_yield name="provider" value="youtube">
			<iframe src="//www.youtube.com/embed/<txp:yield name="video" />?rel=0" frameborder="0" allowfullscreen></iframe>
		</txp:if_yield>
	</div>
<txp:else />
	<div class="nocookies noprint">
		<txp:if_yield name="provider" value="vimeo">
			<p class="centre">This video, <txp:yield name="txt" wraptag="presenting <+>" /> is hosted by Vimeo on <a rel="external" href="https://vimeo.com/<txp:yield name="video" />">vimeo.com/<txp:yield name="video" /></a></txp:if_yield>. By viewing it here, you accept Vimeo's <a rel="external" href="https://vimeo.com/privacy">privacy policy</a>.</p><p class="red centre"><a rel="nofollow" href="?accept_vimeo_cookies=yes<txp:if_yield name="id">#<txp:yield name="id" /></txp:if_yield>">View</a></p>
		</txp:if_yield>
		<txp:if_yield name="provider" value="youtube">
			<p class="centre">This video, <txp:yield name="txt" wraptag="presenting <+>" /> is hosted by Youtube on <a rel="external" href="https://www.youtube.com/watch?v=<txp:yield name="video" />">youtube.com/watch?v=<txp:yield name="video" /></a></txp:if_yield>. By viewing it here, you accept Youtube's <a rel="external" href="https://www.youtube.com/intl/en-GB/yt/about/policies/">privacy policy</a>.</p><p class="red centre"><a rel="nofollow" href="?accept_youtube_cookies=yes<txp:if_yield name="id">#<txp:yield name="id" /></txp:if_yield>">View</a></p>
		</txp:if_yield>
	</div>
</oui::if_cookie>

Sample short-tag

<txp::video id="vid" provider="vimeo" video="xxx" txt="yyy" setcookie="" />

> Edit: Thanks, Nicolas and Oleg. Changed the code.

Last edited by colak (2018-06-12 16:21:30)


Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.

Offline

#6 2018-06-12 12:47:27

etc
Developer
Registered: 2010-11-11
Posts: 5,053
Website GitHub

Re: Post your Short-Tags

Another possible shortcut:

<txp:yield name="txt" wraptag="presenting <+>" />

instead of

<txp:if_yield name="txt">presenting <txp:yield name="txt" /></txp:if_yield>

Offline

#7 2018-06-12 15:19:19

colak
Admin
From: Cyprus
Registered: 2004-11-20
Posts: 9,011
Website GitHub Mastodon Twitter

Re: Post your Short-Tags

Links with rel attribute

<a href="<txp:yield name="url" />"<txp:if_yield name="rel"> rel="<txp:yield name="rel" /></txp:if_yield>"><txp:if_yield name="txt"><txp:yield name="txt" /><txp:else /><txp:yield name="url" /></txp:if_yield></a>

Sample tag

<txp::link url="https://textpattern.com/" rel="external" txt="Love Textpattern" />

Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.

Offline

#8 2018-06-16 18:53:43

Destry
Member
From: Haut-Rhin
Registered: 2004-08-04
Posts: 4,909
Website

Re: Post your Short-Tags

I think all of those <txp:if_yield /> tags can be written as:

  • <if::yield />
  • <if::yield> ... </if::yield>

Saves you 3 characters each time.

Just depends how far you care to venture into the woods before it gets too abstract and scary.

Offline

Board footer

Powered by FluxBB