<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>calibre &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/calibre/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sat, 08 Nov 2025 09:37:59 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>calibre &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[HOWTO: Fix Calibre's broken window borders in Flatpak / Wayland]]></title>
		<link>https://shkspr.mobi/blog/2023/01/howto-fix-calibres-broken-window-borders-in-flatpak-wayland/</link>
					<comments>https://shkspr.mobi/blog/2023/01/howto-fix-calibres-broken-window-borders-in-flatpak-wayland/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 15 Jan 2023 12:34:04 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[calibre]]></category>
		<category><![CDATA[flatpak]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pop_os]]></category>
		<category><![CDATA[wayland]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=44657</guid>

					<description><![CDATA[If you have a large collection of eBooks, you probably use Calibre - it&#039;s simply the best bit of cross-platform software for managing your library.  It runs rock-solid on Linux.  But a recent upgrade gave me a problem.  I started the app and the windows were missing their borders and my mouse cursor was too small.    Not show-stopping problems, but mildly annoying. After a bit of faffing around,…]]></description>
										<content:encoded><![CDATA[<p>If you have a large collection of eBooks, you probably use <a href="https://calibre-ebook.com/">Calibre</a> - it's simply the best bit of cross-platform software for managing your library.  It runs rock-solid on Linux.</p>

<p>But a recent upgrade gave me a problem.  I started the app and the windows were missing their borders and my mouse cursor was too small.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/01/calibre-fs8.png" alt="Screenshot of Calibre. The windows have no borders, making it hard to see where one starts and another one ends." width="1582" height="561" class="aligncenter size-full wp-image-44658">

<p>Not show-stopping problems, but mildly annoying. After a bit of faffing around, I discovered the cause and how to fix it.</p>

<p>I was running the <a href="https://github.com/flathub/com.calibre_ebook.calibre/">Flatpak version of Calibre</a>. Normally I find Flatpaks work really well, but it seems that this particular one had an issue with the <a href="https://wayland.freedesktop.org/">Wayland display system</a> used by Pop OS and other modern Linux distros.</p>

<p>The fix was pretty easy. I installed <a href="https://flathub.org/apps/details/com.github.tchx84.Flatseal">Flatseal</a> which is an app to manage the settings of Flatpaks. Then I told Calibre that it shouldn't use Wayland and should instead fallback to the older X11 display.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/01/flatseal.png" alt="Screenshot of the Flatseal settings screen with the Wayland option unticked." width="450" class="aligncenter size-full wp-image-44659">

<p>And, with that, everything looked as it should again:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/01/calibrefixed.png" alt="Screenshot of the same Calibre interface but with better looking windows." width="1920" height="652" class="aligncenter size-full wp-image-44661">

<p>I think Wayland is a pretty snazzy bit of software, but it's new so there are going to be teething problems. Luckily, this was a fairly straightforward fix.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=44657&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/01/howto-fix-calibres-broken-window-borders-in-flatpak-wayland/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Calibre PHP Patches]]></title>
		<link>https://shkspr.mobi/blog/2011/11/calibre-php-patches/</link>
					<comments>https://shkspr.mobi/blog/2011/11/calibre-php-patches/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 23 Nov 2011 11:58:38 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[calibre]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=4807</guid>

					<description><![CDATA[Two quick patches which should be in the next version of Calibre PHP.  Adding File Size  This shows the sizes of the eBook files.  Screenshot shows a demonstration using the free &#34;Hacking The BBC&#34; eBook.   --- /data/web/calibre_php_server-V0.2.7/db.php  2011-11-20 10:19:00.000000000 +0000 +++ db.php  2011-11-20 10:24:16.000000000 +0000 @@ -571,7 +571,7 @@             }              // Formats -   …]]></description>
										<content:encoded><![CDATA[<p>Two quick patches which should be in the next version of Calibre PHP.</p>

<h2 id="adding-file-size"><a href="https://shkspr.mobi/blog/2011/11/calibre-php-patches/#adding-file-size">Adding File Size</a></h2>

<p>This shows the sizes of the eBook files.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2011/11/calibre-size.png" alt="" title="calibre size" width="440" height="220" class="aligncenter size-full wp-image-4808">
Screenshot shows a demonstration using the free "<a href="http://backstage.bbc.co.uk/">Hacking The BBC</a>" eBook.
<span id="more-4807"></span></p>

<pre lang="diff">--- /data/web/calibre_php_server-V0.2.7/db.php  2011-11-20 10:19:00.000000000 +0000
+++ db.php  2011-11-20 10:24:16.000000000 +0000
@@ -571,7 +571,7 @@
            }

            // Formats
-           $data = $this-&gt;db-&gt;query(sprintf('SELECT format,name
+           $data = $this-&gt;db-&gt;query(sprintf('SELECT format,name,uncompressed_size
                                              FROM data WHERE book=%d', $id));
            $fmts = array();
            while ($data and $row = $data-&gt;fetchArray()) {
@@ -581,7 +581,8 @@
                $fmts[] = array
                    ('format' =&gt; $row['format'],
                     'name' =&gt; $row['name'],
-                    'URL' =&gt; "index.php/book_format/$id/$book_name");
+                    'URL' =&gt; "index.php/book_format/$id/$book_name",
+                    'size' =&gt; round( ($row['uncompressed_size'] / 1024 / 1024), 2) . "MB");
            }
            $book['formats'] = $fmts;

@@ -809,4 +810,4 @@
            }
        }
    }
-?&gt;
 No newline at end of file
+?&gt;
--- /data/web/calibre_php_server-V0.2.7/smarty/templates/books_section.tpl  2011-11-20 10:19:01.000000000 +0000
+++ newTemplates/templates/books_section.tpl    2011-11-20 10:12:04.000000000 +0000
@@ -15,13 +15,13 @@
             {{if $books[book].rating_url}}<br>{{/if}}

             <div style="font-size: '80%';">

             {{section name=format loop=$books[book].formats}}

-                {{$books[book].formats[format].format}}<br>

+                {{$books[book].formats[format].format}} {{$books[book].formats[format].size}}<br>

             {{/section}}

             </div>



</pre>

<h2 id="escaping-ampersands"><a href="https://shkspr.mobi/blog/2011/11/calibre-php-patches/#escaping-ampersands">Escaping Ampersands</a></h2>

<p>Because I'm a nerd, I believe in making valid HTML.  That means that &amp; should properly be written as &amp;amp;</p>

<pre><code>--- /data/web/calibre_php_server-V0.2.7/smarty/templates/index.tpl  2011-11-20 10:19:01.000000000 +0000
+++ /data/www/calibre/newTemplates/templates/index.tpl  2011-11-19 23:31:17.000000000 +0000
@@ -6,7 +6,7 @@
 {{include file="header.tpl" title="Home"}}

 &lt;table&gt;&lt;tr&gt;&lt;td&gt;

 &lt;div style="padding-right: 20px; float: left; width: 200px; font-family: 'Arial Rounded MT Bold';"&gt;

-   &lt;a href="index.php?m=titles&amp;p=1"&gt;

+   &lt;/a&gt;&lt;a href="index.php?m=titles&amp;p=1"&gt;

    &lt;span style="padding-left:10px"&gt;Titles&lt;/span&gt;&lt;/a&gt;

    [{{$title_count}}]

 &lt;/div&gt;
diff -rupN /data/web/calibre_php_server-V0.2.7/modules//book_base.php /data/www/calibre/modules//book_base.php
--- /data/web/calibre_php_server-V0.2.7/modules//book_base.php  2011-11-20 10:19:01.000000000 +0000
+++ /data/www/calibre/modules//book_base.php    2011-11-19 23:29:37.000000000 +0000
@@ -34,10 +34,10 @@
            // Get the books for page N
            for ($i = min($start, count($books)); $i &lt; min($end, count($books)); $i++) {
                $res[] = $books[$i];
-               $res[count($res)-1]['cover'] = 'index.php?m=cover&amp;id=' . $books[$i]['id'];
+               $res[count($res)-1]['cover'] = 'index.php?m=cover&amp;id=' . $books[$i]['id'];
                if ($short_form)
                    $res[count($res)-1]['details_url'] =
-                               'index.php?m=book&amp;id=' . $books[$i]['id'];
+                               'index.php?m=book&amp;id=' . $books[$i]['id'];
            }
            $smarty-&gt;assign('books', $res);
            $p_n_url = '';
@@ -47,7 +47,7 @@
            if ($page &gt; 1)
                $smarty-&gt;assign('page_back', "index.php?{$p_n_url}p=" . ($page-1));
            if ($end &lt; count($books))
-               $smarty-&gt;assign('page_forw', "index.php?$p_n_url&amp;p=" . ($page+1));
+               $smarty-&gt;assign('page_forw', "index.php?$p_n_url&amp;p=" . ($page+1));
            $smarty-&gt;assign('page', $page);
            $smarty-&gt;assign('maxpage', (int)((count($books)-1)/$config['books_page_count'])+1);
            $smarty-&gt;assign('sortable_fields', $sortable_fields);
@@ -56,4 +56,4 @@
            $smarty-&gt;assign('prev_next', $p_n_array);
        }
    }
-?&gt;
 No newline at end of file
+?&gt;
diff -rupN /data/web/calibre_php_server-V0.2.7/modules//category.php /data/www/calibre/modules//category.php
--- /data/web/calibre_php_server-V0.2.7/modules//category.php   2011-11-20 10:19:01.000000000 +0000
+++ /data/www/calibre/modules//category.php 2011-11-19 23:26:57.000000000 +0000
@@ -34,17 +34,17 @@
                    // item has a rating. Include the URL to display it.
                    $items[] = array('icon' =&gt; get_icon_path($v-&gt;category, $db),
                            'name'      =&gt; $v-&gt;name,
-                           'href'      =&gt; "index.php?m=catval&amp;id=$v-&gt;id&amp;p=1&amp;&amp;cat=" .
-                                           urlencode($v-&gt;category) . '&amp;v=' . urlencode($v-&gt;name),
+                           'href'      =&gt; "index.php?m=catval&amp;id=$v-&gt;id&amp;p=1&amp;cat=" .
+                                           urlencode($v-&gt;category) . '&amp;v=' . urlencode($v-&gt;name),
                            'count'     =&gt; $v-&gt;count,
-                           'rating'    =&gt; "index.php?m=rating&amp;r=" . round($v-&gt;avg_rating, 2)
+                           'rating'    =&gt; "index.php?m=rating&amp;r=" . round($v-&gt;avg_rating, 2)
                            );
                } else {
                    $items[] = array('icon' =&gt; get_icon_path($v-&gt;category, $db),
                            'name'      =&gt; $v-&gt;name,
-                           'href'      =&gt; "index.php?m=catval&amp;id=$v-&gt;id&amp;p=1&amp;cat=" .
+                           'href'      =&gt; "index.php?m=catval&amp;id=$v-&gt;id&amp;p=1&amp;cat=" .
                                            urlencode($v-&gt;category) .
-                                           '&amp;v=' . urlencode($v-&gt;name),
+                                           '&amp;v=' . urlencode($v-&gt;name),
                            'count'     =&gt; $v-&gt;count
                            );
                }
@@ -60,4 +60,4 @@
    }

    $mod = new DoCategory();
-?&gt;
 No newline at end of file
+?&gt;
diff -rupN /data/web/calibre_php_server-V0.2.7/modules//catval.php /data/www/calibre/modules//catval.php
--- /data/web/calibre_php_server-V0.2.7/modules//catval.php 2011-11-20 10:19:01.000000000 +0000
+++ /data/www/calibre/modules//catval.php   2011-11-19 23:29:01.000000000 +0000
@@ -44,7 +44,7 @@
                                        ));
            $smarty-&gt;assign('category_name', $fm = $db-&gt;fm-&gt;name_for($cat));
            $smarty-&gt;assign('category_value', $_REQUEST['v']);
-           $smarty-&gt;assign('up_url', "index.php?m=category&amp;id=$id&amp;cat=".urlencode($cat));
+           $smarty-&gt;assign('up_url', "index.php?m=category&amp;id=$id&amp;cat=".urlencode($cat));
        }

        function template() {
@@ -53,4 +53,4 @@

    }
    $mod = new DoCatval();
-?&gt;
 No newline at end of file
+?&gt;
diff -rupN /data/web/calibre_php_server-V0.2.7/modules//home.php /data/www/calibre/modules//home.php
--- /data/web/calibre_php_server-V0.2.7/modules//home.php   2011-11-20 10:19:01.000000000 +0000
+++ /data/www/calibre/modules//home.php 2011-11-19 23:25:53.000000000 +0000
@@ -21,7 +21,7 @@
                $m = $db-&gt;fm-&gt;metadata_for($k);
                $items[] = array(   'icon' =&gt; get_icon_path($k, $db),
                                    'name' =&gt; $m['name'],
-                                   'href' =&gt; "index.php?m=category&amp;cat=" . urlencode($k),
+                                   'href' =&gt; "index.php?m=category&amp;cat=" . urlencode($k),
                                    'count'=&gt; count($v)
                                );
            }
