Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docs] Parse markdown on mount #20601

Merged
merged 35 commits into from
Apr 20, 2020
Merged

Conversation

eps1lon
Copy link
Member

@eps1lon eps1lon commented Apr 16, 2020

Removes all markdown parsing during render. All of the use cases only passed code so we introduced a HighlightedCode component instead.

require.context is a bit un-ergonomic for the single-markdown-file use case. They will get swapped out for vanilla fs.readFile once we move to getStaticProps.

/docs/pages is mostly noise. Reviewing one file is enough to understand the new template.

getStaticProps does not work1 as long as we have getInitialProps on _app. So we still parse the markdown at runtime but at least don't parse it when re-rendering the page. This means that we AppTableOfContets is StrictMode compatible.

Testing on /components/buttons/ first before I codemod the full docs.

1 I wouldn't be surprised if there's an issue how we build our docs. I honestly don't understand how exportPathMap, rewrites, getInitialProps, getStaticProps, custom _app and custom _document interact. I find the nextjs docs severly lacking. This will hopefully resolve itself once rewrites get stable and _app allows getStaticProps

internal changes

useMarkdownDocs is now prepareMarkdown in parseMarkdown.js. prepareMarkdown now handles title and description logic. It will not throw if these values could not be determined. It's up to the caller to decide whether these should be set.

MarkdownElement no longer parses markdown. Rather it accepts either raw html in renderedMarkdown or a ReactNode in children.

All use cases of MarkdownElement in pages only needed code highlighting. Introduced <HighlightedCode code={string} language={string} /> to support this use case.

Results

We're trading more bytes sent for less CPU (render) time. This is better in the long run since we render far more often than we download assets. Asserts are cached. Calls to ReactDOM.render aren't.

For initial load you won't see significant results. Differences are too small. What will be faster is once you hit the cache.

/

https://www.webpagetest.org/video/compare.php?tests=200419_HS_5862aab14fdeaeb6f56e4653691ad5c6,200419_TY_e1621d7fa2db0a5da4db1719083d8101

Quite significant reduction in CPU usage (5.5s down from 6.2).

/components/alert/

https://www.webpagetest.org/video/compare.php?tests=200419_BG_2cd12b109ad9b38cf88a2fcd8edd6a63,200419_72_7314dd19046d6d1593a80f96917fd9da

Similar results as /

@eps1lon eps1lon added the docs Improvements or additions to the documentation label Apr 16, 2020
@mui-pr-bot
Copy link

mui-pr-bot commented Apr 16, 2020

Details of bundle changes.

Comparing: 310fcb1...4d63852

