This commit is contained in:
chuanqisun 2021-08-12 00:39:10 +00:00
parent 9eb7bbdad4
commit 4cb6cd7120
3 changed files with 460 additions and 501 deletions

View file

@ -11,13 +11,40 @@
"feedUrl": "https://css-tricks.com/feed/",
"siteUrl": "https://css-tricks.com",
"articles": [
{
"id": "https://css-tricks.com/?p=346388",
"author": "Chris Coyier",
"description": "Heck of a CSS trick here from Dongsung Kim. \nThere are hidden HDR videos playing at the corners of this page. When a HDR-capable browser encounters one, it switches to HDR mode. For some reason, CSS backdrop-filter + brightness >100% \n…\nThe post Wanna see a whiter white? appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://kidi.ng/wanna-see-a-whiter-white/",
"publishedOn": "2021-08-11T19:09:36.000Z",
"wordCount": 351,
"title": "Wanna see a whiter white?"
},
{
"id": "https://css-tricks.com/?p=345889",
"author": "Mike Neumegen",
"description": "Youll often hear developers talking about “static” vs. “dynamic” sites, or you may have heard someone use the term Jamstack. What do these terms mean, and when does a “static” site become either a Jamstack or dynamic site? These …\nThe post Static vs. Dynamic vs. Jamstack: Wheres The Line? appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/static-vs-dynamic-vs-jamstack-wheres-the-line/",
"publishedOn": "2021-08-11T14:31:20.000Z",
"wordCount": 3744,
"title": "Static vs. Dynamic vs. Jamstack: Wheres The Line?"
},
{
"id": "https://css-tricks.com/?p=346384",
"author": "Chris Coyier",
"description": "We took a surface level look at Pipedream the other day, which really does look cool. Its like a much more modern and fancy version of what Yahoo Pipes was. A better comparison might be Zapier, except you …\nThe post Napkin appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://www.napkin.io/",
"publishedOn": "2021-08-11T14:31:13.000Z",
"wordCount": 104,
"title": "Napkin"
},
{
"id": "https://css-tricks.com/?p=346392",
"author": "Chris Coyier",
"description": "Have you ever wished you could see the HTML source of a web page while on a mobile browser, which generally doesnt offer that feature? If you have a desktop machine around, there are ways, but what I mean …\nThe post View Source (on Mobile) appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/view-source-on-mobile/",
"link": "https://neatnik.net/view-source/",
"publishedOn": "2021-08-10T21:26:34.000Z",
"wordCount": 566,
"wordCount": 150,
"title": "View Source (on Mobile)"
},
{
@ -35,7 +62,7 @@
"description": "(This is a sponsored post.)\nGot a WooCommerce store? It behooves you to offer a variety of payment methods. Just anecdotally, Im sure both you and me have been annoyed and even abandoned purchases when a merchant, online or …\nThe post WooCommerce With Apple Pay and Google Pay appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/woocommerce-with-apple-pay-and-google-pay/",
"publishedOn": "2021-08-10T14:54:56.000Z",
"wordCount": 1293,
"wordCount": 1338,
"title": "WooCommerce With Apple Pay and Google Pay"
},
{
@ -53,7 +80,7 @@
"description": "It might be the very first thing a lot of people learn in JavaScript:\nalert(\"Hello, World\");\nOne day at CodePen, we woke up to a ton of customer support tickets about their Pens being broken, which ultimately boiled down to …\nThe post Choice Words about the Upcoming Deprecation of JavaScript Dialogs appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/choice-words-about-the-upcoming-deprecation-of-javascript-dialogs/",
"publishedOn": "2021-08-09T21:23:44.000Z",
"wordCount": 2127,
"wordCount": 2217,
"title": "Choice Words about the Upcoming Deprecation of JavaScript Dialogs"
},
{
@ -118,33 +145,6 @@
"publishedOn": "2021-08-05T14:24:36.000Z",
"wordCount": 3842,
"title": "Three Buggy React Code Examples and How to Fix Them"
},
{
"id": "https://css-tricks.com/?p=345552",
"author": "Shadid Haque",
"description": "(This is a sponsored post.)\nFlutter is Googles UI framework used to create flexible, expressive cross-platform mobile applications. It is one of the fastest-growing frameworks for mobile app development. On the other hand, Fauna is a transactional, developer-friendly serverless …\nThe post How to Build a Full-Stack Mobile Application With Flutter, Fauna, and GraphQL appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/how-to-build-a-full-stack-mobile-application-with-flutter-fauna-and-graphql/",
"publishedOn": "2021-08-05T09:23:00.000Z",
"wordCount": 3145,
"title": "How to Build a Full-Stack Mobile Application With Flutter, Fauna, and GraphQL"
},
{
"id": "https://css-tricks.com/?p=345866",
"author": "Chris Coyier",
"description": "You gotta appreciate the tenacity of Surma. Hes been advocating for Web Workers as a path forward to better-feeling websites for a lot of years now. Hes at it again making sure we all understand the landscape:\n[…] regardless \n…\nThe post The State Of Web Workers In 2021 appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://www.smashingmagazine.com/2021/06/web-workers-2021/",
"publishedOn": "2021-08-04T23:44:06.000Z",
"wordCount": 4748,
"title": "The State Of Web Workers In 2021"
},
{
"id": "https://css-tricks.com/?p=345274",
"author": "Preethi",
"description": "Straight across or down, thats the proverbial order for user controls on a screen. Like a list of menu items. But what if we change that to a more fluid layout with bends, curves, and nooks? We can pull it …\nThe post Using CSS Shapes for Interesting User Controls and Navigation appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.",
"link": "https://css-tricks.com/using-css-shapes-for-interesting-user-controls-and-navigation/",
"publishedOn": "2021-08-04T14:13:45.000Z",
"wordCount": 1515,
"title": "Using CSS Shapes for Interesting User Controls and Navigation"
}
]
},
@ -153,6 +153,34 @@
"feedUrl": "https://www.smashingmagazine.com/feed/",
"siteUrl": "https://www.smashingmagazine.com/",
"articles": [
{
"id": "https://smashingmagazine.com/2021/08/new-smashing-online-workshops-aug-oct-2021/",
"author": "hello@smashingmagazine.com (Iris Lješnjanin)",
"description": "How do we build and establish a successful, bulletproof design system? Whats the state of HTML Email? And what are new, smart interface design patterns we could use? Lets find out. With our [brand new online workshops](https://smashingconf.com/online-workshops/) on front-end & design — to help us all boost skills online.",
"link": "https://smashingmagazine.com/2021/08/new-smashing-online-workshops-aug-oct-2021/",
"publishedOn": "2021-08-11T13:25:00.000Z",
"wordCount": 851,
"title": "New Smashing Workshops on Front-End & 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/08/mounting-unmounting-navigation-routes-react-native/",
"author": "hello@smashingmagazine.com (Daniel Don)",
"description": "Often you need two different sets of navigation stacks for pre and post user authentication. Usually, to see more content, you have to be authenticated in some way. Lets look at how to mount and unmount navigation stack based on a met condition in React Native.",
"link": "https://smashingmagazine.com/2021/08/mounting-unmounting-navigation-routes-react-native/",
"publishedOn": "2021-08-11T11:40:00.000Z",
"wordCount": 5026,
"title": "Handling Mounting And Unmounting Of Navigation Routes In React Native",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/03d97d60-d23b-419c-acb3-23e467d4cc16/mounting-unmounting-navigation-routes-react-native.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/08/cookieless-alternative-embed-html-css-js-code-examples/",
"author": "hello@smashingmagazine.com (Henrik Fricke)",
@ -187,7 +215,7 @@
"description": "What exactly is HTTP/3? Why was it needed so soon after HTTP/2 (which was only finalized in 2015)? How can or should you use it? And especially, how does this improve web performance? Lets find out.",
"link": "https://smashingmagazine.com/2021/08/http3-core-concepts-part1/",
"publishedOn": "2021-08-09T11:00:00.000Z",
"wordCount": 6866,
"wordCount": 6869,
"title": "HTTP/3 From A To Z: Core Concepts (Part 1)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/8f9f9146-4b77-494d-af72-4db28567a6fe/http3-core-concepts-part1.jpg",
@ -201,7 +229,7 @@
"description": "VS Code can be supercharged wuth hundreds of [VS Code extensions](https://www.smashingmagazine.com/2021/05/useful-vs-code-extensions-web-developers/). In this article, Leonardo shares four useful extensions that help him in his daily work.",
"link": "https://smashingmagazine.com/2021/08/useful-vscode-extensions-web-developers/",
"publishedOn": "2021-08-06T10:00:00.000Z",
"wordCount": 573,
"wordCount": 575,
"title": "Four Useful VSCode Extensions For Web Developers",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/2f984846-0510-48f5-a415-326027d14a88/3-useful-vscode-extensions-web-developers.png",
@ -215,7 +243,7 @@
"description": "How can we make disabled buttons more inclusive? When do they work well, and when do they fail on us? And finally, when do we actually need them, and how can we avoid them? Lets find out.",
"link": "https://smashingmagazine.com/2021/08/frustrating-design-patterns-disabled-buttons/",
"publishedOn": "2021-08-05T13:30:00.000Z",
"wordCount": 6571,
"wordCount": 6565,
"title": "Frustrating Design Patterns: Disabled Buttons",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/b9a10b5d-3bad-4083-a83c-082ff772fa9f/frustrating-design-patterns-disabled-buttons.jpg",
@ -229,7 +257,7 @@
"description": "In this article, well discuss and learn about the use case of iterating over React `children` and the ways to do it. In particular, we will deep dive into one of the utility methods, `React.Children.toArray`, that React gives us, which helps to iterate over the children in a way which ensures performance and determinism.",
"link": "https://smashingmagazine.com/2021/08/react-children-iteration-methods/",
"publishedOn": "2021-08-04T10:30:00.000Z",
"wordCount": 3329,
"wordCount": 3323,
"title": "React Children And Iteration Methods",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/ae9c0d62-009e-45c0-a600-d747533e49e5/react-children-iteration-methods.jpg",
@ -243,7 +271,7 @@
"description": "Resilience is intrinsic to the web and therefore us, web developers. This article explores how graceful degradation, defensive coding, observability, and a healthy attitude towards failures better equips us before, during, and after an error occurs.",
"link": "https://smashingmagazine.com/2021/08/build-resilient-javascript-ui/",
"publishedOn": "2021-08-03T11:00:00.000Z",
"wordCount": 2942,
"wordCount": 2938,
"title": "How To Build Resilient JavaScript UIs",
"enclosure": {
"url": "blob:http://www.smashingmagazine.com/c8b93225-8b34-431c-94f1-2f2d0a4fb95a",
@ -257,7 +285,7 @@
"description": "In this article, well take a deep dive into the refactoring process itself, and cover incremental refactoring strategy, visual regression testing, and maintaining the refactored codebase.",
"link": "https://smashingmagazine.com/2021/08/refactoring-css-strategy-regression-testing-maintenance-part2/",
"publishedOn": "2021-08-02T11:00:00.000Z",
"wordCount": 5981,
"wordCount": 5979,
"title": "Refactoring CSS: Strategy, Regression Testing And Maintenance (Part 2)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/1005065b-5daf-4b21-8ac6-89b91effa5b9/refactoring-css-strategy-regression-testing-maintenance-part2.jpg",
@ -271,7 +299,7 @@
"description": "New month, new wallpapers! In this post, youll find unique and inspiring wallpapers for August 2021. Created with love by the community for the community, they come in versions with and without a calendar for the month.",
"link": "https://smashingmagazine.com/2021/07/desktop-wallpaper-calendars-august-2021/",
"publishedOn": "2021-07-31T07:15:00.000Z",
"wordCount": 2528,
"wordCount": 2514,
"title": "Good Vibes In August (2021 Desktop Wallpapers Edition)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/44276d4d-0b57-4f7a-91cd-c6f3708d09d7/aug-21-cowabunga-preview-opt.png",
@ -285,7 +313,7 @@
"description": "Having an e-commerce store is crucial for any store owner as more and more customers are turning to online shopping. In this tutorial, we shall go through how to create an e-commerce site with Angular 11. The site will use the Commerce Layer as a headless e-commerce API and use Paypal to process payments.",
"link": "https://smashingmagazine.com/2021/07/ecommerce-angular11-headless-paypal/",
"publishedOn": "2021-07-30T11:00:00.000Z",
"wordCount": 12543,
"wordCount": 12546,
"title": "How To Build An E-Commerce Site With Angular 11, Commerce Layer And Paypal",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/959013b7-26f7-4620-af11-f26f306c1512/ecommerce-angular11-headless-paypal.jpg",
@ -299,7 +327,7 @@
"description": "What are absolute units? What are the differences between relative and absolute units, and how do we create accurate sizes on the web? In this article, Elad Shechter explains why CSS absolute units arent so absolute.",
"link": "https://smashingmagazine.com/2021/07/css-absolute-units/",
"publishedOn": "2021-07-29T10:30:00.000Z",
"wordCount": 2951,
"wordCount": 2950,
"title": "There Is No Such Thing As A CSS Absolute Unit",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/6ee35630-bbe1-486c-8877-dacdd4b12869/css-absolute-units.jpg",
@ -313,7 +341,7 @@
"description": "Dialogs are everywhere in modern interface design (for good or for bad), and yet many of them are not accessible to assistive technologies. In this article, we will dig into how to create a short script to create accessible dialogs.",
"link": "https://smashingmagazine.com/2021/07/accessible-dialog-from-scratch/",
"publishedOn": "2021-07-28T11:00:00.000Z",
"wordCount": 3076,
"wordCount": 3078,
"title": "Creating An Accessible Dialog From Scratch",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/4ef51448-125a-4906-98f1-11af0e3fad58/accessible-dialog-from-scratch.jpg",
@ -327,7 +355,7 @@
"description": "Next.js has strong opinions about how to organize JavaScript but not CSS. How can we develop patterns that encourage best CSS practices while also following the frameworks logic? The answer is surprisingly simple — to write well-structured CSS that balances global and local styling concerns.",
"link": "https://smashingmagazine.com/2021/07/global-local-styling-nextjs/",
"publishedOn": "2021-07-27T11:00:00.000Z",
"wordCount": 3568,
"wordCount": 3572,
"title": "Global vs. Local Styling In Next.js",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/a1756133-541e-429d-82dd-fb6f3988ef56/global-local-styling-nextjs.jpg",
@ -341,7 +369,7 @@
"description": "Gatsby recently announced the launch of “functions”. In this article, Paul Scanlon explains how to get the current location of the International Space Station (ISS) as it orbits the Earth in real-time using [Gatsby Functions](https://www.gatsbyjs.com/docs/reference/functions/) and then display it on a 3D interactive globe using [React Three Fibre](https://github.com/pmndrs/react-three-fiber).",
"link": "https://smashingmagazine.com/2021/07/gatsby-serverless-functions-international-space-station/",
"publishedOn": "2021-07-26T10:30:00.000Z",
"wordCount": 3091,
"wordCount": 3079,
"title": "Gatsby Serverless Functions And The International Space Station",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/c07c5052-399e-4aee-aa83-706eb1f0c1b6/gatsby-serverless-functions-international-space-station.jpg",
@ -383,7 +411,7 @@
"description": "Do you need a little inspiration boost? Weve collected some useful color tools and resources that weve discovered lately — to help you get the most out of your creativity. Weve also just recently covered [CSS auditing tools](https://www.smashingmagazine.com/2021/03/css-auditing-tools/), [CSS generators](https://www.smashingmagazine.com/2021/03/css-generators/), [accessible front-end components](https://www.smashingmagazine.com/2021/03/complete-guide-accessible-front-end-components/), [front-end boilerplates](https://www.smashingmagazine.com/2021/06/useful-frontend-boilerplates-starter-kits/) and [VS code extensions](https://www.smashingmagazine.com/2021/05/useful-vs-code-extensions-web-developers/) — you might find them useful, too.",
"link": "https://smashingmagazine.com/2021/07/color-tools-resources/",
"publishedOn": "2021-07-21T13:00:00.000Z",
"wordCount": 3058,
"wordCount": 3060,
"title": "Color Tools And Resources",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/17380a77-f247-450e-be45-2b2e139f7a33/cool-backgrounds.png",
@ -425,7 +453,7 @@
"description": "Web app accessibility appears difficult because it seems that there is little information on the subject available online. Lets take a closer look at the accessible use of framework features, concrete Vue.js traits, as well as community initiatives and vetted patterns.",
"link": "https://smashingmagazine.com/2021/07/three-insights-vuejs-accessibility/",
"publishedOn": "2021-07-16T13:00:00.000Z",
"wordCount": 4795,
"wordCount": 4793,
"title": "Three Insights I Gained While Researching Vue.js Accessibility",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/c3908803-4ddc-4820-8f4e-85e11b4ebbb7/three-insights-vuejs-accessibility.jpg",
@ -439,7 +467,7 @@
"description": "There are two strategies for incrementally building websites that are growing in popularity: Incremental Static Regeneration and Distributed Persistent Rendering. Whats the difference? Lets figure it out.",
"link": "https://smashingmagazine.com/2021/07/isr-dpr-explained/",
"publishedOn": "2021-07-15T14:00:00.000Z",
"wordCount": 1072,
"wordCount": 1065,
"title": "ISR vs DPR: Big Words, Quick Explanation",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/8e4090b9-8bd9-4d5a-aaed-5177c46a6803/isr-dpr-explained.jpg",
@ -467,55 +495,13 @@
"description": "Too often dealing with filters can be frustrating. Lets get them right. That means never freeze the UI on a single input, provide text input fallback and never auto-scroll users on a single input. Heres why.",
"link": "https://smashingmagazine.com/2021/07/frustrating-design-patterns-broken-frozen-filters/",
"publishedOn": "2021-07-14T13:30:00.000Z",
"wordCount": 5308,
"wordCount": 5305,
"title": "Frustrating Design Patterns: Broken Filters",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/0c5f2df3-3d78-4563-a599-8c924604e84a/7-frustrating-design-patterns.png",
"length": "0",
"type": "image/png"
}
},
{
"id": "https://smashingmagazine.com/2021/07/dynamic-header-intersection-observer/",
"author": "hello@smashingmagazine.com (Michelle Barker)",
"description": "In JavaScript, attaching an event listener to constantly fire a callback on scroll can be performance-intensive. But there is a better way with Intersection Observer.",
"link": "https://smashingmagazine.com/2021/07/dynamic-header-intersection-observer/",
"publishedOn": "2021-07-13T12:00:00.000Z",
"wordCount": 3248,
"title": "Building A Dynamic Header With Intersection Observer",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/67cc7303-3dc9-4d67-b0f4-b6f77783380f/dynamic-header-intersection-observer.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/07/migrate-jquery-nextjs/",
"author": "hello@smashingmagazine.com (Facundo Giuliani)",
"description": "In this article, were taking a closer look at different approaches and strategies on how we can migrate a web application that uses jQuery framework, and start using one of the coolest React frameworks in the market: Next.js.",
"link": "https://smashingmagazine.com/2021/07/migrate-jquery-nextjs/",
"publishedOn": "2021-07-13T10:30:00.000Z",
"wordCount": 4181,
"title": "How To Migrate From jQuery To Next.js",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/ece22577-f23c-4e9c-a41c-f9000f14ae9d/migrate-jquery-nextjs.jpg",
"length": "0",
"type": "image/jpg"
}
},
{
"id": "https://smashingmagazine.com/2021/07/refactoring-css-introduction-part1/",
"author": "hello@smashingmagazine.com (Adrian Bece)",
"description": "CSS refactoring is not an easy task — it needs to be done in a way that doesn't create problems. First we need to analyze the existing codebase, audit CSS codebase health, discover weaknesses, agree on the approach, and convince management to invest time and resources into the process.",
"link": "https://smashingmagazine.com/2021/07/refactoring-css-introduction-part1/",
"publishedOn": "2021-07-12T13:30:00.000Z",
"wordCount": 3614,
"title": "Refactoring CSS: Introduction (Part 1)",
"enclosure": {
"url": "http://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/b8b722a7-791f-433e-8d76-f0382d387e82/refactoring-css-introduction-part1.jpg",
"length": "0",
"type": "image/jpg"
}
}
]
},
@ -524,6 +510,78 @@
"feedUrl": "https://www.freecodecamp.org/news/rss/",
"siteUrl": "https://www.freecodecamp.org/news",
"articles": [
{
"id": "61025c793306a507d1bfad64",
"author": null,
"description": "I recently had the chance to teach high school students how to code. There are not that many beginner-friendly tutorials on algorithms coded in JavaScript which is the language they were learning. So I decided to make one. In this article, I will try my best to explain some core",
"link": "https://www.freecodecamp.org/news/binary-tree-algorithms-for-javascript-beginners/",
"publishedOn": "2021-08-11T23:50:28.000Z",
"wordCount": 1356,
"title": "Binary Search Tree Algorithms for JavaScript Beginners"
},
{
"id": "610d4a303306a507d1bff2ea",
"author": null,
"description": "One of the end goals of a React Native project is to have a minimal amount of platform-specific logic and code. Most APIs can be built so the platform-specific code is abstracted away by the framework. This gives you a single way to interact with them and easily create cross-platform",
"link": "https://www.freecodecamp.org/news/how-to-implement-ios-components-apis/",
"publishedOn": "2021-08-11T23:31:34.000Z",
"wordCount": 1442,
"title": "How to Implement iOS-Specific Components and APIs"
},
{
"id": "611091a63306a507d1c00a1c",
"author": null,
"description": "Podcasts are a great way to consume digital information. They've become quite popular because you can listen to them anywhere, any time. Podcasts deliver educational, entertaining, and engaging content on all kinds of topics tech topics included. The hosts and their guests talk and share ideas, each in their own",
"link": "https://www.freecodecamp.org/news/best-podcasts-for-flutter-developers/",
"publishedOn": "2021-08-11T20:51:56.000Z",
"wordCount": 750,
"title": "Best Podcasts for Flutter Developers"
},
{
"id": "611126603306a507d1c00fd2",
"author": null,
"description": "Imagine that you're interviewing for your dream job and the interviewer drops this question for you: “So can you distinguish between a static web page and a dynamic web page?” What would your reaction be? If you dont know the answer to that question, or are struggling to think",
"link": "https://www.freecodecamp.org/news/static-vs-dynamic-web-pages/",
"publishedOn": "2021-08-11T19:54:10.000Z",
"wordCount": 1413,
"title": "Static vs Dynamic Web Pages What's the Difference?"
},
{
"id": "610eb7f03306a507d1c001f5",
"author": null,
"description": "We use props to pass information/data from a parent component to child components. In this article, I will explain everything you need to know about props and why you should use props in Vue.js. Here's a brief outline of what we'll cover in this guide: What are props",
"link": "https://www.freecodecamp.org/news/how-to-use-props-in-vuejs/",
"publishedOn": "2021-08-11T19:51:52.000Z",
"wordCount": 1221,
"title": "How to Use Props in Vue.js"
},
{
"id": "6112913c72231b077cdacc4d",
"author": null,
"description": "In HTML, you use the <img> tag to add images to websites. It is an inline and empty element, which means that it doesn't start on a new line and doesn't take a closing tag (unlike the paragraph (<p>) tag, for instance). The <img>",
"link": "https://www.freecodecamp.org/news/img-html-image-tag-tutorial/",
"publishedOn": "2021-08-11T15:28:58.000Z",
"wordCount": 1466,
"title": "&lt;img&gt; HTML Image Tag Tutorial"
},
{
"id": "610ee8443306a507d1c00249",
"author": null,
"description": "Lately I've been seeing many tweets and articles about Prisma. It's a modern ORM (Object-Relational-Mapping tool) that works with Node.jsand TypeScript. Yes, this library will help you build and manage your Node.js database and it's compatible with TypeScript! It will generate all the types of your entities automatically.",
"link": "https://www.freecodecamp.org/news/build-nodejs-database-using-prisma-orm/",
"publishedOn": "2021-08-11T15:24:42.000Z",
"wordCount": 1997,
"title": "How to Build a Node.js Database using Prisma and SQLite"
},
{
"id": "610d8f383306a507d1bff9c3",
"author": null,
"description": "OpenGL can be used to create complex 2D and 3D graphics effects. We just released an advanced OpenGL course on the freeCodeCamp.org YouTube channel. Victor Gordan created this course. Before this course he created one of the most popular OpenGL course on YouTube. Now, he will help you take",
"link": "https://www.freecodecamp.org/news/create-complex-graphics-with-opengl/",
"publishedOn": "2021-08-11T12:40:12.000Z",
"wordCount": 8532,
"title": "Create Complex Graphics with OpenGL"
},
{
"id": "610e151e3306a507d1bffb32",
"author": null,
@ -541,78 +599,6 @@
"publishedOn": "2021-08-10T21:02:00.000Z",
"wordCount": 2257,
"title": "Learn Web Development Basics HTML, CSS, and JavaScript Explained for Beginners"
},
{
"id": "610642353306a507d1bfbfe4",
"author": null,
"description": "Python is a great programming language to learn and you can use it in a variety of areas in software development. You can use Python for web development, data analysis, machine learning, artificial intelligence, and more. With the vast amount of resources to choose from, sometimes it is hard to",
"link": "https://www.freecodecamp.org/news/the-best-way-to-learn-python-python-programming-tutorial-for-beginners/",
"publishedOn": "2021-08-10T20:37:56.000Z",
"wordCount": 1163,
"title": "The Best Way to Learn Python Python Programming Tutorial for Beginners"
},
{
"id": "6108f8453306a507d1bfce17",
"author": null,
"description": "When coding in Python, have you ever had to check if any item or all items in an iterable evaluate to True? The next time you need to do so, be sure to use the nifty functions any() and all(). In this tutorial, we'll learn about Python's any() and all(",
"link": "https://www.freecodecamp.org/news/python-any-and-all-functions-explained-with-examples/",
"publishedOn": "2021-08-10T20:26:25.000Z",
"wordCount": 1541,
"title": "Python any() and all() Functions Explained with Examples"
},
{
"id": "61122afb72231b077cdac810",
"author": null,
"description": "When you're starting your coding journey, one of the most exciting and at times overwhelming things about it is just how much there is to learn. You'll discover different languages, frameworks, libraries, inventions and conventions. One technology often requires knowledge of another one, and everything seems to be interconnected and",
"link": "https://www.freecodecamp.org/news/what-is-coding/",
"publishedOn": "2021-08-10T19:54:45.000Z",
"wordCount": 2455,
"title": "What is Coding? Computer Coding Definition"
},
{
"id": "610ef4fc3306a507d1c00257",
"author": null,
"description": "One of the best things about VS Code is the rich library of extensions you can use to speed up your coding and make your life easier. Some of these extensions are paid, but there are tons of quality options that are available for free in the VS Code Marketplace.",
"link": "https://www.freecodecamp.org/news/10-vscode-extensions-to-increase-productivity/",
"publishedOn": "2021-08-10T18:32:00.000Z",
"wordCount": 928,
"title": "10 VS Code Extensions to Increase Your Productivity"
},
{
"id": "610ce4f83306a507d1bfeba5",
"author": null,
"description": "Web scraping is the process of extracting specific data from the internet automatically. It has many use cases, like getting data for a machine learning project, creating a price comparison tool, or any other innovative idea that requires an immense amount of data. While you can theoretically do data extraction",
"link": "https://www.freecodecamp.org/news/how-to-scrape-websites-with-python-2/",
"publishedOn": "2021-08-10T17:42:52.000Z",
"wordCount": 2677,
"title": "Python Web Scraping Tutorial How to Scrape Data From Any Website with Python"
},
{
"id": "5fff3e3798be260817e495df",
"author": null,
"description": "Distributed Denial of Service (DDoS) attacks aim to take an organization or service offline and originate from multiple, distributed hosts. The difficult part of defending against DDoS attacks is that the hosts are distributed if it were a single host or small group, you could easily block the traffic with",
"link": "https://www.freecodecamp.org/news/protect-against-ddos-attacks/",
"publishedOn": "2021-08-10T17:36:54.000Z",
"wordCount": 1641,
"title": "How to Protect Against DDoS Attacks"
},
{
"id": "60f7aef31d2b080797b80a01",
"author": null,
"description": "Formatting a string is something you'll do all the time when you're coding in Python. For every variable, tuple, and dictionary and the logic that we define, we eventually have to either print or display it in some form. And each of these, without exception, require us to format the",
"link": "https://www.freecodecamp.org/news/how-to-format-a-string-in-python/",
"publishedOn": "2021-08-10T17:19:00.000Z",
"wordCount": 1636,
"title": "How to Format a String in Python"
},
{
"id": "610abfc03306a507d1bfde47",
"author": null,
"description": "Big O notation is an important tools for computer scientists to analyze the cost of an algorithm. Most software engineers should have an understanding of it. We just released a course on the freeCodeCamp.org YouTube channel that will help you understand Big O Notation. Georgio Tunson, aka selikapro, created",
"link": "https://www.freecodecamp.org/news/learn-big-o-notation/",
"publishedOn": "2021-08-10T13:12:34.000Z",
"wordCount": 17118,
"title": "Learn Big O Notation"
}
]
}

