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

Font mixins resolve relative paths relative to node_modules/react-md/src/scss #854

Closed
markdon opened this issue Dec 13, 2019 · 4 comments
Closed

Comments

@markdon
Copy link
Contributor

markdon commented Dec 13, 2019

Setup

Using react-md CRA2 install method.

Why do I want to use a relative path?

With this example:

@include host-google-font(Roboto, 400, '/fonts/roboto');
@include host-material-icons('/fonts/material-icons');

Using an absolute path outputs the same absolute path (e.g. /fonts/material-icons/MaterialIcons-Regular.woff2), which in CRA's dev server appears to match files in /public.

This seems to cause a problem when deploying the app to a relative path (e.g. https://mysite/myapp/), the app attempts to download fonts from https://mysite/fonts/... I have <base href="."> in my index page which I thought would fix this, but the /fonts urls are still resolved to https://mysite/fonts.

Using Relative Paths

@include host-google-font(Roboto, 400, 'fonts/roboto');
@include host-material-icons('fonts/material-icons');

Fails to compile with:

./src/index.scss (./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--6-oneOf-5-3!./node_modules/sass-loader/lib/loader.js??ref--6-oneOf-5-4!./src/index.scss)
Module not found: Can't resolve '../node_modules/react-md/src/scss/fonts/material-icons/MaterialIcons-Regular.eot' in 'C:\projects\myapp\cra\src' 

It took me far to long to figure out I can just go up several directories to the actual location of my fonts 😅

Solution

@include host-google-font(Roboto, 400, '../../../../src/fonts/roboto'); 
@include host-material-icons('../../../../src/fonts/material-icons');

This outputs url's like
Dev server: /static/media/Roboto-Regular.3e1af3ef.ttf 👍
build: ../../static/media/Roboto-Regular.3e1af3ef.ttf 👍
Which I guess means the files and urls are being processed by Webpack

This works because the local dev server always runs on / and for build, the css file is in ./static/css.

Conclusion

There isn't a big issue here. This did however take enough of my time to figure out that I thought someone else might find this valuable. This could also be good to mention in the documentation. I thought about a PR but I'm not sure if this is the same when not using Create React App v2.

@markdon markdon added the bug label Dec 13, 2019
@markdon
Copy link
Contributor Author

markdon commented Dec 13, 2019

The react-md documentation is great! It made me realise another solution, which is just to copy out the Basic Usage CSS Output from sassdoc into my scss file and substitute my font paths. But I'd rather use the mixin with crazy relative path!

@mlaursen
Copy link
Owner

mlaursen commented Dec 13, 2019

Thanks for writing this up! I hadn't thought about the webpack usage for these hosting mixins and forgot that the css-loader does some custom resolutions for the url. Looking at the css-loader resolution examples, would this code work?

@include host-google-font(Roboto, 400, '~fonts/roboto');
@include host-material-icons('~fonts/material-icons');

Might be a bit nicer than needing all the ../, but it does assume aliasing the src directory.

I think I'll update the SassDoc for these mixins though to help differentiate between webpack loaded vs normal sass compilations.

@markdon
Copy link
Contributor Author

markdon commented Dec 16, 2019

Aliasing is a nice idea, I didn't even know that was possible!
I had a read about Webpack aliases and using them in CRA. It looks like they're not supported. However, similar to how NODE_PATH is mentioned in that issue, in tsconfig.js I set compilerOptions.baseUrl = "src" and that made the above lines work.

For this small project I won't be making a config change just to make these two lines shorter, but that is a great suggestion :D

@mlaursen
Copy link
Owner

mlaursen commented Feb 3, 2020

Just an update -- While writing documentation for v2, I figured out that at least with react-scripts@3.3.1 you can use the alias paths without any additional configuration by using ~./fonts instead of ~fonts:

@include rmd-typography-host-google-font(Roboto, $rmd-typography-default-font-weights, '~./fonts/roboto');
@include rmd-icon-material-icons-font-face('~./fonts/material-icons');
$ tree build/static/media
build/static/media
├── Roboto-Bold.e07df86c.ttf
├── Roboto-Light.88823c20.ttf
├── Roboto-Medium.58aef543.ttf
└── Roboto-Regular.11eabca2.ttf

Since the code for v1 is almost identical to v2, it might be possible to also do it in v1 if anyone else is checking in on this:

@include host-google-font(Roboto, 400, '~./fonts/roboto');
@include host-material-icons('~./fonts/material-icons');

I'll be going with this example with v2, but keep v1 as-is with the relative paths (../../) to be safe.

@mlaursen mlaursen added this to the v2.0.0 milestone May 6, 2020
mlaursen added a commit that referenced this issue Jun 11, 2020
This should hopefully be the last commit required for the v2 release.
Tagging all the open v2 targeted github issues below so they auto close
once this is merged.

- Closes #826 (v2 status ticket)
- Closes #697
- Closes #854 with the new documentation for [self hosting fonts with relative paths]
- Closes #851, closes #642 with the new [ExpansionPanel] components
- Closes #850, closes #641, closes #600, closes #594, closes #554, closes #519, closes #406, closes #405, closes #404, closes #399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook
- Closes #848, closes #816, closes #788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now)
- Closes #844 since this is available in the [@react-md/sheet package]
- Closes #842 due to re-writing the `Collapse` component
- Closes #824, closes #820, closes #771, closes #707, closes #693, closes #687, closes #654, closes #577, closes #270 due to the new [Tabs API]
- Closes #823, closes #714, closes #705 with the new [Menu components]
- Closes #822 since the new [@react-md/form package] added the new styles.
- Closes #819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components
- Closes #818 with the new focus behavior
- Closes #804, closes #765, closes #743, closes #731, closes #730, closes #671, closes #607, closes #387 with the new [NativeSelect] and [Select] implementations
- Closes #802, closes #762, closes #761, closes #572, closes #486, closes #408, closes #314, closes #312 with the new [TextField] implementation
- Closes #791, closes #780, closes #425 with the new [AutoComplete] implementation
- Closes #770 with the new [FixedDialog] component
- Closes #721, closes #640, closes #407 with the new [Grid] and [GridList] implementations
- Closes #719 with the new [Radio] component
- Closes #706, closes #683 with the new [Button] component
- Closes #695 with the new [Theme API]
- Closes #691 with the new [FileInput] component
- Closes #689 with the new [Tabs API] and [Menu components]
- Closes #674, closes #413 with the new [@react-md/alert package]
- Closes #658 with the new [Menu components] and [@react-md/tree package]
- Closes #582 with the new [Chip] component
- Closes #497, closes #455, closes #419 with the new [@react-md/layout package]
- Closes #496 with the new [Switch] component
- Closes #239, closes #157 with the new [Tooltip] component

[self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts
[useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title
[@react-md/alert package]: https://react-md.dev/packages/alert/demos
[@react-md/layout package]: https://react-md.dev/packages/layout/demos
[@react-md/form package]: https://react-md.dev/packages/form/demos
[@react-md/sheet package]: https://react-md.dev/packages/sheet/demos
[@react-md/tree package]: https://react-md.dev/packages/tree/demos
[Theme API]: https://react-md.dev/guides/customizing-your-theme
[Tabs api]: https://react-md.dev/packages/tabs/demos
[Button]: https://react-md.dev/packages/button/demos
[Chip]: https://react-md.dev/packages/chip/demos
[ExpansionPanel]: https://react-md.dev/packages/button/demos
[menu components]: https://react-md.dev/packages/menu/demos
[FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title
[Switch]: https://react-md.dev/packages/form/demos#switch-examples-title
[NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title
[Select]: https://react-md.dev/packages/form/demos#select-example-title
[Tooltip]: https://react-md.dev/packages/tooltip/demos
[AutoComplete]: https://react-md.dev/packages/autocomplete/demos
[FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title
[TextField]: https://react-md.dev/packages/form/demos#text-field-example-title
[Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title
[Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title
[GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title
[SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx
[ListItemChildren]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
@mlaursen mlaursen mentioned this issue Jun 11, 2020
mlaursen added a commit that referenced this issue Jun 11, 2020
This should hopefully be the last commit required for the v2 release.
Tagging all the open v2 targeted github issues below so they auto close once this is merged.

- Closes #826 (v2 status ticket)
- Closes #697
- Closes #854 with the new documentation for [self hosting fonts with relative paths]
- Closes #851, closes #642 with the new [ExpansionPanel] components
- Closes #850, closes #641, closes #600, closes #594, closes #554, closes #519, closes #406, closes #405, closes #404, closes #399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook
- Closes #848, closes #816, closes #788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now)
- Closes #844 since this is available in the [@react-md/sheet package]
- Closes #842 due to re-writing the `Collapse` component
- Closes #824, closes #820, closes #771, closes #707, closes #693, closes #687, closes #654, closes #577, closes #270 due to the new [Tabs API]
- Closes #823, closes #714, closes #705 with the new [Menu components]
- Closes #822 since the new [@react-md/form package] added the new styles.
- Closes #819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components
- Closes #818 with the new focus behavior
- Closes #804, closes #765, closes #743, closes #731, closes #730, closes #671, closes #607, closes #387 with the new [NativeSelect] and [Select] implementations
- Closes #802, closes #762, closes #761, closes #572, closes #486, closes #408, closes #314, closes #312 with the new [TextField] implementation
- Closes #791, closes #780, closes #425, closes #633 with the new [AutoComplete] implementation
- Closes #770 with the new [FixedDialog] component
- Closes #721, closes #640, closes #407 with the new [Grid] and [GridList] implementations
- Closes #719 with the new [Radio] component
- Closes #706, closes #683 with the new [Button] component
- Closes #695 with the new [Theme API]
- Closes #691 with the new [FileInput] component
- Closes #689 with the new [Tabs API] and [Menu components]
- Closes #674, closes #413 with the new [@react-md/alert package]
- Closes #658 with the new [Menu components] and [@react-md/tree package]
- Closes #582 with the new [Chip] component
- Closes #497, closes #455, closes #419 with the new [@react-md/layout package]
- Closes #496 with the new [Switch] component
- Closes #239, closes #157 with the new [Tooltip] component

[self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts
[useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title
[@react-md/alert package]: https://react-md.dev/packages/alert/demos
[@react-md/layout package]: https://react-md.dev/packages/layout/demos
[@react-md/form package]: https://react-md.dev/packages/form/demos
[@react-md/sheet package]: https://react-md.dev/packages/sheet/demos
[@react-md/tree package]: https://react-md.dev/packages/tree/demos
[Theme API]: https://react-md.dev/guides/customizing-your-theme
[Tabs api]: https://react-md.dev/packages/tabs/demos
[Button]: https://react-md.dev/packages/button/demos
[Chip]: https://react-md.dev/packages/chip/demos
[ExpansionPanel]: https://react-md.dev/packages/button/demos
[menu components]: https://react-md.dev/packages/menu/demos
[FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title
[Switch]: https://react-md.dev/packages/form/demos#switch-examples-title
[NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title
[Select]: https://react-md.dev/packages/form/demos#select-example-title
[Tooltip]: https://react-md.dev/packages/tooltip/demos
[Table]: https://react-md.dev/packages/table/demos
[AutoComplete]: https://react-md.dev/packages/autocomplete/demos
[FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title
[TextField]: https://react-md.dev/packages/form/demos#text-field-example-title
[Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title
[Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title
[GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title
[SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx
[ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
[useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts
pull bot pushed a commit to JCofman/react-md that referenced this issue Jun 15, 2020
This should hopefully be the last commit required for the v2 release.
Tagging all the open v2 targeted github issues below so they auto close once this is merged.

- Closes mlaursen#826 (v2 status ticket)
- Closes mlaursen#697
- Closes mlaursen#854 with the new documentation for [self hosting fonts with relative paths]
- Closes mlaursen#851, closes mlaursen#642 with the new [ExpansionPanel] components
- Closes mlaursen#850, closes mlaursen#641, closes mlaursen#600, closes mlaursen#594, closes mlaursen#554, closes mlaursen#519, closes mlaursen#406, closes mlaursen#405, closes mlaursen#404, closes mlaursen#399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook
- Closes mlaursen#848, closes mlaursen#816, closes mlaursen#788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now)
- Closes mlaursen#844 since this is available in the [@react-md/sheet package]
- Closes mlaursen#842 due to re-writing the `Collapse` component
- Closes mlaursen#824, closes mlaursen#820, closes mlaursen#771, closes mlaursen#707, closes mlaursen#693, closes mlaursen#687, closes mlaursen#654, closes mlaursen#577, closes #270 due to the new [Tabs API]
- Closes mlaursen#823, closes mlaursen#714, closes mlaursen#705 with the new [Menu components]
- Closes mlaursen#822 since the new [@react-md/form package] added the new styles.
- Closes mlaursen#819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components
- Closes mlaursen#818 with the new focus behavior
- Closes mlaursen#804, closes mlaursen#765, closes mlaursen#743, closes mlaursen#731, closes mlaursen#730, closes mlaursen#671, closes mlaursen#607, closes mlaursen#387 with the new [NativeSelect] and [Select] implementations
- Closes mlaursen#802, closes mlaursen#762, closes mlaursen#761, closes mlaursen#572, closes mlaursen#486, closes mlaursen#408, closes mlaursen#314, closes mlaursen#312 with the new [TextField] implementation
- Closes mlaursen#791, closes mlaursen#780, closes mlaursen#425, closes mlaursen#633 with the new [AutoComplete] implementation
- Closes mlaursen#770 with the new [FixedDialog] component
- Closes mlaursen#721, closes mlaursen#640, closes mlaursen#407 with the new [Grid] and [GridList] implementations
- Closes mlaursen#719 with the new [Radio] component
- Closes mlaursen#706, closes mlaursen#683 with the new [Button] component
- Closes mlaursen#695 with the new [Theme API]
- Closes mlaursen#691 with the new [FileInput] component
- Closes mlaursen#689 with the new [Tabs API] and [Menu components]
- Closes mlaursen#674, closes mlaursen#413 with the new [@react-md/alert package]
- Closes mlaursen#658 with the new [Menu components] and [@react-md/tree package]
- Closes mlaursen#582 with the new [Chip] component
- Closes mlaursen#497, closes mlaursen#455, closes mlaursen#419 with the new [@react-md/layout package]
- Closes mlaursen#496 with the new [Switch] component
- Closes #239, closes #157 with the new [Tooltip] component

[self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts
[useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title
[@react-md/alert package]: https://react-md.dev/packages/alert/demos
[@react-md/layout package]: https://react-md.dev/packages/layout/demos
[@react-md/form package]: https://react-md.dev/packages/form/demos
[@react-md/sheet package]: https://react-md.dev/packages/sheet/demos
[@react-md/tree package]: https://react-md.dev/packages/tree/demos
[Theme API]: https://react-md.dev/guides/customizing-your-theme
[Tabs api]: https://react-md.dev/packages/tabs/demos
[Button]: https://react-md.dev/packages/button/demos
[Chip]: https://react-md.dev/packages/chip/demos
[ExpansionPanel]: https://react-md.dev/packages/button/demos
[menu components]: https://react-md.dev/packages/menu/demos
[FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title
[Switch]: https://react-md.dev/packages/form/demos#switch-examples-title
[NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title
[Select]: https://react-md.dev/packages/form/demos#select-example-title
[Tooltip]: https://react-md.dev/packages/tooltip/demos
[Table]: https://react-md.dev/packages/table/demos
[AutoComplete]: https://react-md.dev/packages/autocomplete/demos
[FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title
[TextField]: https://react-md.dev/packages/form/demos#text-field-example-title
[Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title
[Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title
[GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title
[SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx
[ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
[useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts
mlaursen added a commit that referenced this issue Jun 15, 2020
This should hopefully be the last commit required for the v2 release.
Tagging all the open v2 targeted github issues below so they auto close once this is merged.

- Closes #826 (v2 status ticket)
- Closes #697
- Closes #854 with the new documentation for [self hosting fonts with relative paths]
- Closes #851, closes #642 with the new [ExpansionPanel] components
- Closes #850, closes #641, closes #600, closes #594, closes #554, closes #519, closes #406, closes #405, closes #404, closes #399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook
- Closes #848, closes #816, closes #788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now)
- Closes #844 since this is available in the [@react-md/sheet package]
- Closes #842 due to re-writing the `Collapse` component
- Closes #824, closes #820, closes #771, closes #707, closes #693, closes #687, closes #654, closes #577, closes #270 due to the new [Tabs API]
- Closes #823, closes #714, closes #705 with the new [Menu components]
- Closes #822 since the new [@react-md/form package] added the new styles.
- Closes #819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components
- Closes #818 with the new focus behavior
- Closes #804, closes #765, closes #743, closes #731, closes #730, closes #671, closes #607, closes #387 with the new [NativeSelect] and [Select] implementations
- Closes #802, closes #762, closes #761, closes #572, closes #486, closes #408, closes #314, closes #312 with the new [TextField] implementation
- Closes #791, closes #780, closes #425, closes #633 with the new [AutoComplete] implementation
- Closes #770 with the new [FixedDialog] component
- Closes #721, closes #640, closes #407 with the new [Grid] and [GridList] implementations
- Closes #719 with the new [Radio] component
- Closes #706, closes #683 with the new [Button] component
- Closes #695 with the new [Theme API]
- Closes #691 with the new [FileInput] component
- Closes #689 with the new [Tabs API] and [Menu components]
- Closes #674, closes #413 with the new [@react-md/alert package]
- Closes #658 with the new [Menu components] and [@react-md/tree package]
- Closes #582 with the new [Chip] component
- Closes #497, closes #455, closes #419 with the new [@react-md/layout package]
- Closes #496 with the new [Switch] component
- Closes #239, closes #157 with the new [Tooltip] component

[self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts
[useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title
[@react-md/alert package]: https://react-md.dev/packages/alert/demos
[@react-md/layout package]: https://react-md.dev/packages/layout/demos
[@react-md/form package]: https://react-md.dev/packages/form/demos
[@react-md/sheet package]: https://react-md.dev/packages/sheet/demos
[@react-md/tree package]: https://react-md.dev/packages/tree/demos
[Theme API]: https://react-md.dev/guides/customizing-your-theme
[Tabs api]: https://react-md.dev/packages/tabs/demos
[Button]: https://react-md.dev/packages/button/demos
[Chip]: https://react-md.dev/packages/chip/demos
[ExpansionPanel]: https://react-md.dev/packages/button/demos
[menu components]: https://react-md.dev/packages/menu/demos
[FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title
[Switch]: https://react-md.dev/packages/form/demos#switch-examples-title
[NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title
[Select]: https://react-md.dev/packages/form/demos#select-example-title
[Tooltip]: https://react-md.dev/packages/tooltip/demos
[Table]: https://react-md.dev/packages/table/demos
[AutoComplete]: https://react-md.dev/packages/autocomplete/demos
[FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title
[TextField]: https://react-md.dev/packages/form/demos#text-field-example-title
[Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title
[Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title
[GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title
[SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx
[ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
[useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts
pull bot pushed a commit to JCofman/react-md that referenced this issue Jun 15, 2020
* chore(docs): Started initial v2 Release Notes/Blog

* chore(docs): Updated documentation for {{RMD_VERSION}}

This should hopefully be the last commit required for the v2 release.
Tagging all the open v2 targeted github issues below so they auto close once this is merged.

- Closes mlaursen#826 (v2 status ticket)
- Closes mlaursen#697
- Closes mlaursen#854 with the new documentation for [self hosting fonts with relative paths]
- Closes mlaursen#851, closes mlaursen#642 with the new [ExpansionPanel] components
- Closes mlaursen#850, closes mlaursen#641, closes mlaursen#600, closes mlaursen#594, closes mlaursen#554, closes mlaursen#519, closes mlaursen#406, closes mlaursen#405, closes mlaursen#404, closes mlaursen#399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook
- Closes mlaursen#848, closes mlaursen#816, closes mlaursen#788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now)
- Closes mlaursen#844 since this is available in the [@react-md/sheet package]
- Closes mlaursen#842 due to re-writing the `Collapse` component
- Closes mlaursen#824, closes mlaursen#820, closes mlaursen#771, closes mlaursen#707, closes mlaursen#693, closes mlaursen#687, closes mlaursen#654, closes mlaursen#577, closes #270 due to the new [Tabs API]
- Closes mlaursen#823, closes mlaursen#714, closes mlaursen#705 with the new [Menu components]
- Closes mlaursen#822 since the new [@react-md/form package] added the new styles.
- Closes mlaursen#819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components
- Closes mlaursen#818 with the new focus behavior
- Closes mlaursen#804, closes mlaursen#765, closes mlaursen#743, closes mlaursen#731, closes mlaursen#730, closes mlaursen#671, closes mlaursen#607, closes mlaursen#387 with the new [NativeSelect] and [Select] implementations
- Closes mlaursen#802, closes mlaursen#762, closes mlaursen#761, closes mlaursen#572, closes mlaursen#486, closes mlaursen#408, closes mlaursen#314, closes mlaursen#312 with the new [TextField] implementation
- Closes mlaursen#791, closes mlaursen#780, closes mlaursen#425, closes mlaursen#633 with the new [AutoComplete] implementation
- Closes mlaursen#770 with the new [FixedDialog] component
- Closes mlaursen#721, closes mlaursen#640, closes mlaursen#407 with the new [Grid] and [GridList] implementations
- Closes mlaursen#719 with the new [Radio] component
- Closes mlaursen#706, closes mlaursen#683 with the new [Button] component
- Closes mlaursen#695 with the new [Theme API]
- Closes mlaursen#691 with the new [FileInput] component
- Closes mlaursen#689 with the new [Tabs API] and [Menu components]
- Closes mlaursen#674, closes mlaursen#413 with the new [@react-md/alert package]
- Closes mlaursen#658 with the new [Menu components] and [@react-md/tree package]
- Closes mlaursen#582 with the new [Chip] component
- Closes mlaursen#497, closes mlaursen#455, closes mlaursen#419 with the new [@react-md/layout package]
- Closes mlaursen#496 with the new [Switch] component
- Closes #239, closes #157 with the new [Tooltip] component

[self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts
[useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title
[@react-md/alert package]: https://react-md.dev/packages/alert/demos
[@react-md/layout package]: https://react-md.dev/packages/layout/demos
[@react-md/form package]: https://react-md.dev/packages/form/demos
[@react-md/sheet package]: https://react-md.dev/packages/sheet/demos
[@react-md/tree package]: https://react-md.dev/packages/tree/demos
[Theme API]: https://react-md.dev/guides/customizing-your-theme
[Tabs api]: https://react-md.dev/packages/tabs/demos
[Button]: https://react-md.dev/packages/button/demos
[Chip]: https://react-md.dev/packages/chip/demos
[ExpansionPanel]: https://react-md.dev/packages/button/demos
[menu components]: https://react-md.dev/packages/menu/demos
[FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title
[Switch]: https://react-md.dev/packages/form/demos#switch-examples-title
[NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title
[Select]: https://react-md.dev/packages/form/demos#select-example-title
[Tooltip]: https://react-md.dev/packages/tooltip/demos
[Table]: https://react-md.dev/packages/table/demos
[AutoComplete]: https://react-md.dev/packages/autocomplete/demos
[FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title
[TextField]: https://react-md.dev/packages/form/demos#text-field-example-title
[Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title
[Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title
[GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title
[SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx
[ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
[useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts

* chore: Updates to look better in npm

Created a new `yarn dev-utils rmd-readme` script that will copy the root
README.md to the `react-md` folder and insert some additional
information into the README. This is just to help add documentation if
this package is found through npm instead of GitHub or other sources.

Also updated all the package.json files to link to their specific
documentation page as the `"homepage"` field.

* chore(docs): Removed API Routes

I haven't figured out how to generate the API docs yet and it's better
to remove these pages so it isn't included in search or lead to
confusion since there's nothing there.

Hopefully I'll be able to figure out typedoc, react-docgen-typescript,
or react-docgen (with the new typescript support) soon so it can be
added back.

* skip ci: Fixed travis badge to point to master

* fix(form): Fixed the Select component to be submitted with forms

Added the <input type=hidden /> back to the Select component so it can
be submitted in forms. Also changed a few of the ids.

* chore: Adding github label workflow

* chore: Trying automatic labelling workflow
pull bot pushed a commit to JCofman/react-md that referenced this issue Jun 15, 2020
* chore(docs): Started initial v2 Release Notes/Blog

* chore(docs): Updated documentation for {{RMD_VERSION}}

This should hopefully be the last commit required for the v2 release.
Tagging all the open v2 targeted github issues below so they auto close once this is merged.

- Closes mlaursen#826 (v2 status ticket)
- Closes mlaursen#697
- Closes mlaursen#854 with the new documentation for [self hosting fonts with relative paths]
- Closes mlaursen#851, closes mlaursen#642 with the new [ExpansionPanel] components
- Closes mlaursen#850, closes mlaursen#641, closes mlaursen#600, closes mlaursen#594, closes mlaursen#554, closes mlaursen#519, closes mlaursen#406, closes mlaursen#405, closes mlaursen#404, closes mlaursen#399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook
- Closes mlaursen#848, closes mlaursen#816, closes mlaursen#788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now)
- Closes mlaursen#844 since this is available in the [@react-md/sheet package]
- Closes mlaursen#842 due to re-writing the `Collapse` component
- Closes mlaursen#824, closes mlaursen#820, closes mlaursen#771, closes mlaursen#707, closes mlaursen#693, closes mlaursen#687, closes mlaursen#654, closes mlaursen#577, closes #270 due to the new [Tabs API]
- Closes mlaursen#823, closes mlaursen#714, closes mlaursen#705 with the new [Menu components]
- Closes mlaursen#822 since the new [@react-md/form package] added the new styles.
- Closes mlaursen#819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components
- Closes mlaursen#818 with the new focus behavior
- Closes mlaursen#804, closes mlaursen#765, closes mlaursen#743, closes mlaursen#731, closes mlaursen#730, closes mlaursen#671, closes mlaursen#607, closes mlaursen#387 with the new [NativeSelect] and [Select] implementations
- Closes mlaursen#802, closes mlaursen#762, closes mlaursen#761, closes mlaursen#572, closes mlaursen#486, closes mlaursen#408, closes mlaursen#314, closes mlaursen#312 with the new [TextField] implementation
- Closes mlaursen#791, closes mlaursen#780, closes mlaursen#425, closes mlaursen#633 with the new [AutoComplete] implementation
- Closes mlaursen#770 with the new [FixedDialog] component
- Closes mlaursen#721, closes mlaursen#640, closes mlaursen#407 with the new [Grid] and [GridList] implementations
- Closes mlaursen#719 with the new [Radio] component
- Closes mlaursen#706, closes mlaursen#683 with the new [Button] component
- Closes mlaursen#695 with the new [Theme API]
- Closes mlaursen#691 with the new [FileInput] component
- Closes mlaursen#689 with the new [Tabs API] and [Menu components]
- Closes mlaursen#674, closes mlaursen#413 with the new [@react-md/alert package]
- Closes mlaursen#658 with the new [Menu components] and [@react-md/tree package]
- Closes mlaursen#582 with the new [Chip] component
- Closes mlaursen#497, closes mlaursen#455, closes mlaursen#419 with the new [@react-md/layout package]
- Closes mlaursen#496 with the new [Switch] component
- Closes #239, closes #157 with the new [Tooltip] component

[self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts
[useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title
[@react-md/alert package]: https://react-md.dev/packages/alert/demos
[@react-md/layout package]: https://react-md.dev/packages/layout/demos
[@react-md/form package]: https://react-md.dev/packages/form/demos
[@react-md/sheet package]: https://react-md.dev/packages/sheet/demos
[@react-md/tree package]: https://react-md.dev/packages/tree/demos
[Theme API]: https://react-md.dev/guides/customizing-your-theme
[Tabs api]: https://react-md.dev/packages/tabs/demos
[Button]: https://react-md.dev/packages/button/demos
[Chip]: https://react-md.dev/packages/chip/demos
[ExpansionPanel]: https://react-md.dev/packages/button/demos
[menu components]: https://react-md.dev/packages/menu/demos
[FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title
[Switch]: https://react-md.dev/packages/form/demos#switch-examples-title
[NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title
[Select]: https://react-md.dev/packages/form/demos#select-example-title
[Tooltip]: https://react-md.dev/packages/tooltip/demos
[Table]: https://react-md.dev/packages/table/demos
[AutoComplete]: https://react-md.dev/packages/autocomplete/demos
[FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title
[TextField]: https://react-md.dev/packages/form/demos#text-field-example-title
[Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title
[Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title
[GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title
[SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx
[ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
[useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts

* chore: Updates to look better in npm

Created a new `yarn dev-utils rmd-readme` script that will copy the root
README.md to the `react-md` folder and insert some additional
information into the README. This is just to help add documentation if
this package is found through npm instead of GitHub or other sources.

Also updated all the package.json files to link to their specific
documentation page as the `"homepage"` field.

* chore(docs): Removed API Routes

I haven't figured out how to generate the API docs yet and it's better
to remove these pages so it isn't included in search or lead to
confusion since there's nothing there.

Hopefully I'll be able to figure out typedoc, react-docgen-typescript,
or react-docgen (with the new typescript support) soon so it can be
added back.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants