@@ -18,11 +18,11 @@ def generate(site)
18
18
repo . with_temp_index do
19
19
versions . map do |version |
20
20
version_name = version == 'master' ? 'latest' : version
21
- Dir . mktmpdir do |tmpdir |
21
+ Dir . mktmpdir ( nil , File . join ( site . source , 'tmp' ) ) do |tmpdir |
22
22
repo . read_tree ( version )
23
23
repo . checkout_index ( prefix : tmpdir + '/' , all : true )
24
24
versions_data [ version_name ] = self . generate_api_docs_for_version ( site , version_name , tmpdir )
25
- self . generate_guides_for_version ( site , version_name , version_dir )
25
+ self . generate_guides_for_version ( site , version_name , tmpdir )
26
26
end
27
27
end
28
28
end
@@ -43,15 +43,16 @@ def generate_api_docs_for_version(site, version_name, version_dir)
43
43
version_data
44
44
end
45
45
46
- def generate_guides_for_version ( version_name , version_dir )
46
+ def generate_guides_for_version ( site , version_name , version_dir )
47
47
guides_dir = File . join ( version_dir , 'docs' )
48
48
guides = Dir . glob ( File . join ( guides_dir , '**' , '*' ) ) . reject do |item |
49
49
File . directory? item
50
50
end
51
51
guides . each do |guide |
52
- dir = File . dirname ( guide )
53
- name = File . base_name ( guide )
54
- site . pages << Page . new ( site , site . source , dir , name )
52
+ absolute_dir = File . dirname ( guide )
53
+ dir = Pathname . new ( absolute_dir ) . relative_path_from ( Pathname . new ( guides_dir ) )
54
+ name = File . basename ( guide )
55
+ site . pages << GuidePage . new ( site , guides_dir , dir . to_s , name )
55
56
end
56
57
end
57
58
@@ -70,4 +71,11 @@ def initialize(site, base, dir, name, data, template)
70
71
end
71
72
end
72
73
74
+ class GuidePage < Page
75
+ def dir
76
+ dir = super
77
+ "guides/#{ dir } "
78
+ end
79
+ end
80
+
73
81
end
0 commit comments