diff --git a/Makefile b/Makefile index 2e4e32669..3c705cb5e 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ install: ## Install development dependencies check-reason: ## Checks that Reason syntax snippets are well formed $(DUNE) build @re -.PHONY: +.PHONY: update-extracted-code-blocks: ## Updates the code blocks extracted from markdown $(DUNE) build @extract-code-blocks --auto-promote || true $(DUNE) build @runtest --auto-promote || true @@ -65,8 +65,20 @@ build-playground: ## Builds the playground .PHONY: build-site build-site: build-playground ## Builds the whole site (including playground) - yarn && yarn docs:build + yarn && make build-docs + +.PHONY: build-docs +build-docs: ## Builds the docs + yarn vitepress build docs .PHONY: build-blog build-blog: ## Builds the blog cd blog && yarn && yarn build + +.PHONY: dev +dev: ## Start docs dev server + yarn vitepress dev docs + +.PHONY: preview +preview: ## Preview the docs + yarn vitepress preview docs diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 8e2682e28..04fa84c4b 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -119,6 +119,7 @@ export default defineConfig({ text: "About", items: [ { text: "Community", link: "/community" }, + { text: "Resources", link: "/resources" }, { text: "Roadmap", link: "/roadmap" }, ], }, diff --git a/docs/community.md b/docs/community.md index a60311576..58b436c8f 100644 --- a/docs/community.md +++ b/docs/community.md @@ -9,15 +9,3 @@ The community tends to congregate in the following forums: `#melange` channel - [OCaml Discord](https://tinyurl.com/discord-ocaml) - [Melange GitHub repository](https://github.com/melange-re/melange) - - -## Resources - -The following are resources about Melange collected around the web: - -- [David Sancho chats to Antonio Monteiro about OCaml and Melange (May - 2023)](https://www.youtube.com/watch?v=zKO-Y2_a-yk) -- "[Ahrefs.com is now built with - Melange](https://tech.ahrefs.com/ahrefs-is-now-built-with-melange-b14f5ec56df4)" - announcement - diff --git a/docs/resources.md b/docs/resources.md new file mode 100644 index 000000000..34f463527 --- /dev/null +++ b/docs/resources.md @@ -0,0 +1,52 @@ +# Resources + +The following are resources about Melange collected around the web. + +## Blog posts, podcasts, talks + +| Date | Type | Description | +|----- | ---- | ----------- | +| Sep 2024 | talk | [Dillon Mulroy — Type-Safe React with OCaml](https://reactalicante.es/#schedule) (video not yet uploaded) | +| Sep 2024 | podcast | [The State of Full-Stack OCaml (with António Monteiro)](https://pod.link/developer-voices/episode/4666dc4d7aa59599852c02b6415a36d4) ([video](https://www.youtube.com/watch?v=vSSpbAI_-t0)) +| Jan 2024 | blog | [What's possible with Melange](https://sancho.dev/blog/whats-possible-with-melange) +| Nov 2023 | talk | [Dillon Mulroy — Melange: The Next Frontier in Type-Safe Web Development](https://www.youtube.com/watch?v=zG7JejHlQoM) +| Nov 2023 | blog | [Building React Server Components in OCaml](https://tech.ahrefs.com/building-react-server-components-in-ocaml-81c276713f19) | +| Oct 2023 | blog | [Reason and React Meta-Frameworks](https://dev.to/psb/reason-and-react-meta-frameworks-d7n) | +| Sep 2023 | talk | [David Sancho — Server side rendering React natively with Reason](https://www.youtube.com/watch?v=e3qY-Eg9zRY) +| Sep 2023 | blog | [Beyond TypeScript: Differences Between Typed Languages](https://tech.ahrefs.com/beyond-typescript-differences-between-typed-languages-f3e14253) | +| Jul 2023 | blog | [Getting started with ReasonReact and Melange](https://dev.to/psb/getting-started-with-reasonreact-and-melange-13hd) +| May 2023 | podcast | [David Sancho chats to Antonio Monteiro about OCaml and Melange](https://www.youtube.com/watch?v=zKO-Y2_a-yk) | +| May 2023 | blog | [Ahrefs.com is now built with Melange](https://tech.ahrefs.com/ahrefs-is-now-built-with-melange-b14f5ec56df4) | +| Aug 2021 | podcast | [Talking with António Monteiro about Melange, Esy, Reason, OCaml and more](https://watch.ocaml.org/w/aEabwHEfXTKGxTNi6Xhy2a) | +| May 2021 | blog | [Building Ahrefs codebase with Melange](https://tech.ahrefs.com/building-ahrefs-codebase-with-melange-9f881f6d022b) + +## Tutorials, streams, books + +| Type | Description | +| ---- | ----------- | +| tutorial | [Write maintainable React applications using OCaml](https://github.com/ahrefs/react-alicante-workshop) (workshop from [React Alicante 2024](https://reactalicante.es/)) +| book | [Melange for React Developers](https://react-book.melange.re/) | +| tutorial | [Dillon Mulroy's Melange for React Developers video series](https://www.youtube.com/watch?v=QrtRihR0Av4) | +| stream | [Dillon Mulroy's OCaml & Coffee series](https://www.youtube.com/playlist?list=PLDL56tuRMHREWul0M6rYswanMpwCVsIBC) | + + +## Libraries + +- [melange-fest](https://ocaml.org/p/melange-fest) +- [melange-fetch](https://ocaml.org/p/melange-fetch) +- [melange-jest](https://ocaml.org/p/melange-jest) +- [melange-json](https://ocaml.org/p/melange-json) +- [melange-moment](https://ocaml.org/p/melange-moment) +- [melange-numeral](https://ocaml.org/p/melange-numeral) +- [melange-radix-icons](https://ocaml.org/p/melange-radix-icons) +- [melange-react-dates](https://ocaml.org/p/melange-react-dates) +- [melange-react-query](https://ocaml.org/p/melange-react-query) +- [melange-recharts](https://ocaml.org/p/melange-recharts) +- [melange-testing-library](https://ocaml.org/p/melange-testing-library) +- [melange-webapi](https://ocaml.org/p/melange-webapi) +- [reason-react](https://ocaml.org/p/reason-react) +- [reason-react-ppx](https://ocaml.org/p/reason-react-ppx) +- [reshowcase](https://ocaml.org/p/reshowcase) +- [styled-ppx](https://ocaml.org/p/styled-ppx) + +See [all packages on Opam Repository tagged with 'melange'](https://ocaml.org/packages/search?q=tag%3A%22melange%22) diff --git a/package.json b/package.json index 60090a1a7..43dff247b 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,6 @@ "directories": { "doc": "docs" }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "docs:dev": "vitepress dev docs", - "docs:build": "vitepress build docs", - "docs:preview": "vitepress preview docs" - }, "repository": { "type": "git", "url": "git+https://github.com/melange-re/melange-re.github.io.git" @@ -25,4 +19,4 @@ "devDependencies": { "vitepress": "^1.0.0-rc.42" } -} \ No newline at end of file +}