Switch social-share icons to Lucide v0.460.0; shrink avatar to 40x40
Release / Build & publish plugin zip (push) Successful in 7s
Lucide (https://lucide.dev) replaces the hand-rolled Tabler paths. Lucide is more compact and consistent, and ships under the ISC license (more permissive than Tabler's MIT and equally fine for plugin redistribution). Lucide has no brand icons for Reddit/WhatsApp/Pinterest, so we use generic substitutes that preserve the visual intent: - reddit.svg <- lucide 'share-2' (community share metaphor) - whatsapp.svg <- lucide 'message-circle' - pinterest.svg<- lucide 'pin' Avatar: shrunk to 40x40 per user testing — sizes above 41x41 were being clipped inside the round border on this host.
@@ -1,13 +1,13 @@
|
||||
# Projects Portfolio
|
||||
|
||||
Create a beautifully structured, developer-first showcase directory for your WordPress® plugins, themes, and patterns - powered by [GitHub](https://git.keithsolomon.net/Solo-Web-Works/Projects-Portfolio).
|
||||
Create a beautifully structured, developer-first showcase directory for your WordPress plugins, themes, and patterns - powered by git.
|
||||
|
||||
## What It Does
|
||||
|
||||
**Projects Portfolio** adds a custom post type (`projects`) and taxonomy (`project-type`) to your WordPress® admin, allowing you to:
|
||||
**Projects Portfolio** adds a custom post type (`projects`) and taxonomy (`project-type`) to your WordPress admin, allowing you to:
|
||||
|
||||
- Add plugins, themes, or patterns as projects.
|
||||
- Connect each project to a GitHub repository.
|
||||
- Connect each project to a git repository.
|
||||
- Automatically fetch and display data like:
|
||||
- Latest version
|
||||
- Stars, forks, issues
|
||||
@@ -27,14 +27,14 @@ Create a beautifully structured, developer-first showcase directory for your Wor
|
||||
### From GitHub
|
||||
|
||||
1. **Download the latest ZIP** from the [GitHub Releases page](https://git.keithsolomon.net/Solo-Web-Works/Projects-Portfolio/releases).
|
||||
2. Go to your WordPress® Dashboard → Plugins → Add New → Upload Plugin.
|
||||
2. Go to your WordPress Dashboard → Plugins → Add New → Upload Plugin.
|
||||
3. Upload the ZIP and activate the plugin.
|
||||
|
||||
### From [keithsolomon.net](https://keithsolomon.net)
|
||||
|
||||
1. Visit the official plugin page: [Projects Portfolio](https://keithsolomon.net/projects/projects-portfolio).
|
||||
2. Download the ZIP.
|
||||
3. Install it via the WordPress® dashboard like above.
|
||||
3. Install it via the WordPress dashboard like above.
|
||||
|
||||
---
|
||||
|
||||
@@ -42,7 +42,7 @@ Create a beautifully structured, developer-first showcase directory for your Wor
|
||||
|
||||
### Add a New Project
|
||||
|
||||
1. In the WordPress® admin, go to **Projects → Add New**.
|
||||
1. In the WordPress admin, go to **Projects → Add New**.
|
||||
2. Add your project title, description, and featured image.
|
||||
3. Select a **Project Type**: Plugin, Theme, or Pattern.
|
||||
4. In the sidebar, choose **Provider** (GitHub or Gitea) and paste the **Repository URL** (e.g., `https://github.com/username/repo` or `https://codeberg.org/username/repo`).
|
||||
@@ -79,7 +79,7 @@ Enable/disable the following GitHub data in your project views:
|
||||
- Language
|
||||
- Downloads
|
||||
- Stars / Forks / Issues
|
||||
- GitHub Owner
|
||||
- Repo Owner
|
||||
|
||||
### Archive Settings
|
||||
|
||||
@@ -94,8 +94,8 @@ Toggle components for the project archive view:
|
||||
|
||||
To connect a project to GitHub:
|
||||
|
||||
1. Paste the full repo URL into the **GitHub URL** field when editing a Project.
|
||||
2. Make sure your GitHub repo has a release with a `.zip` asset or a valid `zipball_url`.
|
||||
1. Paste the full repo URL into the **Repository URL** field when editing a Project.
|
||||
2. Make sure your repo has a release with a `.zip` asset or a valid `zipball_url`.
|
||||
|
||||
### Optional: Add a GitHub API Token
|
||||
|
||||
@@ -194,14 +194,14 @@ Each project includes social sharing links for:
|
||||
|
||||
## Support & Contributions
|
||||
|
||||
Have a feature request or bug report? Open an issue on [GitHub](https://github.com/robertdevore/projects-portfolio/issues) or contribute via pull request.
|
||||
Have a feature request or bug report? Open an issue on [the repo](https://git.keithsolomon.net/Solo-Web-Works/Projects-Portfolio/issues) or contribute via pull request.
|
||||
|
||||
## License
|
||||
|
||||
Projects for WordPress® is licensed under the [GNU GPL v2+](http://www.gnu.org/licenses/gpl-2.0.txt).
|
||||
Projects for WordPress is licensed under the [GNU GPL v2+](http://www.gnu.org/licenses/gpl-2.0.txt).
|
||||
|
||||
## Author
|
||||
|
||||
Built and maintained by [Robert DeVore](https://www.robertdevore.com).
|
||||
Built and maintained by [Keith Solomon](https://keithsolomon.net).
|
||||
|
||||
Follow on [Twitter](https://twitter.com/deviorobert) or sponsor development on [GitHub Sponsors](https://github.com/sponsors/robertdevore).
|
||||
Follow on [Twitter](https://twitter.com/KeithInWPG).
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M3 7l9 6l9 -6"/><rect x="3" y="5" width="18" height="14" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 233 B |
@@ -1 +1,15 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M7 10v-3a1 1 0 0 1 1 -1h3v-4h4v4h3a1 1 0 0 1 1 1v3h-4v10h-4v-10h-3"/></svg>
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-facebook"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 369 B |
@@ -1 +1,17 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><rect x="4" y="4" width="16" height="16" rx="2"/><line x1="8" y1="11" x2="8" y2="16"/><line x1="8" y1="8" x2="8" y2="8.01"/><line x1="12" y1="16" x2="12" y2="11"/><path d="M16 16v-3a2 2 0 0 0 -4 0"/></svg>
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-linkedin"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" />
|
||||
<rect width="4" height="12" x="2" y="9" />
|
||||
<circle cx="4" cy="4" r="2" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 460 B |
@@ -0,0 +1,16 @@
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-mail"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="20" height="16" x="2" y="4" rx="2" />
|
||||
<path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 394 B |
@@ -1 +1,16 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M8 17c1 -2 1.5 -4 .5 -6s-.5 -4 .5 -6"/><path d="M15 11c.667 -1 1.667 -2.333 3 -4"/></svg>
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-pin"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M12 17v5" />
|
||||
<path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 525 B |
@@ -1 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 12m-6 0a6 6 0 1 0 12 0a6 6 0 1 0 -12 0"/><path d="M12 12h0"/><path d="M8.5 13c.667 .667 1.333 1 2 1s1.333 -.333 2 -1"/></svg>
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-share-2"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="18" cy="5" r="3" />
|
||||
<circle cx="6" cy="12" r="3" />
|
||||
<circle cx="18" cy="19" r="3" />
|
||||
<line x1="8.59" x2="15.42" y1="13.51" y2="17.49" />
|
||||
<line x1="15.41" x2="8.59" y1="6.51" y2="10.49" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 322 B After Width: | Height: | Size: 497 B |
@@ -0,0 +1,15 @@
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-twitter"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 438 B |
@@ -1 +1,15 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M3 21l1.65 -4.75a9 9 0 1 1 3.85 3.85z"/><path d="M9 10c1 2 3 3 5 4"/><path d="M9 13c1 1 2 2 4 3"/></svg>
|
||||
<!-- @license lucide-static v0.460.0 - ISC -->
|
||||
<svg
|
||||
class="lucide lucide-message-circle"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 340 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#0073aa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M7 4l10 16m0 -16l-10 16"/></svg>
|
||||
|
Before Width: | Height: | Size: 194 B |
@@ -390,7 +390,7 @@ function projects_portfolio_social_sharing_buttons( $project_id ) {
|
||||
|
||||
// Email.
|
||||
$html .= '<a href="mailto:?subject=' . $title . '&body=' . $url . '" target="_blank" rel="noopener noreferrer">';
|
||||
$svg_icon( 'Email', 'email.svg' );
|
||||
$svg_icon( 'Email', 'mail.svg' );
|
||||
$html .= '</a>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
@@ -142,7 +142,7 @@ if ( $last_updated ) {
|
||||
|
||||
<?php if ( $settings['templates']['github_owner'] && $owner_avatar && $owner_name ) : ?>
|
||||
<div class="project-owner">
|
||||
<span class="project-owner-avatar" style="display:block !important;width:50px !important;height:50px !important;min-width:50px !important;min-height:50px !important;max-width:50px !important;max-height:50px !important;border-radius:50% !important;background-image:url('<?php echo esc_url( $owner_avatar ); ?>') !important;background-size:50px 50px !important;background-position:center center !important;background-repeat:no-repeat !important;flex-shrink:0 !important;flex-grow:0 !important;" aria-label="<?php echo esc_attr( $owner_name ); ?>" role="img"></span>
|
||||
<span class="project-owner-avatar" style="display:block !important;width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;max-width:40px !important;max-height:40px !important;border-radius:50% !important;background-image:url('<?php echo esc_url( $owner_avatar ); ?>') !important;background-size:40px 40px !important;background-position:center center !important;background-repeat:no-repeat !important;flex-shrink:0 !important;flex-grow:0 !important;" aria-label="<?php echo esc_attr( $owner_name ); ?>" role="img"></span>
|
||||
<span class="project-owner-name">
|
||||
<a href="<?php echo esc_url( $owner_url ); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html( $owner_name ); ?></a>
|
||||
</span>
|
||||
|
||||