jekyll-org 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81176c9af379cd4168e9d39591a2dad4c66e6566
4
- data.tar.gz: 48ee5ee0fa261107f567547ade26eae997303c30
3
+ metadata.gz: 9ca8bf2b1561648245687da19cec5ea812b400d3
4
+ data.tar.gz: 97432c814b9e297e35489cd04ecb122a3242cf12
5
5
  SHA512:
6
- metadata.gz: 4df1948974bddab87868a89de7e82c58eb47c041c7f81536324819028fecadedafe82659386675a9ee38b7be5ee32dfa5c9e5cbb4a94dda4dd4f770059d2c443
7
- data.tar.gz: d58bd3f1c44d69da11a6bd3f469353a8f87b4123289a935fd81f3134037ab171b62539c4f0dc2e6325eb4f6313bdf6d1af316d36837992a61756c3063769aab3
6
+ metadata.gz: debccea10bbe9a9bf2ffaaddf7297e80746149c14f818b5db3a22f2499ada538dfb265993c98fae8676de59fe79e46091b4095613d6f8857717dd957224ecf5c
7
+ data.tar.gz: 54b22764c592b1a60a75dde326183907d6135877c89eb0f0613938b96a73232fd59445701c128f07a378469a387e081cc62d6f467e6921791b33a7ef09f5e2ea
data/.travis.yml ADDED
@@ -0,0 +1,30 @@
1
+ sudo: false
2
+ language: ruby
3
+ cache: bundler
4
+ rvm:
5
+ - 2.3.1
6
+ matrix:
7
+ include:
8
+ - # GitHub Pages
9
+ rvm: 2.3.1
10
+ env: JEKYLL_VERSION=3.3.0
11
+ env:
12
+ matrix:
13
+ - JEKYLL_VERSION=3.3
14
+ branches:
15
+ only:
16
+ - master
17
+ install:
18
+ - travis_retry script/bootstrap
19
+ script: script/cibuild
20
+ notifications:
21
+ irc:
22
+ on_success: change
23
+ on_failure: change
24
+ channels:
25
+ - irc.freenode.org#jekyll
26
+ template:
27
+ - '%{repository}#%{build_number} %{message} %{build_url}'
28
+ email:
29
+ on_success: never
30
+ on_failure: change
data/Gemfile CHANGED
@@ -3,7 +3,9 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem 'org-ruby' , '>= 0.9.12'
6
- gem 'jekyll', '>= 3.0.0'
6
+ gem 'jekyll', '>= 3.5.0'
7
+ gem 'json', github: 'flori/json', branch: 'v1.8'
8
+
7
9
 
8
10
  # Add dependencies to develop your gem here.
9
11
  # Include everything needed to run rake, tests, features, etc.
data/README.org CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  ** Overview
4
4
 
5
- This plugin adds [[http://orgmode.org/][Org mode]] support to [[http://jekyllrb.com][Jekyll]] and lets you write posts and pages in Org.
5
+ This plugin adds [[http://orgmode.org/][Org mode]] support to [[http://jekyllrb.com][Jekyll]] and lets you write posts
6
+ and pages in Org.
6
7
 
7
8
  ** Requirements
8
9
 
@@ -11,56 +12,70 @@
11
12
 
12
13
  ** Installation
13
14
  *** Short version
14
- For experienced Jekyll users, you need to do 2 things to get ~jekyll-org~ to work
15
- - Install the gem
15
+
16
+ For experienced Jekyll users, you need to do 2 things to get
17
+ ~jekyll-org~ to work :
18
+
16
19
  - Include the gem in your ~_config.yml~
20
+ - Include the gem in Gemfile
17
21
 
18
22
  *** Long version
19
- To use ~jekyll-org~ with Jekyll, you need to have Ruby RubyGems and Jekyll installed. See how to do that [[http://jekyllrb.com/docs/installation/][here]].
23
+
24
+ To use ~jekyll-org~ with Jekyll, you need to have Ruby RubyGems and
25
+ Jekyll installed. See how to do that [[http://jekyllrb.com/docs/installation/][here]].
20
26
 
21
27
  Create a new Jekyll project ~my-site~ run:
28
+
22
29
  #+begin_src sh
23
30
  jekyll new my-site
24
31
  #+end_src
25
32
 
26
- Create a Gemfile in the root of the project, and add at least the following lines:
33
+ Create a Gemfile in the root of the project, and add at least the
34
+ following lines:
35
+
27
36
  #+begin_src ruby
28
37
  source 'https://rubygems.org'
29
38
 
30
39
  gem 'jekyll' , '>= 3.0.0'
31
- gem 'jekyll-org', '>= '1.0.0'
40
+ gem 'jekyll-org', '>= 1.0.2'
32
41
  #+end_src
33
42
 
34
43
  Install the gems with bundler:
44
+
35
45
  #+begin_src sh
36
46
  bundle install
37
47
  #+end_src
38
48
 
39
-
40
49
  To use the new converter add the following line to your ~_config.yml~:
41
- #+begin_src ruby
42
- gems: [jekyll-org]
50
+
51
+ #+begin_src yml
52
+ pulugins:
53
+ - jekyll-org
43
54
  #+end_src
55
+
44
56
  ** Usage
45
57
 
46
- Create a new file with =.org= extension in =_posts=, and write the post with Org. That is all! Generate your Jekyll site as you usually do.
58
+ Create a new file with =.org= extension in =_posts=, and write the post
59
+ with Org. That is all! Generate your Jekyll site as you usually do.
47
60
 
48
61
  ** Front matter
49
62
 
50
- Instead of YAML the front matter is configured in the usual Org way, with no lines:
63
+ Instead of YAML the front matter is configured in the usual Org way,
64
+ with no lines:
51
65
 
52
- #+BEGIN_EXAMPLE
53
- #+TITLE: Jekyll and Org together
54
- #+LAYOUT: posts
55
- #+TAGS: jekyll org-mode
66
+ #+BEGIN_EXAMPLE
67
+ #+TITLE: Jekyll and Org together
68
+ #+LAYOUT: posts
69
+ #+TAGS: jekyll org-mode
56
70
 
57
- This is a blog post about Jekyll and Org mode.
58
- #+END_EXAMPLE
71
+ This is a blog post about Jekyll and Org mode.
72
+ #+END_EXAMPLE
59
73
 
60
74
  ** Liquid templating
61
75
 
62
- By default the all content is exported to raw HTML with org-ruby, but you can add =#+liquid: whatevervalue==
63
- in the header. Then you can use [[http://docs.shopify.com/themes/liquid-documentation/basics][Liquid]] tags.
76
+ By default the all content is exported to raw HTML with org-ruby, but
77
+ you can add =#+liquid: whatevervalue== in the header. Then you can use
78
+ [[http://docs.shopify.com/themes/liquid-documentation/basics][Liquid]] tags.
64
79
 
65
80
  For example, if your Org file contains
66
81
 
@@ -86,30 +101,30 @@ then you will get output like
86
101
 
87
102
  ** Source code highlighting
88
103
 
89
- Add a source code block as you would in Org, for example Ruby:
104
+ Add a source code block as you would in Org, for example Ruby:
90
105
 
91
- #+BEGIN_EXAMPLE
92
- #+BEGIN_SRC
93
- require 'rubygems'
94
- require 'org-ruby'
95
- data = IO.read(filename)
96
- puts Orgmode::Parser.new(data).to_html
97
- #+END_SRC
98
- #+END_EXAMPLE
106
+ #+BEGIN_EXAMPLE
107
+ #+BEGIN_SRC
108
+ require 'rubygems'
109
+ require 'org-ruby'
110
+ data = IO.read(filename)
111
+ puts Orgmode::Parser.new(data).to_html
112
+ #+END_SRC
113
+ #+END_EXAMPLE
99
114
 
100
- Then the output will have code highlighting:
115
+ Then the output will have code highlighting:
101
116
 
102
- #+BEGIN_SRC ruby
103
- require 'rubygems'
104
- require 'org-ruby'
105
- data = IO.read(filename)
106
- puts Orgmode::Parser.new(data).to_html
107
- #+END_SRC
117
+ #+BEGIN_SRC ruby
118
+ require 'rubygems'
119
+ require 'org-ruby'
120
+ data = IO.read(filename)
121
+ puts Orgmode::Parser.new(data).to_html
122
+ #+END_SRC
108
123
 
109
124
  ** Author
110
125
 
111
- eggcaker <eggcaker@gmail.com>
126
+ eggcaker <eggcaker@gmail.com>
112
127
 
113
128
  ** License
114
129
 
115
- MIT
130
+ MIT
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
data/jekyll-org.gemspec CHANGED
@@ -2,23 +2,24 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: jekyll-org 1.0.1 ruby lib
5
+ # stub: jekyll-org 1.0.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "jekyll-org"
9
- s.version = "1.0.1"
8
+ s.name = "jekyll-org".freeze
9
+ s.version = "1.0.2"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["eggcaker"]
14
- s.date = "2016-10-11"
15
- s.description = "So you want org-mode support for Jekyll. Write your _posts in org-mode, then add 'gems: [jekyll-org]' to your _config.yml. Thats it!"
16
- s.email = "eggcaker@gmail.com"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["eggcaker".freeze]
14
+ s.date = "2018-01-12"
15
+ s.description = "So you want org-mode support for Jekyll. Write your _posts in org-mode, then add 'gems: [jekyll-org]' to your _config.yml. Thats it!".freeze
16
+ s.email = "eggcaker@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE",
19
19
  "README.org"
20
20
  ]
21
21
  s.files = [
22
+ ".travis.yml",
22
23
  "Gemfile",
23
24
  "LICENSE",
24
25
  "README.org",
@@ -33,42 +34,45 @@ Gem::Specification.new do |s|
33
34
  "spec/helper.rb",
34
35
  "spec/test_jekyll-org.rb"
35
36
  ]
36
- s.homepage = "http://eggcaker.github.io/jekyll-org"
37
- s.licenses = ["MIT"]
38
- s.rubygems_version = "2.5.1"
39
- s.summary = "Jekyll converter for org-mode files"
37
+ s.homepage = "http://eggcaker.github.io/jekyll-org".freeze
38
+ s.licenses = ["MIT".freeze]
39
+ s.rubygems_version = "2.6.14".freeze
40
+ s.summary = "Jekyll converter for org-mode files".freeze
40
41
 
41
42
  if s.respond_to? :specification_version then
42
43
  s.specification_version = 4
43
44
 
44
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
- s.add_runtime_dependency(%q<org-ruby>, [">= 0.9.12"])
46
- s.add_runtime_dependency(%q<jekyll>, [">= 3.0.0"])
47
- s.add_development_dependency(%q<shoulda>, [">= 3.5.0"])
48
- s.add_development_dependency(%q<rspec>, [">= 3.5.0"])
49
- s.add_development_dependency(%q<rdoc>, [">= 3.12"])
50
- s.add_development_dependency(%q<bundler>, [">= 1.0"])
51
- s.add_development_dependency(%q<jeweler>, [">= 2.1.1"])
52
- s.add_development_dependency(%q<simplecov>, [">= 0.12.0"])
46
+ s.add_runtime_dependency(%q<org-ruby>.freeze, [">= 0.9.12"])
47
+ s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.5.0"])
48
+ s.add_runtime_dependency(%q<json>.freeze, [">= 0"])
49
+ s.add_development_dependency(%q<shoulda>.freeze, [">= 3.5.0"])
50
+ s.add_development_dependency(%q<rspec>.freeze, [">= 3.5.0"])
51
+ s.add_development_dependency(%q<rdoc>.freeze, [">= 3.12"])
52
+ s.add_development_dependency(%q<bundler>.freeze, [">= 1.0"])
53
+ s.add_development_dependency(%q<jeweler>.freeze, [">= 2.1.1"])
54
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0.12.0"])
53
55
  else
54
- s.add_dependency(%q<org-ruby>, [">= 0.9.12"])
55
- s.add_dependency(%q<jekyll>, [">= 3.0.0"])
56
- s.add_dependency(%q<shoulda>, [">= 3.5.0"])
57
- s.add_dependency(%q<rspec>, [">= 3.5.0"])
58
- s.add_dependency(%q<rdoc>, [">= 3.12"])
59
- s.add_dependency(%q<bundler>, [">= 1.0"])
60
- s.add_dependency(%q<jeweler>, [">= 2.1.1"])
61
- s.add_dependency(%q<simplecov>, [">= 0.12.0"])
56
+ s.add_dependency(%q<org-ruby>.freeze, [">= 0.9.12"])
57
+ s.add_dependency(%q<jekyll>.freeze, [">= 3.5.0"])
58
+ s.add_dependency(%q<json>.freeze, [">= 0"])
59
+ s.add_dependency(%q<shoulda>.freeze, [">= 3.5.0"])
60
+ s.add_dependency(%q<rspec>.freeze, [">= 3.5.0"])
61
+ s.add_dependency(%q<rdoc>.freeze, [">= 3.12"])
62
+ s.add_dependency(%q<bundler>.freeze, [">= 1.0"])
63
+ s.add_dependency(%q<jeweler>.freeze, [">= 2.1.1"])
64
+ s.add_dependency(%q<simplecov>.freeze, [">= 0.12.0"])
62
65
  end
63
66
  else
64
- s.add_dependency(%q<org-ruby>, [">= 0.9.12"])
65
- s.add_dependency(%q<jekyll>, [">= 3.0.0"])
66
- s.add_dependency(%q<shoulda>, [">= 3.5.0"])
67
- s.add_dependency(%q<rspec>, [">= 3.5.0"])
68
- s.add_dependency(%q<rdoc>, [">= 3.12"])
69
- s.add_dependency(%q<bundler>, [">= 1.0"])
70
- s.add_dependency(%q<jeweler>, [">= 2.1.1"])
71
- s.add_dependency(%q<simplecov>, [">= 0.12.0"])
67
+ s.add_dependency(%q<org-ruby>.freeze, [">= 0.9.12"])
68
+ s.add_dependency(%q<jekyll>.freeze, [">= 3.5.0"])
69
+ s.add_dependency(%q<json>.freeze, [">= 0"])
70
+ s.add_dependency(%q<shoulda>.freeze, [">= 3.5.0"])
71
+ s.add_dependency(%q<rspec>.freeze, [">= 3.5.0"])
72
+ s.add_dependency(%q<rdoc>.freeze, [">= 3.12"])
73
+ s.add_dependency(%q<bundler>.freeze, [">= 1.0"])
74
+ s.add_dependency(%q<jeweler>.freeze, [">= 2.1.1"])
75
+ s.add_dependency(%q<simplecov>.freeze, [">= 0.12.0"])
72
76
  end
73
77
  end
74
78
 
data/lib/jekyll-org.rb CHANGED
@@ -34,6 +34,9 @@ module Jekyll
34
34
  # This overrides having to use YAML in the posts.
35
35
  # Instead use settings from Org mode.
36
36
  class Document
37
+ DATELESS_FILENAME_MATCHER = %r!^(?:.+/)*(.*)(\.[^.]+)$!
38
+ DATE_FILENAME_MATCHER = %r!^(?:.+/)*(\d{4}-\d{2}-\d{2})-(.*)(\.[^.]+)$!
39
+
37
40
  alias :_orig_read :read
38
41
  def read(opts = {})
39
42
  unless relative_path.end_with?(".org")
@@ -58,24 +61,35 @@ module Jekyll
58
61
 
59
62
  self.data[buffer_setting] = value
60
63
  end
64
+ # set default slug
65
+ # copy and edit frmo jekyll:lib/jekyll/document.rb -- populate_title
66
+ if relative_path =~ DATE_FILENAME_MATCHER
67
+ date, slug, ext = Regexp.last_match.captures
68
+ modify_date(date)
69
+ elsif relative_path =~ DATELESS_FILENAME_MATCHER
70
+ slug, ext = Regexp.last_match.captures
71
+ end
72
+ self.data["title"] ||= Utils.titleize_slug(slug)
73
+ self.data["slug"] ||= slug
74
+ self.data["ext"] ||= ext
61
75
 
62
76
  # Disable Liquid tags from the output by default or enabled with liquid_enabled tag
63
-
64
77
  if liquid_enabled
65
78
  self.content = org_text.to_html
66
79
  self.content = self.content.gsub("&#8216;","'")
67
80
  self.content = self.content.gsub("&#8217;", "'")
68
81
  else
69
- self.content = <<ORG
70
- {% raw %}
71
- #{org_text.to_html}
72
- {% endraw %}
73
- ORG
82
+ self.content = [
83
+ '{% raw %}',
84
+ org_text.to_html,
85
+ '{% endraw %}'
86
+ ].join(" ")
87
+ end
88
+ begin
89
+ self.data
90
+ rescue => e
91
+ puts "Error converting file #{relative_path}: #{e.message} #{e.backtrace}"
74
92
  end
75
-
76
- post_read
77
- rescue => e
78
- puts "Error converting file #{relative_path}: #{e.message} #{e.backtrace}"
79
93
  end
80
94
  end
81
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-org
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - eggcaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-11 00:00:00.000000000 Z
11
+ date: 2018-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: org-ruby
@@ -30,14 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.0
33
+ version: 3.5.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.5.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: json
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - ">="
39
53
  - !ruby/object:Gem::Version
40
- version: 3.0.0
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: shoulda
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -131,6 +145,7 @@ extra_rdoc_files:
131
145
  - LICENSE
132
146
  - README.org
133
147
  files:
148
+ - ".travis.yml"
134
149
  - Gemfile
135
150
  - LICENSE
136
151
  - README.org
@@ -164,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
179
  version: '0'
165
180
  requirements: []
166
181
  rubyforge_project:
167
- rubygems_version: 2.5.1
182
+ rubygems_version: 2.6.14
168
183
  signing_key:
169
184
  specification_version: 4
170
185
  summary: Jekyll converter for org-mode files