jekyll 1.0.0.rc1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of jekyll might be problematic. Click here for more details.

Files changed (72) hide show
  1. data/CONTRIBUTING.md +1 -1
  2. data/History.txt +15 -1
  3. data/Rakefile +0 -4
  4. data/bin/jekyll +3 -3
  5. data/features/pagination.feature +5 -5
  6. data/features/step_definitions/jekyll_steps.rb +1 -1
  7. data/jekyll.gemspec +9 -6
  8. data/lib/jekyll.rb +1 -2
  9. data/lib/jekyll/commands/new.rb +4 -0
  10. data/lib/jekyll/configuration.rb +3 -1
  11. data/lib/jekyll/converters/markdown/redcarpet_parser.rb +1 -0
  12. data/lib/jekyll/convertible.rb +66 -36
  13. data/lib/jekyll/deprecator.rb +9 -0
  14. data/lib/jekyll/filters.rb +17 -4
  15. data/lib/jekyll/generators/pagination.rb +17 -5
  16. data/lib/jekyll/logger.rb +3 -1
  17. data/lib/jekyll/page.rb +1 -13
  18. data/lib/jekyll/post.rb +67 -49
  19. data/lib/jekyll/site.rb +3 -3
  20. data/lib/jekyll/tags/highlight.rb +2 -0
  21. data/lib/jekyll/tags/post_url.rb +25 -7
  22. data/lib/site_template/.gitignore +1 -0
  23. data/lib/site_template/_config.yml +1 -0
  24. data/lib/site_template/_layouts/default.html +44 -36
  25. data/lib/site_template/_layouts/post.html +3 -0
  26. data/lib/site_template/css/main.css +165 -0
  27. data/site/_includes/docs_contents.html +4 -1
  28. data/site/_includes/docs_contents_mobile.html +36 -0
  29. data/site/_includes/footer.html +10 -10
  30. data/site/_includes/header.html +7 -15
  31. data/site/_includes/primary-nav-items.html +11 -0
  32. data/site/_includes/top.html +2 -1
  33. data/site/_layouts/default.html +1 -1
  34. data/site/_layouts/docs.html +4 -2
  35. data/site/_posts/2012-07-01-configuration.md +18 -8
  36. data/site/_posts/2012-07-01-contributing.md +22 -6
  37. data/site/_posts/2012-07-01-extras.md +3 -2
  38. data/site/_posts/2012-07-01-frontmatter.md +7 -2
  39. data/site/_posts/2012-07-01-home.md +4 -4
  40. data/site/_posts/2012-07-01-installation.md +6 -6
  41. data/site/_posts/2012-07-01-migrations.md +64 -23
  42. data/site/_posts/2012-07-01-pages.md +2 -2
  43. data/site/_posts/2012-07-01-pagination.md +6 -1
  44. data/site/_posts/2012-07-01-permalinks.md +6 -0
  45. data/site/_posts/2012-07-01-plugins.md +9 -1
  46. data/site/_posts/2012-07-01-resources.md +1 -4
  47. data/site/_posts/2012-07-01-structure.md +3 -1
  48. data/site/_posts/2012-07-01-templates.md +2 -1
  49. data/site/_posts/2012-07-01-troubleshooting.md +20 -2
  50. data/site/_posts/2012-07-01-upgrading.md +104 -0
  51. data/site/_posts/2012-07-01-usage.md +1 -1
  52. data/site/_posts/2012-07-01-variables.md +18 -9
  53. data/site/css/gridism.css +110 -0
  54. data/site/css/style.css +236 -101
  55. data/site/img/footer-logo.png +0 -0
  56. data/site/img/octojekyll.png +0 -0
  57. data/site/index.html +51 -43
  58. data/test/helper.rb +1 -0
  59. data/test/source/_posts/es/2008-11-21-nested.textile +8 -0
  60. data/test/test_convertible.rb +1 -1
  61. data/test/test_filters.rb +34 -11
  62. data/test/test_generated_site.rb +13 -2
  63. data/test/test_kramdown.rb +4 -2
  64. data/test/test_pager.rb +4 -2
  65. data/test/test_post.rb +2 -2
  66. data/test/test_site.rb +7 -6
  67. data/test/test_tags.rb +30 -0
  68. metadata +12 -12
  69. data/lib/site_template/css/screen.css +0 -189
  70. data/lib/site_template/images/.gitkeep +0 -0
  71. data/lib/site_template/images/rss.png +0 -0
  72. data/site/css/grid.css +0 -62
