EPFolio – Explorer Portfolio Kit

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

💙 LOVED EPFOLIO?

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 · Google Privacy Policy

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 · WhatsApp 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

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.

FAQ

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.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“EPFolio – Explorer Portfolio Kit” is open source software. The following people have contributed to this plugin.

Contributors

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.