Many of our LF Projects use the 'Persons' post type to display the list of committee members on the project website. Since committee management is handled in LFX, the website must be manually synchronized to ensure accuracy. While committee member changes are usually only a few times a month, we see headshots, titles, and bios change from time to time, and those need to be synced.
This project aims to pull the committee member list and member information and display it using the same HTML used on the LF project websites or in other embeds or visuals, such as slide decks.
It’s an easy one-step process to add a new committee. Add a new page in the root directory with the extension .md with the contents as below.
---
lfx_committee_url: <url from LFX PCC Committee page - example https://projectadmin.lfx.linuxfoundation.org/project/a0941000002wBykAAE/collaboration/committees/40ab4fff-0c3b-4718-91e4-e76b2805f34c>
render: # optional, defaults to 'slidedeck'
filter: # optional, defaults to 'voting'
---Options for render are:
oldsiteis the HTML layout most LF project websites used from 2021 or earlier.newsiteis for LF project websites from 2022 and newer.slidedeckis for including a committee headshot list in a slide deck. (default option)
Options for filter are:
all- returns all rows.allbutstaff- returns all records withRole != 'LF Staff'.alternates- returns all records withVoting Status = 'Alternative Voting Rep'.staff- returns all records withRole = 'LF Staff'.voting- returns all records withVoting Status = 'Voting Rep'. (default option)voting-and-alternates- returns all records withVoting Status = 'Voting Rep' or 'Alternative Voting Rep'.
If you need to add additional content or CSS for rendering, you can do this after the front matter.
LFX PCC Committee data predominantly pulls from the profile data in the committee member’s openprofile.dev profile. Specific fields leveraged include:
- First Name
- Last Name
- Title
- Current Organization
- About Me ( instructions for editing here )
- GitHub and LinkedIn ( instructions for editing here )
Instructions for updating fields for which specific instructions aren’t listed above can be found here.
This data can be overridden for the user on the committee itself. Details can be found here.
For WordPress, you can remove the Persons block in the page editor and replace it with a ‘Raw HTML’ block with the contents as below:
<div w3-include-html="https://jmertic.github.io/committee-gallery/FILENAME.html"></div>
<script src="https://jmertic.github.io/committee-gallery/embed.js"></script>FILENAME matches the filename of the file created, substituting .md with .html.
Issues and pull requests to fix issues or add new renders or filters are always welcome.
See here