Skip to content

Commit a968694

Browse files
gwaybioclaude
andauthored
Add contributing and development docs (#7)
* add docs details * add workflows * check dois * add mdformatter to precommit * add dependabot * fix links and link check * markdown formatting checks incorrectly flags content that hugo requires * restore emojies * group dependabot and remove all dois * ingore words that shouldnt trigger misspellings * ignore commune --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5f0942f commit a968694

17 files changed

Lines changed: 184 additions & 33 deletions

.codespell-ignore-words.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Words codespell should not flag as misspellings.
2+
# Format: one word per line (case-insensitive).
3+
# Add a comment above each entry explaining why it is excluded.
4+
5+
# "patter" appears in Cell Press journal DOI URLs (doi.org/10.1016/j.patter.*)
6+
patter
7+
8+
# "mAP" (mean Average Precision) — scientific metric abbreviation used in copairs docs
9+
# codespell may flag the lowercase form "map" variant; list both cases to be safe
10+
mAP
11+
12+
# "Commun" — abbreviation for "Communications" used in Nature citation style (e.g. Nat. Commun.)
13+
Commun

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
updates:
3+
# Keep GitHub Actions versions current
4+
- package-ecosystem: github-actions
5+
directory: /
6+
schedule:
7+
interval: monthly
8+
groups:
9+
actions:
10+
patterns:
11+
- "*"
12+
13+
# Keep pre-commit hook revisions current
14+
- package-ecosystem: pre-commit
15+
directory: /
16+
schedule:
17+
interval: monthly
18+
groups:
19+
pre-commit:
20+
patterns:
21+
- "*"

.github/workflows/link-check.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Link check
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
jobs:
9+
link-check:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Check links with lychee
16+
uses: lycheeverse/lychee-action@v2
17+
with:
18+
# Check all Markdown files in content/ and the root-level docs
19+
args: >-
20+
--verbose
21+
--no-progress
22+
--exclude-path node_modules
23+
--exclude "^https://forum\\.image\\.sc/"
24+
--exclude "^https://www\\.broadinstitute\\.org/"
25+
--exclude "^https://doi\\.org/"
26+
'content/**/*.md'
27+
'*.md'
28+
fail: true

.github/workflows/pre-commit-checks.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
13-
- uses: actions/setup-python@v4
13+
- uses: actions/setup-python@v5
1414
with:
15-
python-version: "3.10"
16-
- uses: pre-commit/action@v3.0.0
15+
python-version: "3.12"
16+
- uses: pre-commit/action@v3.0.1

.pre-commit-config.yaml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,36 @@
11
# See https://pre-commit.com for more information
22
# See https://pre-commit.com/hooks.html for more hooks
33
---
4+
# Exclude vendored theme — it is not our code to lint
5+
exclude: ^themes/
6+
47
repos:
58
- repo: https://github.com/pre-commit/pre-commit-hooks
6-
rev: v4.5.0
9+
rev: v6.0.0
710
hooks:
811
- id: trailing-whitespace
912
- id: end-of-file-fixer
1013
- id: check-added-large-files
1114
- id: detect-private-key
1215
# checking spelling
1316
- repo: https://github.com/codespell-project/codespell
14-
rev: v2.2.6
17+
rev: v2.4.2
1518
hooks:
1619
- id: codespell
20+
args:
21+
- --ignore-words=.codespell-ignore-words.txt
1722
# checking markdown formatting
1823
- repo: https://github.com/executablebooks/mdformat
19-
rev: 0.7.17
24+
rev: 1.0.0
2025
hooks:
2126
- id: mdformat
27+
exclude: ^content/
2228
additional_dependencies:
23-
- mdformat-gfm
29+
- mdformat-gfm==1.0.0
30+
- mdformat-frontmatter==2.0.10
31+
# HTML linting — exclude Hugo template files (contain {{ }} syntax)
2432
- repo: https://github.com/Lucas-C/pre-commit-hooks-nodejs
2533
rev: v1.1.2
2634
hooks:
2735
- id: htmllint
36+
exclude: ^layouts/

CONTRIBUTING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Contributing to cytomining.github.io
2+
3+
Thank you for your interest in contributing!
4+
5+
## Code of conduct
6+
7+
Please uphold our [code of conduct](https://github.com/cytomining/.github/blob/main/CODE_OF_CONDUCT.md).
8+
Report unacceptable behavior to cytodata.info@gmail.com.
9+
10+
## Reporting issues
11+
12+
Open a [GitHub issue](https://github.com/cytomining/cytomining.github.io/issues) with a clear description of the problem (e.g., broken link, outdated content, rendering bug).
13+
14+
## Contributing changes
15+
16+
1. Fork the repository and create a branch from `main`.
17+
1. Make your changes. See [README.md](README.md) for local development setup.
18+
1. Open a pull request against `main` with a clear description of what changed and why.
19+
20+
Please keep pull requests focused on a single change. All status checks must pass before merge.
21+
22+
## Content guidelines
23+
24+
- Keep tool descriptions factual and concise.
25+
- Follow the frontmatter and section order used in existing content files.
26+
- Verify any external links you add are reachable.

README.md

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,62 @@
1-
# Cytomining organization GitHub Pages configuration
1+
# cytomining.github.io
22

3-
This repo includes content which helps create links via GitHub Pages related to the Cytomining Organization.
3+
Source for the [Cytomining organization website](https://cytomining.github.io/), built with [Hugo](https://gohugo.io/) and the [Congo](https://jpanther.github.io/congo/) theme.
44

5-
## Development
5+
## Prerequisites
66

7-
You may place HTML content within the `/docs` folder, which is then rendered on merge to `main`.
8-
We adapt work here from [the documentation found in this Gist](https://gist.github.com/domenic/1f286d415559b56d725bee51a62c24a7).
7+
- [Hugo extended](https://gohugo.io/installation/) v0.161.1 or later
8+
9+
## Local development
10+
11+
```bash
12+
git clone https://github.com/cytomining/cytomining.github.io.git
13+
cd cytomining.github.io
14+
15+
# Serve locally with live reload
16+
hugo server
17+
18+
# Build for production
19+
hugo --minify
20+
```
21+
22+
The site is served at `http://localhost:1313/` by default.
23+
24+
## Pre-commit hooks
25+
26+
This repo uses [pre-commit](https://pre-commit.com/) to enforce formatting and catch common issues before every commit.
27+
28+
```bash
29+
pip install pre-commit
30+
pre-commit install
31+
```
32+
33+
After installation, hooks run automatically on `git commit`. To run them manually against all files:
34+
35+
```bash
36+
pre-commit run --all-files
37+
```
38+
39+
## Adding or editing a tool page
40+
41+
Tool pages live in `content/tools/`. Each file is a Markdown file with frontmatter.
42+
43+
Minimal frontmatter for a new tool page:
44+
45+
```yaml
46+
---
47+
title: "Tool Name"
48+
description: "One-sentence description of what this tool does."
49+
showDate: false
50+
showAuthor: false
51+
---
52+
```
53+
54+
Follow the section order used in existing pages: logo image(s), 1–2 sentence intro, **Key capabilities** bullet list, link to documentation or GitHub, and optionally a **Publication** section.
55+
56+
## Deployment
57+
58+
Pushes to `main` trigger the [hugo.yaml](.github/workflows/hugo.yaml) GitHub Actions workflow, which builds the site and deploys it to GitHub Pages automatically.
59+
60+
## Theme
61+
62+
This site uses [Congo v2.13.0](https://github.com/jpanther/congo). Theme configuration lives in `config/_default/params.toml`.

content/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
2-
title: "Cytomining"
3-
description: "Open-source tools for single-cell image-based profiling"
2+
title: Cytomining
3+
description: Open-source tools for single-cell image-based profiling
44
---

content/contact/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: "Contact"
3-
description: "Get in touch with the Cytomining community."
2+
title: Contact
3+
description: Get in touch with the Cytomining community.
44
---
55

66
- 💬 Join the conversation on our [Discourse forums](https://forum.image.sc/)

content/tools/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: "Tools"
3-
description: "Production-ready tools for image-based profiling bioinformatics."
2+
title: Tools
3+
description: Production-ready tools for image-based profiling bioinformatics.
44
---
55

66
The Cytomining ecosystem provides a suite of production-ready tools for every stage of the image-based profiling workflow.

0 commit comments

Comments
 (0)