Skip to content

Commit d0ddaf1

Browse files
author
steriva
committed
Update readme
1 parent f51b522 commit d0ddaf1

1 file changed

Lines changed: 74 additions & 21 deletions

File tree

README.md

Lines changed: 74 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,83 @@
1-
# Papers with code
1+
# Papers with code — ERMETE-Lab
22

3-
This repository is a lightweight wrapper for journal papers that link to code
4-
hosted in other repositories in the `ERMETE-Lab` organization.
3+
[![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-Browse%20paper%20index-blue?logo=github)](https://ermete-lab.github.io/Papers-with-code/)
4+
5+
This repository is a lightweight wrapper that indexes journal papers published by
6+
the [ERMETE-Lab](https://github.com/ERMETE-Lab) group **that have companion
7+
code** — not every group paper, only those accompanied by a public code
8+
repository.
9+
10+
Each entry in the index links out to a dedicated repository in the ERMETE-Lab
11+
organization. Those repositories are also tracked as git submodules under
12+
`repositories/` so the code can be fetched alongside this wrapper in one step.
13+
14+
---
515

616
## Repository layout
717

8-
- `index.html` renders a simple browser-based index of papers and linked code
9-
repositories.
10-
- `papers.json` stores the paper metadata that drives the index.
11-
- `repositories/` is reserved for the git submodules that mirror the linked
12-
repositories inside this wrapper repository.
18+
| Path | Purpose |
19+
| ---------------------- | -------------------------------------------------------- |
20+
| `index.html` | Static browser-based paper index (the GitHub Pages site) |
21+
| `papers.json` | Paper metadata that drives the index |
22+
| `repositories/<name>/` | Git submodules — one per companion code repository |
23+
24+
---
25+
26+
## Adding a new paper
27+
28+
### 1. Add the companion repository as a submodule
29+
30+
```bash
31+
git submodule add https://github.com/ERMETE-Lab/<repo-name> repositories/<repo-name>
32+
git commit -m "Add <repo-name> submodule"
33+
```
34+
35+
Replace `<repo-name>` with the repository name in the ERMETE-Lab organization
36+
(e.g. `NuSHRED`).
37+
38+
### 2. Add an entry to `papers.json`
39+
40+
Open `papers.json` and append a new object inside the `"papers"` array:
41+
42+
```jsonc
43+
{
44+
"title": "Full paper title",
45+
"authors": "Author One; Author Two; Author Three",
46+
"journal": "Journal Name",
47+
"year": 2025,
48+
"volume": "1", // optional
49+
"pages": "100000", // optional
50+
"repository": "<repo-name>",
51+
"repository_url": "https://github.com/ERMETE-Lab/<repo-name>",
52+
"submodule_path": "repositories/<repo-name>",
53+
"doi": "10.xxxx/xxxxx", // optional
54+
"paper_url": "https://doi.org/10.xxxx/xxxxx", // optional
55+
"notes": "One-sentence summary shown in the index." // optional
56+
}
57+
```
58+
59+
Required fields: `title`, `repository`, `repository_url`, `submodule_path`.
60+
61+
### 3. Push — the site updates automatically
62+
63+
A GitHub Actions workflow publishes `index.html` and `papers.json` to GitHub
64+
Pages on every push to `main`. Once the workflow completes the new paper will
65+
appear at
66+
[ermete-lab.github.io/Papers-with-code](https://ermete-lab.github.io/Papers-with-code/).
67+
68+
---
1369

14-
## Adding a paper entry
70+
## Cloning with submodules
1571

16-
1. Add the target repository as a git submodule under `repositories/<name>`.
17-
2. Add a matching entry to `papers.json` with:
18-
- `title`
19-
- `repository`
20-
- `repository_url`
21-
- `submodule_path`
22-
- optional `authors`, `journal`, `year`, `doi`, `paper_url`, and `notes`
72+
To clone this repository and also fetch all companion code repositories in one
73+
command:
2374

24-
Until entries are added, the wrapper renders an empty-state message instead of
25-
an empty table.
75+
```bash
76+
git clone --recurse-submodules https://github.com/ERMETE-Lab/Papers-with-code.git
77+
```
2678

27-
## GitHub Pages
79+
If you already cloned without `--recurse-submodules`:
2880

29-
The repository includes a workflow that publishes the static site (`index.html`
30-
and `papers.json`) to GitHub Pages on pushes to `main`.
81+
```bash
82+
git submodule update --init --recursive
83+
```

0 commit comments

Comments
 (0)