a426fbb41b | ||
---|---|---|
.. | ||
public | ||
src | ||
utils | ||
.gitignore | ||
LICENSE | ||
README.md | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
Installing and Running
To run this, you'll need the latest version of Node.js installed.
Open the project root and run npm install
.
To access the Rijksmuseum API, create a .env
file in the project root with the following text:
REACT_APP_RIJKSMUSEUM_API_KEY={yourapikey}
where {yourapikey}
is replaced by your personal API key. More details about the API are found here.
Then run npm start
.
Design framework
This project uses React Fabric UI.
https://developer.microsoft.com/en-us/fabric#/controls/web/contextualmenu
Prepareing for Build
Since we use Client Side routing, some hacks need to be introduced to get the site working on github pages.
Step One: Modify Source Code
-
Package.json After the "name" line insert the line "homepage":"https://microsoft.github.io/art/",
This enables the website to know what its base URL is.
-
ResultArtwork.tsx: exploreArtUrlSuffix(), line 42 change '/' to '/art/'
-
NavBar.tsx, line 23 change '/' to '/art/'
-
ResultBox.tsx: exploreArtUrlSuffic(), line 36 change '/' to '/art/'
NOTE: It is not needed to change the URL generation in SubmitControl, since it "pushes" too the end of the homepage URL.
Step Two: Make the Build
run 'npm run build' This makes a build and populates the build folder.
Step Three: Hack the Build We follow the instrucions on this page: https://github.com/rafrex/spa-github-pages
-
In the build folder, create a 404.html file, and copy in the contents from the above link. On line 26, change segmentCount from 0 to 1. This enables the site to handle the /art/ at the end of the homepage URL.
-
In the html, between the noscript and script tags (right after the root div), copy in the script from the above link
Step Four: Deploy the Hacked Build
run 'npm run deploy' This takes the contents of the build folder, and deploys it to the github pages. It also makes a push to the gh-pages branch of a repo.
Converting From Deploy to Local
Revert the changes made in the Source Code in Step One of Preparing for Build
Todo
Add Information at the bottom of the page
- This would be accomplished by adding to the end of the ExplorePage Heirarchy
Carousel Random Picks
- This involves changing the default queries made in ExplorePage
Move Matches Functionality
- This would involve moving the call stack found in an ExplorePage Button to wherever else the functionality needs to be
MultiAcces Queries
- This would probably involve a change of the APi and a change how we handle the data from the Dropdown menus