=== Yesterday ===
Contributors: juwelkhan
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, three-columns, two-columns, left-sidebar, right-sidebar, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, post-formats, threaded-comments, translation-ready, sticky-post, block-patterns, block-styles

Yesterday is a calm, content-first classic blog theme for writers and personal bloggers.

== Description ==

Yesterday is a calm, content-first classic blog theme for writers and personal
bloggers. A theme for people who actually write — minimal, readable,
three-column on desktop, with post formats, an automatic table of contents,
and a flexible author card. Designed to look clean on a fresh install, with no
external requests.

Everything below works out of the box with WordPress core — no plugins
required.

= Layout =

* Three-column layout on desktop: a left rail, the content, and a right
  sidebar. Columns stack cleanly on tablets and phones.
* Pages use a two-column layout (content + sidebar), adding the left rail
  only when the page is long enough to need a table of contents.
* Sticky sidebars: a widget area holding a single widget follows the reader
  as they scroll (can be turned off in the Customizer).

= Automatic table of contents =

* Any post or page with three or more H2/H3 headings automatically gets a
  table of contents in the left rail — no shortcode or setup.
* Scroll-spy highlights the section the reader is currently on.
* Works with non-Latin headings (Bengali, Arabic and others), not just
  English.
* On a post with fewer headings, the left rail shows your Left Sidebar
  widgets (by default, the Author Card) instead of an empty box.

= Made for writers =

* Standard posts plus nine post formats — aside, gallery, image, video,
  audio, quote, link, status and chat — each with its own card design, so
  long essays and quick updates sit well together.
* Estimated reading time on listings and single posts, counted correctly
  for non-Latin scripts too.
* "You might also like" related posts after each article, matched by
  category, then by tag. Shown only when there is a genuine match — never
  filled with unrelated posts.
* Author box at the end of each post, with a byline in the post header.
* Share buttons on every post: X, Facebook, LinkedIn, email and copy link.
* Sticky posts get a "Featured" badge.
* Previous / next post navigation and styled, threaded comments.
* A back-to-top button that fades in as you scroll.

= Block patterns and block styles =

Ready-made patterns in their own "Yesterday" category in the block
inserter (+ -> Patterns -> Yesterday):

* Author bio — round portrait, name, short bio and a button.
* Newsletter call to action — a centred subscribe box.
* Pull-quote — a large quotation with an accent-coloured quote mark.
* Two-column storytelling — image-and-text rows that alternate sides.

Extra styles in the block Styles panel:

* Image: Polaroid — a white print-style frame with the caption inside.
* Quote: Accent bar — a thick accent-coloured bar beside larger text.
* Separator: Asterisks — the classic "* * *" section break.
* Group: Card — a bordered, rounded panel for notes and asides.

Core blocks (galleries, quotes, tables, embeds, columns, code, buttons and
more) are styled to match the theme.

= Author Card widget =

A custom widget for introducing yourself: photo from the Media Library,
name, role, bio, social links (one URL per line — icons are added
automatically), a contact link, and a layout option (Auto, Vertical or
Horizontal). Auto picks the right layout for wherever the widget is placed.

= Pages =

* "About / Author" page template — a portrait hero built from the page's
  featured image, title, excerpt and your social links.
* Any page with a featured image gets an image hero with the title (and
  excerpt, if you write one) over it.
* Excerpts are enabled for pages, so you have a place to write that intro
  line.

= Customizer options (Appearance -> Customize) =

* Colours: three palettes (Slate, Warm Sepia, Forest) and an accent colour
  picker; hover shades are derived automatically.
* Typography: System, Elegant (Playfair Display + Lora), Modern (Inter),
  Editorial (Playfair Display + Inter), or Custom — choose body and heading
  fonts separately. All webfonts are self-hosted.
* Layout: show or hide the header search, the author box, reading time and
  related posts; turn sticky sidebars on or off; set the excerpt length.
* Site Identity: upload a logo, or show the site title as text.

= Menus and social icons =

* Primary Menu with unlimited dropdown levels. Submenus open in whichever
  direction fits on screen, and work with mouse, touch and keyboard.
