jekyll-import 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-import/importers/wordpress.rb +2 -2
- data/lib/jekyll-import/importers/wordpressdotcom.rb +1 -0
- data/lib/jekyll-import/version.rb +1 -1
- metadata +3 -96
- data/.gitignore +0 -21
- data/.travis.yml +0 -14
- data/Gemfile +0 -2
- data/History.markdown +0 -135
- data/Rakefile +0 -209
- data/jekyll-import.gemspec +0 -60
- data/script/bootstrap +0 -3
- data/script/cibuild +0 -3
- data/site/.gitignore +0 -4
- data/site/CNAME +0 -1
- data/site/README +0 -1
- data/site/_config.yml +0 -7
- data/site/_includes/analytics.html +0 -32
- data/site/_includes/docs_contents.html +0 -10
- data/site/_includes/docs_contents_mobile.html +0 -14
- data/site/_includes/docs_option.html +0 -11
- data/site/_includes/docs_ul.html +0 -20
- data/site/_includes/footer.html +0 -15
- data/site/_includes/header.html +0 -18
- data/site/_includes/news_contents.html +0 -23
- data/site/_includes/news_contents_mobile.html +0 -11
- data/site/_includes/news_item.html +0 -24
- data/site/_includes/primary-nav-items.html +0 -14
- data/site/_includes/section_nav.html +0 -22
- data/site/_includes/top.html +0 -17
- data/site/_layouts/default.html +0 -12
- data/site/_layouts/docs.html +0 -29
- data/site/_layouts/news.html +0 -19
- data/site/_layouts/news_item.html +0 -27
- data/site/_posts/2013-11-09-jekyll-import-0-1-0-beta4-release.markdown +0 -23
- data/site/_posts/2013-11-18-jekyll-import-0-1-0-rc1-released.markdown +0 -17
- data/site/_posts/2013-12-17-jekyll-import-0-1-0-released.markdown +0 -67
- data/site/_posts/2014-03-16-jekyll-import-0-2-0-released.markdown +0 -16
- data/site/_posts/2014-05-23-jekyll-import-0-3-0-released.markdown +0 -22
- data/site/_posts/2014-06-29-jekyll-import-0-4-0-released.markdown +0 -19
- data/site/css/gridism.css +0 -110
- data/site/css/normalize.css +0 -1
- data/site/css/pygments.css +0 -70
- data/site/css/style.css +0 -945
- data/site/docs/behance.md +0 -20
- data/site/docs/contributing.md +0 -8
- data/site/docs/csv.md +0 -37
- data/site/docs/drupal6.md +0 -24
- data/site/docs/drupal7.md +0 -24
- data/site/docs/easyblog.md +0 -25
- data/site/docs/enki.md +0 -23
- data/site/docs/ghost.md +0 -19
- data/site/docs/google_reader.md +0 -19
- data/site/docs/history.md +0 -130
- data/site/docs/index.md +0 -17
- data/site/docs/installation.md +0 -26
- data/site/docs/joomla.md +0 -26
- data/site/docs/jrnl.md +0 -23
- data/site/docs/marley.md +0 -20
- data/site/docs/mephisto.md +0 -23
- data/site/docs/mt.md +0 -39
- data/site/docs/posterous.md +0 -25
- data/site/docs/rss.md +0 -19
- data/site/docs/s9y.md +0 -19
- data/site/docs/textpattern.md +0 -30
- data/site/docs/third-party.md +0 -30
- data/site/docs/tumblr.md +0 -24
- data/site/docs/typo.md +0 -26
- data/site/docs/usage.md +0 -29
- data/site/docs/wordpress.md +0 -41
- data/site/docs/wordpressdotcom.md +0 -47
- data/site/favicon.png +0 -0
- data/site/feed.xml +0 -36
- data/site/img/article-footer.png +0 -0
- data/site/img/footer-arrow.png +0 -0
- data/site/img/footer-logo.png +0 -0
- data/site/img/logo-2x.png +0 -0
- data/site/img/octojekyll.png +0 -0
- data/site/img/tube.png +0 -0
- data/site/img/tube1x.png +0 -0
- data/site/index.html +0 -95
- data/site/js/modernizr-2.5.3.min.js +0 -4
- data/site/news/index.html +0 -10
- data/site/news/releases/index.html +0 -10
- data/test/helper.rb +0 -50
- data/test/test_jrnl_importer.rb +0 -39
- data/test/test_mt_importer.rb +0 -104
- data/test/test_tumblr_importer.rb +0 -108
- data/test/test_util.rb +0 -10
- data/test/test_wordpress_importer.rb +0 -9
- data/test/test_wordpressdotcom_importer.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ea4fc21b7d8bde846159c3822251b2192274fa8
|
4
|
+
data.tar.gz: 2ab2c876e9b3e440eba999232d45665f0ba7ff7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbbb4b901182d17af3d0ed0432f6443b9051cd9d3976f95108931806c82fc98342218df4a6b3750705269a88b8bce73b4f236763d5e8713d8591366189b73666
|
7
|
+
data.tar.gz: 6f6a0fbcf76c5a05908e8e9aba0bc8f9e3a5c9cd832a671b20b6f32d4758f69f94ac96779aa53d0bff8c151a4923a7b32cb582b21d4d173e0456e587c99f237a
|
@@ -27,7 +27,7 @@ module JekyllImport
|
|
27
27
|
c.option 'user', '--user USER', 'Database user name (default: "")'
|
28
28
|
c.option 'password', '--password PW', "Database user's password (default: "")"
|
29
29
|
c.option 'host', '--host HOST', 'Database host name (default: "localhost")'
|
30
|
-
c.option 'table_prefix', '--
|
30
|
+
c.option 'table_prefix', '--table_prefix PREFIX', 'Table prefix name (default: "wp_")'
|
31
31
|
c.option 'clean_entities', '--clean_entities', 'Whether to clean entities (default: true)'
|
32
32
|
c.option 'comments', '--comments', 'Whether to import comments (default: true)'
|
33
33
|
c.option 'categories', '--categories', 'Whether to import categories (default: true)'
|
@@ -83,7 +83,7 @@ module JekyllImport
|
|
83
83
|
:host => opts.fetch('host', 'localhost'),
|
84
84
|
:socket => opts.fetch('socket', ''),
|
85
85
|
:dbname => opts.fetch('dbname', ''),
|
86
|
-
:table_prefix => opts.fetch('
|
86
|
+
:table_prefix => opts.fetch('table_prefix', 'wp_'),
|
87
87
|
:clean_entities => opts.fetch('clean_entities', true),
|
88
88
|
:comments => opts.fetch('comments', true),
|
89
89
|
:categories => opts.fetch('categories', true),
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Preston-Werner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -298,14 +298,8 @@ extra_rdoc_files:
|
|
298
298
|
- README.markdown
|
299
299
|
- LICENSE
|
300
300
|
files:
|
301
|
-
- ".gitignore"
|
302
|
-
- ".travis.yml"
|
303
|
-
- Gemfile
|
304
|
-
- History.markdown
|
305
301
|
- LICENSE
|
306
302
|
- README.markdown
|
307
|
-
- Rakefile
|
308
|
-
- jekyll-import.gemspec
|
309
303
|
- lib/jekyll-import.rb
|
310
304
|
- lib/jekyll-import/importer.rb
|
311
305
|
- lib/jekyll-import/importers.rb
|
@@ -333,86 +327,6 @@ files:
|
|
333
327
|
- lib/jekyll-import/util.rb
|
334
328
|
- lib/jekyll-import/version.rb
|
335
329
|
- lib/jekyll/commands/import.rb
|
336
|
-
- script/bootstrap
|
337
|
-
- script/cibuild
|
338
|
-
- site/.gitignore
|
339
|
-
- site/CNAME
|
340
|
-
- site/README
|
341
|
-
- site/_config.yml
|
342
|
-
- site/_includes/analytics.html
|
343
|
-
- site/_includes/docs_contents.html
|
344
|
-
- site/_includes/docs_contents_mobile.html
|
345
|
-
- site/_includes/docs_option.html
|
346
|
-
- site/_includes/docs_ul.html
|
347
|
-
- site/_includes/footer.html
|
348
|
-
- site/_includes/header.html
|
349
|
-
- site/_includes/news_contents.html
|
350
|
-
- site/_includes/news_contents_mobile.html
|
351
|
-
- site/_includes/news_item.html
|
352
|
-
- site/_includes/primary-nav-items.html
|
353
|
-
- site/_includes/section_nav.html
|
354
|
-
- site/_includes/top.html
|
355
|
-
- site/_layouts/default.html
|
356
|
-
- site/_layouts/docs.html
|
357
|
-
- site/_layouts/news.html
|
358
|
-
- site/_layouts/news_item.html
|
359
|
-
- site/_posts/2013-11-09-jekyll-import-0-1-0-beta4-release.markdown
|
360
|
-
- site/_posts/2013-11-18-jekyll-import-0-1-0-rc1-released.markdown
|
361
|
-
- site/_posts/2013-12-17-jekyll-import-0-1-0-released.markdown
|
362
|
-
- site/_posts/2014-03-16-jekyll-import-0-2-0-released.markdown
|
363
|
-
- site/_posts/2014-05-23-jekyll-import-0-3-0-released.markdown
|
364
|
-
- site/_posts/2014-06-29-jekyll-import-0-4-0-released.markdown
|
365
|
-
- site/css/gridism.css
|
366
|
-
- site/css/normalize.css
|
367
|
-
- site/css/pygments.css
|
368
|
-
- site/css/style.css
|
369
|
-
- site/docs/behance.md
|
370
|
-
- site/docs/contributing.md
|
371
|
-
- site/docs/csv.md
|
372
|
-
- site/docs/drupal6.md
|
373
|
-
- site/docs/drupal7.md
|
374
|
-
- site/docs/easyblog.md
|
375
|
-
- site/docs/enki.md
|
376
|
-
- site/docs/ghost.md
|
377
|
-
- site/docs/google_reader.md
|
378
|
-
- site/docs/history.md
|
379
|
-
- site/docs/index.md
|
380
|
-
- site/docs/installation.md
|
381
|
-
- site/docs/joomla.md
|
382
|
-
- site/docs/jrnl.md
|
383
|
-
- site/docs/marley.md
|
384
|
-
- site/docs/mephisto.md
|
385
|
-
- site/docs/mt.md
|
386
|
-
- site/docs/posterous.md
|
387
|
-
- site/docs/rss.md
|
388
|
-
- site/docs/s9y.md
|
389
|
-
- site/docs/textpattern.md
|
390
|
-
- site/docs/third-party.md
|
391
|
-
- site/docs/tumblr.md
|
392
|
-
- site/docs/typo.md
|
393
|
-
- site/docs/usage.md
|
394
|
-
- site/docs/wordpress.md
|
395
|
-
- site/docs/wordpressdotcom.md
|
396
|
-
- site/favicon.png
|
397
|
-
- site/feed.xml
|
398
|
-
- site/img/article-footer.png
|
399
|
-
- site/img/footer-arrow.png
|
400
|
-
- site/img/footer-logo.png
|
401
|
-
- site/img/logo-2x.png
|
402
|
-
- site/img/octojekyll.png
|
403
|
-
- site/img/tube.png
|
404
|
-
- site/img/tube1x.png
|
405
|
-
- site/index.html
|
406
|
-
- site/js/modernizr-2.5.3.min.js
|
407
|
-
- site/news/index.html
|
408
|
-
- site/news/releases/index.html
|
409
|
-
- test/helper.rb
|
410
|
-
- test/test_jrnl_importer.rb
|
411
|
-
- test/test_mt_importer.rb
|
412
|
-
- test/test_tumblr_importer.rb
|
413
|
-
- test/test_util.rb
|
414
|
-
- test/test_wordpress_importer.rb
|
415
|
-
- test/test_wordpressdotcom_importer.rb
|
416
330
|
homepage: http://github.com/jekyll/jekyll-import
|
417
331
|
licenses:
|
418
332
|
- MIT
|
@@ -438,11 +352,4 @@ rubygems_version: 2.2.2
|
|
438
352
|
signing_key:
|
439
353
|
specification_version: 2
|
440
354
|
summary: Import command for Jekyll (static site generator).
|
441
|
-
test_files:
|
442
|
-
- test/helper.rb
|
443
|
-
- test/test_jrnl_importer.rb
|
444
|
-
- test/test_mt_importer.rb
|
445
|
-
- test/test_tumblr_importer.rb
|
446
|
-
- test/test_util.rb
|
447
|
-
- test/test_wordpress_importer.rb
|
448
|
-
- test/test_wordpressdotcom_importer.rb
|
355
|
+
test_files: []
|
data/.gitignore
DELETED
data/.travis.yml
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
install:
|
3
|
-
- export NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
4
|
-
- travis_retry ./script/bootstrap
|
5
|
-
rvm:
|
6
|
-
- 2.1
|
7
|
-
- 2.0
|
8
|
-
- 1.9.3
|
9
|
-
script: ./script/cibuild
|
10
|
-
notifications:
|
11
|
-
irc: "irc.freenode.org#jekyll"
|
12
|
-
email:
|
13
|
-
on_success: never
|
14
|
-
on_failure: never
|
data/Gemfile
DELETED
data/History.markdown
DELETED
@@ -1,135 +0,0 @@
|
|
1
|
-
## HEAD
|
2
|
-
|
3
|
-
### Major Enhancements
|
4
|
-
|
5
|
-
### Minor Enhancements
|
6
|
-
|
7
|
-
### Bug Fixes
|
8
|
-
|
9
|
-
### Site Enhancements
|
10
|
-
|
11
|
-
### Development Fixes
|
12
|
-
|
13
|
-
## 0.4.0 / 2014-06-29
|
14
|
-
|
15
|
-
### Minor Enhancements
|
16
|
-
|
17
|
-
* Add easyblog importer (#136)
|
18
|
-
* WordPress: import draft posts into `_drafts` folder (#147)
|
19
|
-
* Be really permissive about which Jekyll version to use
|
20
|
-
|
21
|
-
### Bug Fixes
|
22
|
-
|
23
|
-
* Tumblr: Photo posts with multiple photos will now all import (#145)
|
24
|
-
|
25
|
-
### Site Enhancements
|
26
|
-
|
27
|
-
* Fix table prefix key in WordPress docs. (#150)
|
28
|
-
|
29
|
-
### Development Fixes
|
30
|
-
|
31
|
-
* Add GitHub `script/*` conventions for easy pick-up. (#146)
|
32
|
-
|
33
|
-
## 0.3.0 / 2014-05-23
|
34
|
-
|
35
|
-
### Minor Enhancements
|
36
|
-
|
37
|
-
* Import WordPress.org `author` data as hash (#139)
|
38
|
-
* Add `socket` option to the WordPress importer (#140)
|
39
|
-
* Allow the CSV importer to skip writing front matter (#143)
|
40
|
-
* WordPress.com: Download images locally and update links to them (#134)
|
41
|
-
* WordPress: Import WP pages as proper Jekyll pages instead of as posts (#137)
|
42
|
-
|
43
|
-
### Bug Fixes
|
44
|
-
|
45
|
-
* Replace errant `continue` expression with the valid `next` expression (#133)
|
46
|
-
|
47
|
-
## 0.2.0 / 2014-03-16
|
48
|
-
|
49
|
-
### Major Enhancements
|
50
|
-
* Add comments to MovableType importer (#66)
|
51
|
-
* Support auto-paragraph Wordpress convention (#125)
|
52
|
-
|
53
|
-
### Minor Enhancements
|
54
|
-
* Extract author info from wordpress XML files (#131)
|
55
|
-
|
56
|
-
### Bug Fixes
|
57
|
-
* Require YAML library in Enki importer (#112)
|
58
|
-
* Fix !ruby/string:Sequel::SQL::Blob error in MT excerpts (#113)
|
59
|
-
* Drupal6: Ensure post "tags" is "", never nil (#117)
|
60
|
-
* Fixes a bug where the Tumblr importer would write posts with `nil`
|
61
|
-
content (#118)
|
62
|
-
* Change Drupal7 layout to `post` rather than `default` (#124)
|
63
|
-
* WordPress: Use explicit `#to_s` when outputting post dates (#129)
|
64
|
-
|
65
|
-
### Site Enhancements
|
66
|
-
* Fixed error in quickstart code, added required design changes/reflow (#120)
|
67
|
-
* Fix example parameter names for Tumblr importer (#122)
|
68
|
-
* Add note to WordPress installer docs page that indicates what the importer
|
69
|
-
does and doesn't do. (#127)
|
70
|
-
|
71
|
-
### Development Fixes
|
72
|
-
* Bring gemspec into the 2010's (#130)
|
73
|
-
|
74
|
-
## 0.1.0 / 2013-12-18
|
75
|
-
|
76
|
-
### Major Enhancements
|
77
|
-
* Add 'Ghost' importer (#100)
|
78
|
-
* Add 'Behance' importer (#46, #104)
|
79
|
-
* Add the optional ability to include images in a posterous migration (#5)
|
80
|
-
* Posterous archive (unzipped directory) importer added (#12)
|
81
|
-
* Improve MovableType importer (#13)
|
82
|
-
* Add an importer for Google Reader blog exports (#36)
|
83
|
-
* Remove dependency on html2text in the tumblr importer (#33)
|
84
|
-
* Add the ability to import .jrnl files (#51)
|
85
|
-
* Handle missing gems a bit more gracefully (#59)
|
86
|
-
|
87
|
-
### Minor Enhancements
|
88
|
-
* Add date and redirection pages for blogs imported from Tumblr (#54)
|
89
|
-
* Various Tumblr Enhancements (#27)
|
90
|
-
* Adding tags to Typo and forcing their encoding to UTF-8 (#11)
|
91
|
-
* S9Y Importer: specify data source using --source option (#18)
|
92
|
-
* Add taxonomy (`tags`) to Drupal6 migration (#15)
|
93
|
-
* Differentiate between categories and tags in the WordpressDotCom
|
94
|
-
importer (#31)
|
95
|
-
* Use tumblr slug for post is available, use that instead (#39, #40)
|
96
|
-
* Drupal 7 importer should use latest revision of a post (#38)
|
97
|
-
* Improve the handling of tags in the Drupal 6 importer. Tags with
|
98
|
-
spaces are handled now and the importer doesn't eat tags anymore. (#42)
|
99
|
-
* Upgrade to `jekyll ~> 1.3` and `safe_yaml ~> 0.9.7`
|
100
|
-
* Add license to gemspec (#83)
|
101
|
-
* Add an `Importer.run` method for easy invocation (#88)
|
102
|
-
|
103
|
-
### Bug Fixes
|
104
|
-
* Remove usage of `Hash#at` in Tumblr importer (#14)
|
105
|
-
* Force encoding of Drupal 6.x titles to UTF-8 (#22)
|
106
|
-
* Update wordpressdotcom.rb to use its method parameter correctly (#24)
|
107
|
-
* Use MySQL2 adapter for WordPress importer to fix broken front-matter (#20)
|
108
|
-
* Fix WordPress import initialize parameters due to new Jekyll setup (#19)
|
109
|
-
* Fixed misspelling in method name (#17)
|
110
|
-
* Fix Drupal 7 importer so it compares node ID's properly between `node` and
|
111
|
-
`field_data_body` tables (#38)
|
112
|
-
* Fix prefix replacement for Drupal6 (#41)
|
113
|
-
* Fix an exception when a Movable Type blog did not have additional
|
114
|
-
entry text (#45)
|
115
|
-
* Create `_layouts/` before writing refresh.html in Drupal migrators (#48)
|
116
|
-
* Fix bug where post date in `MT` importer was not imported for older versions
|
117
|
-
of MT sites (#62)
|
118
|
-
* Fix interface of importers' `#process` method (#69)
|
119
|
-
* RSS importer should specify `--source` option (#81)
|
120
|
-
* Fix fetching of parameters from options hash (#86)
|
121
|
-
* Drupal6: Fix NoMethodError on untagged post (#93)
|
122
|
-
* S9Y: Use RSS parser from `rss` package, not the RSS importer (#102)
|
123
|
-
* Support as much of the current Commander interface as possible (#103)
|
124
|
-
|
125
|
-
### Site Enhancements
|
126
|
-
* Add the site (#87)
|
127
|
-
|
128
|
-
### Development Fixes
|
129
|
-
* Update usage docs in RSS importer (#35)
|
130
|
-
* Added initial version of a test case for Tumblr (#43)
|
131
|
-
* Remove some outdated comments in the Drupal migrators (#50)
|
132
|
-
* Update the README to be more informative (#52)
|
133
|
-
* Add comment to Wordpress importer on how to install mysql with
|
134
|
-
MacPorts (#56)
|
135
|
-
* Correcting the homepage URL so links from rubygems.org will work (#63)
|
data/Rakefile
DELETED
@@ -1,209 +0,0 @@
|
|
1
|
-
# require 'rake/testtask'
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'rake'
|
5
|
-
require 'rdoc'
|
6
|
-
require 'date'
|
7
|
-
require 'yaml'
|
8
|
-
|
9
|
-
#############################################################################
|
10
|
-
#
|
11
|
-
# Helper functions
|
12
|
-
#
|
13
|
-
#############################################################################
|
14
|
-
|
15
|
-
def name
|
16
|
-
@name ||= Dir['*.gemspec'].first.split('.').first
|
17
|
-
end
|
18
|
-
|
19
|
-
def version
|
20
|
-
JekyllImport::VERSION
|
21
|
-
end
|
22
|
-
|
23
|
-
def gemspec_file
|
24
|
-
"#{name}.gemspec"
|
25
|
-
end
|
26
|
-
|
27
|
-
def gem_file
|
28
|
-
"#{name}-#{version}.gem"
|
29
|
-
end
|
30
|
-
|
31
|
-
def normalize_bullets(markdown)
|
32
|
-
markdown.gsub(/\s{2}\*{1}/, "-")
|
33
|
-
end
|
34
|
-
|
35
|
-
def linkify_prs(markdown)
|
36
|
-
markdown.gsub(/#(\d+)/) do |word|
|
37
|
-
"[#{word}]({{ site.repository }}/issues/#{word.delete("#")})"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def linkify_users(markdown)
|
42
|
-
markdown.gsub(/(@\w+)/) do |username|
|
43
|
-
"[#{username}](https://github.com/#{username.delete("@")})"
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def linkify(markdown)
|
48
|
-
linkify_users(linkify_prs(markdown))
|
49
|
-
end
|
50
|
-
|
51
|
-
def liquid_escape(markdown)
|
52
|
-
markdown.gsub(/(`{[{%].+[}%]}`)/, "{% raw %}\\1{% endraw %}")
|
53
|
-
end
|
54
|
-
|
55
|
-
def remove_head_from_history(markdown)
|
56
|
-
index = markdown =~ /^##\s+\d+\.\d+\.\d+/
|
57
|
-
markdown[index..-1]
|
58
|
-
end
|
59
|
-
|
60
|
-
def converted_history(markdown)
|
61
|
-
remove_head_from_history(liquid_escape(linkify(normalize_bullets(markdown))))
|
62
|
-
end
|
63
|
-
|
64
|
-
#############################################################################
|
65
|
-
#
|
66
|
-
# Standard tasks
|
67
|
-
#
|
68
|
-
#############################################################################
|
69
|
-
|
70
|
-
task :default => :test
|
71
|
-
|
72
|
-
require 'rake/testtask'
|
73
|
-
Rake::TestTask.new(:test) do |test|
|
74
|
-
test.libs << 'lib' << 'test'
|
75
|
-
test.pattern = 'test/**/test_*.rb'
|
76
|
-
test.verbose = true
|
77
|
-
end
|
78
|
-
|
79
|
-
require 'rdoc/task'
|
80
|
-
Rake::RDocTask.new do |rdoc|
|
81
|
-
rdoc.rdoc_dir = 'rdoc'
|
82
|
-
rdoc.title = "#{name} #{version}"
|
83
|
-
rdoc.rdoc_files.include('README*')
|
84
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
85
|
-
end
|
86
|
-
|
87
|
-
desc "Open an irb session preloaded with this library"
|
88
|
-
task :console do
|
89
|
-
sh "irb -rubygems -r ./lib/#{name}.rb"
|
90
|
-
end
|
91
|
-
|
92
|
-
#############################################################################
|
93
|
-
#
|
94
|
-
# Site tasks - http://import.jekyllrb.com
|
95
|
-
#
|
96
|
-
#############################################################################
|
97
|
-
|
98
|
-
namespace :site do
|
99
|
-
desc "Generate and view the site locally"
|
100
|
-
task :preview do
|
101
|
-
require "launchy"
|
102
|
-
|
103
|
-
# Yep, it's a hack! Wait a few seconds for the Jekyll site to generate and
|
104
|
-
# then open it in a browser. Someday we can do better than this, I hope.
|
105
|
-
Thread.new do
|
106
|
-
sleep 4
|
107
|
-
puts "Opening in browser..."
|
108
|
-
Launchy.open("http://localhost:4000")
|
109
|
-
end
|
110
|
-
|
111
|
-
# Generate the site in server mode.
|
112
|
-
puts "Running Jekyll..."
|
113
|
-
Dir.chdir("site") do
|
114
|
-
sh "jekyll serve --watch"
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
desc "Update normalize.css library to the latest version and minify"
|
119
|
-
task :update_normalize_css do
|
120
|
-
Dir.chdir("site/css") do
|
121
|
-
sh 'curl "http://necolas.github.io/normalize.css/latest/normalize.css" -o "normalize.scss"'
|
122
|
-
sh 'sass "normalize.scss":"normalize.css" --style compressed'
|
123
|
-
sh 'rm "normalize.scss"'
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
desc "Commit the local site to the gh-pages branch and publish to GitHub Pages"
|
128
|
-
task :publish => [:history] do
|
129
|
-
sh "git subtree push --prefix site origin gh-pages"
|
130
|
-
end
|
131
|
-
|
132
|
-
desc "Create a nicely formatted history page for the jekyll site based on the repo history."
|
133
|
-
task :history do
|
134
|
-
if File.exist?("History.markdown")
|
135
|
-
history_file = File.read("History.markdown")
|
136
|
-
front_matter = {
|
137
|
-
"layout" => "docs",
|
138
|
-
"title" => "History",
|
139
|
-
"permalink" => "/docs/history/",
|
140
|
-
"prev_section" => "contributing"
|
141
|
-
}
|
142
|
-
Dir.chdir('site/docs/') do
|
143
|
-
File.open("history.md", "w") do |file|
|
144
|
-
file.write("#{front_matter.to_yaml}---\n\n")
|
145
|
-
file.write(converted_history(history_file))
|
146
|
-
end
|
147
|
-
end
|
148
|
-
unless `git diff site/docs/history.md`.strip.empty?
|
149
|
-
sh "git add site/docs/history.md"
|
150
|
-
sh "git commit -m 'Updated generated history.md file in the site.'"
|
151
|
-
else
|
152
|
-
puts "No updates to commit at this time. Skipping..."
|
153
|
-
end
|
154
|
-
else
|
155
|
-
abort "You seem to have misplaced your History.markdown file. I can haz?"
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
namespace :releases do
|
160
|
-
desc "Create new release post"
|
161
|
-
task :new, :version do |t, args|
|
162
|
-
raise "Specify a version: rake site:releases:new['1.2.3']" unless args.version
|
163
|
-
today = Time.new.strftime('%Y-%m-%d')
|
164
|
-
release = args.version.to_s
|
165
|
-
filename = "site/_posts/#{today}-jekyll-import-#{release.split('.').join('-')}-released.markdown"
|
166
|
-
|
167
|
-
File.open(filename, "wb") do |post|
|
168
|
-
post.puts("---")
|
169
|
-
post.puts("layout: news_item")
|
170
|
-
post.puts("title: 'jekyll-import #{release} Released'")
|
171
|
-
post.puts("date: #{Time.new.strftime('%Y-%m-%d %H:%M:%S %z')}")
|
172
|
-
post.puts("author: ")
|
173
|
-
post.puts("version: #{version}")
|
174
|
-
post.puts("categories: [release]")
|
175
|
-
post.puts("---")
|
176
|
-
post.puts
|
177
|
-
post.puts
|
178
|
-
end
|
179
|
-
|
180
|
-
puts "Created #{filename}"
|
181
|
-
end
|
182
|
-
end
|
183
|
-
end
|
184
|
-
|
185
|
-
#############################################################################
|
186
|
-
#
|
187
|
-
# Packaging tasks
|
188
|
-
#
|
189
|
-
#############################################################################
|
190
|
-
|
191
|
-
desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
|
192
|
-
task :release => :build do
|
193
|
-
unless `git branch` =~ /^\* master$/
|
194
|
-
puts "You must be on the master branch to release!"
|
195
|
-
exit!
|
196
|
-
end
|
197
|
-
sh "git commit --allow-empty -a -m 'Release #{version}'"
|
198
|
-
sh "git tag v#{version}"
|
199
|
-
sh "git push origin master"
|
200
|
-
sh "git push origin v#{version}"
|
201
|
-
sh "gem push pkg/#{name}-#{version}.gem"
|
202
|
-
end
|
203
|
-
|
204
|
-
desc "Build #{gem_file} into the pkg directory"
|
205
|
-
task :build do
|
206
|
-
sh "mkdir -p pkg"
|
207
|
-
sh "gem build #{gemspec_file}"
|
208
|
-
sh "mv #{gem_file} pkg"
|
209
|
-
end
|