broadinstitute / gnomad-blog Goto Github PK
View Code? Open in Web Editor NEWBlog for the gnomAD project
Home Page: https://gnomad.broadinstitute.org/news/
License: BSD 3-Clause "New" or "Revised" License
Blog for the gnomAD project
Home Page: https://gnomad.broadinstitute.org/news/
License: BSD 3-Clause "New" or "Revised" License
Currently, the public folder for images uploaded through Netlify CMS is set to ../images
.
gnomad-blog/static/admin/config.yml
Line 14 in c974cd7
This works ok for individual post pages. Images on /blog/post-slug
end up as /blog/images/...
. However, it doesn't work for the home page (images on /blog
would be /images
) or category pages (images on /category/category-name
would be /category/images
).
The public folder should be set to /images
and then /images/image.png
URLs in posts should get transformed using the prefix path. Need to make sure this works for videos too.
...disregard.
Currently, workflows for updating the blog and previews use a service account key to authenticate gcloud.
gnomad-blog/.github/workflows/update_site.yml
Lines 39 to 43 in 08cedb7
Using Workload Identity Federation would be preferable.
RSS feeds are available, but they're not shown anywhere.
Post changelog entries in Slack.
https://slack.com/help/articles/218688467-Add-RSS-feeds-to-Slack
In the gnomAD browser, clicking "gnomAD browser" in the top left corner returns to the home page. In the blog, that is replaced with "gnomAD blog" that links to the blog home page. This makes it difficult to get back to the browser.
Currently if users are on the news or changelog, they see "gnomAD news". It's kind of confusing to see this when you are on the changelog. Perhaps it's better to make this consistent with the rest of the browser. This is a result of the way the News/Changelog are deployed from gnomad-blog
codebase on Netlify and the rest of the app is hosted from gnomad-browser
codebase in our kubernetes deployment.
Proposed changes:
(1) In gnomad-blog, the header on lefthand side should say "gnomAD browser" rather than "gnomAD news".
(2) The News/Changelog should be next to each other in the header, so let's move "Changelog" to the left of News. Note that this change should be replicated in https://github.com/broadinstitute/gnomad-browser
as well and launched at the same time.
(3) when on the News/Changelog, users see the "Browser" link, but they don't see this when on the data pages, homepage, etc. The "browser" link is there because when people are on the news page, there is now way to get back to the browser deployment.
e.g.
On News Page:
On Home Page:
Instead, I propose that we remove the "browser" link and then expect users to use the lefthand "gnomAD browser" on the top left to get back to the browser homepage so they can browse data.
The blog currently has two categories, Announcements
and Posts
, it was proposed to includes a third category for blog posts regarding software challenges and other interesting software related posts.
Initially, this was brought up in response to the slowness of the browser after an aggressive web crawler for the Petal Search Engine caused slowdowns, the suggestion was to create a blog post describing what happened to cause the slow down, and how it was resolved.
Further, the location in which the categories are displayed that allows for filtering of the feed based on category is currently in a location that's not immediately obvious. If additional categories/labels are created, move the location of these category buttons.
This will likely become an issue for the changelog first.
Nginx and/or Google Cloud Storage is caching requests for objects, which means updates aren't immediately visible on the site. Need to figure out how to control the cache duration and/or clear the cache when an update is pushed.
Create a separate RSS feed for the changelog.
Currently, images are stored in a separate GCS bucket. It would be more convenient to upload them to the GitHub repository through the Netlify CMS UI.
This PR is requiring that we upgrade to gatsby 4.0 to resolve a build-time security fix. @rileyhgrant took a quick look at that upgrade and found that it was more than a trivial amount of work.
Creating this issue so that we can appropriately prioritize the work in our backlog.
Make it easier to run netlify-cms-proxy-server for local development. May need to generate config.yml in the build process.
https://www.netlifycms.org/docs/beta-features/#working-with-a-local-git-repository
A post's URL is determined by the corresponding Markdown file's name. That file is generated when a draft is created and named with year-month-title
. However, the publication date displayed in the blog is based on the date set in the post's YAML frontmatter. When a post stays in draft for a long time, the dates may get out of sync.
For example, the variant co-occurrence post was published August 8th, 2021 but it's URL is 2021-07-...
https://gnomad.broadinstitute.org/news/2021-07-variant-co-occurrence-phasing-information-in-gnomad/
Preferably, URLs would be generated based on the publication date set in the YAML frontmatter. Alternatively, dates could be removed from URLs. The dates in file names are useful for sorting files.
Any change to URL schemes would need to include redirects for old URLs.
3b2cf8c added an order
field to front matter to control relative order of posts on the same day. This field should be editable in Netlify CMS.
Currently, when a new blogpost is posted, the live RSS feed is updated which triggers a notification in the gnomad
channel about the new post. It would be advantageous to also create a notification when a preview is created (i.e. when a PR is opened that creates a new blog post).
The gnomad_methods_github
slack channel has a GitHub
bot that automatically posts to the channel when certain actions happen in the gnomad_methods
github repo. Something like this could be used to achieve the desired functionality described above.
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.