Feedly Full Screen Article View

Makes article views take up the full screen instead of sliding out from the right

Size

4.3 KB

Version

1.1.2

Created

Jan 24, 2026

Updated

10 days ago

1// ==UserScript==
2// @name		Feedly Full Screen Article View
3// @description		Makes article views take up the full screen instead of sliding out from the right
4// @version		1.1.2
5// @match		https://*.feedly.com/*
6// @icon		https://feedly.com/favicon.ico
7// ==/UserScript==
8(function() {
9    'use strict';
10
11    console.log('Feedly Full Screen Article View extension loaded');
12
13    // Add CSS to make article view full screen
14    const style = document.createElement('style');
15    style.textContent = `
16        /* Make the article slide container full screen */
17        .sidePeekContainer.Slide--current {
18            position: fixed !important;
19            top: 0 !important;
20            left: 0 !important;
21            right: 0 !important;
22            bottom: 0 !important;
23            width: 100% !important;
24            max-width: 100% !important;
25            height: 100vh !important;
26            z-index: 9999 !important;
27            transform: none !important;
28        }
29
30        /* Ensure the content wrapper takes full width */
31        .sidePeekContainer.Slide--current .Slide__content-wrapper {
32            width: 100% !important;
33            max-width: 100% !important;
34            margin: 0 auto !important;
35            padding: 0 20px !important;
36        }
37
38        /* Center the article content with reasonable max-width for readability */
39        .sidePeekContainer.Slide--current .SlideMainContent {
40            max-width: 900px !important;
41            margin: 0 auto !important;
42            width: 100% !important;
43        }
44
45        /* Hide the feed list when article is open */
46        body:has(.sidePeekContainer.Slide--current) #feedlyFrame {
47            display: none !important;
48        }
49
50        /* Ensure proper background */
51        .sidePeekContainer.Slide--current {
52            background: white !important;
53        }
54
55        /* Make sure close button is visible */
56        .sidePeekContainer.Slide--current button[aria-label*="Close" i],
57        .sidePeekContainer.Slide--current button[title*="Close" i] {
58            display: block !important;
59            visibility: visible !important;
60            opacity: 1 !important;
61        }
62
63        /* Dark mode support */
64        @media (prefers-color-scheme: dark) {
65            .sidePeekContainer.Slide--current {
66                background: #1a1a1a !important;
67            }
68        }
69    `;
70    document.head.appendChild(style);
71    console.log('Full screen article view styles applied');
72
73    // Function to intercept article clicks and open in Feedly view
74    function interceptArticleClicks() {
75        // Find all article title links
76        const articleLinks = document.querySelectorAll('a.EntryTitleLink');
77        
78        articleLinks.forEach(link => {
79            // Check if we already added the listener
80            if (link.dataset.feedlyIntercepted) return;
81            
82            link.addEventListener('click', function(e) {
83                console.log('Article link clicked, preventing default navigation');
84                e.preventDefault();
85                e.stopPropagation();
86                
87                // Find the parent article element
88                const articleElement = link.closest('article.entry');
89                if (articleElement) {
90                    // Click on the article preview/summary area to open Feedly's article view
91                    const previewArea = articleElement.querySelector('.aRpq1uFgOK5S67Q9FvlE, .SelectedEntryScroller');
92                    if (previewArea) {
93                        console.log('Opening article in Feedly view via preview area');
94                        previewArea.click();
95                    } else {
96                        console.log('Opening article in Feedly view via article card');
97                        articleElement.click();
98                    }
99                }
100            }, true);
101            
102            link.dataset.feedlyIntercepted = 'true';
103        });
104    }
105
106    // Run on page load
107    setTimeout(interceptArticleClicks, 1000);
108
109    // Watch for new articles being added to the page
110    const observer = new MutationObserver(function() {
111        interceptArticleClicks();
112    });
113
114    // Start observing the document for changes
115    observer.observe(document.body, {
116        childList: true,
117        subtree: true
118    });
119
120    console.log('Article click interception enabled');
121
122})();
Feedly Full Screen Article View | Robomonkey