Close all void HTML tags and remove HTML entities

This commit is contained in:
Alex Cabal 2020-09-04 12:42:27 -05:00
parent dec516e3f1
commit 79ec73946e
13 changed files with 57 additions and 54 deletions

View file

@ -1,5 +1,5 @@
<aside class="alert"> <aside class="alert">
<p>Is there an out-of-copyright book youd like to read, but that we dont have in our catalog?</p> <p>Is there an out-of-copyright book youd like to read, but that we dont have in our catalog?</p>
<p><a href="/contribute">Help us produce that ebook</a> so that others can read it in the future! Theres probably a basic transcription available at <a href="https://www.gutenberg.org">Project Gutenberg</a>&mdash;<a href="/contribute">get in touch with us</a> and well 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! Theres 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 well help you make it meet Standard Ebooks standards.</p>
<p>Any skill level, from simple proofreading to complete ebook production, is welcome. Were here to help!</p> <p>Any skill level, from simple proofreading to complete ebook production, is welcome. Were here to help!</p>
</aside> </aside>

View file

@ -8,8 +8,8 @@ if(!isset($ebooks)){
<li> <li>
<a href="<?= $ebook->Url ?>"> <a href="<?= $ebook->Url ?>">
<picture> <picture>
<? if($ebook->CoverImage2xAvifUrl !== null){ ?><source srcset="<?= $ebook->CoverImage2xAvifUrl ?> 2x, <?= $ebook->CoverImageAvifUrl ?> 1x" type="image/avif"><? } ?> <? 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"> <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)) ?>"/> <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> </picture>
</a> </a>

View file

@ -21,30 +21,30 @@ if(!isset($manual)){
?><!doctype html> ?><!doctype html>
<html lang="en-US"> <html lang="en-US">
<head> <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> <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"><? } ?> <? if($description != ''){ ?><meta content="<?= Formatter::ToPlainText($description) ?>" name="description"><? } ?>
<meta content="width=device-width, initial-scale=1" name="viewport"> <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"> <link href="/css/core.css?version=<?= crc32(file_get_contents(WEB_ROOT . '/css/core.css')) ?>" media="screen" rel="stylesheet" type="text/css"/>
<? if($manual){ ?> <? 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-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-152x152.png" rel="apple-touch-icon" sizes="152x152"/>
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"> <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-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"> <link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
<link href="/manifest.json" rel="manifest"> <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 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"> <link color="#394451" href="/safari-pinned-tab.svg" rel="mask-icon"/>
<meta content="#394451" name="theme-color"> <meta content="#394451" name="theme-color"/>
<meta content="<?= Formatter::ToPlainText($title) ?>" property="og:title"> <meta content="<?= Formatter::ToPlainText($title) ?>" property="og:title"/>
<meta content="<?= $ogType ?? 'website' ?>" property="og:type"> <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 . 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="<?= SITE_URL . ($coverUrl ?? '/images/logo.svg') ?>" property="og:image"/>
<meta content="summary_large_image" name="twitter:card"> <meta content="summary_large_image" name="twitter:card"/>
<meta content="@standardebooks" name="twitter:site"> <meta content="@standardebooks" name="twitter:site"/>
<meta content="@standardebooks" name="twitter:creator"> <meta content="@standardebooks" name="twitter:creator"/>
<? if(isset($jsonld)){ ?> <? if(isset($jsonld)){ ?>
<script type="application/ld+json"> <script type="application/ld+json">
<?= $jsonld ?> <?= $jsonld ?>

View file

@ -1,5 +1,3 @@
<form action="/ebooks" method="get"> <form action="/ebooks" method="get">
<label class="search"> <label class="search">Search ebooks: <input type="search" name="query" placeholder="Search all ebooks..." value="<?= Formatter::ToPlainText($query ?? '') ?>"/></label>
Search ebooks: <input type="search" name="query" placeholder="Search all ebooks..." value="<?= Formatter::ToPlainText($query ?? '') ?>" />
</label>
</form> </form>

View file

@ -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 youd expect from a printed book.</p> <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 youd expect from a printed book.</p>
</li> </li>
<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 ereaders personality shine&mdash;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 ereaders personality shinebut consistency, so all of our ebooks look familiar.</p>
</li> </li>
<li> <li>
<p><b>Programming best practices:</b> The stuff you cant see, but that makes for a professional product: semantic markup, minimal and elegant code, smooth build processes, and source control.</p> <p><b>Programming best practices:</b> The stuff you cant see, but that makes for a professional product: semantic markup, minimal and elegant code, smooth build processes, and source control.</p>

View file

@ -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> <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> <ul>
<li><h3>Mis-curled quotation marks</h3> <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 &ldquo;n&rdquo;:</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"> <figure class="text">
<p class="wrong">I was putting on some Bach when he interrupted with&mdash;&rdquo;Put on some rock n roll!&rdquo;</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&mdash;&ldquo;Put on some rock n roll!&rdquo;</p> <p class="corrected">I was putting on some Bach when he interrupted with—“Put on some rock n roll!</p>
</figure> </figure>
</li> </li>
<li><h3>Incorrect or archaic use of quotation marks</h3> <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> <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"> <figure class="text">
<p class="wrong">He read &ldquo;Candide&rdquo; while having a pint at the &ldquo;Kings Head.&rdquo;</p> <p class="wrong">He read “Candide” while having a pint at the “Kings Head.</p>
<p class="corrected">He read <i>Candide</i> while having a pint at the Kings Head.</p> <p class="corrected">He read <i>Candide</i> while having a pint at the Kings Head.</p>
</figure> </figure>
</li> </li>
@ -44,13 +44,13 @@ require_once('Core.php');
</li> </li>
<li> <li>
<h3>Using &amp;c. instead of etc.</h3> <h3>Using &amp;c. instead of etc.</h3>
<p>&ldquo;etc.&rdquo; is an abbreviation of the Latin <i>et cetera</i>; In Latin, <i>et</i> means &ldquo;and&rdquo;, so older texts often abbreviated <i>et cetera</i> as &ldquo;&amp;c.&rdquo;</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 &amp;c.</p>
<p>Our <a href="/manual/latest/8-typography">typography manual</a> requires a change from &amp;c. to etc., so make sure to mark these corrections.</p> <p>Our <a href="/manual/latest/8-typography">typography manual</a> requires a change from &amp;c. to etc., so make sure to mark these corrections.</p>
</li> </li>
<li> <li>
<h3>Use of &ldquo;ibid.&rdquo; in footnotes or endnotes</h3> <h3>Use of “ibid. in footnotes or endnotes</h3>
<p>In work with footnotes or endnotes, &ldquo;ibid.&rdquo; means that the source for this note is the same as the previous note on the page.</p> <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&mdash;theres no concept of a &ldquo;page&rdquo; anymore. If you encounter ibid., replace it with the complete reference from the previous note so readers using popup footnotes wont get confused.</p> <p>Since Standard Ebooks consolidate all footnotes and endnotes into popup footnotes, ibid. becomes meaningless—theres 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 wont get confused.</p>
</li> </li>
<li> <li>
<h3>Text in all caps</h3> <h3>Text in all caps</h3>

View file

@ -79,9 +79,9 @@ catch(\Exception $ex){
<? } ?> <? } ?>
</hgroup> </hgroup>
<picture> <picture>
<? if($ebook->HeroImage2xAvifUrl !== null){ ?><source srcset="<?= $ebook->HeroImage2xAvifUrl ?> 2x, <?= $ebook->HeroImageAvifUrl ?> 1x" type="image/avif"><? } ?> <? 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"> <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)) ?>"> <img src="<?= $ebook->HeroImage2xUrl ?>" alt="The cover for the Standard Ebooks edition of <?= Formatter::ToPlainText(strip_tags($ebook->TitleWithCreditsHtml)) ?>"/>
</picture> </picture>
</header> </header>

View file

@ -135,7 +135,7 @@ catch(\Exception $ex){
<? } ?> <? } ?>
<? if(sizeof($ebooks) > 0 && $query === null && $tag === null && $collection === null){ ?> <? if(sizeof($ebooks) > 0 && $query === null && $tag === null && $collection === null){ ?>
<aside class="sort"> <aside class="sort">
<form action="" method="get"> <form action="/ebooks" method="get">
<label>Sort by <label>Sort by
<select name="sort"> <select name="sort">
<option value="<?= SORT_NEWEST ?>"<? if($sort == SORT_NEWEST){ ?> selected<? } ?>>newest</option> <option value="<?= SORT_NEWEST ?>"<? if($sort == SORT_NEWEST){ ?> selected<? } ?>>newest</option>

View file

@ -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.']) ?> ?><?= 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"> <main class="front-page">
<h1>Free and liberated ebooks,<br>carefully produced for the true book lover.</h1> <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>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>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 arent just a beautiful addition to your digital library—theyre a high quality standard to build your own ebooks on.</p><a class="button next" href="/ebooks">Browse our library of free ebooks</a> <p>Standard Ebooks arent just a beautiful addition to your digital library—theyre 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 &amp; consistent typography</h3> <h3>Modern &amp; consistent typography</h3>
<div> <div>
<div> <div>
<p>Other free ebooks dont 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&rsquo;s web pages instead of actual books.</p> <p>Other free ebooks dont 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-90s 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> <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> </div>
<figure class="stacked"> <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> </figure>
</div> </div>
</section> </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> <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> </div>
<figure> <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> </figure>
</div> </div>
</section> </section>
@ -38,7 +40,7 @@ require_once('Core.php');
<div> <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> <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> <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> </figure>
</div> </div>
</section> </section>
@ -61,10 +63,11 @@ require_once('Core.php');
<p>Ereader-compatible tables of contents,</p> <p>Ereader-compatible tables of contents,</p>
</li> </li>
</ul> </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&rsquo;s a classic doesn&rsquo;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 its a classic doesnt mean it has to use old technology.</p>
</div> </div>
<figure class="stacked"> <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> </figure>
</div> </div>
</section> </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> <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> </div>
<figure> <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> </figure>
</div> </div>
</section> </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> <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> </div>
<figure> <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> </figure>
</div> </div>
</section> </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> <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> </div>
<figure class="oss"> <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> </figure>
</div> </div>
</section> </section>