natetharp / covid-heroes Goto Github PK
View Code? Open in Web Editor NEWA memorial to those that have lost their lives fighting the COVID-19 pandemic.
Home Page: https://covid-heroes.com
License: MIT License
A memorial to those that have lost their lives fighting the COVID-19 pandemic.
Home Page: https://covid-heroes.com
License: MIT License
Add Schema.org details to home page for COVID Heroes as a website/organization.
Schema.org info should be tested in Structured Data Testing Tool before issue is closed.
https://search.google.com/structured-data/testing-tool/u/0/
Reference:
The Countries themselves are displayed alphabetically, but the profiles within each country are displayed alphabetically by First Name, but they should be displayed alphabetically Last Name.
Currently (in Brazil):
Anita Viana is displayed before Betânia Ramos.
Desired (in Brazil):
Betânia Ramos should be displayed before Anita Viana.
Replace blue circle fallback image with generic, non-binary profile image.
On the home page, the profiles should be listed chronologically using the death_date
that is in the frontmatter, with the most recent at the top.
Those without a defined death_date
should be listed at the bottom under an "Unknown" heading.
Profile should be organized by year, month, and day. Within each day they should be listed alphabetically by last_name
.
The new symbol being added to the site should also be added to the Favorite Icons as well as the Twitter Card and Facebook OG images.
As the number of profiles has grown, the build time of the site has gotten exponentially larger.
Decreasing the build time will speed development and GitHub pages deployment time. Both good things.
Reference:
https://forestry.io/blog/how-i-reduced-my-jekyll-build-time-by-61/
Add a count for each country in the country heading. The count will be the total number of profiles listed under each respective country.
Current: <h2>Argentina</h2>
Desired: <h2>Argentina (3)</h2>
A new symbol has been designed by volunteers from Design to Combat COVID-19. The new symbol needs to be added to the header and the footer of the site.
The individual profile pages should have a Previous and Next link, each displaying the title of the profile that it links to.
Change sidebar to a list of listed countries that anchor link to the respective countries.
<ul class="usa-sidenav">
<li class="usa-sidenav__item"><a href="#afghanistan">Afghanistan</a></li>
<li class="usa-sidenav__item"><a href="#algeria">Algeria</a></li>
<li class="usa-sidenav__item"><a href="#argentina">Argentina</a></li>
...
</ul>
This will require adding an <a>
tag to each country heading as well.
<a name="bahamas"></a><h2>Bahamas</h2>
Profiles are displayed alphabetically by First Name, but they should be displayed alphabetically Last Name.
Currently:
Abbas Tousan is displayed before Abdul Gellaledin.
Desired:
Abdul Gellaledin should be displayed before Abbas Tousan.
Create individual pages for each country that list all of the profiles for that country.
The sidebar would be a list of countries that link to the other individual country pages.
Reference:
https://kylewbanks.com/blog/creating-category-pages-in-jekyll-without-plugins
Would be nice to have a better organized repo, by collecting all Pages into one directory.
ex. jekyll/jekyll#920
The profile pages should not display the generic site info in the Twitter Card and Facebook OG tags. Instead, the image and information for that individual should populate those meta tags.
Pages where a large number of items from a collection (eg. Home, Alphabetical, By Country) should be paginated.
References:
Add Schema.org info for people onto the individual profile pages.
Schema.org info should be tested in Structured Data Testing Tool before issue is closed.
https://search.google.com/structured-data/testing-tool/u/0/
Reference:
https://schema.org/Person
Privacy-focused (cookie-free) analytics tracking needs to be added to the site.
Fathom, Plausible, and Simple Analytics are the most popular alternatives to Google Analytics. Cloudflare's Pro plan also has an analytics tool.
Insights appears to be free, which is where we should start.
https://github.com/unsourced-dev/insights-js
Use the frontmatter birth_date
and death_date
to calculate age and display on profiles.
https://stackoverflow.com/questions/31340018/get-the-difference-in-days-between-two-dates-in-jekyll
Improve text scaling on the site by implementing Typetura Civic
For the profiles where countries are listed, each country should link to it's respective country page.
This issue cannot be undertaken until the issue creating country pages is completed.
Add a search function to the site.
Location:
The search input field can be added to the header.
Specs:
<input>
tag should be nested within a <form>
tag to ensure that it receives the proper iOS keyboardThe type of search (live search or query submission) will determine whether it needs a dedicated /search/
page or not.
References:
Add snippet for Google Search Schema in the hopes that the Search box may appear in Google Search Results.
Reference: https://developers.google.com/search/docs/data-types/sitelinks-searchbox
Example:
<html>
<head>
<title>The title of the page</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://www.example.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://query.example.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
</head>
<body>
</body>
</html>
At the moment, the site needs to be built twice for content updates to take place. This first build creates the updated active.json
data file from Airtable. The second build creates the profile pages from the new active.json
file.
This should be simplified or reordered so that the site can be built in just one pass.
Create environment variables to enable separate build processes for development and for production. This will enable quicker development by only using a partial data set, as opposed to the full data set that will be used in production builds.
Currently the Heroes collection is made up of several hundred individual .md
files. Migrating these to Airtable may reduce maintenance effort required and Jekyll build time.
Ideally using the Jekyll + Airtable plugin:
Alternatively pulling down Airtable to a JSON data file and generating pages from that data file may get the job done:
Reference:
https://community.airtable.com/t/how-to-easily-use-airtable-data-in-jekyll/3925
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.