parchemin 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -10,7 +10,22 @@ Just run the following command :
10
10
 
11
11
  ## Usage ##
12
12
 
13
- For more information, visit [http://parchemin.raw1z.fr](http://parchemin.raw1z.fr).
13
+ Install the gem as described above, then run the executable :
14
+
15
+ parchemin BLOG_NAME AUTHOR_NAME
16
+
17
+ Any Rack-compliant server can run your newly created blog. For example, run the following command from inside the blog directory :
18
+
19
+ thin start
20
+
21
+ Then just add your articles in the articles directory. Parchemin only support Markdown as markup language. So your articles files must have a '.markdown' extension. Don't forget to add a meta-data header at the top of every files you add. For example :
22
+
23
+ <!-- title : "Lorem ipsum" -->
24
+ <!-- created_at : Date.civil(2010, 3, 23) -->
25
+ <!-- abstract : "Lorem ipsum dolor sit amet, consectetur adipisicing elit...mollit anim id est laborum." -->
26
+ <!-- tags : %w(tutorial sinatra) -->
27
+
28
+ That's all!! You will find some examples in GEM_PATH/bin/articles. For more information, visit [http://parchemin.raw1z.fr](http://parchemin.raw1z.fr).
14
29
 
15
30
  ## Note on Patches/Pull Requests ##
16
31
 
data/Rakefile CHANGED
@@ -18,6 +18,7 @@ begin
18
18
  gem.add_dependency 'compass', '>= 0.10.1'
19
19
  gem.add_dependency 'compass-susy-plugin', '>= 0.7.0.pre8'
20
20
  gem.add_dependency 'rdiscount', '>= 1.6.3'
21
+ gem.add_dependency 'mongoid', '>= 2.0.0.beta6'
21
22
  gem.files = FileList["[A-Z]*", "{lib}/**/*", "{bin}/**/*", "{app}/**/*"]
22
23
  end
23
24
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.1.1
@@ -1,7 +1,7 @@
1
1
  <!-- title : "Cillum facilisis" -->
2
2
  <!-- created_at : Date.civil(2010, 3, 26) -->
3
3
  <!-- abstract : "Cillum facilisis metus turpis wisi interdum rutrum, pharetra aenean feugiat velit facilisi penatibus deserunt nonummy praesent blandit. Quisque augue adipiscing penatibus sociosqu eros torquent curabitur, vel praesent consequat aliquet sapien quam adipisicing. A dolore elit luctus scelerisque suspendisse pretium, commodo fringilla mus tellus nulla mollis suspendisse justo enim tempor congue cursus mus." -->
4
- <!-- tags : %w(editorial rails) -->
4
+ <!-- tags : %w(editorial rails test) -->
5
5
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
6
6
 
7
7
  Cillum facilisis metus turpis wisi interdum rutrum, pharetra aenean feugiat velit facilisi penatibus deserunt nonummy praesent blandit. Quisque augue adipiscing penatibus sociosqu eros torquent curabitur, vel praesent consequat aliquet sapien quam adipisicing. A dolore elit luctus scelerisque suspendisse pretium, commodo fringilla mus tellus nulla mollis suspendisse justo enim tempor congue cursus mus.
@@ -80,8 +80,9 @@ module Parchemin
80
80
  Comment.where(:article => @id)
81
81
  end
82
82
 
83
- protected
83
+ private
84
84
 
85
+ # Parse the header of an article's file
85
86
  def parse_attributes(filename)
86
87
  body = ""
87
88
  File.open(filename) do |f|
@@ -98,6 +99,7 @@ module Parchemin
98
99
  @body = RDiscount.new(body).to_html
99
100
  end
100
101
 
102
+ # Test if an article will be filtered depending on a condition
101
103
  def self.filtered?(article, conditions)
102
104
  filtered = true
103
105
  conditions.each do |attribute, value|
@@ -0,0 +1,17 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe Parchemin::Article do
4
+ it "parses its header" do
5
+ article = Parchemin::Article.new('lorem')
6
+ article.title.should == "Lorem ipsum"
7
+ article.created_at.should == Date.civil(2010, 3, 23)
8
+ article.abstract == "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
9
+ article.tags.should == ['news', 'sinatra']
10
+
11
+ article = Parchemin::Article.new('azerty')
12
+ article.title.should == "Cillum facilisis"
13
+ article.created_at.should == Date.civil(2010, 3, 26)
14
+ article.abstract == "Cillum facilisis metus turpis wisi interdum rutrum, pharetra aenean feugiat velit facilisi penatibus deserunt nonummy praesent blandit. Quisque augue adipiscing penatibus sociosqu eros torquent curabitur, vel praesent consequat aliquet sapien quam adipisicing. A dolore elit luctus scelerisque suspendisse pretium, commodo fringilla mus tellus nulla mollis suspendisse justo enim tempor congue cursus mus."
15
+ article.tags.should == ['editorial', 'rails', 'test']
16
+ end
17
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parchemin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 0
10
- version: 1.1.0
9
+ - 1
10
+ version: 1.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Rawane ZOSSOU
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-05-24 00:00:00 +02:00
18
+ date: 2010-06-13 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -121,7 +121,7 @@ dependencies:
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- hash: 252770848
124
+ hash: -602048428
125
125
  segments:
126
126
  - 0
127
127
  - 7
@@ -146,6 +146,23 @@ dependencies:
146
146
  version: 1.6.3
147
147
  type: :runtime
148
148
  version_requirements: *id008
149
+ - !ruby/object:Gem::Dependency
150
+ name: mongoid
151
+ prerelease: false
152
+ requirement: &id009 !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ hash: 1132205928
158
+ segments:
159
+ - 2
160
+ - 0
161
+ - 0
162
+ - beta6
163
+ version: 2.0.0.beta6
164
+ type: :runtime
165
+ version_requirements: *id009
149
166
  description: Parchemin allows you to create and manage a blog whose contents are not stored in a database but directly in files
150
167
  email: dev@raw1z.fr
151
168
  executables:
@@ -188,6 +205,7 @@ files:
188
205
  - lib/parchemin/models/comment.rb
189
206
  - lib/parchemin/models/static.rb
190
207
  - lib/parchemin/utils.rb
208
+ - spec/article_spec.rb
191
209
  - spec/parchemin_spec.rb
192
210
  - spec/spec_helper.rb
193
211
  has_rdoc: true
@@ -225,5 +243,6 @@ signing_key:
225
243
  specification_version: 3
226
244
  summary: File-based blog engine
227
245
  test_files:
246
+ - spec/article_spec.rb
228
247
  - spec/parchemin_spec.rb
229
248
  - spec/spec_helper.rb