* Social Links Menu: add a Custom Link per profile and the matching icon is
  chosen automatically — 20+ platforms including Instagram, X, Facebook,
  YouTube, LinkedIn, GitHub, TikTok, Mastodon, WhatsApp, Telegram and
  Medium, plus email and RSS links. Shown in the header and footer;
  hidden when unassigned.
* With no menu assigned, the header lists your published pages.

= Widgets =

* Three widget areas: Left Sidebar, Right Sidebar and Footer.
* Sensible default widgets are placed on activation (only in empty areas —
  your existing widgets are never replaced).
* Styled for both block widgets and classic widgets: categories, tag cloud,
  calendar, latest posts, recent comments, archives, search and more.
* Long widget lists collapse with a "Show more" toggle.

= Images =

* A built-in lightbox for gallery and content images, with previous / next
  buttons, captions, and keyboard support (arrow keys and Escape).
* Responsive video embeds and styled image captions.

= Fast and private =

* No external HTTP requests: icons and webfonts are bundled with the theme
  and served from your own site — no Google Fonts, no CDNs, no tracking.

= Accessible =

* Skip-to-content link and full keyboard navigation.
* Dropdowns open and close by hover, click or keyboard; Escape closes them.
* The mobile menu traps focus while open and returns it to the toggle when
  closed.

= Translation-ready =

* Every text string can be translated, and the theme is ready for
  WordPress.org language packs.

== Installation ==

1. In your admin panel, go to Appearance -> Themes and click the "Add New" button.
2. Search for "Yesterday", or click "Upload Theme" and upload the theme zip file.
3. Click "Install Now".
4. Click "Activate" to use your new theme right away.

= Getting started =

1. Appearance -> Customize -> Site Identity: add your logo (or keep the
   text title) and tagline.
2. Appearance -> Menus: create a menu and assign it to "Primary Menu". For
   social icons, create a second menu of Custom Links to your profiles and
   assign it to "Social Links Menu".
3. Appearance -> Widgets: personalise the Author Card in the Left Sidebar.
4. Appearance -> Customize: pick a colour palette, accent colour and font
   preset.
5. Write! Use H2/H3 headings in longer posts to get a table of contents,
   and try the Yesterday patterns from the block inserter.

== Frequently Asked Questions ==

= Does this theme need any plugins? =

No. Every feature works with WordPress core alone. Yesterday also works
fully with the block editor.

= Why isn't the table of contents showing? =

A post or page needs at least three H2 or H3 headings. With fewer, the left
rail shows the Left Sidebar widgets on posts, and pages switch to a
two-column layout. This is expected.

= Why isn't "You might also like" showing on a post? =

Related posts appear only when another published post shares a category or
tag with it. Give the post at least one category or tag in common with
others.

= Social icons aren't showing in the header or footer. =

Create a menu of Custom Links to your profiles under Appearance -> Menus and
assign it to the "Social Links Menu" location. It stays hidden until
something is assigned.

= How do I use the block patterns? =

In the block editor, click + -> Patterns -> Yesterday and pick one. After
inserting, replace the placeholder images with your own (select the image,
then Replace) — placeholders are served from the theme folder and would
disappear if you switched themes.

= Can I turn off reading time, related posts or the author box? =

Yes — Appearance -> Customize -> Layout has a switch for each, plus the
header search and sticky sidebars.

= Does Yesterday load Google Fonts or anything external? =

No. Icons and fonts are bundled with the theme. Choosing the "System" font
preset uses your visitors' built-in fonts and loads no webfonts at all.

= Will updating Yesterday change my site? =

Updates are designed not to change existing sites: new features use
defaults that match the previous behaviour, and new options can be switched
off.

= Where can I get help? =

Ask in the support forum at https://wordpress.org/support/theme/yesterday/
or open an issue at https://github.com/JuwelKhan/Yesterday/issues.

== Changelog ==

= 1.2.0 =
* New: four block patterns, in their own "Yesterday" category in the
  editor's pattern inserter — Author bio, Newsletter call to action,
  Pull-quote, and Two-column storytelling. They follow the Customizer
  palette and accent colour.
* New: four block styles in the editor's Styles panel — Polaroid (Image),
  Accent bar (Quote), Asterisks (Separator), and Card (Group).
