bitclust-dev 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/tools/insert-canonical.rb +60 -0
  3. metadata +8 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7192f1988801ec76c864cf9791d71ac2761e2840
4
- data.tar.gz: 4504c246574b73f07d36fd3933d5fd19f11377c2
3
+ metadata.gz: e4120c5f0e20c55be9afc15449554261013353c4
4
+ data.tar.gz: 8bdd04ce7be594768df1242aa5ba359185bbea6a
5
5
  SHA512:
6
- metadata.gz: 896ec45899b9efe163d5621e146626d863f3e92f95abf71fba8040a3118fe7ec9156e1a0f4c14cc8601613b1c3ca7c5cbb994edca729846ce8ee57394e139fa5
7
- data.tar.gz: ac0d8c46caf60c4a1c16d9c3c267fa561bf05bceef67d945c49404365f8b1ba691cff09a9ddc052ad41d3f86e67e4368b41ddcb0a64738d1dd9d1cebda0ba196
6
+ metadata.gz: e4257277da91c56cdfa9700fb7f091fb0285e6f61368bd7373030308631861aeb7404bf0c90b7a4fbf627911e27498e01751f5b0c6a0b02159a85c76277fdb86
7
+ data.tar.gz: c9523cb1897f87dfe702ceb93eb14d7e8f48a1d30c2d4835ff20274daaaa42a5847692faff0ff4f20497f043c085da2096da6cbf629810c4287cb2025ec95482
@@ -0,0 +1,60 @@
1
+ require "optparse"
2
+ require "uri"
3
+ require "fileutils"
4
+ require "tempfile"
5
+ require "strscan"
6
+
7
+ canonical_base_url = "http://docs.ruby-lang.org/ja/latest/"
8
+ base_dir = nil
9
+
10
+ parser = OptionParser.new
11
+ parser.on("--canonical-base-url=URL", "Canonical base URL") do |url|
12
+ canonical_base_url = URI(url)
13
+ end
14
+ parser.on("--base-dir=DIR", "Base directory") do |dir|
15
+ base_dir = dir
16
+ end
17
+
18
+ begin
19
+ parser.parse!
20
+ rescue OptionParser::ParseError => ex
21
+ $stderr.puts ex.message
22
+ $stderr.push parser.help
23
+ exit(false)
24
+ end
25
+
26
+ def insert_canonical_url(canonical_base_url, entry)
27
+ canonical_link = %Q(<link rel="canonical" href="#{canonical_base_url + entry}">\n)
28
+ scanner = StringScanner.new(File.read(entry))
29
+ Tempfile.create(File.basename(entry)) do |file|
30
+ loop do
31
+ if scanner.scan(%r!( +)<link rel="icon" type="image/png" href=".+">\n!)
32
+ matched = scanner.matched
33
+ file.write(matched)
34
+ file.write(scanner[1])
35
+ file.write(canonical_link)
36
+ end
37
+ ch = scanner.getch
38
+ if ch
39
+ file.write(ch)
40
+ else
41
+ break
42
+ end
43
+ end
44
+ mode = File.stat(entry).mode
45
+ file.flush
46
+ FileUtils.cp(file.path, entry)
47
+ File.chmod(mode, entry)
48
+ end
49
+ end
50
+
51
+ Dir.chdir(base_dir) do
52
+ Dir.glob("**/*.html") do |entry|
53
+ print entry
54
+ insert_canonical_url(canonical_base_url, entry)
55
+ print "\r"
56
+ print " " * entry.bytesize
57
+ print "\r"
58
+ end
59
+ puts "done"
60
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitclust-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
- - http://bugs.ruby-lang.org/projects/rurema
7
+ - https://github.com/rurema
8
8
  autorequire:
9
9
  bindir: tools
10
10
  cert_chain: []
11
- date: 2016-08-26 00:00:00.000000000 Z
11
+ date: 2016-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bitclust-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.9.2
19
+ version: 0.9.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.2
26
+ version: 0.9.3
27
27
  description: |
28
28
  Rurema is a Japanese ruby documentation project, and
29
29
  bitclust is a rurema document processor.
@@ -38,6 +38,7 @@ executables:
38
38
  - forall-ruby.rb
39
39
  - bc-convert.rb
40
40
  - stattodo.rb
41
+ - insert-canonical.rb
41
42
  - update-database.rb
42
43
  extensions: []
43
44
  extra_rdoc_files: []
@@ -49,10 +50,11 @@ files:
49
50
  - tools/check-signature.rb
50
51
  - tools/forall-ruby.rb
51
52
  - tools/gencatalog.rb
53
+ - tools/insert-canonical.rb
52
54
  - tools/statrefm.rb
53
55
  - tools/stattodo.rb
54
56
  - tools/update-database.rb
55
- homepage: http://doc.ruby-lang.org/ja/
57
+ homepage: http://docs.ruby-lang.org/ja/
56
58
  licenses: []
57
59
  metadata: {}
58
60
  post_install_message: