gollum-site 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gollum-site/markup.rb +56 -0
- data/lib/gollum-site/version.rb +1 -1
- data/lib/gollum-site.rb +4 -0
- data/test/examples/test_site.git/COMMIT_EDITMSG +1 -1
- data/test/examples/test_site.git/index +0 -0
- data/test/examples/test_site.git/logs/HEAD +2 -2
- data/test/examples/test_site.git/logs/refs/heads/master +2 -2
- data/test/examples/test_site.git/objects/31/34a0792941bf0df537c3a10d2502fdc3be08a5 +1 -0
- data/test/examples/test_site.git/objects/45/170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329 +2 -0
- data/test/examples/test_site.git/objects/a5/2b08f141c77fa0cd2397fb26f3285ea17bd6ea +0 -0
- data/test/examples/test_site.git/objects/c4/9a9d6386a9d955b3fac30f863c6b617d5830bc +0 -0
- data/test/examples/test_site.git/objects/e5/d334fc4683e3320e922b8eb07232fa6ba0d74a +0 -0
- data/test/examples/test_site.git/objects/fe/8086cbd51dd30365c9cbaedf015036445fabe4 +0 -0
- data/test/examples/test_site.git/packed-refs +1 -1
- data/test/examples/test_site.git/refs/heads/master +1 -1
- data/test/test_site.rb +4 -1
- metadata +16 -3
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'digest/sha1'
|
2
|
+
require 'cgi'
|
3
|
+
|
4
|
+
module Gollum
|
5
|
+
class Markup
|
6
|
+
|
7
|
+
# Attempt to process the tag as a page link tag.
|
8
|
+
#
|
9
|
+
# tag - The String tag contents (the stuff inside the double
|
10
|
+
# brackets).
|
11
|
+
# no_follow - Boolean that determines if rel="nofollow" is added to all
|
12
|
+
# <a> tags.
|
13
|
+
#
|
14
|
+
# Returns the String HTML if the tag is a valid page link tag or nil
|
15
|
+
# if it is not.
|
16
|
+
def process_page_link_tag(tag, no_follow = false)
|
17
|
+
parts = tag.split('|')
|
18
|
+
name = parts[0].strip
|
19
|
+
cname = @wiki.page_class.cname((parts[1] || parts[0]).strip)
|
20
|
+
if pos = cname.index('#')
|
21
|
+
extra = cname[pos..-1]
|
22
|
+
cname = cname[0..(pos-1)]
|
23
|
+
end
|
24
|
+
tag = if name =~ %r{^https?://} && parts[1].nil?
|
25
|
+
%{<a href="#{name}">#{name}</a>}
|
26
|
+
else
|
27
|
+
presence = "absent"
|
28
|
+
link_name = cname
|
29
|
+
page = find_page_from_name(cname)
|
30
|
+
if page
|
31
|
+
presence = "present"
|
32
|
+
end
|
33
|
+
link = ::File.join(@wiki.base_path, CGI.escape(link_name))
|
34
|
+
%{<a class="internal #{presence}" href="#{link}#{extra}">#{name}</a>}
|
35
|
+
end
|
36
|
+
if tag && no_follow
|
37
|
+
tag.sub! /^<a/, '<a ref="nofollow"'
|
38
|
+
end
|
39
|
+
tag
|
40
|
+
end
|
41
|
+
|
42
|
+
# Find a page from a given cname. If the page has an anchor (#) and has
|
43
|
+
# no match, strip the anchor and try again.
|
44
|
+
#
|
45
|
+
# cname - The String canonical page name.
|
46
|
+
#
|
47
|
+
# Returns a Gollum::Page instance if a page is found, or an Array of
|
48
|
+
# [Gollum::Page, String extra] if a page without the extra anchor data
|
49
|
+
# is found.
|
50
|
+
def find_page_from_name(cname)
|
51
|
+
if page = @wiki.page(cname, @version)
|
52
|
+
return page
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/lib/gollum-site/version.rb
CHANGED
data/lib/gollum-site.rb
CHANGED
@@ -6,3 +6,7 @@ require 'gollum-site/site'
|
|
6
6
|
# should replace with custom Page class once issue #63 is fixed
|
7
7
|
# http://github.com/github/gollum/issues/#issue/63
|
8
8
|
require 'gollum-site/page'
|
9
|
+
|
10
|
+
# Markup does not use page version :(
|
11
|
+
# Markup does not handle anchor tags for absent pages
|
12
|
+
require 'gollum-site/markup'
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Adding Page-One
|
Binary file
|
@@ -1,2 +1,2 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
1
|
+
0000000000000000000000000000000000000000 45170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329 Daniel Reverri <reverri@gmail.com> 1288900058 -0700 clone: from /Users/dreverri/src/basho/gollum-site/test/examples/test_site.git
|
2
|
+
45170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329 3134a0792941bf0df537c3a10d2502fdc3be08a5 Daniel Reverri <reverri@gmail.com> 1288900147 -0700 commit: Adding Page-One
|
@@ -1,2 +1,2 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
1
|
+
0000000000000000000000000000000000000000 45170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329 Daniel Reverri <reverri@gmail.com> 1288900058 -0700 clone: from /Users/dreverri/src/basho/gollum-site/test/examples/test_site.git
|
2
|
+
45170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329 3134a0792941bf0df537c3a10d2502fdc3be08a5 Daniel Reverri <reverri@gmail.com> 1288900147 -0700 commit: Adding Page-One
|
@@ -0,0 +1 @@
|
|
1
|
+
x��K��0��)� ��e BH`�3���#�� ��s�Y�����,����Л*pȔ%����P�D�qJ�s,ю2$��͋���`Gd�1i� �1�L�M���\�w�л?�_�V}�]?�Z�s���P}�x[.`]Jц�8"������67����C��W5�)�I�
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# pack-refs with: peeled
|
2
|
-
|
2
|
+
45170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329 refs/remotes/origin/master
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3134a0792941bf0df537c3a10d2502fdc3be08a5
|
data/test/test_site.rb
CHANGED
@@ -10,6 +10,7 @@ context "Site" do
|
|
10
10
|
|
11
11
|
test "generate static site" do
|
12
12
|
assert_equal(["/Home.html",
|
13
|
+
"/Page-One.html",
|
13
14
|
"/Page1.html",
|
14
15
|
"/Page2.html",
|
15
16
|
"/static",
|
@@ -21,7 +22,9 @@ context "Site" do
|
|
21
22
|
test "render page with layout and link" do
|
22
23
|
home_path = File.join(@site.output_path, "Home.html")
|
23
24
|
assert_equal(["<html><p>Site test\n",
|
24
|
-
"<a class=\"internal present\" href=\"/Page1.html#test\">Page1#test</a
|
25
|
+
"<a class=\"internal present\" href=\"/Page1.html#test\">Page1#test</a>\n",
|
26
|
+
"<a class=\"internal present\" href=\"/Page-One.html#test\">Page with anchor</a></p></html>\n"],
|
27
|
+
File.open(home_path).readlines)
|
25
28
|
end
|
26
29
|
|
27
30
|
test "render page with layout from parent dir" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gollum-site
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel Reverri
|
@@ -451,6 +451,7 @@ files:
|
|
451
451
|
- lib/gollum-site/layout/javascript/jquery.previewable_comment_form.js
|
452
452
|
- lib/gollum-site/layout/javascript/jquery.tabs.js
|
453
453
|
- lib/gollum-site/layout/javascript/jquery.text_selection-1.0.0.min.js
|
454
|
+
- lib/gollum-site/markup.rb
|
454
455
|
- lib/gollum-site/page.rb
|
455
456
|
- lib/gollum-site/site.rb
|
456
457
|
- lib/gollum-site/version.rb
|
@@ -475,7 +476,9 @@ files:
|
|
475
476
|
- test/examples/test_site.git/objects/0c/e23474afb8381a2df45077c7897e72ea66bd82
|
476
477
|
- test/examples/test_site.git/objects/12/d183189412aea09391023586297528722daa1b
|
477
478
|
- test/examples/test_site.git/objects/24/6104cdec11f15d582a78ffefc1be08b1566561
|
479
|
+
- test/examples/test_site.git/objects/31/34a0792941bf0df537c3a10d2502fdc3be08a5
|
478
480
|
- test/examples/test_site.git/objects/33/c6cf51b72a58596114e5d2f03261b8deaaa0f0
|
481
|
+
- test/examples/test_site.git/objects/45/170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329
|
479
482
|
- test/examples/test_site.git/objects/4d/1311a57ece3dc2840c6e48d1b9bf5978e3dc91
|
480
483
|
- test/examples/test_site.git/objects/4d/905a41381ad39d616dee245cf3e324f9fcc02e
|
481
484
|
- test/examples/test_site.git/objects/6c/bc9f20aa7806196638e32f708e012568d4a959
|
@@ -484,15 +487,19 @@ files:
|
|
484
487
|
- test/examples/test_site.git/objects/91/e0f12260f005632f42619886d02ee0a1f9cb2f
|
485
488
|
- test/examples/test_site.git/objects/9b/063b69e53a11210e033ba953be56135a7b0281
|
486
489
|
- test/examples/test_site.git/objects/9b/3d7fbc0ed4fc1db28f361729e4396208e6f846
|
490
|
+
- test/examples/test_site.git/objects/a5/2b08f141c77fa0cd2397fb26f3285ea17bd6ea
|
487
491
|
- test/examples/test_site.git/objects/b1/99a056e7e0dfadc1350413de32d6c9a700e7fa
|
488
492
|
- test/examples/test_site.git/objects/c3/d487fda322940d75eac154fc8383093f7bcdf3
|
493
|
+
- test/examples/test_site.git/objects/c4/9a9d6386a9d955b3fac30f863c6b617d5830bc
|
489
494
|
- test/examples/test_site.git/objects/cd/68dbcff0518c406e8caee2fa163006a90626b7
|
490
495
|
- test/examples/test_site.git/objects/d9/4ddf467ffb57a73ce424b123dd04e80c760719
|
491
496
|
- test/examples/test_site.git/objects/dd/d9974bd919e3601cc015ee36d524f18b4b2df5
|
492
497
|
- test/examples/test_site.git/objects/e4/2feb142e65f08532eb10ca858e2275a1135462
|
498
|
+
- test/examples/test_site.git/objects/e5/d334fc4683e3320e922b8eb07232fa6ba0d74a
|
493
499
|
- test/examples/test_site.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
494
500
|
- test/examples/test_site.git/objects/e7/0688deaa9cae7f981200111abc974a334a4426
|
495
501
|
- test/examples/test_site.git/objects/ea/8b884d4ac9807c17383bace8393379d15f8c2f
|
502
|
+
- test/examples/test_site.git/objects/fe/8086cbd51dd30365c9cbaedf015036445fabe4
|
496
503
|
- test/examples/test_site.git/packed-refs
|
497
504
|
- test/examples/test_site.git/refs/heads/master
|
498
505
|
- test/examples/test_site.git/refs/remotes/origin/HEAD
|
@@ -579,7 +586,9 @@ test_files:
|
|
579
586
|
- test/examples/test_site.git/objects/0c/e23474afb8381a2df45077c7897e72ea66bd82
|
580
587
|
- test/examples/test_site.git/objects/12/d183189412aea09391023586297528722daa1b
|
581
588
|
- test/examples/test_site.git/objects/24/6104cdec11f15d582a78ffefc1be08b1566561
|
589
|
+
- test/examples/test_site.git/objects/31/34a0792941bf0df537c3a10d2502fdc3be08a5
|
582
590
|
- test/examples/test_site.git/objects/33/c6cf51b72a58596114e5d2f03261b8deaaa0f0
|
591
|
+
- test/examples/test_site.git/objects/45/170c1c68e6ddd4d4c08adfb2aaf3c12d9b6329
|
583
592
|
- test/examples/test_site.git/objects/4d/1311a57ece3dc2840c6e48d1b9bf5978e3dc91
|
584
593
|
- test/examples/test_site.git/objects/4d/905a41381ad39d616dee245cf3e324f9fcc02e
|
585
594
|
- test/examples/test_site.git/objects/6c/bc9f20aa7806196638e32f708e012568d4a959
|
@@ -588,15 +597,19 @@ test_files:
|
|
588
597
|
- test/examples/test_site.git/objects/91/e0f12260f005632f42619886d02ee0a1f9cb2f
|
589
598
|
- test/examples/test_site.git/objects/9b/063b69e53a11210e033ba953be56135a7b0281
|
590
599
|
- test/examples/test_site.git/objects/9b/3d7fbc0ed4fc1db28f361729e4396208e6f846
|
600
|
+
- test/examples/test_site.git/objects/a5/2b08f141c77fa0cd2397fb26f3285ea17bd6ea
|
591
601
|
- test/examples/test_site.git/objects/b1/99a056e7e0dfadc1350413de32d6c9a700e7fa
|
592
602
|
- test/examples/test_site.git/objects/c3/d487fda322940d75eac154fc8383093f7bcdf3
|
603
|
+
- test/examples/test_site.git/objects/c4/9a9d6386a9d955b3fac30f863c6b617d5830bc
|
593
604
|
- test/examples/test_site.git/objects/cd/68dbcff0518c406e8caee2fa163006a90626b7
|
594
605
|
- test/examples/test_site.git/objects/d9/4ddf467ffb57a73ce424b123dd04e80c760719
|
595
606
|
- test/examples/test_site.git/objects/dd/d9974bd919e3601cc015ee36d524f18b4b2df5
|
596
607
|
- test/examples/test_site.git/objects/e4/2feb142e65f08532eb10ca858e2275a1135462
|
608
|
+
- test/examples/test_site.git/objects/e5/d334fc4683e3320e922b8eb07232fa6ba0d74a
|
597
609
|
- test/examples/test_site.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
598
610
|
- test/examples/test_site.git/objects/e7/0688deaa9cae7f981200111abc974a334a4426
|
599
611
|
- test/examples/test_site.git/objects/ea/8b884d4ac9807c17383bace8393379d15f8c2f
|
612
|
+
- test/examples/test_site.git/objects/fe/8086cbd51dd30365c9cbaedf015036445fabe4
|
600
613
|
- test/examples/test_site.git/packed-refs
|
601
614
|
- test/examples/test_site.git/refs/heads/master
|
602
615
|
- test/examples/test_site.git/refs/remotes/origin/HEAD
|