@@ -34,4 +34,4 @@
        }
    }
    $mod = new DoHome();
-?&gt;
 No newline at end of file
+?&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
</code></pre>

<h2 id="more"><a href="https://shkspr.mobi/blog/2011/11/calibre-php-patches/#more">More</a></h2>

<p>Both patches should be <a href="http://www.mobileread.com/forums/showthread.php?p=1841018#post1841018">in the official version soon</a>.  More to come!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=4807&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2011/11/calibre-php-patches/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Installing Calibre PHP]]></title>
		<link>https://shkspr.mobi/blog/2011/11/installing-calibre-php/</link>
					<comments>https://shkspr.mobi/blog/2011/11/installing-calibre-php/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 22 Nov 2011 11:56:20 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[calibre]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=4802</guid>

					<description><![CDATA[(These are mostly notes to myself!)  I love Calibre, it&#039;s the perfect eBook management tool.  It comes with a built in WWW server so you can easily access your library on the go. The only problem is that this really only works if you have a single machine dedicated to Calibre.  For various reasons, I don&#039;t have a single machine.  I have a desktop, laptop, and server.  The Calibre Library is just…]]></description>
										<content:encoded><![CDATA[<p>(These are mostly notes to myself!)</p>

<p>I love Calibre, it's the perfect eBook management tool.  It comes with a built in WWW server so you can easily access your library on the go. The only problem is that this really only works if you have a single machine dedicated to Calibre.  For various reasons, I don't have a single machine.</p>

<p>I have a desktop, laptop, and server.  The Calibre Library is just a database with a set of files and folders - so all three machines sync via DropBox.  As long as I don't have the Calibre program open on my desktop and laptop at the same time, everything is hunky-dory.</p>

<p>However, having Calibre running on the server buggers everything up.  So, I'm using a separate program - <a href="https://web.archive.org/web/20110830132919/https://charles.the-haleys.org/calibre/">Calibre-PHP Content Server</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2011/11/calibre-php.png" alt="" title="calibre php" width="469" height="341" class="aligncenter size-full wp-image-4804">

<p>Installation was relatively simple, assuming you've already got apache and PHP installed, you'll also need GD, SQLite3, and Smarty.</p>

<p>This was how I installed them on Ubuntu</p>

<pre>sudo apt-get install smarty php5-gd php5-sqlite php5-sqlite3sqlite3
</pre>

<p>Configuration is slightly confusing.  Copy the config_default.php to config_local.php and edit it.</p>

<pre>$config['library_dir'] = '/data/Dropbox/eBooks/Calibre Library';
$config['smarty_dir'] = '/data/smarty-cache';
$config['smarty'] = '/usr/share/php/smarty';
</pre>

<p>The library directory must be readable to the webserver (chmod a+r) and all the directories above it have to be searchable (chmod a+x).</p>

<p>The "smarty_dir" is where the cache is stored. It needs two sub-folders, smarty_cache and smarty_templates_c. Both of these directories must be writable by the webserver.</p>

<p>That <em>should</em> be it.  There's help available at the <a href="http://www.mobileread.com/forums/showthread.php?t=104188">official help thread</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=4802&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2011/11/installing-calibre-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[New Cards for Ex Libris]]></title>
		<link>https://shkspr.mobi/blog/2011/11/new-cards-for-ex-libris/</link>
					<comments>https://shkspr.mobi/blog/2011/11/new-cards-for-ex-libris/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 08 Nov 2011 07:11:21 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[calibre]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[ex libris]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=3372</guid>

					<description><![CDATA[Ex libris is a wonderful game.  No - better than that - it&#039;s a beautiful game.  Here are the rules:       Everyone has to write the opening line of a novel, based on the novel&#039;s summary.     One player has the real opening line to copy down.     One other player (the guesser) has to guess which of the opening lines is the real one.     If you fool the guesser, you win the point. If the guesser is …]]></description>
										<content:encoded><![CDATA[<p><a href="https://oxfordgames.co.uk/shop/ex-libris/">Ex libris is a wonderful game</a>.  No - better than that - it's a beautiful game.</p>

<p>Here are the rules:</p>

<ul>
    <li>Everyone has to write the opening line of a novel, based on the novel's summary.</li>
    <li>One player has the <em>real</em> opening line to copy down.</li>
    <li>One other player (the guesser) has to guess which of the opening lines is the real one.</li>
    <li>If you fool the guesser, you win the point. If the guesser is correct, she gets the point.</li>
</ul>

<p>Simple and perfect.  You don't need to be well read - you just need enough of an imagination to write what you think someone else will think the opening line of a novel is.</p>

<p><a href="http://boardgamegeek.com/boardgame/9619/ex-libris"><img src="https://shkspr.mobi/blog/wp-content/uploads/2010/12/pic213566_md.jpg" alt="Ex Libris" title="pic213566_md" width="500" height="335" class="aligncenter size-full wp-image-3373"></a></p>

<p>There's a minor problem - there are only a limited number of cards and none of them are very new.  There's no Harry Potter, We Need To Talk About Kevin, or American Gods.</p>

<p>As with any game, it can get a little bit repetitive  - once you've played it a dozen times it can become a bit obvious which are the real extracts from the books.</p>

<p>So, what's needed is a whole set of new cards.</p>

<p>The rules say:</p>

<blockquote><p>Each card gives you the title, author and plot summary of a novel or short story.</p></blockquote>

<p>The card also has the opening and closing sentence of the book.</p>

<p>So, for example, the new card for John le Carré's "Our Kind of Traitor" would say (SPOILER WARNING!)</p>

<blockquote>
<p>Title: Our Kind Of Traitor
</p><p>Author: John le Carré
</p><p>Plot:  A young Oxford academic and his girlfriend take a holiday to Antigua. By chance they bump into a Russian millionaire called Dima who owns a peninsula and a diamond-encrusted gold watch. Dima propels the young lovers on a journey to the murkiest cloisters of the City of London and its unholy alliance with Britain's Intelligence Establishment.

</p><p>Opening Line: "At seven o'clock of a Caribbean morning, on the island of Antigua, one Peregrine Makepiece, otherwise known as Perry, an all-round amateur athlete of distinction and until recently tutor in English literature at a distinguished Oxford college, played three sets of tennis against a muscular, stiff-backed, bald, brown-eyed Russian man of dignified bearing in his middle fifties called Dima."

</p><p>Closing Line: "Was it sex? Was it drugs? Was it arms? For want of a shred of evidence it was none of them. Terror, the great catch-all these days, has also been considered, but rejected out of hand. No group has claimed responsibility."
</p></blockquote>

<h2 id="making-it-happen"><a href="https://shkspr.mobi/blog/2011/11/new-cards-for-ex-libris/#making-it-happen">Making It Happen</a></h2>

<p>I was planning on writing a <a href="http://manual.calibre-ebook.com/plugins.html">Calibre Plugin</a> to automate the generation of cards from my fulsome library.
It would be fairly easy to extract the author, summary, and cover image.
However, finding the first line from a book is a slightly tricky matter - not to mention how you determine where the last line is.</p>

<p>So I think I'll stick to manually for the time being.</p>

<p>I think this could be a great way to revatilise a wonderful game. Only a few - non-technical - problems.</p>

<p>Would I face a massive lawsuit from the <a href="http://www.oxfordgames.com/blog">good folk at Oxford Games</a>?  Would the <a href="https://wiki.openrightsgroup.org/wiki/Copyright_Term_Extension">insanity of the UK's copyright laws</a> stop me?</p>

<p>More importantly, would anyone be interested in this?  If you're an Ex Libris player and would be interested in some new cards - please leave a comment on this post!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=3372&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2011/11/new-cards-for-ex-libris/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
