1
1
# encoding: UTF-8
2
2
3
3
require 'rake/clean'
4
-
4
+ require 'redcarpet'
5
5
6
6
$lang = ENV [ 'language' ]
7
7
$lang ||= 'en'
@@ -11,7 +11,7 @@ namespace :epub do
11
11
INDEX_FILEPATH = File . join ( TMP_DIR , 'progit.html' )
12
12
TARGET_FILEPATH = "progit-#{ $lang} .epub"
13
13
14
- SOURCE_FILES = FileList . new ( File . join ( $lang, '* *' , '*.markdown' ) ) . sort
14
+ SOURCE_FILES = FileList . new ( File . join ( $lang, '0 *' , '*.markdown' ) ) . sort
15
15
CONVERTED_MK_FILES = SOURCE_FILES . pathmap ( File . join ( TMP_DIR , '%f' ) )
16
16
HTML_FILES = CONVERTED_MK_FILES . ext ( 'html' )
17
17
@@ -158,3 +158,44 @@ namespace :pdf do
158
158
system ( "ruby makepdfs" )
159
159
end
160
160
end
161
+
162
+ namespace :ci do
163
+
164
+ desc "Continuous Integration"
165
+ task :check do
166
+ require 'maruku'
167
+ langs = FileList . new ( '??' ) +FileList . new ( '??-??' )
168
+ if ENV [ 'debug' ] && $lang
169
+ langs = [ $lang]
170
+ else
171
+ excluded_langs = [
172
+ 'ca'
173
+ ]
174
+ excluded_langs . each do |lang |
175
+ puts "excluding #{ lang } : known to fail"
176
+ end
177
+ langs -= excluded_langs
178
+ end
179
+ error_code = false
180
+ langs . each do |lang |
181
+ print "processing #{ lang } "
182
+ mark = ''
183
+ source_files = FileList . new ( File . join ( lang , '0*' , '*.markdown' ) ) . sort
184
+ source_files . each do |mk_filename |
185
+ mk_file = File . open ( mk_filename , 'r' ) do |mk |
186
+ mark += mk . read . encode ( "UTF-8" )
187
+ end
188
+ end
189
+ begin
190
+ code = Maruku . new ( mark , :on_error => :raise )
191
+ print "OK\n "
192
+ rescue
193
+ print "KO\n "
194
+ print $!
195
+ error_code = true
196
+ end
197
+ end
198
+ fail "At least one language conversion failed" if error_code
199
+ end
200
+
201
+ end
0 commit comments