Skip to content

Commit 05e34c3

Browse files
ryyppyIwanbettisteinIwanKaramazow
authored
New landing page (#370)
* Add first landing page scaffold * Implement minimal skeleton for "Trusted by" section * Add very rough skeleton for "Curated resources" section * Tweak "Main unique selling points" a bit * Tweak playground hero + add hero copy * Implement skeleton for quick install + sponsor * Implement MVP images in trusted by section. * Add rectangles to the background of the playground hero. * Add ultra bad box shadow implementation to playground hero. * Refine playground box, grid positioning, starter templates cards * Style PlaygroundHero, and add some rough QuickInstall section * Add figma color fetching script * Font Size Alignment * tailwind: maxWidth, lineHeight adjustments * tailwind config adjustments * typography alignment * more color adjustments * color adjustments * remove generated colors.js * Fix berry color + playground styles * Navigation fixes * Update fire colors * Add headlessUI dep & bindings * Refine playground, quickinstall and main usp sections * Style MainUSP section * Add OtherSellingPoints section * Fix Intro title padding top * Fix padding for playground edit link on mobile * Tweak the Guides section headlines * add grid2 svg * Update copy * Upgrade to tailwind 2.1.4 * Fix postcss-cli version * Enable TW JIT * Inline _typography into main.css, so tailwind JIT will pick it up * Try esbuild-loader in next setup * Update next & react * Fix audit deps * Fix bg color for syntax lookup tags * blog text changes, button design system * Make Quick Install Section Responsive * Header and Playground Refinement * Playground Widget Typo * USP section: responsive * other selling points to grid * Grid for "Other Selling Points * Grids and users * Fix hljs colors for light mode * Add videos * Guidelines Section: Responsive + Divider added (#400) Co-authored-by: Bettina Steinbrecher <[email protected]> * Clean up design - Refine Button component - Add ImageGallery component - Update Footer to 2021 - Add images for landing page * Add poster images for videos, refine margin for videos in mobile / tablet * Change wording * Remove "and many more" text * Update package-lock * Fix navbar / docsearch colors * Change more wording * Add post * Post changes * Apply suggestions from code review Co-authored-by: Iwan <[email protected]> * Make landing page link relative * Adapt tagline * Add meta data to landing page * Remove unnecessary .npmrc Co-authored-by: Iwan <[email protected]> Co-authored-by: Bettina Steinbrecher <[email protected]> Co-authored-by: Bettina Steinbrecher <[email protected]> Co-authored-by: Iwan <[email protected]>
1 parent 4bf2e0f commit 05e34c3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+4739
-1671
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
author: rescript-team
3+
date: "2021-06-25"
4+
title: Roadmap 2021 & New Landing Page
5+
badge: roadmap
6+
description: |
7+
Announcing our roadmap for 2021 / 2022, release cycle plans and new landing page.
8+
---
9+
10+
import Image from "src/components/Image.mjs"
11+
12+
## Team Update
13+
14+
It has almost been a year since we originally [launched our new ReScript brand](/blog/bucklescript-is-rebranding), and we think it has been a pretty successful journey so far:
15+
16+
- Brand new documentation experience
17+
- Relaunch of `rescript-react` and its new docs
18+
- Release of our re-imagined VSCode & Vim plugins
19+
- New syntax, compiler and build system improvements, including incremental build performance at scale
20+
- Improved interop with polymorphic variants for numbers and strings
21+
- Accessible object system (no need for `Js.t`)
22+
- Making every part of ReScript fully Open Source and therefore independent from any company politics
23+
- The release of our new `rescript` npm package and cli to replace `bs-platform`
24+
- etc.
25+
26+
Stay tuned, this is just the beginning!
27+
28+
### New Roadmap and Release Cycle Plans
29+
30+
We had some thorough discussions about the future of the project and outlined the most important milestones for the next upcoming releases.
31+
32+
**Here's the gist:**
33+
- Two release channels: `stable` and `experimental`
34+
- More predictable release dates and better migration steps
35+
- Better communication and discussion for breaking changes
36+
- Help the community / companies align on major stable versions
37+
38+
The detailed roadmap with all our planned changes (and definition of our release cycle plan) can be found in our [community / roadmap](/community/roadmap) section.
39+
40+
### New Landing Page
41+
42+
After several iterations, we are happy to announce our new [landing page](/).
43+
44+
<Image src="/static/img/landing_page_figma.png" withShadow={true} caption="Figma design draft for the new landing page"/>
45+
46+
This is an incredible milestone for the documentation, and will act as a foundation for some cool new future improvements, such as:
47+
48+
- Highlighted Case Studies from production users such as Beop or Rohea
49+
- An interactive playground widget for the headline code examples
50+
- New starter templates and guides
51+
52+
53+
Furthermore, in case you are a **production user of ReScript** and you want to see your company logo highlighted on the landing page, please [open an issue](https://github.com/rescript-association/rescript-lang.org/issues) and let us know!
54+
55+
Happy hacking.

next.config.js

+19-12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
const { ProvidePlugin } = require('webpack');
2+
const { ESBuildMinifyPlugin } = require('esbuild-loader');
3+
14
const bsconfig = require("./bsconfig.json");
25
const path = require("path");
36
const remarkSlug = require("remark-slug");
@@ -13,18 +16,19 @@ const withMdx = require("./plugins/next-mdx")({
1316
},
1417
});
1518

16-
function patchResDeps() {
17-
["rescript"].concat(bsconfig["bs-dependencies"]).forEach((bsDep) => {
18-
fs.writeFileSync(`./node_modules/${bsDep}/index.js`, "");
19-
const json = require(`./node_modules/${bsDep}/package.json`);
20-
json.main = "index.js";
21-
fs.writeFileSync(
22-
`./node_modules/${bsDep}/package.json`,
23-
JSON.stringify(json, null, 2)
19+
20+
// esbuild-loader specific features
21+
// See: https://github.com/privatenumber/esbuild-loader-examples/blob/master/examples/next/next.config.js
22+
function useEsbuildMinify(config, options) {
23+
const terserIndex = config.optimization.minimizer.findIndex(minimizer => (minimizer.constructor.name === 'TerserPlugin'));
24+
if (terserIndex > -1) {
25+
config.optimization.minimizer.splice(
26+
terserIndex,
27+
1,
28+
new ESBuildMinifyPlugin(options),
2429
);
25-
});
30+
}
2631
}
27-
patchResDeps(); // update package.json and create empty `index.js` before transpiling
2832

2933
const isWebpack5 = true;
3034
const config = {
@@ -44,18 +48,21 @@ const config = {
4448
path: false,
4549
};
4650
}
47-
51+
useEsbuildMinify(config);
4852
// We need this additional rule to make sure that mjs files are
4953
// correctly detected within our src/ folder
5054
config.module.rules.push({
5155
test: /\.m?js$/,
52-
use: options.defaultLoaders.babel,
56+
// v-- currently using an experimental setting with esbuild-loader
57+
//use: options.defaultLoaders.babel,
58+
use: [{loader: 'esbuild-loader', options: { loader: 'jsx'}}],
5359
exclude: /node_modules/,
5460
type: "javascript/auto",
5561
resolve: {
5662
fullySpecified: false,
5763
}
5864
});
65+
config.plugins.push(new ProvidePlugin({ React: "react" }));
5966
}
6067
return config;
6168
},

0 commit comments

Comments
 (0)