{"id":51310,"url":"https://github.com/web-work-tools/awesome-planet-pluto","name":"awesome-planet-pluto","description":"Links related to Planet Pluto Static Feed Aggregator","projects_count":38,"last_synced_at":"2026-06-27T05:00:26.980Z","repository":{"id":110715905,"uuid":"264904120","full_name":"web-work-tools/awesome-planet-pluto","owner":"web-work-tools","description":"Links related to Planet Pluto Static Feed Aggregator","archived":false,"fork":false,"pushed_at":"2020-05-27T15:13:33.000Z","size":45,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-06-10T04:03:28.099Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-work-tools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-05-18T10:22:02.000Z","updated_at":"2026-04-10T02:03:07.000Z","dependencies_parsed_at":"2024-01-14T13:31:49.544Z","dependency_job_id":"57996588-fc46-4942-b226-e05bbea291d1","html_url":"https://github.com/web-work-tools/awesome-planet-pluto","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/web-work-tools/awesome-planet-pluto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-work-tools%2Fawesome-planet-pluto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-work-tools%2Fawesome-planet-pluto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-work-tools%2Fawesome-planet-pluto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-work-tools%2Fawesome-planet-pluto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-work-tools","download_url":"https://codeload.github.com/web-work-tools/awesome-planet-pluto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-work-tools%2Fawesome-planet-pluto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34841990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-14T11:16:15.120Z","updated_at":"2026-06-27T05:00:26.981Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["What's a Planet?","Pluto Feed Reader","Github Actions","Related Projects"],"sub_categories":["Examples","[Using Web Feeds to Build Planet Sites in Ruby](https://github.com/geraldb/talks/blob/master/webfeeds.md)","Templates","[New Horizons - Build Your Own (Static) Planet News Site w/ Pluto (and Ruby)](https://github.com/geraldb/talks/blob/master/planet.md) - @geraldb","Pluto Live!"],"readme":"# Planet Pluto [is Awesome]\n\nLinks related to Planet Pluto Static Feed Aggregator\n\nYou create a list of feeds (RSS, ATOM, JSON), pluto builds web-pages based on the feed sources you provide.\n\n## What's a Planet?\n* [Planet (Software)](https://en.wikipedia.org/wiki/Planet_(software))\n  \u003e In online media a planet is a feed aggregator application designed to collect posts from the weblogs of members of an internet community and display them on a single page.\n\n### Examples\n\n* [Planet Powershell](https://www.planetpowershell.com/preview)\n* [Planet Ubuntu](https://planet.ubuntu.com/)\n* [Planet Debian Uncensored](https://debian.community/access-an-independent-uncensored-version-of-planet-debian/)\n* [Planet Drupal](https://www.drupal.org/planet)\n* [Planet Debian](https://planet.debian.org/)\n* [Planet CKAN](http://ckan.github.io/planetckan/) - [source](https://github.com/ckan/planetckan)\n* [Planet Wikimedia](https://meta.wikimedia.org/wiki/Planet_Wikimedia)\n* [Planet Xamarin](https://www.planetxamarin.com/)\n* [Ask HN: What unknown technical blogs or sites do you follow?](https://news.ycombinator.com/item?id=4929490)\n\n## Pluto Feed Reader\n\n* [pluto](https://github.com/feedreader/pluto) - pluto gems - planet feed reader and (static) website generator - auto-build web pages from published web feeds\n* [feedreader.github.io](http://feedreader.github.io/) - project web site - [source](https://github.com/feedreader/feedreader.github.io) \n* [docs](https://github.com/feedreader/docs) - planet pluto docs\n* [planets](https://github.com/feedreader/planets) - planet setup / configuration samples - planetarium - add your planets!\n* [pluto.starter](https://github.com/feedreader/pluto.starter) - planet pluto quick starter kit - (auto-) build your own (static) planet news site from web feeds\n* [planet.rb](https://github.com/feedreader/planet.rb) - planet.rb quick starter script - (auto-) add articles \u0026\nblog posts to your (jekyll \u0026 friends) static website via feeds (and planet pluto)\n  * [jekyll.planet.sample](https://github.com/feedreader/jekyll.planet.sample) - planet.rb Sample - Jekyll Edition\n* [news.rb](https://github.com/feedreader/news.rb) - news.rb quick starter script - build your own facebook newsfeed in 1-2-3 steps in 5 minutes\n* [pluto.more.tools](https://github.com/feedreader/pluto.more.tools) - misc feedreader utility tools plus planet notes, links and more\n\n### [Using Web Feeds to Build Planet Sites in Ruby](https://github.com/geraldb/talks/blob/master/webfeeds.md)\n\n\u003ca href=\"https://github.com/geraldb/talks/blob/master/webfeeds.md\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/geraldb/talks/master/i/planet-viennarb-ii.png\" align=\"right\" width=\"400\"/\u003e\u003c/a\u003e\n\n\u003e A web feed (or news feed) is a simple document/data format that 1) lets you publish a list of status updates, blog postings, articles, pictures, cartoons, recordings, etc and that 2) lets others subscribe to your updates.\n\n`viennarb.ini`\n\n```\ntitle  = Planet Vienna.rb\n\n[viennarb]\n  title   = Vienna.rb Blog\n  link    = http://vienna-rb.at\n  feed    = http://vienna-rb.at/atom.xml\n\n[viennarbmeetup]\n  title = Vienna.rb Meetups\n  link  = http://www.meetup.com/vienna-rb\n  feed  = http://www.meetup.com/vienna-rb/events/rss/vienna.rb/\n```\n\n`$ pluto build viennarb.ini`\n\n\n## Github Actions\n\nI set up a github action using the ruby template, to update the feeds of [identosphere.net](https://identosphere.net/) every 3 hours:\n\n[didecentral/planetid-reboot/.github/workflows/ruby.yml](https://github.com/didecentral/planetid-reboot/blob/master/.github/workflows/ruby.yml)\n\n```\n# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake\n# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby\n\nname: Ruby\n\non:\n  schedule:\n    # * is a special character in YAML so you have to quote this string\n    - cron:  '15 * * * *'\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v2\n    - name: Set up Ruby\n    # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,\n    # change this to (see https://github.com/ruby/setup-ruby#versioning):\n    # uses: ruby/setup-ruby@v1\n      uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0\n      with:\n        ruby-version: 2.6\n    - name: Install dependencies\n      run: sudo apt-get install libsqlite3-dev \u0026\u0026 gem install pluto\n    - name: build reader\n      run: pluto b planetid.ini -t planetid -o docs\n    - name: Deploy Files\n      run: |\n        git remote add gh-token \"https://github.com/didecentral/planetid-reboot.git\"\n        git config user.name \"github-actions[bot]\" # I use the GitHub Actions bot here.\n        git config user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\n        git commit -a -m \"update feeds\"\n        git push gh-token master\n``` \n\n\n### Templates\n\nExample command using the blank template outputting to the docs directory (where github can publish from)\n\n`pluto b viennarb.ini -t blank -o docs`\n\n* [planet-templates.github.io](http://planet-templates.github.io) - [source](https://github.com/planet-templates/planet-templates.github.io)\n  * [planet-blank](https://github.com/planet-templates/planet-blank)\n  * [planet-top](https://github.com/planet-templates/planet-top)\n  * [planet-zen](https://github.com/planet-templates/planet-zen)\n  * [planet-feeds](https://github.com/planet-templates/planet-feeds)\n  * [planet-classic](https://github.com/planet-templates/planet-classic)\n  * [planet-digest](https://github.com/planet-templates/planet-digest)\n  * [planet-forty](https://github.com/planet-templates/planet-forty)\n  * [planet-hacker](https://github.com/planet-templates/planet-hacker)\n  * [planet-news](https://github.com/planet-templates/planet-news)\n  * [planet-paper](https://github.com/planet-templates/planet-paper)\n\n### Pluto Live!\n\n* [pluto.live](https://github.com/plutolive/pluto.live) - planet example site - rails web app in ruby using the pluto gem\n* [pluto.live.starter](https://github.com/plutolive/pluto.live.starter) - planet starter [example site](http://planetweb.herokuapp.com/?style=random) - sinatra web app in ruby using the pluto gem\n* [pluto.admin](https://github.com/plutolive/pluto.admin) - planet web admin - sintara web app ready to get mounted into your web app\n\n### [New Horizons - Build Your Own (Static) Planet News Site w/ Pluto (and Ruby)](https://github.com/geraldb/talks/blob/master/planet.md) - @geraldb\n\n**Planet Feed Reader in 20 Lines of Ruby**\n\n```rb\nplanet.rb:\n\nrequire 'open-uri'\nrequire 'feedparser'\nrequire 'erb'\n\n# step 1) read a list of web feeds\n\nFEED_URLS = [\n  'http://vienna-rb.at/atom.xml',\n  'http://weblog.rubyonrails.org/feed/atom.xml',\n  'http://www.ruby-lang.org/en/feeds/news.rss'\n]\n\nitems = []\n\nFEED_URLS.each do |url|\n  feed = FeedParser::Parser.parse( open( url ).read )\n  items += feed.items\nend\n\n# step 2) mix up all postings in a new page\n\nFEED_ITEM_TEMPLATE = \u003c\u003cEOS\n\u003c%% items.each do |item| %\u003e\n  \u003cdiv class=\"item\"\u003e\n    \u003ch2\u003e\u003ca href=\"\u003c%%= item.url %\u003e\"\u003e\u003c%%= item.title %\u003e\u003c/a\u003e\u003c/h2\u003e\n    \u003cdiv\u003e\u003c%%= item.content %\u003e\u003c/div\u003e\n  \u003c/div\u003e\n\u003c%% end %\u003e\nEOS\n\nputs ERB.new( FEED_ITEM_TEMPLATE ).result\n```\n\n\n## Related Projects\n\n* [moonmoon](https://github.com/moonmoon/moonmoon) \n* [hrw/very-simple-planet-aggregator](https://github.com/hrw/very-simple-planet-aggregator) - [Article](https://marcin.juszkiewicz.com.pl/2020/01/22/vspa-very-simple-planet-aggregator/)\n* [sep/planet_ex](https://github.com/sep/planet_ex) - [Article](https://www.sep.com/sep-blog/2018/10/01/announcing-planetex-an-open-source-blog-aggregator-written-in-elixir/)\n  \u003e PlanetEx is an Elixir application for aggregating employee and SharePoint blogs.\n\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/web-work-tools%2Fawesome-planet-pluto/projects"}