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 +4 -4
- data/.travis.yml +30 -0
- data/Gemfile +3 -1
- data/README.org +52 -37
- data/VERSION +1 -1
- data/jekyll-org.gemspec +41 -37
- data/lib/jekyll-org.rb +24 -10
- metadata +20 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ca8bf2b1561648245687da19cec5ea812b400d3
|
4
|
+
data.tar.gz: 97432c814b9e297e35489cd04ecb122a3242cf12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
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
|
-
|
15
|
-
|
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
|
-
|
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
|
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', '>=
|
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
|
-
|
42
|
-
|
50
|
+
|
51
|
+
#+begin_src yml
|
52
|
+
pulugins:
|
53
|
+
- jekyll-org
|
43
54
|
#+end_src
|
55
|
+
|
44
56
|
** Usage
|
45
57
|
|
46
|
-
|
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
|
-
|
63
|
+
Instead of YAML the front matter is configured in the usual Org way,
|
64
|
+
with no lines:
|
51
65
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
66
|
+
#+BEGIN_EXAMPLE
|
67
|
+
#+TITLE: Jekyll and Org together
|
68
|
+
#+LAYOUT: posts
|
69
|
+
#+TAGS: jekyll org-mode
|
56
70
|
|
57
|
-
|
58
|
-
|
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
|
63
|
-
in the header. Then you can use
|
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
|
-
|
104
|
+
Add a source code block as you would in Org, for example Ruby:
|
90
105
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
115
|
+
Then the output will have code highlighting:
|
101
116
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
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
|
-
|
126
|
+
eggcaker <eggcaker@gmail.com>
|
112
127
|
|
113
128
|
** License
|
114
129
|
|
115
|
-
|
130
|
+
MIT
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
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.
|
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.
|
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 = "
|
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.
|
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
|
46
|
-
s.add_runtime_dependency(%q<jekyll
|
47
|
-
s.
|
48
|
-
s.add_development_dependency(%q<
|
49
|
-
s.add_development_dependency(%q<
|
50
|
-
s.add_development_dependency(%q<
|
51
|
-
s.add_development_dependency(%q<
|
52
|
-
s.add_development_dependency(%q<
|
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
|
55
|
-
s.add_dependency(%q<jekyll
|
56
|
-
s.add_dependency(%q<
|
57
|
-
s.add_dependency(%q<
|
58
|
-
s.add_dependency(%q<
|
59
|
-
s.add_dependency(%q<
|
60
|
-
s.add_dependency(%q<
|
61
|
-
s.add_dependency(%q<
|
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
|
65
|
-
s.add_dependency(%q<jekyll
|
66
|
-
s.add_dependency(%q<
|
67
|
-
s.add_dependency(%q<
|
68
|
-
s.add_dependency(%q<
|
69
|
-
s.add_dependency(%q<
|
70
|
-
s.add_dependency(%q<
|
71
|
-
s.add_dependency(%q<
|
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("‘","'")
|
67
80
|
self.content = self.content.gsub("’", "'")
|
68
81
|
else
|
69
|
-
self.content =
|
70
|
-
{% raw %}
|
71
|
-
|
72
|
-
{% endraw %}
|
73
|
-
|
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.
|
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:
|
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.
|
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:
|
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.
|
182
|
+
rubygems_version: 2.6.14
|
168
183
|
signing_key:
|
169
184
|
specification_version: 4
|
170
185
|
summary: Jekyll converter for org-mode files
|