~tdarb/tdarb.org

6e4aeac556f48553ebc193cd9c9c12b7404d73fe — Bradley Taunt 10 days ago 18304fc
new post about using clickable links inside rendered XML files
7 files changed, 306 insertions(+), 14 deletions(-)

A _posts/rss-click.txt
M feeds/notes.xml
M feeds/posts.xml
M index.html
M index.xml
M index.xsl
A posts/rss-click.txt
A _posts/rss-click.txt => _posts/rss-click.txt +66 -0
@@ 0,0 1,66 @@
Mon, 20 Jun 2022
CLICKABLE LINKS INSIDE XML

With the recent patch[0] to the Shinobi Website project, I thought it would be best to share my experience implementing clickable links inside a rendered XML RSS file directly through a browser. This is made possible thanks to the awesome power of XSL formatting.

Before we begin, it should be noted that both Safari for macOS and *all* browsers on iOS do NOT support the ability to render XML files. Instead you are required to download the feeds as static files to your system. Major bummmer. Hopefully this will be fixed in the near future.


THE CODE
--------

Rendering your entry links as interactive URLs is fairly intuitive. You just need to:

1. Tell the file which tag is needs to rendered as an "a:link" element
2. Set the inner child's attribute to "href"
3. Set the value of that attribute to use the entry's `link` parameter

```xsl
<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:value-of select="link"/>
    </xsl:attribute>
    <pre><xsl:value-of select="title"/></pre>
</xsl:element>
```

In the instance above I am rendering the entry title as a clickable element which will direct users to the specific entry URL. You could simply render the full entry link URL text as the interactive link if you prefer. Something like:

```xsl
<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:value-of select="link"/>
    </xsl:attribute>
    <pre><xsl:value-of select="link"/></pre>
</xsl:element>
```


LIVE EXAMPLE
------------

In a supported browser, you can see the code in action here: https://tdarb.org/feeds/posts.xml

That's really all there is to it.

Thanks for reading,
- Brad


FOOTNOTES
---------

[0]: https://shinobi.website/posts/patch-3.txt


* * *

Subscribe via RSS:
Posts > tdarb.org/feeds/posts.xml
Notes > tdarb.org/feeds/notes.xml

Help pay for hosting costs: https://www.nearlyfreespeech.net/contribute/tdarb.org (code: tdarb)

Maintained with love for the web. Member of https://1mb.club & https://xhtml.club

~ End of the page ~
\ No newline at end of file

M feeds/notes.xml => feeds/notes.xml +3 -3
@@ 8,7 8,7 @@
    <copyright>Copyright 2022, Bradley Taunt</copyright>
    <ttl>60</ttl>
<item>
  <pubDate>Fri, 27 May 2022 11:12:05 EDT</pubDate>
  <pubDate>Fri, 27 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/27/5</category>
  <title>REPLACING HUSQVARNA 450X FRONT WHEEL WASHERS</title>
  <link>https://tdarb.org/notes/automower.txt</link>


@@ 86,7 86,7 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/notes/automower.txt</guid>
  </item>
<item>
  <pubDate>Fri, 13 May 2022 11:12:05 EDT</pubDate>
  <pubDate>Fri, 13 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/13/5</category>
  <title>PILLARS OF ETERNITY II: FIRST IMPRESSIONS</title>
  <link>https://tdarb.org/notes/deadfire.txt</link>


@@ 121,7 121,7 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/notes/deadfire.txt</guid>
  </item>
<item>
  <pubDate>Wed, 08 Jun 2022 11:12:05 EDT</pubDate>
  <pubDate>Wed, 08 Jun 2022 10:37:15 EDT</pubDate>
  <category>2022/06/08/3</category>
  <title>DUSTY RASPBERRIES</title>
  <link>https://tdarb.org/notes/dusty.txt</link>

M feeds/posts.xml => feeds/posts.xml +78 -4
@@ 8,7 8,7 @@
    <copyright>Copyright 2022, Bradley Taunt</copyright>
    <ttl>60</ttl>
<item>
  <pubDate>Tue, 17 May 2022 11:12:05 EDT</pubDate>
  <pubDate>Tue, 17 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/17/2</category>
  <title>TWO WEEKS WITH THE DUCKDUCKGO BROWSER</title>
  <link>https://tdarb.org/posts/duckduckno.txt</link>


@@ 81,7 81,81 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/posts/duckduckno.txt</guid>
  </item>
