Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Bug report
about: Create a report to help us improve
---

# Bug report

**Describe the bug**
A clear and concise description of what the bug is.

Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Feature request
about: Suggest an idea for this project
---

# Feature request

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/security_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Security vulnerability report
about: Create a report to help us improve our security
---

# Security vulnerability report

**Describe the issue**
A clear and concise description of what the security vulnerability/issue is.

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/code-qa-js.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@ jobs:

strategy:
matrix:
node-version: [22.x]
node-version: [24.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/code-qa-markdown.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ on:
paths:
- "**/*.md"
- ".markdownlint.json"
- ".markdownlintignore"
- ".markdownlint-cli2.jsonc"
- ".github/workflows/code-qa-markdown.yaml"
- "package*.json"
pull_request:
branches: [master]
paths:
- "**/*.md"
- ".markdownlint.json"
- ".markdownlintignore"
- ".markdownlint-cli2.jsonc"
- ".github/workflows/code-qa-markdown.yaml"
- "package*.json"

Expand All @@ -24,15 +24,20 @@ jobs:
lint-markdown:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [24.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
Expand Down
6 changes: 6 additions & 0 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
// Vendored third-party sources and the GPL licence text are maintained elsewhere.
"ignores": ["LICENSE.md", "core/scripts/APIandLibraries/**"],
// Dependency and test output listed in .gitignore stays out of the lint set.
"gitignore": true,
}
56 changes: 0 additions & 56 deletions .markdownlintignore

This file was deleted.

57 changes: 16 additions & 41 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,30 @@

We are open to any contributions at any time. When contributing, we ask you to please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Please note we have a code of conduct, please follow it in all your interactions with the project.
Please note we have a [code of conduct](CODE_OF_CONDUCT.md), and we ask you to follow it in all your interactions with the project.

## Pull Request Process
SciGrade is in maintenance mode, so critical bug fixes and security updates are prioritized over new features. [README.md](README.md) states what that means for feature requests.

1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
2. Update the [README.md](/README.md) with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
3. Increase the version numbers in any examples files and the [README.md](/README.md) to the new version that this Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.
## Before you open a pull request

## Code of Conduct
Node.js 24 or later is what continuous integration runs. Node 22.13 through 22.x also satisfies every dependency, but the 23.x line does not: ESLint in [package.json](package.json) declares `^20.19.0 || ^22.13.0 || >=24`, and `markdownlint-cli2` declares `>=22`.

### Our Pledge
1. Install dependencies with `npm ci`.
2. Run `npm run validate`. That chains Prettier, ESLint, minification, the Jest unit tests, the Playwright end-to-end suite, and the Markdown linter.
3. Commit any change `npm run minify` makes to [core/scripts/crispr_scripts.min.js](core/scripts/crispr_scripts.min.js) or [core/scripts/runtime.min.js](core/scripts/runtime.min.js). [core/systemrun.html](core/systemrun.html) loads only the minified bundles, so an edit to the unminified source does not reach users until it is rebuilt.
4. Update the documentation under [docs/index.md](docs/index.md) whenever your change alters behaviour a document describes.

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience nationality, personal appearance, race, religion, or sexual identity and orientation.
## What runs on your pull request

### Our Standards
Two quality workflows can gate a pull request. Each has its own `paths` filter, so which of them runs depends on what you touched, and a workflow that is not triggered does not appear as a check:

Examples of behavior that contributes to creating a positive environment include:
- [code-qa-js.yaml](.github/workflows/code-qa-js.yaml) runs `prettier:check`, `eslint:check`, the Jest tests, and the Playwright suite on Node 24.x. It is triggered by scripts, markup, styles, images, and `package*.json`, not by Markdown.
- [code-qa-markdown.yaml](.github/workflows/code-qa-markdown.yaml) runs `lint:markdown` on Node 24.x. It is triggered by Markdown files, the two markdown-lint configuration files, and `package*.json`, not by scripts.

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
[codeql-analysis.yaml](.github/workflows/codeql-analysis.yaml) also runs CodeQL analysis over the `javascript-typescript` and `actions` languages. Changes confined to [core/scripts/APIandLibraries/](core/scripts/APIandLibraries/jQuery/jquery.min.js) do not trigger it.

Examples of unacceptable behavior by participants include:
[CODEOWNERS](.github/CODEOWNERS) assigns review of every path to a single maintainer, who merges once the checks pass.

- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Reporting a bug or a vulnerability

### Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

### Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

### Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

### Attribution

This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/)
Open a [bug report](https://github.com/AlexJSully/SciGrade/issues/new?template=bug_report.md) for defects. [SECURITY.md](SECURITY.md) states how to report a security vulnerability.
4 changes: 2 additions & 2 deletions EDIT.MD → EDIT.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Everything on SciGrade is generated dynamically on the client side to reduce the

![practice example](core/images/EDITmd/002_SciGradePracticeGene.png "Example of the practice content page")

There is also a feedback page for practice assignments screen which is displayed as an option whenever a user submits a practice assignment.
There is also a feedback page which is displayed whenever a user submits a practice attempt.

![feedback example](core/images/EDITmd/004_FeedbackPage.png "Example of the feedback page")

Expand Down Expand Up @@ -57,7 +57,7 @@ To add a new gene, update the JSON data files:
1. **[Gene's Background Information](core/data/Background_info/gene_background_info.json)**

Add an entry with:
- `base_type`: "practice" or "assignment"
- `base_type`: "practice" on every existing entry; no runtime script reads it
- `name`: The name of the gene
- `Background`: Educational description
- `Target site`: Description of what you are targeting
Expand Down
10 changes: 1 addition & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for more details.

## Modifying

Please read [EDIT.md](EDIT.MD) if you want to understand how SciGrade works and how you can modify it.
Please read [EDIT.md](EDIT.md) if you want to understand how SciGrade works and how you can modify it.

## License

Expand All @@ -57,14 +57,6 @@ This project is currently in maintenance mode. This means that:
- Only critical bug fixes and security updates will be addressed.
- New feature requests are unlikely to be implemented.

## Sponsorship

If you want to support my work, you can through the following methods:

- [BTC](3Lp4pwF5nXqwFA62BYx4DSvDswyYpskBog) - 3Lp4pwF5nXqwFA62BYx4DSvDswyYpskBog
- [ETH](0xc6EB17BD7cbe5976Bfc4f845669cD66Ff340a1A2) - 0xc6EB17BD7cbe5976Bfc4f845669cD66Ff340a1A2
- [PayPal](https://paypal.me/alexjsully) - paypal.me/alexjsully

## Authors

- Alexander Sullivan - [GitHub](https://github.com/AlexJSully), [Twitter](https://twitter.com/alexjsully), [LinkedIn](https://www.linkedin.com/in/alexanderjsullivan/), [Website](https://alexjsully.me/)
Expand Down
File renamed without changes.
Loading