* Fix: WordPress's own "Dots" separator style now keeps its natural height
  and stays centred.
* Fix: the image lightbox's button labels and the "Copied!" message on the
  copy-link button can now be translated (they were English-only).
* Improved: a fuller theme description, and readme.txt now describes every
  feature, with a getting-started guide and an expanded FAQ.
* Nothing changes on existing content — the new patterns and styles only
  apply where you choose to use them.

= 1.1.0 =
* New: estimated reading time on every post, in listings and on the single
  post itself. Counts words with a Unicode-aware split, so non-Latin scripts
  (Bengali and others) are counted correctly, not just Latin text.
* New: a "You might also like" related-posts section after each single
  post, matched by category (falling back to tags). Only appears when a
  genuine match is found — never fills the space with unrelated posts.
* New: a back-to-top button that fades in after scrolling.
* New: excerpt length is now adjustable from the Customizer (Layout
  section). Defaults to WordPress's own default (55 words), so existing
  sites keep their current excerpt length after updating unless changed.
* New Customizer toggles (Layout section, both on by default): "Show
  estimated reading time" and "Show related posts after each article" —
  every new addition in this release can be turned off individually.

= 1.0.3 =
* Replaced all three screenshot demo photos (previously from a stock-photo
  source not on WordPress.org's approved list for theme images) with CC0
  photos from the WordPress.org Photo Directory and StockSnap.io, and
  removed the disallowed source reference from readme.txt.

= 1.0.2 =
* Accessibility: the mobile menu now traps keyboard focus while open — Tab
  from the last item and Shift+Tab from the first both wrap to the menu
  toggle button, Shift+Tab from the toggle wraps to the last item, and Escape
  closes the menu and returns focus to the toggle.
* Included the unminified source (bootstrap-icons.css) alongside the bundled,
  enqueued bootstrap-icons.min.css.
* Documented the license and source URL for every photo shown in the
  screenshot preview, and replaced one demo photo whose source license
  couldn't be confirmed with a clearly-licensed replacement.

= 1.0.1 =
* Accessibility: fixed the skip-link to use the standard clip technique instead
  of an off-screen position, and fixed dropdown menus to close reliably with
  Escape, a repeat click, or the pointer leaving.
* Fixed the header search button losing its intended styling, and the search
  results page banner search alongside it.
* Fixed the single-post left rail to correctly show the current post's author
  when no headings are present for a table of contents.
* Theme URI updated to a page specific to this theme.

= 1.0.0 =
* Initial release.

== Credits ==

Yesterday WordPress Theme, (C) 2026 Jewel Khan.
Yesterday is distributed under the terms of the GNU GPL v2 or later.

* Bootstrap Icons (https://icons.getbootstrap.com/), (C) 2019-2024 The
  Bootstrap Authors, licensed under the MIT License
  (https://github.com/twbs/icons/blob/main/LICENSE.md).
* Inter font (https://github.com/rsms/inter), Copyright The Inter Project
  Authors, licensed under the SIL Open Font License, 1.1
  (https://openfontlicense.org/).
* Lora font (https://github.com/cyrealtype/Lora-Cyrillic), Copyright The Lora
  Project Authors, licensed under the SIL Open Font License, 1.1
  (https://openfontlicense.org/).
* Playfair Display font (https://github.com/clauseggers/Playfair-Display),
  Copyright The Playfair Display Project Authors, licensed under the SIL Open
  Font License, 1.1 (https://openfontlicense.org/).
* Block pattern placeholder images (assets/images/patterns/), created for
  this theme, (C) 2026 Jewel Khan, licensed under the GNU GPL v2 or later.

Screenshot images (demo content shown on the theme preview only, not
included with the theme download):

* Photo from StockSnap.io, released under CC0 (public domain).
  https://stocksnap.io/photo/man-interior-BXO1M5UBLM
* Photo from the WordPress.org Photo Directory, released under CC0 (public
  domain). https://wordpress.org/photos/photo/8216a5c8ab/
* Photo from the WordPress.org Photo Directory, released under CC0 (public
  domain). https://wordpress.org/photos/photo/1156a73ff5/

All screenshots and demo content shown on the theme preview are for
demonstration purposes only and are not included with the theme download.
