docurium 0.0.2 → 0.0.3
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.
- data/TODO.txt +3 -2
- data/lib/docurium.rb +22 -1
- data/site/css/style.css +4 -0
- data/site/js/docurium.js +18 -13
- metadata +3 -3
data/TODO.txt
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
TODO
|
2
2
|
|
3
|
-
*
|
4
|
-
|
3
|
+
* cross-link rocco code
|
5
4
|
|
6
5
|
* fix to group chooser
|
7
6
|
|
7
|
+
* version history for types, too
|
8
|
+
|
8
9
|
* only update certain tags / HEAD, force full update
|
9
10
|
|
10
11
|
* doc other branches (specify in config file)
|
data/lib/docurium.rb
CHANGED
@@ -6,7 +6,7 @@ require 'docurium/layout'
|
|
6
6
|
require 'pp'
|
7
7
|
|
8
8
|
class Docurium
|
9
|
-
Version = VERSION = '0.0.
|
9
|
+
Version = VERSION = '0.0.3'
|
10
10
|
|
11
11
|
attr_accessor :branch, :output_dir, :data
|
12
12
|
|
@@ -69,13 +69,33 @@ class Docurium
|
|
69
69
|
end
|
70
70
|
files.each do |file|
|
71
71
|
out " # #{file}"
|
72
|
+
|
73
|
+
# highlight, roccoize and link
|
72
74
|
rocco = Rocco.new(file, files, {:language => 'c'})
|
73
75
|
rocco_layout = Rocco::Layout.new(rocco, tf)
|
74
76
|
rocco_layout.version = version
|
75
77
|
rf = rocco_layout.render
|
78
|
+
|
76
79
|
rf_path = File.basename(file).split('.')[0..-2].join('.') + '.html'
|
77
80
|
rel_path = "ex/#{version}/#{rf_path}"
|
78
81
|
rf_path = File.join(outdir, rel_path)
|
82
|
+
|
83
|
+
# look for function names in the examples and link
|
84
|
+
id_num = 0
|
85
|
+
@data[:functions].each do |f, fdata|
|
86
|
+
rf.gsub!(/#{f}([^\w])/) do |fmatch|
|
87
|
+
extra = $1
|
88
|
+
id_num += 1
|
89
|
+
name = f + '-' + id_num.to_s
|
90
|
+
# save data for cross-link
|
91
|
+
@data[:functions][f][:examples] ||= {}
|
92
|
+
@data[:functions][f][:examples][file] ||= []
|
93
|
+
@data[:functions][f][:examples][file] << rel_path + '#' + name
|
94
|
+
"<a name=\"#{name}\" href=\"../../##{version}/group/#{fdata[:group]}/#{f}\">#{f}</a>#{extra}"
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
# write example to docs directory
|
79
99
|
FileUtils.mkdir_p(File.dirname(rf_path))
|
80
100
|
File.open(rf_path, 'w+') do |f|
|
81
101
|
@data[:examples] ||= []
|
@@ -239,6 +259,7 @@ class Docurium
|
|
239
259
|
if !rest
|
240
260
|
group = value[:file].gsub('.h', '').gsub('/', '_')
|
241
261
|
end
|
262
|
+
@data[:functions][key][:group] = group
|
242
263
|
func[group] ||= []
|
243
264
|
func[group] << key
|
244
265
|
func[group].sort!
|
data/site/css/style.css
CHANGED
data/site/js/docurium.js
CHANGED
@@ -181,6 +181,23 @@ $(function() {
|
|
181
181
|
flink = $('<a>').attr('target', 'github').attr('href', link).append(fdata[fname].file)
|
182
182
|
content.append($('<div>').addClass('fileLink').append("Defined in: ").append(flink))
|
183
183
|
|
184
|
+
// Show where this is used in the examples
|
185
|
+
if(ex = fdata[fname].examples) {
|
186
|
+
also = $('<div>').addClass('funcEx')
|
187
|
+
also.append("Used in examples: ")
|
188
|
+
for( fname in ex ) {
|
189
|
+
lines = ex[fname]
|
190
|
+
line = $('<li>')
|
191
|
+
line.append($('<strong>').append(fname))
|
192
|
+
for( var i in lines ) {
|
193
|
+
flink = $('<a>').attr('href', lines[i]).append(' [' + (parseInt(i) + 1) + '] ')
|
194
|
+
line.append(flink)
|
195
|
+
}
|
196
|
+
also.append(line)
|
197
|
+
}
|
198
|
+
content.append(also)
|
199
|
+
}
|
200
|
+
|
184
201
|
// Show other functions in this group
|
185
202
|
also = $('<div>').addClass('also')
|
186
203
|
flink = $('<a href="#" ref="' + ref.toString() + '" id="groupItem' + group[0] + '">' + group[0] + '</a>')
|
@@ -377,19 +394,7 @@ $(function() {
|
|
377
394
|
|
378
395
|
groupHash: false,
|
379
396
|
groupOf: function (func) {
|
380
|
-
|
381
|
-
this.groupHash = {}
|
382
|
-
data = this.get('data')
|
383
|
-
for(var i=0; i<data['groups'].length; i++) {
|
384
|
-
group = data['groups'][i][1]
|
385
|
-
groupName = data['groups'][i][0]
|
386
|
-
for(var j=0; j<group.length; j++) {
|
387
|
-
f = group[j]
|
388
|
-
this.groupHash[f] = groupName
|
389
|
-
}
|
390
|
-
}
|
391
|
-
}
|
392
|
-
return this.groupHash[func]
|
397
|
+
return this.get('data').functions[func].group
|
393
398
|
},
|
394
399
|
|
395
400
|
addHotlinks: function() {
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docurium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Scott Chacon
|