While some pages are not in the left nav on purpose, most of the time it's accidental.
It would be nice to generate a report of pages not in the nav and to distribute that information more widely to the team, so each writer could check their area.
We could do this:
As a report sent to slack?
As an issue the whole team is assigned to?
Any other ideas?
I thought of asking it to be added to the monthly chores, but I think this is more of a team-wide responsibility.
Edited
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Hi @sarahgerman I opened this issue after a discussion with @dianalogan. I think we might have a "pages not in nav" report somewhere already, but I'm not quite sure. It would be nice to periodically bring it to the team's attention so we can keep it cleaned up.
Copying @claytoncornell because I know you worked on this, @axil because you might have script ideas, and @susantacker for visibility.
To get a list of all the HTML files we publish in the public directory, run the following in the the public subdirectory of a fully compiled documentation site:
Another alternative for processing navigation.yaml is a tool like yq: https://mikefarah.gitbook.io/yq/. I thought it would be better to use a YAML-specific tool for this, but when I had a very quick look at it, I couldn't see any specific advantage for our purposes.
@eread Before running your first sed, just do an extra find and replace -> Find: /', replace with /index.html', then you should get a full list with the next step. Output those two sorted files, then compare them to each other. If they don't match, we've found what's not in the nav automatically. Then compare those to an exception list?
This definitely seems doable with just a few script steps. We could add a job to the pipeline that is allowed to fail. We wouldn't break master or block deployments, but we'd notice pretty quick and be able to check the change?
Before running your first sed, just do an extra find and replace -> Find: /', replace with /index.html', then you should get a full list with the next step.
@marcel.amirault I should've said the biggest problem with my commands
I posted them here in their raw format so the whole team could help refine, making it more likely will build a solution without it consuming too much of one person's time.
This definitely seems doable with just a few script steps.
Yeah, I like the idea of using a Bash script, which we can hook up into Makefile (set a dependency on make compile) and also CI/CD.
WHOA! That spreadsheet is a beast! Thanks for posting this, it's a very helpful reference. I like the idea of outputting results of a report like this in CSV format. I'll see what I can do. This will be fun!
@sarahgerman When Craig left, this spreadsheet was assigned to me to maintain. I haven't had time in the past few months, but I tried a few days ago and realized a lot needs to be done to bring it up-to-date. I'll likely create a snapshot of it and start fresh with April data. Craig gave us the steps in the presentation Diana linked above, and I have a video where he explained it and some notes in a Google doc...
I'm just telling you all of this because it sounds like you might want/be able to automate it? If that's the case, let me know and I'm happy to brain dump what I know onto you...
(This is a separate request from comparing the list of files in the navigation.yml to the list of markdown files in the four docs projects.)
@sselhorn I would love to automate whatever we can in the content audit. I have a lot of experience writing scripts to wrangle data for reporting/analysis. Maybe when you get into updating the content audit we can write up issues for the pieces that would be impactful to have a script or automation for.
For now I'll work on the issue at hand with the navigation items.