Details of page changes
bundle Size Change Size Gzip Change Gzip
/components/tables ▼ -35 kB (-20.11% ) 139 kB -- -1 B
/components/pickers ▼ -32.3 kB (-84.33% ) 6 kB -- -1 B
/guides/migration-v3 ▼ -3.3 kB (-14.80% ) 19 kB -- -1 B
/components/autocomplete ▲ +2.2 kB (+2.25% ) 100 kB -- -1 B
/api-docs/icon ▲ +1.62 kB (+103.18% ) 3.19 kB -- -1 B
/guides/api ▼ -1.6 kB (-9.20% ) 15.8 kB -- -1 B
/components/grid ▼ -1.5 kB (-4.44% ) 32.3 kB -- -1 B
/components/snackbars ▲ +1.4 kB (+5.19% ) 28.4 kB -- -1 B
/styles/basics ▼ -1.4 kB (-7.87% ) 16.4 kB -- -1 B
/components/app-bar ▼ -1.3 kB (-4.15% ) 30 kB -- -1 B
/api-docs/pagination ▲ +1.21 kB (+59.90% ) 3.23 kB -- -1 B
/components/buttons ▲ +1.2 kB (+4.80% ) 26.2 kB -- -1 B
/styles/advanced ▲ +1.2 kB (+3.90% ) 32 kB -- -1 B
/customization/color ▼ -1.1 kB (-5.02% ) 20.8 kB -- -1 B
/api-docs/button ▲ +1.08 kB (+45.76% ) 3.44 kB -- -1 B
/api-docs/list ▲ +1.06 kB (+72.11% ) 2.53 kB -- -1 B
/components/material-icons ▲ +1 kB (+0.14% ) 729 kB -- -1 B
/components/menus ▲ +1 kB (+4.18% ) 24.9 kB -- -1 B
/api-docs/drawer ▲ +960 B (+50.26% ) 2.87 kB -- -1 B
/api-docs/input ▲ +910 B (+34.73% ) 3.53 kB -- -1 B
/components/dialogs ▼ -900 B (-2.06% ) 42.7 kB -- -1 B
/components/tooltips ▼ -900 B (-5.20% ) 16.4 kB -- -1 B
/components/drawers ▲ +800 B (+2.61% ) 31.4 kB -- -1 B
/guides/interoperability ▲ +800 B (+5.37% ) 15.7 kB -- -1 B
/styles/api ▲ +800 B (+5.00% ) 16.8 kB -- -1 B
/api-docs/button-group ▲ +710 B (+35.68% ) 2.7 kB -- -1 B
/components/progress ▼ -700 B (-3.23% ) 21 kB -- -1 B
/components/selects ▲ +700 B (+2.33% ) 30.7 kB -- -1 B
/components/slider ▲ +700 B (+4.79% ) 15.3 kB -- -1 B
/api-docs/stepper ▲ +660 B (+40.24% ) 2.3 kB -- -1 B
/customization/components ▲ +600 B (+1.60% ) 38.1 kB -- -1 B
/getting-started/faq ▲ +600 B (+1.81% ) 33.8 kB -- -1 B
/components/popover ▲ +500 B (+2.96% ) 17.4 kB -- -1 B
/components/text-fields ▼ -500 B (-0.91% ) 54.2 kB -- -1 B
/api-docs/avatar ▲ +440 B (+26.83% ) 2.08 kB -- -1 B
/api-docs/select ▲ +440 B (+16.18% ) 3.16 kB -- -1 B
/components/radio-buttons ▼ -400 B (-2.65% ) 14.7 kB -- -1 B
/components/use-media-query ▼ -400 B (-3.05% ) 12.7 kB -- -1 B
/customization/palette ▲ +400 B (+3.33% ) 12.4 kB -- -1 B
/api-docs/css-baseline ▲ +390 B (+33.05% ) 1.57 kB -- -1 B
/blog/2020-introducing-sketch ▲ +370 B (+11.86% ) 3.49 kB -- -1 B
/blog/may-2019-update ▲ +370 B (+18.69% ) 2.35 kB -- -1 B
/blog/october-2019-update ▲ +370 B (+17.37% ) 2.5 kB -- -1 B
/blog/2020-q1-update ▲ +360 B (+9.07% ) 4.33 kB -- -1 B
/blog/november-2019-update ▲ +360 B (+15.06% ) 2.75 kB -- -1 B
/blog/september-2019-update ▲ +360 B (+15.52% ) 2.68 kB -- -1 B
/blog/2019-developer-survey-results ▲ +350 B (+5.83% ) 6.35 kB -- -1 B
/blog/2019 ▲ +350 B (+9.00% ) 4.24 kB -- -1 B
/blog/april-2019-update ▲ +350 B (+12.59% ) 3.13 kB -- -1 B
/blog/august-2019-update ▲ +350 B (+18.52% ) 2.24 kB -- -1 B
/blog/july-2019-update ▲ +350 B (+19.66% ) 2.13 kB -- -1 B
/blog/june-2019-update ▲ +350 B (+21.21% ) 2 kB -- -1 B
/blog/march-2019-update ▲ +350 B (+16.06% ) 2.53 kB -- -1 B
/blog/material-ui-v1-is-out ▲ +350 B (+5.55% ) 6.66 kB -- -1 B
/blog/material-ui-v4-is-out ▲ +350 B (+3.75% ) 9.69 kB -- -1 B
/blog/december-2019-update ▲ +340 B (+16.75% ) 2.37 kB -- -1 B
/components/typography ▼ -340 B (-3.50% ) 9.37 kB -- -1 B
/api-docs/container ▲ +330 B (+20.00% ) 1.98 kB -- -1 B
/_app ▼ -300 B (-0.81% ) 36.8 kB -- -1 B
/components/badges ▲ +300 B (+2.00% ) 15.3 kB -- -1 B
/components/cards ▲ +300 B (+1.78% ) 17.2 kB -- -1 B
/components/checkboxes ▼ -300 B (-1.81% ) 16.3 kB -- -1 B
/components/icons ▼ -300 B (-1.20% ) 24.6 kB -- -1 B
/components/popper ▲ +300 B (+1.33% ) 22.9 kB -- -1 B
/components/rating ▼ -300 B (-2.70% ) 10.8 kB -- -1 B
/components/steppers ▲ +300 B (+0.83% ) 36.5 kB -- -1 B
/components/toggle-button ▼ -300 B (-2.83% ) 10.3 kB -- -1 B
/components/transitions ▲ +300 B (+2.75% ) 11.2 kB -- -1 B
/customization/theming ▼ -300 B (-1.76% ) 16.7 kB -- -1 B
docs:chunk:shared ▲ +290 B (+0.47% ) 61.4 kB -- -1 B
/api-docs/autocomplete ▲ +240 B (+5.63% ) 4.5 kB -- -1 B
/api-docs/bottom-navigation-action ▲ +240 B (+15.19% ) 1.82 kB -- -1 B
/api-docs/avatar-group ▲ +230 B (+17.83% ) 1.52 kB -- -1 B
/api-docs/breadcrumbs ▲ +230 B (+14.20% ) 1.85 kB -- -1 B
/api-docs/button-base ▲ +230 B (+10.90% ) 2.34 kB -- -1 B
/api-docs/chip ▲ +230 B (+10.31% ) 2.46 kB -- -1 B
/api-docs/circular-progress ▲ +230 B (+12.50% ) 2.07 kB -- -1 B
/api-docs/collapse ▲ +230 B (+12.85% ) 2.02 kB -- -1 B
/api-docs/grid ▲ +230 B (+9.87% ) 2.56 kB -- -1 B
/api-docs/menu ▲ +230 B (+10.60% ) 2.4 kB -- -1 B
/api-docs/native-select ▲ +230 B (+12.37% ) 2.09 kB -- -1 B
/api-docs/pagination-item ▲ +230 B (+13.14% ) 1.98 kB -- -1 B
/api-docs/skeleton ▲ +230 B (+14.84% ) 1.78 kB -- -1 B
/api-docs/table-cell ▲ +230 B (+12.11% ) 2.13 kB -- -1 B
/api-docs/toggle-button-group ▲ +230 B (+14.11% ) 1.86 kB -- -1 B
/api-docs/textarea-autosize ▲ +221 B (+24.31% ) 1.13 kB -- -1 B
/api-docs/alert-title ▲ +220 B (+18.64% ) 1.4 kB -- -1 B
/api-docs/app-bar ▲ +220 B (+12.79% ) 1.94 kB -- -1 B
/api-docs/backdrop ▲ +220 B (+14.67% ) 1.72 kB -- -1 B
/api-docs/bottom-navigation ▲ +220 B (+14.97% ) 1.69 kB -- -1 B
/api-docs/card-actions ▲ +220 B (+17.46% ) 1.48 kB -- -1 B
/api-docs/card-header ▲ +220 B (+14.10% ) 1.78 kB -- -1 B
/api-docs/card-media ▲ +220 B (+15.07% ) 1.68 kB -- -1 B
/api-docs/dialog-content-text ▲ +220 B (+17.32% ) 1.49 kB -- -1 B
/api-docs/dialog ▲ +220 B (+8.76% ) 2.73 kB -- -1 B
/api-docs/expansion-panel-actions ▲ +220 B (+17.32% ) 1.49 kB -- -1 B
/api-docs/expansion-panel ▲ +220 B (+12.57% ) 1.97 kB -- -1 B
/api-docs/fade ▲ +220 B (+18.80% ) 1.39 kB -- -1 B
/api-docs/filled-input ▲ +220 B (+8.27% ) 2.88 kB -- -1 B
/api-docs/form-control-label ▲ +220 B (+12.50% ) 1.98 kB -- -1 B
/api-docs/form-group ▲ +220 B (+16.42% ) 1.56 kB -- -1 B
/api-docs/form-helper-text ▲ +220 B (+13.02% ) 1.91 kB -- -1 B
/api-docs/form-label ▲ +220 B (+13.58% ) 1.84 kB -- -1 B
/api-docs/grid-list-tile-bar ▲ +220 B (+14.01% ) 1.79 kB -- -1 B
/api-docs/grid-list-tile ▲ +220 B (+14.67% ) 1.72 kB -- -1 B
/api-docs/grid-list ▲ +220 B (+15.71% ) 1.62 kB -- -1 B
/api-docs/input-adornment ▲ +220 B (+12.87% ) 1.93 kB -- -1 B
/api-docs/linear-progress ▲ +220 B (+12.09% ) 2.04 kB -- -1 B
/api-docs/list-item-icon ▲ +220 B (+17.05% ) 1.51 kB -- -1 B
/api-docs/list-item-secondary-action ▲ +220 B (+17.60% ) 1.47 kB -- -1 B
/api-docs/list-item-text ▲ +220 B (+14.01% ) 1.79 kB -- -1 B
/api-docs/list-item ▲ +220 B (+10.78% ) 2.26 kB -- -1 B
/api-docs/list-subheader ▲ +220 B (+14.19% ) 1.77 kB -- -1 B
/api-docs/menu-item ▲ +220 B (+14.47% ) 1.74 kB -- -1 B
/api-docs/menu-list ▲ +220 B (+16.30% ) 1.57 kB -- -1 B
/api-docs/mobile-stepper ▲ +220 B (+12.87% ) 1.93 kB -- -1 B
/api-docs/paper ▲ +220 B (+13.33% ) 1.87 kB -- -1 B
/api-docs/popover ▲ +220 B (+8.91% ) 2.69 kB -- -1 B
/api-docs/radio ▲ +220 B (+11.58% ) 2.12 kB -- -1 B
/api-docs/scoped-css-baseline ▲ +220 B (+18.49% ) 1.41 kB -- -1 B
/api-docs/slide ▲ +220 B (+16.67% ) 1.54 kB -- -1 B
/api-docs/slider ▲ +220 B (+7.61% ) 3.11 kB -- -1 B
/api-docs/snackbar ▲ +220 B (+8.80% ) 2.72 kB -- -1 B
/api-docs/speed-dial-action ▲ +220 B (+12.09% ) 2.04 kB -- -1 B
/api-docs/speed-dial-icon ▲ +220 B (+16.54% ) 1.55 kB -- -1 B
/api-docs/speed-dial ▲ +220 B (+10.53% ) 2.31 kB -- -1 B
/api-docs/step ▲ +220 B (+15.49% ) 1.64 kB -- -1 B
/api-docs/swipeable-drawer ▲ +220 B (+12.36% ) 2 kB -- -1 B
/api-docs/table-container ▲ +220 B (+17.60% ) 1.47 kB -- -1 B
/api-docs/table-footer ▲ +220 B (+17.60% ) 1.47 kB -- -1 B
/api-docs/table-pagination ▲ +220 B (+9.82% ) 2.46 kB -- -1 B
/api-docs/table-row ▲ +220 B (+14.97% ) 1.69 kB -- -1 B
/api-docs/table-sort-label ▲ +220 B (+13.66% ) 1.83 kB -- -1 B
/api-docs/table ▲ +220 B (+15.07% ) 1.68 kB -- -1 B
/api-docs/tabs ▲ +220 B (+9.52% ) 2.53 kB -- -1 B
/api-docs/toggle-button ▲ +220 B (+13.84% ) 1.81 kB -- -1 B
/api-docs/toolbar ▲ +220 B (+15.38% ) 1.65 kB -- -1 B
/api-docs/tooltip ▲ +220 B (+9.44% ) 2.55 kB -- -1 B
/api-docs/tree-item ▲ +220 B (+14.01% ) 1.79 kB -- -1 B
/api-docs/alert ▲ +210 B (+9.59% ) 2.4 kB -- -1 B
/api-docs/badge ▲ +210 B (+10.94% ) 2.13 kB -- -1 B
/api-docs/card-content ▲ +210 B (+17.07% ) 1.44 kB -- -1 B
/api-docs/card ▲ +210 B (+16.28% ) 1.5 kB -- -1 B
/api-docs/checkbox ▲ +210 B (+10.05% ) 2.3 kB -- -1 B
/api-docs/click-away-listener ▲ +210 B (+18.10% ) 1.37 kB -- -1 B
/api-docs/dialog-actions ▲ +210 B (+16.67% ) 1.47 kB -- -1 B
/api-docs/dialog-content ▲ +210 B (+16.94% ) 1.45 kB -- -1 B
/api-docs/dialog-title ▲ +210 B (+16.41% ) 1.49 kB -- -1 B
/api-docs/divider ▲ +210 B (+13.21% ) 1.8 kB -- -1 B
/api-docs/expansion-panel-details ▲ +210 B (+17.50% ) 1.41 kB -- -1 B
/api-docs/expansion-panel-summary ▲ +210 B (+14.00% ) 1.71 kB -- -1 B
/api-docs/fab ▲ +210 B (+11.11% ) 2.1 kB -- -1 B
/api-docs/form-control ▲ +210 B (+9.77% ) 2.36 kB -- -1 B
/api-docs/hidden ▲ +210 B (+15.91% ) 1.53 kB -- -1 B
/api-docs/icon-button ▲ +210 B (+11.11% ) 2.1 kB -- -1 B
/api-docs/input-base ▲ +210 B (+7.64% ) 2.96 kB -- -1 B
/api-docs/input-label ▲ +210 B (+11.29% ) 2.07 kB -- -1 B
/api-docs/link ▲ +210 B (+12.21% ) 1.93 kB -- -1 B
/api-docs/list-item-avatar ▲ +210 B (+16.28% ) 1.5 kB -- -1 B
/api-docs/modal ▲ +210 B (+9.81% ) 2.35 kB -- -1 B
/api-docs/no-ssr ▲ +210 B (+19.27% ) 1.3 kB -- -1 B
/api-docs/outlined-input ▲ +210 B (+7.58% ) 2.98 kB -- -1 B
/api-docs/popper ▲ +210 B (+12.14% ) 1.94 kB -- -1 B
/api-docs/portal ▲ +210 B (+18.75% ) 1.33 kB -- -1 B
/api-docs/radio-group ▲ +210 B (+17.07% ) 1.44 kB -- -1 B
/api-docs/rating ▲ +210 B (+9.21% ) 2.49 kB -- -1 B
/api-docs/root-ref ▲ +210 B (+17.50% ) 1.41 kB -- -1 B
/api-docs/step-button ▲ +210 B (+14.79% ) 1.63 kB -- -1 B
/api-docs/step-connector ▲ +210 B (+15.79% ) 1.54 kB -- -1 B
/api-docs/step-content ▲ +210 B (+13.91% ) 1.72 kB -- -1 B
/api-docs/step-icon ▲ +210 B (+15.56% ) 1.56 kB -- -1 B
/api-docs/step-label ▲ +210 B (+12.50% ) 1.89 kB -- -1 B
/api-docs/svg-icon ▲ +210 B (+10.29% ) 2.25 kB -- -1 B
/api-docs/switch ▲ +210 B (+9.33% ) 2.46 kB -- -1 B
/api-docs/tab ▲ +210 B (+11.80% ) 1.99 kB -- -1 B
/api-docs/table-body ▲ +210 B (+16.80% ) 1.46 kB -- -1 B
/api-docs/table-head ▲ +210 B (+16.80% ) 1.46 kB -- -1 B
/api-docs/text-field ▲ +210 B (+7.07% ) 3.18 kB -- -1 B
/api-docs/tree-view ▲ +210 B (+12.35% ) 1.91 kB -- -1 B
/api-docs/typography ▲ +210 B (+8.86% ) 2.58 kB -- -1 B
/api-docs/zoom ▲ +210 B (+17.50% ) 1.41 kB -- -1 B
/api-docs/card-action-area ▲ +200 B (+14.60% ) 1.57 kB -- -1 B
/api-docs/grow ▲ +200 B (+16.13% ) 1.44 kB -- -1 B
/api-docs/snackbar-content ▲ +200 B (+14.18% ) 1.61 kB -- -1 B
/components/chips ▲ +200 B (+0.93% ) 21.8 kB -- -1 B
/components/grid-list ▲ +200 B (+1.69% ) 12 kB -- -1 B
/components/modal ▲ +200 B (+1.71% ) 11.9 kB -- -1 B
/components/tree-view ▼ -200 B (-1.79% ) 11 kB -- -1 B
/customization/breakpoints ▼ -200 B (-1.28% ) 15.4 kB -- -1 B
/company/contact ▲ +190 B (+16.67% ) 1.33 kB -- -1 B
/system/typography ▲ +190 B (+4.50% ) 4.41 kB -- -1 B
/company/about ▲ +180 B (+11.54% ) 1.74 kB -- -1 B
/company/jobs ▲ +180 B (+15.52% ) 1.34 kB -- -1 B
/discover-more/related-projects ▲ +160 B (+2.21% ) 7.41 kB -- -1 B
/components/pagination ▲ +150 B (+1.61% ) 9.44 kB -- -1 B
/components/css-baseline ▲ +130 B (+1.96% ) 6.76 kB -- -1 B
/getting-started/learn ▲ +130 B (+1.55% ) 8.52 kB -- -1 B
/system/flexbox ▲ +130 B (+2.27% ) 5.85 kB -- -1 B
/getting-started/usage ▲ +120 B (+1.28% ) 9.49 kB -- -1 B
/guides/testing ▲ +120 B (+1.43% ) 8.49 kB -- -1 B
/guides/minimizing-bundle-size ▲ +110 B (+1.63% ) 6.84 kB -- -1 B
/system/api ▲ +110 B (+1.88% ) 5.96 kB -- -1 B
/components/about-the-lab ▲ +100 B (+1.67% ) 6.09 kB -- -1 B
/components/alert ▲ +100 B (+0.81% ) 12.5 kB -- -1 B
/components/breadcrumbs ▼ -100 B (-0.68% ) 14.7 kB -- -1 B
/components/dividers ▲ +100 B (+0.79% ) 12.7 kB -- -1 B
/components/expansion-panels ▲ +100 B (+0.49% ) 20.4 kB -- -1 B
/components/floating-action-button ▼ -100 B (-0.95% ) 10.4 kB -- -1 B
/components/lists ▼ -100 B (-0.38% ) 26.5 kB -- -1 B
/components/speed-dial ▼ -100 B (-0.69% ) 14.3 kB -- -1 B
/components/tabs ▲ +100 B (+0.51% ) 19.7 kB -- -1 B
/customization/default-theme ▲ +100 B (+1.17% ) 8.65 kB -- -1 B
/customization/typography ▼ -100 B (-0.86% ) 11.5 kB -- -1 B
/discover-more/showcase ▼ -100 B (-0.74% ) 13.4 kB -- -1 B
/guides/composition ▲ +100 B (+0.70% ) 14.3 kB -- -1 B
/system/basics ▲ +100 B (+0.37% ) 27.2 kB -- -1 B
/components/switches ▼ -100 B (-0.62% ) 16.1 kB -- -1 B
/components/links ▲ +90 B (+1.32% ) 6.91 kB -- -1 B
/components/no-ssr ▲ +90 B (+1.79% ) 5.11 kB -- -1 B
/getting-started/support ▲ +90 B (+1.15% ) 7.94 kB -- -1 B
/guides/responsive-ui ▲ +90 B (+2.15% ) 4.27 kB -- -1 B
/system/sizing ▲ +90 B (+2.62% ) 3.53 kB -- -1 B
/customization/spacing ▲ +80 B (+3.21% ) 2.57 kB -- -1 B
/getting-started/installation ▲ +80 B (+1.05% ) 7.68 kB -- -1 B
/getting-started/templates ▲ +80 B (+0.93% ) 8.71 kB -- -1 B
/guides/server-rendering ▼ -80 B (-0.95% ) 8.3 kB -- -1 B
/components/box ▲ +70 B (+0.88% ) 8.05 kB -- -1 B
/components/container ▲ +70 B (+1.82% ) 3.92 kB -- -1 B
/customization/density ▲ +70 B (+0.72% ) 9.74 kB -- -1 B
/customization/globals ▲ +70 B (+1.51% ) 4.72 kB -- -1 B
/discover-more/changelog ▲ +70 B (+5.11% ) 1.44 kB -- -1 B
/discover-more/vision ▲ +70 B (+1.00% ) 7.1 kB -- -1 B
/guides/right-to-left ▲ +70 B (+1.04% ) 6.8 kB -- -1 B
/system/palette ▲ +70 B (+1.64% ) 4.35 kB -- -1 B
/system/positions ▲ +70 B (+2.85% ) 2.53 kB -- -1 B
/system/shadows ▲ +70 B (+1.96% ) 3.64 kB -- -1 B
/components/avatars ▲ +60 B (+0.69% ) 8.78 kB -- -1 B
/components/bottom-navigation ▲ +60 B (+0.97% ) 6.27 kB -- -1 B
/components/paper ▲ +60 B (+1.75% ) 3.49 kB -- -1 B
/components/textarea-autosize ▲ +60 B (+2.12% ) 2.89 kB -- -1 B
/components/transfer-list ▲ +60 B (+0.62% ) 9.67 kB -- -1 B
/discover-more/backers ▲ +60 B (+2.08% ) 2.94 kB -- -1 B
/system/borders ▲ +60 B (+1.49% ) 4.1 kB -- -1 B
/components/click-away-listener ▲ +50 B (+1.24% ) 4.07 kB -- -1 B
/components/backdrop ▲ +50 B (+1.42% ) 3.57 kB -- -1 B
/components/button-group ▲ +50 B (+0.70% ) 7.18 kB -- -1 B
/discover-more/languages ▲ +50 B (+1.48% ) 3.43 kB -- -1 B
/discover-more/roadmap ▲ +50 B (+1.36% ) 3.72 kB -- -1 B
/discover-more/team ▲ +50 B (+0.75% ) 6.72 kB -- -1 B
/guides/flow ▲ +50 B (+2.26% ) 2.26 kB -- -1 B
/components/portal ▲ +40 B (+1.38% ) 2.94 kB -- -1 B
/customization/z-index ▲ +40 B (+1.31% ) 3.09 kB -- -1 B
/guides/migration-v0x ▲ +40 B (+0.55% ) 7.29 kB -- -1 B
/system/display ▲ +40 B (+0.62% ) 6.54 kB -- -1 B
/system/spacing ▲ +40 B (+0.67% ) 6.01 kB -- -1 B
/getting-started/supported-components ▲ +20 B (+0.32% ) 6.21 kB -- -1 B
/getting-started/example-projects ▲ +10 B (+0.16% ) 6.18 kB -- -1 B
/getting-started/supported-platforms ▲ +10 B (+0.18% ) 5.7 kB -- -1 B
/getting-started/templates/album ▼ -10 B (-0.18% ) 5.57 kB -- -1 B
/getting-started/templates/blog ▼ -10 B (-0.13% ) 7.43 kB -- -1 B
/getting-started/templates/dashboard ▼ -10 B (-0.11% ) 8.85 kB -- -1 B
/getting-started/templates/sign-in ▼ -10 B (-0.11% ) 9.47 kB -- -1 B
/premium-themes/onepirate ▲ +10 B (+0.14% ) 7.24 kB -- -1 B
/components/hidden -- 10.5 kB -- -1 B
/components/skeleton -- 10.1 kB -- -1 B
/getting-started/templates/checkout -- 11.2 kB -- -1 B
/getting-started/templates/pricing -- 7.79 kB -- -1 B
/getting-started/templates/sign-in-side -- 9.24 kB -- -1 B
/getting-started/templates/sign-up -- 9.59 kB -- -1 B
/getting-started/templates/sticky-footer -- 1.54 kB -- -1 B
/guides/localization -- 10.3 kB -- -1 B
/guides/typescript -- 13.4 kB -- -1 B
/performance/table-component -- 1.44 kB -- -1 B
/performance/table-emotion -- 8.49 kB -- -1 B
/performance/table-hook -- 2.23 kB -- -1 B
/performance/table-mui -- 4.47 kB -- -1 B
/performance/table-raw -- 613 B -- -1 B
/performance/table-styled-components -- 2.6 kB -- -1 B
/premium-themes/onepirate/forgot-password -- 1.01 kB -- -1 B
/premium-themes/onepirate/privacy -- 4.43 kB -- -1 B
/premium-themes/onepirate/sign-in -- 1.07 kB -- -1 B
/premium-themes/onepirate/sign-up -- 1.12 kB -- -1 B
/premium-themes/onepirate/terms -- 11.8 kB -- -1 B
/premium-themes/paperbase -- 8.9 kB -- -1 B
/versions -- 23.7 kB -- -1 B
docs:shared:chunk/commons -- 5.99 kB -- -1 B
docs:shared:chunk/framework -- 42.3 kB -- -1 B
docs:shared:runtime/main -- 6.78 kB -- -1 B
docs:shared:runtime/webpack -- 1.24 kB -- -1 B
bundle Size Change Size Gzip Change Gzip
docs:/ ▲ +800 B (+7.34% ) 11.7 kB -- -1 B
docs:/_app ▼ -300 B (-0.81% ) 36.8 kB -- -1 B
@material-ui/core -- 372 kB -- 102 kB
@material-ui/core[umd] -- 327 kB -- 94.1 kB
@material-ui/lab -- 203 kB -- 60.4 kB
@material-ui/styles -- 52 kB -- 15.6 kB
@material-ui/system -- 17.2 kB -- 4.52 kB
Alert -- 87.6 kB -- 27.8 kB
AlertTitle -- 68.9 kB -- 21.7 kB
AppBar -- 68.7 kB -- 21.6 kB
Autocomplete -- 136 kB -- 42.9 kB
Avatar -- 69.9 kB -- 21.9 kB
AvatarGroup -- 70.9 kB -- 22.5 kB
Backdrop -- 72.7 kB -- 22.5 kB
Badge -- 70 kB -- 21.8 kB
BottomNavigation -- 67.1 kB -- 21.1 kB
BottomNavigationAction -- 79.8 kB -- 25.4 kB
Box -- 73.6 kB -- 22.4 kB
Breadcrumbs -- 84.8 kB -- 26.9 kB
Button -- 84 kB -- 25.8 kB
ButtonBase -- 78.3 kB -- 24.6 kB
ButtonGroup -- 87.5 kB -- 27.1 kB
Card -- 67.6 kB -- 21.2 kB
CardActionArea -- 79.4 kB -- 25.2 kB
CardActions -- 66.8 kB -- 21 kB
CardContent -- 66.7 kB -- 20.9 kB
CardHeader -- 69.8 kB -- 22 kB
CardMedia -- 67.1 kB -- 21.1 kB
Checkbox -- 86.5 kB -- 27.5 kB
Chip -- 87 kB -- 26.8 kB
CircularProgress -- 68.8 kB -- 21.7 kB
ClickAwayListener -- 4.04 kB -- 1.63 kB
Collapse -- 77.2 kB -- 22.8 kB
colorManipulator -- 3.88 kB -- 1.52 kB
Container -- 67.9 kB -- 21.3 kB
CssBaseline -- 66.7 kB -- 21 kB
Dialog -- 87.7 kB -- 27.5 kB
DialogActions -- 66.8 kB -- 21 kB
DialogContent -- 66.9 kB -- 21 kB
DialogContentText -- 68.8 kB -- 21.6 kB
DialogTitle -- 69 kB -- 21.7 kB
Divider -- 67.4 kB -- 21.2 kB
Drawer -- 89.5 kB -- 27.3 kB
ExpansionPanel -- 76.4 kB -- 24.1 kB
ExpansionPanelActions -- 66.8 kB -- 21 kB
ExpansionPanelDetails -- 66.7 kB -- 20.9 kB
ExpansionPanelSummary -- 82.4 kB -- 26.2 kB
Fab -- 81.1 kB -- 25.4 kB
Fade -- 32.5 kB -- 9.8 kB
FilledInput -- 78.3 kB -- 24.4 kB
FormControl -- 69.1 kB -- 21.6 kB
FormControlLabel -- 70.2 kB -- 22.1 kB
FormGroup -- 66.7 kB -- 20.8 kB
FormHelperText -- 68 kB -- 21.2 kB
FormLabel -- 68.1 kB -- 21.2 kB
Grid -- 69.8 kB -- 21.9 kB
GridList -- 67.2 kB -- 21.1 kB
GridListTile -- 68.4 kB -- 21.5 kB
GridListTileBar -- 67.9 kB -- 21.3 kB
Grow -- 33.2 kB -- 10 kB
Hidden -- 70.7 kB -- 22.3 kB
Icon -- 67.5 kB -- 21.2 kB
IconButton -- 80.5 kB -- 25.2 kB
Input -- 77.3 kB -- 24.2 kB
InputAdornment -- 69.8 kB -- 22 kB
InputBase -- 75.4 kB -- 23.7 kB
InputLabel -- 70 kB -- 21.6 kB
LinearProgress -- 70 kB -- 21.7 kB
Link -- 71.3 kB -- 22.6 kB
List -- 67 kB -- 20.9 kB
ListItem -- 81.4 kB -- 25.6 kB
ListItemAvatar -- 66.8 kB -- 21 kB
ListItemIcon -- 66.9 kB -- 21 kB
ListItemSecondaryAction -- 66.7 kB -- 20.9 kB
ListItemText -- 69.7 kB -- 22 kB
ListSubheader -- 67.5 kB -- 21.3 kB
Menu -- 93.3 kB -- 28.8 kB
MenuItem -- 82.5 kB -- 25.9 kB
MenuList -- 70.7 kB -- 22.2 kB
MobileStepper -- 72.5 kB -- 22.8 kB
Modal -- 14.9 kB -- 5.23 kB
NativeSelect -- 81.6 kB -- 25.9 kB
NoSsr -- 2.18 kB -- 1.03 kB
OutlinedInput -- 79.3 kB -- 24.8 kB
Pagination -- 88.8 kB -- 27.5 kB
PaginationItem -- 85.2 kB -- 26.3 kB
Paper -- 67.1 kB -- 20.9 kB
Popover -- 87.7 kB -- 27.2 kB
Popper -- 28.7 kB -- 10.3 kB
Portal -- 2.87 kB -- 1.29 kB
Radio -- 87.5 kB -- 27.8 kB
RadioGroup -- 68.6 kB -- 21.3 kB
Rating -- 75.3 kB -- 24.3 kB
RootRef -- 4.62 kB -- 1.76 kB
ScopedCssBaseline -- 67.5 kB -- 21.2 kB
Select -- 120 kB -- 35.9 kB
Skeleton -- 67.7 kB -- 21.4 kB
Slide -- 34.6 kB -- 10.4 kB
Slider -- 80.6 kB -- 25.8 kB
Snackbar -- 80.2 kB -- 25.3 kB
SnackbarContent -- 68.2 kB -- 21.3 kB
SpeedDial -- 90.6 kB -- 28.7 kB
SpeedDialAction -- 122 kB -- 38.9 kB
SpeedDialIcon -- 69.3 kB -- 21.8 kB
Step -- 67.4 kB -- 21.2 kB
StepButton -- 86.6 kB -- 27.4 kB
StepConnector -- 67.4 kB -- 21.3 kB
StepContent -- 73.9 kB -- 23.1 kB
StepIcon -- 69.3 kB -- 21.6 kB
StepLabel -- 73.3 kB -- 22.7 kB
Stepper -- 69.6 kB -- 22 kB
styles/createMuiTheme -- 22.2 kB -- 7.71 kB
SvgIcon -- 67.7 kB -- 21.2 kB
SwipeableDrawer -- 96.9 kB -- 30.5 kB
Switch -- 85.7 kB -- 27 kB
Tab -- 80.7 kB -- 25.7 kB
Table -- 67.3 kB -- 21.2 kB
TableBody -- 66.8 kB -- 21 kB
TableCell -- 68.8 kB -- 21.7 kB
TableContainer -- 66.7 kB -- 20.9 kB
TableFooter -- 66.9 kB -- 21 kB
TableHead -- 66.8 kB -- 21 kB
TablePagination -- 147 kB -- 43.2 kB
TableRow -- 67.2 kB -- 21.1 kB
TableSortLabel -- 81.7 kB -- 26 kB
Tabs -- 89.6 kB -- 28.7 kB
TextareaAutosize -- 5.23 kB -- 2.19 kB
TextField -- 129 kB -- 38 kB
ToggleButton -- 80.4 kB -- 25.6 kB
ToggleButtonGroup -- 67.9 kB -- 21.4 kB
Toolbar -- 67 kB -- 21.1 kB
Tooltip -- 106 kB -- 33.7 kB
TreeItem -- 80 kB -- 25.4 kB
TreeView -- 73 kB -- 23 kB
Typography -- 68.3 kB -- 21.4 kB
useAutocomplete -- 16.2 kB -- 5.75 kB
useMediaQuery -- 2.56 kB -- 1.06 kB
Zoom -- 32.6 kB -- 9.8 kB