<item>
  <pubDate>Mon, 23 May 2022 11:12:05 EDT</pubDate>
  <pubDate>Mon, 20 Jun 2022 10:37:15 EDT</pubDate>
  <category>2022/06/20/1</category>
  <title>CLICKABLE LINKS INSIDE XML</title>
  <link>https://tdarb.org/posts/rss-click.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>With the recent patch[0] to the Shinobi Website project, I thought it would be best to share my experience implementing clickable links inside a rendered XML RSS file directly through a browser. This is made possible thanks to the awesome power of XSL formatting.

Before we begin, it should be noted that both Safari for macOS and *all* browsers on iOS do NOT support the ability to render XML files. Instead you are required to download the feeds as static files to your system. Major bummmer. Hopefully this will be fixed in the near future.


THE CODE
--------

Rendering your entry links as interactive URLs is fairly intuitive. You just need to:

1. Tell the file which tag is needs to rendered as an &quot;a:link&quot; element
2. Set the inner child&#39;s attribute to &quot;href&quot;
3. Set the value of that attribute to use the entry&#39;s `link` parameter

```xsl
&lt;xsl:element name=&quot;a&quot;&gt;
    &lt;xsl:attribute name=&quot;href&quot;&gt;
        &lt;xsl:value-of select=&quot;link&quot;/&gt;
    &lt;/xsl:attribute&gt;
    &lt;pre&gt;&lt;xsl:value-of select=&quot;title&quot;/&gt;&lt;/pre&gt;
&lt;/xsl:element&gt;
```

In the instance above I am rendering the entry title as a clickable element which will direct users to the specific entry URL. You could simply render the full entry link URL text as the interactive link if you prefer. Something like:

```xsl
&lt;xsl:element name=&quot;a&quot;&gt;
    &lt;xsl:attribute name=&quot;href&quot;&gt;
        &lt;xsl:value-of select=&quot;link&quot;/&gt;
    &lt;/xsl:attribute&gt;
    &lt;pre&gt;&lt;xsl:value-of select=&quot;link&quot;/&gt;&lt;/pre&gt;
&lt;/xsl:element&gt;
```


LIVE EXAMPLE
------------

In a supported browser, you can see the code in action here: https://tdarb.org/feeds/posts.xml

That&#39;s really all there is to it.

Thanks for reading,
- Brad


FOOTNOTES
---------

[0]: https://shinobi.website/posts/patch-3.txt


* * *

Subscribe via RSS:
Posts &gt; tdarb.org/feeds/posts.xml
Notes &gt; tdarb.org/feeds/notes.xml

Help pay for hosting costs: https://www.nearlyfreespeech.net/contribute/tdarb.org (code: tdarb)

Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml.club

~ End of the page ~</pre>]]>
      </description>
        <author>hello@tdarb.org (Bradley Taunt)</author>
        <guid>https://tdarb.org/posts/rss-click.txt</guid>
  </item>
<item>
  <pubDate>Mon, 23 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/23/1</category>
  <title>RSS HACKS WITH XSLT</title>
  <link>https://tdarb.org/posts/rss-hacks.txt</link>


@@ 187,7 261,7 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/posts/rss-hacks.txt</guid>
  </item>
<item>
  <pubDate>Mon, 30 May 2022 11:12:05 EDT</pubDate>
  <pubDate>Mon, 30 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/30/1</category>
  <title>SCHOOLS SHOULD BE USING OPEN SOURCE SOFTWARE</title>
  <link>https://tdarb.org/posts/schools.txt</link>


@@ 304,7 378,7 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/posts/schools.txt</guid>
  </item>
<item>
  <pubDate>Fri, 13 May 2022 11:12:05 EDT</pubDate>
  <pubDate>Fri, 13 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/13/5</category>
  <title>THIS SITE IS NOW A "SHINOBI WEBSITE"</title>
  <link>https://tdarb.org/posts/shinobi-website.txt</link>

M index.html => index.html +1 -1
@@ 47,7 47,7 @@ below.

