serious 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +15 -2
- data/Rakefile +4 -0
- data/VERSION +1 -1
- data/bin/serious +117 -0
- data/serious.gemspec +4 -1
- metadata +5 -4
data/README.rdoc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
= Serious
|
2
2
|
|
3
3
|
Serious is a blog engine inspired by other filesystem-based engines like jekyll (http://jekyllrb.com/)
|
4
|
-
and toto (http://cloudhead.io/toto)
|
4
|
+
and toto (http://cloudhead.io/toto) and is based upon Sinatra and rack, thus can be hosted
|
5
5
|
very easily (and for free) on heroku (http://heroku.com).
|
6
6
|
|
7
7
|
The articles are stored in plain text files with an opinionated naming scheme which is used for
|
@@ -18,7 +18,7 @@ so a basic article looks something like this:
|
|
18
18
|
~
|
19
19
|
## Some content. You can use markdown in your articles, and also <%= "erb" %>
|
20
20
|
<% highlight do %>
|
21
|
-
puts
|
21
|
+
puts "it will also syntax-highlight your codes"
|
22
22
|
<% end %>
|
23
23
|
|
24
24
|
There are quite a few assumptions made by this format: You have to specify your title in yaml format
|
@@ -80,6 +80,12 @@ You might also want to test your blog locally. Use thin (<code>sudo gem install
|
|
80
80
|
|
81
81
|
Go to <code>localhost:3000</code> and enjoy.
|
82
82
|
|
83
|
+
== Archives
|
84
|
+
|
85
|
+
The whole archives can be accessed at <code>/archives</code>. Archives by year, month and date
|
86
|
+
are available at <code>/2009</code> (all of 2009), <code>/2009/05</code> (May 2009),
|
87
|
+
<code>/2009/05/15</code> (May 15th 2009).
|
88
|
+
|
83
89
|
== Configuration
|
84
90
|
|
85
91
|
Inside your config.ru, you can customize the settings for your Serious site.
|
@@ -195,7 +201,9 @@ to learn how to add your own formatters or erb helpers.
|
|
195
201
|
|
196
202
|
* static pages
|
197
203
|
* make summary delim configurable
|
204
|
+
* beautifuller date formatting in frontend
|
198
205
|
* make caching better
|
206
|
+
* make it possible to host in subdirectories
|
199
207
|
* valid xhtml in demo setup
|
200
208
|
* generator for basic app?
|
201
209
|
* rake tasks for generating new posts and validating existing
|
@@ -213,6 +221,11 @@ to learn how to add your own formatters or erb helpers.
|
|
213
221
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
214
222
|
* Send me a pull request. Bonus points for topic branches.
|
215
223
|
|
224
|
+
== Thanks
|
225
|
+
|
226
|
+
Alexis Sellier for toto, the main inspiration for this gem
|
227
|
+
Ryan Bates for the great coderay css
|
228
|
+
|
216
229
|
== Copyright
|
217
230
|
|
218
231
|
Copyright (c) 2010 Christoph Olszowka. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -11,6 +11,10 @@ begin
|
|
11
11
|
gem.homepage = "http://github.com/colszowka/serious"
|
12
12
|
gem.authors = ["Christoph Olszowka"]
|
13
13
|
|
14
|
+
gem.bindir = 'bin'
|
15
|
+
gem.executables = ['serious']
|
16
|
+
gem.default_executable = 'serious'
|
17
|
+
|
14
18
|
gem.add_dependency 'sinatra', ">= 0.9.4"
|
15
19
|
gem.add_dependency 'stupid_formatter', '>= 0.2.0'
|
16
20
|
gem.add_dependency 'builder', ">= 2.1.2"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/bin/serious
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Prepare ARGV
|
4
|
+
ARGS = ARGV.map {|a| a.strip.chomp }
|
5
|
+
|
6
|
+
if !(DIRNAME = ARGS[0])
|
7
|
+
puts "Usage: serious DIRNAME (--views) (--public) (--heroku) (--no-git)"
|
8
|
+
puts "Note: Only lowercase letters and dashes ('-') are allowed for DIRNAME"
|
9
|
+
puts "Options:"
|
10
|
+
puts " --views: Copies the default views into your site so you can modify them and sets"
|
11
|
+
puts " config accordingly. By default your site will use the views supplied with"
|
12
|
+
puts " the serious gem"
|
13
|
+
puts " --public: Copies the default public folder into your site and sets config accordingly"
|
14
|
+
puts " By default your site will use the public folder supplied with the serious gem"
|
15
|
+
puts " --no-git: Will not create a new git repository (by default, it does)"
|
16
|
+
puts " --heroku: Creates a heroku app named with dirname and pushes your site to it."
|
17
|
+
puts " Requires the heroku gem to be installed"
|
18
|
+
exit 1
|
19
|
+
end
|
20
|
+
|
21
|
+
if File.exist?(DIRNAME)
|
22
|
+
puts "#{DIRNAME} exists!"
|
23
|
+
exit 1
|
24
|
+
end
|
25
|
+
|
26
|
+
unless DIRNAME =~ /^[a-z][a-z\-]*$/
|
27
|
+
puts "Only lowercase-letters and '-' allowed in dirname!"
|
28
|
+
exit 1
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
require 'fileutils'
|
33
|
+
puts "Creating directory #{DIRNAME}"
|
34
|
+
FileUtils.mkdir_p(File.join(DIRNAME, 'articles'))
|
35
|
+
Dir.chdir(DIRNAME)
|
36
|
+
|
37
|
+
GEM_ROOT = File.join(File.dirname(__FILE__), '..')
|
38
|
+
|
39
|
+
def copy_public
|
40
|
+
puts 'Copying public dir'
|
41
|
+
FileUtils.cp_r File.join(GEM_ROOT, 'lib', 'site', 'public'), './'
|
42
|
+
end
|
43
|
+
|
44
|
+
def copy_views
|
45
|
+
puts 'Copying views dir'
|
46
|
+
FileUtils.cp_r File.join(GEM_ROOT, 'lib', 'site', 'views'), './'
|
47
|
+
end
|
48
|
+
|
49
|
+
def views?
|
50
|
+
ARGS.include?('--views')
|
51
|
+
end
|
52
|
+
|
53
|
+
def public?
|
54
|
+
ARGS.include?('--public')
|
55
|
+
end
|
56
|
+
|
57
|
+
def heroku?
|
58
|
+
ARGS.include?('--heroku')
|
59
|
+
end
|
60
|
+
|
61
|
+
def git?
|
62
|
+
!ARGS.include?('--no-git')
|
63
|
+
end
|
64
|
+
|
65
|
+
copy_views if views?
|
66
|
+
copy_public if public?
|
67
|
+
|
68
|
+
puts "Writing config.ru"
|
69
|
+
File.open('config.ru', 'w+') do |config|
|
70
|
+
config.puts "require 'serious'"
|
71
|
+
config.puts "Serious.set :title, '#{DIRNAME}'"
|
72
|
+
config.puts "Serious.set :author, 'Your Name here'"
|
73
|
+
config.puts "Serious.set :url, 'http://#{DIRNAME}.heroku.com'"
|
74
|
+
|
75
|
+
if public? and views?
|
76
|
+
config.puts "Serious.set :root, Dir.getwd"
|
77
|
+
elsif public?
|
78
|
+
config.puts "Serious.set :public, File.join(Dir.getwd, 'public')"
|
79
|
+
elsif views?
|
80
|
+
config.puts "Serious.set :views, File.join(Dir.getwd, 'views')"
|
81
|
+
end
|
82
|
+
config.puts 'run Serious'
|
83
|
+
end
|
84
|
+
|
85
|
+
puts "Creating .gems file"
|
86
|
+
File.open(".gems", "w+") do |gems|
|
87
|
+
gems.puts "stupid_formatter"
|
88
|
+
gems.puts "serious --version '>= #{File.read(File.join(GEM_ROOT, 'VERSION')).strip.chomp}'"
|
89
|
+
end
|
90
|
+
|
91
|
+
if git?
|
92
|
+
puts "Creating git repo"
|
93
|
+
system "git init"
|
94
|
+
system "git add . && git commit -m 'Initial commit'"
|
95
|
+
end
|
96
|
+
|
97
|
+
if heroku?
|
98
|
+
if git?
|
99
|
+
puts "Creating heroku app"
|
100
|
+
if system "heroku create #{DIRNAME}"
|
101
|
+
puts "Pushing to heroku - in 5 seconds"
|
102
|
+
sleep 5
|
103
|
+
if system 'git push heroku master'
|
104
|
+
puts "Your app now lives at http://#{DIRNAME}.heroku.com"
|
105
|
+
else
|
106
|
+
puts "Failed to push to heroku!"
|
107
|
+
end
|
108
|
+
else
|
109
|
+
puts "ERROR: Failed to create heroku app"
|
110
|
+
end
|
111
|
+
|
112
|
+
else
|
113
|
+
puts "ERROR: Can't create heroku app without git!"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
puts "Done!"
|
data/serious.gemspec
CHANGED
@@ -5,13 +5,15 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{serious}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Christoph Olszowka"]
|
12
12
|
s.date = %q{2010-02-13}
|
13
|
+
s.default_executable = %q{serious}
|
13
14
|
s.description = %q{Serious is a simple, file-driven blog engine inspired by toto and driven by sinatra}
|
14
15
|
s.email = %q{christoph at olszowka dot de}
|
16
|
+
s.executables = ["serious"]
|
15
17
|
s.extra_rdoc_files = [
|
16
18
|
"LICENSE",
|
17
19
|
"README.rdoc"
|
@@ -23,6 +25,7 @@ Gem::Specification.new do |s|
|
|
23
25
|
"README.rdoc",
|
24
26
|
"Rakefile",
|
25
27
|
"VERSION",
|
28
|
+
"bin/serious",
|
26
29
|
"lib/serious.rb",
|
27
30
|
"lib/serious/article.rb",
|
28
31
|
"lib/site/public/css/coderay.css",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christoph Olszowka
|
@@ -10,7 +10,7 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
|
12
12
|
date: 2010-02-13 00:00:00 +01:00
|
13
|
-
default_executable:
|
13
|
+
default_executable: serious
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sinatra
|
@@ -74,8 +74,8 @@ dependencies:
|
|
74
74
|
version:
|
75
75
|
description: Serious is a simple, file-driven blog engine inspired by toto and driven by sinatra
|
76
76
|
email: christoph at olszowka dot de
|
77
|
-
executables:
|
78
|
-
|
77
|
+
executables:
|
78
|
+
- serious
|
79
79
|
extensions: []
|
80
80
|
|
81
81
|
extra_rdoc_files:
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- README.rdoc
|
89
89
|
- Rakefile
|
90
90
|
- VERSION
|
91
|
+
- bin/serious
|
91
92
|
- lib/serious.rb
|
92
93
|
- lib/serious/article.rb
|
93
94
|
- lib/site/public/css/coderay.css
|