You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(roadmap): add roadmap page with json data loading logic with sim… (#215)
…ilar UI like linear custom view
## New .env variable
- `LINEAR_API_KEY` - linear API KEY
- `LINEAR_CUSTOM_VIEW_ID` - the custom view id from linear that shows
the public roadmap
- `API_SECRET` - a secret API KEY generated by us that can be used in
endpoint to refresh roadmap data and clear cache
- `NETLIFY_API_TOKEN` - netlify api token that are used to purge CDN
cache of the /developers/roadmap page
## PR Checklist
- [ ] Linked issue added (e.g., `Fixes#123`)
- [ ] I have run `bun run format` to ensure code is properly formatted
- [ ] I have verified that `bun run lint` passes without errors
- [ ] If blog post was added:
- [ ] Ensure images have been optimised
- [ ] Update dates to reflect the actual publishing date when merged
(file names, folder names, and frontmatter)
## Summary
<!-- What has been updated and why -->
Fixes INTORG-636
---------
Co-authored-by: JoblersTune <sarah@interledger.org>
Copy file name to clipboardExpand all lines: README.md
+38-6Lines changed: 38 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,29 +37,48 @@ For more information about the way our documentation projects are set up, please
37
37
38
38
## Local Development
39
39
40
-
We are using [Bun](https://bun.sh/) in this repository, but you could theoretically use the package manager of your choice. To install Bun, run
40
+
This project requires the [Netlify CLI](https://docs.netlify.com/cli/get-started/) for local development. Running `bun run start` alone will produce a redirect loop — the Netlify CLI proxy is needed to handle routing correctly.
41
+
42
+
### Prerequisites
43
+
44
+
Install [Bun](https://bun.sh/) and the Netlify CLI:
41
45
42
46
```sh
43
47
curl -fsSL https://bun.sh/install | bash
48
+
npm install -g netlify-cli
44
49
```
45
50
46
-
### 🧞 Commands
51
+
Then link the repo to the Netlify site (one-time):
52
+
53
+
```sh
54
+
netlify login
55
+
netlify link
56
+
```
57
+
58
+
### Running locally
59
+
60
+
```sh
61
+
bun install
62
+
netlify dev # http://localhost:8888
63
+
```
47
64
48
-
All commands are run from the root of the project, from a terminal:
65
+
> **Troubleshooting:** If `netlify dev` fails with a Neon extension network error, run `netlify dev --offline` instead — this skips the extension install and everything else works normally. See [`docs/roadmap-linear-sync.md`](docs/roadmap-linear-sync.md) for details.
66
+
67
+
> **Note:** The roadmap page also requires a one-time blob population step after first run. See [`docs/roadmap-linear-sync.md`](docs/roadmap-linear-sync.md) for details.
|`bun run start`| Starts local dev server at `localhost:1103`|
74
+
|`netlify dev`| Starts local dev server at `localhost:8888`|
54
75
|`bun run build`| Build your production site to `./dist/`|
55
76
|`bun run preview`| Preview your build locally, before deploying |
56
77
|`bun run astro ...`| Run CLI commands like `astro add`, `astro check`|
57
78
|`bun run astro -- --help`| Get help using the Astro CLI |
58
79
|`bun run format`| Format code and fix linting issues |
59
80
|`bun run lint`| Check code formatting and linting |
60
81
61
-
You can substitute the `bun` commands with whatever package manager of your choice uses.
62
-
63
82
### 🔍 Code Formatting
64
83
65
84
This project uses [ESLint](https://eslint.org/) for code linting and [Prettier](https://prettier.io/) for code formatting. Before submitting a pull request, please ensure your code is properly formatted:
@@ -99,6 +118,19 @@ This runs `gcloud compute url-maps invalidate-cdn-cache` against `/developers/*`
99
118
100
119
For more information about the main Interledger.org infrastructure and deployment pipeline, see the [`interledger.org-v4`](https://github.com/interledger/interledger.org-v4) repository.
101
120
121
+
## Netlify Serverless Functions
122
+
123
+
This project uses Netlify serverless functions to power the live roadmap page:
The roadmap page is server-side rendered and reads from the blob cache on each request. The CDN caches the rendered HTML for 12 hours; the sync functions purge that cache after each update.
131
+
132
+
For full details on the architecture, environment variables, local development setup, and how Deploy Previews interact with the shared blob store, see [`docs/roadmap-linear-sync.md`](docs/roadmap-linear-sync.md).
133
+
102
134
Thank You for Contributing! We appreciate your effort to write a blog post and share your expertise with the community!
0 commit comments