-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to generate Markdown "todo" list for GitHub/GitLab issues, Kanban boards, etc. #2094
Comments
Maybe generate CSV for what's to do as well. |
Requirements for the project:
Documentation on markdown for task lists: A useful feature is that task lists can be nested.
Markdown:
Markdown:
Badge criteria may be in three states: not yet researched, met, and not met. We will represent those states with the following markdown:
The appearance of those is as follows: The inconsistent appearance of the indeterminate state is unfortunate! You can’t make a checkbox indeterminate through HTML. |
We discussed today in the BEST WG. The group was positive on the suggestion. David W. was going to explore more. Thanks for sharing! |
GitLab Flavored Markdown is defined at https://docs.gitlab.com/ee/user/markdown.html and it appears to include GitHub Flavored Markdown, which is great. GitHub AND GitLab support:
GitLab also supports this, but GitHub does not, so I think we should not use it:
|
It looks like the simplest option is to map "Met" and "N/A" to |
Notes from BEST WG Jan 30, 2024Requirements
Verify:
Documentation:
Engineering:
|
It's not complete, but here's a partial start: #2104 |
We now have a "secret" capability to generate todo lists in markdown. Just add ".md" to a project entry. It will return the project badge entry in markdown format:
We can add links to this, but first we need to see if it's worth using :-). Thoughts? |
I like it
Cheers,
CRob
Director of Security Communications
Intel Product Assurance and Security
Book time with Robinson, Christopher ***@***.***?anonymous&ep=pcard>
From: David A. Wheeler ***@***.***>
Sent: Wednesday, January 31, 2024 11:31 AM
To: coreinfrastructure/best-practices-badge ***@***.***>
Cc: Robinson, Christopher ***@***.***>; Comment ***@***.***>
Subject: Re: [coreinfrastructure/best-practices-badge] Add ability to generate Markdown "todo" list for GitHub/GitLab issues, Kanban boards, etc. (Issue #2094)
We now have a "secret" capability to generate todo lists in markdown. Just add ".md" to a project entry. It will return the project badge entry in markdown format:
* https://www.bestpractices.dev/en/projects/1.md
* https://www.bestpractices.dev/en/projects/1.md?criteria_level=1 for silver
* https://www.bestpractices.dev/en/projects/1.md?criteria_level=2 for gold
We can add links to this, but first we need to see if it's worth using :-). Thoughts?
—
Reply to this email directly, view it on GitHub<#2094 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AQRFDLDJ6CXQMBRDJPKHOO3YRJWVDAVCNFSM6AAAAABBRUXDX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZGQ3DOMRZGA>.
You are receiving this because you commented.Message ID: ***@***.******@***.***>>
|
Note: This works in any supported language. E.g., for French instead of English use: |
It looks potentially useful. |
Great! That was certainly the goal :-). Please try it out to confirm or deny the "it's useful" hypothesis. If someone confirms it is useful, we can add a link somewhere so people can find this new capability. I intentionally generated a todo list for only one level. The todo list is already long for any one level; showing all levels at the same time would be overwhelming I think. The goal is to help people complete the work, not to overwhelm them :-). |
I tried out the output in a markdown editor (https://markdown-editor.github.io/) that can show just the rendered version. This was not too much. The code version is super hard to read, though. I'm not sure it's tenable to show just one level. Fortunately the current output that I'm seeing does have all the levels. The reason showing all the levels at the same time is overwhelming is that the best practices badge is substantive. There's a lot going on, but it's for good reason. It's just that projects working through it need to be organized and have follow-through. |
Hmmm, can criteria_level be a list? as in "?criteria_level=1,2,3". That could let you get just the single level, or multiple levels as needed. |
It could be a list, but that's inconsistent with other things, and a pain to process. An alternative would be to generate the full sequence if no level given, and only those criteria at a level if the level is specified. If you want more than one, you probably want them all :-). |
+1 |
The generated markdown seems to work really well at https://markdown-editor.github.io/ so that's encouraging. |
"No levels means all levels" drafted here: |
You can now get todos in markdown. To generate a markdown for all levels for project 1 in English: You can request specific levels and/or a different locale:
Checkboxes are filled in for "Met" and "N/A". They are empty for "Unmet" or "?" (Unknown). What do you think? |
If this works, we now need to figure out how to let people find this capability. I suggest adding some text somewhere on a badge entry, e.g., when viewing https://www.bestpractices.dev/en/projects/1. Where should that text go? What should it say? What part would be a hyperlink to it? Suggestions welcome. |
Note: GitHub and GitLab support checkboxes. CommonMark doesn't support checkboxes. However, the only alternative is to use HTML, but many systems won't allow "raw" HTML & that stuff is hard to read. I think anyone who wants to use a checkbox-based todo is going to use a markdown system that supports checkboxes. |
(Reposting, there was a weird problem) Pandoc also works well. I think support from GitHub, GitLab, and pandoc is sufficient. Here's the proof. Given file
And running command: pandoc -f 'gfm+task_lists' -t html x.md It produces: <ul class="task-list">
<li><label><input type="checkbox" checked="" />This is
<details><summary>[foo]</summary> some details</details></label></li>
</ul> I suggest noting the pandoc command in some "details" for the link to the markdown generated file. |
I agree. We're pushing the limits and it's reasonable to say that some things are not possible. |
ResearchIs there already a way to find the JSON and (I think) XML export formats? I don't think so, but if there is then we should add one more format. Glyphicons has these relevant icons: This application has a multistep flow for exporting data that uses a modal dialog with a format chooser. It is great from a usability POV but too complicated as far as implementation: ExperimentsExperiment 1: on the panel titleThat textual approach doesn't work at all. Possibly a Markdown icon that looks like a button could work. Experiment 2: text in the footerAdd this:
Just above:
|
Text at bottom makes sense. I'd want to be able to generate Markdown for two cases, "current level" and "all levels". |
We want people to merge "get a badge" into their wider workflows.
Add ability to generate Markdown "todo" list for GitHub/GitLab issues, Kanban boards, etc. Then the badge requirements can be easily merged into larger workflows.
The text was updated successfully, but these errors were encountered: