An RSS reader running entirely from your GitHub repo.

Overview

image

中文

osmos::feed

An RSS reader running entirely from your GitHub repo.

  • Free hosting on GitHub Pages. No ads. No third party tracking.
  • No need for backend. Content updates via GitHub Actions.
  • Customizable layouts and styles via templating and theming API. Just bring your HTML and CSS.
  • Free and open source. No third-party tracking.

Demos

image

Get started

Create a repository

  1. Open Create a new repository from osmosfeed-template.
  2. Set visibility to "Public".
    image
  3. Click "Create repository from template" button.

Turn on GitHub Pages

  1. In the repository you just created, navigate to Settings tab > Pages section.

  2. In Source option, select gh-pages, click "Save" button. If gh-pages doesn't exist, wait for a couple of seconds and refresh the page. It will eventually show up.
    image

  3. Refresh the page until it shows Your site is published at https://.github.io/. This may take up to a minute.
    image

Customize the feed

  1. In the repository root, open osmosfeed.yaml file, click the "Pencil (Edit this file)" button to edit.

  2. Remove # to uncommend the cacheUrl property, replace with your GitHub username, and replace with your GitHub repo name.

  3. In the sources, update the items to the sources you want to follow. The final content of the file should look similar to this:

    cacheUrl: https://.github.io//cache.json
    sources:
      - href: https://my-rss-source-1/feed/
      - href: https://my-rss-source-2/rss/
      - href: https://my-rss-source-3/feed
      - href: https://my-rss-source-4/news/rss
      - href: https://my-rss-source-5/rss/
  4. Scroll to the bottom of the page, click "Commit changes" button.

  5. Once the rebuild finishes, your feed will be available at https://.github.io/.

Guides and references

To contribute

FAQ

Can I update the content more frequently?

Yes, you can make it as frequent as you want. In the .github/workflows/update-feed.yaml file, change the cron schedule. But be aware that there is a limit to the free tier of GitHub Actions. My rough estimate shows that even with hourly update, you should still have plenty of unused time. You can monitor spending on Billing & plans page in Account settings.

Can I make the site private so only I can see it?

It is not possible with GitHub Pages. However, if you move the site to a different hosting service, you should be able to set up authorization on the host level. For example, if you deploy to Netlify, there is a paid plan for password protection.

Do I have to type index.html at the end of the URL?

No. There is a known issue with GitHub, so you might have to type it until it starts to work. See discussion from GitHub Community and some solutions from Stack Overflow

How to trigger a manual site update?

You can make some changes to the osmosfeed.yaml file to trigger an update. For example, add an empty comment like this # on a new line.

How to build the site without using cache?

You can comment out the cacheUrl property in the osmosfeed.yaml. Note that after the build, cache will still be created, except it won't contain any content from the previous cache.

Ecosystem

osmos::feed is part of the osmos::craft ecosystem. If you enjoy this tool, you might also like:

  • osmos::memo: An in-browser bookmark manager optimized for tagging and retrieval speed.
  • osmos::note: A web-based text editor for networked note-taking, self-hostable on any Git repository.
Comments
  • `description` field shouldn't be truncated when it is a properly sized synopsis.

    `description` field shouldn't be truncated when it is a properly sized synopsis.

    Describe the bug Like https://github.com/osmoscraft/osmosfeed/issues/6#issue-873942524, I would appreciate if there is an option, e.g. set in osmosfeed.yaml to display the feed description. Actually, in my case, the feed description is an abstract of each paper. Now it will be truncated because the maximum length doesn't big enough.

    Bug area (choose one)

    • [ ] Site builder: anything broken during in the GitHub action
    • [x] Reader UI: anything broken while you are reading the feed

    To reproduce the bug

    • Share your repo (if visible to public)
      • https://looperxx.github.io/ArxivDaily/

    Expected behavior I can set the maximum length of the feed description in osmosfeed.yaml.

    opened by LooperXX 6
  • iTunes feed metadata is stripped

    iTunes feed metadata is stripped

    I want to retrieve other fields in the RSS XML, especially the itunes:duration. I am currently displaying a MP3 feed. Maybe a mechanism to add any given fields would be wonderful.

    enhancement 
    opened by Zenigata 5
  • Cannot download RSS caused by

    Cannot download RSS caused by "Limit reached for max number of failed attempts"

    Discussed in https://github.com/osmoscraft/osmosfeed/discussions/67

    Originally posted by sokomin December 12, 2021 I'm using osmosfeed RSS, but it sometimes occur the following error.

    [download] 0 attempts left, error download ...
          throw new Error(`[download] Limit reached for max number of failed attempts`);
                ^
    
    Error: [download] Limit reached for max number of failed attempts
        at downloadHelper (/home/runner/work/RS-RSS/RS-RSS/node_modules/@osmoscraft/osmosfeed/bin/main.js:31974:13)
        at runMicrotasks (<anonymous>)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
        at async enrichInternal (/home/runner/work/RS-RSS/RS-RSS/node_modules/@osmoscraft/osmosfeed/bin/main.js:32023:21)
        at async Promise.all (index 6)
        at async run (/home/runner/work/RS-RSS/RS-RSS/node_modules/@osmoscraft/osmosfeed/bin/main.js:32229:27)
    Error: Process completed with exit code 1.
    

    we can access the RSS link, but the program can't recognize the rss feed. Some website is OK, but a few site was not accessed.

    Can you help me? When some RSS acquisition stops, the whole build will stop. If you don't know the cause of the error, I would like to resolve it so that I can get the RSS partially.

    Here is the project. https://github.com/sokomin/RS-RSS/actions

    Thanks,

    enhancement 
    opened by chuanqisun 4
  • Option to not shorten the feed articles

    Option to not shorten the feed articles

    I would appreciate if there is an option, e.g. set in osmosfeed.yaml to display unmodified content:encoded if available (from the RSS feed itself). I am not sure if it's related but I will also appreciate showing the images, e.g. XKCD strips from https://xkcd.com/rss.xml, inline.

    opened by luben 4
  • Customizable lifespan for content cache

    Customizable lifespan for content cache

    This is really awesome!!! Do you know what code I can edit to render more than a month of previous content on my website? The oldest seem to only be about a month old. Thanks so much!

    opened by dwarkeshsp 4
  • "TypeError: input.trim is not a function"

    I have attempt to use your tool https://github.com/ad-m/feed-reader on with following configuration:

    # cacheUrl: https://GITHUB_USERNAME.github.io/REPO_NAME/cache.json
    sources:
      - href: https://github.com/osmoscraft/osmosfeed/releases.atom # Get new feature announcement via this feed
      - href: https://cloudblog.withgoogle.com/rss/
      - href: https://news.ycombinator.com/rss
      - href: https://aws.amazon.com/blogs/aws/feed/
      - href: https://lwn.net/headlines/newrss
      - href: http://feeds.feedburner.com/HighScalability
      - href: https://www.phoronix.com/rss.php
    

    I received following failure build log:

    2021-09-11T00:23:40.8850901Z Found online and idle hosted runner in the current repository's organization account that matches the required labels: 'ubuntu-latest'
    2021-09-11T00:23:40.9316674Z Waiting for a Hosted runner in the 'organization' to pick this job...
    2021-09-11T00:23:41.2130944Z Job is waiting for a hosted runner to come online.
    2021-09-11T00:23:44.2468374Z Job is about to start running on the hosted runner: GitHub Actions 2 (hosted)
    2021-09-11T00:23:46.2853260Z Current runner version: '2.281.1'
    2021-09-11T00:23:46.2879908Z ##[group]Operating System
    2021-09-11T00:23:46.2881100Z Ubuntu
    2021-09-11T00:23:46.2881640Z 20.04.3
    2021-09-11T00:23:46.2882130Z LTS
    2021-09-11T00:23:46.2882692Z ##[endgroup]
    2021-09-11T00:23:46.2883336Z ##[group]Virtual Environment
    2021-09-11T00:23:46.2884105Z Environment: ubuntu-20.04
    2021-09-11T00:23:46.2884711Z Version: 20210906.1
    2021-09-11T00:23:46.2886143Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20210906.1/images/linux/Ubuntu2004-README.md
    2021-09-11T00:23:46.2887715Z Image Release: https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F20210906.1
    2021-09-11T00:23:46.2888724Z ##[endgroup]
    2021-09-11T00:23:46.2889458Z ##[group]Virtual Environment Provisioner
    2021-09-11T00:23:46.2890176Z 1.0.0.0-master-20210816-1
    2021-09-11T00:23:46.2890810Z ##[endgroup]
    2021-09-11T00:23:46.2893073Z ##[group]GITHUB_TOKEN Permissions
    2021-09-11T00:23:46.2894533Z Actions: write
    2021-09-11T00:23:46.2895121Z Checks: write
    2021-09-11T00:23:46.2895710Z Contents: write
    2021-09-11T00:23:46.2896270Z Deployments: write
    2021-09-11T00:23:46.2896909Z Discussions: write
    2021-09-11T00:23:46.2897442Z Issues: write
    2021-09-11T00:23:46.2898167Z Metadata: read
    2021-09-11T00:23:46.2898756Z Packages: write
    2021-09-11T00:23:46.2899427Z PullRequests: write
    2021-09-11T00:23:46.2900189Z RepositoryProjects: write
    2021-09-11T00:23:46.2900890Z SecurityEvents: write
    2021-09-11T00:23:46.2901568Z Statuses: write
    2021-09-11T00:23:46.2902216Z ##[endgroup]
    2021-09-11T00:23:46.2905704Z Prepare workflow directory
    2021-09-11T00:23:46.3530115Z Prepare all required actions
    2021-09-11T00:23:46.3540277Z Getting action download info
    2021-09-11T00:23:46.5605717Z Download action repository 'actions/checkout@v2' (SHA:5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f)
    2021-09-11T00:23:48.2931904Z Download action repository 'actions/[email protected]' (SHA:c46424eee26de4078d34105d3de3cc4992202b1e)
    2021-09-11T00:23:48.5192327Z Download action repository 'peaceiris/actions-gh-pages@v3' (SHA:068dc23d9710f1ba62e86896f84735d869951305)
    2021-09-11T00:23:48.8938672Z ##[group]Run actions/checkout@v2
    2021-09-11T00:23:48.8939240Z with:
    2021-09-11T00:23:48.8939642Z   repository: ad-m/feed-reader
    2021-09-11T00:23:48.8940477Z   token: ***
    2021-09-11T00:23:48.8940844Z   ssh-strict: true
    2021-09-11T00:23:48.8941288Z   persist-credentials: true
    2021-09-11T00:23:48.8941730Z   clean: true
    2021-09-11T00:23:48.8942078Z   fetch-depth: 1
    2021-09-11T00:23:48.8942436Z   lfs: false
    2021-09-11T00:23:48.8942781Z   submodules: false
    2021-09-11T00:23:48.8943154Z ##[endgroup]
    2021-09-11T00:23:49.4990046Z Syncing repository: ad-m/feed-reader
    2021-09-11T00:23:49.5022920Z ##[group]Getting Git version info
    2021-09-11T00:23:49.5024396Z Working directory is '/home/runner/work/feed-reader/feed-reader'
    2021-09-11T00:23:49.5032462Z [command]/usr/bin/git version
    2021-09-11T00:23:49.5033055Z git version 2.33.0
    2021-09-11T00:23:49.5035289Z ##[endgroup]
    2021-09-11T00:23:49.5036141Z Deleting the contents of '/home/runner/work/feed-reader/feed-reader'
    2021-09-11T00:23:49.5038396Z ##[group]Initializing the repository
    2021-09-11T00:23:49.5039773Z [command]/usr/bin/git init /home/runner/work/feed-reader/feed-reader
    2021-09-11T00:23:49.5041542Z hint: Using 'master' as the name for the initial branch. This default branch name
    2021-09-11T00:23:49.5055933Z hint: is subject to change. To configure the initial branch name to use in all
    2021-09-11T00:23:49.5072225Z hint: of your new repositories, which will suppress this warning, call:
    2021-09-11T00:23:49.5073102Z hint: 
    2021-09-11T00:23:49.5074163Z hint: 	git config --global init.defaultBranch <name>
    2021-09-11T00:23:49.5074925Z hint: 
    2021-09-11T00:23:49.5075936Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
    2021-09-11T00:23:49.5077062Z hint: 'development'. The just-created branch can be renamed via this command:
    2021-09-11T00:23:49.5077804Z hint: 
    2021-09-11T00:23:49.5078516Z hint: 	git branch -m <name>
    2021-09-11T00:23:49.5079575Z Initialized empty Git repository in /home/runner/work/feed-reader/feed-reader/.git/
    2021-09-11T00:23:49.5081192Z [command]/usr/bin/git remote add origin https://github.com/ad-m/feed-reader
    2021-09-11T00:23:49.5082607Z ##[endgroup]
    2021-09-11T00:23:49.5083909Z ##[group]Disabling automatic garbage collection
    2021-09-11T00:23:49.5085101Z [command]/usr/bin/git config --local gc.auto 0
    2021-09-11T00:23:49.5086297Z ##[endgroup]
    2021-09-11T00:23:49.5089185Z ##[group]Setting up auth
    2021-09-11T00:23:49.5090222Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
    2021-09-11T00:23:49.5092011Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
    2021-09-11T00:23:49.5093803Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
    2021-09-11T00:23:49.5095875Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
    2021-09-11T00:23:49.5097882Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
    2021-09-11T00:23:49.5099425Z ##[endgroup]
    2021-09-11T00:23:49.5100629Z ##[group]Fetching the repository
    2021-09-11T00:23:49.5102796Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +76fe50020339cca181136b57965f229c648c9d32:refs/remotes/origin/main
    2021-09-11T00:23:49.5104178Z remote: Enumerating objects: 9, done.        
    2021-09-11T00:23:49.5104877Z remote: Counting objects:  11% (1/9)        
    2021-09-11T00:23:49.5105571Z remote: Counting objects:  22% (2/9)        
    2021-09-11T00:23:49.5106223Z remote: Counting objects:  33% (3/9)        
    2021-09-11T00:23:49.5107636Z remote: Counting objects:  44% (4/9)        
    2021-09-11T00:23:49.5108332Z remote: Counting objects:  55% (5/9)        
    2021-09-11T00:23:49.5109265Z remote: Counting objects:  66% (6/9)        
    2021-09-11T00:23:49.5110018Z remote: Counting objects:  77% (7/9)        
    2021-09-11T00:23:49.5110699Z remote: Counting objects:  88% (8/9)        
    2021-09-11T00:23:49.5111423Z remote: Counting objects: 100% (9/9)        
    2021-09-11T00:23:49.5112133Z remote: Counting objects: 100% (9/9), done.        
    2021-09-11T00:23:49.5112890Z remote: Compressing objects:  16% (1/6)        
    2021-09-11T00:23:49.5113636Z remote: Compressing objects:  33% (2/6)        
    2021-09-11T00:23:49.5114361Z remote: Compressing objects:  50% (3/6)        
    2021-09-11T00:23:49.5115101Z remote: Compressing objects:  66% (4/6)        
    2021-09-11T00:23:49.5115843Z remote: Compressing objects:  83% (5/6)        
    2021-09-11T00:23:49.5116563Z remote: Compressing objects: 100% (6/6)        
    2021-09-11T00:23:49.5117329Z remote: Compressing objects: 100% (6/6), done.        
    2021-09-11T00:23:49.5118633Z remote: Total 9 (delta 0), reused 4 (delta 0), pack-reused 0        
    2021-09-11T00:23:49.5119685Z From https://github.com/ad-m/feed-reader
    2021-09-11T00:23:49.5120793Z  * [new ref]         76fe50020339cca181136b57965f229c648c9d32 -> origin/main
    2021-09-11T00:23:49.5122076Z ##[endgroup]
    2021-09-11T00:23:49.5123214Z ##[group]Determining the checkout info
    2021-09-11T00:23:49.5124598Z ##[endgroup]
    2021-09-11T00:23:49.5125892Z ##[group]Checking out the ref
    2021-09-11T00:23:49.5126925Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
    2021-09-11T00:23:49.5127899Z Switched to a new branch 'main'
    2021-09-11T00:23:49.5128812Z Branch 'main' set up to track remote branch 'main' from 'origin'.
    2021-09-11T00:23:49.5129983Z ##[endgroup]
    2021-09-11T00:23:49.5130747Z [command]/usr/bin/git log -1 --format='%H'
    2021-09-11T00:23:49.5131662Z '76fe50020339cca181136b57965f229c648c9d32'
    2021-09-11T00:23:49.5268462Z ##[group]Run actions/[email protected]
    2021-09-11T00:23:49.5268961Z with:
    2021-09-11T00:23:49.5269351Z   node-version: 16
    2021-09-11T00:23:49.5269809Z   always-auth: false
    2021-09-11T00:23:49.5270395Z   check-latest: false
    2021-09-11T00:23:49.5271312Z   token: ***
    2021-09-11T00:23:49.5271709Z ##[endgroup]
    2021-09-11T00:23:50.2943322Z Attempting to download 16...
    2021-09-11T00:23:50.2949518Z Acquiring 16.9.0 - x64 from https://github.com/actions/node-versions/releases/download/16.9.0-1212244385/node-16.9.0-linux-x64.tar.gz
    2021-09-11T00:23:50.4882386Z Extracting ...
    2021-09-11T00:23:50.5025705Z [command]/usr/bin/tar xz --strip 1 --warning=no-unknown-keyword -C /home/runner/work/_temp/9d19923f-26f9-47a8-a2b7-12b6fb4ec215 -f /home/runner/work/_temp/bb417eb5-f2c4-41cd-a351-f68a20c64d86
    2021-09-11T00:23:51.4086368Z Adding to the cache ...
    2021-09-11T00:23:52.3825450Z Done
    2021-09-11T00:23:52.3970614Z ##[group]Run npm i
    2021-09-11T00:23:52.3971116Z npm i
    2021-09-11T00:23:52.4014889Z shell: /usr/bin/bash -e {0}
    2021-09-11T00:23:52.4015378Z ##[endgroup]
    2021-09-11T00:23:54.7269530Z 
    2021-09-11T00:23:54.7272518Z added 32 packages, and audited 33 packages in 2s
    2021-09-11T00:23:54.7273750Z 
    2021-09-11T00:23:54.7274818Z 12 packages are looking for funding
    2021-09-11T00:23:54.7275984Z   run `npm fund` for details
    2021-09-11T00:23:54.7278876Z 
    2021-09-11T00:23:54.7279813Z found 0 vulnerabilities
    2021-09-11T00:23:54.7412883Z ##[group]Run npm run build
    2021-09-11T00:23:54.7413407Z npm run build
    2021-09-11T00:23:54.7452731Z shell: /usr/bin/bash -e {0}
    2021-09-11T00:23:54.7453182Z ##[endgroup]
    2021-09-11T00:23:55.0395132Z 
    2021-09-11T00:23:55.0397393Z > [email protected] build
    2021-09-11T00:23:55.0398566Z > osmosfeed
    2021-09-11T00:23:55.0399099Z 
    2021-09-11T00:23:55.1592967Z [main] Starting build using cli version 1.11.0
    2021-09-11T00:23:55.1610660Z [system-file] Config: /home/runner/work/feed-reader/feed-reader/osmosfeed.yaml
    2021-09-11T00:23:55.1619389Z [system-file] Local cache: undefined
    2021-09-11T00:23:55.1624282Z [system-file] Template: /home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/system-templates/index.hbs
    2021-09-11T00:23:55.1641521Z [system-file] System static: /home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/system-static/favicon.ico
    2021-09-11T00:23:55.1647538Z [system-file] System template static: /home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/system-static/index.css
    2021-09-11T00:23:55.1650924Z [system-file] System template static: /home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/system-static/index.js
    2021-09-11T00:23:55.1719554Z [load-config] Effective config:  {
    2021-09-11T00:23:55.1720413Z   sources: [
    2021-09-11T00:23:55.1721613Z     { href: 'https://github.com/osmoscraft/osmosfeed/releases.atom' },
    2021-09-11T00:23:55.1723023Z     { href: 'https://cloudblog.withgoogle.com/rss/' },
    2021-09-11T00:23:55.1724352Z     { href: 'https://news.ycombinator.com/rss' },
    2021-09-11T00:23:55.1725777Z     { href: 'https://aws.amazon.com/blogs/aws/feed/' },
    2021-09-11T00:23:55.1726921Z     { href: 'https://lwn.net/headlines/newrss' },
    2021-09-11T00:23:55.1727971Z     { href: 'http://feeds.feedburner.com/HighScalability' },
    2021-09-11T00:23:55.1729111Z     { href: 'https://www.phoronix.com/rss.php' }
    2021-09-11T00:23:55.1729744Z   ],
    2021-09-11T00:23:55.1730194Z   cacheUrl: null,
    2021-09-11T00:23:55.1730737Z   cacheMaxDays: 30,
    2021-09-11T00:23:55.1731628Z   siteTitle: 'osmos::feed'
    2021-09-11T00:23:55.1732185Z }
    2021-09-11T00:23:55.1894024Z [get-cache] Use empty cache
    2021-09-11T00:23:55.4504554Z [enrich] 0.27s |   0 cached |   1 new | http://feeds.feedburner.com/HighScalability
    2021-09-11T00:23:55.7816607Z /home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/main.js:31625
    2021-09-11T00:23:55.7817697Z   const trimmed = input == null ? void 0 : input.trim();
    2021-09-11T00:23:55.7818321Z                                                  ^
    2021-09-11T00:23:55.7818629Z 
    2021-09-11T00:23:55.7819240Z TypeError: input.trim is not a function
    2021-09-11T00:23:55.7820745Z     at getNonEmptyStringOrNull (/home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/main.js:31625:50)
    2021-09-11T00:23:55.7822699Z     at /home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/main.js:31756:16
    2021-09-11T00:23:55.7823604Z     at Array.map (<anonymous>)
    2021-09-11T00:23:55.7824846Z     at normalizeFeed (/home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/main.js:31754:23)
    2021-09-11T00:23:55.7826709Z     at enrichInternal (/home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/main.js:31669:16)
    2021-09-11T00:23:55.7828150Z     at processTicksAndRejections (node:internal/process/task_queues:96:5)
    2021-09-11T00:23:55.7829080Z     at async Promise.all (index 1)
    2021-09-11T00:23:55.7830419Z     at async run (/home/runner/work/feed-reader/feed-reader/node_modules/@osmoscraft/osmosfeed/bin/main.js:31875:27)
    2021-09-11T00:23:55.8214108Z ##[error]Process completed with exit code 1.
    2021-09-11T00:23:55.8321922Z Post job cleanup.
    2021-09-11T00:23:55.9366195Z [command]/usr/bin/git version
    2021-09-11T00:23:55.9411282Z git version 2.33.0
    2021-09-11T00:23:55.9456090Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
    2021-09-11T00:23:55.9491890Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
    2021-09-11T00:23:55.9722201Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
    2021-09-11T00:23:55.9738000Z http.https://github.com/.extraheader
    2021-09-11T00:23:55.9752634Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
    2021-09-11T00:23:55.9777290Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
    2021-09-11T00:23:56.0222703Z Cleaning up orphan processes
    

    Any idea why it fails?

    bug 
    opened by ad-m 3
  • Scripts is not copying CNAME when generating gh-pages branch

    Scripts is not copying CNAME when generating gh-pages branch

    Describe the bug Github Pages with custom domains needs CNAME

    Bug area (choose one)

    • [x] Site builder: anything broken during in the GitHub action
    • [ ] Reader UI: anything broken while you are reading the feed

    To reproduce the bug

    • Share your repo https://github.com/ramonmedeiros/feed
    • Share the reader UI site https://feed.ramonmedeiros.dev

    Expected behavior When running osmofeed, if CNAME is found, copy to gh-pages branch

    Screenshots If applicable, add screenshots to help explain your problem.

    Additional context Add any other context about the problem here.

    opened by ramonmedeiros 3
  • Allow users to change the theme

    Allow users to change the theme

    Really love this! Can't wait to see more development and features! I'm sorry if this is a bad question, but is there a way to choose templates/themes for the rss reader? Or is this theme the only one that's available now?

    opened by benthecoder 3
  • RSS feed (combined) generation also in feed formats (RSS2/ATOM)

    RSS feed (combined) generation also in feed formats (RSS2/ATOM)

    Hi and congratulations on your effort and idea!

    I would like to ask for an idea/implementation regarding the combined list of RSS feeds. Is it possible to combine RSS feeds (the results of the generated html page maybe?) to a new "unified"-RSS-feed (in ATOM/RSS2), so that it can also be able to be used in other services (eg Feedburner, IFTTT, Ms Flow or others) or implementations? It can be optional via a set of configuration variables or something similar... (also built-in on the template page as a reference if it is configured as active)

    I am not sure how easy it can be, or if that is even the scope of this set of scripts, it could be nice to suggest it, for a future work maybe...

    Thank you!

    opened by IoApo 3
  • If link tag is relative, host is not prepended

    If link tag is relative, host is not prepended

    Describe the bug I'm not sure if its a feature or a bug.

    If the value inside the link tag is relative like /posts/index.html then the url host is not prepended to form a valid url to request it. I've seen pythons feedparser lib behave this way. I don't know if that's very common for an rss reader lib. At least the standard does not contain rules for handling relative links. https://validator.w3.org/feed/docs/rss2.html

    So I assume it would be a feature then, but I will let decide you.

    Bug area (choose one)

    • [ ] Site builder: anything broken during in the GitHub action
    • [x] Reader UI: anything broken while you are reading the feed

    To reproduce the bug Try to download this rss feed url: https://www.osnabrueck.de/start?type=9818

    Expected behavior I expected from experience with other rss libs before, that osmosfeed also prepends the host from the url to the relative url inside the link tag.

    opened by cpwnd 2
  • Filtering articles whose publishedOn is after today

    Filtering articles whose publishedOn is after today

    There is a way to put a page like a table of contents at the top of the article list by setting "pubDate" to a future date. For example, this feed has a "pubDate" of Fri, 31 Dec 9999 23:59:00 +0900.

    The current v1 code accepts all such articles, but this PR have changed it to reject them.

    If this is not in line with your project policy, please feel free to close it.

    opened by naari3 2
