majek 0.1.1 → 0.1.2

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/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- majek (0.1.1)
4
+ majek (0.1.2)
5
5
  md_inc
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,13 +1,30 @@
1
1
  Majek
2
2
  =====
3
3
 
4
- Tool to convert Markdown to Jekyll post format
4
+ Majek is a preprocessor for Jekyll/Octopress blog posts that helps you to
5
+ concentrate on writing. It allows you to include other files from your Markdown
6
+ (thanks to [md_inc]) and produce posts in Jekyll format.
7
+
8
+ Majek is especially helpful when you're writing Markdown with a tool like
9
+ [iA Writer] that is more about prose and less about code. Instead of including
10
+ bulky code snippets directly in your Markdown file, you simply insert short
11
+ commands like `.inc 'foo.txt'` or `.codeblock 'bar.rb'`, which will then be
12
+ expanded by Majek.
5
13
 
6
14
 
7
15
  Installation
8
16
  ------------
9
17
 
10
- TODO
18
+ You can install Majek via RubyGems:
19
+
20
+ $ gem install majek
21
+
22
+ Alternatively, you can install the gem from source:
23
+
24
+ $ git clone git://github.com/mlafeldt/majek.git
25
+ $ cd majek/
26
+ $ bundle install
27
+ $ bundle exec rake install
11
28
 
12
29
 
13
30
  Usage
@@ -15,6 +32,94 @@ Usage
15
32
 
16
33
  usage: majek <markdown file>
17
34
 
35
+ Simply pass Majek a Markdown file and it will do the following:
36
+
37
+ - read the contents of the Markdown file
38
+ - process the text with md_inc which provides commands to include other text
39
+ files (`.inc`) and code (`.code_inc`) and more
40
+ - process the text using custom md_inc commands for Octopress, see below
41
+ - add a Jekyll header with title, date, categories, etc. (will be configurable
42
+ in the future)
43
+ - output the final text to screen
44
+
45
+ In addition to the default commands of md_inc, Majek provides the following
46
+ Octopress-specific commands:
47
+
48
+ - `.blockquote path [,attributes...]`
49
+ - `.codeblock path [,attributes...]`
50
+ - `.pullquote path [,attributes...]`
51
+ - `.gist [attributes...]`
52
+ - `.img [attributes...]`
53
+ - `.include_code [attributes...]`
54
+ - `.jsfiddle [attributes...]`
55
+ - `.render_partial [attributes...]`
56
+ - `.video [attributes...]`
57
+
58
+ Make sure to also read the documentation of [md_inc] to learn more.
59
+
60
+
61
+ Examples
62
+ --------
63
+
64
+ Given a standard Markdown file like this:
65
+
66
+ ```
67
+ $ cat month_of_coderwall_protips.md
68
+ # One Month of Coderwall Protips
69
+
70
+ On 1 January 2013, I signed up on [Coderwall](https://coderwall.com/) -- a place
71
+ for developers to share tips and connect with one another. I've been ...
72
+ ```
73
+
74
+ Majek will produce text that is ready to be fed into Jekyll:
75
+
76
+ ```
77
+ $ majek one_month_of_coderwall_protips.md
78
+ ---
79
+ layout: post
80
+ title: "One Month of Coderwall Protips"
81
+ date: 2013-02-14 11:01:09 +0100
82
+ comments: true
83
+ categories:
84
+ ---
85
+
86
+ On 1 January 2013, I signed up on [Coderwall](https://coderwall.com/) -- a place
87
+ for developers to share tips and connect with one another. I've been ...
88
+ ```
89
+
90
+ The second example shows one of the Octopress commands in action:
91
+
92
+ ```
93
+ By stubbing out Chef's `include_recipe` method before the converge, Chef will
94
+ not include any recipes during the test run:
95
+
96
+ .codeblock 'snippets/stub-spec.rb', 'lang:ruby'
97
+
98
+ This requires a bit of symlink trickery to work though.
99
+ ```
100
+
101
+ The result will include the Ruby code from the specified file (Jekyll stuff
102
+ stripped for brevity):
103
+
104
+ ```
105
+ By stubbing out Chef's `include_recipe` method before the converge, Chef will
106
+ not include any recipes during the test run:
107
+
108
+ {% codeblock lang:ruby %}
109
+ require 'chefspec'
110
+
111
+ describe 'The recipe foo::default' do
112
+ let (:chef_run) do
113
+ Chef::Recipe.any_instance.stub(:include_recipe)
114
+ ChefSpec::ChefRunner.new.converge 'foo::default'
115
+ end
116
+ # ...
117
+ end
118
+ {% endcodeblock %}
119
+
120
+ This requires a bit of symlink trickery to work though.
121
+ ```
122
+
18
123
 
19
124
  License
20
125
  -------
@@ -31,3 +136,5 @@ Contact
31
136
 
32
137
 
33
138
  [LICENSE]: https://github.com/mlafeldt/majek/blob/master/LICENSE
139
+ [iA Writer]: http://www.iawriter.com/
140
+ [md_inc]: https://github.com/russolsen/md_inc
data/lib/majek/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Majek
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
data/majek.gemspec CHANGED
@@ -4,7 +4,7 @@ require File.expand_path('../lib/majek/version', __FILE__)
4
4
  Gem::Specification.new do |s|
5
5
  s.authors = ['Mathias Lafeldt']
6
6
  s.email = ['mathias.lafeldt@gmail.com']
7
- s.description = %q{Tool to convert Markdown to Jekyll post format}
7
+ s.description = %q{A preprocessor for Jekyll/Octopress blog posts that helps you to concentrate on writing}
8
8
  s.summary = s.description
9
9
  s.homepage = 'http://mlafeldt.github.com/majek'
10
10
  s.license = 'MIT'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: majek
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-13 00:00:00.000000000 Z
12
+ date: 2013-02-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: md_inc
@@ -43,7 +43,8 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
- description: Tool to convert Markdown to Jekyll post format
46
+ description: A preprocessor for Jekyll/Octopress blog posts that helps you to concentrate
47
+ on writing
47
48
  email:
48
49
  - mathias.lafeldt@gmail.com
49
50
  executables:
@@ -78,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
79
  version: '0'
79
80
  segments:
80
81
  - 0
81
- hash: -2670310394678098680
82
+ hash: 204157305799219663
82
83
  required_rubygems_version: !ruby/object:Gem::Requirement
83
84
  none: false
84
85
  requirements:
@@ -87,11 +88,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
88
  version: '0'
88
89
  segments:
89
90
  - 0
90
- hash: -2670310394678098680
91
+ hash: 204157305799219663
91
92
  requirements: []
92
93
  rubyforge_project:
93
- rubygems_version: 1.8.23
94
+ rubygems_version: 1.8.25
94
95
  signing_key:
95
96
  specification_version: 3
96
- summary: Tool to convert Markdown to Jekyll post format
97
+ summary: A preprocessor for Jekyll/Octopress blog posts that helps you to concentrate
98
+ on writing
97
99
  test_files: []