vimwiki_markdown 0.5.1 → 0.6.0
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/README.md +5 -2
- data/changelog.md +4 -1
- data/example_files/default.tpl +39 -0
- data/lib/vimwiki_markdown/version.rb +1 -1
- data/lib/vimwiki_markdown/wiki_body.rb +14 -2
- data/spec/lib/vimwiki_markdown/wiki_body_spec.rb +30 -0
- data/spec/spec_helper.rb +22 -0
- data/vimwiki_markdown.gemspec +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94fcdf721504210b46ed56769e3529838982092414094c950ccddaa747086f9f
|
4
|
+
data.tar.gz: 219b35ea5da34b1cf75f962432073a8f97c972a62d14403b35dfae442f98b794
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c51b9de26115ee93f512404af7e84544088406df98a4c0861095da736dd78821f12e59b40e639f7bbea13f20bc460eb14bf9b4daa911c3bd00202ccd587f1e9
|
7
|
+
data.tar.gz: 5ccfb995fa5e7966379fc34dc40a0799614bf59b59d780fc0932a413a3876bebccdbc3bf4166cbda209a9e8bbc78593673816a44b4a5768cc90a80e6fc33f958
|
data/README.md
CHANGED
@@ -56,13 +56,16 @@ of the site (e.g. `./` or `../../` etc)
|
|
56
56
|
You can also have a `%date%` marker in your template file
|
57
57
|
It will get rewritten with todays date in the format 29 March 2019
|
58
58
|
|
59
|
+
#### Support for tasklists
|
60
|
+
Vimwiki has support for complex todo lists which you can [read about in their help.txt](https://github.com/vimwiki/vimwiki/blob/619f04f89861c58e5a6415a4f83847752928252d/doc/vimwiki.txt#L1768). We do support turning them into HTML. This is _slightly different_ from the way that GitHub checklists are rendered, but, the syntax is a subset of GitHub lists so it should be fine. You can read about it in the [issue](https://github.com/patrickdavey/vimwiki_markdown/issues/27), but basically it should work fine. You will want to add `styles` in for the various states that the todo lists can be in. The easiest way is to simply add the `styles` into your template. You can see the styles [in the sample template here](https://github.com/patrickdavey/vimwiki_markdown/blob/293f99e656819b9c5ecc0c831698ce58904eb774/example_files/default.tpl#L7-L45)
|
61
|
+
|
59
62
|
#### Support for :local and :file links
|
60
63
|
|
61
64
|
We have partial support for the `:local` and `:file` link types for vimwiki.
|
62
65
|
If you are editing `foo.md` (in the root dir of your wiki) and you are linking to `bar.txt` stored in the same directory as `foo.md` you can do:
|
63
66
|
|
64
|
-
* `[link text](local:bar.txt)` when output to HTML becomes
|
65
|
-
* `[link text](file:bar.txt)` when output to HTML becomes
|
67
|
+
* `[link text](local:bar.txt)` when output to HTML becomes `<a href="../bar.txt">link text</a>`
|
68
|
+
* `[link text](file:bar.txt)` when output to HTML becomes `<a href="/absolute/path/to/file">link text</a>`
|
66
69
|
|
67
70
|
#### Optional %nohtml
|
68
71
|
|
data/changelog.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
+
## 0.6.0 [April 26 2020]
|
2
|
+
Support for todo lists with enhanced state options. Thanks to @primercuervo
|
3
|
+
|
1
4
|
## 0.5.0 [April 26 2020]
|
2
|
-
Partial support for `local` and `file` links in urls. Thanks to @tfachmann for
|
5
|
+
Partial support for `local` and `file` links in urls. Thanks to @tfachmann for the PR
|
3
6
|
|
4
7
|
## 0.4.4 [June 16 2019]
|
5
8
|
Allow fragments if they are for local vimwiki links only
|
data/example_files/default.tpl
CHANGED
@@ -4,6 +4,45 @@
|
|
4
4
|
<title>%title%</title>
|
5
5
|
|
6
6
|
%pygments%
|
7
|
+
<!--Style for Vimwiki Tasklist-->
|
8
|
+
<style>
|
9
|
+
.rejected {
|
10
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAACXBIWXMAAADFAAAAxQEdzbqoAAAAB3RJTUUH4QgEFhAtuWgv9wAAAPZQTFRFmpqam5iYnJaWnJeXnpSUn5OTopCQpoqKpouLp4iIqIiIrYCAt3V1vW1tv2xsmZmZmpeXnpKS/x4e/x8f/yAg/yIi/yQk/yUl/yYm/ygo/ykp/yws/zAw/zIy/zMz/zQ0/zU1/zY2/zw8/0BA/0ZG/0pK/1FR/1JS/1NT/1RU/1VV/1ZW/1dX/1pa/15e/19f/2Zm/2lp/21t/25u/3R0/3p6/4CA/4GB/4SE/4iI/46O/4+P/52d/6am/6ur/66u/7Oz/7S0/7e3/87O/9fX/9zc/93d/+Dg/+vr/+3t/+/v//Dw//Ly//X1//f3//n5//z8////gzaKowAAAA90Uk5T/Pz8/Pz8/Pz8/Pz8/f39ppQKWQAAAAFiS0dEEnu8bAAAAACuSURBVAhbPY9ZF4FQFEZPSKbIMmWep4gMGTKLkIv6/3/GPbfF97b3w17rA0kQOPgvAeHW6uJ6+5h7HqLdwowgOzejXRXBdx6UdSru216xuOMBHHNU0clTzeSUA6EhF8V8kqroluMiU6HKcuf4phGPr1o2q9kYZWwNq1qfRRmTaXpqsyjj17KkWCxKBUBgXWueHIyiAIg18gsse4KHkLF5IKIY10WQgv7fOy4ST34BRiopZ8WLNrgAAAAASUVORK5CYII=);
|
11
|
+
background-repeat: no-repeat;
|
12
|
+
background-position: 0 .2em;
|
13
|
+
padding-left: 5.5em;
|
14
|
+
}
|
15
|
+
.done0 {
|
16
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAA7SURBVCiR7dMxEgAgCANBI3yVRzF5KxNbW6wsuH7LQ2YKQK1mkswBVERYF5Os3UV3gwd/jF2SkXy66gAZkxS6BniubAAAAABJRU5ErkJggg==);
|
17
|
+
background-repeat: no-repeat;
|
18
|
+
background-position: 0 .2em;
|
19
|
+
padding-left: 1.5em;
|
20
|
+
}
|
21
|
+
.done1 {
|
22
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABtSURBVCiR1ZO7DYAwDER9BDmTeZQMFXmUbGYpOjrEryA0wOvO8itOslFrJYAug5BMM4BeSkmjsrv3aVTa8p48Xw1JSkSsWVUFwD05IqS1tmYzk5zzae9jnVVVzGyXb8sALjse+euRkEzu/uirFomVIdDGOLjuAAAAAElFTkSuQmCC);
|
23
|
+
background-repeat: no-repeat;
|
24
|
+
background-position: 0 .15em;
|
25
|
+
padding-left: 1.5em;
|
26
|
+
}
|
27
|
+
.done2 {
|
28
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAB1SURBVCiRzdO5DcAgDAVQGxjAYgTvxlDIu1FTIRYAp8qlFISkSH7l5kk+ZIwxKiI2mIyqWoeILYRgZ7GINDOLjnmF3VqklKCUMgTee2DmM661Qs55iI3Zm/1u5h9sm4ig9z4ERHTFzLyd4G4+nFlVrYg8+qoF/c0kdpeMsmcAAAAASUVORK5CYII=);
|
29
|
+
background-repeat: no-repeat;
|
30
|
+
background-position: 0 .15em;
|
31
|
+
padding-left: 1.5em;
|
32
|
+
}
|
33
|
+
.done3 {
|
34
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABoSURBVCiR7dOxDcAgDATA/0DtUdiKoZC3YhLkHjkVKF3idJHiztKfvrHZWnOSE8Fx95RJzlprimJVnXktvXeY2S0SEZRSAAAbmxnGGKH2I5T+8VfxPhIReQSuuY3XyYWa3T2p6quvOgGrvSFGlewuUAAAAABJRU5ErkJggg==);
|
35
|
+
background-repeat: no-repeat;
|
36
|
+
background-position: 0 .15em;
|
37
|
+
padding-left: 1.5em;
|
38
|
+
}
|
39
|
+
.done4 {
|
40
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAzgAAAM4BlP6ToAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIISURBVDiNnZQ9SFtRFMd/773kpTaGJoQk1im4VDpWQcTNODhkFBcVTCNCF0NWyeDiIIiCm82QoIMIUkHUxcFBg1SEQoZszSat6cdTn1qNue92CMbEr9Sey+XC/Z/zu+f8h6ukUil3sVg0+M+4cFxk42/jH2wAqqqKSCSiPQdwcHHAnDHH9s/tN1h8V28ETdP+eU8fT9Nt62ancYdIPvJNtsu87bmjrJlrTDVM4RROJs1JrHPrD4Bar7A6cpc54iKOaTdJXCUI2UMVrQZ0Js7YPN18ECKkYNQcJe/OE/4dZsw7VqNXQMvHy3QZXQypQ6ycrtwDjf8aJ+PNEDSCzLpn7+m2pD8ZKHlKarYhy6XjEoCYGcN95qansQeA3fNdki+SaJZGTMQIOoL3W/Z89rxv+tokubNajlvk/vm+LFpF2XnUKZHI0I+QrI7Dw0OZTqdzUkpsM7mZTyfy5OPGyw1tK7AFSvmB/Ks8w8YwbUYbe6/3QEKv0vugfxWPnMLJun+d/kI/WLdizpNjMbAIKrhMF4OuwadBALqqs+RfInwUvuNi+fBd+wjogfogAFVRmffO02q01mZZ0HHdgXIzdz0QQLPezIQygX6llxNKKgOFARYCC49CqhoHIUTlss/Vx2phlYwjw8j1CAlfAiwQiJpiy7o1VHnsG5FISkoJu7Q/2YmmaV+i0ei7v38L2CBguSi5AAAAAElFTkSuQmCC);
|
41
|
+
background-repeat: no-repeat;
|
42
|
+
background-position: 0 .15em;
|
43
|
+
padding-left: 1.5em;
|
44
|
+
}
|
45
|
+
</style>
|
7
46
|
</head>
|
8
47
|
<body id="%title%">
|
9
48
|
<h2 id="title">%title%</h2>
|
@@ -25,8 +25,9 @@ class VimwikiMarkdown::WikiBody
|
|
25
25
|
HTML::Pipeline::SyntaxHighlightFilter,
|
26
26
|
HTML::Pipeline::TableOfContentsFilter
|
27
27
|
], { scope: "highlight"})
|
28
|
-
result = pipeline.call(html)
|
29
|
-
result[:output].to_s
|
28
|
+
@result = pipeline.call(html)
|
29
|
+
@result = @result[:output].to_s
|
30
|
+
enrich_li_class!
|
30
31
|
end
|
31
32
|
|
32
33
|
|
@@ -74,4 +75,15 @@ class VimwikiMarkdown::WikiBody
|
|
74
75
|
CommonMarker.render_html(content, commonmarker_opts, commonmarker_exts)
|
75
76
|
}
|
76
77
|
end
|
78
|
+
|
79
|
+
def enrich_li_class!
|
80
|
+
syms_hash = { " ]" => 0, ".]" => 1, "o]" => 2, "O]" => 3, "X]" => 4 }
|
81
|
+
checkbox = /<li>\s*\[[\s.oOX]\]/
|
82
|
+
checkbox_start = /<li>\s*\[/
|
83
|
+
@result.gsub!(checkbox) do |m|
|
84
|
+
m.sub(checkbox_start, '<li class="done')
|
85
|
+
.sub(/[\s.oOX\]]*$/, syms_hash) << '">'
|
86
|
+
end
|
87
|
+
@result
|
88
|
+
end
|
77
89
|
end
|
@@ -52,6 +52,36 @@ module VimwikiMarkdown
|
|
52
52
|
expect(wiki_body.to_s).to match(/<a href="there.html">there<\/a>/)
|
53
53
|
end
|
54
54
|
|
55
|
+
it "must enrich task list unchecked" do
|
56
|
+
allow_any_instance_of(VimwikiMarkdown::VimwikiLink).to receive(:vimwiki_markdown_file_exists?).and_return(true)
|
57
|
+
allow(wiki_body).to receive(:get_wiki_markdown_contents).and_return("- [ ] This is one line")
|
58
|
+
expect(wiki_body.to_s).to match(/<li class="done0"> This is one line<\/li>/)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "must enrich task list checked" do
|
62
|
+
allow_any_instance_of(VimwikiMarkdown::VimwikiLink).to receive(:vimwiki_markdown_file_exists?).and_return(true)
|
63
|
+
allow(wiki_body).to receive(:get_wiki_markdown_contents).and_return("- [X] This is a checked line")
|
64
|
+
expect(wiki_body.to_s).to match(/<li class="done4"> This is a checked line<\/li>/)
|
65
|
+
end
|
66
|
+
|
67
|
+
it "must enrich task list parent 1" do
|
68
|
+
allow_any_instance_of(VimwikiMarkdown::VimwikiLink).to receive(:vimwiki_markdown_file_exists?).and_return(true)
|
69
|
+
allow(wiki_body).to receive(:get_wiki_markdown_contents).and_return("- [.] This is a parent 1 line")
|
70
|
+
expect(wiki_body.to_s).to match(/<li class="done1"> This is a parent 1 line<\/li>/)
|
71
|
+
end
|
72
|
+
|
73
|
+
it "must enrich task list parent 2" do
|
74
|
+
allow_any_instance_of(VimwikiMarkdown::VimwikiLink).to receive(:vimwiki_markdown_file_exists?).and_return(true)
|
75
|
+
allow(wiki_body).to receive(:get_wiki_markdown_contents).and_return("- [o] This is a parent 2 line")
|
76
|
+
expect(wiki_body.to_s).to match(/<li class="done2"> This is a parent 2 line<\/li>/)
|
77
|
+
end
|
78
|
+
|
79
|
+
it "must enrich task list parent 3" do
|
80
|
+
allow_any_instance_of(VimwikiMarkdown::VimwikiLink).to receive(:vimwiki_markdown_file_exists?).and_return(true)
|
81
|
+
allow(wiki_body).to receive(:get_wiki_markdown_contents).and_return("- [O] This is a parent 3 line")
|
82
|
+
expect(wiki_body.to_s).to match(/<li class="done3"> This is a parent 3 line<\/li>/)
|
83
|
+
end
|
84
|
+
|
55
85
|
describe "syntax highlighting" do
|
56
86
|
it "must give correct classes" do
|
57
87
|
allow(wiki_body).to receive(:get_wiki_markdown_contents)
|
data/spec/spec_helper.rb
CHANGED
@@ -107,6 +107,28 @@ def wiki_index_markdown
|
|
107
107
|
|
108
108
|
> this is a blockquote
|
109
109
|
> without a linebreak
|
110
|
+
|
111
|
+
## Test for checks
|
112
|
+
|
113
|
+
- [ ] This is one line
|
114
|
+
- [X] This is a checked line
|
115
|
+
- [ ] This is a parent line 1
|
116
|
+
- [ ] This is a child line 1
|
117
|
+
- [ ] This is a child line 2
|
118
|
+
- [.] This is a parent line 2
|
119
|
+
- [X] This is a child line 1
|
120
|
+
- [ ] This is a child line 2
|
121
|
+
- [ ] This is a child line 3
|
122
|
+
- [o] This is a parent line 2
|
123
|
+
- [X] This is a child line 1
|
124
|
+
- [X] This is a child line 2
|
125
|
+
- [ ] This is a child line 3
|
126
|
+
- [O] This is a parent line 3
|
127
|
+
- [X] This is a child line 1
|
128
|
+
- [X] This is a child line 2
|
129
|
+
- [X] This is a child line 3
|
130
|
+
- [ ] This is a child line 4
|
131
|
+
|
110
132
|
"
|
111
133
|
end
|
112
134
|
|
data/vimwiki_markdown.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.0"
|
22
|
-
spec.add_development_dependency "rake", "~>
|
22
|
+
spec.add_development_dependency "rake", "~> 12.3"
|
23
23
|
spec.add_development_dependency "rspec", "~> 3.0"
|
24
24
|
spec.add_development_dependency "pry", "~> 0.12"
|
25
25
|
spec.add_development_dependency "rspec-its", "~> 1.1"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vimwiki_markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Davey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04
|
11
|
+
date: 2020-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '12.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '12.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -260,8 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
260
260
|
- !ruby/object:Gem::Version
|
261
261
|
version: '0'
|
262
262
|
requirements: []
|
263
|
-
|
264
|
-
rubygems_version: 2.7.9
|
263
|
+
rubygems_version: 3.0.4
|
265
264
|
signing_key:
|
266
265
|
specification_version: 4
|
267
266
|
summary: Converts a github flavoured markdown vimwiki file into html.
|