A place to cache linked articles (think custom and personal wayback machine)
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

index.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>What is a feed? (a.k.a. RSS) (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script>
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://aboutfeeds.com/">
  55. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>What is a feed? (a.k.a. RSS)</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  63. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  64. </svg> Accueil</a> •
  65. <a href="https://aboutfeeds.com/" title="Lien vers le contenu original">Source originale</a>
  66. </p>
  67. </nav>
  68. <hr>
  69. <p>A feed is also known as a <em>“web feed”</em> and the technical term (which you’ll see a lot) is <em>“RSS feed.”</em> A feed contains the latest content in a form that your <strong>newsreader app</strong> understands. (Your newsreader checks the feed automatically, every few hours.)</p>
  70. <p><strong>Tons of websites already have feeds,</strong> mostly news sites and blogs. You’ll often see a link at the bottom of the page that says <em>“RSS”</em> or an orange icon similar to this: <img src="icons/orange-square.svg"></p>
  71. <p>Whenever you see a website with a feed, that means you can subscribe to that site.</p>
  72. <p>When you subscribe to only <em>one</em> site, you might say <em>“This doesn’t save me much time.”</em> But when you end up subscribing to 10 or 20, you’ll find that your newsreader becomes your regular place for news and to hear the latest.</p>
  73. <p>You won’t miss content <em>(unlike Facebook, there’s no algorithm deciding to drop content from your feed unless the author pays)</em> and it’s spam-proof. Had enough? Just unsubscribe from the feed.</p>
  74. <h1 id="2-how-do-i-get-a-newsreader-app">2. How do I get a newsreader app?</h1>
  75. <p><strong>To subscribe to feeds, you’ll need a newsreader app.</strong> A newsreader app feels a little like an email app, in that there is an inbox of all the latest content, or like Facebook in that there is a newsfeed from many different sources.</p>
  76. <p>There are many different newsreader apps to choose from.</p>
  77. <p><strong>You can install an app on your phone or laptop,</strong> or you can use a newsreader app through a website. Here are three apps, in alphabetical order:</p>
  78. <ul>
  79. <li><a href="https://feedly.com">Feedly</a> – free up to 100 subscriptions. Web/Android/iOS.</li>
  80. <li><a href="https://www.inoreader.com">Inoreader</a> – free up to 150 subscriptions. Web/Android/iOS.</li>
  81. <li><a href="https://ranchero.com/netnewswire/">NetNewsWire</a> – free. iOS/Mac.</li>
  82. </ul>
  83. <p><em>It doesn’t matter which you choose as newsreaders make it fairly easy to export your list of subscriptions and move them to another app in the future. So choose one you like the look of.</em></p>
  84. <p>Choose your app, and either sign up or download it.</p>
  85. <h1 id="3-how-do-i-use-my-new-newsreader-app-to-subscribe-to-a-feed">3. How do I use my new newsreader app to subscribe to a feed?</h1>
  86. <p><strong>You’ll need the Feed URL.</strong> To get this, go to the website you want to subscribe to and find that RSS link or the feed icon. Then…</p>
  87. <ul>
  88. <li>On <strong>desktop,</strong> right click on the link and choose “Copy Link Address” or similar.</li>
  89. <li>On <strong>mobile,</strong> tap and hold the link until a menu comes up. Choose “Copy link” or similar.</li>
  90. </ul>
  91. <p>Then go to your newsreader app and look for a function which will be named something like</p>
  92. <ul>
  93. <li>“Subscribe”</li>
  94. <li>“Add Web Feed”</li>
  95. <li>or maybe a “+” icon</li>
  96. </ul>
  97. <p>and <strong>paste in the Feed URL.</strong></p>
  98. <p><strong>You’re done!</strong> You can now read the latest content in your newsreader.</p>
  99. <hr>
  100. <h2 id="who-made-this-site">Who made this site?</h2>
  101. <p><strong>About Feeds</strong> is a free site from <a href="http://interconnected.org">Matt Webb</a>. I made this site because <em>using web feeds for the first time is hard,</em> and we can fix that. <a href="why">Read about why this site exists.</a></p>
  102. <p>My hope is that <strong>About Feeds</strong> can become the default <em>“Help! What is this?”</em> link next to every web feed icon on the web. It’s bare bones right now, and I have a ton of ideas of how to make this site more and more useful.</p>
  103. <p><em><strong>Are you a site owner?</strong> Please consider adding a <a href="https://aboutfeeds.com">Help! What is a feed?</a> link (or similar) next to your feed link or RSS icon. If you have access to the code, style your feed to make it friendly to new users with <a href="https://github.com/genmon/aboutfeeds/blob/main/tools/pretty-feed-v3.xsl">pretty-feed.xsl</a>.</em></p>
  104. <p>To contribute or to give feedback, <a href="https://github.com/genmon/aboutfeeds">start a discussion on the About Feeds repo on GitHub</a> or contact me. My email address is <a href="http://interconnected.org">over here</a>.</p>
  105. <p>–Matt</p>
  106. </article>
  107. <hr>
  108. <footer>
  109. <p>
  110. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  111. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  112. </svg> Accueil</a> •
  113. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  114. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  115. </svg> RSS</a> •
  116. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  117. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  118. </svg> Pro</a> •
  119. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  120. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  121. </svg> Email</a> •
  122. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  123. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  124. </svg> Légal</abbr>
  125. </p>
  126. <template id="theme-selector">
  127. <form>
  128. <fieldset>
  129. <legend><svg class="icon icon-brightness-contrast">
  130. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  131. </svg> Thème</legend>
  132. <label>
  133. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  134. </label>
  135. <label>
  136. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  137. </label>
  138. <label>
  139. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  140. </label>
  141. </fieldset>
  142. </form>
  143. </template>
  144. </footer>
  145. <script>
  146. function loadThemeForm(templateName) {
  147. const themeSelectorTemplate = document.querySelector(templateName)
  148. const form = themeSelectorTemplate.content.firstElementChild
  149. themeSelectorTemplate.replaceWith(form)
  150. form.addEventListener('change', (e) => {
  151. const chosenColorScheme = e.target.value
  152. localStorage.setItem('theme', chosenColorScheme)
  153. toggleTheme(chosenColorScheme)
  154. })
  155. const selectedTheme = localStorage.getItem('theme')
  156. if (selectedTheme && selectedTheme !== 'undefined') {
  157. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  158. }
  159. }
  160. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  161. window.addEventListener('load', () => {
  162. let hasDarkRules = false
  163. for (const styleSheet of Array.from(document.styleSheets)) {
  164. let mediaRules = []
  165. for (const cssRule of styleSheet.cssRules) {
  166. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  167. continue
  168. }
  169. // WARNING: Safari does not have/supports `conditionText`.
  170. if (cssRule.conditionText) {
  171. if (cssRule.conditionText !== prefersColorSchemeDark) {
  172. continue
  173. }
  174. } else {
  175. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  176. continue
  177. }
  178. }
  179. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  180. }
  181. // WARNING: do not try to insert a Rule to a styleSheet you are
  182. // currently iterating on, otherwise the browser will be stuck
  183. // in a infinite loop…
  184. for (const mediaRule of mediaRules) {
  185. styleSheet.insertRule(mediaRule.cssText)
  186. hasDarkRules = true
  187. }
  188. }
  189. if (hasDarkRules) {
  190. loadThemeForm('#theme-selector')
  191. }
  192. })
  193. </script>
  194. </body>
  195. </html>