@@ -1,4 +1,4 @@
1
- <div class="grid2">
1
+ <div class="unit one-fifth hide-on-mobiles">
2
2
  <aside>
3
3
  <h4>Getting Started</h4>
4
4
  <ul>
@@ -77,6 +77,9 @@
77
77
  <li class="{% if page.title == "Resources" %}current{% endif %}">
78
78
  <a href="{{ site.url }}/docs/resources">Resources</a>
79
79
  </li>
80
+ <li class="{% if page.title == "Upgrading" %}current{% endif %}">
81
+ <a href="{{ site.url }}/docs/upgrading">Upgrading</a>
82
+ </li>
80
83
  </ul>
81
84
  </aside>
82
85
  </div>
@@ -0,0 +1,36 @@
1
+ <div class="docs-nav-mobile unit whole show-on-mobiles">
2
+ <select onchange="if (this.value) window.location.href=this.value">
3
+ <option value="">Navigate the docs…</option>
4
+ <optgroup label="Getting started">
5
+ <option value="{{ site.url }}/docs/home">Welcome</option>
6
+ <option value="{{ site.url }}/docs/installation">Installation</option>
7
+ <option value="{{ site.url }}/docs/usage">Basic Usage</option>
8
+ <option value="{{ site.url }}/docs/structure">Directory structure</option>
9
+ <option value="{{ site.url }}/docs/configuration">Configuration</option>
10
+ </optgroup>
11
+ <optgroup label="Your Content">
12
+ <option value="{{ site.url }}/docs/frontmatter">Front-matter</option>
13
+ <option value="{{ site.url }}/docs/posts">Writing posts</option>
14
+ <option value="{{ site.url }}/docs/pages">Creating pages</option>
15
+ <option value="{{ site.url }}/docs/variables">Variables</option>
16
+ <option value="{{ site.url }}/docs/migrations">Blog migrations</option>
17
+ </optgroup>
18
+ <optgroup label="Customization">
19
+ <option value="{{ site.url }}/docs/templates">Templates</option>
20
+ <option value="{{ site.url }}/docs/permalinks">Permalinks</option>
21
+ <option value="{{ site.url }}/docs/pagination">Pagination</option>
22
+ <option value="{{ site.url }}/docs/plugins">Plugins</option>
23
+ <option value="{{ site.url }}/docs/extras">Extras</option>
24
+ </optgroup>
25
+ <optgroup label="Deployment">
26
+ <option value="{{ site.url }}/docs/github-pages">GitHub Pages</option>
27
+ <option value="{{ site.url }}/docs/deployment-methods">Other methods</option>
28
+ </optgroup>
29
+ <optgroup label="Miscellaneous">
30
+ <option value="{{ site.url }}/docs/contributing">Contributing</option>
31
+ <option value="{{ site.url }}/docs/troubleshooting">Troubleshooting</option>
32
+ <option value="{{ site.url }}/docs/sites">Sites using Jekyll</option>
33
+ <option value="{{ site.url }}/docs/resources">Resources</option>
34
+ </optgroup>
35
+ <select>
36
+ </div>
@@ -1,15 +1,15 @@
1
1
  <footer>
2
- <div class="content">
3
- <div class="grid4 first">
4
- <p>By <a href="http://tom.preston-werner.com">Tom Preston-Werner</a>, <a href="http://quaran.to/">Nick Quaranto</a>, and many more <a href="https://github.com/mojombo/jekyll/graphs/contributors">awesome contributors</a>.</p>
2
+ <div class="grid">
3
+ <div class="unit one-third center-on-mobiles">
4
+ <p>By <a href="http://tom.preston-werner.com">Tom Preston-Werner</a>, <a href="http://quaran.to/">Nick Quaranto</a>, and many more <a href="https://github.com/mojombo/jekyll/graphs/contributors">awesome&nbsp;contributors</a>.</p>
5
5
  </div>
