=== AGB Web Designs Student Project Portfolio ===
Contributors: bigatron5000
Tags: portfolio, students, projects, career, gutenberg
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 3.0.0
License: GPLv2 or later

Build a complete student portfolio site from structured profile and project data, or place project cards inside an existing WordPress site.

== Description ==

Student Project Portfolio helps students turn coursework, capstones, research, and personal projects into a professional portfolio without manually designing every project entry.

Features include:
* Unlimited project entries.
* A structured Projects post type.
* Built-in student-project fields with per-project visibility controls.
* Profile information for name, headline, introduction, contact details, LinkedIn, GitHub, resume, location, and profile photo.
* Visual, non-destructive profile-photo crop editor with display size and shape controls.
* Per-project field visibility toggles so individual projects can omit fields without deleting their values.
* Project Categories for organizing projects by discipline or type.
* Frontend project search that matches project titles and Technologies Used, plus category filtering.
* Complete Portfolio mode that automatically creates a portfolio page.
* Projects Only mode for use with Gutenberg, Elementor, Beaver Builder, or another page-building workflow.
* Student Project Grid Gutenberg block.
* [agbsp_student_projects] shortcode.
* [agbsp_student_portfolio] shortcode.
* Responsive project cards and a polished default portfolio style.
* Schema.org JSON-LD for the student profile and published projects.
* Semantic Person and CreativeWork markup in Complete Portfolio output.
* Public machine-readable portfolio REST endpoint, with email/phone exposure opt-in and off by default.
* Career Metadata for target roles, skills, institution, degree/program, graduation, and availability.
* Optional public career-profile REST feed for future recruiter/search integrations.

Projects -> Settings -> General includes controls for portfolio mode, project-grid columns, Course visibility, and Technologies visibility. Projects -> Settings -> Career Metadata stores structured career information and controls the optional public career feed. Projects -> Settings -> About shows plugin version, AGB Web Designs branding, developer credit, update guidance, and core plugin details.

An optional Student Project Portfolio Pro add-on adds custom fields, field reordering, and advanced visual customization while this plugin remains fully functional on its own.

== Changelog ==

= 3.0.0 =
* Renamed the plugin and permalink namespace to use the distinctive AGB Web Designs brand.
* Re-prefixed WordPress declarations, stored-data keys, AJAX actions, asset handles, and shortcodes with the unique AGBSP prefix.
* Hardened JSON-LD output encoding for safe script embedding.
* Updated the WordPress.org contributor username.


= 2.7.4 =
* Refactored Complete Portfolio project-grid rendering to satisfy WordPress Plugin Check without changing frontend behavior.

= 2.7.3 =
* Added WordPress and PHP minimum-version headers to the main plugin file.
* Updated submission documentation and current feature descriptions.
* Fixed the normalized what_you_learned REST API alias.
* Preserved frontend filtering data attributes in Complete Portfolio mode while documenting the renderer's internal escaping.

= 2.7.2 =
* Adjusted project visibility and ordering input handling for WordPress Plugin Check compatibility.

= 2.7.1 =
* Improved WordPress coding-standards compliance for sanitization, escaping, internationalization comments, and URL parsing.
* Updated the readme Tested up to value for the current WordPress release.

= 2.7.0 =
* Added hierarchical Project Categories.
* Added frontend project search by project title and Technologies Used.
* Added category filtering and filter reset controls.
* Added project categories to the public portfolio REST API.

= 2.6.2 =
* Renamed Career Data to Career Metadata throughout the Free settings interface.

= 2.6.1 =
* About now displays the active Pro add-on version when Pro is enabled.

= 2.6.0 =
* Moved Career Metadata and the optional public career-profile feed into Free.
* Added migration from legacy Pro career data.
* Added machine-discovery metadata for the public career-profile feed.

= 2.5.3 =
* Fixed Pro add-on status detection on the About tab.

= 2.5.0 =
* Make Minimal the default Complete Portfolio style.
* Show the Free style selector with Pro preset previews and an upgrade note.
* Add a portfolio-style filter so the Pro add-on can switch the underlying presentation cleanly.

= 2.4.0 =
* Added drag-and-drop project reordering to the Projects list.
* Added accessible move up/down controls as a non-drag alternative.
* Project grids, complete portfolios, and the public portfolio API now share the saved project order.

= 2.3.1 =
* Updated plugin branding to AGB Web Designs, with Adam Bennett credited as developer.

= 2.3.0 =
* Added an About settings tab with version, creator, license, Pro status, update guidance, and the public portfolio API endpoint.
* Added a direct link to the standard WordPress Updates screen.
* Removed stale documentation references to the former Free Fields tab.

= 2.2.2 =
* Simplified Free settings by removing the global Fields tab; built-in fields are always available and can be shown/hidden per project.
* The General tab now displays only the shortcode that matches the selected Portfolio Mode.

= 2.2.1 =
* Omit empty normalized project properties from the public portfolio API for cleaner output.
* Correct the internal plugin version constant to match the release version.

= 2.2.0 =
* Decoded HTML entities in public API titles, labels, profile text, and field values.
* Added stable machine-friendly project properties for course, semester, role, technologies, problem, solution, result, what_you_learned, GitHub, and demo URLs.
* Technologies are now exposed as a normalized array while the existing generic fields object remains available for backward compatibility.

= 2.1.0 =
* Added Schema.org Person + CreativeWork JSON-LD for portfolio pages.
* Added semantic structured markup to Complete Portfolio and project cards.
* Added a public machine-readable portfolio API at /wp-json/agb-web-designs-student-project-portfolio/v1/portfolio.
* Added an opt-in control for exposing email and phone in machine-readable data; contact exposure is off by default.

= 2.0.0 =
* Moved custom field creation and field reordering to the optional Pro add-on.
* Free continues to provide unlimited projects and all built-in project fields.
* Preserves legacy custom-field definitions during upgrade so Pro can migrate/use them without data loss.

= 1.4.2 =
* Added a visible Technologies Used label to project output.
* Improved vertical spacing between structured project fields.

= 1.4.1 =
* Fixed frontend rendering so Role, Problem, Solution / Approach, Result, and What You Learned display when enabled and visible for a project.

= 1.4.0 =
* Added per-project visibility toggles beside every built-in and custom project field.
* Hidden fields keep their saved values and can be turned back on later.
* Project cards now honor individual field visibility in addition to the global Fields configuration.

= 1.3.0 =
* Added a visual profile image crop editor with drag-to-reposition, zoom, rotation, display size, and shape controls.
* Cropped profile images are saved as new Media Library attachments; original uploads remain untouched.
* Removed the old focal-point sliders from the Profile settings screen.

= 1.2.1 =
* Fixed profile-photo focal-point preview so 0 and negative values update live correctly.
* Extended horizontal and vertical image positioning from -100% to 200%.
* Admin preview now uses the same large image source and display rules as the public portfolio for closer one-to-one positioning.

= 1.2.0 =
* Added horizontal and vertical focal-point controls for profile photos.
* Added an 80–240 px profile-photo size control.
* Added Circle, Rounded, and Square profile-photo shapes.
* Added a live Profile settings preview without destructively cropping the Media Library image.

= 1.1.0 =
* Added WordPress Media Library selection for profile images.
* Added uploaded resume support for PDF, DOC, and DOCX files, including public view/download links.

= 1.0.0 =
* Removed the former three-project creation cap. Projects are now unlimited.
* Removed payment and license-gating code from the free core plugin.
* Kept Complete Portfolio and Projects Only modes fully functional.
* Kept profile, custom fields, Gutenberg block, shortcodes, and generated portfolio page in the free plugin.
* Standardized the free Complete Portfolio output on one polished default style.
* Prepared the core plugin for an optional Pro styling add-on.

= 0.5.2 =
* Added distinct typography treatments to the original Complete Portfolio style presets.

= 0.5.0 =
* Added Complete Portfolio and Projects Only modes.
* Complete Portfolio mode automatically creates a Portfolio page using [agbsp_student_portfolio].
* Added Profile settings for personal/contact information and profile links.

= 0.2.0 =
* Added configurable built-in fields and custom project fields.

= 0.1.0 =
* Initial MVP.
