We had a brainstorming meeting on how we could break up two sections of the portal page into easily packaged and deployable sections of code that could be re-used on other pages/portals.
Here's the details we discussed:
Interactive Search box
- Has look and feel: colors, magnifying glass, in-list images, typeahead and search suggestions, de-dupe results, language selector, etc. (all client-side)
- Can set a static (default) language
- Would be nice to have a way to easily leave or comment out the language selector
- pull it into our portal repo so we could use it, but master would be in its own repo
- search code *might* need lang selector, but lang selector needs the search code (our lang selector is very tied to this usage)
- So probably include the lang selector in this new search box repo
- Tied to mediawiki search API
- Currently hard-coded to wikipedia, but that would be easy to extract as a variable/config option/parameter
- create one main package: colors, magnifying glass, in-list images, typeahead and search suggestions, de-dupe results, etc and have the language selector defaulted to 'off' but easily turned on (and documented on how)
Footer (look and format)
- Offer the opportunity to standardize the logos, size, placement, WMF descriptive info, new WMF logo, licensing links
- developers can use their own descriptive text (or ours)
- Make it its own repo?
- On wiki, it's a template
- Repo containing just assets? (images, strings)?
- Technically the strings are already on translate wiki
- Translations do actually get +2'd and merged into the portal repo
- Could have lua script that merges standard footer html template with current translations
- Could we automatically update this repo based on latest translations?
- Last process would still be manual to get it into a wiki
- Would it be easier to just have our portal repo as the source of truth, rather than a separate repo that we would have to pull from?
- We could create special templates that render only the footer, if people want to use it
- Lua can be tricky, but if it's pulling from translate wiki, we wouldn't have to update the git repo
- Could pull HTML from our repo, strings from translate wiki. Would be most up-to-date
- Existing portal repo could be the single source of truth. Offer scripts to make it available on wikis