cms-lite 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,47 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = nil
5
+ s.version = "0.2.3"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.date = %q{2009-05-07}
9
+ s.extra_rdoc_files = [
10
+ "README.markdown"
11
+ ]
12
+ s.files = [
13
+ "MIT-LICENSE",
14
+ "README.markdown",
15
+ "Rakefile",
16
+ "VERSION",
17
+ "app/controllers/cms_lite_controller.rb",
18
+ "cms_lite.gemspec",
19
+ "config/cms_lite_routes.rb",
20
+ "lib/cms_lite.rb",
21
+ "pkg/cms_lite-0.1.1.gem",
22
+ "rails/init.rb",
23
+ "tasks/rails.rake",
24
+ "test/cms_lite_test.rb",
25
+ "test/test_helper.rb",
26
+ "uninstall.rb"
27
+ ]
28
+ s.has_rdoc = true
29
+ s.rdoc_options = ["--charset=UTF-8"]
30
+ s.require_paths = ["lib"]
31
+ s.rubygems_version = %q{1.3.1}
32
+ s.summary = nil
33
+ s.test_files = [
34
+ "test/cms_lite_test.rb",
35
+ "test/test_helper.rb"
36
+ ]
37
+
38
+ if s.respond_to? :specification_version then
39
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
40
+ s.specification_version = 2
41
+
42
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
43
+ else
44
+ end
45
+ else
46
+ end
47
+ end
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Justin Ball
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,87 @@
1
+ CMS Lite Engine
2
+ =================
3
+ CMS Lite makes it simple to add lots of content to your rails application without having to add a full CMS system. Frequently,
4
+ the parties involved in developing your website will have enough technical knowledge to be able to build html pages and add
5
+ content, but not be experienced enough to build out new controllers and deal with rendering the appropriate templates. CMS Lite
6
+ addresses this need by centralizing all content into a 'content' subdirectory. Tell
7
+ your content developers to put their code into /content/pages/en or /content/protected-page/en (for content that requires a login)
8
+ and you're ready to go.
9
+
10
+ Installation
11
+ =================
12
+
13
+ Install the gem:
14
+ ------------------
15
+ sudo gem install cms-lite
16
+
17
+
18
+ Add the gem to environment.rb
19
+ ------------------
20
+ config.gem 'cms-lite', :lib => 'cms_lite'
21
+
22
+
23
+ Handy Rake Tasks
24
+ ------------------
25
+ CMS Lite comes with rake tasks that can help you manage your project. These include the ability to send all files from one language
26
+ to google for translation into 24 other languages. To gain access to these tasks simple add the following lines to Rakefile:
27
+
28
+ require 'cms_lite'
29
+ require 'cms_lite/tasks'
30
+
31
+
32
+ Run rake task:
33
+ ------------------
34
+ rake cms_lite:setup
35
+
36
+ then visit:
37
+ http://localhost:3000/cmslite/hello-world
38
+ or
39
+ http://localhost:3000/cmslite-protected/hello-world
40
+
41
+
42
+ Translate your content with Google
43
+ ------------------
44
+ rake cms_lite:translate
45
+
46
+ Will translate all files in the 'en' directory into the following languages (codes):
47
+ ar bg ca cs da de el en es fr hi id it ja pt-PT sk sr sv vi zh-CN
48
+
49
+ If you wish to translate from another language -ie your content files are in the es directory then you can do this:
50
+ rake cms_lite:translate -language=es
51
+
52
+ Notes:
53
+ ------------------
54
+ 1. CMS Lite Requires a login method called 'login_required' that will be called in the event the user is not logged in and attempts to load a protected page.
55
+ 2. Don't mix directories it will mess up the routes. ie if you have a directory named cmslite in pages don't create a directory called cmslite under protected-pages.
56
+ If you do Rails won't know which directory to route to.
57
+
58
+
59
+ Routes:
60
+ ------------------
61
+ CMS Lite will add a route for each subdirectory found under /content/pages/en and /content/protected-pages/en.
62
+
63
+ Example:
64
+ - - -
65
+ Thus, a page found at:
66
+ /content/pages/en/example/my-page.htm
67
+ becomes
68
+ http://localhost:3000/example/my-page
69
+
70
+
71
+ The Basics
72
+ =================
73
+ The cms lite plugin provides basic template rendering functionality.
74
+ Any templates added to /content/pages will be publicly visible.
75
+ Any pages added to /content/protected-pages will require a login.
76
+ CMS lite will use the layout specified in application_controller.rb
77
+
78
+
79
+ Advanced Stuff
80
+ =================
81
+ The CMS Lite engine can display localization content. To add spanish simply add an 'es' directory next to the 'en' directory
82
+ and then copy your content pages to that directory.
83
+
84
+
85
+
86
+
87
+ Copyright (c) 2009 Justin Ball, released under the MIT license
@@ -0,0 +1,66 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the cms_lite plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.libs << 'test'
12
+ t.pattern = 'test/**/*_test.rb'
13
+ t.verbose = true
14
+ end
15
+
16
+ desc 'Generate documentation for the cms_lite plugin.'
17
+ Rake::RDocTask.new(:rdoc) do |rdoc|
18
+ rdoc.rdoc_dir = 'rdoc'
19
+ rdoc.title = 'CmsLite'
20
+ rdoc.options << '--line-numbers' << '--inline-source'
21
+ rdoc.rdoc_files.include('README')
22
+ rdoc.rdoc_files.include('lib/**/*.rb')
23
+ end
24
+
25
+ begin
26
+ require 'jeweler'
27
+ Jeweler::Tasks.new do |gemspec|
28
+ gemspec.name = "cms-lite"
29
+ gemspec.summary = "Simple CMS system"
30
+ gemspec.email = "justinball@gmail.com"
31
+ gemspec.homepage = "http://github.com/jbasdf/cms_lite"
32
+ gemspec.description = "CMS gem that makes it simple to interact with your content developers by serving pages from '/content'."
33
+ gemspec.authors = ["Justin Ball"]
34
+ gemspec.files.include %w( tasks/rails.rake lib/cms_lite/*.rb )
35
+ gemspec.rubyforge_project = 'cms-lite'
36
+ end
37
+ rescue LoadError
38
+ puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
39
+ end
40
+
41
+ # rubyforge tasks
42
+ begin
43
+ require 'rake/contrib/sshpublisher'
44
+ namespace :rubyforge do
45
+
46
+ desc "Release gem and RDoc documentation to RubyForge"
47
+ task :release => ["rubyforge:release:gem", "rubyforge:release:docs"]
48
+
49
+ namespace :release do
50
+ desc "Publish RDoc to RubyForge."
51
+ task :docs => [:rdoc] do
52
+ config = YAML.load(
53
+ File.read(File.expand_path('~/.rubyforge/user-config.yml'))
54
+ )
55
+
56
+ host = "#{config['username']}@rubyforge.org"
57
+ remote_dir = "/var/www/gforge-projects/the-perfect-gem/"
58
+ local_dir = 'rdoc'
59
+
60
+ Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
61
+ end
62
+ end
63
+ end
64
+ rescue LoadError
65
+ puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
66
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.7
@@ -0,0 +1,30 @@
1
+ class CmsLiteController < ApplicationController
2
+
3
+ before_filter :login_required, :only => [:show_protected_page]
4
+
5
+ def show_page
6
+ render_content_page(CmsLite::PAGES_PATH)
7
+ end
8
+
9
+ def show_protected_page
10
+ render_content_page(CmsLite::PROTECTED_PAGES_PATH)
11
+ end
12
+
13
+ def render_content_page(cms_lite_path, request_layout = '')
14
+ path = File.join(RAILS_ROOT, CmsLite::CONTENT_PATH, cms_lite_path, I18n.locale.to_s, params[:content_key], params[:content_page].join('/'))
15
+ format = params[:format] || 'htm'
16
+ content_page = Dir.glob("/#{path}.#{format}").first
17
+ content_page = Dir.glob("/#{path}").first if content_page.nil?
18
+ content_page = Dir.glob("/#{path}.*").first if content_page.nil?
19
+ raise CmsLite::Exceptions::MissingTemplateError, "Could not find template for: '#{path}'" if content_page.nil?
20
+ respond_to do |format|
21
+ format.html { render :file => content_page }
22
+ format.js { render :file => content_page, :layout => false }
23
+ format.xml { render :file => content_page, :layout => false }
24
+ end
25
+ rescue CmsLite::Exceptions::MissingTemplateError => ex
26
+
27
+ render :file => "#{RAILS_ROOT}/public/404.html", :status => 404
28
+ end
29
+
30
+ end
@@ -0,0 +1,62 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{cms-lite}
5
+ s.version = "0.2.7"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Justin Ball"]
9
+ s.date = %q{2009-05-08}
10
+ s.description = %q{CMS gem that makes it simple to interact with your content developers by serving pages from '/content'.}
11
+ s.email = %q{justinball@gmail.com}
12
+ s.extra_rdoc_files = [
13
+ "README.markdown"
14
+ ]
15
+ s.files = [
16
+ ".gemspec",
17
+ "MIT-LICENSE",
18
+ "README.markdown",
19
+ "Rakefile",
20
+ "VERSION",
21
+ "app/controllers/cms_lite_controller.rb",
22
+ "cms-lite.gemspec",
23
+ "config/cms_lite_routes.rb",
24
+ "lib/cms_lite.rb",
25
+ "lib/cms_lite/exceptions.rb",
26
+ "lib/cms_lite/exceptions.rb",
27
+ "lib/cms_lite/initialize_routes.rb",
28
+ "lib/cms_lite/initialize_routes.rb",
29
+ "lib/cms_lite/languages.rb",
30
+ "lib/cms_lite/languages.rb",
31
+ "lib/cms_lite/tasks.rb",
32
+ "lib/cms_lite/tasks.rb",
33
+ "pkg/cms-lite-0.2.7.gem",
34
+ "rails/init.rb",
35
+ "tasks/rails.rake",
36
+ "tasks/rails.rake",
37
+ "test/cms_lite_test.rb",
38
+ "test/test_helper.rb",
39
+ "uninstall.rb"
40
+ ]
41
+ s.has_rdoc = true
42
+ s.homepage = %q{http://github.com/jbasdf/cms_lite}
43
+ s.rdoc_options = ["--charset=UTF-8"]
44
+ s.require_paths = ["lib"]
45
+ s.rubyforge_project = %q{cms-lite}
46
+ s.rubygems_version = %q{1.3.1}
47
+ s.summary = %q{Simple CMS system}
48
+ s.test_files = [
49
+ "test/cms_lite_test.rb",
50
+ "test/test_helper.rb"
51
+ ]
52
+
53
+ if s.respond_to? :specification_version then
54
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
55
+ s.specification_version = 2
56
+
57
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
58
+ else
59
+ end
60
+ else
61
+ end
62
+ end
@@ -0,0 +1,11 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+
3
+ CmsLite.cms_routes.each do |cms_route|
4
+ map.connect cms_route[:uri], :controller => 'cms_lite', :action => 'show_page', :content_key => cms_route[:content_key]
5
+ end
6
+
7
+ CmsLite.protected_cms_routes.each do |cms_route|
8
+ map.connect cms_route[:uri], :controller => 'cms_lite', :action => 'show_protected_page', :content_key => cms_route[:content_key]
9
+ end
10
+
11
+ end
@@ -0,0 +1,103 @@
1
+ require 'cms_lite/exceptions'
2
+ require 'cms_lite/languages'
3
+ require 'fileutils'
4
+
5
+ class CmsLite
6
+ CONTENT_PATH = 'content'
7
+ PAGES_PATH = 'pages'
8
+ PROTECTED_PAGES_PATH = 'protected-pages'
9
+
10
+ class << self
11
+
12
+ def cms_routes
13
+ get_cms_routes(PAGES_PATH)
14
+ end
15
+
16
+ def protected_cms_routes
17
+ get_cms_routes(PROTECTED_PAGES_PATH)
18
+ end
19
+
20
+ def get_cms_routes(pages_path)
21
+ cms_routes = []
22
+ cms_lite_page_path = File.join(RAILS_ROOT, CONTENT_PATH, pages_path)
23
+ Dir.glob("#{cms_lite_page_path}/*").each do |localization_directory|
24
+ if File.directory?(localization_directory)
25
+ Dir.glob("#{localization_directory}/*").each do |content_item|
26
+ path = File.basename(content_item)
27
+ content_key = content_item.gsub(localization_directory, '')
28
+ cms_routes << { :uri => "/#{path}/*content_page",
29
+ :content_key => content_key }
30
+ end
31
+ end
32
+ end
33
+ cms_routes
34
+ end
35
+
36
+ def translate_pages(language = 'en')
37
+ translate_and_write_pages(File.join(RAILS_ROOT, CONTENT_PATH, PAGES_PATH, language), language)
38
+ translate_and_write_pages(File.join(RAILS_ROOT, CONTENT_PATH, PROTECTED_PAGES_PATH, language), language)
39
+ end
40
+
41
+ def translate_and_write_pages(path, language)
42
+ Dir.glob("#{path}/*").each do |next_file|
43
+ if File.directory?(next_file)
44
+ translate_and_write_pages(next_file, language)
45
+ else
46
+ GoogleTranslate::LANGUAGES.each do |to|
47
+ translate_and_write_page(next_file, to, language)
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ def translate_and_write_page(page_path, to, from)
54
+ return if to == from
55
+ return unless File.exist?(page_path)
56
+ translated_filename = get_translated_file(page_path, to, from)
57
+ return if File.exist?(translated_filename) # don't overwrite existing files
58
+ text = IO.read(page_path)
59
+ translated_text = translate(text, to, from)
60
+ translated_directory = File.dirname(translated_filename)
61
+ FileUtils.mkdir_p(translated_directory)
62
+ File.open(translated_filename, 'w') { |f| f.write(translated_text) }
63
+ end
64
+
65
+ def get_translated_file(page, to, from)
66
+ segments = page.split('/')
67
+ index = segments.index(from)
68
+ segments[index] = to
69
+ segments.join('/')
70
+ end
71
+
72
+ # from: http://ruby.geraldbauer.ca/google-translation-api.html
73
+ def translate(text, to, from = 'en')
74
+
75
+ return if to == from
76
+
77
+ require 'cgi'
78
+ require 'json'
79
+ require 'net/http'
80
+
81
+ base = 'http://ajax.googleapis.com/ajax/services/language/translate'
82
+ # assemble query params
83
+ params = {
84
+ :langpair => "#{from}|#{to}",
85
+ :q => text,
86
+ :v => 1.0
87
+ }
88
+ query = params.map{ |k,v| "#{k}=#{CGI.escape(v.to_s)}" }.join('&')
89
+ # send get request
90
+ response = Net::HTTP.get_response( URI.parse( "#{base}?#{query}" ) )
91
+ json = JSON.parse( response.body )
92
+ if json['responseStatus'] == 200
93
+ json['responseData']['translatedText']
94
+ else
95
+ puts response
96
+ puts to
97
+ puts from
98
+ raise StandardError, response['responseDetails']
99
+ end
100
+ end
101
+
102
+ end
103
+ end
@@ -0,0 +1,5 @@
1
+ class CmsLite
2
+ module Exceptions
3
+ class MissingTemplateError < StandardError; end
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ class ActionController::Routing::RouteSet
2
+ def load_routes_with_cms_lite!
3
+ cms_lite_routes = File.join(File.dirname(__FILE__), *%w[.. .. config cms_lite_routes.rb])
4
+ add_configuration_file(cms_lite_routes) unless configuration_files.include? cms_lite_routes
5
+ load_routes_without_cms_lite!
6
+ end
7
+ alias_method_chain :load_routes!, :cms_lite
8
+ end
@@ -0,0 +1,49 @@
1
+ module GoogleTranslate
2
+
3
+ ARABIC = "ar"
4
+ BULGARIAN = "bg"
5
+ CATALAN = "ca"
6
+ CHINESE = "zh"
7
+ CHINESE_SIMPLIFIED = "zh-CN"
8
+ CHINESE_TRADITIONAL = "zh-TW"
9
+ CROATIAN = "cr"
10
+ CZECH = "cs"
11
+ DANISH = "da"
12
+ DUTCH = "nl"
13
+ ENGLISH = "en"
14
+ FILIPINO = "tl"
15
+ FINNISH = "fi"
16
+ FRENCH = "fr"
17
+ GERMAN = "de"
18
+ GREEK = "el"
19
+ HEBREW = "iw"
20
+ HINDI = "hi"
21
+ INDONESIAN = "id"
22
+ ITALIAN = "it"
23
+ JAPANESE = "ja"
24
+ KOREAN = "ko"
25
+ LATVIAN = "lv"
26
+ LITHUANIAN = "lt"
27
+ NORWEGIAN = "no"
28
+ POLISH = "pl"
29
+ PORTUGESE = "pt"
30
+ ROMANIAN = "ro"
31
+ RUSSIAN = "ru"
32
+ SERBIAN = "sr"
33
+ SLOVAK = "sk"
34
+ SLOVENIAN = "sl"
35
+ SPANISH = "es"
36
+ SWEDISH = "sv"
37
+ UKRANIAN = "uk"
38
+ VIETNAMESE = "vi"
39
+
40
+ # LANGUAGES = [ARABIC, BULGARIAN, CATALAN, CHINESE, CHINESE_SIMPLIFIED,CHINESE_TRADITIONAL,
41
+ # CROATIAN, CZECH, DANISH, DUTCH, ENGLISH, FILIPINO, FRENCH, GERMAN, GREEK, HEBREW,
42
+ # ITALIAN, JAPANESE, KOREAN, LATVIAN, LITHUANIAN, NORWEGIAN, POLISH, PORTUGESE,
43
+ # ROMANIAN, RUSSIAN, SERBIAN, SLOVAK, SLOVENIAN, SPANISH, SWEDISH, UKRANIAN, VIETNAMESE]
44
+
45
+ LANGUAGES = [ARABIC, BULGARIAN, CATALAN, CHINESE, CHINESE_SIMPLIFIED,CHINESE_TRADITIONAL,
46
+ CZECH, DANISH, DUTCH, ENGLISH, FILIPINO, FRENCH, GERMAN, GREEK, HEBREW,
47
+ ITALIAN, JAPANESE, KOREAN, LATVIAN, LITHUANIAN, NORWEGIAN, POLISH, PORTUGESE,
48
+ ROMANIAN, RUSSIAN, SERBIAN, SLOVAK, SLOVENIAN, SPANISH, SWEDISH, UKRANIAN, VIETNAMESE]
49
+ end
@@ -0,0 +1,40 @@
1
+ require 'rake'
2
+ require 'rake/tasklib'
3
+ require 'fileutils'
4
+
5
+ class CmsLite
6
+ class Tasks < ::Rake::TaskLib
7
+ def initialize
8
+ define
9
+ end
10
+
11
+ private
12
+ def define
13
+ namespace :cms_lite do
14
+
15
+ task :app_env do
16
+ Rake::Task[:environment].invoke if defined?(RAILS_ROOT)
17
+ end
18
+
19
+ desc 'Translate all pages in the given language directory to all other languages. Pass a language with language=en, language=ja, etc'
20
+ task :translate do
21
+ language = ENV['language'] || 'en'
22
+ CmsLite.translate_pages(language)
23
+ end
24
+
25
+ desc 'Create basic directory structure for cms lite'
26
+ task :setup => :app_env do
27
+ page_path = "#{RAILS_ROOT}/content/pages/en/cmslite"
28
+ protected_path = "#{RAILS_ROOT}/content/protected-pages/en/cmslite-protected"
29
+ FileUtils.mkdir_p(page_path) unless File.directory?(page_path)
30
+ FileUtils.mkdir_p(protected_path) unless File.directory?(protected_path)
31
+ File.open("#{page_path}/hello-world.htm", 'w') {|f| f.write("Hello World") }
32
+ File.open("#{protected_path}/hello-world.htm", 'w') {|f| f.write("Hello World") }
33
+ puts "finished setting up cmslite directories"
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ end
40
+ CmsLite::Tasks.new
Binary file
@@ -0,0 +1,2 @@
1
+ require 'cms_lite'
2
+ require 'cms_lite/initialize_routes'
@@ -0,0 +1,2 @@
1
+ require File.join(File.dirname(__FILE__), '/../lib/cms_lite')
2
+ require File.join(File.dirname(__FILE__), '/../lib/cms_lite/tasks')
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class CmsLiteEngineTest < ActiveSupport::TestCase
4
+ # Replace this with your real tests.
5
+ test "the truth" do
6
+ assert true
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_support/test_case'
File without changes
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cms-lite
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.7
5
+ platform: ruby
6
+ authors:
7
+ - Justin Ball
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-08 00:00:00 -06:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: CMS gem that makes it simple to interact with your content developers by serving pages from '/content'.
17
+ email: justinball@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README.markdown
24
+ files:
25
+ - .gemspec
26
+ - MIT-LICENSE
27
+ - README.markdown
28
+ - Rakefile
29
+ - VERSION
30
+ - app/controllers/cms_lite_controller.rb
31
+ - cms-lite.gemspec
32
+ - config/cms_lite_routes.rb
33
+ - lib/cms_lite.rb
34
+ - lib/cms_lite/exceptions.rb
35
+ - lib/cms_lite/initialize_routes.rb
36
+ - lib/cms_lite/languages.rb
37
+ - lib/cms_lite/tasks.rb
38
+ - pkg/cms-lite-0.2.7.gem
39
+ - rails/init.rb
40
+ - tasks/rails.rake
41
+ - test/cms_lite_test.rb
42
+ - test/test_helper.rb
43
+ - uninstall.rb
44
+ has_rdoc: true
45
+ homepage: http://github.com/jbasdf/cms_lite
46
+ post_install_message:
47
+ rdoc_options:
48
+ - --charset=UTF-8
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ version:
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: "0"
62
+ version:
63
+ requirements: []
64
+
65
+ rubyforge_project: cms-lite
66
+ rubygems_version: 1.3.1
67
+ signing_key:
68
+ specification_version: 2
69
+ summary: Simple CMS system
70
+ test_files:
71
+ - test/cms_lite_test.rb
72
+ - test/test_helper.rb