-
Notifications
You must be signed in to change notification settings - Fork 28
Documentation style guideline draft. Needs to be discussed! #84
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,65 @@ | ||||||
| This website is maintained by the in-toto steering committee and is modeled after the [Kubernetes documentation contribution workflow](https://kubernetes.io/docs/contribute/). | ||||||
|
|
||||||
| in-toto documentation contributors: | ||||||
| - Improve existing content | ||||||
| - Create new content | ||||||
| - Translate the documentation | ||||||
| - Manage and publish the documentation parts of the in-toto release cycle | ||||||
|
|
||||||
| ## Getting started | ||||||
|
|
||||||
| Anyone can open an issue about documentation, or contribute a change with a pull request (PR) to the respective repo. | ||||||
|
|
||||||
| There are different workflows for changing documentation in in-toto depending on the level of change | ||||||
| that is being made. | ||||||
|
|
||||||
| The first type of change is that which is confined to a few lines and which is likely to be | ||||||
| uncontentious. This is something like a typo fix or a minor clarification. For example, if you see a sentence | ||||||
| like: "A signed attestation is created by a functionary as it performs a software supply chain step. This | ||||||
| may be later consumed by a party who verifies a layout." What "This" refers to in the second sentence may have | ||||||
| confused you and you may wish to clarify it. For non-specification changes, simply submit a PR of the | ||||||
| "typo / minor clarification" type to address this issue. If you wish to make a change to the specification, | ||||||
| see the directions below. | ||||||
|
|
||||||
| The second type of change is more substantial. This is something like adding a translation of documentation | ||||||
| to a new language, adding a tutorial, reorganizing the pages to have a different flow, etc. For these, please | ||||||
| ask on the in-toto documentation slack channel before starting this process. (The main exception to this is | ||||||
| the [friends](https://github.com/in-toto/friends) repository where adoptions are tracked. Feel free to create | ||||||
| a PR here directly without talking with us.) There should be an issue created | ||||||
| on the issue tracker and an ITSC member should thumbs-up this before you begin. If your documentation is for a | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Definition of ITSC would be valuable here 😄. |
||||||
| specific sub-project or repository, the approval of a maintainer is perfectly fine instead. The rationale is | ||||||
| that we want someone to both help to confirm the documentation is likely to be of use, and also identify a likely | ||||||
| shepherd of the work. (Note that if you are a maintainer or ITSC member, it is fine to self approve.) | ||||||
|
|
||||||
| For a change to the specification, it is important to ask first. So, please start by asking on the in-toto | ||||||
| slack channel. Depending on the type or scope of this change, it may be as simple as a typo / minor clarification | ||||||
| fix below or it may require a separate process (such as an [ITE](https://github.com/in-toto/ITE)). For a non-trivial | ||||||
| change, this process has extra steps and cannot be approved by a single party. The [specification](https://github.com/in-toto/docs) | ||||||
| intentionally is a very stable, slow-moving document and so changes to it are conservative in nature. | ||||||
|
|
||||||
| ## Actually Making a Change | ||||||
|
|
||||||
| You need to be comfortable with [git](https://git-scm.com/) and [GitHub](https://skills.github.com/) to work effectively in our community. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe a link to a good set of resources for learning Git and Github? https://docs.github.com/en/get-started/quickstart/git-and-github-learning-resources - just a thought
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah - I see there is the |
||||||
|
|
||||||
| To get involved with documentation: | ||||||
|
|
||||||
| 1. Sign the CNCF [Contributor License Agreement](https://github.com/kubernetes/community/blob/master/CLA.md). | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure the CLA is required/enforced on any in-toto repo right now but I could be wrong
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, this may be something that needs clarification in project governance? |
||||||
| 2. Familiarize yourself with the documentation repository and the website's static site generator. If the | ||||||
| individual repository has guidance for documentation, it supercedes this document's guidance. | ||||||
| 3. Make sure you understand the basic processes for opening a PR. The [Kubernetes documentation on opening a | ||||||
| pull request](https://kubernetes.io/docs/contribute/new-content/open-a-pr/) is quite detailed and a good place | ||||||
| to start if you need guidance. | ||||||
|
Comment on lines
+49
to
+51
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This might be a bit confusing as it does talk about the kubernetes docs repo and using hugo which this repo doesn't use. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The content should probably be copied here and adapted to in-toto
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed, I think this one can only progress once the "architecture" of the docs rendering is decided for in-toto. |
||||||
|
|
||||||
| As was stated above, for trivial, non-specification changes, create a PR directly. For other changes, you will | ||||||
| need to discuss this with other folks and create an issue. | ||||||
|
|
||||||
| Do not make edits that cause large diffs, which are not relevant to content. For example, do not re-wrap lines | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
:(
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. One way we've handled this is with pre-commit hooks. Not everyone may install them but, you can also run the pre-commit hooks in a GHA for the PR. There's even some specific linting for markdown documents: https://pre-commit.com/hooks.html |
||||||
| after making a change. Do not add or delete blank linkes in a document unless there is a clear reason to do so. | ||||||
| Do not add or remove trailing whitespace on lines for a similar reason. | ||||||
|
|
||||||
| ## Style Guideline | ||||||
|
|
||||||
| The American spelling for words is preferred when writing in the English language. | ||||||
|
|
||||||
| In general, markdown files are preferred for READMEs and similar documentation. For webpages, when you contribute | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This also depends on the final repo structure.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| to a repository, match the documentation style and/or web framework for the individual repository. | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this contributing doc ever going to be on a website?
maybe appearing somewhere here? https://in-toto.io/specs/
Or will it always be a contributing guide for this repo?
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think these guidelines should stay here in the community repo ( https://github.com/in-toto/community/blob/main/CONTRIBUTING.md ). There's a pointer to it from https://github.com/in-toto/docs/blob/master/ROADMAP.md.
The plan is for the content of the Spec to be transformed into a Docs section of the in-toto website. I expect the https://in-toto.io/specs/ repo will continue to be the source for the text, even if that text is broken up into separate files to match separate web pages. We expect to add navigation (site and page TOCs) to make it easier for new users to find introductory information before diving into the demo.
Maybe these guidelines should specify where the doc sources will live, and (when it is decided) what tools are used to produce the public documentation on the in-toto website.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it also depends on the final structure of in-toto repositories. Are we going to rename this one to in-toto/specification and then create a new in-toto/docs repository? Is the specification going to continue to live in the docs repository?