inventory-hugo-theme
inventory-hugo-theme copied to clipboard
[mini project] Design a generic template/format for team profiles to repurpose as module or in theme
Note: This is a mini project intended for Outreachy May 2022 round applicants. This task is more advanced and will take more time to complete during the contribution period.
Summary
Import the Inventory team profiles from a downstream implementation and incorporate it into reusable code, either as a Hugo module or adding it to the Inventory theme
Background
Is the new feature related to a problem? Describe the problem:
The team profiles feature is one of the most useful features added to the Inventory theme, but it only exists in the downstream the unicef/inventory repository. It is not available for other downstreams like unicef/drone-4sdgtoolkit. There may be other use cases in other downstreams.
What does the new feature look like to you?:
This is more of a refactor and requires design thinking. What does a generic profile look like? What is the essential data to collect for a profile? What kinds of metadata are used in the front-matter as part of the template? What is a generic template implemented as a Team Profile in the Inventory site? What could a profile look like for the Drone SDG Toolkit?
Describe any alternatives considered:
This can remain the Open Source Inventory and be utilized as in that downstream, as it was originally designed for. But we lose out a way to increase the value of this theme as a useful building block for other downstream users, or potential new users across UNICEF.
Details
A Hugo module is the most modular and ideal approach. The module exists independently of a theme, and can be "plugged in" to any other theme that implements its features. One could have a Inventory Hugo Theme site with the team profiles module or without it. This approach requires creating a bare minimum template, in a format that could be considered "global" for our existing downstreams.
However, bundling it into this theme also works fine. It should still be generic enough that it could work for both the Inventory and the Drone SDG Toolkit, but it will not have to be as general-purpose as a Hugo module in a new repository might be. It could be imported in downstream commits in the git submodule for the theme.
Outcome
Other downstream theme users can benefit from this great new feature to the theme