6
- <div class="grid8 align-right">
7
- <p>Proudly hosted by</p>
8
- <a href="https://github.com">
9
- <img src="{{ site.url }}/img/footer-logo.png" alt="GitHub • Social coding">
10
- </a>
6
+ <div class="unit two-thirds align-right center-on-mobiles">
7
+ <p>
8
+ Proudly hosted by
9
+ <a href="https://github.com">
10
+ <img src="{{ site.url }}/img/footer-logo.png" alt="GitHub • Social coding">
11
+ </a>
12
+ </p>
11
13
  </div>
12
- <div class="clear"></div>
13
14
  </div>
14
15
  </footer>
15
- <div class="clear"></div>
@@ -1,6 +1,9 @@
1
1
  <header>
2
- <div class="content">
3
- <div class="grid3 first">
2
+ <nav class="mobile-nav show-on-mobiles">
3
+ {% include primary-nav-items.html %}
4
+ </nav>
5
+ <div class="grid">
6
+ <div class="unit one-third center-on-mobiles">
4
7
  <h1>
5
8
  <a href="{{ site.url }}/">
6
9
  <span>Jekyll</span>
@@ -8,19 +11,8 @@
8
11
  </a>
9
12
  </h1>
10
13
  </div>
11
- <nav class="grid6">
12
- <ul>
13
- <li {% if page.overview %}class="current"{% endif %}>
14
- <a href="{{ site.url }}/">Overview</a>
15
- </li>
16
- <li {% unless page.overview %}class="current"{% endunless %}>
17
- <a href="{{ site.url }}/docs">Documentation</a>
18
- </li>
19
- <li class="">
20
- <a href="https://github.com/mojombo/jekyll">View on GitHub</a>
21
- </li>
22
- </ul>
14
+ <nav class="main-nav unit two-thirds hide-on-mobiles">
15
+ {% include primary-nav-items.html %}
23
16
  </nav>
24
- <div class="clear"></div>
25
17
  </div>
26
18
  </header>
@@ -0,0 +1,11 @@
1
+ <ul>
2
+ <li class="{% if page.overview %}current{% endif %}">
3
+ <a href="{{ site.url }}/">Overview</a>
4
+ </li>
5
+ <li class="{% unless page.overview %}current{% endunless %}">
6
+ <a href="{{ site.url }}/docs">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a>
7
+ </li>
8
+ <li class="">
9
+ <a href="https://github.com/mojombo/jekyll"><span class="hide-on-mobiles">View on </span>GitHub</a>
10
+ </li>
11
+ </ul>
@@ -3,10 +3,11 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <title>{{ page.title }}</title>
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  <link href='http://fonts.googleapis.com/css?family=Lato:100,300,400,700,900,100italic,300italic,400italic,700italic,900italic' rel='stylesheet' type='text/css'>
7
8
  <link href='http://fonts.googleapis.com/css?family=Arizonia' rel='stylesheet' type='text/css'>
8
9
  <link rel="stylesheet" href="{{ site.url }}/css/normalize.css" />
9
- <link rel="stylesheet" href="{{ site.url }}/css/grid.css" />
10
+ <link rel="stylesheet" href="{{ site.url }}/css/gridism.css" />
10
11
  <link rel="stylesheet" href="{{ site.url }}/css/style.css" />
11
12
  <link rel="stylesheet" href="{{ site.url }}/css/pygments.css" />
12
13
  <link rel="icon" type="image/x-icon" href="{{ site.url }}/favicon.png" />
@@ -1,6 +1,6 @@
1
1
  {% include top.html %}
2
2
 
3
- <body>
3
+ <body class="wrap">
4
4
  {% include header.html %}
5
5
 
6
6
  {{ content }}
@@ -3,9 +3,11 @@ layout: default
3
3
  ---
4
4
 
5
5
  <section class="docs">
6
- <div class="content">
6
+ <div class="grid">
7
7
 
8
- <div class="grid10 first">
8
+ {% include docs_contents_mobile.html %}
9
+
10
+ <div class="unit four-fifths">
9
11
  <article>
