Coder Social home page Coder Social logo

feedreader / planet.rb Goto Github PK

View Code? Open in Web Editor NEW
34.0 2.0 3.0 47 KB

planet.rb quick starter script - (auto-) add articles & blog posts to your (jekyll & friends) static website via feeds (and planet pluto)

License: Creative Commons Zero v1.0 Universal

Ruby 100.00%
jekyll planet pluto planetplanet atom rss feedreader newsreader feed

planet.rb's Introduction

planet.rb quick starter script - (auto-)add articles & blog posts to your static (jekyll & friends) website via feeds (and planet pluto)

Usage

Step 1: Planet Pluto Configuration

Use the Planet Pluto machinery to setup your planet and feed list. Example planet.ini:

title = Planet Ruby

[rubylang]
  title = Ruby Lang News
  link  = http://www.ruby-lang.org/en/news
  feed  = http://www.ruby-lang.org/en/feeds/news.rss

[rubyconf]
  title = Ruby Conferences 'n' Camps in 2020 - What's Upcoming?
  link  = http://planetruby.github.io/calendar/2020
  feed  = http://planetruby.github.io/calendar/feed.xml

[rubyonrails]
  title = Ruby on Rails Blog
  link  = http://weblog.rubyonrails.org
  feed  = http://weblog.rubyonrails.org/feed/atom.xml

[jekyll]
  title = Jekyll News
  link  = https://jekyllrb.com/news
  feed  = https://jekyllrb.com/feed.xml

Use the pluto command line tool and pass in the planet configuration. Example:

$ pluto update planet.ini

This will

  1. fetch all feeds listed in planet.ini and

  2. store all entries in a local database, that is, planet.db in your working folder.

Resulting in:

pluto/1.3.2 on Ruby 2.3.3
[info] db settings:
[info] {:adapter=>"sqlite3", :database=>"./planet.db"}
[info] Updating feed subscription >rubylang< - >http://www.ruby-lang.org/en/feeds/news.rss<...
[info] Updating feed subscription >rubyconf< - >http://planetruby.github.io/calendar/feed.xml<...
[info] Updating feed subscription >rubyonrails< - >http://weblog.rubyonrails.org/feed/atom.xml<...
[info] Updating feed subscription >jekyll< - >https://jekyllrb.com/feed.xml<...
[info] OK - fetching feed 'rubylang' - HTTP status 200 OK
[info] ** NEW | Ruby 2.7.0 Released
[info] ** NEW | Ruby 2.7.0-rc2 Released
[info] ** NEW | Ruby 2.7.0-rc1 Released
[info] ** NEW | Separation of positional and keyword arguments in Ruby 3.0
[info] ** NEW | Ruby 2.7.0-preview3 Released
[info] ** NEW | Ruby 2.7.0-preview2 Released
[info] ** NEW | 2020 Fukuoka Ruby Award Competition - Entries to be judged by Matz
[info] ** NEW | Ruby 2.4.9 Released
[info] ** NEW | CVE-2019-16201: Regular Expression Denial of Service vulnerability of WEBrick's Digest...
[info] ** NEW | Ruby 2.6.5 Released
[info] OK - fetching feed 'rubyconf' - HTTP status 200 OK
[info] ** NEW | Rails Camp West @ Diablo Lake, Washington, United States - Ruby Conferences 'n' Camps Update
[info] ** NEW | RubyConf Belarus (BY) @ Minsk, Belarus - Ruby Conferences 'n' Camps Update
[info] ** NEW | Birmingham on Rails @ Birmingham, Alabama, United States - Ruby Conferences 'n' Camps Update
[info] ** NEW | RubyConf Australia @ Melbourne, Victoria, Australia - Ruby Conferences 'n' Camps Update
[info] ** NEW | ParisRB Conf @ Paris, France - Ruby Conferences 'n' Camps Update
[info] ** NEW | Rubyfuza @ Cape Town, South Africa - Ruby Conferences 'n' Camps Update
[info] OK - fetching feed 'rubyonrails' - HTTP status 200 OK
[info] ** NEW | This week in Rails - Rack 2.1 released, disallowed deprecations, and more!
[info] ** NEW | This week in Rails - Deprecations, bugfixes and improvements!
[info] ** NEW | This week in Rails - The 2019 edition
[info] ** NEW | Ruby 2.7.0, Rails 6.0.2.1 and more
[info] ** NEW | Rails 5.2.4.1 has been released!
[info] ** NEW | Rails 6.0.2.1 has been released!
[info] ** NEW | Rails 6.0.2 has been released!
[info] ** NEW | Rails 6.0.2.rc2 has been released!
[info] ** NEW | Rails 6.0.2.rc1, 5.2.4, and something different…
[info] ** NEW | Rails 5.2.4 has been released!
[info] OK - fetching feed 'jekyll' - HTTP status 200 OK
[info] ** NEW | Jekyll 4.0.0 Released
[info] ** NEW | Jekyll 4.0.0.pre.beta1 Released
[info] ** NEW | Jekyll 3.8.6 Released
[info] ** NEW | Jekyll 4.0.0.pre.alpha1 Released
[info] ** NEW | Jekyll 3.8.5 Released
[info] ** NEW | Security Fixes for series 3.6, 3.7 and 3.8
[info] ** NEW | Sponsoring Jekyll’s development
[info] ** NEW | Jekyll 3.8.3 Released
[info] ** NEW | Jekyll 3.8.2 Released
[info] ** NEW | Jekyll 3.8.1 Released
Done.

See the Planet Pluto documentation for more ».

Step 2: Generate Planet Posts for Your Static (Jekyll & Friends) Website

Use the planet.rb script to generate the blog posts for your static (jekyll & friends) website. Example:

$ ruby ./planet.rb

This will

  1. fetch the latest entries from the local database, that is, planet.db and

  2. generate a blog story for every entry in _posts/

Resulting in:

planet.rb/1.0.0 on Ruby 2.3.3
db settings:
{:adapter=>"sqlite3", :database=>"./planet.db"}
[info] db settings:
[info] {:adapter=>"sqlite3", :database=>"./planet.db"}
[1] This week in Rails - Rack 2.1 released, disallowed deprecations, and more!
[2] Rails Camp West @ Diablo Lake, Washington, United States - Ruby Conferences 'n' Camps Update
[3] RubyConf Belarus (BY) @ Minsk, Belarus - Ruby Conferences 'n' Camps Update
[4] This week in Rails - Deprecations, bugfixes and improvements!
[5] This week in Rails - The 2019 edition
[6] Birmingham on Rails @ Birmingham, Alabama, United States - Ruby Conferences 'n' Camps Update
[7] Ruby 2.7.0, Rails 6.0.2.1 and more
[8] Ruby 2.7.0 Released
[9] Ruby 2.7.0-rc2 Released
[10] Rails 5.2.4.1 has been released!
...

And if you check the _posts/ folder now listing:

_posts/
   2019-12-18-rails_5241_has_been_released.html
   2019-12-21-ruby_270-rc2_released.html
   2019-12-25-ruby_270_released.html
   2019-12-27-ruby_270_rails_6021_and_more.html
   2020-01-02-birmingham_on_rails_birmingham_alabama_united_states.html
   2020-01-05-this_week_in_rails_-_the_2019_edition.html
   2020-01-11-this_week_in_rails_-_deprecations_bugfixes_and_improvements.html
   2020-01-16-rails_camp_west_diablo_lake_washington_united_states.html
   2020-01-16-rubyconf_belarus_by_minsk_belarus_-_ruby_conferences_n_camps_update.html
   2020-01-19-this_week_in_rails_-_rack_21_released_disallowed_deprecations_and_more.html
   ...

For example the feed entry "Ruby 2.7.0 Released":

<p>We are pleased to announce the release of Ruby 2.7.0.</p>

<p>It introduces a number of new features and performance improvements,
most notably:</p>

<ul>
  <li>Pattern Matching</li>
  <li>REPL improvement</li>
  <li>Compaction GC</li>
  <li>Separation of positional and keyword arguments</li>
</ul>
...

becomes _posts/2019-12-25-ruby_270_released.html:

---
title:      "Ruby 2.7.0 Released"
created_at: 2019-12-25 00:00:00 UTC
author:     Ruby Lang News
layout:     post
original_link: "https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/"
---
<p>We are pleased to announce the release of Ruby 2.7.0.</p>

<p>It introduces a number of new features and performance improvements,
most notably:</p>

<ul>
  <li>Pattern Matching</li>
  <li>REPL improvement</li>
  <li>Compaction GC</li>
  <li>Separation of positional and keyword arguments</li>
</ul>
...

Step 3: Use Your Static (Jekyll & Friends) Website Compiler to Build Your Website

Nothing new. Use your static (jekyll & friends) website compiler as usual to build your website. Example:

$ jekyll build

See the sample live version @ feedreader.github.io/jekyll.planet.sample (Source).

That's it.

Examples in the Real World

Add Your Setup Here!

License

The planet.rb scripts are dedicated to the public domain. Use it as you please with no restrictions whatsoever.

Questions? Comments?

Send them along to the wwwmake Forum. Thanks!

planet.rb's People

Contributors

geraldb avatar virresh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

planet.rb's Issues

RubyGem yanked

Why did you yank the gem from RubyGems?

It worked flawlessly, but now every project depending on it has to be updated, causing additional maintenance/cost.

Command line tool

Hi,

I'm not sure if you're still maintaining this. I have one small problem, but it's stopping me even getting started. I install the gem, but the command line tool mentioned isn't available.

Any ideas and thanks :)

Not Getting Original_Link

when running ruby -r 'jekyll/planet' -e 'JekyllPlanet.main' None of my posts have original_link in the frontmatter. There is definitely a <link> in the content as well

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.