=== EPFolio – Explorer Portfolio Kit ===
Contributors: shahrear17
Tags: portfolio, google analytics, dark mode, block patterns, resume
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Lightweight, super fast portfolio kit — one-click ready-made pages, dark/light design & GA4 analytics out of the box. Every feature optional.

== Description ==

Want a stunning personal portfolio — academia, experience, research, blog and contact — without heavy page builders, bloated themes, or writing a single line of code? 🤔

Most portfolio solutions ship megabytes of scripts and lock you into their builder. Your visitors wait, your Core Web Vitals suffer, and your content is trapped. 😩

**EPFolio – Explorer Portfolio Kit** takes the opposite path: a **lightweight, super fast** kit built on native WordPress blocks — and your whole portfolio is ready in **one click**. 😎

## ⚡ SUPER FAST & TRULY LIGHTWEIGHT ##

No jQuery. No frameworks. No build step. No third-party libraries. Just **two small static files** (one CSS, one JS) served from your own site — the entire plugin is only ~40 KB zipped. Your portfolio stays fast, and your PageSpeed score stays green.

## 🚀 READY-MADE PORTFOLIO IN ONE CLICK ##

Press **Create starter pages** and the kit instantly builds your **Academia, Professional, Research, Volunteering and Blog** pages — pre-designed, pre-wired into your header menu (Blog last), and ready to edit with your own story. Existing pages are never overwritten, and nothing is created on activation. You decide what stays.

## 📊 GOOGLE ANALYTICS (GA4) — AVAILABLE OUT OF THE BOX ##

Paste your **GA4 Measurement ID** (`G-XXXXXXXXXX`) and analytics is live. **No API key, no extra plugin, no configuration maze.** The snippet loads only when an ID is set, and **logged-in administrators are never tracked**, so your own visits don't pollute your stats.

### 🌟 Top Features ###

- **One-click starter pages** — a complete portfolio (Academia, Professional, Research, Volunteering, Blog) generated instantly, wired into your header menu
- **Google Analytics (GA4) ready** — paste one ID, done; no API key needed, admins excluded
- **Lightweight & super fast** — two static assets, no jQuery, no build, no external libraries
- **Dark / light theme** — floating toggle, visitor's choice remembered, applied before paint (no flash)
- **Your palette** — three accent colours drive every gradient and highlight via CSS variables
- **Animated timelines** — a scroll-driven line fills as visitors read, with a glowing "you are here" marker — and playful **ladybug markers** on selected pages 🐞
- **Styled blog grid** — featured image, date, title, excerpt and pagination, all left-aligned and clean
- **Sticky glass header** with a sliding gradient underline on the current page
- **Instant site search** — a search icon is added to your menu; a compact command-palette overlay (icon, `/`, or ⌘/Ctrl-K) indexes every page, post and heading, deep-links to the exact section, and refreshes itself on every update
- **Spam-guarded contact form** — nonce + honeypot + per-IP throttling, delivered with wp_mail()
- **WhatsApp chat button** — floating bubble with a hover label and optional pre-filled first message; on/off dropdown in settings
- **SEO built in** — meta description, canonical, Open Graph, Twitter Cards and JSON-LD (Person / BlogPosting) from your name and links
- **WebP image optimization** — uploads become lean WebP sub-sizes automatically
- **Security headers** — conservative no-config headers, optional WordPress-version hiding and XML-RPC off
- **Smooth page transitions** — cross-fade between pages (View Transitions API, progressive)
- **Back-to-top button**, scroll-reveal animations and a reading-progress bar
- **Editor preview** — patterns look the same in the block editor as on the site
- **Mobile responsive** — including an on-brand dark mobile menu
- **9 block patterns** under "EPFolio – Explorer Portfolio Kit" in the inserter — build by hand any time
- **Every feature optional** — switch anything off from one settings screen; nothing is hardcoded

## 🌗 DARK & LIGHT, YOUR COLOURS ##

Dark by default, light on tap — the visitor's choice is remembered and applied before the first paint, so there is never a flash. Pick three accent colours once and the hero gradient, buttons, timeline, links and underlines all follow.

## 📈 TIMELINES THAT TELL YOUR STORY ##

Education, roles, publications and volunteering render as vertical timelines: the rail fills as visitors scroll and the entry being read glows. On selected pages the markers become gently fluttering ladybugs — a small moment of delight that makes your portfolio memorable. 🐞

## 🔎 INSTANT SEARCH, EVERYWHERE ##

A search icon appears in your header automatically. One keystroke (`/` or ⌘/Ctrl-K) opens a compact overlay that searches every published page and post — including individual headings — and jumps straight to the matching section. The index rebuilds itself whenever content or the plugin is updated.

## ✉️ CONTACT FORM + 💬 WHATSAPP ##

A spam-guarded contact form (nonce, honeypot, per-IP throttling) emails submissions to any address you choose — and a floating WhatsApp button opens a chat with you in one tap, optionally pre-filling the visitor's first message. Both optional, both configured in one place.

## 🔍 SEO & SOCIAL SHARING BUILT IN ##

Meta description, canonical URL, Open Graph and Twitter Card tags, plus JSON-LD structured data (Person on the front page, BlogPosting on posts) — generated from the name and links you set. No separate SEO plugin required for a personal site.

## 🛡️ LEAN, HARDENED, PRIVATE ##