ARTICLES
--------
</pre><pre class="date">Mon, 30 May 2022 08:19:00 EDT</pre><pre>SCHOOLS SHOULD BE USING OPEN SOURCE SOFTWARE</pre><a href="https://tdarb.org/posts/schools.txt"><pre>https://tdarb.org/posts/schools.txt</pre></a><pre class="date">Mon, 23 May 2022 08:19:00 EDT</pre><pre>RSS HACKS WITH XSLT</pre><a href="https://tdarb.org/posts/rss-hacks.txt"><pre>https://tdarb.org/posts/rss-hacks.txt</pre></a><pre class="date">Tue, 17 May 2022 08:19:00 EDT</pre><pre>TWO WEEKS WITH THE DUCKDUCKGO BROWSER</pre><a href="https://tdarb.org/posts/duckduckno.txt"><pre>https://tdarb.org/posts/duckduckno.txt</pre></a><pre class="date">Fri, 13 May 2022 08:19:00 EDT</pre><pre>THIS SITE IS NOW A "SHINOBI WEBSITE"</pre><a href="https://tdarb.org/posts/shinobi-website.txt"><pre>https://tdarb.org/posts/shinobi-website.txt</pre></a><pre>
</pre><pre class="date">Mon, 20 Jun 2022 10:37:15 EDT</pre><a href="https://tdarb.org/posts/rss-click.txt"><pre>CLICKABLE LINKS INSIDE XML</pre></a><pre class="date">Mon, 30 May 2022 10:37:15 EDT</pre><a href="https://tdarb.org/posts/schools.txt"><pre>SCHOOLS SHOULD BE USING OPEN SOURCE SOFTWARE</pre></a><pre class="date">Mon, 23 May 2022 10:37:15 EDT</pre><a href="https://tdarb.org/posts/rss-hacks.txt"><pre>RSS HACKS WITH XSLT</pre></a><pre class="date">Tue, 17 May 2022 10:37:15 EDT</pre><a href="https://tdarb.org/posts/duckduckno.txt"><pre>TWO WEEKS WITH THE DUCKDUCKGO BROWSER</pre></a><pre class="date">Fri, 13 May 2022 10:37:15 EDT</pre><a href="https://tdarb.org/posts/shinobi-website.txt"><pre>THIS SITE IS NOW A "SHINOBI WEBSITE"</pre></a><pre>


FEEDS

M index.xml => index.xml +78 -4
@@ 8,7 8,7 @@
    <copyright>Copyright 2022, Bradley Taunt</copyright>
    <ttl>60</ttl>
<item>
  <pubDate>Tue, 17 May 2022 08:19:00 EDT</pubDate>
  <pubDate>Tue, 17 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/17/2</category>
  <title>TWO WEEKS WITH THE DUCKDUCKGO BROWSER</title>
  <link>https://tdarb.org/posts/duckduckno.txt</link>


@@ 81,7 81,81 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/posts/duckduckno.txt</guid>
  </item>
<item>
  <pubDate>Mon, 23 May 2022 08:19:00 EDT</pubDate>
  <pubDate>Mon, 20 Jun 2022 10:37:15 EDT</pubDate>
  <category>2022/06/20/1</category>
  <title>CLICKABLE LINKS INSIDE XML</title>
  <link>https://tdarb.org/posts/rss-click.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>With the recent patch[0] to the Shinobi Website project, I thought it would be best to share my experience implementing clickable links inside a rendered XML RSS file directly through a browser. This is made possible thanks to the awesome power of XSL formatting.

Before we begin, it should be noted that both Safari for macOS and *all* browsers on iOS do NOT support the ability to render XML files. Instead you are required to download the feeds as static files to your system. Major bummmer. Hopefully this will be fixed in the near future.


THE CODE
--------

Rendering your entry links as interactive URLs is fairly intuitive. You just need to:

1. Tell the file which tag is needs to rendered as an &quot;a:link&quot; element
2. Set the inner child&#39;s attribute to &quot;href&quot;
3. Set the value of that attribute to use the entry&#39;s `link` parameter

```xsl
&lt;xsl:element name=&quot;a&quot;&gt;
    &lt;xsl:attribute name=&quot;href&quot;&gt;
        &lt;xsl:value-of select=&quot;link&quot;/&gt;
    &lt;/xsl:attribute&gt;
    &lt;pre&gt;&lt;xsl:value-of select=&quot;title&quot;/&gt;&lt;/pre&gt;
&lt;/xsl:element&gt;
```

In the instance above I am rendering the entry title as a clickable element which will direct users to the specific entry URL. You could simply render the full entry link URL text as the interactive link if you prefer. Something like:

```xsl
&lt;xsl:element name=&quot;a&quot;&gt;
    &lt;xsl:attribute name=&quot;href&quot;&gt;
        &lt;xsl:value-of select=&quot;link&quot;/&gt;
    &lt;/xsl:attribute&gt;
    &lt;pre&gt;&lt;xsl:value-of select=&quot;link&quot;/&gt;&lt;/pre&gt;
&lt;/xsl:element&gt;
```


LIVE EXAMPLE
------------

In a supported browser, you can see the code in action here: https://tdarb.org/feeds/posts.xml

