osmosfeed-template/cache.json
2021-06-16 00:38:59 +00:00

700 lines
No EOL
49 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.10.2",
"author": null,
"description": "Added: testing and CI/CD workflows",
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.10.2",
"publishedOn": "2021-06-01T04:39:30.000Z",
"wordCount": 268,
"title": "v1.10.2"
},
{
"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": 413,
"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"
}
]
},
{
"title": "CSS-Tricks",
"feedUrl": "https://css-tricks.com/feed/",
"siteUrl": "https://css-tricks.com",
"articles": [
{
"id": "https://css-tricks.com/?p=342198",
"author": "Chris Coyier",
"description": "Usually, when “unused” comes up in conversation regarding CSS, its about removing chunks of CSS that are not used in your site or, at least, the styles not currently in use on a specific page. The minimal amount of CSS …\nThe post Detect Unused Classes in… HTML appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/detect-unused-classes-in-html/",
"publishedOn": "2021-06-15T23:24:20.000Z",
"wordCount": 741,
"title": "Detect Unused Classes in… HTML"
},
{
"id": "https://css-tricks.com/?p=342519",
"author": "Chris Coyier",
"description": "Max Böck took me up on my challenge to look through a codebase and see how many of the @media queries could ultimately become @container queries.\nI took the bait and had a look at some of my projects \n…\nThe post Media Queries in Times of @container appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://mxb.dev/blog/media-queries-in-times-of-container-queries/",
"publishedOn": "2021-06-15T19:51:32.000Z",
"wordCount": 1907,
"title": "Media Queries in Times of @container"
},
{
"id": "https://css-tricks.com/?p=342248",
"author": "Chris Coyier",
"description": "I wonder where headless WordPress will land. And by “headless” I mean only using the WordPress admin and building out the user-facing site through the WordPress REST API rather than the traditional WordPress theme structure.\nIs it… big? The future …\nThe post Just How Niche is Headless WordPress? appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/just-how-niche-is-headless-wordpress/",
"publishedOn": "2021-06-15T14:31:34.000Z",
"wordCount": 1844,
"title": "Just How Niche is Headless WordPress?"
},
{
"id": "https://css-tricks.com/?p=342294",
"author": "Chris Coyier",
"description": "It wasnt long ago when I looked at sticky headers and footers in HTML <table>s in the blog post A table with both a sticky header and a sticky first column. In it, I never used position: sticky on …\nThe post Making Tables With Sticky Header and Footers Got a Bit Easier appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/making-tables-with-sticky-header-and-footers-got-a-bit-easier/",
"publishedOn": "2021-06-14T22:04:41.000Z",
"wordCount": 875,
"title": "Making Tables With Sticky Header and Footers Got a Bit Easier"
},
{
"id": "https://css-tricks.com/?p=342229",
"author": "Chris Coyier",
"description": "Just a little link roundup of some off-site stuff Ive done recently. As Im wont to do from time to time. \nDevJourney Podcast\n#151 Chris Coyier from ceramics to CSS-Tricks and CodePen\nChris took us from playing on \n…\nThe post CSS-Tricks Chronicle XXXX appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/css-tricks-chronicle-xxxx/",
"publishedOn": "2021-06-14T18:20:17.000Z",
"wordCount": 730,
"title": "CSS-Tricks Chronicle XXXX"
},
{
"id": "https://css-tricks.com/?p=342070",
"author": "Khari McMillian",
"description": "When you load a file from an external server, youre trusting that the content you request is what you expect it to be. Since you dont manage the server yourself, youre relying on the security of yet another third party …\nThe post Securing Your Website With Subresource Integrity appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/securing-your-website-with-subresource-integrity/",
"publishedOn": "2021-06-14T13:30:27.000Z",
"wordCount": 3330,
"title": "Securing Your Website With Subresource Integrity"
},
{
"id": "https://css-tricks.com/?p=342429",
"author": "Chris Coyier",
"description": "Theres a 33-minute video (and resources) over on apple.com covering the upcoming Safari changes we saw in the WWDC keynote this year in much more detail. Look whos got a little cameo in there:\nPerhaps the most noticeable thing there …\nThe post Safari 15: New UI, Theme Colors, and… a CSS-Tricks Cameo! appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/safari-15-new-ui-theme-colors-and-a-css-tricks-cameo/",
"publishedOn": "2021-06-11T21:38:48.000Z",
"wordCount": 1155,
"title": "Safari 15: New UI, Theme Colors, and… a CSS-Tricks Cameo!"
},
{
"id": "https://css-tricks.com/?p=342237",
"author": "Chris Coyier",
"description": "Thats the one word that isnt an adjective in the acronym RSS. \nReally Simple Syndication.\nUpdate: Lol there are literally two mistakes there. RSS is an initialism not an acronym, and “Really” is an adverb not an adjective. \nRSS …\nThe post The Possibilities of Syndication appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/the-possibilities-of-syndication/",
"publishedOn": "2021-06-11T21:25:56.000Z",
"wordCount": 734,
"title": "The Possibilities of Syndication"
},
{
"id": "https://css-tricks.com/?p=342164",
"author": "Joel Olawanle",
"description": "Why would we need to apply shadows to SVG?\nShadows are a common design feature that can help elements, like icons, stand out. They could be persistent, or applied in different states (e.g. :hover, :focus, or :active) \n…\nThe post Adding Shadows to SVG Icons With CSS and SVG Filters appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/adding-shadows-to-svg-icons-with-css-and-svg-filters/",
"publishedOn": "2021-06-11T14:30:29.000Z",
"wordCount": 2679,
"title": "Adding Shadows to SVG Icons With CSS and SVG Filters"
},
{
"id": "https://css-tricks.com/?p=342050",
"author": "Chris Coyier",
"description": "One thing that can be just a smidge funky about the <details> element is that, when open, its not always 100% clear what is inside that element and what isnt. Im not saying that always matters or that its a …\nThe post Put a Background on Open Details Elements appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/put-a-background-on-open-details-elements/",
"publishedOn": "2021-06-11T00:16:28.000Z",
"wordCount": 667,
"title": "Put a Background on Open Details Elements"
},
{
"id": "https://css-tricks.com/?p=341894",
"author": "Kevin Powell",
"description": "As awesome as flexbox is, what its doing under the hood is actually a little strange because, by default, it is doing two things at once. It first looks at the content size which is what we would get if by declaring width: max-content on an element. But on top of that, flex-shrink is also doing some work allowing the items to be smaller, but only if needed.\nLets break those two down and see how they work together.\nThe post Equal Columns With Flexbox: Its More Complicated Than You Might Think appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/equal-columns-with-flexbox-its-more-complicated-than-you-might-think/",
"publishedOn": "2021-06-10T14:34:22.000Z",
"wordCount": 4695,
"title": "Equal Columns With Flexbox: Its More Complicated Than You Might Think"
},
{
"id": "https://css-tricks.com/?p=342182",
"author": "Ikeh Akinyemi",
"description": "In this tutorial, we will learn and use headless CMS, Fauna, and Vercel functions to build a blogging platform, Blogify After that, you can easily build any web application using a headless CMS, Fauna and Vercel functions.\nThe post Building a Headless CMS with Fauna and Vercel Functions appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/building-a-headless-cms-with-fauna-and-vercel-functions/",
"publishedOn": "2021-06-10T14:26:47.000Z",
"wordCount": 3006,
"title": "Building a Headless CMS with Fauna and Vercel Functions"
},
{
"id": "https://css-tricks.com/?p=340967",
"author": "Geoff Graham",
"description": "I dont know about yall, but my feeds have been flooded with articles about CSS Container Queries these past few weeks. The buzz about container queries actually started back in December after Miriam Suzanne posted a proposal (picking up on …\nThe post A Cornucopia of Container Queries appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/a-cornucopia-of-container-queries/",
"publishedOn": "2021-06-09T20:37:00.000Z",
"wordCount": 1539,
"title": "A Cornucopia of Container Queries"
},
{
"id": "https://css-tricks.com/?p=341916",
"author": "Chris Coyier",
"description": "Does that make your eye twitch a little bit? Like… its a typo. It should be target=\"_blank\" with an underscore to start the value. As in…\n<a target=\"_blank\" href=\"https://codepen.io\"Open CodePen in a New Tab\n</a\nWelp, thats correct syntax!…\nThe post target=blank appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/targetblank/",
"publishedOn": "2021-06-09T14:37:31.000Z",
"wordCount": 1469,
"title": "target=blank"
},
{
"id": "https://css-tricks.com/?p=341982",
"author": "Todd Libby",
"description": "Have you ever experienced the frustration of trying to tap a button on a mobile device only to have it do nothing because the target size is just not large enough **and its not picking up on your press? Maybe …\nThe post Looking at WCAG 2.5.5 for Better Target Sizes appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/looking-at-wcag-2-5-5-for-better-target-sizes/",
"publishedOn": "2021-06-08T18:31:08.000Z",
"wordCount": 3431,
"title": "Looking at WCAG 2.5.5 for Better Target Sizes"
}
]
},
{
"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/06/multiple-wordpress-sites-locally-devkinsta/",
"author": "hello@smashingmagazine.com (Leonardo Losoviz)",
"description": "When developing themes and plugins for WordPress, we need to test them in different environments. How can we create multiple testing sites on our computer, quickly and easily, without having to become a sysadmin?",
"link": "https://smashingmagazine.com/2021/06/multiple-wordpress-sites-locally-devkinsta/",
"publishedOn": "2021-06-15T10:15:00.000Z",
"wordCount": 2381,
"title": "Spinning Up Multiple WordPress Sites Locally With DevKinsta",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/2798d879-8878-49e3-bc0f-a1b2008210c0/devkinsta-frontpage.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/06/smashing-podcast-episode-39/",
"author": "hello@smashingmagazine.com (Drew McLellan)",
"description": "In this episode of the Smashing Podcast, were talking about image optimization. What steps should we follow for performant images in 2021? We talk to expert Addy Osmani to find out.",
"link": "https://smashingmagazine.com/2021/06/smashing-podcast-episode-39/",
"publishedOn": "2021-06-15T07:00:00.000Z",
"wordCount": 10715,
"title": "Smashing Podcast Episode 39 With Addy Osmani: Image Optimization",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/bf1aeccc-a603-4cb3-b716-69bd0c86d33a/smashing-podcast-episode-39.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/css-javascript-requirements-accessible-components/",
"author": "hello@smashingmagazine.com (Stephanie Eckles)",
"description": "Spoiler alert: tooltips, modals, tabs, carousels, and dropdown menus are some of the user interface components that require more than CSS. To ensure accessibility of your interface, JavaScript is a necessary addition to accomplish focus management, respond to keyboard events, and toggle ARIA attributes.",
"link": "https://smashingmagazine.com/2021/06/css-javascript-requirements-accessible-components/",
"publishedOn": "2021-06-14T10:30:00.000Z",
"wordCount": 3669,
"title": "When CSS Isnt Enough: JavaScript Requirements For Accessible Components",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/9982fa1e-806c-4343-9de1-eb804a48451e/css-javascript-requirements-accessible-components.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/web-design-done-well-audio/",
"author": "hello@smashingmagazine.com (Frederick OBrien)",
"description": "Design often revolves around visuals, but the other senses deserve love too. In this article, we tune in to audio features that are making sites sing.",
"link": "https://smashingmagazine.com/2021/06/web-design-done-well-audio/",
"publishedOn": "2021-06-11T15:00:00.000Z",
"wordCount": 1699,
"title": "Web Design Done Well: Making Use Of Audio",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/bf0cbb26-546e-43b7-9b9a-9077259ea84b/making-use-of-audio.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/useful-frontend-boilerplates-starter-kits/",
"author": "hello@smashingmagazine.com (Cosima Mielke)",
"description": "We dont need to write everything from scratch every single time. With boilerplates and starter kits, we can set up our projects faster, and get to work immediately.",
"link": "https://smashingmagazine.com/2021/06/useful-frontend-boilerplates-starter-kits/",
"publishedOn": "2021-06-10T15:00:00.000Z",
"wordCount": 5108,
"title": "Useful Front-End Boilerplates And Starter Kits",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/598e7f3e-9dca-4922-b17d-76089efab46f/25-frontend-boilerplates-starter-kits.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/06/three-frontend-auditing-tools/",
"author": "hello@smashingmagazine.com (Stefan Judis)",
"description": "Building a faster website can be a rocket task these days. There are so many things to consider, so its challenging to get everything right. Here are some less-known tools that might help you get there.",
"link": "https://smashingmagazine.com/2021/06/three-frontend-auditing-tools/",
"publishedOn": "2021-06-10T11:15:00.000Z",
"wordCount": 864,
"title": "Three Front-End Auditing Tools I Discovered Recently",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/e21066b1-baa0-4a85-90ee-8074029d0a32/three-frontend-auditing-tools.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/has-native-css-parent-selector/",
"author": "hello@smashingmagazine.com (Adrian Bece)",
"description": "What makes relational selector one of the most requested features and how are we, as developers, working around not having it? In this article, were going to check the early spec of the :has selector, and see how it should improve the CSS workflow once its released.",
"link": "https://smashingmagazine.com/2021/06/has-native-css-parent-selector/",
"publishedOn": "2021-06-09T10:30:00.000Z",
"wordCount": 2777,
"title": "Meet <code>:has</code>, A Native CSS Parent Selector (And More)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/89aef48d-9be9-45df-a7f4-775168deb8dd/has-native-css-parent-selector.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/image-optimization-book-release/",
"author": "hello@smashingmagazine.com (Vitaly Friedman)",
"description": "Its here! For the last year, weve been working with Addy Osmani on a new Smashing Book all around image optimization. And now its here. Meet “Image Optimization”, our deep-dive guide to understand how to deliver high-quality images on the web fast.",
"link": "https://smashingmagazine.com/2021/06/image-optimization-book-release/",
"publishedOn": "2021-06-08T12:00:00.000Z",
"wordCount": 2347,
"title": "From AVIF to WebP: A New Smashing Book By Addy Osmani",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/b41ae541-7618-44f2-81cd-cc681c64d0d0/image-optimization-header.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/06/building-geocoding-app-vue-mapbox/",
"author": "hello@smashingmagazine.com (Prince Chukwudire)",
"description": "In this guide, well be taking a general look at the concepts of forward geocoding and reverse geocoding, and will build a mini-app that applies these concepts to display specific locations, using Mapbox and Vue.js 2.6.11 to achieve this.",
"link": "https://smashingmagazine.com/2021/06/building-geocoding-app-vue-mapbox/",
"publishedOn": "2021-06-07T11:00:00.000Z",
"wordCount": 2443,
"title": "How To Build A Geocoding App In Vue.js Using Mapbox",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/20dc2361-e5a5-4a78-b380-2f5942ecfba8/building-geocoding-app-vue-mapbox.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/getting-started-webpack/",
"author": "hello@smashingmagazine.com (Nwani Victory)",
"description": "Modern browsers provide good support for JavaScript modules, but module bundlers such as webpack stay a critical part of the JavaScript toolchain. Lets take a deep dive into what webpack is and how to use it in your development workflow.",
"link": "https://smashingmagazine.com/2021/06/getting-started-webpack/",
"publishedOn": "2021-06-04T10:00:00.000Z",
"wordCount": 4415,
"title": "Getting Started With Webpack",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/66ba7a41-2a37-471b-9c60-66a3162d8f05/webpack-dependency-graph-opt.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/06/managing-shared-state-vue3/",
"author": "hello@smashingmagazine.com (Shawn Wildermuth)",
"description": "Writing large-scale Vue applications can be a challenge. In this article, Shawn Wildermuth dives into the pros and cons of approaches like factories, shared objects, and using Vuex. He also explains what is coming in Vuex 5.0 that might change how we all use shared state in Vue 3.",
"link": "https://smashingmagazine.com/2021/06/managing-shared-state-vue3/",
"publishedOn": "2021-06-03T10:30:00.000Z",
"wordCount": 3719,
"title": "Managing Shared State In Vue 3",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/0a70815d-28e5-44af-8306-0e992e99593a/managing-shared-state-vue3.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/how-to-fix-cumulative-layout-shift-issues/",
"author": "hello@smashingmagazine.com (Barry Pollard)",
"description": "Googles Core Web Vitals initiative has taken the SEO and Web Performance worlds by storm and many sites are busy optimizing their Page Experience to maximize the ranking factor. The Cumulative Layout Shift metric is causing trouble to a lot of sites, so lets have a look at ways of addressing any issues for that metric.",
"link": "https://smashingmagazine.com/2021/06/how-to-fix-cumulative-layout-shift-issues/",
"publishedOn": "2021-06-02T12:30:00.000Z",
"wordCount": 4582,
"title": "How To Fix Cumulative Layout Shift (CLS) Issues",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/87fbe5f9-d311-4542-a3f0-14e860415946/cumulative-layout-shift-issues.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/front-end-performance-online-store-jewellerybox/",
"author": "hello@smashingmagazine.com (Jennifer Brehm)",
"description": "Getting a good performance score from Google is hard for any website — but doing so for an online store is even harder. We achieved green scores — even several for mobile. Here is how we did it.",
"link": "https://smashingmagazine.com/2021/06/front-end-performance-online-store-jewellerybox/",
"publishedOn": "2021-06-02T10:30:00.000Z",
"wordCount": 5648,
"title": "Improving The Performance Of An Online Store (Case Study)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/8a350bf5-9114-420c-b587-fee03ea4acb6/jewellerybox-uk-online-store-scipioerp.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/smashing-podcast-episode-38/",
"author": "hello@smashingmagazine.com (Drew McLellan)",
"description": "In this episode, were talking about React performance. What factors slow our React apps down, and how can we fix it? Drew McLellan talks to expert Ivan Akulov to find out.",
"link": "https://smashingmagazine.com/2021/06/smashing-podcast-episode-38/",
"publishedOn": "2021-06-01T14:00:00.000Z",
"wordCount": 7321,
"title": "Smashing Podcast Episode 38 With Ivan Akulov: Why Is My React App Slow?",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/6db8029d-7039-4beb-b787-f3a0df852f12/smashing-podcast-episode-38.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/06/currency-convertor-exchangeratesapi/",
"author": "hello@smashingmagazine.com (Leonardo Losoviz)",
"description": "Amazon allows visitors to display prices in their own currency. Thanks to *ExchangeRatesApi.io*, we can do the same for our online shops, providing a better experience to our customers. Lets find out how.",
"link": "https://smashingmagazine.com/2021/06/currency-convertor-exchangeratesapi/",
"publishedOn": "2021-06-01T09:00:00.000Z",
"wordCount": 1513,
"title": "Setting Up A Currency Convertor With ExchangeRatesApi.io",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/3ce4b3b1-3ae6-4371-8aaf-d72da3b69fc5/4-exchange-rate-api-bsa.png",
"length": "0",
"type": "image/png"
}
},
{
"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": 2721,
"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": 10552,
"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": 4058,
"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": 2842,
"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": 1749,
"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": 2283,
"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": 2254,
"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": 2932,
"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": 9796,
"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": 966,
"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": 2180,
"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": 5307,
"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": 1943,
"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": 9506,
"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"
}
}
]
},
{
"title": "freeCodeCamp.org",
"feedUrl": "https://www.freecodecamp.org/news/rss/",
"siteUrl": "https://www.freecodecamp.org/news",
"articles": [
{
"id": "60c91b2b4dc1a607ed7b389a",
"author": null,
"description": "DevOps is becoming an in-demand role at many software companies. We just released a DevOps Engineering course on the freeCodeCamp.org YouTube channel. Learn all about DevOps in this comprehensive course for beginners with three technical tutorials. Colin Chartier created this course. He is the co-founder and CEO at LayerCI.",
"link": "https://www.freecodecamp.org/news/devops-engineering-course-for-beginners/",
"publishedOn": "2021-06-15T21:33:17.000Z",
"wordCount": 455,
"title": "DevOps Engineering Course for Beginners"
},
{
"id": "60c72a0ad3126007592d7e2a",
"author": null,
"description": "To understand what this truly means in JavaScript, let's take a look at a very similar concept in the English Language: Polysemy. Let's consider the word \"run\". Run is a single word which could mean many different things depending on the context. “I will run home” means to move quickly",
"link": "https://www.freecodecamp.org/news/what-is-this-in-javascript/",
"publishedOn": "2021-06-15T21:19:12.000Z",
"wordCount": 1383,
"title": "What Does &#x27;this&#x27; Mean in JavaScript? The this Keyword Explained with Examples"
},
{
"id": "60c8912c4dc1a607ed7b2fff",
"author": null,
"description": "As a freelance developer, knowing how much to charge for a project can often feel like a gamble. It's easy to wonder \"Am I setting my price too high?\" This is normally the first question that comes to mind. And your brain will probably meet this question with a resounding",
"link": "https://www.freecodecamp.org/news/what-to-charge-as-a-freelance-developer-dont-be-the-cheapest/",
"publishedOn": "2021-06-15T21:10:54.000Z",
"wordCount": 2031,
"title": "What to Charge as a Freelance Developer and Why You Should Avoid Being the Cheapest"
},
{
"id": "60c3dcb3d3126007592d6c6d",
"author": null,
"description": "Python decorators allow you to change the behavior of a function without modifying the function itself. In this article I will show you how to create and use decorators. You will see how easy it is to use this advanced Python feature. In this article I will discuss the following",
"link": "https://www.freecodecamp.org/news/python-decorators-explained-with-examples/",
"publishedOn": "2021-06-15T17:57:54.000Z",
"wordCount": 1409,
"title": "Python Decorators How to Create and Use Decorators in Python With Examples"
},
{
"id": "602aaaf60a2838549dcc5c7f",
"author": null,
"description": "Any sufficiently old codebase eventually starts to contain legacy code. Architecture, performance, comments, and more begin to degrade the moment after they are written. Some parts of the codebase last longer than other parts, but inevitably new coding standards emerge to reduce technical debt. Then you have to rework a",
"link": "https://www.freecodecamp.org/news/what-is-the-strangler-pattern-in-software-development/",
"publishedOn": "2021-06-15T17:43:43.000Z",
"wordCount": 1292,
"title": "What is the Strangler Fig Pattern and How it Helps Manage Legacy Code"
},
{
"id": "60b7cb6aacb62507dd1d7c1a",
"author": null,
"description": "You can now open anything (that you have access to) on GitHub directly from VS Code.",
"link": "https://www.freecodecamp.org/news/you-can-now-edit-anything-on-github-in-vs-code-without-cloning/",
"publishedOn": "2021-06-15T16:06:54.000Z",
"wordCount": 1714,
"title": "How to Open Any Repo in VS Code Without Cloning It"
},
{
"id": "60c6aec3d3126007592d7bd5",
"author": null,
"description": "What is an Aggregate Function?SQL aggregate functions will seem very familiar if you have worked with spreadsheets. Have you ever used SUM in Google Sheets or Excel? The SUM function exists in SQL as well, and is called an aggregate function. Aggregate functions do a particular task across database",
"link": "https://www.freecodecamp.org/news/sql-aggregate-functions-with-example-data-queries-for-beginners/",
"publishedOn": "2021-06-15T15:48:09.000Z",
"wordCount": 888,
"title": "SQL Aggregate Functions With Example Data Queries for Beginners"
},
{
"id": "60bbdd8dacb62507dd1d9a2d",
"author": null,
"description": "You've probably seen the term \"full stack developer\" before, either on tech-related websites or in job applications you've perused. So have you ever wondered what exactly a full stack developer is and what skills you'd need to become one? Well if you're curious like I was, this article",
"link": "https://www.freecodecamp.org/news/what-is-a-fullstack-developer/",
"publishedOn": "2021-06-15T15:35:39.000Z",
"wordCount": 2706,
"title": "What is Full Stack? How to Become a Full Stack Developer"
},
{
"id": "60873d1fdd38b9088c2c0842",
"author": null,
"description": "System Design is an important topic to understand if you want to advance further in your career as a software engineer. Even if you are just beginning your coding journey, it's a good idea to get a head start on learning about system design. Early in your career you will",
"link": "https://www.freecodecamp.org/news/system-design-interview-practice-tutorial/",
"publishedOn": "2021-06-14T22:46:31.000Z",
"wordCount": 2704,
"title": "System Design Interview Tutorial The Beginner&#x27;s Guide to System Design"
},
{
"id": "60bce373acb62507dd1d9f19",
"author": null,
"description": "We often work with web applications that need to fetch large amounts of data from a server through APIs and render it on the screen. For example, in a Social media application we fetch and render users' posts and comments. In an HR dashboard we display information about candidates who",
"link": "https://www.freecodecamp.org/news/build-a-custom-pagination-component-in-react/",
"publishedOn": "2021-06-14T22:39:00.000Z",
"wordCount": 2563,
"title": "How to Build a Custom Pagination Component in React"
}
]
}
],
"cliVersion": "1.10.2"
}