Dvc.org: blog: create tag cloud page or widget

Created on 4 Aug 2020  路  5Comments  路  Source: iterative/dvc.org

I don't think there's a way to list all tags for our blog posts. You have to check each one from the bottom of any blog post to see if they have other content. Idk if we need a full page for this, or just a small section in the blog home showing a tag cloud (larger words for tags used the most).

From https://github.com/iterative/dvc.org/pull/1505#discussion_r465259532:

tags serve two goals - navigation (and we want to keep them sane for this), and SEO (keywords in meta...

So this feature would help the navigation part.

blog-engine feature-request

Most helpful comment

I can absolutely do this once I clear my plate with the new link checker and some other small features/fixes. I spent a lot of time figuring out tags in Gatsby to make a plugin a while ago, so this is an area I'm particularly strong in.

In the meantime, we could put together some designs for what the tag cloud looks like- as well as any other changes we'd introduce like tag indexes, though those will likely be so similar to other indexes that they require minimal, if any real design work.

All 5 comments

Cc @shcheklein @rogermparent @elleobrien @dmpetrov

from https://github.com/iterative/dvc.org/pull/1505#discussion_r465259532 by @shcheklein

tags serve two goals - navigation (and we want to keep them sane for this), and SEO (keywords in meta - I haven't checked this, but I hope it still works or we need to fix this). For SEO we want to include things that people will use to search - "Python CLI autocomplete", etc. Thus we need to have a good balance. No need to optimize tags just for the sake of trying to keep them to the minimum.

from https://github.com/iterative/dvc.org/pull/1505#discussion_r465262427 by @jorgeorpinel

OK in that case all tags here seem relevant, for SEO that is. Though I should say, I think most search engines pretty much ignore suggested meta keywords and extract them from the content instead. But if the meta keywords match the content, then it may be a nice extra.

In any case I think it's a good idea to have a page listing all articles & tags on the website.
Here's a start :monocle_face:

for f in dvc.org/content/blog/*.md; do
  echo -n "$f: "
  awk '{if ($0=="---")c++;if(c==1){print $0} }' $f \
  | python -c 'import sys,yaml; print(yaml.safe_load(sys.stdin)["tags"])';
done

I can absolutely do this once I clear my plate with the new link checker and some other small features/fixes. I spent a lot of time figuring out tags in Gatsby to make a plugin a while ago, so this is an area I'm particularly strong in.

In the meantime, we could put together some designs for what the tag cloud looks like- as well as any other changes we'd introduce like tag indexes, though those will likely be so similar to other indexes that they require minimal, if any real design work.

Would be useful - e.g "Productivity" is only used once. Seems like it could be appropriate to add to some of the others. Full list below:

  • 2017-05-15-how-a-data-scientist-can-improve-his-productivity.md ['Productivity', 'Python', 'Tutorial']
  • 2017-07-24-r-code-and-reproducible-model-development-with-dvc.md ['RStats', 'R']
  • 2017-07-27-data-version-control-in-analytics-devops-paradigm.md ['DevOps']
  • 2017-08-23-ml-model-ensembling-with-fast-iterations.md ['Best Practices', 'Model Ensembling', 'R']
  • 2017-09-26-best-practices-of-orchestrating-python-and-r-code-in-ml-projects.md ['R', 'Python', 'Tutorial', 'Best Practices']
  • 2018-10-18-ml-best-practices-in-pytorch-dev-conf-2018.md ['Machine Learning', 'Best Practices', 'PyTorch', 'PTDC-18']
  • 2019-03-05-march-19-dvc-heartbeat.md ['Heartbeat', 'Discord Gems']
  • 2019-04-18-april-19-dvc-heartbeat.md ['Heartbeat', 'Discord Gems', 'PyCon']
  • 2019-04-23-dvc-project-ideas-for-google-summer-of-docs-2019.md ['Google Season of Docs', 'Python', 'Documentation']
  • 2019-05-21-may-19-dvc-heartbeat.md ['Heartbeat', 'Discord Gems', 'Google Season of Docs']
  • 2019-06-26-june-19-dvc-heartbeat.md ['PyCon', 'Heartbeat', 'Discord Gems']
  • 2019-08-01-july-19-dvc-heartbeat.md ['Heartbeat', 'Open Source Summit', 'Discord Gems']
  • 2019-09-26-september-19-dvc-heartbeat.md ['Discord Gems', 'Heartbeat', 'Meetup', 'Open Source Summit']
  • 2019-10-08-dvc-org-for-hacktoberfest-2019.md ['Hacktoberfest']
  • 2019-11-05-october-19-dvc-heartbeat.md ['Meetup', 'Heartbeat', 'Hacktoberfest']
  • 2019-12-14-november-19-dvc-heartbeat.md ['Meetup', 'Heartbeat', 'Hacktoberfest']
  • 2020-01-17-january-20-dvc-heartbeat.md ['Heartbeat', 'PyData']
  • 2020-01-20-january-20-community-gems.md ['Discord', 'Gems']
  • 2020-02-04-gsoc-ideas-2020.md ['Google Summer of Code', 'Students', 'Mentoring']
  • 2020-02-10-february-20-dvc-heartbeat.md ['Heartbeat', 'Continuous Integration']
  • 2020-02-17-a-public-reddit-dataset.md ['Project', 'Data', 'Reddit']
  • 2020-02-19-february-20-community-gems.md ['Discord', 'Google Drive', 'Azure', 'Gems', 'Homebrew']
  • 2020-03-11-march-20-dvc-heartbeat.md ['Heartbeat', 'CI/CD', 'Book', 'Monorepo', 'New feature']
  • 2020-03-24-march-20-community-gems.md ['Discord', 'Tags', 'Gems', 'Data registry']
  • 2020-03-31-reimagining-devops-video.md ['CI/CD', 'DevOps', 'MLOps', 'DivOps']
  • 2020-04-06-april-20-dvc-heartbeat.md ['Heartbeat', 'Google Drive', 'MLOps', 'CI/CD', 'Podcast', 'DivOps']
  • 2020-04-16-april-20-community-gems.md ['Discord', 'Gems', 'Pipelines']
  • 2020-04-30-gsod-ideas-2020.md ['Google Season of Docs', 'Documentation', 'Mentoring']
  • 2020-05-04-dvc-3-years-and-1-0-release.md ['Release', 'MLOps', 'DataOps', 'CI/CD']
  • 2020-05-08-dvc-ambassador-program-announcement.md ['Ambassador', 'Volunteer', 'Meetup', 'Blogging']
  • 2020-05-14-may-20-dvc-heartbeat.md ['Heartbeat', 'Plots', 'MLOps', 'Meetup', 'Google Season of Docs', 'Ambassador']
  • 2020-05-26-may-20-community-gems.md ['Discord', 'Gems', 'Cache', 'Google Cloud Storage', 'Import']
  • 2020-06-08-june-20-dvc-heartbeat.md ['Heartbeat', 'Udemy Course', 'Pipelines', 'Plots', 'MLOps']
  • 2020-06-22-dvc-1-0-release.md ['Release', 'MLOps', 'DataOps', 'CI/CD for ML']
  • 2020-06-26-scipy-2020-dvc-poster.md ['Import', 'SciPy', 'Python']
  • 2020-06-29-june-20-community-gems.md ['Discord', 'Gems', 'MinIO', 'Pipeline', 'Python API', 'Optimization']
  • 2020-07-07-cml-release.md ['Release', 'CI/CD for ML', 'MLOps', 'DataOps']
  • 2020-07-10-july-20-dvc-heartbeat.md ['Heartbeat', 'CI/CD', 'DVC 1.0', 'SciPy', 'MLOps', 'Reproducibility', 'Meetup']
  • 2020-07-16-devops-for-data-scientists.md ['GitHub Actions', 'MLOps', 'CI/CD', 'Cloud', 'CML']
  • 2020-07-24-first-mlops-tutorial.md ['Continuous integration', 'DevOps', 'MLOps', 'CML']
  • 2020-07-27-shtab-completion-release.md ['shtab', 'Release', 'CLI', 'Autocomplete', 'Tab', 'Completion']

put together some designs for what the tag cloud looks like

Layout: there's an extremely convenient hole to the right of the most recent article title:

image

Design: prob none needed at first, maybe juts try an existing component e.g. https://www.npmjs.com/package/react-tagcloud

Was this page helpful?
0 / 5 - 0 ratings

Related issues

efiop picture efiop  路  5Comments

piojanu picture piojanu  路  4Comments

pared picture pared  路  4Comments

efiop picture efiop  路  4Comments

dashohoxha picture dashohoxha  路  4Comments