mirror of
https://github.com/standardebooks/web.git
synced 2025-07-04 22:00:35 -04:00
Close all void HTML tags and remove HTML entities
This commit is contained in:
parent
dec516e3f1
commit
79ec73946e
13 changed files with 57 additions and 54 deletions
|
@ -45,7 +45,7 @@ print("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
|
|||
<copyright>https://creativecommons.org/publicdomain/zero/1.0/</copyright>
|
||||
<lastBuildDate><?= gmdate('D, d M Y H:i:s +0000') ?></lastBuildDate>
|
||||
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
|
||||
<atom:link href="<?= $webUrl ?>/rss/new-releases" rel="self" type="application/rss+xml" />
|
||||
<atom:link href="<?= $webUrl ?>/rss/new-releases" rel="self" type="application/rss+xml"/>
|
||||
<image>
|
||||
<url><?= $webUrl ?>/images/logo-rss.png</url>
|
||||
<title>Standard Ebooks - New Releases</title>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<aside class="alert">
|
||||
<p>Is there an out-of-copyright book you’d like to read, but that we don’t have in our catalog?</p>
|
||||
<p><a href="/contribute">Help us produce that ebook</a> so that others can read it in the future! There’s probably a basic transcription available at <a href="https://www.gutenberg.org">Project Gutenberg</a>—<a href="/contribute">get in touch with us</a> and we’ll help you make it meet Standard Ebooks standards.</p>
|
||||
<p><a href="/contribute">Help us produce that ebook</a> so that others can read it in the future! There’s probably a basic transcription available at <a href="https://www.gutenberg.org">Project Gutenberg</a>—<a href="/contribute">get in touch with us</a> and we’ll help you make it meet Standard Ebooks standards.</p>
|
||||
<p>Any skill level, from simple proofreading to complete ebook production, is welcome. We’re here to help!</p>
|
||||
</aside>
|
||||
|
|
|
@ -8,9 +8,9 @@ if(!isset($ebooks)){
|
|||
<li>
|
||||
<a href="<?= $ebook->Url ?>">
|
||||
<picture>
|
||||
<? if($ebook->CoverImage2xAvifUrl !== null){ ?><source srcset="<?= $ebook->CoverImage2xAvifUrl ?> 2x, <?= $ebook->CoverImageAvifUrl ?> 1x" type="image/avif"><? } ?>
|
||||
<source srcset="<?= $ebook->CoverImage2xUrl ?> 2x, <?= $ebook->CoverImageUrl ?> 1x" type="image/jpg">
|
||||
<img src="<?= $ebook->CoverImage2xUrl ?>" title="<?= Formatter::ToPlainText($ebook->Title) ?>" alt="The cover for the Standard Ebooks edition of <?= Formatter::ToPlainText(strip_tags($ebook->TitleWithCreditsHtml)) ?>" />
|
||||
<? if($ebook->CoverImage2xAvifUrl !== null){ ?><source srcset="<?= $ebook->CoverImage2xAvifUrl ?> 2x, <?= $ebook->CoverImageAvifUrl ?> 1x" type="image/avif"/><? } ?>
|
||||
<source srcset="<?= $ebook->CoverImage2xUrl ?> 2x, <?= $ebook->CoverImageUrl ?> 1x" type="image/jpg"/>
|
||||
<img src="<?= $ebook->CoverImage2xUrl ?>" title="<?= Formatter::ToPlainText($ebook->Title) ?>" alt="The cover for the Standard Ebooks edition of <?= Formatter::ToPlainText(strip_tags($ebook->TitleWithCreditsHtml)) ?>"/>
|
||||
</picture>
|
||||
</a>
|
||||
<p><a href="<?= $ebook->Url ?>"><?= Formatter::ToPlainText($ebook->Title) ?></a></p>
|
||||
|
|
|
@ -21,30 +21,30 @@ if(!isset($manual)){
|
|||
?><!doctype html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta charset="utf-8"/>
|
||||
<title><? if($title != ''){ ?><?= Formatter::ToPlainText($title) ?> - <? } ?>Standard Ebooks: Free and liberated ebooks, carefully produced for the true book lover.</title>
|
||||
<? if($description != ''){ ?><meta content="<?= Formatter::ToPlainText($description) ?>" name="description"><? } ?>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||||
<link href="/css/core.css?version=<?= crc32(file_get_contents(WEB_ROOT . '/css/core.css')) ?>" media="screen" rel="stylesheet" type="text/css">
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<link href="/css/core.css?version=<?= crc32(file_get_contents(WEB_ROOT . '/css/core.css')) ?>" media="screen" rel="stylesheet" type="text/css"/>
|
||||
<? if($manual){ ?>
|
||||
<link href="/css/manual.css?version=<?= crc32(file_get_contents(WEB_ROOT . '/css/manual.css')) ?>" media="screen" rel="stylesheet" type="text/css">
|
||||
<link href="/css/manual.css?version=<?= crc32(file_get_contents(WEB_ROOT . '/css/manual.css')) ?>" media="screen" rel="stylesheet" type="text/css"/>
|
||||
<? } ?>
|
||||
<link href="/apple-touch-icon-120x120.png" rel="apple-touch-icon" sizes="120x120">
|
||||
<link href="/apple-touch-icon-152x152.png" rel="apple-touch-icon" sizes="152x152">
|
||||
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180">
|
||||
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png">
|
||||
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png">
|
||||
<link href="/manifest.json" rel="manifest">
|
||||
<link rel="alternate" type="application/rss+xml" title="Standard Ebooks - New Releases" href="https://standardebooks.org/rss/new-releases">
|
||||
<link color="#394451" href="/safari-pinned-tab.svg" rel="mask-icon">
|
||||
<meta content="#394451" name="theme-color">
|
||||
<meta content="<?= Formatter::ToPlainText($title) ?>" property="og:title">
|
||||
<meta content="<?= $ogType ?? 'website' ?>" property="og:type">
|
||||
<meta content="<?= SITE_URL . str_replace(SITE_URL, '', ($_SERVER['ORIG_PATH_INFO'] ?? $_SERVER['SCRIPT_URI'] ?? '')) ?>" property="og:url">
|
||||
<meta content="<?= SITE_URL . ($coverUrl ?? '/images/logo.svg') ?>" property="og:image">
|
||||
<meta content="summary_large_image" name="twitter:card">
|
||||
<meta content="@standardebooks" name="twitter:site">
|
||||
<meta content="@standardebooks" name="twitter:creator">
|
||||
<link href="/apple-touch-icon-120x120.png" rel="apple-touch-icon" sizes="120x120"/>
|
||||
<link href="/apple-touch-icon-152x152.png" rel="apple-touch-icon" sizes="152x152"/>
|
||||
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
|
||||
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
|
||||
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
|
||||
<link href="/manifest.json" rel="manifest"/>
|
||||
<link rel="alternate" type="application/rss+xml" title="Standard Ebooks - New Releases" href="https://standardebooks.org/rss/new-releases"/>
|
||||
<link color="#394451" href="/safari-pinned-tab.svg" rel="mask-icon"/>
|
||||
<meta content="#394451" name="theme-color"/>
|
||||
<meta content="<?= Formatter::ToPlainText($title) ?>" property="og:title"/>
|
||||
<meta content="<?= $ogType ?? 'website' ?>" property="og:type"/>
|
||||
<meta content="<?= SITE_URL . str_replace(SITE_URL, '', ($_SERVER['ORIG_PATH_INFO'] ?? $_SERVER['SCRIPT_URI'] ?? '')) ?>" property="og:url"/>
|
||||
<meta content="<?= SITE_URL . ($coverUrl ?? '/images/logo.svg') ?>" property="og:image"/>
|
||||
<meta content="summary_large_image" name="twitter:card"/>
|
||||
<meta content="@standardebooks" name="twitter:site"/>
|
||||
<meta content="@standardebooks" name="twitter:creator"/>
|
||||
<? if(isset($jsonld)){ ?>
|
||||
<script type="application/ld+json">
|
||||
<?= $jsonld ?>
|
||||
|
|
|
@ -20,7 +20,7 @@ print("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
|
|||
<link href="/opds" rel="start" type="application/atom+xml;profile=opds-catalog;kind=navigation"/>
|
||||
<link href="<?= $parentUrl ?>" rel="up" type="application/atom+xml;profile=opds-catalog;kind=navigation"/>
|
||||
<link href="/opds/all" rel="http://opds-spec.org/crawlable" type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
|
||||
<link href="/ebooks/opensearch" rel="search" type="application/opensearchdescription+xml" />
|
||||
<link href="/ebooks/opensearch" rel="search" type="application/opensearchdescription+xml"/>
|
||||
<title><?= htmlspecialchars($title, ENT_QUOTES|ENT_XML1, 'utf-8') ?></title>
|
||||
<subtitle>Free and liberated ebooks, carefully produced for the true book lover.</subtitle>
|
||||
<icon>/images/logo.png</icon>
|
||||
|
|
|
@ -14,7 +14,7 @@ print("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
|
|||
<link href="<?= $url ?>" rel="self" type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
|
||||
<link href="/opds" rel="start" type="application/atom+xml;profile=opds-catalog;kind=navigation"/>
|
||||
<link href="/opds/all" rel="http://opds-spec.org/crawlable" type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
|
||||
<link href="/ebooks/opensearch" rel="search" type="application/opensearchdescription+xml" />
|
||||
<link href="/ebooks/opensearch" rel="search" type="application/opensearchdescription+xml"/>
|
||||
<? if($parentUrl !== null){ ?><link href="<?= $parentUrl ?>" rel="up" type="application/atom+xml;profile=opds-catalog;kind=navigation"/><? } ?>
|
||||
<title><?= htmlspecialchars($title, ENT_QUOTES|ENT_XML1, 'utf-8') ?></title>
|
||||
<subtitle>Free and liberated ebooks, carefully produced for the true book lover.</subtitle>
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
<form action="/ebooks" method="get">
|
||||
<label class="search">
|
||||
Search ebooks: <input type="search" name="query" placeholder="Search all ebooks..." value="<?= Formatter::ToPlainText($query ?? '') ?>" />
|
||||
</label>
|
||||
<label class="search">Search ebooks: <input type="search" name="query" placeholder="Search all ebooks..." value="<?= Formatter::ToPlainText($query ?? '') ?>"/></label>
|
||||
</form>
|
||||
|
|
|
@ -43,7 +43,7 @@ require_once('Core.php');
|
|||
<p><b>Typography:</b> Details like <a href="https://practicaltypography.com/straight-and-curly-quotes.html">curly quotes</a>, <a href="https://practicaltypography.com/ellipses.html">ellipses</a>, <a href="https://practicaltypography.com/hyphens-and-dashes.html">en-, em-, and double-em-dashes</a>, <a href="https://practicaltypography.com/first-line-indents.html">indentation</a>, <a href="https://practicaltypography.com/hyphenation.html">hyphenation</a>, and more make for the smooth reading experience you’d expect from a printed book.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><b>Ebook best practices:</b> Tables of contents and chapter breaks your ereader can understand, detailed and consistent metadata, popup footnotes, and more. Minimal markup and styling that lets your ereader’s personality shine—but consistency, so all of our ebooks look familiar.</p>
|
||||
<p><b>Ebook best practices:</b> Tables of contents and chapter breaks your ereader can understand, detailed and consistent metadata, popup footnotes, and more. Minimal markup and styling that lets your ereader’s personality shine—but consistency, so all of our ebooks look familiar.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><b>Programming best practices:</b> The stuff you can’t see, but that makes for a professional product: semantic markup, minimal and elegant code, smooth build processes, and source control.</p>
|
||||
|
|
|
@ -13,16 +13,16 @@ require_once('Core.php');
|
|||
<p>Lots of different errors can occur during the long and complex process of digitizing a print book, but here are some of the more common ones:</p>
|
||||
<ul>
|
||||
<li><h3>Mis-curled quotation marks</h3>
|
||||
<p>Here we see two frequent errors: a mis-curled double quotation mark following the em-dash, and a mis-curled single quotation mark before the “n”:</p>
|
||||
<p>Here we see two frequent errors: a mis-curled double quotation mark following the em-dash, and a mis-curled single quotation mark before the “n”:</p>
|
||||
<figure class="text">
|
||||
<p class="wrong">I was putting on some Bach when he interrupted with—”Put on some rock ‘n’ roll!”</p>
|
||||
<p class="corrected">I was putting on some Bach when he interrupted with—“Put on some rock ’n’ roll!”</p>
|
||||
<p class="wrong">I was putting on some Bach when he interrupted with—”Put on some rock ‘n’ roll!”</p>
|
||||
<p class="corrected">I was putting on some Bach when he interrupted with—“Put on some rock ’n’ roll!”</p>
|
||||
</figure>
|
||||
</li>
|
||||
<li><h3>Incorrect or archaic use of quotation marks</h3>
|
||||
<p>Older texts frequently use quotation marks for names of books and periodicals, or for the names of pubs, inns, and other places. Our <a href="/manual/latest/8-typography">typography manual</a> requires that certain standalone media be in italics instead, and that place names <em>not</em> be set in quotes.</p>
|
||||
<figure class="text">
|
||||
<p class="wrong">He read “Candide” while having a pint at the “King’s Head.”</p>
|
||||
<p class="wrong">He read “Candide” while having a pint at the “King’s Head.”</p>
|
||||
<p class="corrected">He read <i>Candide</i> while having a pint at the King’s Head.</p>
|
||||
</figure>
|
||||
</li>
|
||||
|
@ -44,13 +44,13 @@ require_once('Core.php');
|
|||
</li>
|
||||
<li>
|
||||
<h3>Using &c. instead of etc.</h3>
|
||||
<p>“etc.” is an abbreviation of the Latin <i>et cetera</i>; In Latin, <i>et</i> means “and”, so older texts often abbreviated <i>et cetera</i> as “&c.”</p>
|
||||
<p>“etc.” is an abbreviation of the Latin <i>et cetera</i>; In Latin, <i>et</i> means “and”, so older texts often abbreviated <i>et cetera</i> as “&c.”</p>
|
||||
<p>Our <a href="/manual/latest/8-typography">typography manual</a> requires a change from &c. to etc., so make sure to mark these corrections.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Use of “ibid.” in footnotes or endnotes</h3>
|
||||
<p>In work with footnotes or endnotes, “ibid.” means that the source for this note is the same as the previous note on the page.</p>
|
||||
<p>Since Standard Ebooks consolidate all footnotes and endnotes into popup footnotes, ibid. becomes meaningless—there’s no concept of a “page” anymore. If you encounter ibid., replace it with the complete reference from the previous note so readers using popup footnotes won’t get confused.</p>
|
||||
<h3>Use of “ibid.” in footnotes or endnotes</h3>
|
||||
<p>In work with footnotes or endnotes, “ibid.” means that the source for this note is the same as the previous note on the page.</p>
|
||||
<p>Since Standard Ebooks consolidate all footnotes and endnotes into popup footnotes, ibid. becomes meaningless—there’s no concept of a “page” anymore. If you encounter ibid., replace it with the complete reference from the previous note so readers using popup footnotes won’t get confused.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Text in all caps</h3>
|
||||
|
|
|
@ -79,9 +79,9 @@ catch(\Exception $ex){
|
|||
<? } ?>
|
||||
</hgroup>
|
||||
<picture>
|
||||
<? if($ebook->HeroImage2xAvifUrl !== null){ ?><source srcset="<?= $ebook->HeroImage2xAvifUrl ?> 2x, <?= $ebook->HeroImageAvifUrl ?> 1x" type="image/avif"><? } ?>
|
||||
<source srcset="<?= $ebook->HeroImage2xUrl ?> 2x, <?= $ebook->HeroImageUrl ?> 1x" type="image/jpg">
|
||||
<img src="<?= $ebook->HeroImage2xUrl ?>" alt="The cover for the Standard Ebooks edition of <?= Formatter::ToPlainText(strip_tags($ebook->TitleWithCreditsHtml)) ?>">
|
||||
<? if($ebook->HeroImage2xAvifUrl !== null){ ?><source srcset="<?= $ebook->HeroImage2xAvifUrl ?> 2x, <?= $ebook->HeroImageAvifUrl ?> 1x" type="image/avif"/><? } ?>
|
||||
<source srcset="<?= $ebook->HeroImage2xUrl ?> 2x, <?= $ebook->HeroImageUrl ?> 1x" type="image/jpg"/>
|
||||
<img src="<?= $ebook->HeroImage2xUrl ?>" alt="The cover for the Standard Ebooks edition of <?= Formatter::ToPlainText(strip_tags($ebook->TitleWithCreditsHtml)) ?>"/>
|
||||
</picture>
|
||||
</header>
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ catch(\Exception $ex){
|
|||
<? } ?>
|
||||
<? if(sizeof($ebooks) > 0 && $query === null && $tag === null && $collection === null){ ?>
|
||||
<aside class="sort">
|
||||
<form action="" method="get">
|
||||
<form action="/ebooks" method="get">
|
||||
<label>Sort by
|
||||
<select name="sort">
|
||||
<option value="<?= SORT_NEWEST ?>"<? if($sort == SORT_NEWEST){ ?> selected<? } ?>>newest</option>
|
||||
|
|
|
@ -3,7 +3,7 @@ require_once('Core.php');
|
|||
?><?= Template::Header(['description' => 'Free and liberated ebooks, carefully produced for the true book lover. Download free ebooks with professional-quality formatting and typography, in formats compatible with your ereader.']) ?>
|
||||
<main class="front-page">
|
||||
<h1>Free and liberated ebooks,<br>carefully produced for the true book lover.</h1>
|
||||
<img alt="Ereaders with a Standard Ebook open." src="/images/devices.png">
|
||||
<img alt="Ereaders with a Standard Ebook open." src="/images/devices.png"/>
|
||||
<p>Standard Ebooks is a volunteer driven, not-for-profit project that produces new editions of public domain ebooks that are lovingly formatted, open source, and free.</p>
|
||||
<p>Ebook projects like <a href="https://www.gutenberg.org">Project Gutenberg</a> transcribe ebooks and make them available for the widest number of reading devices. Standard Ebooks takes ebooks from sources like Project Gutenberg, formats and typesets them using a carefully designed and professional-grade style manual, fully proofreads and corrects them, and then builds them to create a new edition that takes advantage of state-of-the-art ereader and browser technology.</p>
|
||||
<p>Standard Ebooks aren’t just a beautiful addition to your digital library—they’re a high quality standard to build your own ebooks on.</p><a class="button next" href="/ebooks">Browse our library of free ebooks</a>
|
||||
|
@ -13,11 +13,13 @@ require_once('Core.php');
|
|||
<h3>Modern & consistent typography</h3>
|
||||
<div>
|
||||
<div>
|
||||
<p>Other free ebooks don’t put much effort into professional-quality typography: they use "straight" quotes instead of “curly” quotes, they ignore details like em- and en-dashes, and they look more like early-90’s web pages instead of actual books.</p>
|
||||
<p>Other free ebooks don’t put much effort into professional-quality typography: they use "straight" quotes instead of “curly” quotes, they ignore details like em- and en-dashes, and they look more like early-90’s web pages instead of actual books.</p>
|
||||
<p>The Standard Ebooks project applies a rigorous and modern <a href="/manual">style manual</a> when developing each and every ebook to ensure they meet a professional-grade and consistent typographical standard. Our ebooks look <em>good</em>.</p>
|
||||
</div>
|
||||
<figure class="stacked">
|
||||
<img alt="An example of bad typography." class="bottom" src="/images/typography-bad.png"> <img alt="An example of Standard Ebooks typography." class="top" src="/images/typography-good.png"> <img alt="An arrow pointing from bad typography to good typography." class="arrow" src="/images/arrow-down.png">
|
||||
<img alt="An example of bad typography." class="bottom" src="/images/typography-bad.png"/>
|
||||
<img alt="An example of Standard Ebooks typography." class="top" src="/images/typography-good.png"/>
|
||||
<img alt="An arrow pointing from bad typography to good typography." class="arrow" src="/images/arrow-down.png"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -29,7 +31,7 @@ require_once('Core.php');
|
|||
<p>At Standard Ebooks, we do a careful and complete readthrough of each ebook before releasing it, checking it against a scan of the original pages to fix as many typos as possible. Even if we <em>do</em> miss something, our ebooks are stored in the hugely popular Git source control system, allowing anyone to easily submit a correction.</p>
|
||||
</div>
|
||||
<figure>
|
||||
<img alt="A text with proofreader's marks." src="/images/proofreading.svg">
|
||||
<img alt="A text with proofreader's marks." src="/images/proofreading.svg"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -38,7 +40,7 @@ require_once('Core.php');
|
|||
<div>
|
||||
<p>Our ebooks include complete, well-researched, and consistent metadata, including original, detailed book blurbs and links to encyclopedia sources. Perfect for machine processing or for extra-curious, technically-minded readers.</p>
|
||||
<figure>
|
||||
<img alt="An application dialog displaying ebook metadata." class="top" src="/images/metadata.png">
|
||||
<img alt="An application dialog displaying ebook metadata." class="top" src="/images/metadata.png"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -61,10 +63,11 @@ require_once('Core.php');
|
|||
<p>Ereader-compatible tables of contents,</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>and more. One of our goals is to ensure our ebooks stay up-to-date with the best reading experience technology can provide. Just because it’s a classic doesn’t mean it has to use old technology.</p>
|
||||
<p>and more. One of our goals is to ensure our ebooks stay up-to-date with the best reading experience technology can provide. Just because it’s a classic doesn’t mean it has to use old technology.</p>
|
||||
</div>
|
||||
<figure class="stacked">
|
||||
<img alt="A screenshot of a popup endnote." class="bottom" src="/images/endnote.png"> <img alt="A screenshot of an ebook's table of contents." class="top" src="/images/toc.png">
|
||||
<img alt="A screenshot of a popup endnote." class="bottom" src="/images/endnote.png"/>
|
||||
<img alt="A screenshot of an ebook's table of contents." class="top" src="/images/toc.png"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -76,7 +79,7 @@ require_once('Core.php');
|
|||
<p>Standard Ebooks draws from a vast collection of public domain fine art to create attractive, unique, appropriate, and consistent covers for each of our ebooks.</p>
|
||||
</div>
|
||||
<figure>
|
||||
<img alt="An ebookshelf featuring Standard Ebooks covers." src="/images/covers.png">
|
||||
<img alt="An ebookshelf featuring Standard Ebooks covers." src="/images/covers.png"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -88,7 +91,7 @@ require_once('Core.php');
|
|||
<p>Each ebook is also enhanced with careful standards-based semantic markup that opens the gateway for exciting new kinds of machine processing.</p>
|
||||
</div>
|
||||
<figure>
|
||||
<img alt="A screenshot of the source code of a Standard Ebook file." src="/images/code.png">
|
||||
<img alt="A screenshot of the source code of a Standard Ebook file." src="/images/code.png"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -100,7 +103,9 @@ require_once('Core.php');
|
|||
<p>And while all of the ebooks we feature and the cover art we draw from are <em>already</em> believed to be in the public domain in the US, Standard Ebooks releases all of the work we put in to each ebook into the public domain too. That makes each and every one of our ebook files not just free, but <a href="https://en.wikipedia.org/wiki/Gratis_versus_libre">libre</a> too—because the world deserves more unrestricted culture.</p>
|
||||
</div>
|
||||
<figure class="oss">
|
||||
<img alt="The Git SCM logo." src="/images/git.svg"> <img alt="The no-copyright symbol." src="/images/no-copyright.svg"> <img alt="The anti-DRM symbol." src="/images/no-drm.svg">
|
||||
<img alt="The Git SCM logo." src="/images/git.svg"/>
|
||||
<img alt="The no-copyright symbol." src="/images/no-copyright.svg"/>
|
||||
<img alt="The anti-DRM symbol." src="/images/no-drm.svg"/>
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
@ -26,7 +26,7 @@ print("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
|
|||
<link href="/ebooks/ebooks?query=doyle" rel="alternate" type="text/html"/>
|
||||
<link href="/opds" rel="start" type="application/atom+xml;profile=opds-catalog;kind=navigation"/>
|
||||
<link href="/opds/all" rel="http://opds-spec.org/crawlable" type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
|
||||
<link href="/ebooks/opensearch" rel="search" type="application/opensearchdescription+xml" />
|
||||
<link href="/ebooks/opensearch" rel="search" type="application/opensearchdescription+xml"/>
|
||||
<title>Standard Ebooks OPDS Search Results</title>
|
||||
<subtitle>Free and liberated ebooks, carefully produced for the true book lover.</subtitle>
|
||||
<icon>/images/logo.png</icon>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue