mirror of
https://github.com/standardebooks/web.git
synced 2025-07-07 07:10:29 -04:00
Tweak semantics and contribute index page
This commit is contained in:
parent
b8c4de4b20
commit
b8def40795
18 changed files with 53 additions and 31 deletions
|
@ -3,7 +3,7 @@
|
|||
<section class="narrow has-hero">
|
||||
<hgroup>
|
||||
<h1>You Don’t Have Permission to View This Page</h1>
|
||||
<h2>This is a 403 error.</h2>
|
||||
<p>This is a 403 error.</p>
|
||||
</hgroup>
|
||||
<picture data-caption="The Guard Room. David Teniers II, 1642">
|
||||
<source srcset="/images/guard-room@2x.avif 2x, /images/guard-room.avif 1x" type="image/avif"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<section class="narrow has-hero">
|
||||
<hgroup>
|
||||
<h1>We Couldn’t Find That Document</h1>
|
||||
<h2>This is a 404 error.</h2>
|
||||
<p>This is a 404 error.</p>
|
||||
</hgroup>
|
||||
<picture data-caption="Blind Orion Searching for the Rising Sun. Nicolas Poussin, 1658">
|
||||
<source srcset="/images/blind-orion@2x.avif 2x, /images/blind-orion.avif 1x" type="image/avif"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<section class="narrow has-hero">
|
||||
<hgroup>
|
||||
<h1>This Ebook Is No Longer Available</h1>
|
||||
<h2>This is a 451 error.</h2>
|
||||
<p>This is a 451 error.</p>
|
||||
</hgroup>
|
||||
<picture data-caption="The Preaching of St. Paul at Ephesus. Eustache Le Sueur, 1649">
|
||||
<source srcset="/images/the-preaching-of-st-paul-at-ephesus@2x.avif 2x, /images/the-preaching-of-st-paul-at-ephesus.avif 1x" type="image/avif"/>
|
||||
|
|
|
@ -104,7 +104,10 @@ ksort($ebooksWithDescriptions);
|
|||
<main>
|
||||
<section class="narrow blog has-hero">
|
||||
<nav class="breadcrumbs"><a href="/blog">Blog</a> →</nav>
|
||||
<h1>Public Domain Day 2025 in Literature</h1>
|
||||
<hgroup>
|
||||
<h1>Public Domain Day in Literature</h1>
|
||||
<p><?= number_format(sizeof($identifiers)) ?> of the best new books entering the public domain in 2025</p>
|
||||
</hgroup>
|
||||
<?= Template::DonationCounter() ?>
|
||||
<?= Template::DonationProgress() ?>
|
||||
<picture data-caption="The Artist’s Father, Reading a Newspaper. Albert Engström, 1892">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<article>
|
||||
<hgroup>
|
||||
<h1>Collections Policy</h1>
|
||||
<h2 class="miniheader">Or, ebooks we do and don’t accept.</h2>
|
||||
<p class="miniheader">Or, ebooks we do and don’t accept.</p>
|
||||
</hgroup>
|
||||
<p>Standard Ebooks only works on books that have entered the U.S. public domain due to copyright expiration. Generally this means a book must have been published before <?= PD_STRING ?>, though there are exceptions for works from later periods that didn’t follow copyright formalities. For more information on determining the copyright status of a work in the U.S., see <a href="https://www.gutenberg.org/help/copyright.html">Project Gutenberg’s Copyright How-To</a>.</p>
|
||||
<p>Note that a book that is in the U.S. public domain may not be in the public domain of other countries, and vice versa.</p>
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
<?= Template::Header(['title' => 'Get Involved', 'highlight' => 'contribute', 'description' => 'Details on how to contribute your time and talent to the volunteer-driven Standard Ebooks project.']) ?>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Get Involved</h1>
|
||||
<article class="has-hero">
|
||||
<hgroup>
|
||||
<h1>Get Involved</h1>
|
||||
<p>and help create ebooks that are a pleasure to read</p>
|
||||
</hgroup>
|
||||
<picture data-caption="The Printing House of Bernardo Cennini. Tito Lessi, 1907">
|
||||
<source srcset="/images/the-printing-house@2x.avif 2x, /images/the-printing-house.avif 1x" type="image/avif"/>
|
||||
<source srcset="/images/the-printing-house@2x.jpg 2x, /images/the-printing-house.jpg 1x" type="image/jpg"/>
|
||||
<img src="/images/the-printing-house@2x.jpg" alt="An oil painting of four men in a printer’s workshop creating prints."/>
|
||||
</picture>
|
||||
<?= Template::DonationCounter() ?>
|
||||
<?= Template::DonationProgress() ?>
|
||||
<section id="intro">
|
||||
<h2>Help create ebooks that are a pleasure to read</h2>
|
||||
<p>Standard Ebooks is a volunteer-driven project, and there’s room for people of all skill levels to contribute.</p>
|
||||
<p>At the most basic level, anyone can <a href="https://groups.google.com/g/standardebooks">contribute feedback via our mailing list</a>. Day-to-day readers can <a href="/contribute/report-errors">tell us about errors they spot in our ebooks</a>. People with an eye for typography and a talent for editing can proofread whole ebooks. Technically inclined readers can produce ebooks themselves, or <a href="https://github.com/standardebooks">contribute via GitHub</a>. You can also <a href="/donate">make a financial contribution</a> to help fund continued ebook development.</p>
|
||||
</section>
|
||||
<p>Standard Ebooks is a volunteer-driven project, and there’s room for people of all skill levels to contribute.</p>
|
||||
<p>At the most basic level, anyone can <a href="https://groups.google.com/g/standardebooks">contribute feedback via our mailing list</a>. Day-to-day readers can <a href="/contribute/report-errors">tell us about errors they spot in our ebooks</a>. People with an eye for typography and a talent for editing can proofread whole ebooks. Technically inclined readers can produce ebooks themselves, or <a href="https://github.com/standardebooks">contribute via GitHub</a>. You can also <a href="/donate">make a financial contribution</a> to help fund continued ebook development.</p>
|
||||
<section id="everyone">
|
||||
<h2>Everyone</h2>
|
||||
<ul>
|
||||
|
|
|
@ -261,6 +261,7 @@ main > section.narrow.has-hero > picture{
|
|||
max-width: none;
|
||||
}
|
||||
|
||||
main .has-hero > picture,
|
||||
main > section.narrow.has-hero > picture{
|
||||
position: relative;
|
||||
width: auto;
|
||||
|
@ -322,11 +323,11 @@ ol ol, ol ul, ul ul, ul ol{
|
|||
margin-left: 1.2rem;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6{
|
||||
h1,h2,h3,h4,h5,h6,hgroup > p{
|
||||
color: var(--header);
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6,.ebook h1 + p{
|
||||
h1,h2,h3,h4,h5,h6,.ebook h1 + p,hgroup > p{
|
||||
-webkit-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
@ -1022,7 +1023,7 @@ article.ebook > header > hgroup > *{
|
|||
color: #fff;
|
||||
}
|
||||
|
||||
article.ebook > header > hgroup > h2{
|
||||
article.ebook > header > hgroup > p{
|
||||
font-size: 1.4rem;
|
||||
font-family: "League Spartan", Arial, sans-serif;
|
||||
line-height: 1;
|
||||
|
@ -1256,7 +1257,7 @@ article.ebook h1{
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
article.ebook hgroup h2{
|
||||
article.ebook hgroup p{
|
||||
overflow-wrap: anywhere;
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -1283,6 +1284,7 @@ article.ebook aside#reading-ease{
|
|||
}
|
||||
|
||||
h2,
|
||||
hgroup > p,
|
||||
.masthead h3{
|
||||
font-size: 1.4rem;
|
||||
font-family: "League Spartan", Arial, sans-serif;
|
||||
|
@ -1390,6 +1392,10 @@ footer p.newsletter::before{
|
|||
font-size: .75rem;
|
||||
}
|
||||
|
||||
footer p.newsletter:hover::before{
|
||||
color: var(--link-highlight);
|
||||
}
|
||||
|
||||
footer ul.social-media{
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
|
@ -2202,6 +2208,10 @@ main nav.pagination ol li.highlighted:nth-last-child(2)::after{
|
|||
max-width: none;
|
||||
}
|
||||
|
||||
.has-hero nav + hgroup{
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.has-hero picture{
|
||||
max-width: none;
|
||||
text-align: center;
|
||||
|
@ -2226,7 +2236,7 @@ h1 + ul.message,
|
|||
|
||||
.has-hero hgroup h1,
|
||||
.has-hero > h1,
|
||||
.has-hero hgroup h2,
|
||||
.has-hero hgroup p,
|
||||
.has-hero > h2{
|
||||
border: none;
|
||||
padding: 0;
|
||||
|
@ -2244,7 +2254,7 @@ h1 + ul.message,
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
.has-hero hgroup h2,
|
||||
.has-hero hgroup p,
|
||||
.has-hero > h2{
|
||||
font-family: "Crimson Pro", serif;
|
||||
font-style: italic;
|
||||
|
@ -3933,7 +3943,7 @@ a.patron-selection:any-link:hover{
|
|||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
article.ebook > header > hgroup > h2{
|
||||
article.ebook > header > hgroup > p{
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ $newsletterSubscriberCount = floor(Db::QueryInt('
|
|||
<section class="donate narrow has-hero">
|
||||
<hgroup>
|
||||
<h1>Donate to Standard Ebooks</h1>
|
||||
<h2>and help bring the beauty of literature to the digital age</h2>
|
||||
<p>and help bring the beauty of literature to the digital age</p>
|
||||
</hgroup>
|
||||
<?= Template::DonationCounter(['autoHide' => false, 'showDonateButton' => false]) ?>
|
||||
<?= Template::DonationProgress(['autoHide' => false, 'showDonateButton' => false]) ?>
|
||||
|
|
|
@ -46,7 +46,7 @@ catch(Exceptions\EbookNotFoundException){
|
|||
But, each author is an individual, so we have to differentiate them in RDFa with `resource`.
|
||||
*/ ?>
|
||||
<? if($author->Name != 'Anonymous'){ ?>
|
||||
<h2>
|
||||
<p>
|
||||
<a property="schema:author" typeof="schema:Person" href="<?= Formatter::EscapeHtml($ebook->AuthorsUrl) ?>" resource="<?= '/ebooks/' . $author->UrlName ?>">
|
||||
<span property="schema:name"><?= Formatter::EscapeHtml($author->Name) ?></span>
|
||||
<meta property="schema:url" content="<?= SITE_URL . Formatter::EscapeHtml($ebook->AuthorsUrl) ?>"/>
|
||||
|
@ -57,7 +57,7 @@ catch(Exceptions\EbookNotFoundException){
|
|||
<meta property="schema:sameAs" content="<?= Formatter::EscapeHtml($author->WikipediaUrl) ?>"/>
|
||||
<? } ?>
|
||||
</a>
|
||||
</h2>
|
||||
</p>
|
||||
<? } ?>
|
||||
<? } ?>
|
||||
</hgroup>
|
||||
|
|
|
@ -97,7 +97,7 @@ catch(Exceptions\EbookNotFoundException){
|
|||
But, each author is an individual, so we have to differentiate them in RDFa with `resource`.
|
||||
*/ ?>
|
||||
<? if($author->Name != 'Anonymous'){ ?>
|
||||
<h2>
|
||||
<p>
|
||||
<a property="schema:author" typeof="schema:Person" href="<?= Formatter::EscapeHtml($ebook->AuthorsUrl) ?>" resource="<?= '/ebooks/' . $author->UrlName ?>">
|
||||
<span property="schema:name"><?= Formatter::EscapeHtml($author->Name) ?></span>
|
||||
<meta property="schema:url" content="<?= SITE_URL . Formatter::EscapeHtml($ebook->AuthorsUrl) ?>"/>
|
||||
|
@ -108,7 +108,7 @@ catch(Exceptions\EbookNotFoundException){
|
|||
<meta property="schema:sameAs" content="<?= Formatter::EscapeHtml($author->WikipediaUrl) ?>"/>
|
||||
<? } ?>
|
||||
</a>
|
||||
</h2>
|
||||
</p>
|
||||
<? } ?>
|
||||
<? } ?>
|
||||
</hgroup>
|
||||
|
|
|
@ -49,9 +49,9 @@ catch(Exceptions\EbookNotFoundException){
|
|||
<h1><?= Formatter::EscapeHtml($ebook->Title) ?></h1>
|
||||
<? foreach($ebook->Authors as $author){ ?>
|
||||
<? if($author->Name != 'Anonymous'){ ?>
|
||||
<h2>
|
||||
<p>
|
||||
<a href="<?= Formatter::EscapeHtml($ebook->AuthorsUrl) ?>"><?= Formatter::EscapeHtml($author->Name) ?></a>
|
||||
</h2>
|
||||
</p>
|
||||
<? } ?>
|
||||
<? } ?>
|
||||
</hgroup>
|
||||
|
|
BIN
www/images/the-printing-house.avif
Normal file
BIN
www/images/the-printing-house.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
BIN
www/images/the-printing-house.jpg
Normal file
BIN
www/images/the-printing-house.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
BIN
www/images/the-printing-house@2x.avif
Normal file
BIN
www/images/the-printing-house@2x.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 188 KiB |
BIN
www/images/the-printing-house@2x.jpg
Normal file
BIN
www/images/the-printing-house@2x.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 206 KiB |
|
@ -18,7 +18,7 @@ if($exception){
|
|||
<section class="narrow has-hero">
|
||||
<hgroup>
|
||||
<h1>Subscribe to the Newsletter</h1>
|
||||
<h2>to receive missives from the vanguard of digital literature</h2>
|
||||
<p>to receive missives from the vanguard of digital literature</p>
|
||||
</hgroup>
|
||||
<picture data-caption="The Newsletter. William John Wainwright, 1888">
|
||||
<source srcset="/images/the-newsletter@2x.avif 2x, /images/the-newsletter.avif 1x" type="image/avif"/>
|
||||
|
|
|
@ -22,7 +22,7 @@ $openPolls = Db::Query('
|
|||
<section class="narrow has-hero">
|
||||
<hgroup>
|
||||
<h1>Vote in Our Polls</h1>
|
||||
<h2>and decide the direction of the Standard Ebooks catalog</h2>
|
||||
<p>and decide the direction of the Standard Ebooks catalog</p>
|
||||
</hgroup>
|
||||
<picture data-caption="County Election. John Sartain after George Caleb Bingham, 1854">
|
||||
<source srcset="/images/county-election@2x.avif 2x, /images/county-election.avif 1x" type="image/avif"/>
|
||||
|
|
|
@ -45,10 +45,14 @@ catch(Exceptions\InvalidPermissionsException){
|
|||
<p class="message success">User saved!</p>
|
||||
<? } ?>
|
||||
|
||||
<a href="<?= $user->EditUrl ?>">Edit user</a>
|
||||
<p>
|
||||
<a href="<?= $user->EditUrl ?>">Edit user</a>
|
||||
</p>
|
||||
|
||||
<? if($user->Benefits->CanManageProjects || $user->Benefits->CanReviewProjects){ ?>
|
||||
<a href="<?= $user->Url ?>/projects">Projects</a>
|
||||
<p>
|
||||
<a href="<?= $user->Url ?>/projects">Projects</a>
|
||||
</p>
|
||||
<? } ?>
|
||||
|
||||
<h2>Basics</h2>
|
||||
|
@ -125,7 +129,7 @@ catch(Exceptions\InvalidPermissionsException){
|
|||
|
||||
<h2>Newsletter subscriptions</h2>
|
||||
<? if($user->NewsletterSubscription === null || (!$user->NewsletterSubscription->IsSubscribedToNewsletter && !$user->NewsletterSubscription->IsSubscribedToSummary)){ ?>
|
||||
<p>None.</p>
|
||||
<p class="empty-notice">None.</p>
|
||||
<? }else{ ?>
|
||||
<ul>
|
||||
<? if($user->NewsletterSubscription->IsSubscribedToNewsletter){ ?>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue