jekyll-org 1.0.1 → 1.0.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.
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