From 838d0c88b788e6bc227fffd68d7ea1dcce3624f6 Mon Sep 17 00:00:00 2001 From: Andreas Litt Date: Sun, 13 Dec 2020 19:00:48 +0100 Subject: [PATCH 1/2] Clarify how to contribute and point out github registry pitfall --- CONTRIBUTING.md | 53 +++++++++++++++++++++---------------------------- README.md | 6 ++++++ 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 48e1bb23..df7027e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,6 +4,28 @@ These are the tools you will need to build and run `pybricks-code` locally. +## Important Note about Github Packages + +**This step is mandatory and cannot be skipped. Otherwise you will have no access to some referenced dependencies in [package.json](./package.json)!** + +We are currently depending on a couple of packages from the Github package +registry. [Github requires you](https://docs.github.com/en/free-pro-team@latest/packages/guides/configuring-npm-for-use-with-github-packages#authenticating-with-a-personal-access-token) to log in first before you can install public packages. + +To do this, first you will need to create a new authentication token at +. + +- Click the *Generate a new token* button. +- Select the **repo** and **read:packages** scopes. +- Click the *Generate token* button. +- Click the clipboard icon top copy the token to be used below. + +Then run the following command and enter your username, authentication token +and email: + + npm login --registry=https://npm.pkg.github.com + +This only needs to be done once. + ## IDE Technically you can use any text editor you like but the project is set up to @@ -12,7 +34,6 @@ will do nice things like automatically format the code for you. [vscode]: https://code.visualstudio.com/ - ## Toolchain These are the required software tools you need to install on your computer. @@ -38,28 +59,6 @@ You will need [Git][git] to get the source code from GitHub. (Say that 3 times f [git]: https://git-scm.com/ - -## Github Packages - -We are currently depending on a couple of packages from the Github package -registry. This requires you to log in first before you can install the packages. - -To do this, first you will need to create a new authentication token at -. - -- Click the *Generate a new token* button. -- Select the **repo** and **read:packages** scopes. -- Click the *Generate token* button. -- Click the clipboard icon top copy the token to be used below. - -Then run the following command and enter your username, authentication token -and email: - - npm login --registry=https://npm.pkg.github.com - -This only needs to be done once. - - ## Getting The Code After the tools above have been installed, open a command prompt in the directory @@ -70,7 +69,7 @@ where you would like to save the source code and run: yarn install If you see a 401 not authorized error after running `yarn install`, then you -probably skipped the logging into the Github package registry as described above. +probably skipped the logging into the Github package registry as [described above](#important-note-about-github-packages). # Software Stack @@ -78,12 +77,10 @@ This project was bootstrapped with [Create React App][create-react-app]. [create-react-app]: https://github.com/facebook/create-react-app - ## Available Scripts In the project directory, you can run: - ### `yarn start` Runs the app in the development mode. @@ -99,19 +96,16 @@ The page will reload if you make edits. You will also see any lint errors in the console. - ### `yarn lint` Runs the code linter. This will automatically fix most lint errors for you. - ### `yarn test` See [README](test/README.md) in the `test/` directory. - ### `yarn build` Builds the app for production to the `build` folder. @@ -127,7 +121,6 @@ See the section about [deployment][deployment] for more information. [deployment]: https://facebook.github.io/create-react-app/docs/deployment - ## Learn More You can learn more in the [Create React App documentation][create-react-app-doc]. diff --git a/README.md b/README.md index 9edc006d..08eeaedb 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,9 @@ A Web App for programming LEGO® Powered Up smart hubs using Pybricks MicroPytho --- LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this project + +# Contributing + +If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome. + +For more details, see the file [CONTRIBUTING.md](./CONTRIBUTING.md). From de237b13f953a8d53fac25003f91f2a2b47ac752 Mon Sep 17 00:00:00 2001 From: Andreas Litt Date: Sun, 13 Dec 2020 21:34:16 +0100 Subject: [PATCH 2/2] remove stickiness of toolbar to avoid breaking the layout clicking on a link with a URI fragment (e.g. https://docs.pybricks.com/en/latest/parameters.html#pybricks.parameters.Port) inside the documentation iframe breaks the layout. The browser seems to force the parent frame to scroll to the position as well. As the toolbar is fixed, the rest of the content is scrolled under it. Rerendering after the link click fixes the layout (at least if done manually). But a more elegant solutions is to remove the absolute positioning of the toolbar. It is not really necessary to pin it, as the rest of the layout always spans over the complete width and height of the browser window. --- src/components/Toolbar.tsx | 1 - src/index.scss | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/components/Toolbar.tsx b/src/components/Toolbar.tsx index 44207f29..f1d38e41 100644 --- a/src/components/Toolbar.tsx +++ b/src/components/Toolbar.tsx @@ -18,7 +18,6 @@ class Toolbar extends React.Component { return ( e.preventDefault()} - fixedToTop={true} className="no-box-shadow" > diff --git a/src/index.scss b/src/index.scss index 2f13c62d..f251ffe8 100644 --- a/src/index.scss +++ b/src/index.scss @@ -28,8 +28,6 @@ $status-bar-height: 3vh; body { // no scrolling of the page overflow: hidden; - // See https://blueprintjs.com/docs/#core/components/navbar - padding-top: $pt-navbar-height; } // Utility classes