10
12
  <h1>{{ page.title }}</h1>
11
13
  {{ content }}
@@ -19,6 +19,7 @@ The table below lists the available settings for Jekyll, and the various <code
19
19
  class="option">options</code> (specifed in the configuration file) and <code
20
20
  class="flag">flags</code> (specified on the command-line) that control them.
21
21
 
22
+ <div class="mobile-side-scroller">
22
23
  <table>
23
24
  <thead>
24
25
  <tr>
@@ -99,9 +100,11 @@ class="flag">flags</code> (specified on the command-line) that control them.
99
100
  </tr>
100
101
  </tbody>
101
102
  </table>
103
+ </div>
102
104
 
103
105
  ### Build Command Options
104
106
 
107
+ <div class="mobile-side-scroller">
105
108
  <table>
106
109
  <thead>
107
110
  <tr>
@@ -169,6 +172,7 @@ class="flag">flags</code> (specified on the command-line) that control them.
169
172
  </tr>
170
173
  </tbody>
171
174
  </table>
175
+ </div>
172
176
 
173
177
  ### Serve Command Options
174
178
 
@@ -176,6 +180,7 @@ In addition to the options below, the `serve` sub-command can accept any of the
176
180
  for the `build` sub-command, which are then applied to the site build which occurs right
177
181
  before your site is served.
178
182
 
183
+ <div class="mobile-side-scroller">
179
184
  <table>
180
185
  <thead>
181
186
  <tr>
@@ -207,7 +212,7 @@ before your site is served.
207
212
  <tr class='setting'>
208
213
  <td>
209
214
  <p class='name'><strong>Base URL</strong></p>
210
- <p class='description'>Serve website with the given base URL</p>
215
+ <p class='description'>Serve the website from the given base URL</p>
211
216
  </td>
212
217
  <td class="align-center">
213
218
  <p><code class="option">baseurl: URL</code></p>
@@ -216,6 +221,7 @@ before your site is served.
216
221
  </tr>
217
222
  </tbody>
218
223
  </table>
224
+ </div>
219
225
 
220
226
  <div class="note warning">
221
227
  <h5>Do not use tabs in configuration files</h5>
@@ -236,24 +242,28 @@ source: .
236
242
  destination: ./_site
237
243
  plugins: ./_plugins
238
244
  layouts: ./_layouts
245
+ include: ['.htaccess']
246
+ exclude: []
239
247
  keep_files: ['.git','.svn']
248
+ timezone: nil
240
249
 
241
250
  future: true
242
- pygments: false
251
+ show_drafts: nil
252
+ limit_posts: 0
253
+ pygments: true
243
254
 
244
- markdown: maruku
245
255
  permalink: date
246
- include: ['.htaccess']
247
256
  paginate_path: 'page:num'
248
257
 
249
- markdown_ext: markdown,mkd,mkdn,md
250
- textile_ext: textile
258
+ markdown: maruku
259
+ markdown_ext: markdown,mkd,mkdn,md
260
+ textile_ext: textile
251
261
 
252
262
  excerpt_separator: "\n\n"
253
263
 
254
264
  safe: false
255
- watch: false
256
- server: false
265
+ watch: false # deprecated
266
+ server: false # deprecated
257
267
  host: 0.0.0.0
258
268
  port: 4000
259
269
  baseurl: /
