diff --git a/packages/metascraper-description/README.md b/packages/metascraper-description/README.md index 1357adb99..8f25ab07b 100644 --- a/packages/metascraper-description/README.md +++ b/packages/metascraper-description/README.md @@ -23,7 +23,7 @@ $ npm install metascraper-description --save ##### truncateLength Type: `number`
-Default: `300` +Default: `Number.MAX_SAFE_INTEGER` Truncate the value extracted to a maximum size. diff --git a/packages/metascraper-helpers/index.js b/packages/metascraper-helpers/index.js index 0598b2d8c..7e4326401 100644 --- a/packages/metascraper-helpers/index.js +++ b/packages/metascraper-helpers/index.js @@ -115,8 +115,6 @@ const REGEX_LOCATION = /^[A-Z\s]+\s+[-—–]\s+/ const REGEX_TITLE_SEPARATOR = /^[^|\-/•—]+/ -const TRUNCATE_MAX_LENGTH = 300 - const AUTHOR_MAX_LENGTH = 128 const removeLocation = value => replace(value, REGEX_LOCATION, '') @@ -253,7 +251,7 @@ const description = (value, opts) => const getDescription = ( str, - { truncateLength = TRUNCATE_MAX_LENGTH, ellipsis = '…', ...opts } = {} + { truncateLength = Number.MAX_SAFE_INTEGER, ellipsis = '…', ...opts } = {} ) => { let truncated = str.slice(0, truncateLength) if (truncated.length < str.length) truncated = truncated.trim() + ellipsis diff --git a/packages/metascraper-helpers/test/index.js b/packages/metascraper-helpers/test/index.js index de52ab36c..35b293432 100644 --- a/packages/metascraper-helpers/test/index.js +++ b/packages/metascraper-helpers/test/index.js @@ -58,11 +58,32 @@ test('.normalizeUrl', t => { ) t.is(normalizeUrl('https://example.com/'), 'https://example.com/') t.is(normalizeUrl('https://example.com'), 'https://example.com/') - t.is(normalizeUrl('https://www.example.com', 'https://www.example.com/foo'), 'https://www.example.com/foo') - t.is(normalizeUrl('https://www.example.com', '/foo'), 'https://www.example.com/foo') - t.is(normalizeUrl('https://www.example.com', 'file.html'), 'https://www.example.com/file.html') - t.is(normalizeUrl('https://www.example.com', 'data:text/html;base64,PGh0bWw+SGVsbG8sIHdvcmxkITwvaHRtbD4='), 'data:text/html;base64,PGh0bWw+SGVsbG8sIHdvcmxkITwvaHRtbD4=') - t.is(normalizeUrl('https://www.example.com', 'javascript:alert(\'Hello, world!\');'), undefined) + t.is( + normalizeUrl('https://www.example.com', 'https://www.example.com/foo'), + 'https://www.example.com/foo' + ) + t.is( + normalizeUrl('https://www.example.com', '/foo'), + 'https://www.example.com/foo' + ) + t.is( + normalizeUrl('https://www.example.com', 'file.html'), + 'https://www.example.com/file.html' + ) + t.is( + normalizeUrl( + 'https://www.example.com', + 'data:text/html;base64,PGh0bWw+SGVsbG8sIHdvcmxkITwvaHRtbD4=' + ), + 'data:text/html;base64,PGh0bWw+SGVsbG8sIHdvcmxkITwvaHRtbD4=' + ) + t.is( + normalizeUrl( + 'https://www.example.com', + "javascript:alert('Hello, world!');" + ), + undefined + ) t.is(normalizeUrl('https://www.example.com', 'javascript:void(0)'), undefined) }) @@ -277,10 +298,12 @@ test('.isImageExtension', t => { test('.description', t => { t.is( description( - 'Let me tell you the story of two investors, neither of whom knew each other, but whose paths crossed in an interesting way. Grace Groner was orphaned at age 12. She never married. She never had kids. She never drove a car. She lived most of her life alone in a one-bedroom house and worked her whole career as a secretary. She was, by all accounts, a lovely lady. But she lived a humble and quiet life. That made the $7 million she left to charity after her death in 2010 at age 100 all the more confusing. People who knew her asked: Where did Grace get all that money? But there was no secret. There was no inheritance. Grace took humble savings from a meager salary and enjoyed eighty years of hands-off compounding in the stock market. That was it. Weeks after Grace died, an unrelated investing story hit the news. Richard Fuscone, former vice chairman of Merrill Lynch’s Latin America division, declared personal bankruptcy, fighting off foreclosure on two homes, one of which was nearly 20,000 square feet and had a $66,000 a month mortgage. Fuscone was the opposite of Grace Groner; educated at Harvard and University of Chicago, he became so successful in the investment industry that he retired in his 40s to “pursue personal and charitable interests.” But heavy borrowing and illiquid investments did him in. The same year Grace Goner left a veritable fortune to charity, Richard stood before a bankruptcy judge and declared: “I have been devastated by the financial crisis … The only source of liquidity is whatever my wife is able to sell in terms of personal furnishings.” The purpose of these stories is not to say you should be like Grace and avoid being like Richard. It’s to point out that there is no other field where these stories are even possible. In what other field does someone with no education, no relevant experience, no resources, and no connections vastly outperform someone with the best education, the most relevant experiences, the best resources and the best connections? There will never be a story of a Grace Groner performing heart surgery better than a Harvard-trained cardiologist. Or building a faster chip than Apple’s engineers. Unthinkable. But these stories happen in investing. That’s because investing is not the study of finance. It’s the study of how people behave with money. And behavior is hard to teach, even to really smart people. You can’t sum up behavior with formulas to memorize or spreadsheet models to follow. Behavior is inborn, varies by person, is hard to measure, changes over time, and people are prone to deny its existence, especially when describing themselves. Grace and Richard show that managing money isn’t necessarily about what you know; it’s how you behave. But that’s not how finance is typically taught or discussed. The finance industry talks too much about what to do, and not enough about what happens in your head when you try to do it. This report describes 20 flaws, biases, and causes of bad behavior I’ve seen pop up often when people deal with money. 1. Earned success and deserved failure fallacy: A tendency to underestimate the role of luck and risk, and a failure to recognize that luck and risk are different sides of the same coin. I like to ask people, “What do you want to know about investing that we can’t know?” It’s not a practical question. So few people ask it. But it forces anyone you ask to think about what they intuitively think is true but don’t spend much time trying to answer because it’s futile. Years ago I asked economist Robert Shiller the question. He answered, “The exact role of luck in successful outcomes.” I love that, because no one thinks luck doesn’t play a role in financial success. But since it’s hard to quantify luck, and rude to suggest people’s success is owed to luck, the default stance is often to implicitly ignore luck as a factor. If I say, “There are a billion investors in the world. By sheer chance, would you expect 100 of them to become billionaires predominately off luck?” You would reply, “Of course.” But then if I ask you to name those investors – to their face – you will back down. That’s the problem. The same goes for failure. Did failed businesses not try hard enough? Were bad investments not thought through well enough?' + 'Let me tell you the story of two investors, neither of whom knew each other, but whose paths crossed in an interesting way. Grace Groner was orphaned at age 12. She never married. She never had kids. She never drove a car. She lived most of her life alone in a one-bedroom house and worked her whole career as a secretary. She was, by all accounts, a lovely lady. But she lived a humble and quiet life. That made the $7 million she left to charity after her death in 2010 at age 100 all the more confusing. People who knew her asked: Where did Grace get all that money? But there was no secret. There was no inheritance. Grace took humble savings from a meager salary and enjoyed eighty years of hands-off compounding in the stock market. That was it. Weeks after Grace died, an unrelated investing story hit the news. Richard Fuscone, former vice chairman of Merrill Lynch’s Latin America division, declared personal bankruptcy, fighting off foreclosure on two homes, one of which was nearly 20,000 square feet and had a $66,000 a month mortgage. Fuscone was the opposite of Grace Groner; educated at Harvard and University of Chicago, he became so successful in the investment industry that he retired in his 40s to “pursue personal and charitable interests.” But heavy borrowing and illiquid investments did him in. The same year Grace Goner left a veritable fortune to charity, Richard stood before a bankruptcy judge and declared: “I have been devastated by the financial crisis … The only source of liquidity is whatever my wife is able to sell in terms of personal furnishings.” The purpose of these stories is not to say you should be like Grace and avoid being like Richard. It’s to point out that there is no other field where these stories are even possible. In what other field does someone with no education, no relevant experience, no resources, and no connections vastly outperform someone with the best education, the most relevant experiences, the best resources and the best connections? There will never be a story of a Grace Groner performing heart surgery better than a Harvard-trained cardiologist. Or building a faster chip than Apple’s engineers. Unthinkable. But these stories happen in investing. That’s because investing is not the study of finance. It’s the study of how people behave with money. And behavior is hard to teach, even to really smart people. You can’t sum up behavior with formulas to memorize or spreadsheet models to follow. Behavior is inborn, varies by person, is hard to measure, changes over time, and people are prone to deny its existence, especially when describing themselves. Grace and Richard show that managing money isn’t necessarily about what you know; it’s how you behave. But that’s not how finance is typically taught or discussed. The finance industry talks too much about what to do, and not enough about what happens in your head when you try to do it. This report describes 20 flaws, biases, and causes of bad behavior I’ve seen pop up often when people deal with money. 1. Earned success and deserved failure fallacy: A tendency to underestimate the role of luck and risk, and a failure to recognize that luck and risk are different sides of the same coin. I like to ask people, “What do you want to know about investing that we can’t know?” It’s not a practical question. So few people ask it. But it forces anyone you ask to think about what they intuitively think is true but don’t spend much time trying to answer because it’s futile. Years ago I asked economist Robert Shiller the question. He answered, “The exact role of luck in successful outcomes.” I love that, because no one thinks luck doesn’t play a role in financial success. But since it’s hard to quantify luck, and rude to suggest people’s success is owed to luck, the default stance is often to implicitly ignore luck as a factor. If I say, “There are a billion investors in the world. By sheer chance, would you expect 100 of them to become billionaires predominately off luck?” You would reply, “Of course.” But then if I ask you to name those investors – to their face – you will back down. That’s the problem. The same goes for failure. Did failed businesses not try hard enough? Were bad investments not thought through well enough?', + { truncateLength: 300 } ), 'Let me tell you the story of two investors, neither of whom knew each other, but whose paths crossed in an interesting way. Grace Groner was orphaned at age 12. She never married. She never had kids. She never drove a car. She lived most of her life alone in a one-bedroom house and worked her whole…' ) + t.is( description( 'He talks about the ocean and his favorite animal the cowrie...' diff --git a/packages/metascraper-instagram/test/snapshots/index.js.md b/packages/metascraper-instagram/test/snapshots/index.js.md index 85aed20d1..e016790a7 100644 --- a/packages/metascraper-instagram/test/snapshots/index.js.md +++ b/packages/metascraper-instagram/test/snapshots/index.js.md @@ -28,7 +28,8 @@ Generated by [AVA](https://avajs.dev). { author: 'Willyrex', date: '2021-05-08T18:57:43.000Z', - description: '¿Listos? Nuevo #SORTEO en mi perfil 📱 Una vez más os traigo lo nuevo de OPPO, os presento el nuevo #OPPOFindX3Neo Su cámara es una auténtica locura, viene con Sensor IMX766 de 50 MP. Por la batería no os preocupéis, tiene carga SuperVOOC 2.0, 100% en 38 min. Además, tiene un diseño fino y ultrali…', + description: `¿Listos? Nuevo #SORTEO en mi perfil 📱 Una vez más os traigo lo nuevo de OPPO, os presento el nuevo #OPPOFindX3Neo Su cámara es una auténtica locura, viene con Sensor IMX766 de 50 MP. Por la batería no os preocupéis, tiene carga SuperVOOC 2.0, 100% en 38 min. Además, tiene un diseño fino y ultraligero 🏸 ¿Queréis uno como el mío? Participa ahora mismo: - Dale like a la publicación␊ + - Sigue a OPPO @oppomobilees ¡Mucha suerte amig@s!`, image: 'https://instagram.fpit1-1.fna.fbcdn.net/v/t51.2885-15/e35/p1080x1080/183037094_508540027000559_4927547535791161246_n.jpg?tp=1&_nc_ht=instagram.fpit1-1.fna.fbcdn.net&_nc_cat=111&_nc_ohc=3GrGLwIF7PoAX-qfrOc&edm=AABBvjUBAAAA&ccb=7-4&oh=8a1021ad544a2f1a4bf911b4c371af85&oe=60BC6710&_nc_sid=83d603', lang: 'fr', logo: 'https://www.instagram.com/static/images/ico/favicon-192.png/68d99ba29cc8.png', diff --git a/packages/metascraper-instagram/test/snapshots/index.js.snap b/packages/metascraper-instagram/test/snapshots/index.js.snap index ac534e5a1..eafdb0292 100644 Binary files a/packages/metascraper-instagram/test/snapshots/index.js.snap and b/packages/metascraper-instagram/test/snapshots/index.js.snap differ diff --git a/packages/metascraper-spotify/test/description.js b/packages/metascraper-spotify/test/description.js index 8d6bf641b..0fd098479 100644 --- a/packages/metascraper-spotify/test/description.js +++ b/packages/metascraper-spotify/test/description.js @@ -32,7 +32,7 @@ test('episode', async t => { t.is( metadata.description, - 'In this Hasty Treat, Scott and Wes talk about modules in Node — what are they, how they’re different from browser modules, and more! Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and…' + 'In this Hasty Treat, Scott and Wes talk about modules in Node — what are they, how they’re different from browser modules, and more! Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 3:06 - How were they done before? 5:11 - How do they work? 7:07 - How to use Modules in Node 9:57 - Gotchas 13:18 - What should you use? Links Node Node Modules Babel ESM Meteor Keystone MJS Tweet us your tasty treats! Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets' ) }) diff --git a/packages/metascraper-spotify/test/snapshots/index.js.md b/packages/metascraper-spotify/test/snapshots/index.js.md index 47a73451d..402df615c 100644 --- a/packages/metascraper-spotify/test/snapshots/index.js.md +++ b/packages/metascraper-spotify/test/snapshots/index.js.md @@ -316,7 +316,7 @@ Generated by [AVA](https://avajs.dev). audio: 'https://podz-content.spotifycdn.com/audio/clips/4dcJc7WFMTmEWo5LmivA54/clip_546000_597200.mp3', author: 'Syntax - Tasty Web Development Treats', date: '2020-01-06T14:00:00.000Z', - description: 'In this Hasty Treat, Scott and Wes talk about modules in Node — what are they, how they’re different from browser modules, and more! Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and…', + description: 'In this Hasty Treat, Scott and Wes talk about modules in Node — what are they, how they’re different from browser modules, and more! Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 3:06 - How were they done before? 5:11 - How do they work? 7:07 - How to use Modules in Node 9:57 - Gotchas 13:18 - What should you use? Links Node Node Modules Babel ESM Meteor Keystone MJS Tweet us your tasty treats! Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets', image: 'https://i.scdn.co/image/ab6765630000ba8ab84c022aff150c336f73b395', lang: 'en', publisher: 'Spotify', diff --git a/packages/metascraper-spotify/test/snapshots/index.js.snap b/packages/metascraper-spotify/test/snapshots/index.js.snap index 3d58d45e3..501079d67 100644 Binary files a/packages/metascraper-spotify/test/snapshots/index.js.snap and b/packages/metascraper-spotify/test/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/anandtech/snapshots/index.js.md b/packages/metascraper/test/integration/anandtech/snapshots/index.js.md index 2adb73967..04c1624ea 100644 --- a/packages/metascraper/test/integration/anandtech/snapshots/index.js.md +++ b/packages/metascraper/test/integration/anandtech/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: 'Anton Shilov', date: '2017-06-29T00:00:00.000Z', - description: 'This morning AMD is introducing their Ryzen PRO processors for business and commercial desktop PCs. The new lineup of CPUs includes the Ryzen 3 PRO, Ryzen 5 PRO and Ryzen 7 PRO families with four, six, or eight cores running at various frequencies. A superset to the standard Ryzen chips, the PRO chi…', + description: 'This morning AMD is introducing their Ryzen PRO processors for business and commercial desktop PCs. The new lineup of CPUs includes the Ryzen 3 PRO, Ryzen 5 PRO and Ryzen 7 PRO families with four, six, or eight cores running at various frequencies. A superset to the standard Ryzen chips, the PRO chips have the same feature set as other Ryzen devices, but also offer enhanced security, 24 months availability, a longer warranty and promise to feature better chip quality.', image: 'http://images.anandtech.com/doci/11591/amd_ryzen_pro_678_678x452.jpg', lang: null, logo: 'http://www.anandtech.com/content/images/rss_logo.png', diff --git a/packages/metascraper/test/integration/anandtech/snapshots/index.js.snap b/packages/metascraper/test/integration/anandtech/snapshots/index.js.snap index f697c623a..8f23dd048 100644 Binary files a/packages/metascraper/test/integration/anandtech/snapshots/index.js.snap and b/packages/metascraper/test/integration/anandtech/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/bukvy/snapshots/index.js.md b/packages/metascraper/test/integration/bukvy/snapshots/index.js.md index 3571c48c9..23525872c 100644 --- a/packages/metascraper/test/integration/bukvy/snapshots/index.js.md +++ b/packages/metascraper/test/integration/bukvy/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: 'Буквы', date: '2019-01-06T07:43:59.000Z', - description: 'Президент Петр Порошенко заявил, что государство будет уважать религиозный выбор и вероисповедание каждого гражданина страны. Об этом он заявил в обращении после торжественной церемонии вручения в Стамбуле Томоса об автокефалии Православной церкви Украины. “Я как Президент гарантирую от имени госуда…', + description: 'Президент Петр Порошенко заявил, что государство будет уважать религиозный выбор и вероисповедание каждого гражданина страны. Об этом он заявил в обращении после торжественной церемонии вручения в Стамбуле Томоса об автокефалии Православной церкви Украины. “Я как Президент гарантирую от имени государства, что Украина будет уважать религиозный выбор и свободу вероисповедания каждого гражданина”, – подчеркнул он. Петр […]', image: 'https://bykvu.com/ru/kd_image_generate/141935.jpg', lang: null, logo: 'https://bykvu.com/wp-content/themes/bykvu/img/android-icon-192x192.png', diff --git a/packages/metascraper/test/integration/bukvy/snapshots/index.js.snap b/packages/metascraper/test/integration/bukvy/snapshots/index.js.snap index 82e2b3b99..a6325e9f1 100644 Binary files a/packages/metascraper/test/integration/bukvy/snapshots/index.js.snap and b/packages/metascraper/test/integration/bukvy/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/health/snapshots/index.js.md b/packages/metascraper/test/integration/health/snapshots/index.js.md index 5cc2ccb28..9ee96dd78 100644 --- a/packages/metascraper/test/integration/health/snapshots/index.js.md +++ b/packages/metascraper/test/integration/health/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: null, date: '2011-04-07T12:00:00.000Z', - description: 'In December 2009 Cabinet agreed to strengthen the health sector’s focus on quality and safety by creating a Health Quality and Safety Commission. This regulatory impact statement considers what additional functions, powers, and funding mechanisms the Commission might need to achieve sustained qualit…', + description: 'In December 2009 Cabinet agreed to strengthen the health sector’s focus on quality and safety by creating a Health Quality and Safety Commission. This regulatory impact statement considers what additional functions, powers, and funding mechanisms the Commission might need to achieve sustained quality and safety improvement.', image: 'https://www.health.govt.nz/sites/all/themes/mohpub_bootstrap/images/mohlogo.svg', lang: 'en', logo: 'https://www.health.govt.nz/sites/all/themes/mohpub_bootstrap/favicon.ico', diff --git a/packages/metascraper/test/integration/health/snapshots/index.js.snap b/packages/metascraper/test/integration/health/snapshots/index.js.snap index 8c14977ec..e9dad8084 100644 Binary files a/packages/metascraper/test/integration/health/snapshots/index.js.snap and b/packages/metascraper/test/integration/health/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/qz/snapshots/index.js.md b/packages/metascraper/test/integration/qz/snapshots/index.js.md index c04abb22e..9113a4ff9 100644 --- a/packages/metascraper/test/integration/qz/snapshots/index.js.md +++ b/packages/metascraper/test/integration/qz/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: null, date: null, - description: 'As tech giants in the US transition from disruptor to incumbent, a new generation of companies around the world are challenging their dominance–and changing the startup playbook along the way. From China’s internet giants to startups in Nigeria to policy debates in the EU, the next big battles in te…', + description: 'As tech giants in the US transition from disruptor to incumbent, a new generation of companies around the world are challenging their dominance–and changing the startup playbook along the way. From China’s internet giants to startups in Nigeria to policy debates in the EU, the next big battles in tech are happening outside the Bay Area.', image: 'https://cms.qz.com/wp-content/uploads/2020/12/beyond-s.jpg?quality=75&strip=all&w=1200&h=630&crop=1', lang: 'en', logo: 'https://cms.qz.com/wp-content/uploads/2020/04/qz-icon.jpg?quality=75&strip=all&w=180&h=180&crop=1', diff --git a/packages/metascraper/test/integration/qz/snapshots/index.js.snap b/packages/metascraper/test/integration/qz/snapshots/index.js.snap index 682151aa7..6dfbfc623 100644 Binary files a/packages/metascraper/test/integration/qz/snapshots/index.js.snap and b/packages/metascraper/test/integration/qz/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.md b/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.md index 8f11d7f11..a0a703be9 100644 --- a/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.md +++ b/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: 'https://cdn.simplecast.com/audio/bdb43d4d-bd1d-4fbc-bd60-40f1e3299aa3/episodes/48e2fc0d-0af2-468c-9eaf-e6ba4d4f852e/audio/2f892c8b-ecc9-4905-ae9d-4283ffb1054e/default_tc.mp3', author: null, description: `Tom Preston-Werner is building a full-stack framework for React and GraphQL developers.␊ - In this episode we talk about RedwoodJS, a framework that’s bringing full-stack to Jamstack. Tom is a co-founder of GitHub, creator of Jekyll (the OG static site generator), TOML, and Semantic Versioning. If yo…`, + In this episode we talk about RedwoodJS, a framework that’s bringing full-stack to Jamstack. Tom is a co-founder of GitHub, creator of Jekyll (the OG static site generator), TOML, and Semantic Versioning. If you’ve been hunting for a full-stack React and GraphQL solution, and envy the integration of frameworks like Rails and Laravel, listen up, because RedwoodJS might just be for for you.`, image: null, lang: 'en', logo: 'https://image.simplecastcdn.com/images/7672009f-32a0-470f-81b8-77a9748d560e/82cc2a41-1a7b-4c91-b6f0-a461c50830ed/simplecast-logo-32.jpg', diff --git a/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.snap b/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.snap index 7455bc33f..a3b468caa 100644 Binary files a/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.snap and b/packages/metascraper/test/integration/reactpodcast/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.md b/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.md index e3943343f..2ce06baa0 100644 --- a/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.md +++ b/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: 'Carolyn Said', date: '2016-04-25T12:00:00.000Z', - description: '[...] it’s natural to think that San Francisco’s new Nasdaq Entrepreneurial Center, which sprawls over 13,000 square feet in a prime SoMa location, would cater exclusively to up-and-coming tech startups. [...] all kind of entrepreneurs, whether they’re launching a taco truck or the next Google, can…', + description: '[...] it’s natural to think that San Francisco’s new Nasdaq Entrepreneurial Center, which sprawls over 13,000 square feet in a prime SoMa location, would cater exclusively to up-and-coming tech startups. [...] all kind of entrepreneurs, whether they’re launching a taco truck or the next Google, can plug into the center for free classes, mentorship, media coaching, meeting space and other support. The nonprofit center, located near the future Transbay Transit Center, is backed by $10 million from the Nasdaq Educational Foundation, the stock exchange’s 22-year-old philanthropy arm. Outside 505 Howard St., a Times-Square-style electronic ticker scrolls promotions for events and logos of corporate sponsors. Inside, the expansive ground-floor space is divided into various functional areas: a state-of-the-art broadcast studio where budding Jack Dorseys or Marissa Mayers can learn how to handle on-camera interviews; classrooms that can accommodate dozens of people for hands-on trainings; a cafe and meeting space for collaborations; and a big lobby that serves double duty as space for pop-up shops to test products and ideas. The recent college grad knocked on the door, showed off his fledgling product-design studio’s first product, a wristwatch, and was invited to have a three-week pop-up store on site. “It was the absolute best way I could have launched my brand,” said Umaña, whose company, Classic Engineering, is now working on a sculpture-like lamp that turns on and off in response to whistling. There are deep dives into topics like company formation, business mechanics, understanding intellectual property and data security, among others. “Building buzz and excitement around your brand is really an art,” said Alexa Fleischman, CEO and co-founder of Savvy Society, which lets girls design and purchase custom 3-D-printed fashion accessories. [...] that venture funding is tighter, it will offer tips on how to weather this period with alternative financing strategies, for instance. The center hosted a two-day regional workshop for 1776’s Challenge Cup startup contest and helped it identify interesting entrepreneurs, mentors, coaches and local experts.', image: 'http://ww3.hdnux.com/photos/45/53/13/9876166/5/rawImage.jpg', lang: null, logo: 'http://www.sfchronicle.com/apple-touch-icon-144x144-precomposed.png', diff --git a/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.snap b/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.snap index f85b1bca2..173094e5b 100644 Binary files a/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.snap and b/packages/metascraper/test/integration/san-francisco-chronicle/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.md b/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.md index bedc617fc..9d9d5f00f 100644 --- a/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.md +++ b/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: null, date: '2016-05-26T12:00:00.000Z', - description: 'Cucumber Yogurt Raita Salad Think of this as cucumber raita with the proportions inverted -- a lot of cucumber, a smaller amount of yogurt dressing -- but it’s not overly technical, as there are ingredients here not common in raita. Notes: Feel free to play around with this salad; each seed option w…', + description: 'Cucumber Yogurt Raita Salad Think of this as cucumber raita with the proportions inverted -- a lot of cucumber, a smaller amount of yogurt dressing -- but it’s not overly technical, as there are ingredients here not common in raita. Notes: Feel free to play around with this salad; each seed option will provide a…', image: 'http://smittenkitchen.com/wp-content/uploads/cucumber-yogurt-raita-salad-300x200.jpg', lang: null, logo: 'http://smittenkitchen.com/uploads/favicon.ico', diff --git a/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.snap b/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.snap index d59f81308..b5c978ec4 100644 Binary files a/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.snap and b/packages/metascraper/test/integration/smitten-kitchen/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/substack/snapshots/index.js.md b/packages/metascraper/test/integration/substack/snapshots/index.js.md index 981893db7..a6d5a7e8a 100644 --- a/packages/metascraper/test/integration/substack/snapshots/index.js.md +++ b/packages/metascraper/test/integration/substack/snapshots/index.js.md @@ -11,7 +11,7 @@ Generated by [AVA](https://avajs.dev). { audio: null, author: 'Simon Sarris', - description: 'The world is a very malleable place. When I read biographies, early lives leap out the most. Leonardo da Vinci was a studio apprentice to Verrocchio at 14. Walt Disney took on a number of jobs, chiefly delivering papers, from 11 years old. Vladimir Nabokov published his first book (a collection of p…', + description: 'The world is a very malleable place. When I read biographies, early lives leap out the most. Leonardo da Vinci was a studio apprentice to Verrocchio at 14. Walt Disney took on a number of jobs, chiefly delivering papers, from 11 years old. Vladimir Nabokov published his first book (a collection of poems) at 16, while still in school. Andrew Carnegie', image: 'https://cdn.substack.com/image/fetch/w_1200,c_limit,f_jpg,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef3bd0df-b9fa-4358-afee-116c23f4c55f_2560x1902.jpeg', lang: null, logo: 'https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1115e358-65d9-4f1c-872a-f1ea44965132/apple-touch-icon-1024x1024.png', diff --git a/packages/metascraper/test/integration/substack/snapshots/index.js.snap b/packages/metascraper/test/integration/substack/snapshots/index.js.snap index 8adb9807f..ec2c01bef 100644 Binary files a/packages/metascraper/test/integration/substack/snapshots/index.js.snap and b/packages/metascraper/test/integration/substack/snapshots/index.js.snap differ diff --git a/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.md b/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.md index d05e8ffee..05fff416e 100644 --- a/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.md +++ b/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.md @@ -12,7 +12,7 @@ Generated by [AVA](https://avajs.dev). audio: null, author: 'Mike Isaac', date: '2016-05-03T18:58:00.000Z', - description: 'Ellen Pao spent the last few years spotlighting the technology industry’s lack of diversity, in court and beyond. Erica Baker caused a stir at Google when she started a spreadsheet last year for employees to share their salaries, highlighting the pay disparities between those of diff…', + description: 'Ellen Pao spent the last few years spotlighting the technology industry’s lack of diversity, in court and beyond. Erica Baker caused a stir at Google when she started a spreadsheet last year for employees to share their salaries, highlighting the pay disparities between those of different genders doing the same job.', image: 'http://c.o0bg.com/rf/image_585w/Boston/2011-2020/2016/05/04/BostonGlobe.com/Business/Images/TECH_WOMEN_INCLUSION-6183.JPG', lang: 'en', logo: 'https://c.o0bg.com/rw/SysConfig/WebPortal/BostonGlobe/Framework/images/bookmark-114.png', diff --git a/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.snap b/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.snap index 0f169f51a..903b1ae1c 100644 Binary files a/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.snap and b/packages/metascraper/test/integration/the-boston-globe/snapshots/index.js.snap differ