mirror of
https://github.com/osmoscraft/osmosfeed-template.git
synced 2026-03-11 14:44:24 +00:00
deploy: f25fe2fce9
This commit is contained in:
parent
6f9bce5432
commit
76db2bf361
5 changed files with 1256 additions and 1430 deletions
77
cache.json
77
cache.json
|
|
@ -5,6 +5,15 @@
|
|||
"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.7.0",
|
||||
"author": null,
|
||||
"description": "Added: templating system. Demo | Source | Docs\nChore: rendering logic refactoring. Adopting functional paradigm.",
|
||||
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.0",
|
||||
"publishedOn": "2021-05-15T09:35:54.000Z",
|
||||
"wordCount": 286,
|
||||
"title": "v1.7.0"
|
||||
},
|
||||
{
|
||||
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.4.0",
|
||||
"author": null,
|
||||
|
|
@ -17,10 +26,10 @@
|
|||
{
|
||||
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.6.0",
|
||||
"author": null,
|
||||
"description": "Added: Link from the title of a subscription to its website.\nAdded: Store feedUrl and siteUrl for each source in cache.\nAdded: Semantic element (<time>) for timestamp on the UI.\nAdded: Semantic API for theming the default template. Demo | Source | Docs\nChanged: Moved feed metadata from article level to feed level in cache.\nFixed: Any html-like text was stripped from title. Fixed with encoded text.\nRemoved: href for each source in cache. The value was never used so it's not a breaking change.",
|
||||
"description": "Added: Link from the title of a subscription to its website.\nAdded: Store feedUrl and siteUrl for each source in cache.\nAdded: Semantic element (<time>) for timestamp on the UI.\nAdded: Semantic API for theming the default template. Demo | Source | Docs\nChanged: Moved feed metadata from article level to feed level in cache.\nFixed: Any html-like text was stripped from title. Fixed with encoded text.\nRemoved: href for each source in cache. The value was never used so it's not a breaking change.",
|
||||
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.6.0",
|
||||
"publishedOn": "2021-05-10T08:15:20.000Z",
|
||||
"wordCount": 356,
|
||||
"wordCount": 352,
|
||||
"title": "v1.6.0"
|
||||
},
|
||||
{
|
||||
|
|
@ -85,15 +94,6 @@
|
|||
"publishedOn": "2021-05-05T05:18:27.000Z",
|
||||
"wordCount": 278,
|
||||
"title": "v1.1.1"
|
||||
},
|
||||
{
|
||||
"id": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.1.0",
|
||||
"author": null,
|
||||
"description": "Added: MIT license\nAdded: cache.json is stamped with the version of the builder. This allows future builder with breaking change to ignore incompatible cache.\nAdded: Feed source retry on fetch error (3 times total, 15 seconds timeout).\nAdded: Item enrichment retry on fetch error (3 times total, 15 seconds timeout).\nAdded: Console log for cache restore and update behavior.\nAdded: npx command: npx osmosfeed\nChanged: Improved console log that breaks down rendered item count into \"new\" and \"cached\".\nFixed: Item…",
|
||||
"link": "https://github.com/osmoscraft/osmosfeed/releases/tag/v1.1.0",
|
||||
"publishedOn": "2021-05-05T05:17:37.000Z",
|
||||
"wordCount": 353,
|
||||
"title": "v1.1.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -105,16 +105,16 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340136",
|
||||
"author": "Chris Coyier",
|
||||
"description": "I’ve been thinking about social media images again. You know, the images that (can) show up when you share a link in places like Twitter, Facebook, or iMessage. You’re essentially leaving money on the table without them, because they …\nThe post Auto-Generated Social Media Images appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "I’ve been thinking about social media images again. You know, the images that (can) show up when you share a link in places like Twitter, Facebook, or iMessage. You’re essentially leaving money on the table without them, because they …\nThe post Auto-Generated Social Media Images appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/auto-generated-social-media-images/",
|
||||
"publishedOn": "2021-05-14T20:34:49.000Z",
|
||||
"wordCount": 1881,
|
||||
"wordCount": 1934,
|
||||
"title": "Auto-Generated Social Media Images"
|
||||
},
|
||||
{
|
||||
"id": "https://css-tricks.com/?p=340343",
|
||||
"author": "Nathan Babcock",
|
||||
"description": "!default is a Sass flag that indicates conditional assignment to a variable — it assigns a value only if the variable was previously undefined or null. Consider this code snippet:\n$variable: 'test' !default;\nTo the Sass compiler, this line …\nThe post Creating Stylesheet Feature Flags With Sass !default appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "!default is a Sass flag that indicates conditional assignment to a variable — it assigns a value only if the variable was previously undefined or null. Consider this code snippet:\n$variable: 'test' !default;\nTo the Sass compiler, this line …\nThe post Creating Stylesheet Feature Flags With Sass !default appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/creating-stylesheet-feature-flags-with-sass-default/",
|
||||
"publishedOn": "2021-05-14T14:14:34.000Z",
|
||||
"wordCount": 1344,
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340403",
|
||||
"author": "Chris Coyier",
|
||||
"description": "Manuel Matuzović goes line-by-line through a boilerplate HTML document. I like it. It’s a good reference and has a lot of the same type of stuff I tend to put in the main HTML template. It makes me think about …\nThe post HTML Boilerplates appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Manuel Matuzović goes line-by-line through a boilerplate HTML document. I like it. It’s a good reference and has a lot of the same type of stuff I tend to put in the main HTML template. It makes me think about …\nThe post HTML Boilerplates appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/html-boilerplates/",
|
||||
"publishedOn": "2021-05-14T14:13:07.000Z",
|
||||
"wordCount": 749,
|
||||
|
|
@ -132,7 +132,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340490",
|
||||
"author": "Chris Coyier",
|
||||
"description": "Chen Hui Jing covers some recent movement in DevTools:\nFirefox’s grid inspector was pretty full-featured from the get-to and released together with CSS grid in Firefox 52. It was constantly improved upon since. Chrome added a basic grid inspector \n…\nThe post DevTools for CSS layouts 2021 edition appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Chen Hui Jing covers some recent movement in DevTools:\nFirefox’s grid inspector was pretty full-featured from the get-to and released together with CSS grid in Firefox 52. It was constantly improved upon since. Chrome added a basic grid inspector \n…\nThe post DevTools for CSS layouts 2021 edition appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://chenhuijing.com/blog/devtools-for-css-layouts-2021-edition/#%F0%9F%9A%B2",
|
||||
"publishedOn": "2021-05-13T23:22:45.000Z",
|
||||
"wordCount": 1594,
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340573",
|
||||
"author": "Chris Coyier",
|
||||
"description": "My friends at Sparkbox are doing a survey on design systems, as they do each year. Go ahead and fill it out if you please. Here are the results from last year. In both 2019 and 2020, the vibe was …\nThe post 2021 Design Systems (Survey/Courses) appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "My friends at Sparkbox are doing a survey on design systems, as they do each year. Go ahead and fill it out if you please. Here are the results from last year. In both 2019 and 2020, the vibe was …\nThe post 2021 Design Systems (Survey/Courses) appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/2021-design-systems-survey-courses/",
|
||||
"publishedOn": "2021-05-13T22:55:35.000Z",
|
||||
"wordCount": 605,
|
||||
|
|
@ -150,7 +150,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340036",
|
||||
"author": "Temani Afif",
|
||||
"description": "When dealing with complex CSS animations, there is a tendency to create expansive @keyframes with lots of declarations. There are a couple of tricks though that I want to talk about that might help make things easier, while staying in …\nThe post Advanced CSS Animation Using cubic-bezier() appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "When dealing with complex CSS animations, there is a tendency to create expansive @keyframes with lots of declarations. There are a couple of tricks though that I want to talk about that might help make things easier, while staying in …\nThe post Advanced CSS Animation Using cubic-bezier() appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/advanced-css-animation-using-cubic-bezier/",
|
||||
"publishedOn": "2021-05-13T14:24:42.000Z",
|
||||
"wordCount": 2745,
|
||||
|
|
@ -159,16 +159,16 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340118",
|
||||
"author": "Chris Coyier",
|
||||
"description": "Building animations can get complicated, particularly compelling animations where you aren’t just rolling a ball across the screen, but building a scene where many things are moving and changing in concert. When compelling animation is the goal, a timeline GUI …\nThe post SVGator 3.0 Reshapes the Way You Create and Animate SVG With Extensive New Features appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Building animations can get complicated, particularly compelling animations where you aren’t just rolling a ball across the screen, but building a scene where many things are moving and changing in concert. When compelling animation is the goal, a timeline GUI …\nThe post SVGator 3.0 Reshapes the Way You Create and Animate SVG With Extensive New Features appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/svgator-3-0-reshapes-the-way-you-create-and-animate-svg-with-extensive-new-features/",
|
||||
"publishedOn": "2021-05-13T14:24:35.000Z",
|
||||
"wordCount": 986,
|
||||
"wordCount": 942,
|
||||
"title": "SVGator 3.0 Reshapes the Way You Create and Animate SVG With Extensive New Features"
|
||||
},
|
||||
{
|
||||
"id": "https://css-tricks.com/?p=339960",
|
||||
"author": "Sandrina Pereira",
|
||||
"description": "Let’s talk about disabled buttons. Specifically, let’s get into why we use them and how we can do better than the traditional disabled attribute in HTML (e.g. <button disabled> ) to mark a button as disabled.\nThere are lots of …\nThe post Making Disabled Buttons More Inclusive appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Let’s talk about disabled buttons. Specifically, let’s get into why we use them and how we can do better than the traditional disabled attribute in HTML (e.g. <button disabled> ) to mark a button as disabled.\nThere are lots of …\nThe post Making Disabled Buttons More Inclusive appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/making-disabled-buttons-more-inclusive/",
|
||||
"publishedOn": "2021-05-12T14:31:07.000Z",
|
||||
"wordCount": 2771,
|
||||
|
|
@ -177,7 +177,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340359",
|
||||
"author": "Chris Coyier",
|
||||
"description": "Kitty reflected on an ancient blog post here on CSS-Tricks on how to make an animated pie timer. The old technique is still clever. The new technique is equally clever and much easier. I particularly like the steps() animation function…\nThe post CSS Pie Timer Re-Revisited appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Kitty reflected on an ancient blog post here on CSS-Tricks on how to make an animated pie timer. The old technique is still clever. The new technique is equally clever and much easier. I particularly like the steps() animation function…\nThe post CSS Pie Timer Re-Revisited appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/css-pie-timer-re-revisited/",
|
||||
"publishedOn": "2021-05-11T22:00:29.000Z",
|
||||
"wordCount": 441,
|
||||
|
|
@ -186,7 +186,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340186",
|
||||
"author": "Geoff Graham",
|
||||
"description": "How many times have you heard that (or even uttered it under your own breath)? I know I’ve heard it in conversations. I also know I’ve wondered the same thing about a product or two — hey, the idea here …\nThe post I could build this during the weekend appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "How many times have you heard that (or even uttered it under your own breath)? I know I’ve heard it in conversations. I also know I’ve wondered the same thing about a product or two — hey, the idea here …\nThe post I could build this during the weekend appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://world.hey.com/joaoqalves/i-could-build-this-during-the-weekend-aa093c5e",
|
||||
"publishedOn": "2021-05-11T21:04:32.000Z",
|
||||
"wordCount": 1416,
|
||||
|
|
@ -195,7 +195,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=339138",
|
||||
"author": "Una Kravets",
|
||||
"description": "Chrome is experimenting with @container, a property within the CSS Working Group Containment Level 3 spec being championed by Miriam Suzanne of Oddbird, and a group of engineers across the web platform. @container brings us the ability to …\nThe post Next Gen CSS: @container appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Chrome is experimenting with @container, a property within the CSS Working Group Containment Level 3 spec being championed by Miriam Suzanne of Oddbird, and a group of engineers across the web platform. @container brings us the ability to …\nThe post Next Gen CSS: @container appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/next-gen-css-container/",
|
||||
"publishedOn": "2021-05-11T14:36:10.000Z",
|
||||
"wordCount": 1419,
|
||||
|
|
@ -204,7 +204,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340106",
|
||||
"author": "Chris Coyier",
|
||||
"description": "Like Jamstack, Netlify is coining this term.\nIf your reaction is: great, a new thing I need to know about and learn, know that while Distributed Persistent Rendering (DPR) does involve some new things, this is actually a push …\nThe post Distributed Persistent Rendering (DPR) appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "Like Jamstack, Netlify is coining this term.\nIf your reaction is: great, a new thing I need to know about and learn, know that while Distributed Persistent Rendering (DPR) does involve some new things, this is actually a push …\nThe post Distributed Persistent Rendering (DPR) appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/distributed-persistent-rendering-dpr/",
|
||||
"publishedOn": "2021-05-11T14:33:10.000Z",
|
||||
"wordCount": 1446,
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340020",
|
||||
"author": "Chris Coyier",
|
||||
"description": "This is extremely fun. Jeff Lindsay has created Topframe, and writes:\nAnybody that knows how to mess around with HTML can now mess around with their desktop computing experience. Topframe is an open source tool that lets you \n…\nThe post Topframe appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "This is extremely fun. Jeff Lindsay has created Topframe, and writes:\nAnybody that knows how to mess around with HTML can now mess around with their desktop computing experience. Topframe is an open source tool that lets you \n…\nThe post Topframe appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/topframe/",
|
||||
"publishedOn": "2021-05-10T21:14:15.000Z",
|
||||
"wordCount": 727,
|
||||
|
|
@ -222,7 +222,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=340208",
|
||||
"author": "Chris Coyier",
|
||||
"description": "I find build tooling endlessly interesting, especially right now as we’re in a juicy next-gen transitional period with players like Vite, wmr, Snowpack, and esbuild. Hugh Haworth has a good run-down of the new players, and we’ve chatted on …\nThe post Migrating from Parcel to Snowpack appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "I find build tooling endlessly interesting, especially right now as we’re in a juicy next-gen transitional period with players like Vite, wmr, Snowpack, and esbuild. Hugh Haworth has a good run-down of the new players, and we’ve chatted on …\nThe post Migrating from Parcel to Snowpack appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://benfrain.com/migrating-from-parcel-to-snowpack-build-tool-comparison/",
|
||||
"publishedOn": "2021-05-10T21:13:23.000Z",
|
||||
"wordCount": 2953,
|
||||
|
|
@ -231,7 +231,7 @@
|
|||
{
|
||||
"id": "https://css-tricks.com/?p=339203",
|
||||
"author": "Ana Tudor",
|
||||
"description": "I recently came across an interesting problem. I had to implement a grid of cards with a variable (user-set) aspect ratio that was stored in a --ratio custom property. Boxes with a certain aspect ratio are a classic problem in …\nThe post Variable Aspect Ratio Card With Conic Gradients Meeting Along the Diagonal appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"description": "I recently came across an interesting problem. I had to implement a grid of cards with a variable (user-set) aspect ratio that was stored in a --ratio custom property. Boxes with a certain aspect ratio are a classic problem in …\nThe post Variable Aspect Ratio Card With Conic Gradients Meeting Along the Diagonal appeared first on CSS-Tricks.\nYou can support CSS-Tricks by being an MVP Supporter.",
|
||||
"link": "https://css-tricks.com/variable-aspect-ratio-card-with-conic-gradients-meeting-along-the-diagonal/",
|
||||
"publishedOn": "2021-05-10T14:13:12.000Z",
|
||||
"wordCount": 3158,
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
{
|
||||
"id": "https://smashingmagazine.com/2021/05/smashingconf-conference-platform-hopin/",
|
||||
"author": "hello@smashingmagazine.com (Amanda Annandale)",
|
||||
"description": "At the beginning of 2020, the SmashingConf team was ready for a new year. We had so many things that excited us. New speakers, new workshops, new cities, new attendees, new experiences. And as we all know, 2020 had other ideas. With so many people working from home, we thought we would bring our [Smashing workshops](https://smashingconf.com/online-workshops/) from our home offices to yours — but how?",
|
||||
"description": "At the beginning of 2020, the SmashingConf team was ready for a new year. We had so many things that excited us. New speakers, new workshops, new cities, new attendees, new experiences. And as we all know, 2020 had other ideas. With so many people working from home, we thought we would bring our [Smashing workshops](https://smashingconf.com/online-workshops/) from our home offices to yours — but how?",
|
||||
"link": "https://smashingmagazine.com/2021/05/smashingconf-conference-platform-hopin/",
|
||||
"publishedOn": "2021-05-11T10:00:00.000Z",
|
||||
"wordCount": 1958,
|
||||
|
|
@ -391,7 +391,7 @@
|
|||
{
|
||||
"id": "https://smashingmagazine.com/2021/04/bake-layers-accessibility-testing-process/",
|
||||
"author": "hello@smashingmagazine.com (Kate Kalcevich & Mike Gifford)",
|
||||
"description": "Accessibility experts Kate Kalcevich and Mike Gifford introduce readers to \"layered accessibility testing”, a practice of using a variety of tools and approaches at different stages in the digital product lifecycle to catch accessibility issues early — when it’s easier and cheaper to fix them.",
|
||||
"description": "Accessibility experts Kate Kalcevich and Mike Gifford introduce readers to \"layered accessibility testing”, a practice of using a variety of tools and approaches at different stages in the digital product lifecycle to catch accessibility issues early — when it’s easier and cheaper to fix them.",
|
||||
"link": "https://smashingmagazine.com/2021/04/bake-layers-accessibility-testing-process/",
|
||||
"publishedOn": "2021-04-26T11:00:00.000Z",
|
||||
"wordCount": 3279,
|
||||
|
|
@ -450,15 +450,6 @@
|
|||
"publishedOn": "2021-04-19T08:30:00.000Z",
|
||||
"wordCount": 7206,
|
||||
"title": "An In-Depth Guide To Measuring Core Web Vitals"
|
||||
},
|
||||
{
|
||||
"id": "https://smashingmagazine.com/2021/04/mistakes-technical-interviews/",
|
||||
"author": "hello@smashingmagazine.com (Emma Bostian)",
|
||||
"description": "It’s no secret that the technical interview process leaves something to be desired; it’s often riddled with anxiety and stress. In this article, we’ll take a look at seven of the most common mistakes candidates make in their technical interviews and explore ways you can avoid them.",
|
||||
"link": "https://smashingmagazine.com/2021/04/mistakes-technical-interviews/",
|
||||
"publishedOn": "2021-04-16T09:00:00.000Z",
|
||||
"wordCount": 2912,
|
||||
"title": "Seven Mistakes To Avoid In Your Technical Interviews"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -524,10 +515,10 @@
|
|||
{
|
||||
"id": "609ccb0d62ab9107fe5aa0ce",
|
||||
"author": "",
|
||||
"description": "I was a corporate lawyer for 12 years. I never thought I'd be working at Google as a software engineer, but now I am. And I'm going to share with you ten important lessons I learned during this career transition. I finished law school in Bangalore, India, a year before",
|
||||
"description": "I was a corporate lawyer for 12 years. I never thought I'd be working at Google as a software engineer, but that's what I have been doing for the past year. I'm working remotely until COVID subsides and we can move to San Francisco. In this article I'm going to",
|
||||
"link": "https://www.freecodecamp.org/news/from-lawyer-to-google-engineer/",
|
||||
"publishedOn": "2021-05-13T16:25:03.000Z",
|
||||
"wordCount": 4002,
|
||||
"wordCount": 4024,
|
||||
"title": "From Lawyer to Engineer at Google – How to Switch Careers and Learn New Skills"
|
||||
},
|
||||
{
|
||||
|
|
@ -536,7 +527,7 @@
|
|||
"description": "In this free book, we will build two simple projects and deploy them on Netlify. We will use Vue.js as our front-end framework, and use different technologies to build our projects. If you follow this tutorial to the end, you will build a simplified version of Twitter and a",
|
||||
"link": "https://www.freecodecamp.org/news/build-a-portfolio-with-vuejs/",
|
||||
"publishedOn": "2021-05-12T20:53:20.000Z",
|
||||
"wordCount": 25080,
|
||||
"wordCount": 24536,
|
||||
"title": "How to Build and Deploy a Portfolio with Vue.js Axios, the GitHub REST API, and Netlify"
|
||||
},
|
||||
{
|
||||
|
|
@ -560,5 +551,5 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"cliVersion": "1.6.0"
|
||||
"cliVersion": "1.7.0"
|
||||
}
|
||||
88
feed.atom
88
feed.atom
|
|
@ -1,16 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>urn:2021-05-15T00:44:24.615Z</id>
|
||||
<id>urn:2021-05-16T00:48:59.944Z</id>
|
||||
<title>osmos::feed</title>
|
||||
<updated>2021-05-15T00:44:24.615Z</updated>
|
||||
<generator>osmosfeed 1.6.0</generator>
|
||||
<updated>2021-05-16T00:48:59.944Z</updated>
|
||||
<generator>osmosfeed 1.7.0</generator>
|
||||
<link rel="alternate" href="index.html"/>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[v1.7.0]]></title>
|
||||
<id>https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.0</id>
|
||||
<link href="https://github.com/osmoscraft/osmosfeed/releases/tag/v1.7.0"/>
|
||||
<updated>2021-05-15T09:35:54.000Z</updated>
|
||||
<summary type="html"><![CDATA[Added: templating system. Demo | Source | Docs
|
||||
Chore: rendering logic refactoring. Adopting functional paradigm.]]></summary>
|
||||
<author>
|
||||
<name>Release notes from osmosfeed</name>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[Auto-Generated Social Media Images]]></title>
|
||||
<id>https://css-tricks.com/?p=340136</id>
|
||||
<link href="https://css-tricks.com/auto-generated-social-media-images/"/>
|
||||
<updated>2021-05-14T20:34:49.000Z</updated>
|
||||
<summary type="html"><![CDATA[I’ve been thinking about social media images again. You know, the images that (can) show up when you share a link in places like Twitter, Facebook, or iMessage. You’re essentially leaving money on the table without them, because they …
|
||||
<summary type="html"><![CDATA[I’ve been thinking about social media images again. You know, the images that (can) show up when you share a link in places like Twitter, Facebook, or iMessage. You’re essentially leaving money on the table without them, because they …
|
||||
The post Auto-Generated Social Media Images appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -54,7 +65,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<updated>2021-05-14T14:14:34.000Z</updated>
|
||||
<summary type="html"><![CDATA[!default is a Sass flag that indicates conditional assignment to a variable — it assigns a value only if the variable was previously undefined or null. Consider this code snippet:
|
||||
$variable: 'test' !default;
|
||||
To the Sass compiler, this line …
|
||||
To the Sass compiler, this line …
|
||||
The post Creating Stylesheet Feature Flags With Sass !default appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -66,7 +77,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340403</id>
|
||||
<link href="https://css-tricks.com/html-boilerplates/"/>
|
||||
<updated>2021-05-14T14:13:07.000Z</updated>
|
||||
<summary type="html"><![CDATA[Manuel Matuzović goes line-by-line through a boilerplate HTML document. I like it. It’s a good reference and has a lot of the same type of stuff I tend to put in the main HTML template. It makes me think about …
|
||||
<summary type="html"><![CDATA[Manuel Matuzović goes line-by-line through a boilerplate HTML document. I like it. It’s a good reference and has a lot of the same type of stuff I tend to put in the main HTML template. It makes me think about …
|
||||
The post HTML Boilerplates appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -89,8 +100,8 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<link href="https://chenhuijing.com/blog/devtools-for-css-layouts-2021-edition/#%F0%9F%9A%B2"/>
|
||||
<updated>2021-05-13T23:22:45.000Z</updated>
|
||||
<summary type="html"><![CDATA[Chen Hui Jing covers some recent movement in DevTools:
|
||||
Firefox’s grid inspector was pretty full-featured from the get-to and released together with CSS grid in Firefox 52. It was constantly improved upon since. Chrome added a basic grid inspector
|
||||
…
|
||||
Firefox’s grid inspector was pretty full-featured from the get-to and released together with CSS grid in Firefox 52. It was constantly improved upon since. Chrome added a basic grid inspector
|
||||
…
|
||||
The post DevTools for CSS layouts 2021 edition appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -102,7 +113,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340573</id>
|
||||
<link href="https://css-tricks.com/2021-design-systems-survey-courses/"/>
|
||||
<updated>2021-05-13T22:55:35.000Z</updated>
|
||||
<summary type="html"><![CDATA[My friends at Sparkbox are doing a survey on design systems, as they do each year. Go ahead and fill it out if you please. Here are the results from last year. In both 2019 and 2020, the vibe was …
|
||||
<summary type="html"><![CDATA[My friends at Sparkbox are doing a survey on design systems, as they do each year. Go ahead and fill it out if you please. Here are the results from last year. In both 2019 and 2020, the vibe was …
|
||||
The post 2021 Design Systems (Survey/Courses) appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -144,7 +155,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>609ccb0d62ab9107fe5aa0ce</id>
|
||||
<link href="https://www.freecodecamp.org/news/from-lawyer-to-google-engineer/"/>
|
||||
<updated>2021-05-13T16:25:03.000Z</updated>
|
||||
<summary type="html"><![CDATA[I was a corporate lawyer for 12 years. I never thought I'd be working at Google as a software engineer, but now I am. And I'm going to share with you ten important lessons I learned during this career transition. I finished law school in Bangalore, India, a year before]]></summary>
|
||||
<summary type="html"><![CDATA[I was a corporate lawyer for 12 years. I never thought I'd be working at Google as a software engineer, but that's what I have been doing for the past year. I'm working remotely until COVID subsides and we can move to San Francisco. In this article I'm going to]]></summary>
|
||||
<author>
|
||||
<name/>
|
||||
</author>
|
||||
|
|
@ -154,7 +165,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340036</id>
|
||||
<link href="https://css-tricks.com/advanced-css-animation-using-cubic-bezier/"/>
|
||||
<updated>2021-05-13T14:24:42.000Z</updated>
|
||||
<summary type="html"><![CDATA[When dealing with complex CSS animations, there is a tendency to create expansive @keyframes with lots of declarations. There are a couple of tricks though that I want to talk about that might help make things easier, while staying in …
|
||||
<summary type="html"><![CDATA[When dealing with complex CSS animations, there is a tendency to create expansive @keyframes with lots of declarations. There are a couple of tricks though that I want to talk about that might help make things easier, while staying in …
|
||||
The post Advanced CSS Animation Using cubic-bezier() appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -166,7 +177,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340118</id>
|
||||
<link href="https://css-tricks.com/svgator-3-0-reshapes-the-way-you-create-and-animate-svg-with-extensive-new-features/"/>
|
||||
<updated>2021-05-13T14:24:35.000Z</updated>
|
||||
<summary type="html"><![CDATA[Building animations can get complicated, particularly compelling animations where you aren’t just rolling a ball across the screen, but building a scene where many things are moving and changing in concert. When compelling animation is the goal, a timeline GUI …
|
||||
<summary type="html"><![CDATA[Building animations can get complicated, particularly compelling animations where you aren’t just rolling a ball across the screen, but building a scene where many things are moving and changing in concert. When compelling animation is the goal, a timeline GUI …
|
||||
The post SVGator 3.0 Reshapes the Way You Create and Animate SVG With Extensive New Features appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -198,8 +209,8 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=339960</id>
|
||||
<link href="https://css-tricks.com/making-disabled-buttons-more-inclusive/"/>
|
||||
<updated>2021-05-12T14:31:07.000Z</updated>
|
||||
<summary type="html"><![CDATA[Let’s talk about disabled buttons. Specifically, let’s get into why we use them and how we can do better than the traditional disabled attribute in HTML (e.g. <button disabled> ) to mark a button as disabled.
|
||||
There are lots of …
|
||||
<summary type="html"><![CDATA[Let’s talk about disabled buttons. Specifically, let’s get into why we use them and how we can do better than the traditional disabled attribute in HTML (e.g. <button disabled> ) to mark a button as disabled.
|
||||
There are lots of …
|
||||
The post Making Disabled Buttons More Inclusive appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -241,7 +252,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340359</id>
|
||||
<link href="https://css-tricks.com/css-pie-timer-re-revisited/"/>
|
||||
<updated>2021-05-11T22:00:29.000Z</updated>
|
||||
<summary type="html"><![CDATA[Kitty reflected on an ancient blog post here on CSS-Tricks on how to make an animated pie timer. The old technique is still clever. The new technique is equally clever and much easier. I particularly like the steps() animation function…
|
||||
<summary type="html"><![CDATA[Kitty reflected on an ancient blog post here on CSS-Tricks on how to make an animated pie timer. The old technique is still clever. The new technique is equally clever and much easier. I particularly like the steps() animation function…
|
||||
The post CSS Pie Timer Re-Revisited appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -253,7 +264,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340186</id>
|
||||
<link href="https://world.hey.com/joaoqalves/i-could-build-this-during-the-weekend-aa093c5e"/>
|
||||
<updated>2021-05-11T21:04:32.000Z</updated>
|
||||
<summary type="html"><![CDATA[How many times have you heard that (or even uttered it under your own breath)? I know I’ve heard it in conversations. I also know I’ve wondered the same thing about a product or two — hey, the idea here …
|
||||
<summary type="html"><![CDATA[How many times have you heard that (or even uttered it under your own breath)? I know I’ve heard it in conversations. I also know I’ve wondered the same thing about a product or two — hey, the idea here …
|
||||
The post I could build this during the weekend appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -265,7 +276,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=339138</id>
|
||||
<link href="https://css-tricks.com/next-gen-css-container/"/>
|
||||
<updated>2021-05-11T14:36:10.000Z</updated>
|
||||
<summary type="html"><![CDATA[Chrome is experimenting with @container, a property within the CSS Working Group Containment Level 3 spec being championed by Miriam Suzanne of Oddbird, and a group of engineers across the web platform. @container brings us the ability to …
|
||||
<summary type="html"><![CDATA[Chrome is experimenting with @container, a property within the CSS Working Group Containment Level 3 spec being championed by Miriam Suzanne of Oddbird, and a group of engineers across the web platform. @container brings us the ability to …
|
||||
The post Next Gen CSS: @container appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -278,7 +289,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<link href="https://css-tricks.com/distributed-persistent-rendering-dpr/"/>
|
||||
<updated>2021-05-11T14:33:10.000Z</updated>
|
||||
<summary type="html"><![CDATA[Like Jamstack, Netlify is coining this term.
|
||||
If your reaction is: great, a new thing I need to know about and learn, know that while Distributed Persistent Rendering (DPR) does involve some new things, this is actually a push …
|
||||
If your reaction is: great, a new thing I need to know about and learn, know that while Distributed Persistent Rendering (DPR) does involve some new things, this is actually a push …
|
||||
The post Distributed Persistent Rendering (DPR) appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -300,7 +311,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://smashingmagazine.com/2021/05/smashingconf-conference-platform-hopin/</id>
|
||||
<link href="https://smashingmagazine.com/2021/05/smashingconf-conference-platform-hopin/"/>
|
||||
<updated>2021-05-11T10:00:00.000Z</updated>
|
||||
<summary type="html">< from our home offices to yours — but how?]]></summary>
|
||||
<summary type="html">< from our home offices to yours — but how?]]></summary>
|
||||
<author>
|
||||
<name>hello@smashingmagazine.com (Amanda Annandale)</name>
|
||||
</author>
|
||||
|
|
@ -311,8 +322,8 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<link href="https://css-tricks.com/topframe/"/>
|
||||
<updated>2021-05-10T21:14:15.000Z</updated>
|
||||
<summary type="html"><![CDATA[This is extremely fun. Jeff Lindsay has created Topframe, and writes:
|
||||
Anybody that knows how to mess around with HTML can now mess around with their desktop computing experience. Topframe is an open source tool that lets you
|
||||
…
|
||||
Anybody that knows how to mess around with HTML can now mess around with their desktop computing experience. Topframe is an open source tool that lets you
|
||||
…
|
||||
The post Topframe appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -324,7 +335,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=340208</id>
|
||||
<link href="https://benfrain.com/migrating-from-parcel-to-snowpack-build-tool-comparison/"/>
|
||||
<updated>2021-05-10T21:13:23.000Z</updated>
|
||||
<summary type="html"><![CDATA[I find build tooling endlessly interesting, especially right now as we’re in a juicy next-gen transitional period with players like Vite, wmr, Snowpack, and esbuild. Hugh Haworth has a good run-down of the new players, and we’ve chatted on …
|
||||
<summary type="html"><![CDATA[I find build tooling endlessly interesting, especially right now as we’re in a juicy next-gen transitional period with players like Vite, wmr, Snowpack, and esbuild. Hugh Haworth has a good run-down of the new players, and we’ve chatted on …
|
||||
The post Migrating from Parcel to Snowpack appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -336,7 +347,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<id>https://css-tricks.com/?p=339203</id>
|
||||
<link href="https://css-tricks.com/variable-aspect-ratio-card-with-conic-gradients-meeting-along-the-diagonal/"/>
|
||||
<updated>2021-05-10T14:13:12.000Z</updated>
|
||||
<summary type="html"><![CDATA[I recently came across an interesting problem. I had to implement a grid of cards with a variable (user-set) aspect ratio that was stored in a --ratio custom property. Boxes with a certain aspect ratio are a classic problem in …
|
||||
<summary type="html"><![CDATA[I recently came across an interesting problem. I had to implement a grid of cards with a variable (user-set) aspect ratio that was stored in a --ratio custom property. Boxes with a certain aspect ratio are a classic problem in …
|
||||
The post Variable Aspect Ratio Card With Conic Gradients Meeting Along the Diagonal appeared first on CSS-Tricks.
|
||||
You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
||||
<author>
|
||||
|
|
@ -370,7 +381,7 @@ You can support CSS-Tricks by being an MVP Supporter.]]></summary>
|
|||
<updated>2021-05-10T08:15:20.000Z</updated>
|
||||
<summary type="html"><![CDATA[Added: Link from the title of a subscription to its website.
|
||||
Added: Store feedUrl and siteUrl for each source in cache.
|
||||
Added: Semantic element (<time>) for timestamp on the UI.
|
||||
Added: Semantic element (<time>) for timestamp on the UI.
|
||||
Added: Semantic API for theming the default template. Demo | Source | Docs
|
||||
Changed: Moved feed metadata from article level to feed level in cache.
|
||||
Fixed: Any html-like text was stripped from title. Fixed with encoded text.
|
||||
|
|
@ -489,23 +500,6 @@ Chore: Refactored parameter passing for enrich step.]]></summary>
|
|||
<name>Release notes from osmosfeed</name>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[v1.1.0]]></title>
|
||||
<id>https://github.com/osmoscraft/osmosfeed/releases/tag/v1.1.0</id>
|
||||
<link href="https://github.com/osmoscraft/osmosfeed/releases/tag/v1.1.0"/>
|
||||
<updated>2021-05-05T05:17:37.000Z</updated>
|
||||
<summary type="html"><![CDATA[Added: MIT license
|
||||
Added: cache.json is stamped with the version of the builder. This allows future builder with breaking change to ignore incompatible cache.
|
||||
Added: Feed source retry on fetch error (3 times total, 15 seconds timeout).
|
||||
Added: Item enrichment retry on fetch error (3 times total, 15 seconds timeout).
|
||||
Added: Console log for cache restore and update behavior.
|
||||
Added: npx command: npx osmosfeed
|
||||
Changed: Improved console log that breaks down rendered item count into "new" and "cached".
|
||||
Fixed: Item…]]></summary>
|
||||
<author>
|
||||
<name>Release notes from osmosfeed</name>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[A Guide To Undoing Mistakes With Git]]></title>
|
||||
<id>https://smashingmagazine.com/2021/05/undoing-mistakes-git-part1/</id>
|
||||
|
|
@ -581,7 +575,7 @@ Fixed: Item…]]></summary>
|
|||
<id>https://smashingmagazine.com/2021/04/bake-layers-accessibility-testing-process/</id>
|
||||
<link href="https://smashingmagazine.com/2021/04/bake-layers-accessibility-testing-process/"/>
|
||||
<updated>2021-04-26T11:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[Accessibility experts Kate Kalcevich and Mike Gifford introduce readers to "layered accessibility testing”, a practice of using a variety of tools and approaches at different stages in the digital product lifecycle to catch accessibility issues early — when it’s easier and cheaper to fix them.]]></summary>
|
||||
<summary type="html"><![CDATA[Accessibility experts Kate Kalcevich and Mike Gifford introduce readers to "layered accessibility testing”, a practice of using a variety of tools and approaches at different stages in the digital product lifecycle to catch accessibility issues early — when it’s easier and cheaper to fix them.]]></summary>
|
||||
<author>
|
||||
<name>hello@smashingmagazine.com (Kate Kalcevich & Mike Gifford)</name>
|
||||
</author>
|
||||
|
|
@ -646,14 +640,4 @@ Fixed: Item…]]></summary>
|
|||
<name>hello@smashingmagazine.com (Barry Pollard)</name>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[Seven Mistakes To Avoid In Your Technical Interviews]]></title>
|
||||
<id>https://smashingmagazine.com/2021/04/mistakes-technical-interviews/</id>
|
||||
<link href="https://smashingmagazine.com/2021/04/mistakes-technical-interviews/"/>
|
||||
<updated>2021-04-16T09:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[It’s no secret that the technical interview process leaves something to be desired; it’s often riddled with anxiety and stress. In this article, we’ll take a look at seven of the most common mistakes candidates make in their technical interviews and explore ways you can avoid them.]]></summary>
|
||||
<author>
|
||||
<name>hello@smashingmagazine.com (Emma Bostian)</name>
|
||||
</author>
|
||||
</entry>
|
||||
</feed>
|
||||
|
|
@ -1,194 +1,194 @@
|
|||
:root {
|
||||
/**
|
||||
* Palette
|
||||
* Gruvbox dark, medium
|
||||
* Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
|
||||
*/
|
||||
--base00: #282828; /* ---- */
|
||||
--base01: #3c3836; /* --- */
|
||||
--base02: #504945; /* -- */
|
||||
--base03: #665c54; /* - */
|
||||
--base04: #bdae93; /* + */
|
||||
--base05: #d5c4a1; /* ++ */
|
||||
--base06: #ebdbb2; /* +++ */
|
||||
--base07: #fbf1c7; /* ++++ */
|
||||
--base08: #fb4934; /* red */
|
||||
--base09: #fe8019; /* orange */
|
||||
--base0A: #fabd2f; /* yellow */
|
||||
--base0B: #b8bb26; /* green */
|
||||
--base0C: #8ec07c; /* aqua/cyan */
|
||||
--base0D: #83a598; /* blue */
|
||||
--base0E: #d3869b; /* purple */
|
||||
--base0F: #d65d0e; /* brown */
|
||||
|
||||
/**
|
||||
* Typograph
|
||||
*/
|
||||
--font-family-default: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,
|
||||
"Helvetica Neue", sans-serif;
|
||||
--font-size-scaler: 62.5%; /* 1rem = 10px */
|
||||
--font-size-m: 1.4rem;
|
||||
--font-size-s: 1.2rem;
|
||||
|
||||
/**
|
||||
* Components
|
||||
*/
|
||||
--body-color: var(--base04);
|
||||
--body-bg: var(--base00);
|
||||
|
||||
--daily-heading-color: var(--base04);
|
||||
|
||||
--source-name-color: var(--base0A);
|
||||
--source-name-hover-color: var(--base0A);
|
||||
|
||||
--article-title-color: var(--base05);
|
||||
--article-title-hover-color: var(--base07);
|
||||
--article-summary-color: var(--base04);
|
||||
--article-summary-hover-color: var(--base07);
|
||||
|
||||
--accordion-content-rail-color: var(--base03);
|
||||
--accordion-content-hover-rail-color: var(--base04);
|
||||
--accordion-title-marker-color: var(--base03);
|
||||
--accordion-title-hover-marker-color: var(--base04);
|
||||
|
||||
--card-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);
|
||||
--card-bg: var(--base01);
|
||||
--card-radius: 4px;
|
||||
|
||||
--footer-color: var(--base04);
|
||||
--footer-link-hover-color: var(--base07);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internals below
|
||||
*
|
||||
* If you can't create a specific look and feel with the configuration above,
|
||||
* you might have reached the customization limit of the template.
|
||||
*
|
||||
* Options:
|
||||
* 1. File an issue with the template.
|
||||
* 2. Target specific elements and write your own CSS. A future change in HTML may break your style.
|
||||
* 3. (Coming soon...) Write your own template with Template Extensibility API.
|
||||
*/
|
||||
html {
|
||||
font-size: var(--font-size-scaler);
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--body-bg);
|
||||
font-family: var(--font-family-default);
|
||||
color: var(--body-color);
|
||||
margin: 0;
|
||||
gap: 24px;
|
||||
padding: 16px;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
:not(:focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.card {
|
||||
border-radius: var(--card-radius);
|
||||
box-shadow: var(--card-shadow);
|
||||
background: var(--card-bg);
|
||||
}
|
||||
|
||||
.sources {
|
||||
padding: 12px 16px;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.daily-heading {
|
||||
font-size: var(--font-size-s);
|
||||
font-weight: 600;
|
||||
margin: 0 0 8px 0;
|
||||
padding-left: 16px;
|
||||
color: var(--daily-heading-color);
|
||||
}
|
||||
|
||||
.source {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.source-name {
|
||||
font-size: var(--font-size-s);
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
}
|
||||
.source-name__link {
|
||||
color: var(--source-name-color);
|
||||
text-decoration: none;
|
||||
}
|
||||
.source-name__link:hover {
|
||||
color: var(--source-name-hover-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.article-expander {
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.article-expander__title {
|
||||
color: var(--article-title-color);
|
||||
font-size: var(--font-size-m);
|
||||
font-weight: 600;
|
||||
}
|
||||
.article-expander__title:hover {
|
||||
cursor: pointer;
|
||||
color: var(--article-title-hover-color);
|
||||
}
|
||||
.article-expander__title::marker {
|
||||
color: var(--accordion-title-marker-color);
|
||||
}
|
||||
.article-expander__title:hover::marker {
|
||||
color: var(--accordion-title-hover-marker-color);
|
||||
}
|
||||
|
||||
.article-summary-link {
|
||||
color: var(--article-summary-color);
|
||||
font-size: var(--font-size-m);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.article-summary-link:hover {
|
||||
color: var(--article-summary-hover-color);
|
||||
--accordion-content-rail-color: var(--accordion-content-hover-rail-color);
|
||||
}
|
||||
|
||||
.article-summary-box-outer {
|
||||
display: block;
|
||||
padding: 4px 8px 8px 4px;
|
||||
}
|
||||
|
||||
.article-summary-box-inner {
|
||||
padding-left: 8px;
|
||||
border-left: 1px solid var(--accordion-content-rail-color);
|
||||
}
|
||||
|
||||
.article-reading-time {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
footer {
|
||||
color: var(--footer-color);
|
||||
font-size: var(--font-size-s);
|
||||
display: flex;
|
||||
padding: 0 16px;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.footer-link {
|
||||
color: var(--footer-link-text);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.footer-link:hover {
|
||||
color: var(--footer-link-hover-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
:root {
|
||||
/**
|
||||
* Palette
|
||||
* Gruvbox dark, medium
|
||||
* Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
|
||||
*/
|
||||
--base00: #282828; /* ---- */
|
||||
--base01: #3c3836; /* --- */
|
||||
--base02: #504945; /* -- */
|
||||
--base03: #665c54; /* - */
|
||||
--base04: #bdae93; /* + */
|
||||
--base05: #d5c4a1; /* ++ */
|
||||
--base06: #ebdbb2; /* +++ */
|
||||
--base07: #fbf1c7; /* ++++ */
|
||||
--base08: #fb4934; /* red */
|
||||
--base09: #fe8019; /* orange */
|
||||
--base0A: #fabd2f; /* yellow */
|
||||
--base0B: #b8bb26; /* green */
|
||||
--base0C: #8ec07c; /* aqua/cyan */
|
||||
--base0D: #83a598; /* blue */
|
||||
--base0E: #d3869b; /* purple */
|
||||
--base0F: #d65d0e; /* brown */
|
||||
|
||||
/**
|
||||
* Typograph
|
||||
*/
|
||||
--font-family-default: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,
|
||||
"Helvetica Neue", sans-serif;
|
||||
--font-size-scaler: 62.5%; /* 1rem = 10px */
|
||||
--font-size-m: 1.4rem;
|
||||
--font-size-s: 1.2rem;
|
||||
|
||||
/**
|
||||
* Components
|
||||
*/
|
||||
--body-color: var(--base04);
|
||||
--body-bg: var(--base00);
|
||||
|
||||
--daily-heading-color: var(--base04);
|
||||
|
||||
--source-name-color: var(--base0A);
|
||||
--source-name-hover-color: var(--base0A);
|
||||
|
||||
--article-title-color: var(--base05);
|
||||
--article-title-hover-color: var(--base07);
|
||||
--article-summary-color: var(--base04);
|
||||
--article-summary-hover-color: var(--base07);
|
||||
|
||||
--accordion-content-rail-color: var(--base03);
|
||||
--accordion-content-hover-rail-color: var(--base04);
|
||||
--accordion-title-marker-color: var(--base03);
|
||||
--accordion-title-hover-marker-color: var(--base04);
|
||||
|
||||
--card-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);
|
||||
--card-bg: var(--base01);
|
||||
--card-radius: 4px;
|
||||
|
||||
--footer-color: var(--base04);
|
||||
--footer-link-hover-color: var(--base07);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internals below
|
||||
*
|
||||
* If you can't create a specific look and feel with the configuration above,
|
||||
* you might have reached the customization limit of the template.
|
||||
*
|
||||
* Options:
|
||||
* 1. File an issue with the template.
|
||||
* 2. Target specific elements and write your own CSS. A future change in HTML may break your style.
|
||||
* 3. (Coming soon...) Write your own template with Template Extensibility API.
|
||||
*/
|
||||
html {
|
||||
font-size: var(--font-size-scaler);
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--body-bg);
|
||||
font-family: var(--font-family-default);
|
||||
color: var(--body-color);
|
||||
margin: 0;
|
||||
gap: 24px;
|
||||
padding: 16px;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
:not(:focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.card {
|
||||
border-radius: var(--card-radius);
|
||||
box-shadow: var(--card-shadow);
|
||||
background: var(--card-bg);
|
||||
}
|
||||
|
||||
.sources {
|
||||
padding: 12px 16px;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.daily-heading {
|
||||
font-size: var(--font-size-s);
|
||||
font-weight: 600;
|
||||
margin: 0 0 8px 0;
|
||||
padding-left: 16px;
|
||||
color: var(--daily-heading-color);
|
||||
}
|
||||
|
||||
.source {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.source-name {
|
||||
font-size: var(--font-size-s);
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
}
|
||||
.source-name__link {
|
||||
color: var(--source-name-color);
|
||||
text-decoration: none;
|
||||
}
|
||||
.source-name__link:hover {
|
||||
color: var(--source-name-hover-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.article-expander {
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.article-expander__title {
|
||||
color: var(--article-title-color);
|
||||
font-size: var(--font-size-m);
|
||||
font-weight: 600;
|
||||
}
|
||||
.article-expander__title:hover {
|
||||
cursor: pointer;
|
||||
color: var(--article-title-hover-color);
|
||||
}
|
||||
.article-expander__title::marker {
|
||||
color: var(--accordion-title-marker-color);
|
||||
}
|
||||
.article-expander__title:hover::marker {
|
||||
color: var(--accordion-title-hover-marker-color);
|
||||
}
|
||||
|
||||
.article-summary-link {
|
||||
color: var(--article-summary-color);
|
||||
font-size: var(--font-size-m);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.article-summary-link:hover {
|
||||
color: var(--article-summary-hover-color);
|
||||
--accordion-content-rail-color: var(--accordion-content-hover-rail-color);
|
||||
}
|
||||
|
||||
.article-summary-box-outer {
|
||||
display: block;
|
||||
padding: 4px 8px 8px 4px;
|
||||
}
|
||||
|
||||
.article-summary-box-inner {
|
||||
padding-left: 8px;
|
||||
border-left: 1px solid var(--accordion-content-rail-color);
|
||||
}
|
||||
|
||||
.article-reading-time {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
footer {
|
||||
color: var(--footer-color);
|
||||
font-size: var(--font-size-s);
|
||||
display: flex;
|
||||
padding: 0 16px;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.footer-link {
|
||||
color: var(--footer-link-text);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.footer-link:hover {
|
||||
color: var(--footer-link-hover-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
2113
index.html
2113
index.html
File diff suppressed because it is too large
Load diff
20
index.js
20
index.js
|
|
@ -1,10 +1,10 @@
|
|||
document.addEventListener("click", (event) => {
|
||||
const actionButton = event.target.closest(`[data-action]`);
|
||||
|
||||
if (actionButton) {
|
||||
actionButton.closest("article").classList.toggle("expanded");
|
||||
}
|
||||
});
|
||||
|
||||
const timestamp = document.getElementById("build-timestamp");
|
||||
timestamp.innerText = new Date(timestamp.getAttribute("datetime")).toLocaleString();
|
||||
document.addEventListener("click", (event) => {
|
||||
const actionButton = event.target.closest(`[data-action]`);
|
||||
|
||||
if (actionButton) {
|
||||
actionButton.closest("article").classList.toggle("expanded");
|
||||
}
|
||||
});
|
||||
|
||||
const timestamp = document.getElementById("build-timestamp");
|
||||
timestamp.innerText = new Date(timestamp.getAttribute("datetime")).toLocaleString();
|
||||
|
|
|
|||
Loading…
Reference in a new issue