Skip to content

Commit

Permalink
feat(openchallenges): initialize basic docs site (#2409)
Browse files Browse the repository at this point in the history
* add mkdocs config file; add index.md

* add build-docs CI

* use termynal

* move CONTRIBUTING contents over to docs

* update nav section

* remove toc and top headers from some docs

* add sage logo

* specify when ci should trigger
  • Loading branch information
vpchung authored Dec 15, 2023
1 parent 970da70 commit 39740de
Show file tree
Hide file tree
Showing 19 changed files with 330 additions and 209 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build Docs
on:
push:
branches:
- main
paths:
- 'docs/**/*.md'
- 'docs/images/*'
- 'mkdocs.yml'

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v4
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v3
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material mkdocstrings mkdocstrings-python termynal
- run: mkdocs gh-deploy --force
164 changes: 1 addition & 163 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,163 +1 @@
# Contribution Guide

A big welcome and thank you for considering contributing to this project.

This project is a community effort and lives off your contributions, be it in
the form of bug reports, feature requests, discussions, or fixes and other code
changes.

Reading and following these guidelines will help us make the contribution
process easy and effective for everyone involved. It also communicates that you
agree to respect the time of the developers managing and developing these open
source projects. In return, we will reciprocate that respect by addressing your
issue, assessing changes, and helping you finalize your pull requests.

## Quicklinks

- [Code of Conduct](#code-of-conduct)
- [Getting Started](#getting-started)
- [Issues](#issues)
- [Pull Requests](#pull-requests)
- [Setup Development Environment](#setup-development-environment)
- [Linting](#linting)
- [Testing](#testing)
- [Start the OpenChallenges]
- [Release Procedure](#release-procedure)
- [Getting Help](#getting-help)

## Code of Conduct

We take our open source community seriously and hold ourselves and other
contributors to high standards of communication. By participating and
contributing to this project, you agree to uphold our [Code of Conduct].

## Getting Started

Contributions are made to this repo via Issues and Pull Requests (PRs). A few
general guidelines that cover both:

- Search for existing Issues and PRs before creating your own.
- We work hard to makes sure issues are handled in a timely manner but,
depending on the impact, it could take a while to investigate the root cause.
A friendly ping in the comment thread to the submitter or a contributor can
help draw attention if your issue is blocking.

### Issues

Issues should be used to report problems with this project, request a new
feature, or to discuss potential changes before a PR is created. When you create
a new Issue, a template will be loaded that will guide you through collecting
and providing the information we need to investigate.

If you find an Issue that addresses the problem you're having, please add your
own reproduction information to the existing issue rather than creating a new
one. Adding a [reaction] can also help be indicating to our maintainers that a
particular problem is affecting more than just the reporter.

### Pull Requests

PRs to our repositories are always welcome and can be a quick way to get your
fix or improvement slated for the next release. In general, PRs should:

- Only fix/add the functionality in question **OR** address wide-spread
whitespace/style issues, not both.
- Add unit or integration tests for fixed or changed functionality (if a test
suite already exists).
- Address a single concern in the least number of changed lines as possible.
- Include documentation in the repo or on our [docs site].
- Be accompanied by a complete Pull Request template (loaded automatically when
a PR is created).

For changes that address core functionality or would require breaking changes
(e.g. a major release), it's best to open an Issue to discuss your proposal
first. This is not required but can save time creating and reviewing changes.

In general, we follow the [Forking Workflow]:

1. Fork the repository to your own Github account
2. Clone the project to your machine
3. Create a branch locally with a succinct but descriptive name

git checkout -b <new-branch> main

4. Commit changes to the branch
5. Following any formatting and testing guidelines specific to this repo
6. Push changes to your fork
7. Open a PR in our repository and follow the PR template so that we can
efficiently review the changes.

We recommend that you add this repository as an [upstream remote] to your local
git repository so that you can fetch the latest updates.

```console
$ git remote add upstream https://github.com/Sage-Bionetworks/sage-monorepo.git
$ git remote -v
> ...
> upstream https://github.com/Sage-Bionetworks/sage-monorepo.git (fetch)
> upstream https://github.com/Sage-Bionetworks/sage-monorepo.git (push)
```

On your local machine make sure you have the latest version of the `main` branch
from this upstream repository:

```console
git checkout main
git fetch upstream
git rebase upstream/main
```

### Setup Development Environment

This project relies on Node tools and project-specific commands defined in
[package.json] to streamline the development and testing. The command below will
install the required development tools.

Source `dev-env.sh`.

. dev-env.sh

Prepare the development environment.

openchallenges-prepare

### Linting

Lint all the projects.

yarn lint

### Testing

Build and test all the projects.

```console
yarn build
yarn test
```

### Start the OpenChallenges

Start the web app and its dependencies (API, API database).

yarn start

## Release Procedure

Maintainers are required to follow the procedure below when creating a new
release.

TBA

## Getting Help

Join us on the XXX and post your question to the channel that best matches the
topic of your request.

<!-- Links -->

[Code of Conduct]: CODE-OF-CONDUCT.md
[upstream remote]: https://help.github.com/en/articles/configuring-a-remote-for-a-fork
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[Forking Workflow]: https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow
[package.json]: ../package.json
[README.md]: ../README.md
Please read the Contributing guidelines on the docs site.
4 changes: 0 additions & 4 deletions docs/angular-universal.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# Angular Universal

## Introduction

The article [Angular Universal: a Complete Practical Guide] offers an excellent introduction to
Angular Universal, server-side rendering (SSR) and search engine optimization (SEO).

Expand Down
4 changes: 0 additions & 4 deletions docs/app-styles-themes-assets.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# App Styles, Themes and Assets

## Overview

This document describes how SCSS styles, themes and assets are organized across a web app and its
libraries.

Expand Down
9 changes: 9 additions & 0 deletions docs/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Issues should be used to report problems with this project, request a new
feature, or to discuss potential changes before a PR is created. When you create
a new Issue, a template will be loaded that will guide you through collecting
and providing the information we need to investigate.

If you find an Issue that addresses the problem you're having, please add your
own reproduction information to the existing issue rather than creating a new
one. Adding a [reaction] can also help be indicating to our maintainers that a
particular problem is affecting more than just the reporter.
Empty file added docs/changelog.md
Empty file.
5 changes: 5 additions & 0 deletions docs/code-of-conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
We take our open source community seriously and hold ourselves and other
contributors to high standards of communication. By participating and
contributing to this project, you agree to uphold our [Code of Conduct].

[Code of Conduct]: CODE-OF-CONDUCT.md
4 changes: 0 additions & 4 deletions docs/collect-challenge-logs-and-system-metrics.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# Collect Challenge Logs and System Metrics

## Overview

This document describes how to centralize and explore the logs and system metrics generated by a
fleet of hosts (EC2 instances) and Docker containers. The instructions are provided in the context
of monitoring hosts and containers during a scientific challenge organized by Sage Bionetworks.
Expand Down
23 changes: 23 additions & 0 deletions docs/contributing-guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
A big welcome and thank you for considering contributing to this project.

This project is a community effort and lives off your contributions, be it in
the form of bug reports, feature requests, discussions, or fixes and other code
changes.

Reading and following these guidelines will help us make the contribution
process easy and effective for everyone involved. It also communicates that you
agree to respect the time of the developers managing and developing these open
source projects. In return, we will reciprocate that respect by addressing your
issue, assessing changes, and helping you finalize your pull requests.


## Getting Started

Contributions are made to this repo via Issues and Pull Requests (PRs). A few
general guidelines that cover both:

- Search for existing Issues and PRs before creating your own.
- We work hard to makes sure issues are handled in a timely manner but,
depending on the impact, it could take a while to investigate the root cause.
A friendly ping in the comment thread to the submitter or a contributor can
help draw attention if your issue is blocking.
104 changes: 104 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
PRs to our repositories are always welcome and can be a quick way to get your
fix or improvement slated for the next release. In general, PRs should:

- Only fix/add the functionality in question **OR** address wide-spread
whitespace/style issues, not both.
- Add unit or integration tests for fixed or changed functionality (if a test
suite already exists).
- Address a single concern in the least number of changed lines as possible.
- Include documentation in the repo or on our [docs site].
- Be accompanied by a complete Pull Request template (loaded automatically when
a PR is created).

For changes that address core functionality or would require breaking changes
(e.g. a major release), it's best to open an Issue to discuss your proposal
first. This is not required but can save time creating and reviewing changes.

In general, we follow the [Forking Workflow]:

1. Fork the repository to your own Github account
2. Clone the project to your machine
3. Create a branch locally with a succinct but descriptive name

git checkout -b <new-branch> main

4. Commit changes to the branch
5. Following any formatting and testing guidelines specific to this repo
6. Push changes to your fork
7. Open a PR in our repository and follow the PR template so that we can
efficiently review the changes.

We recommend that you add this repository as an [upstream remote] to your local
git repository so that you can fetch the latest updates.

```console
$ git remote add upstream https://github.com/Sage-Bionetworks/sage-monorepo.git
$ git remote -v
> ...
> upstream https://github.com/Sage-Bionetworks/sage-monorepo.git (fetch)
> upstream https://github.com/Sage-Bionetworks/sage-monorepo.git (push)
```

On your local machine make sure you have the latest version of the `main` branch
from this upstream repository:

```console
git checkout main
git fetch upstream
git rebase upstream/main
```

### Setup Development Environment

This project relies on Node tools and project-specific commands defined in
[package.json] to streamline the development and testing. The command below will
install the required development tools.

Source `dev-env.sh`.

. dev-env.sh

Prepare the development environment.

openchallenges-prepare

### Linting

Lint all the projects.

yarn lint

### Testing

Build and test all the projects.

```console
yarn build
yarn test
```

### Start the OpenChallenges

Start the web app and its dependencies (API, API database).

yarn start

## Release Procedure

Maintainers are required to follow the procedure below when creating a new
release.

TBA

## Getting Help

Join us on the XXX and post your question to the channel that best matches the
topic of your request.

<!-- Links -->

[upstream remote]: https://help.github.com/en/articles/configuring-a-remote-for-a-fork
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[Forking Workflow]: https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow
[package.json]: ../package.json
[README.md]: ../README.md
14 changes: 0 additions & 14 deletions docs/create-a-new-angular-component.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
# Create a new Angular App Component

In this document:

- [Overview](#overview)
- [Create a new Angular library](#1-create-a-new-angular-library)
- [Create a new Angular component](#2-create-a-new-angular-component)
- [Add routing](#3-add-routing)
- [Time to test! ☕](#4-time-to-test-)
- [Import code from the Figma-to-Code export](#5-import-code-from-the-figma-to-code-export)
- [Update themes](#6-update-themes)

## Overview

This doc describes how to create a new library + component in the OpenChallenges app, though
the steps can be applied to any app in this project. This doc will also include information on
where/how to copy-paste code from the [Figma-to-code export] into the app (starting at [Step 5]).
Expand Down
4 changes: 0 additions & 4 deletions docs/devcontainer.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# Developing inside a Container

## Overview

This document describes how to configure and develop in the dev container specified by this
repository. The goal is to provide developers with the same development environment that is mainly
isolated from their host. This method promotes reproducibility and remove the need to install
Expand Down
Loading

0 comments on commit 39740de

Please sign in to comment.