osmosfeed-template/cache.json
2021-06-01 02:02:04 +00:00

726 lines
No EOL
50 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"sources": [
{
"title": "Release notes from osmosfeed",
"feedUrl": "https://github.com/osmoscraft/osmosfeed/releases.atom",
"siteUrl": "https://github.com/osmoscraft/osmosfeed/releases",
"articles": [
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.9.0",
"author": null,
"description": "Added: experimental support for iTunes podcast feed: Demo | Source. With this new release, you can render an audio control to play the mp3 file and display iTunes episode duration. It is \"experimental\" due to these caveats:\n\nThis feature is currently only available through custom template.\niTunes has no strict format requirement for duration. The unit is most likely seconds but can be \"hh:mm:ss\" or \"mm:ss\" for some sources. A future version may expose a human readable string to the template.\nNo image support yet. Some shows might have disabled CORS or use a relative URL for image, which forces osmosfeed to download the image during build. A future version may support it.\nYou can't republish the podcast in the feed output. Supporting this goes beyond the scope of the project at the moment.\nFixed: the articles in template data were not sorted.\nThank you @Zenigata",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.9.0",
"publishedOn": "2021-05-26T06:02:55.000Z",
"wordCount": 417,
"title": "v1.9.0"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.8.1",
"author": null,
"description": "Fixed: UnhandledPromiseRejectionWarning: Error: At least one option must be a string",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.8.1",
"publishedOn": "2021-05-23T05:40:12.000Z",
"wordCount": 278,
"title": "v1.8.1"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.8.0",
"author": null,
"description": "Changed: Smart summary truncation. When there is no dedicated summary (only Atom feed has it, and many sites don't use it) from the source, we check if the content/description (Both Atom and RSS) field is long enough to be full text. If so, it will be truncated into a \"pseudo\" summary. If not, we assume the source used the content field as summary, and it will be displayed in full length.\nThank you: @LooperXX.",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.8.0",
"publishedOn": "2021-05-23T05:12:08.000Z",
"wordCount": 341,
"title": "v1.8.0"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.2",
"author": null,
"description": "⚠ Deprecated: To accommodate the monorepo setup, the node version in all templates/demos/examples has changed from 14 to 16. This is not a breaking change as our compile target is still node 14, and node 16 is backward compatible. We still recommend you start using node-version: \"16\" in your .github/workflows/update-feed.yaml today to get the performance/security improvements from the newer node. See example\nChore: Reorganize to monorepo with npm workspace.",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.2",
"publishedOn": "2021-05-17T05:32:19.000Z",
"wordCount": 336,
"title": "v1.7.2"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.1",
"author": null,
"description": "Fixed: static files were unnecessarily copied for custom templates.",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.1",
"publishedOn": "2021-05-16T02:33:58.000Z",
"wordCount": 276,
"title": "v1.7.1"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.0",
"author": null,
"description": "Added: templating system. Demo | Source | Docs\nChore: rendering logic refactoring. Adopting functional paradigm.\nThank you @tianheg, @onnyyonn",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.0",
"publishedOn": "2021-05-16T01:42:24.000Z",
"wordCount": 286,
"title": "v1.7.0"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.4.0",
"author": null,
"description": "Added: Basic theme customization: Demo | Source | Docs.",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.4.0",
"publishedOn": "2021-05-10T08:55:42.000Z",
"wordCount": 276,
"title": "v1.4.0"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.6.0",
"author": null,
"description": "Added: Link from the title of a subscription to its website.\nAdded: Store feedUrl and siteUrl for each source in cache.\nAdded: Semantic element (<time>) for timestamp on the UI.\nAdded: Semantic API for theming the default template. Demo | Source | Docs\nChanged: Moved feed metadata from article level to feed level in cache.\nFixed: Any html-like text was stripped from title. Fixed with encoded text.\nRemoved: href for each source in cache. The value was never used so it's not a breaking change.",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.6.0",
"publishedOn": "2021-05-10T08:15:20.000Z",
"wordCount": 352,
"title": "v1.6.0"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.5.0",
"author": null,
"description": "Added: Atom feed generator\nAdded: Customizable site title\nAdded: Copy all files from static directory to the root of the site.\nChanged: Favicon, css, and js assets now existing at site root level.\nChore: Excluded testing files from repo.",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.5.0",
"publishedOn": "2021-05-08T05:16:47.000Z",
"wordCount": 306,
"title": "v1.5.0"
},
{
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.3.1",
"author": null,
"description": "Fixed: Avoid crwalers.\nFixed: Error logging from XML parser.\nFixed: Typo in docs.\nThank you: @dym-sh, @tabokie, @cheese1",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.3.1",
"publishedOn": "2021-05-05T05:19:57.000Z",
"wordCount": 285,
"title": "v1.3.1"
}
]
},
{
"title": "CSS-Tricks",
"feedUrl": "https://css-tricks.com/feed/",
"siteUrl": "https://css-tricks.com",
"articles": [
{
"id": "https://css-tricks.com/?p=340465",
"author": "Jason Lengstorf",
"description": "Modern apps place high demands on front-end developers. Web apps require complex functionality, and the lions share of that work is falling to front-end devs:\nbuilding modern, accessible user interfaces\ncreating interactive elements and complex animations\nmanaging complex application state\n…\nThe post Serverless Functions: The Secret to Ultra-Productive Front-End Teams appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/serverless-functions-the-secret-to-ultra-productive-front-end-teams/",
"publishedOn": "2021-05-31T17:16:22.000Z",
"wordCount": 1796,
"title": "Serverless Functions: The Secret to Ultra-Productive Front-End Teams"
},
{
"id": "https://css-tricks.com/?p=341482",
"author": "Chris Coyier",
"description": "Ive been using Local for ages. Four years ago, I wrote about how I got all my WordPress sites running locally on it. I just wanted to give it another high five because its still here and still great. In …\nThe post Local: Always Getting Better appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/local-always-getting-better/",
"publishedOn": "2021-05-31T17:13:02.000Z",
"wordCount": 981,
"title": "Local: Always Getting Better"
},
{
"id": "https://css-tricks.com/?p=341163",
"author": "Thomas Park",
"description": "Typically, a single favicon is used across a whole domain. But there are times you wanna step it up with different favicons depending on context. A website might change the favicon to match the content being viewed. Or a site …\nThe post Dynamic Favicons for WordPress appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/dynamic-favicons-for-wordpress/",
"publishedOn": "2021-05-28T14:36:47.000Z",
"wordCount": 1838,
"title": "Dynamic Favicons for WordPress"
},
{
"id": "https://css-tricks.com/?p=341298",
"author": "Chris Coyier",
"description": "Its very popular to put a $ on lines that are intended to be a command in code documentation that involves the terminal (i.e. the command line).\nLike this:\n$ brew install somepackage\nThe point of that is that it …\nThe post To $ or Not to $: Displaying Terminal Code Snippets appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/to-or-not-to-displaying-terminal-code-snippets/",
"publishedOn": "2021-05-27T18:22:11.000Z",
"wordCount": 1564,
"title": "To $ or Not to $: Displaying Terminal Code Snippets"
},
{
"id": "https://css-tricks.com/?p=341020",
"author": "Robin Rendle",
"description": "Most images on the web are superfluous. If I might be a jerk for a bit, 99% of them arent even that helpful at all (although there are rare exceptions). Thats because images dont often complement the text theyre …\nThe post How to Show Images on Click appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/how-to-show-images-on-click/",
"publishedOn": "2021-05-27T14:25:29.000Z",
"wordCount": 1725,
"title": "How to Show Images on Click"
},
{
"id": "https://css-tricks.com/?p=340910",
"author": "Michael Rispoli",
"description": "Serverless architectures have brought engineering teams a great number of benefits. We get simpler deployments, automatic and infinite scale, better concurrency, and a stateless API surface. Its hard to imagine going back to the world of managed services, broken local …\nThe post Rethinking Postgres in a Post-Server World appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/rethinking-postgres-in-a-post-server-world/",
"publishedOn": "2021-05-27T14:23:23.000Z",
"wordCount": 2479,
"title": "Rethinking Postgres in a Post-Server World"
},
{
"id": "https://css-tricks.com/?p=339759",
"author": "Chris Coyier",
"description": "In his last An Event Apart talk, Dave made a point that its really only just about right now that Web Components are becoming a practical choice for production web development. For example, it has only been about a year …\nThe post Awesome Standalone (Web Components) appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/awesome-standalone-web-components/",
"publishedOn": "2021-05-26T17:56:34.000Z",
"wordCount": 1329,
"title": "Awesome Standalone (Web Components)"
},
{
"id": "https://css-tricks.com/?p=340901",
"author": "Chris Coyier",
"description": "How we use Web Components at GitHub — Kristján Oddsson talks about how GitHub is using web components. I remember they were very early adopters, and it says here they released a <relative-time> component in 2014! Now theyve got a \n…\nThe post Links on Web Components appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/links-on-web-components/",
"publishedOn": "2021-05-26T17:56:12.000Z",
"wordCount": 856,
"title": "Links on Web Components"
},
{
"id": "https://css-tricks.com/?p=340705",
"author": "Andrei Pfeiffer",
"description": "Wondering whats even more challenging than choosing a JavaScript framework? You guessed it: choosing a CSS-in-JS solution. Why? Because there are more than 50 libraries out there, each of them offering a unique set of features.\nWe tested 10 different …\nThe post A Thorough Analysis of CSS-in-JS appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/a-thorough-analysis-of-css-in-js/",
"publishedOn": "2021-05-26T14:08:49.000Z",
"wordCount": 3850,
"title": "A Thorough Analysis of CSS-in-JS"
},
{
"id": "https://css-tricks.com/?p=340759",
"author": "Josh Collinsworth",
"description": "I fell in love with coding the moment I created my first CSS :hover effect. Years later, that initial bite into interactivity on the web led me to a new goal: making a game.\nTable of contents\nWhats the game \n…\nThe post What I Learned Building a Word Game App With Nuxt on Google Play appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/what-i-learned-building-a-word-game-app-with-nuxt-on-google-play/",
"publishedOn": "2021-05-25T14:25:06.000Z",
"wordCount": 7705,
"title": "What I Learned Building a Word Game App With Nuxt on Google Play"
},
{
"id": "https://css-tricks.com/?p=341383",
"author": "Ahmed Bouchefra",
"description": "Choosing the right tools to build a website for your organization is essential, but it can be tough to find the right fit. Simple site builders like Wix and Squarespace are easy for marketers to use, but severely limit developers …\nThe post Creating Powerful Websites with Serverless-Driven CMS Development appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/creating-powerful-websites-with-serverless-driven-cms-development/",
"publishedOn": "2021-05-25T11:00:00.000Z",
"wordCount": 1425,
"title": "Creating Powerful Websites with Serverless-Driven CMS Development"
},
{
"id": "https://css-tricks.com/?p=340808",
"author": "Chris Coyier",
"description": "Making GitHubs new homepage fast and performant — Tobias Ahlin describes how the scrolling effects are done more performantly thanks to IntersectionObserver and the fact that it avoids the use of methods that trigger reflows, like getBoundingClientRect. Also, \n…\nThe post Links on Performance appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/links-on-performance/",
"publishedOn": "2021-05-24T22:03:30.000Z",
"wordCount": 868,
"title": "Links on Performance"
},
{
"id": "https://css-tricks.com/?p=341153",
"author": "Chris Coyier",
"description": "I like a good trick. What if… a URL was… a promise… that fetched said URL?\nwww.codepen.io.then((response) ={\n console.log(response);\n});\nThats what @justjavac did with JavaScript Proxys. A clever trick, that. Dont @ me about the practicality. Trick…\nThe post proxy-www appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://github.com/justjavac/proxy-www",
"publishedOn": "2021-05-24T19:09:59.000Z",
"wordCount": 527,
"title": "proxy-www"
},
{
"id": "https://css-tricks.com/?p=340626",
"author": "Raymond Camden",
"description": "By our last estimate, there are now more PDFs in the world than atoms in the universe (not verified by outside sources) so chances are, from time to time, youre going to run into a PDF document or two. Browsers …\nThe post Wrangling Control Over PDFs with the Adobe PDF Embed API appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/wrangling-control-over-pdfs-with-the-adobe-pdf-embed-api/",
"publishedOn": "2021-05-24T13:57:21.000Z",
"wordCount": 2866,
"title": "Wrangling Control Over PDFs with the Adobe PDF Embed API"
},
{
"id": "https://css-tricks.com/?p=340991",
"author": "Chris Coyier",
"description": "Stefan Judis, two days before I mouthed off about using (X, X, X, X) for talking about specificity, has a great blog post not only using that format, but advocating that browser DevTools should show us that value by …\nThe post Should DevTools teach the CSS cascade? appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://www.stefanjudis.com/blog/should-devtools-teach-the-css-cascade/",
"publishedOn": "2021-05-21T23:22:54.000Z",
"wordCount": 1168,
"title": "Should DevTools teach the CSS cascade?"
}
]
},
{
"title": "Articles on Smashing Magazine — For Web Designers And Developers",
"feedUrl": "https://www.smashingmagazine.com/feed/",
"siteUrl": "https://www.smashingmagazine.com/",
"articles": [
{
"id": "https://smashingmagazine.com/2021/05/desktop-wallpaper-calendars-june-2021/",
"author": "hello@smashingmagazine.com (Cosima Mielke)",
"description": "What could be a better way to welcome June than with some colorful inspiration? Well, we might have something for you: wallpapers created with love by artists and designers from across the globe.",
"link": "https://smashingmagazine.com/2021/05/desktop-wallpaper-calendars-june-2021/",
"publishedOn": "2021-05-31T11:30:00.000Z",
"wordCount": 2490,
"title": "Happy June Vibes For Your Screen (2021 Desktop Wallpapers Edition)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/374464b5-093e-4ca2-9397-6f26c83756d4/june-20-summer-coziness-preview-opt.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/commenting-system-wysiwyg-editor/",
"author": "hello@smashingmagazine.com (Shalabh Vyas)",
"description": "In this article, well be re-using the foundational WYSIWYG Editor built in the first article to build a commenting system for a WYSIWYG Editor that enables users to select text inside a document and share their comments on it. Lets dig in!",
"link": "https://smashingmagazine.com/2021/05/commenting-system-wysiwyg-editor/",
"publishedOn": "2021-05-28T11:00:00.000Z",
"wordCount": 10217,
"title": "Adding A Commenting System To A WYSIWYG Editor",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/ec39e154-d3d3-4a12-91fd-f0c068cd5247/commenting-system-wysiwyg-editor.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/useful-vs-code-extensions-web-developers/",
"author": "hello@smashingmagazine.com (Cosima Mielke)",
"description": "Meet useful Visual Studio Code extensions for web developers: little helpers to minimize slow-downs and frustrations, and boost developers workflow along the way. With auto log messages, auto code formatting, file utils, file labels, code snippets, highlight brackets, tags, indents and workspaces, onboarding and remote SSH.",
"link": "https://smashingmagazine.com/2021/05/useful-vs-code-extensions-web-developers/",
"publishedOn": "2021-05-27T13:30:00.000Z",
"wordCount": 3735,
"title": "Useful VS Code Extensions For Front-End Developers",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/2c5dbb73-94e1-486f-9daa-351699faaa2d/peacock-extension.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/build-launch-responsive-websites-editorx/",
"author": "hello@smashingmagazine.com (Miroslav Bekyarov)",
"description": "While web builders have been around for a long time, it wasnt until recently that they became practical for professional use. Closing the gap between design and code has become the north star for many companies and we are seeing a wave of tools that deliver on this promise.",
"link": "https://smashingmagazine.com/2021/05/build-launch-responsive-websites-editorx/",
"publishedOn": "2021-05-27T09:30:00.000Z",
"wordCount": 2676,
"title": "How To Build And Launch Powerful Responsive Websites With Editor X",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/e3eaf20c-08e9-4f1c-829b-f0bbd7309e0d/21-build-launch-responsive-websites-editorx.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/accessible-svg-patterns-comparison/",
"author": "hello@smashingmagazine.com (Carie Fisher)",
"description": "Discover which SVG patterns we should avoid and which patterns are the most inclusive when comparing different combinations of OSs, browsers, and screen readers.",
"link": "https://smashingmagazine.com/2021/05/accessible-svg-patterns-comparison/",
"publishedOn": "2021-05-26T13:20:00.000Z",
"wordCount": 1547,
"title": "Accessible SVGs: Perfect Patterns For Screen Reader Users",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/35bf2e3a-ae5b-49a3-843a-318b4c81f5af/accessible-svg-patterns.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/undoing-mistakes-git-part2/",
"author": "hello@smashingmagazine.com (Tobias Günther)",
"description": "Mistakes. These cruel villains do not even stop at the beautiful world of software development. But although we cannot avoid making mistakes, we can learn to undo them! This post will show the right tools for your daily work with Git.",
"link": "https://smashingmagazine.com/2021/05/undoing-mistakes-git-part2/",
"publishedOn": "2021-05-25T14:00:00.000Z",
"wordCount": 2118,
"title": "A Guide To Undoing Mistakes With Git (Part 2)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/211042ae-7a72-42ba-804e-9f8132815200/undoing-mistakes-git-part1.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/reduce-font-loading-impact-css-descriptors/",
"author": "hello@smashingmagazine.com (Barry Pollard)",
"description": "Web fonts are often terrible for web performance and none of the font loading strategies are particularly effective to address that. Upcoming font options may finally deliver on the promise of making it easier to align fallback fonts to the final fonts.",
"link": "https://smashingmagazine.com/2021/05/reduce-font-loading-impact-css-descriptors/",
"publishedOn": "2021-05-25T09:30:00.000Z",
"wordCount": 2072,
"title": "A New Way To Reduce Font Loading Impact: CSS Font Descriptors",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/f0c69413-365e-4c39-9ee8-ad1d2b44e56b/reduce-font-loading-impact-css-descriptors.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/css-container-queries-use-cases-migration-strategies/",
"author": "hello@smashingmagazine.com (Adrian Bece)",
"description": "CSS Container queries bring media queries closer to the target elements themselves and enables them to adapt to virtually any given container or layout. In this article, were going to cover CSS container query basics and how to use them today with progressive enhancement or polyfills.",
"link": "https://smashingmagazine.com/2021/05/css-container-queries-use-cases-migration-strategies/",
"publishedOn": "2021-05-24T11:30:00.000Z",
"wordCount": 2707,
"title": "CSS Container Queries: Use-Cases And Migration Strategies",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/4d6d809b-0c1a-4074-9eeb-8509dc4d383f/css-container-queries-use-cases-migration-strategies.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/building-wysiwyg-editor-javascript-slatejs/",
"author": "hello@smashingmagazine.com (Shalabh Vyas)",
"description": "Lets build a rich text, WYSIWYG-editor that supports rich text, images, links and some nuanced features from word processing apps. We will use SlateJS to build the shell of the editor and then add a toolbar and custom configurations.",
"link": "https://smashingmagazine.com/2021/05/building-wysiwyg-editor-javascript-slatejs/",
"publishedOn": "2021-05-21T11:30:00.000Z",
"wordCount": 9431,
"title": "Building A Rich Text Editor (WYSIWYG)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/bafdd817-038e-4e70-a830-de0f5da659c4/building-wysiwyg-editor-javascript-slatejs.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/new-online-workshops-front-end-ux/",
"author": "hello@smashingmagazine.com (Iris Lješnjanin)",
"description": "Front-end and design are remarkably complex these days. Thats why we invite kind, smart folks from the community to run online workshops for all of us to learn together. And we have new ones coming up, and wed like to kindly welcome you to join in.",
"link": "https://smashingmagazine.com/2021/05/new-online-workshops-front-end-ux/",
"publishedOn": "2021-05-20T14:20:00.000Z",
"wordCount": 831,
"title": "Boost Your Skills Online: Smashing Workshops On Front-End And Design",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/1a95c729-8b29-4b44-90b0-d38183b367c0/online-workshops-2021-opt.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/implement-authentication-nextjs-auth0/",
"author": "hello@smashingmagazine.com (Facundo Giuliani)",
"description": "A step-by-step tutorial on adding authentication and authorization to your Next.js apps, with Auth0. Well be using a Next.js SDK to connect our application to the Auth0 API and will create the dynamic API route for React.",
"link": "https://smashingmagazine.com/2021/05/implement-authentication-nextjs-auth0/",
"publishedOn": "2021-05-20T11:00:00.000Z",
"wordCount": 1958,
"title": "How To Implement Authentication In Next.js With Auth0",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/3e905cbf-b17b-47da-aec4-15c9701bf4bf/implement-authentication-nextjs-auth0.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/frustrating-design-patterns-mega-dropdown-hover-menus/",
"author": "hello@smashingmagazine.com (Vitaly Friedman)",
"description": "Everything to keep in mind when designing and building a mega-dropdown, common pitfalls, hover entry/exit delays, trajectory triangle technique and SVG path exit areas.",
"link": "https://smashingmagazine.com/2021/05/frustrating-design-patterns-mega-dropdown-hover-menus/",
"publishedOn": "2021-05-19T11:40:00.000Z",
"wordCount": 5028,
"title": "Frustrating Design Patterns: Mega-Dropdown Hover Menus",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/7c233470-63c3-4557-93c0-a8cc6709b6dd/13-mega-dropdown-hover-menus.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/create-edit-animate-svg-svgator3/",
"author": "hello@smashingmagazine.com (Mikołaj Dobrucki)",
"description": "Today, we are taking a closer look at [SVGator 3.0](https://www.svgator.com/?utm_source=article&utm_medium=smashingmag&utm_campaign=svgator3_smashing), a new major release of the popular SVG application that lets you create, edit and animate SVG files and make the best out of what SVG has to offer — from start to finish.",
"link": "https://smashingmagazine.com/2021/05/create-edit-animate-svg-svgator3/",
"publishedOn": "2021-05-18T10:30:00.000Z",
"wordCount": 1796,
"title": "How To Create, Edit And Animate SVGs All In One Place With SVGator 3.0",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/1e69194b-9e57-4713-bed2-d2f18dd6c914/create-animate-svg-graphics-svgator3-image-7.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/smashing-podcast-episode-37/",
"author": "hello@smashingmagazine.com (Drew McLellan)",
"description": "In this episode, were talking about VisBug. What is it, and how is it different from the array of options already found in Chrome DevTools? Drew McLellan talks to its creator Adam Argyle to find out.",
"link": "https://smashingmagazine.com/2021/05/smashing-podcast-episode-37/",
"publishedOn": "2021-05-18T05:00:00.000Z",
"wordCount": 9250,
"title": "Smashing Podcast Episode 37 With Adam Argyle: What Is VisBug?",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/e26ce3b7-49e1-45d7-8411-ecc5b2d696cd/smashing-podcast-episode-37.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/core-web-vitals-case-study/",
"author": "hello@smashingmagazine.com (Beau Hartshorne)",
"description": "Googles “Page Experience Update” will start rolling out in June. At first, sites that meet Core Web Vitals thresholds will have a minor ranking advantage in mobile search for all browsers. Search is important to any business, and this is the story of how Beau Hartshorne and his team at Instant Domain Search improved their Core Web Vitals scores.",
"link": "https://smashingmagazine.com/2021/05/core-web-vitals-case-study/",
"publishedOn": "2021-05-17T11:30:00.000Z",
"wordCount": 2957,
"title": "How We Improved Our Core Web Vitals (Case Study)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/b68aa1ba-94b7-4e70-83e5-5f58b37bf7cd/core-web-vitals-case-study.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/tree-shaking-reference-guide/",
"author": "hello@smashingmagazine.com (Átila Fassina)",
"description": "“Tree-shaking” is a must-have performance optimization when bundling JavaScript. In this article, we dive deeper on how exactly it works and how specs and practice intertwine to make bundles leaner and more performant. Plus, youll get a tree-shaking checklist to use for your projects.",
"link": "https://smashingmagazine.com/2021/05/tree-shaking-reference-guide/",
"publishedOn": "2021-05-14T10:30:00.000Z",
"wordCount": 2435,
"title": "Tree-Shaking: A Reference Guide",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/0e27a101-d2e0-4661-9e12-b53b68051dbf/tree-shaking-reference-guide.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/frustrating-design-patterns-birthday-picker/",
"author": "hello@smashingmagazine.com (Vitaly Friedman)",
"description": "In this new series of articles on UX, we take a closer look at some frustrating design patterns and explore better alternatives, along with plenty of examples to keep in mind when building or designing one. Lets start with an infamous birthday picker.",
"link": "https://smashingmagazine.com/2021/05/frustrating-design-patterns-birthday-picker/",
"publishedOn": "2021-05-12T12:42:00.000Z",
"wordCount": 3485,
"title": "Frustrating Design Patterns That Need Fixing: Birthday Picker",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/f773d7bb-df56-409f-a3fb-aa1e6e0eea09/4-birthday-picker.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/little-smashing-stories/",
"author": "hello@smashingmagazine.com (Vitaly Friedman)",
"description": "Today marks the day we sent out our 300th edition of the Smashing Newsletter. This article is a little celebration in which we share little Smashing stories from people working behind the scenes.",
"link": "https://smashingmagazine.com/2021/05/little-smashing-stories/",
"publishedOn": "2021-05-12T08:00:00.000Z",
"wordCount": 1993,
"title": "Little Smashing Stories",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/b820c735-621c-4e60-8a3f-accb3f66d312/smashing-newsletter-banner.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/complete-guide-css-container-queries/",
"author": "hello@smashingmagazine.com (Stephanie Eckles)",
"description": "A prototype of the long-awaited CSS container queries has landed in Chrome Canary and is available for experimentation. Lets look at what problem is being solved, learn how container queries work, and see how they compare with and complement existing CSS features for layout.",
"link": "https://smashingmagazine.com/2021/05/complete-guide-css-container-queries/",
"publishedOn": "2021-05-11T13:30:00.000Z",
"wordCount": 4874,
"title": "A Primer On CSS Container Queries",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/a2c88b2c-ef73-44e3-885c-2c5c322fb781/smashing-articles-original.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/smashingconf-conference-platform-hopin/",
"author": "hello@smashingmagazine.com (Amanda Annandale)",
"description": "At the beginning of 2020, the SmashingConf team was ready for a new year. We had so many things that excited us. New speakers, new workshops, new cities, new attendees, new experiences. And as we all know, 2020 had other ideas. With so many people working from home, we thought we would bring our [Smashing workshops](https://smashingconf.com/online-workshops/) from our home offices to yours — but how?",
"link": "https://smashingmagazine.com/2021/05/smashingconf-conference-platform-hopin/",
"publishedOn": "2021-05-11T10:00:00.000Z",
"wordCount": 1958,
"title": "The Conference Platform We Use For Our Online Events: Hopin",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/cabbfe1a-8bcd-4ed3-9442-3ce8e51cc53e/hopin.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/05/get-started-whac-a-mole-react-game/",
"author": "hello@smashingmagazine.com (Jhey Tompkins)",
"description": "Want to get started with React but struggling to find a good place to start? This article should have you covered. Well focus on some of the main concepts of React and then well be building a game from scratch!",
"link": "https://smashingmagazine.com/2021/05/get-started-whac-a-mole-react-game/",
"publishedOn": "2021-05-10T11:00:00.000Z",
"wordCount": 6349,
"title": "Get Started With React By Building A Whac-A-Mole Game",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/7a9db037-1a8d-42ad-b0c3-1c885e456693/get-started-whac-a-mole-react-game.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/product-records-organization-collaboration-best-practices/",
"author": "hello@smashingmagazine.com (Valeriia Panina)",
"description": "How do you organize your Google Drive assets? How do you name your Dropbox Paper documents? How do you deal with comments? Lets get it right.",
"link": "https://smashingmagazine.com/2021/05/product-records-organization-collaboration-best-practices/",
"publishedOn": "2021-05-07T10:00:00.000Z",
"wordCount": 4169,
"title": "How To Organize Product-Related Assets And Collaborate Better",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/2bd6b075-9b54-4fa6-a709-1a8248435c17/product-records-organization-collaboration.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/improving-performance-shopify-themes-case-study/",
"author": "hello@smashingmagazine.com (Carson Shold)",
"description": "When dealing with themes for large platforms and CMS, legacy issues often become a bottleneck. In this article, Carson Shold discusses how his team improved the performance and organization of their Shopify themes, and improved maintainability along the way.",
"link": "https://smashingmagazine.com/2021/05/improving-performance-shopify-themes-case-study/",
"publishedOn": "2021-05-06T11:00:00.000Z",
"wordCount": 2656,
"title": "Improving The Performance Of Shopify Themes (Case Study)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/2286332a-4912-4fb0-9578-530f44f905ed/improving-performance-shopify-themes-case-study.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/reduce-data-sent-client-nextjs/",
"author": "hello@smashingmagazine.com (Liran Cohen)",
"description": "This article showcases a case study of Bookaways landing page performance. Well see how taking care of the props we send to Next.js pages can make loading times and Web Vitals better.",
"link": "https://smashingmagazine.com/2021/05/reduce-data-sent-client-nextjs/",
"publishedOn": "2021-05-05T10:30:00.000Z",
"wordCount": 2341,
"title": "Reducing HTML Payload With Next.js (Case Study)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/0019f4c3-ebdd-4b09-9f45-47173587307b/reduce-data-sent-client-nextjs.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/undoing-mistakes-git-part1/",
"author": "hello@smashingmagazine.com (Tobias Günther)",
"description": "No matter how experienced you are, mistakes are an inevitable part of software development. But we can learn to repair them! And this is what we'll be looking at in this two-part series: how to undo mistakes using Git.",
"link": "https://smashingmagazine.com/2021/05/undoing-mistakes-git-part1/",
"publishedOn": "2021-05-04T14:30:00.000Z",
"wordCount": 1846,
"title": "A Guide To Undoing Mistakes With Git (Part 1)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/211042ae-7a72-42ba-804e-9f8132815200/undoing-mistakes-git-part1.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/smashing-podcast-episode-36/",
"author": "hello@smashingmagazine.com (Drew McLellan)",
"description": "In this episode, were starting our new season of the Smashing Podcast with a look at the future of CSS. What new specs will be landing in browsers soon? Drew McLellan talks to expert Miriam Suzanne to find out.",
"link": "https://smashingmagazine.com/2021/05/smashing-podcast-episode-36/",
"publishedOn": "2021-05-04T05:00:00.000Z",
"wordCount": 6993,
"title": "Smashing Podcast Episode 36 With Miriam Suzanne: What Is The Future Of CSS?",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/07c22e99-6bd0-4012-9227-b494596b6bc7/smashing-podcast-episode-36.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/05/evolution-jamstack/",
"author": "hello@smashingmagazine.com (Mathias Biilmann)",
"description": "Web-oriented databases, frameworks like Nuxt and Next.js, and even frameworkless approaches are evolving the Jamstack, but the core principles are more powerful than ever.",
"link": "https://smashingmagazine.com/2021/05/evolution-jamstack/",
"publishedOn": "2021-05-03T07:00:00.000Z",
"wordCount": 2178,
"title": "The Evolution Of Jamstack",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/77ef8e71-94e8-49bb-9c9b-dc5b68902149/evolution-jamstack.jpg",
"length": "0",
"type": "image/jpg"
}
}
]
},
{
"title": "freeCodeCamp.org",
"feedUrl": "https://www.freecodecamp.org/news/rss/",
"siteUrl": "https://www.freecodecamp.org/news",
"articles": [
{
"id": "60b08d8811ffb70827ef8c7b",
"author": null,
"description": "If you've been following the news lately, you may have noticed a worrisome tech trend. The frequency and severity of cybersecurity attacks are exploding. We've seen news of a sprawling hack involving the SolarWinds management platform. That attack may have compromised the systems of over 18,000 SolarWinds customers. Then,",
"link": "https://www.freecodecamp.org/news/how-to-secure-your-android-app/",
"publishedOn": "2021-05-28T16:01:05.000Z",
"wordCount": 1568,
"title": "How to Secure Your Android App Four Security Best Practices Every Android Dev Should Know"
},
{
"id": "60b0de2211ffb70827ef8d7c",
"author": null,
"description": "More and more applications are using computer vision these days. We just published a full course on the freeCodeCamp.org YouTube channel that will help you learn advanced computer vision using Python. You will learn state of the art computer vision techniques by building five projects with libraries such as",
"link": "https://www.freecodecamp.org/news/advanced-computer-vision-with-python/",
"publishedOn": "2021-05-28T12:26:38.000Z",
"wordCount": 368,
"title": "Advanced Computer Vision with Python"
},
{
"id": "60af931811ffb70827ef85d3",
"author": null,
"description": "When you're training a machine learning model, you can have some features in your dataset that represent categorical values. Categorical features are types of data that you can divide into groups. There are three common categorical data types: Ordinal a set of values in ascending or descending order. Example: rating",
"link": "https://www.freecodecamp.org/news/improve-machine-learning-model-performance-by-combining-categorical-features/",
"publishedOn": "2021-05-27T17:55:23.000Z",
"wordCount": 1828,
"title": "How to Improve Machine Learning Model Performance by Combining Categorical Features"
},
{
"id": "60a325c6906c5207e3a7da25",
"author": null,
"description": "In this article, I'll teach you how to make a basketball using materials and textures in Unity. You can extend this micro-concept to create any kind of ball like a football, tennis ball, or snooker balls. That said, these techniques aren't just limited to creating round 3D objects like balls.",
"link": "https://www.freecodecamp.org/news/how-to-make-a-basketball-in-unity-with-materials-and-textures/",
"publishedOn": "2021-05-27T15:16:34.000Z",
"wordCount": 1399,
"title": "How to Make a Bouncing Basketball in Unity with Materials and Textures 🏀"
},
{
"id": "60a44b9f906c5207e3a7e098",
"author": null,
"description": "In this tutorial you will create an app that generates dynamic animated text using Giphy's API with ReactJS. After that I'll go over some of the other API features Giphy provides that you can use to make other interesting projects. You can find the code for the tutorial here. Video",
"link": "https://www.freecodecamp.org/news/giphy-api-tutorial/",
"publishedOn": "2021-05-26T21:44:01.000Z",
"wordCount": 2014,
"title": "Giphy API Tutorial How to Generate Animated Text GIFs with ReactJS"
},
{
"id": "60abe7fb11ffb70827ef63a6",
"author": null,
"description": "If you're a developer, you've probably come across the term \"open source.\" If you've ever wondered what it's all about and how to contribute, you are in exactly the right place. I put aside all my fears about how and what to contribute during Hacktoberfest 2020, and made",
"link": "https://www.freecodecamp.org/news/how-to-contribute-to-open-source-projects-beginners-guide/",
"publishedOn": "2021-05-26T18:01:00.000Z",
"wordCount": 2359,
"title": "How to Contribute to Open Source Projects A Beginner&#x27;s Guide"
},
{
"id": "606f4f5fd5756f080ba96b65",
"author": null,
"description": "In this article, I'll give you a brief overview of the configuration syntax of Terraform. Terraform's docs provide the most comprehensive look at its syntax. But this article should serve as a condensed quick start introduction that'll give new users a simplified overview. We'll focus on the basic structures without",
"link": "https://www.freecodecamp.org/news/terraform-syntax-for-beginners/",
"publishedOn": "2021-05-26T18:00:52.000Z",
"wordCount": 3782,
"title": "Learn Basic Terraform Syntax in 20 minutes"
},
{
"id": "60abc59d11ffb70827ef6304",
"author": null,
"description": "In this article, I'll walk you through how to set up your own GraphQL API using PHP and Laravel. Two years ago, I started working professionally as a backend developer. And I was very intimidated by all the technology I didn't yet know. Words like Docker, Kubernetes, and GraphQL seemed",
"link": "https://www.freecodecamp.org/news/build-a-graphql-api-using-laravel/",
"publishedOn": "2021-05-26T16:34:32.000Z",
"wordCount": 3054,
"title": "How to Build a GraphQL API Using Laravel"
},
{
"id": "60aced0011ffb70827ef6d96",
"author": null,
"description": "In this video course I show you how to build three popular games using the latest game development library for JavaScript called Kaboom.js. This course is exciting for two reasons: First of all, I am going to be introducing a new technology designed especially for game development in JavaScript.",
"link": "https://www.freecodecamp.org/news/how-to-build-mario-zelda-and-space-invaders-with-kaboom-js/",
"publishedOn": "2021-05-26T14:12:27.000Z",
"wordCount": 1273,
"title": "How to Build Super Mario Bros, Zelda, and Space Invaders with Kaboom.js"
},
{
"id": "60ac3a2711ffb70827ef6aec",
"author": null,
"description": "Walkthrough for Hack The Box Valentine machine",
"link": "https://www.freecodecamp.org/news/keep-calm-and-hack-the-box-valentine/",
"publishedOn": "2021-05-25T22:43:11.000Z",
"wordCount": 1664,
"title": "Keep Calm and Hack The Box Valentine"
}
]
}
],
"cliVersion": "1.9.0"
}