- Clone "Weather-Forecast" project to your local environment.
- In "static" folder -> create new folder "bundle".
- Run the following in your projects root directory:
npm install webpack webpack-cli
npm install typescript ts-loader
Npm start
- Script.js file should be generated in bundle.
- Download “Custom JavaScript for Websites 2” extension to your chrome browser(https://chromewebstore.google.com/detail/custom-javascript-for-web/ddbjnfjiigjmcpcpkmhogomapikjbjdk).
- Add extension for the project:
- Navigate to your "Manage Extensions" chrome://extensions/.
- click onload unpacked button.
- choose your directory folder of the project.
- "Weather-Forecast" extension should creat.
- ensure that your new extension is turn on.
- Navigate to "Weather-Forecast" extension and reload it.
- Navigate to following websites and see that the script injected:
- You can inject the script to other sites by adding the website address to "manifest.json" file -> add your site to "matches" array.
- You can modify the div id that responsible how to inject the script -> constants folder -> "constants.ts" -> modify DIV_ID.
- Weather API source: https://www.weatherapi.com/
![Screen Shot 2023-12-07 at 18 45 38](https://private-user-images.githubusercontent.com/74644378/288850232-65d870ca-a82a-4146-ae2f-3abe9cba7fb7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTgyODYsIm5iZiI6MTczODk1Nzk4NiwicGF0aCI6Ii83NDY0NDM3OC8yODg4NTAyMzItNjVkODcwY2EtYTgyYS00MTQ2LWFlMmYtM2FiZTljYmE3ZmI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDE5NTMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJlNDNkMzdiMTQwOGM4MTViODE2MzQ4OTY0ZTdlN2IzYTI2M2ZkZDliY2JhNWI2NTliMWI2NTI4NDFjNTM5NGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.XwQLBh_3CSfpcCQ7p58_ivcX-2pz80TDMT9lfY8YbfE)
![Screen Shot 2023-12-07 at 18 46 03](https://private-user-images.githubusercontent.com/74644378/288848857-2636e6aa-0223-49ec-a3fe-52f2a179dd45.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTgyODYsIm5iZiI6MTczODk1Nzk4NiwicGF0aCI6Ii83NDY0NDM3OC8yODg4NDg4NTctMjYzNmU2YWEtMDIyMy00OWVjLWEzZmUtNTJmMmExNzlkZDQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDE5NTMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0Njk0MTFjMmNmNmViZWVjZWJjNDUwNDA5YzM0YTg0YmFlYzBjYTU5NGRjNzRjOWU4OTUwZjk2ZGNkMTJlZDUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._WzfsUGHBO5-jZ_GuB31zPSj0Gpokyis0g84UvzwmmI)
![Screen Shot 2023-12-07 at 18 45 25](https://private-user-images.githubusercontent.com/74644378/288848623-5946a5b5-da6d-4673-9d8a-21c747421010.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTgyODYsIm5iZiI6MTczODk1Nzk4NiwicGF0aCI6Ii83NDY0NDM3OC8yODg4NDg2MjMtNTk0NmE1YjUtZGE2ZC00NjczLTlkOGEtMjFjNzQ3NDIxMDEwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDE5NTMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIyY2QyZDZhZWEyODk1YjU4YWFiNDI3ZDg3YjExMzkzODVjZDg1OTY5Zjg0MGNiY2RiM2RmYzlmNDkwOGM4YjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.zeOoNFWSTTwZ9Vc6zJTpaV4LiwysbSZtej3Y0hQDRq4)
![Screen Shot 2023-12-07 at 18 46 14](https://private-user-images.githubusercontent.com/74644378/288850281-55b0a2fc-36c7-46f4-8e3b-556749f5ae77.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTgyODYsIm5iZiI6MTczODk1Nzk4NiwicGF0aCI6Ii83NDY0NDM3OC8yODg4NTAyODEtNTViMGEyZmMtMzZjNy00NmY0LThlM2ItNTU2NzQ5ZjVhZTc3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDE5NTMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1Zjc3YjgwNjViYTg0NGI0MGZjMGUzODRiN2M4NzAzYTY2NTIyNTgyYmE4Njc3ZGU1OTI0NDZlMGU4NTYyN2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.XDIyRnxqzLFLENy1egcX_Gz8JlDbSJFAA-rjhT5Tt0g)