I'm a professional freelancer, and it is useful to highlight my activities for self-promotion. Most of my peers have some kind of online portfolio listing previous works and personal projects, and so I do on my website. But I'm also a lazy developer, and often I forget to keep it up-to-dated and meaningful.
So, I've just deployed a little script to do it for me. You can find the code here.
The concept is: all items are listed in a
sources.json file, with informations about the repository where the activity happens; every listed item has a JSON file describing it, in the
elements/ folder, most for formatting; once a day,
engine.php runs and sorts the files in
elements/, changing their last-modified-date with a
render.php elaborates the same files (in order of last modification) and generates the required HTML markup; finally, the orchestrating script
do.sh replaces it in the main
In this way, projects in my portfolio are always sorted by latest activity, and works left untouched for an year or more are automatically hidden (and re-enabled if new activity occours).
engine.php can be easily reused somewhere else,
render.php has to be modified with your desired markup.