Releases(v1.15.1)
  • v1.15.1(Jun 22, 2022)

  • v1.15.0(Jun 18, 2022)

    • Added: Resolve relative URLs in item link and media
    • Added: Item thumbnail fallback to channel thumbnail
    • Chore: Dependency updates
    • Thank you: @cpwnd
    Source code(tar.gz)
    Source code(zip)
  • v1.14.4(Feb 14, 2022)

  • v1.14.2(Feb 14, 2022)

    • New: Adjust article grouping based on timezone. You need to add timezone in osmosfeed.yml for accurate grouping. See details in documentation.
    • New: Card title now toggles card content
    • New: all toggles on the UI are persisted with local storage. You can use it to track read/unread status within a single browser.
    • New: Build timestamp now links to the GitHub Action run
    • Changed: Sources are sorted based on publish time rather than alphabetical order
    • Changed: Style adjusted for easier reading
    • Fixed: Horizontal overflow on Safari
    • Fixed: HTML syntax error in default template
    Source code(tar.gz)
    Source code(zip)
  • v1.13.0(Feb 13, 2022)

    • New: Thumbnail image display for each article
    • New: Improved color, spacing, and typography for easier reading
    • New: Click the date to toggle all accordions on that day. Ctrl + Click to toggle all accordions on the entire site.
    • Changed: All sections are expanded by default
    • Changed: Switched to vitest for easier testing
    • Fixed: Long string (e.g. URL) caused horizontal overflow
    • Thank you: @naari3, @tianheg
    Source code(tar.gz)
    Source code(zip)
  • v1.12.1(Feb 12, 2022)

  • v1.12.0(Jan 10, 2022)

    • New: When one of the sources download fails, fall back to cache and continue rest of the build.
    • Chore: Dependency updates
    • Added docs for Netlify deployment
    • Fixed #71 #69 #65
    • Thank you: @sokomin, @molakirlee, @philippnagel, @tianheg
    Source code(tar.gz)
    Source code(zip)
  • v1.11.3(Oct 16, 2021)

  • v1.11.2(Sep 26, 2021)

    • Fixed: unicode characters in URL caused download error
    • Fixed: project root npm install error
    • Added: unit test library
    • Chore: Dependency updates
    • Thank you: @CaptNo1
    Source code(tar.gz)
    Source code(zip)
  • v1.11.1(Sep 16, 2021)

  • v1.11.0(Jun 23, 2021)

    • Added: support an experimental template for YouTube feed 📺 Demo | Source
      • Aggregate content from any YouTube channel rss url https://www.youtube.com/feeds/videos.xml?channel_id=<replace_with_channel_id>
      • Videos are embedded via iframe and loading accelerated by youtube-lite-embed
      • Ads are reduced thanks to YouTube's policy for embedded videos 🙃
      • Works on mobile devices with butter smooth horizontal scroll.
      • Caveat: the template works only with YouTube content. You cannot mix textual RSS feed or other video sources such as Vimeo.
    • Changed: Default HTML template meta tag adjusted to match convention
    • Changed: sources in template data is now ordered by last update timestamp (as opposed to alphabetical)
    • Thank you @PiyushLosalka
    Source code(tar.gz)
    Source code(zip)
  • v1.10.2(Jun 1, 2021)

  • v1.9.0(May 26, 2021)

    • Added: experimental support for iTunes podcast feed: Demo | Source. With this new release, you can render an audio control to play the mp3 file and display iTunes episode duration. It is "experimental" due to these caveats:
      • This feature is currently only available through custom template.
      • iTunes has no strict format requirement for duration. The unit is most likely seconds but can be "hh:mm:ss" or "mm:ss" for some sources. A future version may expose a human readable string to the template.
      • No image support yet. Some shows might have disabled CORS or use a relative URL for image, which forces osmosfeed to download the image during build. A future version may support it.
      • You can't republish the podcast in the feed output. Supporting this goes beyond the scope of the project at the moment.
    • Fixed: the articles in template data were not sorted.
    • Thank you @Zenigata
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(May 23, 2021)

  • v1.8.0(May 23, 2021)

    • Changed: Smart summary truncation. When there is no dedicated summary (only Atom feed has it, and many sites don't use it) from the source, we check if the content/description (Both Atom and RSS) field is long enough to be full text. If so, it will be truncated into a "pseudo" summary. If not, we assume the source used the content field as summary, and it will be displayed in full length.
    • Thank you: @LooperXX.
    Source code(tar.gz)
    Source code(zip)
  • v1.7.2(May 17, 2021)

    • ⚠ Deprecated: To accommodate the monorepo setup, the node version in all templates/demos/examples has changed from 14 to 16. This is not a breaking change as our compile target is still node 14, and node 16 is backward compatible. We still recommend you start using node-version: "16" in your .github/workflows/update-feed.yaml today to get the performance/security improvements from the newer node. See example
    • Chore: Reorganize to monorepo with npm workspace.
    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(May 16, 2021)

  • v1.7.0(May 15, 2021)

  • v1.6.0(May 10, 2021)

    • Added: Link from the title of a subscription to its website.
    • Added: Store feedUrl and siteUrl for each source in cache.
    • Added: Semantic element (<time>) for timestamp on the UI.
    • Added: Semantic API for theming the default template. Demo | Source | Docs
    • Changed: Moved feed metadata from article level to feed level in cache.
    • Fixed: Any html-like text was stripped from title. Fixed with encoded text.
    • Removed: href for each source in cache. The value was never used so it's not a breaking change.
    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(May 8, 2021)

    • Added: Atom feed generator
    • Added: Customizable site title
    • Added: Copy all files from static directory to the root of the site.
    • Changed: Favicon, css, and js assets now existing at site root level.
    • Chore: Excluded testing files from repo.
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(May 5, 2021)

  • v1.3.1(May 5, 2021)

  • v1.3.0(May 5, 2021)

    • Added: Customize cache lifespan with cacheMaxDays property in osmosfeed.yaml.
    • Added: Documentation for osmosfeed.yaml.
    • Fixed: More intuitive logging during build.
    • Chore: Refactored parameter passing for enrich step.
    Source code(tar.gz)
    Source code(zip)
  • v1.2.3(May 5, 2021)

  • v1.2.1(May 5, 2021)

  • v1.1.6(May 5, 2021)

  • v1.1.1(May 5, 2021)

  • v1.1.0(May 5, 2021)

    • Added: MIT license
    • Added: cache.json is stamped with the version of the builder. This allows future builder with breaking change to ignore incompatible cache.
    • Added: Feed source retry on fetch error (3 times total, 15 seconds timeout).
    • Added: Item enrichment retry on fetch error (3 times total, 15 seconds timeout).
    • Added: Console log for cache restore and update behavior.
    • Added: npx command: npx osmosfeed
    • Changed: Improved console log that breaks down rendered item count into "new" and "cached".
    • Fixed: Item enrichment timeout could crash the build.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(May 5, 2021)

    • Changed: Runtime dependencies are moved out of devDependencies. This is not a breaking change, but to receive performance benefit, you need to make sure @osmoscraft/osmosfeed is listed as dependencies instead of devDependencies in the package.json of your rss reader site.
    • Changed: Build target from node12 to node14.
    • Changed: Switched to a more robust rss parser: rss-parser
    • Fixed: RSS 1.0 feed <dc:date> was not parsed as publish date.
    • Chore: npm dependencies version updates.
    Source code(tar.gz)
    Source code(zip)
Owner
osmoscraft
Simple tools that help you discover, ingest, organize, connect, generate, and share knowledge.
osmoscraft
This repo is only for share my challenge concluded in rocketseat bootcamp.

rocketseat-module01-desafio01 This repo is only for share my challenge concluded in rocketseat bootcamp. Desafio 1: Conceitos do NodeJS “Sua única lim

Edmilson Silvério 3 Oct 2, 2021
This GitHub action activates when a contributor raises a PR. It comments and reacts to the PR. Moreover, assigns the PR to the author.

This GitHub action activates when a contributor raises a PR. It comments and reacts to the PR. Moreover, assigns the PR to the author.

Ankur 9 Oct 1, 2022
GitHub's most starred repositories created in the last 7 days

GitHub Weekly Trends Most starred repositories in the last 7 days Live app url: ghtrends.netlify.app Available Scripts In the project directory, you c

Ebenezer Don 6 Feb 3, 2022
SPOILER ALERT! A happy little bit of javascript to hide spoilers on your site.

SPOILER ALERT! Don't spoil it! Hide copy and images with a bit of SVG blur. Taste on mouseover. Eat on click. Do you publish spoilers? Do you wish you

Joshua Hull 473 Sep 27, 2022
Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Superalgos 3.1k Jan 1, 2023
Web app for adding EU Digital COVID Certificates to your wallet apps

Web app for adding EU Digital COVID Certificates to your wallet apps

CovidPass 1.2k Dec 31, 2022
BetterDiscord plugin to see what your friends are playing across platforms, all on Discord

CrossPlatformPlaying A plugin that brings Rich Presence to games that don't support it, and lets you see what your friends are playing even if they tu

Giorgio 38 Dec 12, 2022
A Sequelize web builder interface. To make your own sequelize schema

A Sequelize web builder interface. To make your own sequelize schema

Ulysse 5 Mar 9, 2022
A personal home page for quick access to all your personal apps/sites

Fenrus Fenrus personal home page/dasbhoard. It allows you to have a custom home page/new tab page with quick access to your personal apps. For support

John Andrews 196 Dec 31, 2022
Add weak event listeners from your components/classes based on WeakRefs

Add weak event listeners from your components/classes based on WeakRefs. This package handles the boilerplate for you, which isn't too much anyways but not particularly good looking.

Ashish Shubham 3 Feb 25, 2022
A cool Discord bot to manage tickets on your server 🎫

Discord Tickets Bot A cool Discord bot to manage tickets on your server ?? Project under construction... follow the progress on the Discord server. If

null 11 Oct 10, 2022
An Android universal reader for BiliBiliSpace, Twitter, RSS and more.

Collector An Android universal information stream reader aiming to replace RSS. Features No login, No tracking, All unique identifiers are removed fro

null 26 Jan 1, 2023
A nonsensical React application made (almost) entirely by GitHub Copilot

GitHub Copilot Demo This is a demo project for the GitHub Copilot project. The previous sentence was written by it! This is a (fairly ugly) timer app

Cassidy Williams 32 May 1, 2022
rss github discussions api

rgd RSS - GitHub Discussions API npm install -g rgd # or npm install -D rgd Usage: rgd Options: --owner --repo --token: generate token -> http

Len C... 6 Jul 11, 2022
GitHub Advisory Database RSS Feeds.

github-advisory-database-rss RSS Feeds for GitHub Advisory Database. Usage Visit https://azu.github.io/github-advisory-database-rss/ Subscribe RSS Fee

azu 7 Aug 10, 2022
An old-school arcade-style 3D shoot-em-up rendered entirely with CSS 3D transforms

CSS Space Shooter Play The Game This is an experiment I made to investigate the capabilities of CSS 3D transforms. Having played about with this techn

Michael Bromley 162 Oct 2, 2022
This app helps manage a bookstore. It comes in handy when you need to manage a personal book store or library. Entirely built on es6.

Awesome Books A Microverse project on learnong javascript. Additional description about the project and its features. Built With HTML5 CSS3 Javascript

Atugonza ( Billions ) Joel 13 Apr 22, 2022
A simple bot for Lingos exercises automation written entirely in Typescript.

Linger The spiritual successor to lingus Stack used Typescript SWC Yarn Nodejs Puppeteer Dotenv UUID Nodemon Instalation Prerequisites: Nodejs: ^16.13

TlenDev 2 May 9, 2022
Generate fluid, custom property based design systems on the fly — entirely based on Utopia

Fluid Design Systems With Netlify On-demand Builders A proof of concept demonstrating how Netlify on-demand builders can help generate fluid, custom p

George Francis 53 Jan 5, 2023
An free e-book entirely about JavaScript objects

Advanced JavaScript Objects An e-book entirely about JavaScript objects Chapters Total length: 70 A4 pages. Chapter 0 - Introduction Chapter 1 - Getti

Carl Riis 240 Dec 13, 2022