strelka-cms 0.0.1.pre.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.gemtest +0 -0
  3. data/ChangeLog +33 -0
  4. data/History.rdoc +4 -0
  5. data/Manifest.txt +52 -0
  6. data/Procfile +4 -0
  7. data/README.rdoc +74 -0
  8. data/Rakefile +68 -0
  9. data/data/strelka-cms/apps/content-feeds +194 -0
  10. data/data/strelka-cms/apps/content-manager +159 -0
  11. data/data/strelka-cms/templates/autoindex/default.tmpl +11 -0
  12. data/data/strelka-cms/templates/layout.tmpl +58 -0
  13. data/data/strelka-cms/templates/page.tmpl +21 -0
  14. data/etc/mongrel.rb +34 -0
  15. data/lib/strelka/cms.rb +42 -0
  16. data/lib/strelka/cms/page.rb +322 -0
  17. data/lib/strelka/cms/pagecatalog.rb +121 -0
  18. data/lib/strelka/cms/pagefilter.rb +76 -0
  19. data/lib/strelka/cms/pagefilter/autoindex.rb +140 -0
  20. data/lib/strelka/cms/pagefilter/cleanup.rb +40 -0
  21. data/lib/strelka/cms/pagefilter/editorial.rb +55 -0
  22. data/lib/strelka/cms/pagefilter/example.rb +232 -0
  23. data/lib/strelka/cms/pagefilter/strip.rb +30 -0
  24. data/lib/strelka/cms/pagefilter/textile.rb +20 -0
  25. data/public/humans.txt +8 -0
  26. data/public/images/misc/button-gloss.png +0 -0
  27. data/public/images/misc/button-overlay.png +0 -0
  28. data/public/images/misc/custom-form-sprites.png +0 -0
  29. data/public/images/misc/input-bg-outset.png +0 -0
  30. data/public/images/misc/input-bg.png +0 -0
  31. data/public/images/misc/modal-gloss.png +0 -0
  32. data/public/images/misc/table-sorter.png +0 -0
  33. data/public/images/orbit/bullets.jpg +0 -0
  34. data/public/images/orbit/left-arrow.png +0 -0
  35. data/public/images/orbit/loading.gif +0 -0
  36. data/public/images/orbit/mask-black.png +0 -0
  37. data/public/images/orbit/pause-black.png +0 -0
  38. data/public/images/orbit/right-arrow.png +0 -0
  39. data/public/images/orbit/rotator-black.png +0 -0
  40. data/public/images/orbit/timer-black.png +0 -0
  41. data/public/index.page +46 -0
  42. data/public/javascripts/app.js +98 -0
  43. data/public/javascripts/foundation.js +12 -0
  44. data/public/javascripts/jquery.min.js +4 -0
  45. data/public/javascripts/modernizr.foundation.js +4 -0
  46. data/public/robots.txt +4 -0
  47. data/public/stylesheets/app.css +30 -0
  48. data/public/stylesheets/foundation.css +1424 -0
  49. data/public/stylesheets/ie.css +13 -0
  50. data/spec/data/test.page +22 -0
  51. data/spec/lib/helpers.rb +58 -0
  52. data/spec/strelka/cms/page_spec.rb +139 -0
  53. data/spec/strelka/cms/pagecatalog_spec.rb +94 -0
  54. data/spec/strelka/cms_spec.rb +27 -0
  55. metadata +346 -0
  56. metadata.gz.sig +0 -0
@@ -0,0 +1,13 @@
1
+ /* Foundation v2.2.1 http://foundation.zurb.com */
2
+ /* This is for all IE specfific style less than IE9. We hate IE. */
3
+
4
+ div.panel { border: 1px solid #ccc; }
5
+ .lt-ie8 .nav-bar li.has-flyout a { padding-right: 20px; }
6
+ .lt-ie8 .nav-bar li.has-flyout a:after { border-top: none; }
7
+
8
+ /* Correct IE7 button padding */
9
+ .lt-ie8 input[type=submit].nice.button { filter:chroma(color=#000000); position: relative; top: -2px; }
10
+ .lt-ie8 input[type=submit].tiny.button { padding: 5px 5px 7px; }
11
+ .lt-ie8 input[type=submit].small.button { padding: 8px 7px 9px; }
12
+ .lt-ie8 input[type=submit].medium.button { padding: 9px 13px 9px; }
13
+ .lt-ie8 input[type=submit].large.button { padding: 9px 18px 10px; }
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: False Advertising
3
+ template: blogentry.tmpl
4
+ date: Thu Apr 07 11:26:42 2011 -0700
5
+ filters:
6
+ - strip
7
+ - textile
8
+ ---
9
+
10
+ If there's one trend I wish would go away in the Open Source community, and especially the Ruby community, it's the practice of over-marketing. There seem to be an endless stream of projects which start to gain in popularity, usually tangentially to the popularity or prestige of some website or another, but then are hyped and marketed and start to make grandiose claims about how much better or novel it is, and it's almost always gross exaggeration.
11
+
12
+ I love to see companies release their internal technology; I think it benefits them in all the usual Open Source ways, and provides the community with not only potentially-useful software, but also more examples of how programmers are thinking about problems. This kind of corpus of reference code is instrumental in the betterment of the legions of us that are self-taught. But just because Yahoo or Facebook or Github or Engine Yard are using it, doesn't mean that it's necessarily better or brighter or a new way of solving a problem. People seem to assume that just because the code is behind a very high-traffic site, or used by thousands of people, that it's inherently great. As I imagine anyone that's worked behind the scenes at a company whose website became popular very quickly would agree, that's a flawed assumption. Code that's written under the gun to shore up a sagging infrastructure is usually expedient code, haphazardly tested, and solves only a very narrow subset of its problem domain. It can, and often does, get better, but code that's a cornerstone of a site that has to be up all the time can only grow and improve at a cautious pace.
13
+
14
+ This is especially true of software that's hyped as being "faster" than something it's intended to replace. What the marketing hype usually fails to mention is that all that speed comes at the cost of cutting some fairly critical corners. Of course a "data structure server" can claim to be "blazing fast" if it sacrifices reliability to do so. If you don't have to worry about things like transactional isolation and two-phase commit, you can make any software much faster than software that provides these kinds of safeguards. The apologists are quick to point out that you don't always need reliability, and that's true, but the second you add persistence to a datastore, I'd argue that you expect to be able to predict the state that's persisted at any given time. Taken to the ridiculous extreme, a datastore that doesn't actually "store" anything would be blindingly fast, but useless; it's the careful balance between reliability and performance that informs our decisions about what technology to use.
15
+
16
+ The same is true for the raft of software claiming to be "less bloated", or "pure Ruby", or (my personal peeve) "more DRY". It always seems to accrete around anything that gains critical mass, usually with a commensurate minimal fraction of the original's functionality.
17
+
18
+ At the very least, these kinds of caveats should be taken into consideration when talking about and comparing software, and should temper the fanatical hype that usually surrounds whatever New Shiny is in favor with the Code As Fashion people. Good software takes time to perfect, so I don't expect that it'll come out with all the problems solved immediately, but the marketing should take that into account.
19
+
20
+ Also: please stop thinking of memcached like a database. It's a _distributed_ *cache*.
21
+
22
+
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/ruby
2
+ # coding: utf-8
3
+
4
+ BEGIN {
5
+ require 'pathname'
6
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent
7
+
8
+ srcdir = basedir.parent
9
+ strelkadir = srcdir + 'Strelka/lib'
10
+
11
+ libdir = basedir + "lib"
12
+
13
+ $LOAD_PATH.unshift( strelkadir.to_s ) unless $LOAD_PATH.include?( strelkadir.to_s )
14
+ $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
15
+ $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
16
+ }
17
+
18
+ # SimpleCov test coverage reporting; enable this using the :coverage rake task
19
+ if ENV['COVERAGE']
20
+ $stderr.puts "\n\n>>> Enabling coverage report.\n\n"
21
+ require 'simplecov'
22
+ SimpleCov.start do
23
+ add_filter 'spec'
24
+ add_group "Needing tests" do |file|
25
+ file.covered_percent < 90
26
+ end
27
+ end
28
+ end
29
+
30
+ require 'loggability'
31
+ require 'loggability/spechelpers'
32
+ require 'pathname'
33
+
34
+ require 'rspec'
35
+ require 'mongrel2'
36
+ require 'mongrel2/testing'
37
+
38
+ require 'strelka'
39
+ require 'strelka/cms'
40
+
41
+
42
+ ### RSpec helper functions.
43
+ module Strelka::CMS::SpecHelpers
44
+ end
45
+
46
+
47
+
48
+ ### Mock with RSpec
49
+ RSpec.configure do |c|
50
+ c.mock_with( :rspec )
51
+
52
+ c.include( Loggability::SpecHelpers )
53
+ c.include( Mongrel2::SpecHelpers )
54
+ c.include( Strelka::CMS::SpecHelpers )
55
+ end
56
+
57
+ # vim: set nosta noet ts=4 sw=4:
58
+
@@ -0,0 +1,139 @@
1
+ # -*- ruby -*-
2
+ # vim: set nosta noet ts=4 sw=4:
3
+ # encoding: utf-8
4
+
5
+ BEGIN {
6
+ require 'pathname'
7
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
8
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
+ }
10
+
11
+ require 'pathname'
12
+ require 'tmpdir'
13
+ require 'tempfile'
14
+ require 'stringio'
15
+
16
+ require 'rspec'
17
+
18
+ require 'spec/lib/helpers'
19
+ require 'strelka/cms'
20
+ require 'strelka/cms/page'
21
+
22
+
23
+ #####################################################################
24
+ ### C O N T E X T S
25
+ #####################################################################
26
+
27
+ describe Strelka::CMS::Page do
28
+
29
+ TEST_DOCUMENT = (<<-END_TEST_DOCUMENT).gsub( /^\t/, '' )
30
+ ---
31
+ title: Projects
32
+ filters:
33
+ - strip
34
+ - textile
35
+ tags:
36
+ - goals
37
+ - to do
38
+ ---
39
+
40
+ h1. Projects
41
+
42
+ * Take out the trash.
43
+ * Replaster the chapel.
44
+ * Invent unlimited free energy source.
45
+ * Rule the galaxy.
46
+
47
+ END_TEST_DOCUMENT
48
+
49
+ before( :all ) do
50
+ setup_logging()
51
+ end
52
+
53
+ after( :all ) do
54
+ reset_logging()
55
+ end
56
+
57
+
58
+ it "can load a page from from disk" do
59
+ tmp = Tempfile.new( 'test.page' )
60
+ tmp.write( TEST_DOCUMENT )
61
+ tmp.close
62
+
63
+ page = described_class.load( tmp.path )
64
+
65
+ page.title.should == 'Projects'
66
+ page.tags.should include( 'goals', 'to do' )
67
+ page.content.should include( 'Replaster the chapel.' )
68
+ page.path.to_s.should == tmp.path
69
+ end
70
+
71
+ it "can read a page from an IO stream" do
72
+ io = StringIO.new( TEST_DOCUMENT, 'r' )
73
+
74
+ page = described_class.read( io )
75
+
76
+ page.title.should == 'Projects'
77
+ page.tags.should include( 'goals', 'to do' )
78
+ page.content.should include( 'Replaster the chapel.' )
79
+ end
80
+
81
+ it "can parse a page from source" do
82
+ page = described_class.parse( TEST_DOCUMENT )
83
+
84
+ page.title.should == 'Projects'
85
+ page.tags.should include( 'goals', 'to do' )
86
+ page.content.should include( 'Replaster the chapel.' )
87
+ end
88
+
89
+
90
+ context "with no options (empty header)" do
91
+
92
+ before( :all ) do
93
+ @content = "h1. Title\n\nSome content.\n<?bogus?>"
94
+ end
95
+
96
+ before( :each ) do
97
+ @page = described_class.new( @content )
98
+ end
99
+
100
+
101
+ it "has a default set of filters" do
102
+ @page.filters.should == %w[strip textile]
103
+ end
104
+
105
+ it "returns its contents after applying filters when stringified" do
106
+ @page.to_s.should == %{<h1>Title</h1>\n<p>Some content.</p>}
107
+ end
108
+
109
+ it "can return its first heading" do
110
+ @page.first_heading.should == 'Title'
111
+ end
112
+
113
+ end
114
+
115
+
116
+ context "with a catalog" do
117
+
118
+ before( :all ) do
119
+ @basedir = Pathname( Dir.tmpdir )
120
+ @subdir = @basedir + 'sub'
121
+ @subdir.mkpath
122
+ @pagefile = Tempfile.new( 'test.page', @subdir )
123
+ @pagefile.write( TEST_DOCUMENT )
124
+ @pagefile.close
125
+ end
126
+
127
+ before( :each ) do
128
+ @catalog = Strelka::CMS::PageCatalog.new( @basedir )
129
+ @page = described_class.load( @pagefile.path, @catalog )
130
+ end
131
+
132
+ it "knows what its path relative to its catalog's base is" do
133
+ @page.relative_path.should == Pathname( @pagefile.path ).relative_path_from( @catalog.basedir )
134
+ end
135
+
136
+ end
137
+
138
+ end
139
+
@@ -0,0 +1,94 @@
1
+ # -*- ruby -*-
2
+ # vim: set nosta noet ts=4 sw=4:
3
+ # encoding: utf-8
4
+
5
+ BEGIN {
6
+ require 'pathname'
7
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
8
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
+ }
10
+
11
+ require 'pathname'
12
+ require 'tmpdir'
13
+ require 'tempfile'
14
+ require 'stringio'
15
+
16
+ require 'rspec'
17
+
18
+ require 'spec/lib/helpers'
19
+ require 'strelka/cms'
20
+ require 'strelka/cms/page'
21
+ require 'strelka/cms/pagecatalog'
22
+
23
+
24
+ #####################################################################
25
+ ### C O N T E X T S
26
+ #####################################################################
27
+
28
+ describe Strelka::CMS::PageCatalog do
29
+
30
+ before( :all ) do
31
+ setup_logging()
32
+ @basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
33
+ end
34
+
35
+ after( :all ) do
36
+ reset_logging()
37
+ end
38
+
39
+
40
+ context "created with defaults" do
41
+
42
+ subject { described_class.new }
43
+
44
+ it "has a glob pattern that matches .page files under the current directory" do
45
+ subject.glob.should == "#{Dir.pwd}/**/*.page"
46
+ end
47
+
48
+ end
49
+
50
+
51
+ context "created with a base directory" do
52
+
53
+ subject { described_class.new(@basedir) }
54
+
55
+
56
+ it "has a glob pattern that matches .page files under the directory it was created with" do
57
+ subject.glob.should == "#@basedir/**/*.page"
58
+ end
59
+
60
+ end
61
+
62
+
63
+ context "created with a base directory and a glob pattern" do
64
+
65
+ subject { described_class.new(@basedir, '**/*.rb') }
66
+
67
+
68
+ it "has a glob pattern that matches files that match the pattern under the directory it was " +
69
+ "created with" do
70
+ subject.glob.should == "#@basedir/**/*.rb"
71
+ end
72
+
73
+ it "has a mutator that clones it for a subdirectory" do
74
+ subject.relative_to( 'lib' ).glob.should == "#@basedir/lib/**/*.rb"
75
+ end
76
+
77
+ it "has a mutator that clones it for a different glob pattern" do
78
+ subject.matching_pattern( "*.txt" ).glob.should == "#@basedir/*.txt"
79
+ end
80
+
81
+ it "has an iterator that yields files that match its glob pattern" do
82
+ subject.relative_to( 'lib' ).map( &:path ).should include( @basedir + 'lib/strelka/cms.rb' )
83
+ end
84
+
85
+ it "strips leading directory separators from relative paths" do
86
+ subject.relative_to( '/lib' ).glob.should == "#@basedir/lib/**/*.rb"
87
+ end
88
+
89
+
90
+ end
91
+
92
+
93
+ end
94
+
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env rspec -cfd -b
2
+
3
+ BEGIN {
4
+ require 'pathname'
5
+ basedir = Pathname( __FILE__ ).dirname.parent.parent
6
+ $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
7
+ }
8
+
9
+ require 'rspec'
10
+ require 'spec/lib/helpers'
11
+ require 'strelka/cms'
12
+
13
+ describe Strelka::CMS do
14
+
15
+ describe "version methods" do
16
+ it "returns a version string if asked" do
17
+ described_class.version_string.should =~ /\w+ [\d.]+/
18
+ end
19
+
20
+
21
+ it "returns a version string with a build number if asked" do
22
+ described_class.version_string(true).should =~ /\w+ [\d.]+ \(build [[:xdigit:]]+\)/
23
+ end
24
+ end
25
+
26
+ end
27
+
metadata ADDED
@@ -0,0 +1,346 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: strelka-cms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.pre.15
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michael Granger
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain:
12
+ - !binary |-
13
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJB
14
+ Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE4TVF3d0NnWURWUVFEREFOblpX
15
+ UXgKRnpBVkJnb0praWFKay9Jc1pBRVpGZ2RmWVdWeWFXVmZNUk13RVFZS0Na
16
+ SW1pWlB5TEdRQkdSWURiM0puTUI0WApEVEV3TURreE5qRTBORGcxTVZvWERU
17
+ RXhNRGt4TmpFME5EZzFNVm93UERFTU1Bb0dBMVVFQXd3RFoyVmtNUmN3CkZR
18
+ WUtDWkltaVpQeUxHUUJHUllIWDJGbGNtbGxYekVUTUJFR0NnbVNKb21UOGl4
19
+ a0FSa1dBMjl5WnpDQ0FTSXcKRFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURD
20
+ Q0FRb0NnZ0VCQUx5Ly9CRnhDMWYvY1BTbnd0SkJXb0ZpRnJpcgpoN1JpY0kr
21
+ am9xL29jVlhRcUk0VERXUHlGLzh0cWt2dCtyRDk5WDlxczJZZVI4Q1UvWWlJ
22
+ cExXclFPWVNUNzBKCnZEbjdVdmhiMm11RlZxcTYrdm9iZVRrSUxCRU82cGlv
23
+ bldERzhqU2JvM3FLbTFSaktKRHdnOXA0d05LaFB1dTgKS0d1ZS9CRmI2N0tm
24
+ bHF5QXBQbVBlYjNWZGQ5Y2xzcHpxZUZxcDdjVUJNRXBGUzZMV3h5NEdrK3F2
25
+ RkZKQkpMQgpCVUhFL0xaVkpNVnpmcEM1VXErUW1ZN0IrRkgvUXFObmRuM3RP
26
+ SGdzUGFkTFROaW11QjFzQ3VMMWE0ejNQZXBkClRlTEJFRm1FYW81RGszSy9R
27
+ OG84dmxiSUIvakJEVFV4NkRqYmd4dzc3OTA5eDZnSTlkb1U0TEQ1WE1jQ0F3
28
+ RUEKQWFNNU1EY3dDUVlEVlIwVEJBSXdBREFMQmdOVkhROEVCQU1DQkxBd0hR
29
+ WURWUjBPQkJZRUZKZW9Ha09yOWw0Qgorc2FNa1cvWlhUNFVlU3ZWTUEwR0NT
30
+ cUdTSWIzRFFFQkJRVUFBNElCQVFCRzJLT2J2WUkyZUh5eUJVSlNKM2pOCnZF
31
+ blUzZDYwem5BWGJyU2QycWIzcjFsWTFFUEREM2JjeTBNZ2dDZkdkZzNYdTU0
32
+ ejIxb3F5SWRrOHVHdFdCUEwKSElhOUVnZkZHU1VFZ3ZjSXZhWXFpTjRqVFV0
33
+ aWRmRUZ3K0x0anM4QVA5Z1dnU0lZUzZHcjM4VjBXR0ZGTnpJSAphT0Qyd211
34
+ OW9vL1JmZlc0aFMvOEd1dmZNemN3N0NRMzU1d0ZSNEtCL255emUrRXNaMVk1
35
+ RGVyQ0FhZ01WdURRClUwQkxtV0RGelBHR1dsUGVRQ3JZSENyK0FjSnorTlJu
36
+ YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
37
+ Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
38
+ cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
39
+ date: 2012-07-20 00:00:00.000000000 Z
40
+ dependencies:
41
+ - !ruby/object:Gem::Dependency
42
+ name: strelka
43
+ requirement: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '0.0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: '0.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: ratom
59
+ requirement: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ~>
63
+ - !ruby/object:Gem::Version
64
+ version: '0.6'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ~>
71
+ - !ruby/object:Gem::Version
72
+ version: '0.6'
73
+ - !ruby/object:Gem::Dependency
74
+ name: RedCloth
75
+ requirement: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ version: '4.2'
81
+ type: :runtime
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ version: '4.2'
89
+ - !ruby/object:Gem::Dependency
90
+ name: summarize
91
+ requirement: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
97
+ type: :runtime
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ version: '1.0'
105
+ - !ruby/object:Gem::Dependency
106
+ name: nokogiri
107
+ requirement: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ~>
111
+ - !ruby/object:Gem::Version
112
+ version: '1.4'
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: '1.4'
121
+ - !ruby/object:Gem::Dependency
122
+ name: pluginfactory
123
+ requirement: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ~>
127
+ - !ruby/object:Gem::Version
128
+ version: '1.0'
129
+ type: :runtime
130
+ prerelease: false
131
+ version_requirements: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ~>
135
+ - !ruby/object:Gem::Version
136
+ version: '1.0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: tidy-ext
139
+ requirement: !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ~>
143
+ - !ruby/object:Gem::Version
144
+ version: '0.1'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '0.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rcodetools
155
+ requirement: !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ~>
159
+ - !ruby/object:Gem::Version
160
+ version: '0.8'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ none: false
165
+ requirements:
166
+ - - ~>
167
+ - !ruby/object:Gem::Version
168
+ version: '0.8'
169
+ - !ruby/object:Gem::Dependency
170
+ name: hoe-mercurial
171
+ requirement: !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ~>
175
+ - !ruby/object:Gem::Version
176
+ version: 1.4.0
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ~>
183
+ - !ruby/object:Gem::Version
184
+ version: 1.4.0
185
+ - !ruby/object:Gem::Dependency
186
+ name: hoe-highline
187
+ requirement: !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ~>
191
+ - !ruby/object:Gem::Version
192
+ version: 0.1.0
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ none: false
197
+ requirements:
198
+ - - ~>
199
+ - !ruby/object:Gem::Version
200
+ version: 0.1.0
201
+ - !ruby/object:Gem::Dependency
202
+ name: rdoc
203
+ requirement: !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ~>
207
+ - !ruby/object:Gem::Version
208
+ version: '3.10'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ none: false
213
+ requirements:
214
+ - - ~>
215
+ - !ruby/object:Gem::Version
216
+ version: '3.10'
217
+ - !ruby/object:Gem::Dependency
218
+ name: hoe-deveiate
219
+ requirement: !ruby/object:Gem::Requirement
220
+ none: false
221
+ requirements:
222
+ - - ~>
223
+ - !ruby/object:Gem::Version
224
+ version: '0.1'
225
+ type: :development
226
+ prerelease: false
227
+ version_requirements: !ruby/object:Gem::Requirement
228
+ none: false
229
+ requirements:
230
+ - - ~>
231
+ - !ruby/object:Gem::Version
232
+ version: '0.1'
233
+ - !ruby/object:Gem::Dependency
234
+ name: hoe
235
+ requirement: !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
238
+ - - ~>
239
+ - !ruby/object:Gem::Version
240
+ version: '3.0'
241
+ type: :development
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ none: false
245
+ requirements:
246
+ - - ~>
247
+ - !ruby/object:Gem::Version
248
+ version: '3.0'
249
+ description: ! 'This is a content-management application for Mongrel2 servers
250
+
251
+ written as a Strelka plugin.'
252
+ email:
253
+ - ged@FaerieMUD.org
254
+ executables: []
255
+ extensions: []
256
+ extra_rdoc_files:
257
+ - History.rdoc
258
+ - Manifest.txt
259
+ - README.rdoc
260
+ - public/humans.txt
261
+ - public/robots.txt
262
+ files:
263
+ - ChangeLog
264
+ - History.rdoc
265
+ - Manifest.txt
266
+ - Procfile
267
+ - README.rdoc
268
+ - Rakefile
269
+ - data/strelka-cms/apps/content-feeds
270
+ - data/strelka-cms/apps/content-manager
271
+ - data/strelka-cms/templates/autoindex/default.tmpl
272
+ - data/strelka-cms/templates/layout.tmpl
273
+ - data/strelka-cms/templates/page.tmpl
274
+ - etc/mongrel.rb
275
+ - lib/strelka/cms.rb
276
+ - lib/strelka/cms/page.rb
277
+ - lib/strelka/cms/pagecatalog.rb
278
+ - lib/strelka/cms/pagefilter.rb
279
+ - lib/strelka/cms/pagefilter/autoindex.rb
280
+ - lib/strelka/cms/pagefilter/cleanup.rb
281
+ - lib/strelka/cms/pagefilter/editorial.rb
282
+ - lib/strelka/cms/pagefilter/example.rb
283
+ - lib/strelka/cms/pagefilter/strip.rb
284
+ - lib/strelka/cms/pagefilter/textile.rb
285
+ - public/humans.txt
286
+ - public/images/misc/button-gloss.png
287
+ - public/images/misc/button-overlay.png
288
+ - public/images/misc/custom-form-sprites.png
289
+ - public/images/misc/input-bg-outset.png
290
+ - public/images/misc/input-bg.png
291
+ - public/images/misc/modal-gloss.png
292
+ - public/images/misc/table-sorter.png
293
+ - public/images/orbit/bullets.jpg
294
+ - public/images/orbit/left-arrow.png
295
+ - public/images/orbit/loading.gif
296
+ - public/images/orbit/mask-black.png
297
+ - public/images/orbit/pause-black.png
298
+ - public/images/orbit/right-arrow.png
299
+ - public/images/orbit/rotator-black.png
300
+ - public/images/orbit/timer-black.png
301
+ - public/index.page
302
+ - public/javascripts/app.js
303
+ - public/javascripts/foundation.js
304
+ - public/javascripts/jquery.min.js
305
+ - public/javascripts/modernizr.foundation.js
306
+ - public/robots.txt
307
+ - public/stylesheets/app.css
308
+ - public/stylesheets/foundation.css
309
+ - public/stylesheets/ie.css
310
+ - spec/data/test.page
311
+ - spec/lib/helpers.rb
312
+ - spec/strelka/cms/page_spec.rb
313
+ - spec/strelka/cms/pagecatalog_spec.rb
314
+ - spec/strelka/cms_spec.rb
315
+ - .gemtest
316
+ homepage: https://bitbucket.org/ged/strelka-cms
317
+ licenses:
318
+ - BSD
319
+ post_install_message:
320
+ rdoc_options:
321
+ - -f
322
+ - fivefish
323
+ - -t
324
+ - Strelka CMS
325
+ require_paths:
326
+ - lib
327
+ required_ruby_version: !ruby/object:Gem::Requirement
328
+ none: false
329
+ requirements:
330
+ - - ! '>='
331
+ - !ruby/object:Gem::Version
332
+ version: 1.9.2
333
+ required_rubygems_version: !ruby/object:Gem::Requirement
334
+ none: false
335
+ requirements:
336
+ - - ! '>='
337
+ - !ruby/object:Gem::Version
338
+ version: '0'
339
+ requirements: []
340
+ rubyforge_project: strelka-cms
341
+ rubygems_version: 1.8.24
342
+ signing_key:
343
+ specification_version: 3
344
+ summary: This is a content-management application for Mongrel2 servers written as
345
+ a Strelka plugin.
346
+ test_files: []