Generated by 🚫 dangerJS against 4d63852

bloats bundle of unrelated pages probably because prism has side-effects
req -> requireDemo
reqSource -> requireRaw
it required svg sprites. We now unshift this in prepareMarkdown rather than
relying on the callsite doing this
some pages still need this
- remove unused useMarkdownDocs
- squash parseMarkdown and prepareMarkdown
@oliviertassinari
Copy link
Member

@eps1lon Thanks for the explanation on the difference between getInitialProps and getStaticProps. Using the latter sounds much better if we can get subsequent page transitions to avoid generating the HTML from the markdown source 👌.

Your approach is crashing on non-ssred languages:

Thanks for raising it. I will look at #20652 back once we get/if we can get getStaticProps.

@eps1lon
Copy link
Member Author

eps1lon commented Apr 20, 2020

Thanks for raising it. I will look at #20652 back once we get/if we can get getStaticProps.

Just a heads up: Summarizing the past months I probably spent days on similar issues. It's not as straight forward as you think it is because routing and rendering are so spread out.

@oliviertassinari
Copy link
Member

@eps1lon Is it ready to be merged?

@eps1lon eps1lon merged commit 74c6155 into mui:master Apr 20, 2020
@eps1lon eps1lon deleted the docs/markdown-build-time branch April 20, 2020 18:01
@eps1lon
Copy link
Member Author

