diff --git a/samples/react-rss-reader/.devcontainer/devcontainer.json b/samples/react-rss-reader/.devcontainer/devcontainer.json new file mode 100644 index 000000000..1c92f1353 --- /dev/null +++ b/samples/react-rss-reader/.devcontainer/devcontainer.json @@ -0,0 +1,39 @@ +// For more information on how to run this SPFx project in a VS Code Remote Container, please visit https://aka.ms/spfx-devcontainer +{ + "name": "SPFx 1.11.0", + "image": "docker.io/m365pnp/spfx:1.11.0", + // Set *default* container specific settings.json values on container create. + "settings": {}, + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "editorconfig.editorconfig", + "dbaeumer.vscode-eslint" + ], + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [ + 4321, + 35729, + 5432 + ], + "portsAttributes": { + "4321": { + "protocol": "https", + "label": "Manifest", + "onAutoForward": "silent", + "requireLocalPort": true + }, + "5432": { + "protocol": "https", + "label": "Workbench", + "onAutoForward": "silent" + }, + "35729": { + "protocol": "https", + "label": "LiveReload", + "onAutoForward": "silent", + "requireLocalPort": true + } + }, + "postCreateCommand": "bash .devcontainer/spfx-startup.sh", + "remoteUser": "node" +} \ No newline at end of file diff --git a/samples/react-rss-reader/.devcontainer/spfx-startup.sh b/samples/react-rss-reader/.devcontainer/spfx-startup.sh new file mode 100644 index 000000000..ca531bdf2 --- /dev/null +++ b/samples/react-rss-reader/.devcontainer/spfx-startup.sh @@ -0,0 +1,31 @@ +echo +echo -e "\e[1;94mInstalling Node dependencies\e[0m" +npm install + +## commands to create dev certificate and copy it to the root folder of the project +echo +echo -e "\e[1;94mGenerating dev certificate\e[0m" +gulp trust-dev-cert + + +cp ~/.gcb-serve-data/gcb-serve.cer ./spfx-dev-cert.cer +cp ~/.gcb-serve-data/gcb-serve.cer ./spfx-dev-cert.pem + +## add *.cer to .gitignore to prevent certificates from being saved in repo +if ! grep -Fxq '*.cer' ./.gitignore + then + echo "# .CER Certificates" >> .gitignore + echo "*.cer" >> .gitignore +fi + +## add *.pem to .gitignore to prevent certificates from being saved in repo +if ! grep -Fxq '*.pem' ./.gitignore + then + echo "# .PEM Certificates" >> .gitignore + echo "*.pem" >> .gitignore +fi + +echo +echo -e "\e[1;92mReady!\e[0m" + +echo -e "\n\e[1;94m**********\nOptional: if you plan on using gulp serve, don't forget to add the container certificate to your local machine. Please visit https://aka.ms/spfx-devcontainer for more information\n**********" \ No newline at end of file diff --git a/samples/react-rss-reader/README.md b/samples/react-rss-reader/README.md index b770c9c37..54e025278 100644 --- a/samples/react-rss-reader/README.md +++ b/samples/react-rss-reader/README.md @@ -46,6 +46,7 @@ Main features include: * [Eric Overfield](https://github.com/eoverfield) * [Abderahman Moujahid](https://github.com/Abderahman88) +* [Kalle Mansikkaniemi](https://github.com/djsladi) ## Version history @@ -54,6 +55,7 @@ Version|Date|Comments 1.0.0 | Jan 21, 2019 | Initial release 1.0.1 | Nov 22, 2020 | Upgraded to SPFx 1.11 1.0.2 | April 6, 2023 | Fix bug in Direct request retrieval service +1.0.3 | May 25, 2023 | Fixed direct request issues ## Minimal Path to Awesome @@ -61,7 +63,8 @@ Version|Date|Comments > This sample can also be opened with [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview). Visit https://aka.ms/spfx-devcontainer for further instructions. -### SPFx +### SPFx + - In the command line, with a version of Node 10, i.e. 10.16.3, run: - `npm install` - `gulp serve` @@ -80,9 +83,9 @@ Version|Date|Comments Setting | Description -------|---- -Feed Url | The url of the RSS Feed for readers. Normally will url will return XML +Feed URL | The URL of the RSS Feed for readers. Normally will URL will return XML Feed Retrieval Service | The service to use to retrieve the feed. **Direct** = Make a direct call from the web part to the feed. Note, may have issues with CORS depending on the feed owner. **Feed2Json** = Retrieve a JSON version of feed via feed2json.org. Note, not for production, and may have issues with CORS. For production use, host your own feed2json service. Learn more at https://github.com/appsattic/feed2json.org. **Rss2Json** = CORS safe method to retieve a feed response. Note, subject to limitations with paid options available. -Feed Service Url | If using Feed2Json, the url of the feed2json service. Host your own service, learn more at https://github.com/appsattic/feed2json.org +Feed Service URL | If using Feed2Json, the URL of the feed2json service. Host your own service, learn more at https://github.com/appsattic/feed2json.org Feed Service API Key | If using rss2json, an optional API key for paid services Max Count | The maximum results to return, default: 10 Cache Results | Locally store results in browser local storage, default: no @@ -90,14 +93,14 @@ Mins to Cache Results | If storing results in browser, number of minutes to stor Storage Key Prefix | An optional local storage key prefix to use when storing results Loading Message | An optional custom message to display while the RSS feed is being loaded Use a CORS proxy | Use a CORS proxy to assist with feed retrieval, default: no -CORS Proxy Url | The url of a CORS proxy if allowed. {0} will be replaced with Feed Url, i.e. https://cors-anywhere.herokuapp.com/{0} +CORS Proxy URL | The URL of a CORS proxy if allowed. {0} will be replaced with Feed URL, i.e. https://cors-anywhere.herokuapp.com/{0} Disable CORS | Set request header mode to "no-cors", thus not requesting CORS response from service. Will disable CORS request, default: no #### Styling Options |Setting | Description| |-------|----| -|External Template Url | The url of an external handlebar template to use in place of the handlebar template editor for custom layouts| +|External Template URL | The URL of an external handlebar template to use in place of the handlebar template editor for custom layouts| |Results Layout | The layout to use to display feed, Default (list) or Custom| |Template Editor | A handlebar editor for custom layouts| |View All Link | An optional link to view the entire feed, often a link to the RSS source blog itself, default: none| diff --git a/samples/react-rss-reader/assets/sample.json b/samples/react-rss-reader/assets/sample.json index 1a95f680a..71d73983f 100644 --- a/samples/react-rss-reader/assets/sample.json +++ b/samples/react-rss-reader/assets/sample.json @@ -9,7 +9,7 @@ "A RSS Reader original based on work completed by Olivier Carpentier\u0027s" ], "creationDateTime": "2020-11-22", - "updateDateTime": "2020-11-22", + "updateDateTime": "2023-05-23", "products": [ "SharePoint" ], @@ -57,7 +57,12 @@ "company": "", "pictureUrl": "https://avatars.githubusercontent.com/u/36161889?s=460\u0026u=afdd5f6681bc375ee3811482dec79824c12d8170\u0026v=4", "name": "Abderahman Moujahid" - } + }, + { + "gitHubAccount": "djsladi", + "name": "Kalle Mansikkaniemi", + "pictureUrl": "https://github.com/djsladi.png" + } ], "references": [ {