strelka-cms 0.0.1.pre.15
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/ChangeLog +33 -0
- data/History.rdoc +4 -0
- data/Manifest.txt +52 -0
- data/Procfile +4 -0
- data/README.rdoc +74 -0
- data/Rakefile +68 -0
- data/data/strelka-cms/apps/content-feeds +194 -0
- data/data/strelka-cms/apps/content-manager +159 -0
- data/data/strelka-cms/templates/autoindex/default.tmpl +11 -0
- data/data/strelka-cms/templates/layout.tmpl +58 -0
- data/data/strelka-cms/templates/page.tmpl +21 -0
- data/etc/mongrel.rb +34 -0
- data/lib/strelka/cms.rb +42 -0
- data/lib/strelka/cms/page.rb +322 -0
- data/lib/strelka/cms/pagecatalog.rb +121 -0
- data/lib/strelka/cms/pagefilter.rb +76 -0
- data/lib/strelka/cms/pagefilter/autoindex.rb +140 -0
- data/lib/strelka/cms/pagefilter/cleanup.rb +40 -0
- data/lib/strelka/cms/pagefilter/editorial.rb +55 -0
- data/lib/strelka/cms/pagefilter/example.rb +232 -0
- data/lib/strelka/cms/pagefilter/strip.rb +30 -0
- data/lib/strelka/cms/pagefilter/textile.rb +20 -0
- data/public/humans.txt +8 -0
- data/public/images/misc/button-gloss.png +0 -0
- data/public/images/misc/button-overlay.png +0 -0
- data/public/images/misc/custom-form-sprites.png +0 -0
- data/public/images/misc/input-bg-outset.png +0 -0
- data/public/images/misc/input-bg.png +0 -0
- data/public/images/misc/modal-gloss.png +0 -0
- data/public/images/misc/table-sorter.png +0 -0
- data/public/images/orbit/bullets.jpg +0 -0
- data/public/images/orbit/left-arrow.png +0 -0
- data/public/images/orbit/loading.gif +0 -0
- data/public/images/orbit/mask-black.png +0 -0
- data/public/images/orbit/pause-black.png +0 -0
- data/public/images/orbit/right-arrow.png +0 -0
- data/public/images/orbit/rotator-black.png +0 -0
- data/public/images/orbit/timer-black.png +0 -0
- data/public/index.page +46 -0
- data/public/javascripts/app.js +98 -0
- data/public/javascripts/foundation.js +12 -0
- data/public/javascripts/jquery.min.js +4 -0
- data/public/javascripts/modernizr.foundation.js +4 -0
- data/public/robots.txt +4 -0
- data/public/stylesheets/app.css +30 -0
- data/public/stylesheets/foundation.css +1424 -0
- data/public/stylesheets/ie.css +13 -0
- data/spec/data/test.page +22 -0
- data/spec/lib/helpers.rb +58 -0
- data/spec/strelka/cms/page_spec.rb +139 -0
- data/spec/strelka/cms/pagecatalog_spec.rb +94 -0
- data/spec/strelka/cms_spec.rb +27 -0
- metadata +346 -0
- 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; }
|
data/spec/data/test.page
ADDED
@@ -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
|
+
|
data/spec/lib/helpers.rb
ADDED
@@ -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: []
|