Conservative security headers, optional WordPress-version hiding and XML-RPC switch-off. The plugin itself makes **zero external requests** — the only exception is Google's gtag.js, and only if *you* enable Analytics.

## 👨‍💻 DOCUMENTATION AND SUPPORT ##

- Questions? Visit the plugin's [Support Forum](https://wordpress.org/support/plugin/epfolio/)

## 💙 LOVED EPFOLIO? ##

- Rate it on [WordPress.org](https://wordpress.org/support/plugin/epfolio/reviews/#new-post) — it helps more than you think 🙌

== Installation ==

= Modern Way: =
1. Go to the WordPress Dashboard "Add New Plugin" section.
2. Search for "EPFolio".
3. Install, then Activate it.
4. Open **Settings → Portfolio**, set your brand, colours and links, then click **Create starter pages**.

= Old Way: =
1. Upload `epfolio` to the `/wp-content/plugins/` directory.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Open **Settings → Portfolio**, set your brand, colours and links, then click **Create starter pages**.

== Frequently Asked Questions ==

= How do I use it — where are the settings? =
Everything lives under **wp-admin → Settings → Portfolio**. Set your brand and features there, then use the **Create starter pages** button on the same screen to generate your portfolio pages in one click.

= Is it really lightweight? =
Yes. The plugin ships two small static assets (one CSS file, one JS file), uses no jQuery, no frameworks, no build step and no external libraries. The whole plugin is about 40 KB zipped.

= How do I connect Google Analytics? Do I need an API key? =
No API key is needed for GA4 traffic analytics. In Google Analytics go to **Admin → Data streams → your web stream** and copy the **Measurement ID** (`G-XXXXXXXXXX`). Paste it in **Settings → Portfolio → Analytics** and save. The tracking snippet loads automatically and skips your own admin visits. An API key/secret is only needed for server-side Measurement Protocol or the Data API, which this plugin does not use.

= Will it work with my theme? =
It's designed for block themes (e.g. Twenty Twenty-Four/Five) and also runs without fatal errors on classic themes. It adds styles, patterns and optional pages; it does not replace your theme.

= Does the contact form need an SMTP plugin? =
It sends with WordPress's `wp_mail()`. On many hosts that works out of the box; for reliable delivery an SMTP plugin is recommended (as with any WordPress mail). If mail isn't configured, the form tells visitors honestly instead of failing silently.

= Can I turn features off? =
Every feature — theme toggle, animations, transitions, search, contact form, WhatsApp button, SEO, WebP, security headers, analytics — has its own switch in Settings → Portfolio. Use only what you want.

= Does it send my data anywhere? =
No — except Google Analytics, and only if you enter a Measurement ID. In that case the standard Google `gtag.js` script is loaded from Google on the front end. See Privacy below.

== External services ==

This plugin can connect to two external services. Both are optional and inactive until you configure them in Settings → Portfolio.

**Google Analytics (Google LLC)**
Used to collect visitor statistics for your own site. If — and only if — you enter a GA4 Measurement ID, the plugin loads Google's `gtag.js` script from `https://www.googletagmanager.com/` on front-end pages, and standard analytics data (the page URL, referrer, and the visitor's IP address, browser and device information) is sent to Google on every front-end page view under your own Google Analytics account. Logged-in administrators are excluded, and nothing is loaded or sent while no Measurement ID is set.
[Google Analytics Terms of Service](https://marketingplatform.google.com/about/analytics/terms/us/) · [Google Privacy Policy](https://policies.google.com/privacy)

**WhatsApp (WhatsApp LLC)**
Used by the optional floating "Chat on WhatsApp" button. The button is a plain link to `https://wa.me/` with the phone number (and optional pre-filled first message) you configure — the plugin loads no WhatsApp script and sends no data. The visitor's browser contacts WhatsApp only if the visitor clicks the button, which opens a WhatsApp chat with you.
[WhatsApp Terms of Service](https://www.whatsapp.com/legal/terms-of-service) · [WhatsApp Privacy Policy](https://www.whatsapp.com/legal/privacy-policy)

== Privacy ==

The plugin itself makes no external requests. If — and only if — you enter a Google Analytics Measurement ID, the Google `gtag.js` script (`https://www.googletagmanager.com/gtag/js`) is loaded on the front end and analytics data is sent to Google under your GA account; logged-in administrators are excluded. If you enable this, disclose it in your site's privacy policy per your local regulations. See "External services" above for full details.

== Screenshots ==

1. The front end with the dark/light toggle, hero and reading-progress bar.
2. The Professional page: a scroll-driven timeline with playful ladybug markers, the sticky menu's current-page underline, and the floating WhatsApp chat button.
3. The styled blog card grid.
4. Instant search overlay deep-linking to a section.
5. Settings → Portfolio, including one-click Starter pages and GA4.

== Changelog ==

= 1.0.0 =
* Initial release: one-click starter pages, dark/light theme, animated timelines with ladybug markers, styled blog grid, sticky header with current-page indicator, smooth page transitions, scroll reveal, reading-progress bar, back-to-top, spam-guarded contact form, WhatsApp chat button with hover label and pre-filled message, instant deep-linking search with a header icon, SEO + Open Graph + JSON-LD, WebP image optimization, security headers, GA4 analytics, editor-styled patterns and a mobile-responsive layout — all optional and configured from Settings → Portfolio.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