That&#39;s really all there is to it.

Thanks for reading,
- Brad


FOOTNOTES
---------

[0]: https://shinobi.website/posts/patch-3.txt


* * *

Subscribe via RSS:
Posts &gt; tdarb.org/feeds/posts.xml
Notes &gt; tdarb.org/feeds/notes.xml

Help pay for hosting costs: https://www.nearlyfreespeech.net/contribute/tdarb.org (code: tdarb)

Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml.club

~ End of the page ~</pre>]]>
      </description>
        <author>hello@tdarb.org (Bradley Taunt)</author>
        <guid>https://tdarb.org/posts/rss-click.txt</guid>
  </item>
<item>
  <pubDate>Mon, 23 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/23/1</category>
  <title>RSS HACKS WITH XSLT</title>
  <link>https://tdarb.org/posts/rss-hacks.txt</link>


@@ 187,7 261,7 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/posts/rss-hacks.txt</guid>
  </item>
<item>
  <pubDate>Mon, 30 May 2022 08:19:00 EDT</pubDate>
  <pubDate>Mon, 30 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/30/1</category>
  <title>SCHOOLS SHOULD BE USING OPEN SOURCE SOFTWARE</title>
  <link>https://tdarb.org/posts/schools.txt</link>


@@ 304,7 378,7 @@ Maintained with love for the web. Member of https://1mb.club &amp; https://xhtml
        <guid>https://tdarb.org/posts/schools.txt</guid>
  </item>
<item>
  <pubDate>Fri, 13 May 2022 08:19:00 EDT</pubDate>
  <pubDate>Fri, 13 May 2022 10:37:15 EDT</pubDate>
  <category>2022/05/13/5</category>
  <title>THIS SITE IS NOW A "SHINOBI WEBSITE"</title>
  <link>https://tdarb.org/posts/shinobi-website.txt</link>

M index.xsl => index.xsl +1 -2
@@ 71,12 71,11 @@ ARTICLES
<xsl:for-each select="/rss/channel/item">
    <xsl:sort select="category" order="descending"/>
        <pre class="date"><xsl:value-of select="pubDate" /></pre>
        <pre><xsl:value-of select="title"/></pre>
        <xsl:element name="a">
            <xsl:attribute name="href">
                <xsl:value-of select="link"/>
            </xsl:attribute>
            <pre><xsl:value-of select="link"/></pre>
            <pre><xsl:value-of select="title"/></pre>
        </xsl:element>
</xsl:for-each>


A posts/rss-click.txt => posts/rss-click.txt +79 -0
@@ 0,0 1,79 @@
Mon, 20 Jun 2022
CLICKABLE LINKS INSIDE XML

With the recent patch[0] to the Shinobi Website project, I thought it 
would be best to share my experience implementing clickable links 
inside a rendered XML RSS file directly through a browser. This is made 
possible thanks to the awesome power of XSL formatting.

Before we begin, it should be noted that both Safari for macOS and 
*all* browsers on iOS do NOT support the ability to render XML files. 
Instead you are required to download the feeds as static files to your 
system. Major bummmer. Hopefully this will be fixed in the near future.


THE CODE
--------

Rendering your entry links as interactive URLs is fairly intuitive. You 
just need to:

1. Tell the file which tag is needs to rendered as an "a:link" element
2. Set the inner child's attribute to "href"
3. Set the value of that attribute to use the entry's `link` parameter

```xsl
<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:value-of select="link"/>
    </xsl:attribute>
    <pre><xsl:value-of select="title"/></pre>
</xsl:element>
```

In the instance above I am rendering the entry title as a clickable 
element which will direct users to the specific entry URL. You could 
simply render the full entry link URL text as the interactive link if 
you prefer. Something like:

```xsl
<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:value-of select="link"/>
    </xsl:attribute>
    <pre><xsl:value-of select="link"/></pre>
</xsl:element>
```


LIVE EXAMPLE
------------

In a supported browser, you can see the code in action here: 
https://tdarb.org/feeds/posts.xml

That's really all there is to it.

Thanks for reading,
- Brad


FOOTNOTES
---------

[0]: https://shinobi.website/posts/patch-3.txt


* * *

Subscribe via RSS:
Posts > tdarb.org/feeds/posts.xml
Notes > tdarb.org/feeds/notes.xml

Help pay for hosting costs: 
https://www.nearlyfreespeech.net/contribute/tdarb.org (code: tdarb)

Maintained with love for the web. Member of https://1mb.club & 
https://xhtml.club

~ End of the page ~
\ No newline at end of file