@@ -14,9 +14,9 @@ following in mind:
14
14
  [RR](http://github.com/btakita/rr/tree/master).
15
15
  * If it's a brand new feature, make sure to create a new
16
16
  [Cucumber](https://github.com/cucumber/cucumber/) feature and reuse steps
17
- where appropriate. Also, whipping up some documentation in your fork's wiki
18
- would be appreciated, and once merged it will be transferred over to the main
19
- wiki.
17
+ where appropriate. Also, whipping up some documentation in your fork's `site`
18
+ directory would be appreciated, and once merged it will also appear in
19
+ the next update of the main site.
20
20
  * If your contribution adds or changes any Jekyll behavior, make sure to update
21
21
  the documentation. It lives in `site/_posts`. If the docs are missing
22
22
  information, please feel free to add it in. Great docs make a great project!
@@ -56,12 +56,28 @@ Workflow
56
56
  Here's the most direct way to get your work merged into the project:
57
57
 
58
58
  * Fork the project.
59
- * Clone down your fork: `git clone git://github.com/<username>/jekyll.git`
60
- * Create a topic branch to contain your change: `git checkout -b my_awesome_feature`
59
+ * Clone down your fork:
60
+
61
+ {% highlight bash %}
62
+ git clone git://github.com/<username>/jekyll.git
63
+ {% endhighlight %}
64
+
65
+ * Create a topic branch to contain your change:
66
+
67
+ {% highlight bash %}
68
+ git checkout -b my_awesome_feature
69
+ {% endhighlight %}
70
+
71
+
61
72
  * Hack away, add tests. Not necessarily in that order.
62
73
  * Make sure everything still passes by running `rake`.
63
74
  * If necessary, rebase your commits into logical chunks, without errors.
64
- * Push the branch up: `git push origin my_awesome_feature`
75
+ * Push the branch up:
76
+
77
+ {% highlight bash %}
78
+ git push origin my_awesome_feature
79
+ {% endhighlight %}
80
+
65
81
  * Create a pull request against mojombo/jekyll and describe what your change
66
82
  does and the why you think it should be merged.
67
83
 
@@ -41,8 +41,9 @@ $ pip install pygments
41
41
  <p>
42
42
  Homebrew doesn’t symlink the executables for you. For the Homebrew default
43
43
  Cellar location and Python 2.7, be sure to add `/usr/local/share/python` to
44
- your `PATH`. For more information, check out [the Homebrew
45
- wiki](https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python).
44
+ your `PATH`. For more information, check out
45
+ <a href="https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python">the
46
+ Homebrew wiki</a>.
46
47
  </p>
47
48
  </div>
48
49
 
@@ -35,8 +35,10 @@ relies on.
35
35
 
36
36
  ## Predefined Global Variables
37
37
 
38
- There are a number of predefined global variables that you can set in the front-matter of a page or post.
38
+ There are a number of predefined global variables that you can set in the
39
+ front-matter of a page or post.
39
40
 
41
+ <div class="mobile-side-scroller">
40
42
  <table>
41
43
  <thead>
42
44
  <tr>
@@ -53,7 +55,7 @@ There are a number of predefined global variables that you can set in the front-
53
55
  <p>
54
56
 
55
57
  If set, this specifies the layout file to use. Use the layout file
56
- name without file extension. Layout files must be placed in the
58
+ name without the file extension. Layout files must be placed in the
57
59
  <code>_layouts</code> directory.
58
60
 
59
61
  </p>
@@ -118,6 +120,7 @@ There are a number of predefined global variables that you can set in the front-
118
120
  </tr>
119
121
  </tbody>
120
122
  </table>
123
+ </div>
121
124
 
122
125
 
123
126
  ## Custom Variables
@@ -141,6 +144,7 @@ title:
141
144
 
142
145
  These are available out-of-the-box to be used in the front-matter for a post.
143
146
 
147
+ <div class="mobile-side-scroller">
144
148
  <table>
145
149
  <thead>
146
150
  <tr>
@@ -162,3 +166,4 @@ These are available out-of-the-box to be used in the front-matter for a post.
162
166
  </tr>
163
167
  </tbody>
164
168
  </table>
169
+ </div>
@@ -4,11 +4,11 @@ title: Welcome
4
4
  next_section: installation
5
5
  ---
6
6
 
7
- This site aims to be a comprehensive guide to Jekyll. We’ll cover everything
8
- from getting your site up and running, creating and managing your content,
7
+ This site aims to be a comprehensive guide to Jekyll. We’ll cover topics such
8
+ as getting your site up and running, creating and managing your content,
9
9
  customizing the way your site works and looks, deploying to various
10
- environments, as well as some advice on participating in the future development
11
- of Jekyll itself.
10
+ environments, and give you some advice on participating in the future
11
+ development of Jekyll itself.
12
12
 
13
13
  ## So what is Jekyll, exactly?
14
14
 
@@ -8,7 +8,7 @@ next_section: usage
8
8
  Getting Jekyll installed and ready-to-go should only take a few minutes. If it
9
9
  ever becomes a pain in the ass, please [file an
10
10
  issue](https://github.com/mojombo/jekyll/issues/new) (or submit a pull request)
11
- describing the issue you encountered, and how we might make the process easier.
11
+ describing the issue you encountered and how we might make the process easier.
12
12
 
13
13
  ### Requirements
14
14
 
@@ -39,11 +39,11 @@ simply run the following command to install Jekyll:
39
39
  $ gem install jekyll
40
40
  {% endhighlight %}
41
41
 
42
- All Jekyll’s gem dependencies are automatically installed by the above command,
43
- so you won’t have to worry about them at all. If you have problems installing
44
- Jekyll, check out the [troubleshooting](../troubleshooting) page or [report an
45
- issue](https://github.com/mojombo/jekyll/issues/new) so the Jekyll community can
46
- improve the experience for everyone.
42
+ All of Jekyll’s gem dependencies are automatically installed by the above
43
+ command, so you won’t have to worry about them at all. If you have problems
44
+ installing Jekyll, check out the [troubleshooting](../troubleshooting) page or
45
+ [report an issue](https://github.com/mojombo/jekyll/issues/new) so the Jekyll
46
+ community can improve the experience for everyone.
47
47
 
48
48
  ## Optional Extras
49
49
 
@@ -7,9 +7,9 @@ next_section: templates
7
7
 
8
8
  If you’re switching to Jekyll from another blogging system, Jekyll’s importers
9
9
  can help you with the move. Most methods listed on this page require read access
10
- to the database to generate posts from your old system. Each method generates
11
- `.markdown` posts in the `_posts` directory based on the entries in the foreign
12
- system.
10
+ to the database from your old system to generate posts for Jekyll. Each method
11
+ generates `.markdown` posts in the `_posts` directory based on the entries in
12
+ the foreign system.
13
13
 
14
14
  ## Preparing for migrations
15
15
 
@@ -72,7 +72,11 @@ $ ruby -rubygems -e 'require "jekyll/migrators/wordpress";
72
72
  Jekyll::WordPress.process("database", "user", "pass")'
73
73
  {% endhighlight %}
74
74
 
75
- If you are using Webfaction and have to set up an [SSH tunnel](http://docs.webfaction.com/user-guide/databases.html?highlight=mysql#starting-an-ssh-tunnel-with-ssh), be sure to make the hostname (`127.0.0.1`) explicit, otherwise MySQL may block your access based on `localhost` and `127.0.0.1` not being equivalent in its authentication system:
75
+ If you are using Webfaction and have to set up an [SSH
76
+ tunnel](http://docs.webfaction.com/user-guide/databases.html?highlight=mysql#starting-an-ssh-tunnel-with-ssh),
77
+ be sure to make the hostname (`127.0.0.1`) explicit, otherwise MySQL may block
78
+ your access based on `localhost` and `127.0.0.1` not being equivalent in its
79
+ authentication system:
76
80
 
77
81
  {% highlight bash %}
78
82
  $ ruby -rubygems -e 'require "jekyll/migrators/wordpress";
@@ -81,15 +85,27 @@ $ ruby -rubygems -e 'require "jekyll/migrators/wordpress";
81
85
 
82
86
  ### Further Wordpress migration alternatives
83
87
 
84
- While the above methods work, they do not import much of the metadata that is usually stored in Wordpress posts and pages. If you need to export things like pages, tags, custom fields, image attachments and so on, the following resources might be useful to you:
85
-
86
- - [Exitwp](https://github.com/thomasf/exitwp) is a configurable tool written in Python for migrating one or more Wordpress blogs into Jekyll (Markdown) format while keeping as much metadata as possible. Exitwp also downloads attachments and pages.
87
- - [A great article](http://vitobotta.com/how-to-migrate-from-wordpress-to-jekyll/) with a step-by-step guide for migrating a Wordpress blog to Jekyll while keeping most of the structure and metadata.
88
- - [wpXml2Jekyll](https://github.com/theaob/wpXml2Jekyll) is an executable windows application for creating Markdown posts from your Wordpress XML file.
88
+ While the above methods work, they do not import much of the metadata that is
89
+ usually stored in Wordpress posts and pages. If you need to export things like
90
+ pages, tags, custom fields, image attachments and so on, the following resources
91
+ might be useful to you:
92
+
93
+ - [Exitwp](https://github.com/thomasf/exitwp) is a configurable tool written in
94
+ Python for migrating one or more Wordpress blogs into Jekyll (Markdown) format
95
+ while keeping as much metadata as possible. Exitwp also downloads attachments
96
+ and pages.
97
+ - [A great
98
+ article](http://vitobotta.com/how-to-migrate-from-wordpress-to-jekyll/) with a
99
+ step-by-step guide for migrating a Wordpress blog to Jekyll while keeping most
100
+ of the structure and metadata.
101
+ - [wpXml2Jekyll](https://github.com/theaob/wpXml2Jekyll) is an executable
102
+ windows application for creating Markdown posts from your Wordpress XML file.
89
103
 
90
104
  ## Drupal
91
105
 
92
- If you’re migrating from [Drupal](http://drupal.org), there is [a migrator](https://github.com/mojombo/jekyll/blob/master/lib/jekyll/migrators/drupal.rb) for you too:
106
+ If you’re migrating from [Drupal](http://drupal.org), there is [a
107
+ migrator](https://github.com/mojombo/jekyll/blob/master/lib/jekyll/migrators/drupal.rb)
108
+ for you too:
93
109
 
94
110
  {% highlight bash %}
95
111
  $ ruby -rubygems -e 'require "jekyll/migrators/drupal";
@@ -98,7 +114,9 @@ $ ruby -rubygems -e 'require "jekyll/migrators/drupal";
98
114
 
99
115
  <div class="note warning">
100
116
  <h5>Warning: Drupal Version Compatibility</h5>
101
- <p>This migrator was written for Drupal 6.1 and may not work as expected on future versions of Drupal. Please update it and send us a pull request if necessary.</p>
117
+ <p>This migrator was written for Drupal 6.1 and may not work as expected with
118
+ newer versions of Drupal. Please update it and send us a pull request if
119
+ necessary.</p>
102
120
  </div>
103
121
 
104
122
  ## Movable Type
@@ -119,7 +137,7 @@ $ ruby -rubygems -e 'require "jekyll/migrators/typo";
119
137
  Jekyll::Typo.process("database", "user", "pass")'
120
138
  {% endhighlight %}
121
139
 
122
- This code also has only been tested with Typo version 4+.
140
+ This code has only been tested with Typo version 4+.
123
141
 
124
142
  ## TextPattern
125
143
 
@@ -130,7 +148,12 @@ $ ruby -rubygems -e 'require "jekyll/migrators/textpattern";
130
148
  Jekyll::TextPattern.process("database_name", "username", "password", "hostname")'
131
149
  {% endhighlight %}
132
150
 
133
- You will need to run the above from the parent directory of your `_import` folder. For example, if `_import` is located in `/path/source/_import`, you will need to run this code from `/path/source`. The hostname defaults to `localhost`, all other variables are required. You may need to adjust the code used to filter entries. Left alone, it will attempt to pull all entries that are live or sticky.
151
+ You will need to run the above from the parent directory of your `_import`
152
+ folder. For example, if `_import` is located in `/path/source/_import`, you will
153
+ need to run this code from `/path/source`. The hostname defaults to `localhost`,
154
+ all other variables are required. You may need to adjust the code used to filter
155
+ entries. Left alone, it will attempt to pull all entries that are live or
156
+ sticky.
134
157
 
135
158
  ## Mephisto
136
159
 
@@ -150,11 +173,22 @@ $ ruby -rubygems -e 'require "jekyll/migrators/mephisto";
150
173
 
151
174
  ## Blogger (Blogspot)
152
175
 
153
- To import posts from Blogger, see [this post about migrating from Blogger to Jekyll](http://coolaj86.info/articles/migrate-from-blogger-to-jekyll.html). If that doesn’t work for you, you might want to try some of the following alternatives:
154
-
155
- - [@kennym](https://github.com/kennym) created a [little migration script](https://gist.github.com/1115810), because the solutions in the previous article didn't work out for him.
156
- - [@ngauthier](https://github.com/ngauthier) created [another importer](https://gist.github.com/1506614) that imports comments, and does so via blogger’s archive instead of the RSS feed.
157
- - [@juniorz](https://github.com/juniorz) created [yet another importer](https://gist.github.com/1564581) that works for [Octopress](http://octopress.org). It is like [@ngauthier’s version](https://gist.github.com/1506614) but separates drafts from posts, as well as importing tags and permalinks.
176
+ To import posts from Blogger, see [this post about migrating from Blogger to
177
+ Jekyll](http://coolaj86.info/articles/migrate-from-blogger-to-jekyll.html). If
178
+ that doesn’t work for you, you might want to try some of the following
179
+ alternatives:
180
+
181
+ - [@kennym](https://github.com/kennym) created a [little migration
182
+ script](https://gist.github.com/1115810), because the solutions in the
183
+ previous article didn't work out for him.
184
+ - [@ngauthier](https://github.com/ngauthier) created [another
185
+ importer](https://gist.github.com/1506614) that imports comments, and does so
186
+ via blogger’s archive instead of the RSS feed.
187
+ - [@juniorz](https://github.com/juniorz) created [yet another
188
+ importer](https://gist.github.com/1564581) that works for
189
+ [Octopress](http://octopress.org). It is like [@ngauthier’s
190
+ version](https://gist.github.com/1506614) but separates drafts from posts, as
191
+ well as importing tags and permalinks.
158
192
 
159
193
  ## Posterous
160
194
 
@@ -165,14 +199,17 @@ $ ruby -rubygems -e 'require "jekyll/migrators/posterous";
165
199
  Jekyll::Posterous.process("my_email", "my_pass")'
166
200
  {% endhighlight %}
167
201
 
168
- For any other Posterous blog on your account, you will need to specify the `blog_id` for the blog:
202
+ For any other Posterous blog on your account, you will need to specify the
203
+ `blog_id` for the blog:
169
204
 
170
205
  {% highlight bash %}
171
206
  $ ruby -rubygems -e 'require "jekyll/migrators/posterous";
172
207
  Jekyll::Posterous.process("my_email", "my_pass", "blog_id")'
173
208
  {% endhighlight %}
174
209
 
175
- There is also an [alternative Posterous migrator](https://github.com/pepijndevos/jekyll/blob/patch-1/lib/jekyll/migrators/posterous.rb) that maintains permalinks and attempts to import images too.
210
+ There is also an [alternative Posterous
211
+ migrator](https://github.com/pepijndevos/jekyll/blob/patch-1/lib/jekyll/migrators/posterous.rb)
212
+ that maintains permalinks and attempts to import images too.
176
213
 
177
214
  ## Tumblr
178
215
 
@@ -183,9 +220,12 @@ $ ruby -rubygems -e 'require "jekyll/migrators/tumblr";
183
220
  Jekyll::Tumblr.process("http://www.your_blog_url.com", true)'
184
221
  {% endhighlight %}
185
222
 
186
- There is also [a modified Tumblr migrator](https://github.com/stephenmcd/jekyll/blob/master/lib/jekyll/migrators/tumblr.rb) that exports posts as Markdown and preserves post tags.
223
+ There is also [a modified Tumblr
224
+ migrator](https://github.com/stephenmcd/jekyll/blob/master/lib/jekyll/migrators/tumblr.rb)
225
+ that exports posts as Markdown and preserves post tags.
187
226
 
188
- The migrator above requires the `json` gem and Python's `html2text` to be installed as follows:
227
+ The migrator above requires the `json` gem and Python's `html2text` to be
228
+ installed as follows:
189
229
 
190
230
  {% highlight bash %}
191
231
  $ gem install json
@@ -201,4 +241,5 @@ $ ruby -rubygems -e 'require "jekyll/migrators/tumblr";
201
241
 
202
242
  ## Other Systems
203
243
 
204
- If you have a system that there isn’t currently a migrator for, you should consider writing one and sending us a pull request.
244
+ If you have a system for which there is currently no migrator, consider writing
245
+ one and sending us a pull request.