287
feed.atom
View file

@ -1,10 +1,145 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:2021-08-11T00:43:01.855Z</id>
<id>urn:2021-08-12T00:39:09.847Z</id>
<title>osmos::feed</title>
<updated>2021-08-11T00:43:01.855Z</updated>
<updated>2021-08-12T00:39:09.847Z</updated>
<generator>osmosfeed 1.11.0</generator>
<link rel="alternate" href="index.html"/>
<entry>
<title type="html"><![CDATA[Binary Search Tree Algorithms for JavaScript Beginners]]></title>
<id>61025c793306a507d1bfad64</id>
<link href="https://www.freecodecamp.org/news/binary-tree-algorithms-for-javascript-beginners/"/>
<updated>2021-08-11T23:50:28.000Z</updated>
<summary type="html"><![CDATA[I recently had the chance to teach high school students how to code. There are not that many beginner-friendly tutorials on algorithms coded in JavaScript which is the language they were learning. So I decided to make one. In this article, I will try my best to explain some core]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How to Implement iOS-Specific Components and APIs]]></title>
<id>610d4a303306a507d1bff2ea</id>
<link href="https://www.freecodecamp.org/news/how-to-implement-ios-components-apis/"/>
<updated>2021-08-11T23:31:34.000Z</updated>
<summary type="html"><![CDATA[One of the end goals of a React Native project is to have a minimal amount of platform-specific logic and code. Most APIs can be built so the platform-specific code is abstracted away by the framework. This gives you a single way to interact with them and easily create cross-platform]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Best Podcasts for Flutter Developers]]></title>
<id>611091a63306a507d1c00a1c</id>
<link href="https://www.freecodecamp.org/news/best-podcasts-for-flutter-developers/"/>
<updated>2021-08-11T20:51:56.000Z</updated>
<summary type="html"><![CDATA[Podcasts are a great way to consume digital information. They've become quite popular because you can listen to them anywhere, any time. Podcasts deliver educational, entertaining, and engaging content on all kinds of topics tech topics included. The hosts and their guests talk and share ideas, each in their own]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Static vs Dynamic Web Pages What&#x27;s the Difference?]]></title>
<id>611126603306a507d1c00fd2</id>
<link href="https://www.freecodecamp.org/news/static-vs-dynamic-web-pages/"/>
<updated>2021-08-11T19:54:10.000Z</updated>
<summary type="html"><![CDATA[Imagine that you're interviewing for your dream job and the interviewer drops this question for you: “So can you distinguish between a static web page and a dynamic web page?” What would your reaction be? If you dont know the answer to that question, or are struggling to think]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How to Use Props in Vue.js]]></title>
<id>610eb7f03306a507d1c001f5</id>
<link href="https://www.freecodecamp.org/news/how-to-use-props-in-vuejs/"/>
<updated>2021-08-11T19:51:52.000Z</updated>
<summary type="html"><![CDATA[We use props to pass information/data from a parent component to child components. In this article, I will explain everything you need to know about props and why you should use props in Vue.js. Here's a brief outline of what we'll cover in this guide: What are props]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Wanna see a whiter white?]]></title>
<id>https://css-tricks.com/?p=346388</id>
<link href="https://kidi.ng/wanna-see-a-whiter-white/"/>
<updated>2021-08-11T19:09:36.000Z</updated>
<summary type="html"><![CDATA[Heck of a CSS trick here from Dongsung Kim.
There are hidden HDR videos playing at the corners of this page. When a HDR-capable browser encounters one, it switches to HDR mode. For some reason, CSS backdrop-filter + brightness >100%
The post Wanna see a whiter white? appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
<author>
<name>Chris Coyier</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[&lt;img&gt; HTML Image Tag Tutorial]]></title>
<id>6112913c72231b077cdacc4d</id>
<link href="https://www.freecodecamp.org/news/img-html-image-tag-tutorial/"/>
<updated>2021-08-11T15:28:58.000Z</updated>
<summary type="html"><![CDATA[In HTML, you use the <img> tag to add images to websites. It is an inline and empty element, which means that it doesn't start on a new line and doesn't take a closing tag (unlike the paragraph (<p>) tag, for instance). The <img>]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How to Build a Node.js Database using Prisma and SQLite]]></title>
<id>610ee8443306a507d1c00249</id>
<link href="https://www.freecodecamp.org/news/build-nodejs-database-using-prisma-orm/"/>
<updated>2021-08-11T15:24:42.000Z</updated>
<summary type="html"><![CDATA[Lately I've been seeing many tweets and articles about Prisma. It's a modern ORM (Object-Relational-Mapping tool) that works with Node.jsand TypeScript. Yes, this library will help you build and manage your Node.js database and it's compatible with TypeScript! It will generate all the types of your entities automatically.]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Static vs. Dynamic vs. Jamstack: Wheres The Line?]]></title>
<id>https://css-tricks.com/?p=345889</id>
<link href="https://css-tricks.com/static-vs-dynamic-vs-jamstack-wheres-the-line/"/>
<updated>2021-08-11T14:31:20.000Z</updated>
<summary type="html"><![CDATA[Youll often hear developers talking about “static” vs. “dynamic” sites, or you may have heard someone use the term Jamstack. What do these terms mean, and when does a “static” site become either a Jamstack or dynamic site? These …
The post Static vs. Dynamic vs. Jamstack: Wheres The Line? appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
<author>
<name>Mike Neumegen</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Napkin]]></title>
<id>https://css-tricks.com/?p=346384</id>
<link href="https://www.napkin.io/"/>
<updated>2021-08-11T14:31:13.000Z</updated>
<summary type="html"><![CDATA[We took a surface level look at Pipedream the other day, which really does look cool. Its like a much more modern and fancy version of what Yahoo Pipes was. A better comparison might be Zapier, except you …
The post Napkin appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
<author>
<name>Chris Coyier</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[New Smashing Workshops on Front-End & Design]]></title>
<id>https://smashingmagazine.com/2021/08/new-smashing-online-workshops-aug-oct-2021/</id>
<link href="https://smashingmagazine.com/2021/08/new-smashing-online-workshops-aug-oct-2021/"/>
<updated>2021-08-11T13:25:00.000Z</updated>
<summary type="html"><![CDATA[How do we build and establish a successful, bulletproof design system? Whats the state of HTML Email? And what are new, smart interface design patterns we could use? Lets find out. With our [brand new online workshops](https://smashingconf.com/online-workshops/) on front-end & design — to help us all boost skills online.]]></summary>
<author>
<name>hello@smashingmagazine.com (Iris Lješnjanin)</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Create Complex Graphics with OpenGL]]></title>
<id>610d8f383306a507d1bff9c3</id>
<link href="https://www.freecodecamp.org/news/create-complex-graphics-with-opengl/"/>
<updated>2021-08-11T12:40:12.000Z</updated>
<summary type="html"><![CDATA[OpenGL can be used to create complex 2D and 3D graphics effects. We just released an advanced OpenGL course on the freeCodeCamp.org YouTube channel. Victor Gordan created this course. Before this course he created one of the most popular OpenGL course on YouTube. Now, he will help you take]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Handling Mounting And Unmounting Of Navigation Routes In React Native]]></title>
<id>https://smashingmagazine.com/2021/08/mounting-unmounting-navigation-routes-react-native/</id>
<link href="https://smashingmagazine.com/2021/08/mounting-unmounting-navigation-routes-react-native/"/>
<updated>2021-08-11T11:40:00.000Z</updated>
<summary type="html"><![CDATA[Often you need two different sets of navigation stacks for pre and post user authentication. Usually, to see more content, you have to be authenticated in some way. Lets look at how to mount and unmount navigation stack based on a met condition in React Native.]]></summary>
<author>
<name>hello@smashingmagazine.com (Daniel Don)</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[JavaScript Destructuring and the Spread Operator Explained with Example Code]]></title>
<id>610e151e3306a507d1bffb32</id>
@ -18,7 +153,7 @@
<entry>
<title type="html"><![CDATA[View Source (on Mobile)]]></title>
<id>https://css-tricks.com/?p=346392</id>
<link href="https://css-tricks.com/view-source-on-mobile/"/>
<link href="https://neatnik.net/view-source/"/>
<updated>2021-08-10T21:26:34.000Z</updated>
<summary type="html"><![CDATA[Have you ever wished you could see the HTML source of a web page while on a mobile browser, which generally doesnt offer that feature? If you have a desktop machine around, there are ways, but what I mean …
The post View Source (on Mobile) appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
@ -36,76 +171,6 @@ The post View Source (on Mobile) appeared first on CSS-Tricks. You can support C
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[The Best Way to Learn Python Python Programming Tutorial for Beginners]]></title>
<id>610642353306a507d1bfbfe4</id>
<link href="https://www.freecodecamp.org/news/the-best-way-to-learn-python-python-programming-tutorial-for-beginners/"/>
<updated>2021-08-10T20:37:56.000Z</updated>
<summary type="html"><![CDATA[Python is a great programming language to learn and you can use it in a variety of areas in software development. You can use Python for web development, data analysis, machine learning, artificial intelligence, and more. With the vast amount of resources to choose from, sometimes it is hard to]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Python any() and all() Functions Explained with Examples]]></title>
<id>6108f8453306a507d1bfce17</id>
<link href="https://www.freecodecamp.org/news/python-any-and-all-functions-explained-with-examples/"/>
<updated>2021-08-10T20:26:25.000Z</updated>
<summary type="html"><![CDATA[When coding in Python, have you ever had to check if any item or all items in an iterable evaluate to True? The next time you need to do so, be sure to use the nifty functions any() and all(). In this tutorial, we'll learn about Python's any() and all(]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[What is Coding? Computer Coding Definition]]></title>
<id>61122afb72231b077cdac810</id>
<link href="https://www.freecodecamp.org/news/what-is-coding/"/>
<updated>2021-08-10T19:54:45.000Z</updated>
<summary type="html"><![CDATA[When you're starting your coding journey, one of the most exciting and at times overwhelming things about it is just how much there is to learn. You'll discover different languages, frameworks, libraries, inventions and conventions. One technology often requires knowledge of another one, and everything seems to be interconnected and]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[10 VS Code Extensions to Increase Your Productivity]]></title>
<id>610ef4fc3306a507d1c00257</id>
<link href="https://www.freecodecamp.org/news/10-vscode-extensions-to-increase-productivity/"/>
<updated>2021-08-10T18:32:00.000Z</updated>
<summary type="html"><![CDATA[One of the best things about VS Code is the rich library of extensions you can use to speed up your coding and make your life easier. Some of these extensions are paid, but there are tons of quality options that are available for free in the VS Code Marketplace.]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Python Web Scraping Tutorial How to Scrape Data From Any Website with Python]]></title>
<id>610ce4f83306a507d1bfeba5</id>
<link href="https://www.freecodecamp.org/news/how-to-scrape-websites-with-python-2/"/>
<updated>2021-08-10T17:42:52.000Z</updated>
<summary type="html"><![CDATA[Web scraping is the process of extracting specific data from the internet automatically. It has many use cases, like getting data for a machine learning project, creating a price comparison tool, or any other innovative idea that requires an immense amount of data. While you can theoretically do data extraction]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How to Protect Against DDoS Attacks]]></title>
<id>5fff3e3798be260817e495df</id>
<link href="https://www.freecodecamp.org/news/protect-against-ddos-attacks/"/>
<updated>2021-08-10T17:36:54.000Z</updated>
<summary type="html"><![CDATA[Distributed Denial of Service (DDoS) attacks aim to take an organization or service offline and originate from multiple, distributed hosts. The difficult part of defending against DDoS attacks is that the hosts are distributed if it were a single host or small group, you could easily block the traffic with]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How to Format a String in Python]]></title>
<id>60f7aef31d2b080797b80a01</id>
<link href="https://www.freecodecamp.org/news/how-to-format-a-string-in-python/"/>
<updated>2021-08-10T17:19:00.000Z</updated>
<summary type="html"><![CDATA[Formatting a string is something you'll do all the time when you're coding in Python. For every variable, tuple, and dictionary and the logic that we define, we eventually have to either print or display it in some form. And each of these, without exception, require us to format the]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Responsible Markdown in Next.js]]></title>
<id>https://css-tricks.com/?p=345861</id>
@ -143,16 +208,6 @@ The post CSS Nesting, specificity, and you appeared first on CSS-Tricks. You can
<name>Robin Rendle</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Learn Big O Notation]]></title>
<id>610abfc03306a507d1bfde47</id>
<link href="https://www.freecodecamp.org/news/learn-big-o-notation/"/>
<updated>2021-08-10T13:12:34.000Z</updated>
<summary type="html"><![CDATA[Big O notation is an important tools for computer scientists to analyze the cost of an algorithm. Most software engineers should have an understanding of it. We just released a course on the freeCodeCamp.org YouTube channel that will help you understand Big O Notation. Georgio Tunson, aka selikapro, created]]></summary>
<author>
<name>freeCodeCamp.org</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Cookieless Alternative To Embed HTML, CSS And JS Code Snippets]]></title>
<id>https://smashingmagazine.com/2021/08/cookieless-alternative-embed-html-css-js-code-examples/</id>
@ -295,42 +350,6 @@ The post Three Buggy React Code Examples and How to Fix Them appeared first on C
<name>hello@smashingmagazine.com (Vitaly Friedman)</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How to Build a Full-Stack Mobile Application With Flutter, Fauna, and GraphQL]]></title>
<id>https://css-tricks.com/?p=345552</id>
<link href="https://css-tricks.com/how-to-build-a-full-stack-mobile-application-with-flutter-fauna-and-graphql/"/>
<updated>2021-08-05T09:23:00.000Z</updated>
<summary type="html"><![CDATA[(This is a sponsored post.)
Flutter is Googles UI framework used to create flexible, expressive cross-platform mobile applications. It is one of the fastest-growing frameworks for mobile app development. On the other hand, Fauna is a transactional, developer-friendly serverless …
The post How to Build a Full-Stack Mobile Application With Flutter, Fauna, and GraphQL appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
<author>
<name>Shadid Haque</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[The State Of Web Workers In 2021]]></title>
<id>https://css-tricks.com/?p=345866</id>
<link href="https://www.smashingmagazine.com/2021/06/web-workers-2021/"/>
<updated>2021-08-04T23:44:06.000Z</updated>
<summary type="html"><![CDATA[You gotta appreciate the tenacity of Surma. Hes been advocating for Web Workers as a path forward to better-feeling websites for a lot of years now. Hes at it again making sure we all understand the landscape:
[…] regardless
The post The State Of Web Workers In 2021 appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
<author>
<name>Chris Coyier</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Using CSS Shapes for Interesting User Controls and Navigation]]></title>
<id>https://css-tricks.com/?p=345274</id>
<link href="https://css-tricks.com/using-css-shapes-for-interesting-user-controls-and-navigation/"/>
<updated>2021-08-04T14:13:45.000Z</updated>
<summary type="html"><![CDATA[Straight across or down, thats the proverbial order for user controls on a screen. Like a list of menu items. But what if we change that to a more fluid layout with bends, curves, and nooks? We can pull it …
The post Using CSS Shapes for Interesting User Controls and Navigation appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.]]></summary>
<author>
<name>Preethi</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[React Children And Iteration Methods]]></title>
<id>https://smashingmagazine.com/2021/08/react-children-iteration-methods/</id>
@ -511,34 +530,4 @@ The post Using CSS Shapes for Interesting User Controls and Navigation appeared
<name>hello@smashingmagazine.com (Vitaly Friedman)</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Building A Dynamic Header With Intersection Observer]]></title>
<id>https://smashingmagazine.com/2021/07/dynamic-header-intersection-observer/</id>
<link href="https://smashingmagazine.com/2021/07/dynamic-header-intersection-observer/"/>
<updated>2021-07-13T12:00:00.000Z</updated>
<summary type="html"><![CDATA[In JavaScript, attaching an event listener to constantly fire a callback on scroll can be performance-intensive. But there is a better way with Intersection Observer.]]></summary>
<author>
<name>hello@smashingmagazine.com (Michelle Barker)</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[How To Migrate From jQuery To Next.js]]></title>
<id>https://smashingmagazine.com/2021/07/migrate-jquery-nextjs/</id>
<link href="https://smashingmagazine.com/2021/07/migrate-jquery-nextjs/"/>
<updated>2021-07-13T10:30:00.000Z</updated>
<summary type="html"><![CDATA[In this article, were taking a closer look at different approaches and strategies on how we can migrate a web application that uses jQuery framework, and start using one of the coolest React frameworks in the market: Next.js.]]></summary>
<author>
<name>hello@smashingmagazine.com (Facundo Giuliani)</name>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Refactoring CSS: Introduction (Part 1)]]></title>
<id>https://smashingmagazine.com/2021/07/refactoring-css-introduction-part1/</id>
<link href="https://smashingmagazine.com/2021/07/refactoring-css-introduction-part1/"/>
<updated>2021-07-12T13:30:00.000Z</updated>
<summary type="html"><![CDATA[CSS refactoring is not an easy task — it needs to be done in a way that doesn't create problems. First we need to analyze the existing codebase, audit CSS codebase health, discover weaknesses, agree on the approach, and convince management to invest time and resources into the process.]]></summary>
<author>
<name>hello@smashingmagazine.com (Adrian Bece)</name>
</author>
</entry>
</feed>

View file

@ -15,6 +15,178 @@
<body>
<!-- %after-body-begin.html% -->
<section class="daily-content">
<h2 class="daily-heading"><time datatime="2021-08-11">2021-08-11</time></h2>
<ul class="sources card">
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://css-tricks.com">CSS-Tricks</a></h3>
<section class="articles-per-source">
<article>
<details class="article-expander">
<summary class="article-expander__title">Wanna see a whiter white?</summary>
<a class="article-summary-link article-summary-box-outer" href="https://kidi.ng/wanna-see-a-whiter-white/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(1 min)</span>
<span>Heck of a CSS trick here from Dongsung Kim.
There are hidden HDR videos playing at the corners of this page. When a HDR-capable browser encounters one, it switches to HDR mode. For some reason, CSS backdrop-filter + brightness &gt;100%
The post Wanna see a whiter white? appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Static vs. Dynamic vs. Jamstack: Wheres The Line?</summary>
<a class="article-summary-link article-summary-box-outer" href="https://css-tricks.com/static-vs-dynamic-vs-jamstack-wheres-the-line/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(12 min)</span>
<span>Youll often hear developers talking about “static” vs. “dynamic” sites, or you may have heard someone use the term Jamstack. What do these terms mean, and when does a “static” site become either a Jamstack or dynamic site? These …
The post Static vs. Dynamic vs. Jamstack: Wheres The Line? appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Napkin</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.napkin.io/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(0 min)</span>
<span>We took a surface level look at Pipedream the other day, which really does look cool. Its like a much more modern and fancy version of what Yahoo Pipes was. A better comparison might be Zapier, except you …
The post Napkin appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
</a>
</details>
</article>
</section>
</li>
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://www.freecodecamp.org/news">freeCodeCamp.org</a></h3>
<section class="articles-per-source">
<article>
<details class="article-expander">
<summary class="article-expander__title">Binary Search Tree Algorithms for JavaScript Beginners</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/binary-tree-algorithms-for-javascript-beginners/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>I recently had the chance to teach high school students how to code. There are not that many beginner-friendly tutorials on algorithms coded in JavaScript which is the language they were learning. So I decided to make one. In this article, I will try my best to explain some core</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How to Implement iOS-Specific Components and APIs</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/how-to-implement-ios-components-apis/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>One of the end goals of a React Native project is to have a minimal amount of platform-specific logic and code. Most APIs can be built so the platform-specific code is abstracted away by the framework. This gives you a single way to interact with them and easily create cross-platform</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Best Podcasts for Flutter Developers</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/best-podcasts-for-flutter-developers/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(3 min)</span>
<span>Podcasts are a great way to consume digital information. They&#x27;ve become quite popular because you can listen to them anywhere, any time. Podcasts deliver educational, entertaining, and engaging content on all kinds of topics tech topics included. The hosts and their guests talk and share ideas, each in their own</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Static vs Dynamic Web Pages What&#x27;s the Difference?</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/static-vs-dynamic-web-pages/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>Imagine that you&#x27;re interviewing for your dream job and the interviewer drops this question for you: “So can you distinguish between a static web page and a dynamic web page?” What would your reaction be? If you dont know the answer to that question, or are struggling to think</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How to Use Props in Vue.js</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/how-to-use-props-in-vuejs/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(4 min)</span>
<span>We use props to pass information/data from a parent component to child components. In this article, I will explain everything you need to know about props and why you should use props in Vue.js. Here&#x27;s a brief outline of what we&#x27;ll cover in this guide: What are props</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">&lt;img&gt; HTML Image Tag Tutorial</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/img-html-image-tag-tutorial/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>In HTML, you use the tag to add images to websites. It is an inline and empty element, which means that it doesn&#x27;t start on a new line and doesn&#x27;t take a closing tag (unlike the paragraph (
) tag, for instance). The</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How to Build a Node.js Database using Prisma and SQLite</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/build-nodejs-database-using-prisma-orm/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(7 min)</span>
<span>Lately I&#x27;ve been seeing many tweets and articles about Prisma. It&#x27;s a modern ORM (Object-Relational-Mapping tool) that works with Node.jsand TypeScript. Yes, this library will help you build and manage your Node.js database and it&#x27;s compatible with TypeScript! It will generate all the types of your entities automatically.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Create Complex Graphics with OpenGL</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/create-complex-graphics-with-opengl/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(28 min)</span>
<span>OpenGL can be used to create complex 2D and 3D graphics effects. We just released an advanced OpenGL course on the freeCodeCamp.org YouTube channel. Victor Gordan created this course. Before this course he created one of the most popular OpenGL course on YouTube. Now, he will help you take</span>
</div>
</a>
</details>
</article>
</section>
</li>
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://www.smashingmagazine.com/">Articles on Smashing Magazine — For Web Designers And Developers</a></h3>
<section class="articles-per-source">
<article>
<details class="article-expander">
<summary class="article-expander__title">New Smashing Workshops on Front-End &amp; Design</summary>
<a class="article-summary-link article-summary-box-outer" href="https://smashingmagazine.com/2021/08/new-smashing-online-workshops-aug-oct-2021/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(3 min)</span>
<span>How do we build and establish a successful, bulletproof design system? Whats the state of HTML Email? And what are new, smart interface design patterns we could use? Lets find out. With our [brand new online workshops](https://smashingconf.com/online-workshops/) on front-end &amp; design — to help us all boost skills online.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Handling Mounting And Unmounting Of Navigation Routes In React Native</summary>
<a class="article-summary-link article-summary-box-outer" href="https://smashingmagazine.com/2021/08/mounting-unmounting-navigation-routes-react-native/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(17 min)</span>
<span>Often you need two different sets of navigation stacks for pre and post user authentication. Usually, to see more content, you have to be authenticated in some way. Lets look at how to mount and unmount navigation stack based on a met condition in React Native.</span>
</div>
</a>
</details>
</article>
</section>
</li>
</ul>
</section>
<section class="daily-content">
<h2 class="daily-heading"><time datatime="2021-08-10">2021-08-10</time></h2>
<ul class="sources card">
@ -25,9 +197,9 @@
<article>
<details class="article-expander">
<summary class="article-expander__title">View Source (on Mobile)</summary>
<a class="article-summary-link article-summary-box-outer" href="https://css-tricks.com/view-source-on-mobile/">
<a class="article-summary-link article-summary-box-outer" href="https://neatnik.net/view-source/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(2 min)</span>
<span class="article-reading-time">(1 min)</span>
<span>Have you ever wished you could see the HTML source of a web page while on a mobile browser, which generally doesnt offer that feature? If you have a desktop machine around, there are ways, but what I mean …
The post View Source (on Mobile) appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
@ -102,94 +274,6 @@ The post CSS Nesting, specificity, and you appeared first on CSS-Tricks. You can
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">The Best Way to Learn Python Python Programming Tutorial for Beginners</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/the-best-way-to-learn-python-python-programming-tutorial-for-beginners/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(4 min)</span>
<span>Python is a great programming language to learn and you can use it in a variety of areas in software development. You can use Python for web development, data analysis, machine learning, artificial intelligence, and more. With the vast amount of resources to choose from, sometimes it is hard to</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Python any() and all() Functions Explained with Examples</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/python-any-and-all-functions-explained-with-examples/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>When coding in Python, have you ever had to check if any item or all items in an iterable evaluate to True? The next time you need to do so, be sure to use the nifty functions any() and all(). In this tutorial, we&#x27;ll learn about Python&#x27;s any() and all(</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">What is Coding? Computer Coding Definition</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/what-is-coding/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(8 min)</span>
<span>When you&#x27;re starting your coding journey, one of the most exciting and at times overwhelming things about it is just how much there is to learn. You&#x27;ll discover different languages, frameworks, libraries, inventions and conventions. One technology often requires knowledge of another one, and everything seems to be interconnected and</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">10 VS Code Extensions to Increase Your Productivity</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/10-vscode-extensions-to-increase-productivity/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(3 min)</span>
<span>One of the best things about VS Code is the rich library of extensions you can use to speed up your coding and make your life easier. Some of these extensions are paid, but there are tons of quality options that are available for free in the VS Code Marketplace.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Python Web Scraping Tutorial How to Scrape Data From Any Website with Python</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/how-to-scrape-websites-with-python-2/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(9 min)</span>
<span>Web scraping is the process of extracting specific data from the internet automatically. It has many use cases, like getting data for a machine learning project, creating a price comparison tool, or any other innovative idea that requires an immense amount of data. While you can theoretically do data extraction</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How to Protect Against DDoS Attacks</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/protect-against-ddos-attacks/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>Distributed Denial of Service (DDoS) attacks aim to take an organization or service offline and originate from multiple, distributed hosts. The difficult part of defending against DDoS attacks is that the hosts are distributed if it were a single host or small group, you could easily block the traffic with</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How to Format a String in Python</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/how-to-format-a-string-in-python/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>Formatting a string is something you&#x27;ll do all the time when you&#x27;re coding in Python. For every variable, tuple, and dictionary and the logic that we define, we eventually have to either print or display it in some form. And each of these, without exception, require us to format the</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Learn Big O Notation</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.freecodecamp.org/news/learn-big-o-notation/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(57 min)</span>
<span>Big O notation is an important tools for computer scientists to analyze the cost of an algorithm. Most software engineers should have an understanding of it. We just released a course on the freeCodeCamp.org YouTube channel that will help you understand Big O Notation. Georgio Tunson, aka selikapro, created</span>
</div>
</a>
</details>
</article>
</section>
</li>
<li class="source">
@ -385,19 +469,6 @@ The post Three Buggy React Code Examples and How to Fix Them appeared first on C
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How to Build a Full-Stack Mobile Application With Flutter, Fauna, and GraphQL</summary>
<a class="article-summary-link article-summary-box-outer" href="https://css-tricks.com/how-to-build-a-full-stack-mobile-application-with-flutter-fauna-and-graphql/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(10 min)</span>
<span>(This is a sponsored post.)
Flutter is Googles UI framework used to create flexible, expressive cross-platform mobile applications. It is one of the fastest-growing frameworks for mobile app development. On the other hand, Fauna is a transactional, developer-friendly serverless …
The post How to Build a Full-Stack Mobile Application With Flutter, Fauna, and GraphQL appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
</a>
</details>
</article>
</section>
</li>
<li class="source">
@ -422,38 +493,6 @@ The post How to Build a Full-Stack Mobile Application With Flutter, Fauna, and G
<section class="daily-content">
<h2 class="daily-heading"><time datatime="2021-08-04">2021-08-04</time></h2>
<ul class="sources card">
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://css-tricks.com">CSS-Tricks</a></h3>
<section class="articles-per-source">
<article>
<details class="article-expander">
<summary class="article-expander__title">The State Of Web Workers In 2021</summary>
<a class="article-summary-link article-summary-box-outer" href="https://www.smashingmagazine.com/2021/06/web-workers-2021/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(16 min)</span>
<span>You gotta appreciate the tenacity of Surma. Hes been advocating for Web Workers as a path forward to better-feeling websites for a lot of years now. Hes at it again making sure we all understand the landscape:
[…] regardless
The post The State Of Web Workers In 2021 appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">Using CSS Shapes for Interesting User Controls and Navigation</summary>
<a class="article-summary-link article-summary-box-outer" href="https://css-tricks.com/using-css-shapes-for-interesting-user-controls-and-navigation/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(5 min)</span>
<span>Straight across or down, thats the proverbial order for user controls on a screen. Like a list of menu items. But what if we change that to a more fluid layout with bends, curves, and nooks? We can pull it …
The post Using CSS Shapes for Interesting User Controls and Navigation appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.</span>
</div>
</a>
</details>
</article>
</section>
</li>
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://www.smashingmagazine.com/">Articles on Smashing Magazine — For Web Designers And Developers</a></h3>
@ -836,64 +875,9 @@ The post Using CSS Shapes for Interesting User Controls and Navigation appeared
</li>
</ul>
</section>
<section class="daily-content">
<h2 class="daily-heading"><time datatime="2021-07-13">2021-07-13</time></h2>
<ul class="sources card">
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://www.smashingmagazine.com/">Articles on Smashing Magazine — For Web Designers And Developers</a></h3>
<section class="articles-per-source">
<article>
<details class="article-expander">
<summary class="article-expander__title">Building A Dynamic Header With Intersection Observer</summary>
<a class="article-summary-link article-summary-box-outer" href="https://smashingmagazine.com/2021/07/dynamic-header-intersection-observer/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(11 min)</span>
<span>In JavaScript, attaching an event listener to constantly fire a callback on scroll can be performance-intensive. But there is a better way with Intersection Observer.</span>
</div>
</a>
</details>
</article>
<article>
<details class="article-expander">
<summary class="article-expander__title">How To Migrate From jQuery To Next.js</summary>
<a class="article-summary-link article-summary-box-outer" href="https://smashingmagazine.com/2021/07/migrate-jquery-nextjs/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(14 min)</span>
<span>In this article, were taking a closer look at different approaches and strategies on how we can migrate a web application that uses jQuery framework, and start using one of the coolest React frameworks in the market: Next.js.</span>
</div>
</a>
</details>
</article>
</section>
</li>
</ul>
</section>
<section class="daily-content">
<h2 class="daily-heading"><time datatime="2021-07-12">2021-07-12</time></h2>
<ul class="sources card">
<li class="source">
<section>
<h3 class="source-name"><a class="source-name__link" href="https://www.smashingmagazine.com/">Articles on Smashing Magazine — For Web Designers And Developers</a></h3>
<section class="articles-per-source">
<article>
<details class="article-expander">
<summary class="article-expander__title">Refactoring CSS: Introduction (Part 1)</summary>
<a class="article-summary-link article-summary-box-outer" href="https://smashingmagazine.com/2021/07/refactoring-css-introduction-part1/">
<div class="article-summary-box-inner">
<span class="article-reading-time">(12 min)</span>
<span>CSS refactoring is not an easy task — it needs to be done in a way that doesn&#x27;t create problems. First we need to analyze the existing codebase, audit CSS codebase health, discover weaknesses, agree on the approach, and convince management to invest time and resources into the process.</span>
</div>
</a>
</details>
</article>
</section>
</li>
</ul>
</section>
<footer>
<time id="build-timestamp" datetime="2021-08-11T00:43:01.839Z">2021-08-11T00:43:01.839Z</time>
<time id="build-timestamp" datetime="2021-08-12T00:39:09.828Z">2021-08-12T00:39:09.828Z</time>
<span><a class="footer-link" href="https://github.com/osmoscraft/osmosfeed">osmosfeed 1.11.0</a></span>
</footer>
<script src="index.js"></script>