[{"type_of":"article","id":4313124,"title":"How to Build a Visual PDF Page Organizer with Vue 3 and pdf-lib","description":"Most PDF tools handle one operation at a time: merge, split, rotate, delete. But real document...","readable_publish_date":"Aug 4","slug":"how-to-build-a-visual-pdf-page-organizer-with-vue-3-and-pdf-lib-3dfh","path":"/sunshey/how-to-build-a-visual-pdf-page-organizer-with-vue-3-and-pdf-lib-3dfh","url":"https://dev.to/sunshey/how-to-build-a-visual-pdf-page-organizer-with-vue-3-and-pdf-lib-3dfh","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-08-04T12:51:22Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu4151jygl034n914b693.png","canonical_url":"https://dev.to/sunshey/how-to-build-a-visual-pdf-page-organizer-with-vue-3-and-pdf-lib-3dfh","created_at":"2026-08-04T12:51:22Z","edited_at":null,"crossposted_at":null,"published_at":"2026-08-04T12:51:22Z","last_comment_at":"2026-08-04T12:51:22Z","reading_time_minutes":4,"tag_list":["webdev","pdf","javascript","vue"],"tags":"webdev, pdf, javascript, vue","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4280429,"title":"How to Remove Clickable Links from PDFs in the Browser with Vue 3 and pdf-lib","description":"PDF hyperlinks are convenient — until they become a liability. Public archives don't want broken...","readable_publish_date":"Jul 31","slug":"how-to-remove-clickable-links-from-pdfs-in-the-browser-with-vue-3-and-pdf-lib-93e","path":"/sunshey/how-to-remove-clickable-links-from-pdfs-in-the-browser-with-vue-3-and-pdf-lib-93e","url":"https://dev.to/sunshey/how-to-remove-clickable-links-from-pdfs-in-the-browser-with-vue-3-and-pdf-lib-93e","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-31T11:26:41Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0lw6rgi3o3lxrek0xxw6.png","canonical_url":"https://dev.to/sunshey/how-to-remove-clickable-links-from-pdfs-in-the-browser-with-vue-3-and-pdf-lib-93e","created_at":"2026-07-31T11:26:41Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-31T11:26:41Z","last_comment_at":"2026-07-31T11:26:41Z","reading_time_minutes":4,"tag_list":["webdev","pdf","javascript","vue"],"tags":"webdev, pdf, javascript, vue","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4270903,"title":"Why we removed Google sign-in from our web app to support a browser extension","description":"MyPrompt is a prompt manager: a web dashboard where you write and organize prompts, and a browser...","readable_publish_date":"Jul 30","slug":"why-we-removed-google-sign-in-from-our-web-app-to-support-a-browser-extension-3e15","path":"/tommaso_musetti/why-we-removed-google-sign-in-from-our-web-app-to-support-a-browser-extension-3e15","url":"https://dev.to/tommaso_musetti/why-we-removed-google-sign-in-from-our-web-app-to-support-a-browser-extension-3e15","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-30T10:22:20Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5fq0jwhmvq3vbx691rj0.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5fq0jwhmvq3vbx691rj0.png","canonical_url":"https://dev.to/tommaso_musetti/why-we-removed-google-sign-in-from-our-web-app-to-support-a-browser-extension-3e15","created_at":"2026-07-30T10:22:20Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-30T10:22:20Z","last_comment_at":"2026-07-30T10:22:20Z","reading_time_minutes":6,"tag_list":["webdev","firebase","vue","ai"],"tags":"webdev, firebase, vue, ai","user":{"name":"Tommaso Musetti","username":"tommaso_musetti","twitter_username":null,"github_username":null,"user_id":4054800,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4054800%2Fda231ecb-e982-40aa-88fd-c924a5d78cde.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4054800%2Fda231ecb-e982-40aa-88fd-c924a5d78cde.png"}},{"type_of":"article","id":4316853,"title":"How to Monitor Your Nuxt.js Application with Vigilmon (SSR, API Routes, and Edge)","description":"Nuxt.js applications are complex beasts. You have server-side rendering, API routes, Nitro server...","readable_publish_date":"Aug 5","slug":"how-to-monitor-your-nuxtjs-application-with-vigilmon-ssr-api-routes-and-edge-j3f","path":"/vigilmon/how-to-monitor-your-nuxtjs-application-with-vigilmon-ssr-api-routes-and-edge-j3f","url":"https://dev.to/vigilmon/how-to-monitor-your-nuxtjs-application-with-vigilmon-ssr-api-routes-and-edge-j3f","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-08-05T01:35:14Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1harmk1kx30hn1o2tvk6.png","canonical_url":"https://dev.to/vigilmon/how-to-monitor-your-nuxtjs-application-with-vigilmon-ssr-api-routes-and-edge-j3f","created_at":"2026-08-05T01:35:15Z","edited_at":null,"crossposted_at":null,"published_at":"2026-08-05T01:35:14Z","last_comment_at":"2026-08-05T01:35:14Z","reading_time_minutes":2,"tag_list":["nuxt","monitoring","vue","uptime"],"tags":"nuxt, monitoring, vue, uptime","user":{"name":"Vigilmon","username":"vigilmon","twitter_username":null,"github_username":null,"user_id":3994004,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994004%2F5bbb781a-0339-47ba-a104-c3867a33ea60.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994004%2F5bbb781a-0339-47ba-a104-c3867a33ea60.png"}},{"type_of":"article","id":4314462,"title":"How to Monitor Your Nuxt.js Application with Vigilmon","description":"Nuxt.js is Vue's answer to Next.js — a powerful full-stack framework that supports SSR, SSG, and...","readable_publish_date":"Aug 4","slug":"how-to-monitor-your-nuxtjs-application-with-vigilmon-2gfb","path":"/vigilmon/how-to-monitor-your-nuxtjs-application-with-vigilmon-2gfb","url":"https://dev.to/vigilmon/how-to-monitor-your-nuxtjs-application-with-vigilmon-2gfb","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-08-04T16:48:36Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnhngi98pev256xq2wev4.png","canonical_url":"https://dev.to/vigilmon/how-to-monitor-your-nuxtjs-application-with-vigilmon-2gfb","created_at":"2026-08-04T16:48:36Z","edited_at":null,"crossposted_at":null,"published_at":"2026-08-04T16:48:36Z","last_comment_at":"2026-08-04T16:48:36Z","reading_time_minutes":3,"tag_list":["nuxt","vue","monitoring","webdev"],"tags":"nuxt, vue, monitoring, webdev","user":{"name":"Vigilmon","username":"vigilmon","twitter_username":null,"github_username":null,"user_id":3994004,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994004%2F5bbb781a-0339-47ba-a104-c3867a33ea60.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994004%2F5bbb781a-0339-47ba-a104-c3867a33ea60.png"}},{"type_of":"article","id":4305908,"title":"How to Monitor Your Nuxt 3 Application with Vigilmon","description":"How to Monitor Your Nuxt 3 Application with Vigilmon   Nuxt 3 is a powerful full-stack...","readable_publish_date":"Aug 3","slug":"how-to-monitor-your-nuxt-3-application-with-vigilmon-8e4","path":"/vigilmon/how-to-monitor-your-nuxt-3-application-with-vigilmon-8e4","url":"https://dev.to/vigilmon/how-to-monitor-your-nuxt-3-application-with-vigilmon-8e4","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-08-03T21:17:50Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fh86pw7jctxhx9n9on5.png","canonical_url":"https://dev.to/vigilmon/how-to-monitor-your-nuxt-3-application-with-vigilmon-8e4","created_at":"2026-08-03T21:17:50Z","edited_at":null,"crossposted_at":null,"published_at":"2026-08-03T21:17:50Z","last_comment_at":"2026-08-03T21:17:50Z","reading_time_minutes":4,"tag_list":["nuxt","vue","monitoring","webdev"],"tags":"nuxt, vue, monitoring, webdev","user":{"name":"Vigilmon","username":"vigilmon","twitter_username":null,"github_username":null,"user_id":3994004,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994004%2F5bbb781a-0339-47ba-a104-c3867a33ea60.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994004%2F5bbb781a-0339-47ba-a104-c3867a33ea60.png"}},{"type_of":"article","id":4302866,"title":"How to Remove PDF Annotations in the Browser with Vue 3 and pdf-lib","description":"After a week of collaborative review, your 50-page PDF is covered in highlights, sticky notes,...","readable_publish_date":"Aug 3","slug":"how-to-remove-pdf-annotations-in-the-browser-with-vue-3-and-pdf-lib-1kkl","path":"/sunshey/how-to-remove-pdf-annotations-in-the-browser-with-vue-3-and-pdf-lib-1kkl","url":"https://dev.to/sunshey/how-to-remove-pdf-annotations-in-the-browser-with-vue-3-and-pdf-lib-1kkl","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-08-03T12:54:13Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fswghtpcqfrns8yfzs2s1.png","canonical_url":"https://dev.to/sunshey/how-to-remove-pdf-annotations-in-the-browser-with-vue-3-and-pdf-lib-1kkl","created_at":"2026-08-03T12:54:13Z","edited_at":null,"crossposted_at":null,"published_at":"2026-08-03T12:54:13Z","last_comment_at":"2026-08-03T12:54:13Z","reading_time_minutes":4,"tag_list":["webdev","pdf","javascript","vue"],"tags":"webdev, pdf, javascript, vue","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4245244,"title":"Circumnavigating the pitfalls of medical data","description":"US hospitals publish their prices.   That data has been known hostile territory for years.  Prices...","readable_publish_date":"Jul 27","slug":"circumnavigating-the-pitfalls-of-medical-data-1onp","path":"/george_larson_3cc4a57b08b/circumnavigating-the-pitfalls-of-medical-data-1onp","url":"https://dev.to/george_larson_3cc4a57b08b/circumnavigating-the-pitfalls-of-medical-data-1onp","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-27T12:43:22Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzodtiox1zhedzsyfgb4d.webp","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzodtiox1zhedzsyfgb4d.webp","canonical_url":"https://dev.to/george_larson_3cc4a57b08b/circumnavigating-the-pitfalls-of-medical-data-1onp","created_at":"2026-07-27T12:42:53Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-27T12:43:22Z","last_comment_at":"2026-07-27T12:43:22Z","reading_time_minutes":4,"tag_list":["healthcare","data","go","vue"],"tags":"healthcare, data, go, vue","user":{"name":"George Larson","username":"george_larson_3cc4a57b08b","twitter_username":null,"github_username":"georgeglarson","user_id":2194433,"website_url":"https://georgelarson.me","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2194433%2F5a531220-012f-4369-8a1e-d8540450a2b5.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2194433%2F5a531220-012f-4369-8a1e-d8540450a2b5.jpg"}},{"type_of":"article","id":4239992,"title":"Turning 125 AI Tools into a Practical Open Source Handbook","description":"Turning 125 AI Tools into a Practical Open Source Handbook   AI tool lists are easy to start...","readable_publish_date":"Jul 27","slug":"turning-125-ai-tools-into-a-practical-open-source-handbook-2f96","path":"/kevinten10/turning-125-ai-tools-into-a-practical-open-source-handbook-2f96","url":"https://dev.to/kevinten10/turning-125-ai-tools-into-a-practical-open-source-handbook-2f96","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-07-27T02:10:13Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs395lese265m699qp9wr.png","canonical_url":"https://dev.to/kevinten10/turning-125-ai-tools-into-a-practical-open-source-handbook-2f96","created_at":"2026-07-27T02:10:13Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-27T02:10:13Z","last_comment_at":"2026-07-27T02:10:13Z","reading_time_minutes":2,"tag_list":["ai","opensource","webdev","vue"],"tags":"ai, opensource, webdev, vue","user":{"name":"KevinTen","username":"kevinten10","twitter_username":null,"github_username":"kevinten10","user_id":3834064,"website_url":"https://github.com/kevinten10","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3834064%2Fe66ac660-2133-4f24-92cf-35674e6d1f61.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3834064%2Fe66ac660-2133-4f24-92cf-35674e6d1f61.jpeg"}},{"type_of":"article","id":4264812,"title":"Laravel Sanctum with Nuxt SSR: why the session disappears on the server","description":"Sanctum cookie auth works in the browser and returns 401 during server rendering. Why Nitro has no cookie jar, what to forward, and the full working configuration.","readable_publish_date":"Jul 29","slug":"laravel-sanctum-with-nuxt-ssr-why-the-session-disappears-on-the-server-4eno","path":"/nuxavel/laravel-sanctum-with-nuxt-ssr-why-the-session-disappears-on-the-server-4eno","url":"https://dev.to/nuxavel/laravel-sanctum-with-nuxt-ssr-why-the-session-disappears-on-the-server-4eno","comments_count":2,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-29T17:21:55Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fnuxavel.com%2Fcovers%2Fsanctum-nuxt-ssr.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fnuxavel.com%2Fcovers%2Fsanctum-nuxt-ssr.png","canonical_url":"https://nuxavel.com/guides/laravel-sanctum-nuxt-ssr","created_at":"2026-07-29T17:20:52Z","edited_at":"2026-07-30T10:43:23Z","crossposted_at":null,"published_at":"2026-07-29T17:21:55Z","last_comment_at":"2026-07-30T10:44:08Z","reading_time_minutes":5,"tag_list":["laravel","nuxt","vue","php"],"tags":"laravel, nuxt, vue, php","user":{"name":"Nuxavel","username":"nuxavel","twitter_username":null,"github_username":null,"user_id":4053610,"website_url":"https://nuxavel.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4053610%2F948e2abd-0796-4948-817d-9e60e7a3bbd5.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4053610%2F948e2abd-0796-4948-817d-9e60e7a3bbd5.jpeg"}},{"type_of":"article","id":4230318,"title":"How I Made My First Contribution at Frappe","description":"Contributing to open source has always been a goal of mine, but finding the right starting point was...","readable_publish_date":"Jul 25","slug":"how-i-made-my-first-contribution-at-frappe-3pip","path":"/osafalisayed/how-i-made-my-first-contribution-at-frappe-3pip","url":"https://dev.to/osafalisayed/how-i-made-my-first-contribution-at-frappe-3pip","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-25T10:27:12Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fwww.osafalisayed.com%2Fuploads%2Ffrappe-open-source-contribution.webp","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fwww.osafalisayed.com%2Fuploads%2Ffrappe-open-source-contribution.webp","canonical_url":"https://www.osafalisayed.com/blog/how-i-made-my-first-contribution-frappe/","created_at":"2026-07-25T10:27:12Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-25T10:27:12Z","last_comment_at":"2026-07-25T10:27:12Z","reading_time_minutes":2,"tag_list":["vue","python","frappe","lms"],"tags":"vue, python, frappe, lms","user":{"name":"Osaf Ali Sayed","username":"osafalisayed","twitter_username":null,"github_username":"OsafAliSayed","user_id":3725930,"website_url":"https://www.osafalisayed.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3725930%2F6d91d90e-58e8-4494-bbc4-48d75e649e7e.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3725930%2F6d91d90e-58e8-4494-bbc4-48d75e649e7e.jpeg"}},{"type_of":"article","id":4221776,"title":"I Uninstalled Vue DevTools. My Tests Became the Better Debugger.","description":"I stopped relying on Vue and React browser extensions for everyday debugging. AI-assisted tests now give me something state inspectors cannot: repeatable proof that survives the debugging session.","readable_publish_date":"Jul 24","slug":"i-uninstalled-vue-devtools-my-tests-became-the-better-debugger-2hi0","path":"/jenueldev/i-uninstalled-vue-devtools-my-tests-became-the-better-debugger-2hi0","url":"https://dev.to/jenueldev/i-uninstalled-vue-devtools-my-tests-became-the-better-debugger-2hi0","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-24T08:18:23Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flug0ygrqy10tnt60pz3t.png","canonical_url":"https://blog.jenuel.dev/blog/i-uninstalled-vue-devtools-tests-became-better-debugger","created_at":"2026-07-24T08:18:23Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-24T08:18:23Z","last_comment_at":"2026-07-24T08:18:23Z","reading_time_minutes":8,"tag_list":["ai","webdev","testing","vue"],"tags":"ai, webdev, testing, vue","user":{"name":"Jenuel Oras Ganawed","username":"jenueldev","twitter_username":"broJenuel","github_username":"JenuelDev","user_id":298966,"website_url":"https://jenuel.dev","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F298966%2Fa0b07775-fff3-4c12-b48b-20ed22d5165a.webp","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F298966%2Fa0b07775-fff3-4c12-b48b-20ed22d5165a.webp"}},{"type_of":"article","id":4215311,"title":"How to Add Watermarks to PDFs in the Browser with Vue 3 and pdf-lib","description":"Watermarking a PDF — adding semi-transparent text over pages — sounds like something only desktop...","readable_publish_date":"Jul 23","slug":"how-to-add-watermarks-to-pdfs-in-the-browser-with-vue-3-and-pdf-lib-3k4n","path":"/sunshey/how-to-add-watermarks-to-pdfs-in-the-browser-with-vue-3-and-pdf-lib-3k4n","url":"https://dev.to/sunshey/how-to-add-watermarks-to-pdfs-in-the-browser-with-vue-3-and-pdf-lib-3k4n","comments_count":1,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-07-23T12:40:32Z","language":"en","subforem_id":1,"positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fau6wlgkaq5kxy1og9cpk.png","canonical_url":"https://dev.to/sunshey/how-to-add-watermarks-to-pdfs-in-the-browser-with-vue-3-and-pdf-lib-3k4n","created_at":"2026-07-23T12:40:32Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-23T12:40:32Z","last_comment_at":"2026-07-23T12:52:21Z","reading_time_minutes":3,"tag_list":["vue","pdf","javascript","webdev"],"tags":"vue, pdf, javascript, webdev","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4216585,"title":"Vue 3 Rich Text Editor: A Modern, Dependency-Free Editor Built with TypeScript","description":"Rich text editing is one of the most common requirements in modern web applications. Whether you're...","readable_publish_date":"Jul 23","slug":"vue-3-rich-text-editor-a-modern-dependency-free-editor-built-with-typescript-1ck8","path":"/eramitgupta/vue-3-rich-text-editor-a-modern-dependency-free-editor-built-with-typescript-1ck8","url":"https://dev.to/eramitgupta/vue-3-rich-text-editor-a-modern-dependency-free-editor-built-with-typescript-1ck8","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-23T16:22:45Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3dpvka7o9x4qk4ghi5eh.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3dpvka7o9x4qk4ghi5eh.png","canonical_url":"https://dev.to/eramitgupta/vue-3-rich-text-editor-a-modern-dependency-free-editor-built-with-typescript-1ck8","created_at":"2026-07-23T16:22:46Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-23T16:22:45Z","last_comment_at":"2026-07-23T16:22:45Z","reading_time_minutes":3,"tag_list":["vue","typescript","opensource"],"tags":"vue, typescript, opensource","user":{"name":"Er Amit Gupta","username":"eramitgupta","twitter_username":null,"github_username":"eramitgupta","user_id":2070143,"website_url":"https://github.com/eramitgupta","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2070143%2F38881497-55d8-48e9-a6f2-b4c2d4d7c1e6.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2070143%2F38881497-55d8-48e9-a6f2-b4c2d4d7c1e6.jpeg"}},{"type_of":"article","id":4206680,"title":"How I Built a Blank Page Detector for PDFs with Vue 3 and Canvas","description":"Removing blank pages from a PDF sounds trivial — until you realize that \"blank\" can mean many things....","readable_publish_date":"Jul 22","slug":"how-i-built-a-blank-page-detector-for-pdfs-with-vue-3-and-canvas-23m4","path":"/sunshey/how-i-built-a-blank-page-detector-for-pdfs-with-vue-3-and-canvas-23m4","url":"https://dev.to/sunshey/how-i-built-a-blank-page-detector-for-pdfs-with-vue-3-and-canvas-23m4","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-07-22T13:30:56Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fia44tiqh6abf9gjx5bwb.png","canonical_url":"https://dev.to/sunshey/how-i-built-a-blank-page-detector-for-pdfs-with-vue-3-and-canvas-23m4","created_at":"2026-07-22T13:30:56Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-22T13:30:56Z","last_comment_at":"2026-07-22T13:30:56Z","reading_time_minutes":4,"tag_list":["vue","pdf","javascript","webdev"],"tags":"vue, pdf, javascript, webdev","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4278401,"title":"How to Add PDF Annotations in Vue.js: PDF.js, vue-pdf-embed, @tato30/vue-pdf, and Vue PDF Viewer (2026)","description":"Vue PDF Viewer didn't start as an annotation tool. It started as a viewer. Render a PDF, give it a...","readable_publish_date":"Aug 4","slug":"how-to-add-pdf-annotations-in-vuejs-pdfjs-vue-pdf-embed-tato30vue-pdf-and-vue-pdf-viewer-5b40","path":"/9haroon/how-to-add-pdf-annotations-in-vuejs-pdfjs-vue-pdf-embed-tato30vue-pdf-and-vue-pdf-viewer-5b40","url":"https://dev.to/9haroon/how-to-add-pdf-annotations-in-vuejs-pdfjs-vue-pdf-embed-tato30vue-pdf-and-vue-pdf-viewer-5b40","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-08-04T00:00:00Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcpj76hkf3mct48d3zim.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcpj76hkf3mct48d3zim.png","canonical_url":"https://www.vue-pdf-viewer.dev/blog/how-to-add-pdf-annotations-vue-js-2026/","created_at":"2026-07-31T07:30:34Z","edited_at":"2026-08-05T02:57:20Z","crossposted_at":null,"published_at":"2026-08-04T00:00:00Z","last_comment_at":"2026-08-04T00:00:00Z","reading_time_minutes":14,"tag_list":["pdf","javascript","vuepdf","vue"],"tags":"pdf, javascript, vuepdf, vue","user":{"name":"Kittisak Ma","username":"9haroon","twitter_username":"9haroon_dev","github_username":"9haroon","user_id":1121960,"website_url":"https://github.com/9haroon","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1121960%2F1c75ba41-ef71-4ad3-8051-79c2a55058e0.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1121960%2F1c75ba41-ef71-4ad3-8051-79c2a55058e0.jpeg"}},{"type_of":"article","id":4197481,"title":"How to Crop PDF Pages in the Browser with Vue 3 and pdf-lib","description":"Cropping PDF pages sounds like a server-side operation, but with pdf-lib and a \u0026lt;canvas\u0026gt;...","readable_publish_date":"Jul 21","slug":"how-to-crop-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-5d75","path":"/sunshey/how-to-crop-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-5d75","url":"https://dev.to/sunshey/how-to-crop-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-5d75","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-07-21T13:15:53Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2scc4nhb88jfk6zkdst7.png","canonical_url":"https://dev.to/sunshey/how-to-crop-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-5d75","created_at":"2026-07-21T13:15:53Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-21T13:15:53Z","last_comment_at":"2026-07-21T13:15:53Z","reading_time_minutes":3,"tag_list":["vue","pdf","javascript","webdev"],"tags":"vue, pdf, javascript, webdev","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4234457,"title":"ZWPlayer: A Free HTML5 Video Player with AI Subtitles, Interactive Annotations, and Vue 2/3 Support","description":"If you've ever tried to add a serious video player to a web project — one that handles streaming...","readable_publish_date":"Jul 26","slug":"zwplayer-a-free-html5-video-player-with-ai-subtitles-interactive-annotations-and-vue-23-support-4hi7","path":"/chenfanyu/zwplayer-a-free-html5-video-player-with-ai-subtitles-interactive-annotations-and-vue-23-support-4hi7","url":"https://dev.to/chenfanyu/zwplayer-a-free-html5-video-player-with-ai-subtitles-interactive-annotations-and-vue-23-support-4hi7","comments_count":0,"public_reactions_count":8,"collection_id":null,"published_timestamp":"2026-07-26T03:06:05Z","language":"en","subforem_id":1,"positive_reactions_count":8,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fczmj2fkpqjs7ajexyf8z.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fczmj2fkpqjs7ajexyf8z.jpg","canonical_url":"https://dev.to/chenfanyu/zwplayer-a-free-html5-video-player-with-ai-subtitles-interactive-annotations-and-vue-23-support-4hi7","created_at":"2026-07-26T02:56:45Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-26T03:06:05Z","last_comment_at":"2026-07-26T03:06:05Z","reading_time_minutes":7,"tag_list":["javascript","vue","webdev","video"],"tags":"javascript, vue, webdev, video","user":{"name":"chenfanyu","username":"chenfanyu","twitter_username":null,"github_username":null,"user_id":4047444,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4047444%2F070c35c0-c604-452d-be57-db45e65aaadc.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4047444%2F070c35c0-c604-452d-be57-db45e65aaadc.jpg"}},{"type_of":"article","id":4249832,"title":"An Open-Source Gantt Component","description":"Try this:  https://gantt.jordium.com","readable_publish_date":"Jul 28","slug":"an-open-source-gantt-component-35hc","path":"/nelson_li_c5265341756c7ab/an-open-source-gantt-component-35hc","url":"https://dev.to/nelson_li_c5265341756c7ab/an-open-source-gantt-component-35hc","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-28T04:00:28Z","language":"lb","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwxx2yqmfmnmc6h2xc67v.png","canonical_url":"https://dev.to/nelson_li_c5265341756c7ab/an-open-source-gantt-component-35hc","created_at":"2026-07-28T04:00:28Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-28T04:00:28Z","last_comment_at":"2026-07-28T04:00:28Z","reading_time_minutes":1,"tag_list":["vue","productivity","opensource","webcomponents"],"tags":"vue, productivity, opensource, webcomponents","user":{"name":"Nelson Li","username":"nelson_li_c5265341756c7ab","twitter_username":"NelsonLi251172","github_username":"nelson820125","user_id":3593659,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3593659%2F9bbfa2d4-19a4-4eb6-9a69-77677cc31f1d.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3593659%2F9bbfa2d4-19a4-4eb6-9a69-77677cc31f1d.png"}},{"type_of":"article","id":4250380,"title":"React vs Angular vs Vue: Which Should You Learn?","description":"If you're planning a career in web development, you've probably come across three of the most...","readable_publish_date":"Jul 28","slug":"react-vs-angular-vs-vue-which-should-you-learn-39j6","path":"/subha_74/react-vs-angular-vs-vue-which-should-you-learn-39j6","url":"https://dev.to/subha_74/react-vs-angular-vs-vue-which-should-you-learn-39j6","comments_count":0,"public_reactions_count":5,"collection_id":null,"published_timestamp":"2026-07-28T05:25:25Z","language":"en","subforem_id":1,"positive_reactions_count":5,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F67etfr2joy599hq71nfu.png","canonical_url":"https://dev.to/subha_74/react-vs-angular-vs-vue-which-should-you-learn-39j6","created_at":"2026-07-28T05:25:25Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-28T05:25:25Z","last_comment_at":"2026-07-28T05:25:25Z","reading_time_minutes":4,"tag_list":["webdev","react","angular","vue"],"tags":"webdev, react, angular, vue","user":{"name":"Subhalaxmi Paikaray","username":"subha_74","twitter_username":null,"github_username":null,"user_id":4003681,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4003681%2F1af225ed-ec21-436c-9aea-18c520f57f5c.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4003681%2F1af225ed-ec21-436c-9aea-18c520f57f5c.png"}},{"type_of":"article","id":4182428,"title":"I built a site with 150+ browser-only dev tools (Astro + Vue 3 + TypeScript) — here's how it's put together","description":"What this is   Torinoa Tools is a side project I've been building solo: 152 developer...","readable_publish_date":"Jul 20","slug":"i-built-a-site-with-150-browser-only-dev-tools-astro-vue-3-typescript-heres-how-its-put-2blp","path":"/mi8bi/i-built-a-site-with-150-browser-only-dev-tools-astro-vue-3-typescript-heres-how-its-put-2blp","url":"https://dev.to/mi8bi/i-built-a-site-with-150-browser-only-dev-tools-astro-vue-3-typescript-heres-how-its-put-2blp","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-20T00:00:00Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxc8kgu04uji27oce5lrv.png","canonical_url":"https://dev.to/mi8bi/i-built-a-site-with-150-browser-only-dev-tools-astro-vue-3-typescript-heres-how-its-put-2blp","created_at":"2026-07-20T00:00:00Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-20T00:00:00Z","last_comment_at":"2026-07-20T00:00:00Z","reading_time_minutes":5,"tag_list":["astro","vue","typescript","webdev"],"tags":"astro, vue, typescript, webdev","user":{"name":"mi8bi","username":"mi8bi","twitter_username":null,"github_username":"mi8bi","user_id":4036594,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4036594%2Fe26faec6-c3a7-49f9-8652-cc866d9850d0.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4036594%2Fe26faec6-c3a7-49f9-8652-cc866d9850d0.jpg"}},{"type_of":"article","id":4185371,"title":"Why streaming AI chat needs a renderer for incomplete Markdown","description":"When an AI answer arrives token by token, it spends most of its life as an incomplete Markdown...","readable_publish_date":"Jul 20","slug":"why-streaming-ai-chat-needs-a-renderer-for-incomplete-markdown-4754","path":"/simonhe95/why-streaming-ai-chat-needs-a-renderer-for-incomplete-markdown-4754","url":"https://dev.to/simonhe95/why-streaming-ai-chat-needs-a-renderer-for-incomplete-markdown-4754","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-20T07:56:55Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5mccis2u7orl00ra0j5i.png","canonical_url":"https://dev.to/simonhe95/why-streaming-ai-chat-needs-a-renderer-for-incomplete-markdown-4754","created_at":"2026-07-20T07:56:55Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-20T07:56:55Z","last_comment_at":"2026-07-20T07:56:55Z","reading_time_minutes":1,"tag_list":["ai","vue","react","svelte"],"tags":"ai, vue, react, svelte","user":{"name":"Simon He","username":"simonhe95","twitter_username":null,"github_username":"Simon-He95","user_id":4036641,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4036641%2F01ac01be-f923-4ce0-a357-9dcbc72170d1.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4036641%2F01ac01be-f923-4ce0-a357-9dcbc72170d1.png"}},{"type_of":"article","id":4187935,"title":"How to Convert PDF to Word with Vue 3 and pdfjs-dist","description":"Extracting text from a PDF and saving it as a .docx file sounds simple. It is not. PDFs were designed...","readable_publish_date":"Jul 20","slug":"how-to-convert-pdf-to-word-with-vue-3-and-pdfjs-dist-512f","path":"/sunshey/how-to-convert-pdf-to-word-with-vue-3-and-pdfjs-dist-512f","url":"https://dev.to/sunshey/how-to-convert-pdf-to-word-with-vue-3-and-pdfjs-dist-512f","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-20T12:29:30Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7xr8l4nbtuaopv5ml6uw.png","canonical_url":"https://dev.to/sunshey/how-to-convert-pdf-to-word-with-vue-3-and-pdfjs-dist-512f","created_at":"2026-07-20T12:29:30Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-20T12:29:30Z","last_comment_at":"2026-07-20T12:29:30Z","reading_time_minutes":3,"tag_list":["vue","pdf","javascript","webdev"],"tags":"vue, pdf, javascript, webdev","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4222055,"title":"A CSV Viewer That Never Uploads Your Data","description":"I just wanted to open a CSV file quickly.  Instead, I got:   Slow spreadsheet apps Online tools that...","readable_publish_date":"Jul 24","slug":"a-csv-viewer-that-never-uploads-your-data-bkf","path":"/kaylee8520/a-csv-viewer-that-never-uploads-your-data-bkf","url":"https://dev.to/kaylee8520/a-csv-viewer-that-never-uploads-your-data-bkf","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-07-24T09:37:16Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flpqk7i63d68i5l8pdraa.png","canonical_url":"https://dev.to/kaylee8520/a-csv-viewer-that-never-uploads-your-data-bkf","created_at":"2026-07-24T08:58:19Z","edited_at":"2026-07-25T07:16:55Z","crossposted_at":null,"published_at":"2026-07-24T09:37:16Z","last_comment_at":"2026-07-24T09:37:16Z","reading_time_minutes":1,"tag_list":["webdev","javascript","csv","vue"],"tags":"webdev, javascript, csv, vue","user":{"name":"kaylee8520","username":"kaylee8520","twitter_username":null,"github_username":null,"user_id":4044679,"website_url":"https://csv-open.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4044679%2Fcf3af33a-fd49-4823-8755-c1738dbe059d.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4044679%2Fcf3af33a-fd49-4823-8755-c1738dbe059d.png"}},{"type_of":"article","id":4204441,"title":"I Spent 16 Months Building My Own SaaS Solo — Why the Last 10% Takes Months","description":"16 months. Several hundred hours alongside client work. One finished product.  I built LaizyNote — a...","readable_publish_date":"Jul 22","slug":"i-spent-16-months-building-my-own-saas-solo-the-last-10-took-longer-than-the-first-90-288","path":"/joshmsn/i-spent-16-months-building-my-own-saas-solo-the-last-10-took-longer-than-the-first-90-288","url":"https://dev.to/joshmsn/i-spent-16-months-building-my-own-saas-solo-the-last-10-took-longer-than-the-first-90-288","comments_count":1,"public_reactions_count":1,"collection_id":42358,"published_timestamp":"2026-07-22T09:18:29Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5ersto9h4qs87zg5g2k.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5ersto9h4qs87zg5g2k.png","canonical_url":"https://hafenpixel.de/en/behind-the-scenes/building-my-own-saas-laizynote","created_at":"2026-07-22T09:18:29Z","edited_at":"2026-07-22T09:21:48Z","crossposted_at":null,"published_at":"2026-07-22T09:18:29Z","last_comment_at":"2026-07-23T08:11:12Z","reading_time_minutes":5,"tag_list":["saas","webdev","vue","ai"],"tags":"saas, webdev, vue, ai","user":{"name":"Joshua","username":"joshmsn","twitter_username":null,"github_username":"josh-msn","user_id":3776962,"website_url":"https://hafenpixel.de/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3776962%2F15087b3c-4168-4804-a603-dc4d973be7df.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3776962%2F15087b3c-4168-4804-a603-dc4d973be7df.jpg"}},{"type_of":"article","id":4206873,"title":"I reshaped a mature marketplace platform into a free \"give it away\" app - Laravel + Inertia + Vue + PostGIS","description":"Hey everyone, Quick backstory on why I built this. Giving away stuff you no longer need through...","readable_publish_date":"Jul 22","slug":"i-reshaped-a-mature-marketplace-platform-into-a-free-give-it-away-app-laravel-inertia-vue--4mn3","path":"/yatta_pick_8831ada913f4e7/i-reshaped-a-mature-marketplace-platform-into-a-free-give-it-away-app-laravel-inertia-vue--4mn3","url":"https://dev.to/yatta_pick_8831ada913f4e7/i-reshaped-a-mature-marketplace-platform-into-a-free-give-it-away-app-laravel-inertia-vue--4mn3","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-07-22T14:01:54Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkk9u4ryb1ezxt8z499d2.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkk9u4ryb1ezxt8z499d2.png","canonical_url":"https://dev.to/yatta_pick_8831ada913f4e7/i-reshaped-a-mature-marketplace-platform-into-a-free-give-it-away-app-laravel-inertia-vue--4mn3","created_at":"2026-07-22T14:01:54Z","edited_at":"2026-07-22T14:03:28Z","crossposted_at":null,"published_at":"2026-07-22T14:01:54Z","last_comment_at":"2026-07-22T14:01:54Z","reading_time_minutes":2,"tag_list":["showdev","laravel","vue","webdev"],"tags":"showdev, laravel, vue, webdev","user":{"name":"Yatta Pick","username":"yatta_pick_8831ada913f4e7","twitter_username":null,"github_username":null,"user_id":4042135,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4042135%2F28a2e6d4-20b9-4bb4-a195-b816db983eae.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4042135%2F28a2e6d4-20b9-4bb4-a195-b816db983eae.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4173194,"title":"How I Build Vue 3 Applications (Part 4): Where API Logic Belongs","description":"After deciding where components and composables belong, the next question naturally becomes:   Where...","readable_publish_date":"Jul 18","slug":"how-i-build-vue-3-applications-part-4-where-api-logic-belongs-db9","path":"/lazydoomslayer/how-i-build-vue-3-applications-part-4-where-api-logic-belongs-db9","url":"https://dev.to/lazydoomslayer/how-i-build-vue-3-applications-part-4-where-api-logic-belongs-db9","comments_count":0,"public_reactions_count":0,"collection_id":42005,"published_timestamp":"2026-07-18T11:47:09Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fch4lsh952u091fzcvlyt.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fch4lsh952u091fzcvlyt.png","canonical_url":"https://dev.to/lazydoomslayer/how-i-build-vue-3-applications-part-4-where-api-logic-belongs-db9","created_at":"2026-07-18T10:57:43Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-18T11:47:09Z","last_comment_at":"2026-07-18T11:47:09Z","reading_time_minutes":5,"tag_list":["webdev","typescript","vue","architecture"],"tags":"webdev, typescript, vue, architecture","user":{"name":"Luka Jioshvili","username":"lazydoomslayer","twitter_username":null,"github_username":"LazyDoomSlayer","user_id":3290294,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3290294%2F8e5e1879-5e33-45e1-897f-7e08fb78030c.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3290294%2F8e5e1879-5e33-45e1-897f-7e08fb78030c.jpg"}},{"type_of":"article","id":4172877,"title":"Why Many Frontend Developers Use Next.js for work, but Vue.js for Personal Projects","description":"🇮🇩 Originally written in Indonesian. This English version was AI-assisted and adapted for a more...","readable_publish_date":"Jul 18","slug":"why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419","path":"/mudienub/why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419","url":"https://dev.to/mudienub/why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-07-18T09:59:03Z","language":"en","subforem_id":1,"positive_reactions_count":2,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz45q372u7svwh15i7rkp.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz45q372u7svwh15i7rkp.png","canonical_url":"https://dev.to/mudienub/why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419","created_at":"2026-07-18T09:58:29Z","edited_at":"2026-07-18T10:01:52Z","crossposted_at":null,"published_at":"2026-07-18T09:59:03Z","last_comment_at":"2026-07-18T09:59:03Z","reading_time_minutes":4,"tag_list":["webdev","frontend","nextjs","vue"],"tags":"webdev, frontend, nextjs, vue","user":{"name":"Ubay Lahmudien","username":"mudienub","twitter_username":null,"github_username":"Mudien-UB","user_id":3373119,"website_url":"https://mudienub.my.id","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3373119%2Fcd6d916f-8eb1-490a-b990-e60039af6100.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3373119%2Fcd6d916f-8eb1-490a-b990-e60039af6100.png"}},{"type_of":"article","id":4224205,"title":"How to Resize PDF Pages in the Browser with Vue 3 and pdf-lib","description":"Resizing a PDF — changing page dimensions from Letter to A4, or scaling content to fit a target size...","readable_publish_date":"Jul 24","slug":"how-to-resize-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-3666","path":"/sunshey/how-to-resize-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-3666","url":"https://dev.to/sunshey/how-to-resize-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-3666","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-07-24T13:01:36Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr9glrnp1rr5oshx2mrdv.png","canonical_url":"https://dev.to/sunshey/how-to-resize-pdf-pages-in-the-browser-with-vue-3-and-pdf-lib-3666","created_at":"2026-07-24T13:01:36Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-24T13:01:36Z","last_comment_at":"2026-07-24T13:01:36Z","reading_time_minutes":4,"tag_list":["webdev","pdf","javascript","vue"],"tags":"webdev, pdf, javascript, vue","user":{"name":"sunshey","username":"sunshey","twitter_username":null,"github_username":"sunshey","user_id":3960024,"website_url":"https://en.sotool.top","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png"}},{"type_of":"article","id":4168076,"title":"Solving the Blank Screen Problem on Initial App Load in the Frontend","description":"Implement an engaging splash screen instead of a blank screen during your app's initial load. Tips for resolving Vue rendering issues.","readable_publish_date":"Jul 17","slug":"solving-the-blank-screen-problem-on-initial-app-load-in-the-frontend-4b00","path":"/junhee916/solving-the-blank-screen-problem-on-initial-app-load-in-the-frontend-4b00","url":"https://dev.to/junhee916/solving-the-blank-screen-problem-on-initial-app-load-in-the-frontend-4b00","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-07-17T16:00:01Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwrgnskrv1hbkklp570t0.png","canonical_url":"https://aicoreutility.com/en/blog/post-1d8a96f8","created_at":"2026-07-17T16:00:01Z","edited_at":null,"crossposted_at":null,"published_at":"2026-07-17T16:00:01Z","last_comment_at":"2026-07-17T16:00:01Z","reading_time_minutes":3,"tag_list":["vue"],"tags":"vue","user":{"name":"박준희","username":"junhee916","twitter_username":null,"github_username":null,"user_id":3964655,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3964655%2F447f5509-845c-4cd0-8de8-a2cf635e18bb.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3964655%2F447f5509-845c-4cd0-8de8-a2cf635e18bb.jpg"}}]