eps1lon commented Apr 20, 2020

Might cause some bad merged for outdated PRs that change /docs/pages. CI will tell :) Thanks for the review!

@ghost
Copy link

ghost commented Apr 24, 2020

Sorry if you guys got notifications about those comments I made. I'm a total noob when it comes to pull requests on Github.

Anyways, there's an issue with line 6 in docs/pages/api-docs/button.js and docs/pages/api-docs/button-group.js. The regex pattern is matching docs/pages/api-docs/toggle-button.md and docs/pages/api-docs/toggle-button-group.md respectively.

@oliviertassinari
Copy link
Member

@Andrew5569 Wow, how did you find that out? Confirmed at https://deploy-preview-20601--material-ui.netlify.app/api/button/.

@ghost ghost mentioned this pull request Apr 24, 2020
1 task
@ghost
Copy link

ghost commented Apr 24, 2020

I noticed it while working on that pull request ^ 😆

@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 24, 2020

@Andrew5569 Ah ok, speaking on which, I was working on this very pull request (#20747), and noticed that we do no longer get a live update when editing the markdown in dev mode.

oliviertassinari added a commit to oliviertassinari/material-ui that referenced this pull request Apr 25, 2020
oliviertassinari added a commit to oliviertassinari/material-ui that referenced this pull request Apr 25, 2020
oliviertassinari added a commit to oliviertassinari/material-ui that referenced this pull request Apr 25, 2020
oliviertassinari added a commit to oliviertassinari/material-ui that referenced this pull request Apr 25, 2020
oliviertassinari added a commit to oliviertassinari/material-ui that referenced this pull request May 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Improvements or additions to the documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants