Author: sebb
Date: Fri Apr 27 13:20:14 2018
New Revision: 1830351
URL: http://svn.apache.org/viewvc?rev=1830351&view=rev
Log:
Create a public JSON version of the project data
Modified:
attic/site-jekyll/src/_plugins/postwrite.rb
Modified: attic/site-jekyll/src/_plugins/postwrite.rb
URL:
http://svn.apache.org/viewvc/attic/site-jekyll/src/_plugins/postwrite.rb?rev=1830351&r1=1830350&r2=1830351&view=diff
==============================================================================
--- attic/site-jekyll/src/_plugins/postwrite.rb (original)
+++ attic/site-jekyll/src/_plugins/postwrite.rb Fri Apr 27 13:20:14 2018
@@ -2,8 +2,14 @@
# This is run after the site has been written
# Note that the dist/GHOST name is assumed to be the same as the project
+# The script also creates a JSON version of the input data for public
consumption
+# The version omits details that are internal only.
+
+require 'json'
+
# Register this code to run in the site scope after the site has been written
Jekyll::Hooks.register :site, :post_write do |site|
+ output=Array.new()
site.data['projects'].each do |prj|
project = prj['project']
if project # Not all entries correspond to a project
@@ -18,5 +24,25 @@ Jekyll::Hooks.register :site, :post_writ
end
end
end
+ prout = Hash.new()
+ # Extract the useful keys
+ %W{name stem retired project subproject website mailnames dist scmURL
issueURL wiki board description}.each do |k|
+ case k
+ when 'dist'
+ if prj[k]
+ if prj[k] == ''
+# prout[k] = ''
+ else
+ prout[k] = "http://archive.apache.org/dist/#{prj[k]}"
+ end
+ end
+ # TODO any others need massaging?
+ else
+ prout[k] = prj[k] if prj[k]
+ end
+ end
+ output << prout
end
+ puts site.dest
+ File.write(File.join(site.dest,'projects.json'),
JSON.pretty_generate(output))
end
\ No newline at end of file