Note
This repository is in early development. We are currently in the process of reviewing, pruning, and consolidating our documentation.
This repository contains the content that we compile into our documentation website.
This repository has the following sections:
Note
TODO
The ./content/home
directory contains our current documentation that is not pulled from an external repository.
This directory began as a 1-to-1 copy of the ./content/legacy_home
directory. The latter is, itself, mostly a
copy of the NMDC_documentation
repository (more details about this are in the "Legacy content" section below).
Unlike the contents of the ./content/legacy_home
directory, the contents of the ./content/home
directory will
continue to change over time; i.e. NMDC team members will update and add documentation to this directory.
This documentation is implemented within the Sphinx framework. The content is organized according to the Diátaxis guidelines.
Here's how you can make (technically, "propose") changes to this documentation:
Note: The high-level process may be familiar to you: (1) create a GitHub Issue, (2) create a branch associated with that Issue, (3) make changes on that branch, and (4) create a Pull Request to merge that branch into
main
. You can use whatever workflow you want in order to follow that process. The following are some example workflows:
- Create a GitHub Issue describing what you want to change (e.g. "Fix Foo in Bar")
- On GitHub, go to the file within
./content/home/src
that you want to edit - Click the "Edit this file" button (i.e. the pencil icon button) at the upper right
- Edit the file
- Click the "Commit changes..." button at the upper right
- Customize the commit message to tell others what you did (e.g. "
Fix typo in link
") - Mark the bubble that says "Create a new branch for this commit and start a pull request"
- (Recommended) Customize the branch name so it starts with the GitHub Issue number (e.g.
123-fix-foo-in-bar
) - Click "Propose changes"
- Fill in the Pull Request form and click "Create pull request"
You will end up with a Pull Request (PR) containing the changes. Once the PR gets merged into main
,
the documentation website will automatically be updated to reflect the changes.
- Create a GitHub Issue describing what you want to change (e.g. "Fix Foo in Bar")
- Visit https://github.dev/microbiomedata/docs/
- Click the branch name (e.g.
main
) at the lower left - Click "Create a new branch..." at the top
- Enter a name for the branch, beginning with an issue number (e.g.
123-fix-foo-in-bar
) - (If prompted) Click "Switch to Branch"
- Make changes in
./content/home/src
- Click the "Source Control" icon in the left sidebar (3rd from the top)
- Hover over the "Changes" heading and click the
+
icon that appears - Enter a commit message to tell others what you did (e.g. "
Fix typo in link
") - Click the "Commit & Push" button
- Visit https://github.com/microbiomedata/docs/ and create a Pull Request for that branch
You will end up with a Pull Request (PR) containing the changes. Once the PR gets merged into main
,
the documentation website will automatically be updated to reflect the changes.
See content/legacy_home/README.md.
Note
TODO
.github/workflows
: GitHub Actions workflowsdocker-compose.yml
: Specification for a set of container images you can use when editing any section of our documentation websiteREADME.md
: This document
The .github/workflows
directory contains YAML files that we use to configure GitHub Actions.
We use GitHub Actions to (a) compile local and remote content into a website,
and to (b) publish that website to the Internet.
Assuming you have Docker installed, you can spin up the development environment by running:
docker compose up --detach
That will start up several Docker containers, which you can access via the URLs below:
- http://localhost:5000 - the entire website
- http://localhost:5001 - only the legacy home docs portion of the website
- http://localhost:5002 - only the home docs portion of the website
- http://localhost:5003 - only the Runtime docs portion of the website
- http://localhost:5004 - only the workflow docs portion of the website
Whenever you update files in the content/legacy_home/src
directory,
the legacy home docs portion of the website will be automatically rebuilt.
Refresh your web browser to see that newly-rebuilt portion of the website.
Whenever you update files in the content/home/src
directory,
the home docs portion of the website will be automatically rebuilt.
Refresh your web browser to see that newly-rebuilt portion of the website.
Nothing will automatically happen in the development environment when someone
updates files in the upstream Runtime repository. To adopt those changes
in the development environment, rebuild the runtime-docs
container
by issuing the following sequence of commands:
docker compose down runtime-docs
docker compose build --no-cache runtime-docs
docker compose up --detach runtime-docs
Nothing will automatically happen in the development environment when someone
updates files in the upstream workflow repositories. To adopt those changes
in the development environment, rebuild the workflow-docs
container
by issuing the following sequence of commands:
docker compose down workflow-docs
docker compose build --no-cache workflow-docs
docker compose up --detach workflow-docs
If you only make changes to the documentation source files that reside in this repository
(i.e. those in pullers/workflow_docs
), then you can issue this sequence of commands instead,
which will allow Docker to avoid refetching the source files from the upstream repos:
docker compose down workflow-docs
docker compose build workflow-docs
docker compose up --detach workflow-docs
- Populate the "TODO" sections above
- Update legacy
requirements.txt
files to indicate specific versions