sleipnir-api 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/History.txt +32 -0
  2. data/Manifest.txt +20 -3
  3. data/Rakefile +11 -1
  4. data/TODO.txt +4 -10
  5. data/bin/grepnir +1 -1
  6. data/examples/close_dup.rb +1 -1
  7. data/examples/close_err.rb +12 -0
  8. data/examples/command_list.rb +135 -0
  9. data/examples/open_last_url_by_firefox.rb +44 -0
  10. data/examples/open_selected_links.rb +40 -0
  11. data/helper/rake.rb +3 -57
  12. data/helper/rake/rake.rb +58 -0
  13. data/helper/{rake_sh_filter.rb → rake/rake_sh_filter.rb} +0 -0
  14. data/helper/{util.rb → rake/util.rb} +0 -0
  15. data/lib/sleipnir_api/cli/grepnir.rb +2 -3
  16. data/lib/sleipnir_api/command.rb +126 -0
  17. data/lib/sleipnir_api/commands.rb +264 -0
  18. data/lib/sleipnir_api/profile.rb +166 -27
  19. data/lib/sleipnir_api/profile/ini.rb +202 -0
  20. data/lib/sleipnir_api/profile/key.rb +120 -0
  21. data/lib/sleipnir_api/profile/section.rb +147 -0
  22. data/lib/sleipnir_api/profile/util.rb +82 -0
  23. data/lib/sleipnir_api/searcher.rb +133 -0
  24. data/lib/sleipnir_api/security.rb +88 -18
  25. data/lib/sleipnir_api/sleipnir.rb +91 -7
  26. data/lib/sleipnir_api/tab.rb +68 -2
  27. data/lib/sleipnir_api/tabbed_ie.rb +33 -0
  28. data/lib/sleipnir_api/util.rb +25 -0
  29. data/lib/sleipnir_api/version.rb +2 -2
  30. data/scripts/gesture2rb.rb +42 -0
  31. data/scripts/make_gesture.rb +271 -0
  32. data/scripts/subcategory.csv +253 -0
  33. data/spec/sleipnir_api/profile_mock_spec.rb +80 -6
  34. data/spec/sleipnir_api/profile_section_mock_spec.rb +143 -0
  35. data/spec/sleipnir_api/profile_spec.rb +191 -0
  36. data/spec/sleipnir_api/security_spec.rb +58 -0
  37. data/spec/sleipnir_api/tab_mock_spec.rb +0 -5
  38. data/spec/sleipnir_api/tab_spec.rb +27 -0
  39. data/spec/spec_helper.rb +20 -0
  40. metadata +22 -5
  41. data/helper/helper.rb +0 -3
@@ -1,8 +1,8 @@
1
1
  module SleipnirAPI
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 2
5
- TINY = 1
4
+ MINOR = 3
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -0,0 +1,42 @@
1
+ $KCODE = "s"
2
+ require "jcode"
3
+
4
+ $LOAD_PATH << File.join(File.dirname(__FILE__), "../lib")
5
+ require "sleipnir_api"
6
+
7
+ def read_csv(filename)
8
+ File.read(filename).split("\n").map{|e| e.chomp.split(",") }
9
+ end
10
+
11
+ suffix = {
12
+ "���{��" => %W{EUC �V�t�gJIS JIS},
13
+ "Unicode" => %W{UTF-8 UTF-7},
14
+ "�ȑ̎�������" => %W{GB18030 GB2312 HZ},
15
+ "�ɑ̎�������" => %W{Big5},
16
+ "�؍���" => [nil, "EUC", "ISO"],
17
+ "�������[���b�p����" => %W{DOS ISO Windows},
18
+ "�����[���b�p����" => %W{ISO Windows},
19
+ }
20
+
21
+ gesture = read_csv("gesture.csv")
22
+ subcategory = read_csv("subcategory.csv")
23
+ gesture2command = gesture.zip(subcategory).inject({}) do |h,col|
24
+ ges, cat, cmd, cmd2, *subs = *(col.flatten)
25
+ if suffix[cmd]
26
+ cmd = "#{cmd}(#{suffix[cmd].shift})"
27
+ end
28
+ h[ges] = [cat, subs, cmd].flatten.map{|e| e.gsub(/&/, "") }
29
+ h
30
+ end
31
+
32
+ pnir = SleipnirAPI.connect
33
+ profile = pnir.profile.Gesture
34
+ sec = profile.MouseGesture
35
+ sec.Item0_Gesture.list.zip(sec.Item0_Command.list).each do |gesture, cmdid|
36
+ gesture = gesture.tr("<>v^", "��������")
37
+ if cmd = gesture2command[gesture]
38
+ puts " #{[cmdid, *cmd].inspect},"
39
+ else
40
+ $stderr.puts "Unknown gesture: #{gesture}"
41
+ end
42
+ end
@@ -0,0 +1,271 @@
1
+ require "rubygems"
2
+
3
+ # 0. Gesture.ini ���폜
4
+ # 1. Sleipnir ���N��
5
+ # 2. �I�v�V������ʂ��J�� (F12)
6
+ # 3. �}�E�X���쁨�}�E�X�W�F�X�`���[��\��
7
+ # 4. ���̃X�N���v�g�����s
8
+ # -> gesture.csv ���ł���
9
+ # 5. ruby gesture2rb.rb �� ruby �R�[�h����
10
+
11
+ require "Win32API"
12
+ require "win32ole"
13
+
14
+ module WINAPI
15
+ module Flags
16
+ CB_GETCOUNT = 0x0146
17
+ CB_GETCURSEL = 0x0147
18
+ CB_GETLBTEXT = 0x0148
19
+ CB_GETLBTEXTLEN = 0x0149
20
+
21
+ WM_SETTEXT = 0x000C
22
+ WM_GETTEXT = 0x000D
23
+ WM_GETTEXTLENGTH = 0x000E
24
+
25
+ GW_HWNDFIRST = 0
26
+ GW_HWNDLAST = 1
27
+ GW_HWNDNEXT = 2
28
+ GW_HWNDPREV = 3
29
+ end
30
+
31
+ SendMessage = Win32API.new("user32", "SendMessage", "LLPP", "L")
32
+ FindWindowEx = Win32API.new("user32", "FindWindowEx", "LLPP", "L")
33
+ GetTopWindow = Win32API.new("user32", "GetTopWindow", "L", "L")
34
+ GetWindow = Win32API.new("user32", "GetWindow", "LI", "L")
35
+
36
+ def send_message(hwnd, message, lparam, wparam)
37
+ SendMessage.call(hwnd, message, lparam, wparam)
38
+ end
39
+
40
+ def find_window_ex(parent, child_after, clazz, window)
41
+ FindWindowEx.call(parent, child_after, clazz, window)
42
+ end
43
+
44
+ def get_top_window(hwnd)
45
+ GetTopWindow.call(hwnd)
46
+ end
47
+
48
+ def get_window(hwnd, cmd)
49
+ GetWindow.call(hwnd, cmd)
50
+ end
51
+ end
52
+
53
+ class Window
54
+ include WINAPI
55
+ include WINAPI::Flags
56
+ include Enumerable
57
+
58
+ attr_reader :hwnd
59
+
60
+ def initialize(hwnd)
61
+ @hwnd = hwnd
62
+ end
63
+
64
+ def sndmsg(message, lparam, wparam)
65
+ send_message(@hwnd, message, lparam, wparam)
66
+ end
67
+
68
+ def wrap
69
+ hwnd = yield
70
+ return nil if hwnd.nil? or hwnd.zero?
71
+ self.class.new(hwnd)
72
+ end
73
+
74
+ def find_child_window(child_after, clazz, window)
75
+ wrap { find_window_ex(@hwnd, child_after, clazz, window) }
76
+ end
77
+
78
+ def get_first_child
79
+ wrap { get_top_window(@hwnd) }
80
+ end
81
+
82
+ def get_first_sibling
83
+ wrap { get_window(@hwnd, GW_HWNDFIRST) }
84
+ end
85
+
86
+ def get_last_sibling
87
+ wrap { get_window(@hwnd, GW_HWNDLAST) }
88
+ end
89
+
90
+ def get_next_sibling
91
+ wrap { get_window(@hwnd, GW_HWNDNEXT) }
92
+ end
93
+
94
+ def get_prev_sibling
95
+ wrap { get_window(@hwnd, GW_HWNDPREV) }
96
+ end
97
+
98
+ def each
99
+ child = get_first_child
100
+ if child
101
+ yield child
102
+ while child = child.get_next_sibling
103
+ yield child
104
+ end
105
+ end
106
+ end
107
+ end
108
+
109
+ class ComboBox < Window
110
+ def get_item_len(index)
111
+ sndmsg(CB_GETLBTEXTLEN, index, 0)
112
+ end
113
+
114
+ def get_item(index)
115
+ len = get_item_len(index)
116
+ return "" if len < 0
117
+ buf = " " * len
118
+ sndmsg(CB_GETLBTEXT, index, buf)
119
+ buf
120
+ end
121
+
122
+ def selected_item
123
+ get_item(selected_index)
124
+ end
125
+
126
+ def selected_index
127
+ sndmsg(CB_GETCURSEL, 0, 0)
128
+ end
129
+
130
+ def count
131
+ sndmsg(CB_GETCOUNT, 0, 0)
132
+ end
133
+
134
+ def items
135
+ (0...count).map{|i| get_item(i) }
136
+ end
137
+ end
138
+
139
+ class Edit < Window
140
+ def get_text_len
141
+ sndmsg(WM_GETTEXTLENGTH, 0, 0)
142
+ end
143
+
144
+ def set_text(text)
145
+ sndmsg(WM_SETTEXT, 0, text)
146
+ end
147
+
148
+ def get_text
149
+ len = get_text_len
150
+ return "" if len < 0
151
+ buf = " " * len
152
+ sndmsg(WM_GETTEXT, buf, len)
153
+ buf
154
+ end
155
+ end
156
+
157
+
158
+ module Sleipnir
159
+ class OptionWindow < Window
160
+ extend WINAPI
161
+ def self.find
162
+ hwnd = find_window_ex(0, 0, 0, "Sleipnir �I�v�V����")
163
+ raise "cannot find Sleipnir Option window" if hwnd.zero?
164
+ self.new(hwnd)
165
+ end
166
+
167
+ def gesture_dialog
168
+ win = self.find {|win|
169
+ win.find_child_window(0, 0, "�W�F�X�`���[�o�^")
170
+ }
171
+ raise "cannot find Gesture Dialog" unless win
172
+ GestureDialog.new(win.hwnd)
173
+ end
174
+ end
175
+
176
+ class GestureDialog < Window
177
+ def sibling_of(window)
178
+ w = find_child_window(0, 0, window)
179
+ w.get_next_sibling
180
+ end
181
+
182
+ def gesture_control
183
+ Edit.new(sibling_of("�W�F�X�`���[(&G):").hwnd)
184
+ end
185
+
186
+ def category_control
187
+ ComboBox.new(sibling_of("�J�e�S��(&C):").hwnd)
188
+ end
189
+
190
+ def command_control
191
+ ComboBox.new(sibling_of("�R�}���h(&O):").hwnd)
192
+ end
193
+ end
194
+ end
195
+
196
+ class GestureGenerator
197
+ KEYS = %W(�� �� �� ��)
198
+ def initialize
199
+ @prev = [""]
200
+ end
201
+
202
+ def generate(n)
203
+ r = []
204
+ catch(:finish) {
205
+ loop {
206
+ next_prev = []
207
+ KEYS.each {|k|
208
+ @prev.each {|prev|
209
+ v = k + prev
210
+ next_prev << v
211
+ r << v
212
+ throw :finish if n <= r.length
213
+ }
214
+ }
215
+ @prev = next_prev
216
+ }
217
+ }
218
+ r
219
+ end
220
+ end
221
+
222
+
223
+ shell = WIN32OLE.new("WScript.Shell")
224
+ def shell.sendkeys_and_wait(key, wait=0.1)
225
+ p key
226
+ self.SendKeys(key)
227
+ sleep(wait)
228
+ end
229
+
230
+
231
+ shell.AppActivate("Sleipnir", true)
232
+
233
+ opt = Sleipnir::OptionWindow.find
234
+ dialog = opt.gesture_dialog
235
+ gesture = dialog.gesture_control
236
+ category = dialog.category_control
237
+ command = dialog.command_control
238
+
239
+ gen = GestureGenerator.new
240
+ result = []
241
+ gen.generate(1000).each {|ges|
242
+ cmd = command.selected_item
243
+ cat = category.selected_item
244
+ next if cmd == "" or cat == "" # skip
245
+
246
+ gesture.set_text(ges) # set gesture
247
+ shell.sendkeys_and_wait("%A") # �lj�
248
+
249
+ result << [ges, cat, cmd]
250
+ puts result.last.join(",")
251
+
252
+ i = command.selected_index
253
+ shell.sendkeys_and_wait("%O") # �R�}���h
254
+ shell.sendkeys_and_wait("{DOWN}") # down
255
+ next if i != command.selected_index
256
+
257
+ i = category.selected_index
258
+ shell.sendkeys_and_wait("%C") # �J�e�S��
259
+ shell.sendkeys_and_wait("{DOWN}") # down
260
+ next if i != category.selected_index
261
+ break
262
+ }
263
+
264
+ shell.sendkeys_and_wait("{ENTER}") # finish
265
+
266
+ open("gesture.csv", "w") {|w|
267
+ result.each do |ges, cat, cmd|
268
+ w.puts "#{ges},#{cat},#{cmd}"
269
+ end
270
+ }
271
+
@@ -0,0 +1,253 @@
1
+ �E�B���h�E,�V�K�쐬
2
+ �N���b�v�{�[�h����쐬,�V�K�쐬
3
+ �A�N�e�B�u�ȃE�B���h�E�̃R�s�[,�V�K�쐬
4
+ �I�𕶎�����J��,�V�K�쐬
5
+ �I�𕔕��̃����N���J��,�V�K�쐬
6
+ Gecko �G���W���̎g�p,�V�K�쐬
7
+ �J��,
8
+ ���O��t���ĕۑ�,
9
+ �‚���,
10
+ �V���[�g�J�b�g�̍쐬,
11
+ �Ō�ɕ‚����y�[�W���J��,�ŋߕ‚����y�[�W
12
+ �v�����^�̐ݒ�,
13
+ ����v���r���[,
14
+ ���,
15
+ ���C�ɓ���̐؂�ւ�,
16
+ Internet Explorer �̂��C�ɓ���,�C���|�[�g
17
+ Internet Explorer �̂��C�ɓ���(����),�C���|�[�g
18
+ Netscape �u�b�N�}�[�N,�C���|�[�g
19
+ Internet Explorer �̂��C�ɓ���,�G�N�X�|�[�g
20
+ Netscape �u�b�N�}�[�N,�G�N�X�|�[�g
21
+ �l���̍폜,
22
+ �v���p�e�B,
23
+ �I�t���C�����,
24
+ �A�v���P�[�V�����̏I��,
25
+ ���ɖ߂�,
26
+ �؂���,
27
+ �R�s�[,
28
+ �\��t��,
29
+ ���ׂđI��,
30
+ �y�[�W�̌���,
31
+ �I�𕶎���̌���,
32
+ �I�𕶎���� Grep,
33
+ �^�C�g���̃R�s�[,
34
+ URL �̃R�s�[,
35
+ �^�C�g���� URL �̃R�s�[,
36
+ �I�𕔕��̃����N���R�s�[,
37
+ ����������̌������,�����o�[�̑���
38
+ ����������̑O������,�����o�[�̑���
39
+ ����������̃n�C���C�g,�����o�[�̑���
40
+ �y�[�W�̓��p�|��,
41
+ �y�[�W�̉p���|��,
42
+ �L���b�V���̌���,
43
+ �W���c�[���o�[,�R���g���[���o�[
44
+ �G�N�X�v���[���o�[,�R���g���[���o�[,�G�N�X�v���[���o�[
45
+ ���C�ɓ���,�R���g���[���o�[,�G�N�X�v���[���o�[
46
+ ���C�ɓ���O���[�v,�R���g���[���o�[,�G�N�X�v���[���o�[
47
+ �E�B���h�E�ꗗ,�R���g���[���o�[,�G�N�X�v���[���o�[
48
+ �ŋߕ‚����y�[�W,�R���g���[���o�[,�G�N�X�v���[���o�[
49
+ ����,�R���g���[���o�[,�G�N�X�v���[���o�[
50
+ &IntelliSearch,�R���g���[���o�[,�G�N�X�v���[���o�[
51
+ �g���p�l��,�R���g���[���o�[,�G�N�X�v���[���o�[
52
+ Grep,�R���g���[���o�[,�G�N�X�v���[���o�[
53
+ �A�h���X�o�[,�R���g���[���o�[
54
+ �����o�[,�R���g���[���o�[
55
+ �����N�o�[,�R���g���[���o�[
56
+ �^�u�o�[,�R���g���[���o�[
57
+ �X�e�[�^�X�o�[,�R���g���[���o�[
58
+ �A�E�g�v�b�g,�R���g���[���o�[
59
+ �c�[���o�[�̌Œ�,�R���g���[���o�[
60
+ �J�X�^�}�C�Y,�R���g���[���o�[
61
+ �O�ɖ߂�,�ړ�
62
+ ���ɐi��,�ړ�
63
+ ��̃f�B���N�g���Ɉړ�,�ړ�
64
+ 1�–߂�,�ړ�
65
+ 2�–߂�,�ړ�
66
+ 3�–߂�,�ړ�
67
+ 4�–߂�,�ړ�
68
+ 5�–߂�,�ړ�
69
+ 6�–߂�,�ړ�
70
+ 7�–߂�,�ړ�
71
+ 8�–߂�,�ړ�
72
+ 9�–߂�,�ړ�
73
+ 1�i��,�ړ�
74
+ 2�i��,�ړ�
75
+ 3�i��,�ړ�
76
+ 4�i��,�ړ�
77
+ 5�i��,�ړ�
78
+ 6�i��,�ړ�
79
+ 7�i��,�ړ�
80
+ 8�i��,�ړ�
81
+ 9�i��,�ړ�
82
+ �z�[���y�[�W,�ړ�
83
+ ���~,���~
84
+ ���ׂĒ��~,���~
85
+ ���ׂĂ̎����X�V���~,�X�V
86
+ �A�N�e�B�u�E�B���h�E�͖���,�X�V
87
+ �I�t���C�����͖���,�X�V
88
+ �����X�V���Ȃ�,�X�V
89
+ 15 �b,�X�V
90
+ 30 �b,�X�V
91
+ 1 ��,�X�V
92
+ 2 ��,�X�V
93
+ 5 ��,�X�V
94
+ �X�V,�X�V
95
+ ���ׂčX�V,�X�V
96
+ ���S�X�V,�X�V
97
+ ���ׂĊ��S�X�V,�X�V
98
+ �傫������,�����̃T�C�Y
99
+ ����������,�����̃T�C�Y
100
+ �ő�,�����̃T�C�Y
101
+ ��,�����̃T�C�Y
102
+ ��,�����̃T�C�Y
103
+ ��,�����̃T�C�Y
104
+ �ŏ�,�����̃T�C�Y
105
+ �����I��,�����̃T�C�Y
106
+ ���{��,�G���R�[�h
107
+ ���{��,�G���R�[�h
108
+ ���{��,�G���R�[�h
109
+ Unicode,�G���R�[�h
110
+ Unicode,�G���R�[�h
111
+ �ȑ̎�������,�G���R�[�h
112
+ �ȑ̎�������,�G���R�[�h
113
+ �ȑ̎�������,�G���R�[�h
114
+ �ɑ̎�������,�G���R�[�h
115
+ �؍���,�G���R�[�h
116
+ �؍���,�G���R�[�h
117
+ �؍���,�G���R�[�h
118
+ �L��������,�G���R�[�h
119
+ �^�C��,�G���R�[�h
120
+ �������[���b�p����,�G���R�[�h
121
+ �������[���b�p����,�G���R�[�h
122
+ �������[���b�p����,�G���R�[�h
123
+ �����[���b�p����,�G���R�[�h
124
+ �����[���b�p����,�G���R�[�h
125
+ &50%,�Y�[��
126
+ &80%,�Y�[��
127
+ &90%,�Y�[��
128
+ &100%,�Y�[��
129
+ 1&20%,�Y�[��
130
+ 1&50%,�Y�[��
131
+ 2&00%,�Y�[��
132
+ �Y�[���C��,�Y�[��
133
+ �Y�[���A�E�g,�Y�[��
134
+ ���[�U�[�w��,�X�^�C���V�[�g
135
+ �f�t�H���g�̃X�^�C���V�[�g,�X�^�C���V�[�g
136
+ �X�^�C���V�[�g�̖���,�X�^�C���V�[�g
137
+ �\�[�X�̕\��,�\�[�X�̕\��
138
+ �I�𕔕��̃\�[�X��\��,�\�[�X�̕\��
139
+ �R�����g�̕\��,�\�[�X�̕\��
140
+ �i�r�Q�[�g���b�N,
141
+ �^�C�g���̕ύX���֎~,
142
+ �X�e�[�^�X�o�[�� URL �̂ݕ\��,
143
+ �^�u���[�h,
144
+ �^�u�X�N���[����,�^�u�X�N���[��
145
+ �^�u�X�N���[���E,�^�u�X�N���[��
146
+ �r���[,�t�H�[�J�X
147
+ �A�h���X�o�[,�t�H�[�J�X
148
+ �����o�[,�t�H�[�J�X
149
+ �����G���W��,�t�H�[�J�X
150
+ �G�N�X�v���[���o�[,�t�H�[�J�X
151
+ �X�L���̐���,�X�L��
152
+ �X�L���̍ēǂݍ���,�X�L��
153
+ �S��ʕ\��,
154
+ �^�X�N�g���C�ɓ����,
155
+ ���C�ɓ���ɒlj�,
156
+ ���ׂĒlj�,
157
+ ���C�ɓ���̐���,
158
+ ���C�ɓ���O���[�v�ɒlj�,
159
+ ���C�ɓ���O���[�v�̐���,
160
+ �Z�L�����e�B�̌p��,
161
+ JavaScript �̎��s,�f�t�H���g�Z�L�����e�B
162
+ Java �̎��s,�f�t�H���g�Z�L�����e�B
163
+ ActiveX �̎��s,�f�t�H���g�Z�L�����e�B
164
+ ActiveX �̃_�E�����[�h,�f�t�H���g�Z�L�����e�B
165
+ �摜�̍Đ�,�f�t�H���g�Z�L�����e�B
166
+ �T�E���h�̍Đ�,�f�t�H���g�Z�L�����e�B
167
+ �r�f�I�̍Đ�,�f�t�H���g�Z�L�����e�B
168
+ JavaScript �̎��s,�y�[�W�ʃZ�L�����e�B
169
+ Java �̎��s,�y�[�W�ʃZ�L�����e�B
170
+ ActiveX �̎��s,�y�[�W�ʃZ�L�����e�B
171
+ ActiveX �̃_�E�����[�h,�y�[�W�ʃZ�L�����e�B
172
+ �摜�̍Đ�,�y�[�W�ʃZ�L�����e�B
173
+ �T�E���h�̍Đ�,�y�[�W�ʃZ�L�����e�B
174
+ �r�f�I�̍Đ�,�y�[�W�ʃZ�L�����e�B
175
+ ���ׂău���b�N,�N�b�L�[IE6
176
+ ��,�N�b�L�[IE6
177
+ ��-��,�N�b�L�[IE6
178
+ ��,�N�b�L�[IE6
179
+ ��,�N�b�L�[IE6
180
+ ���ׂċ���,�N�b�L�[IE6
181
+ �J�X�^��,�N�b�L�[IE6
182
+ �N�b�L�[,
183
+ �Z�b�V�������Ƃ̃N�b�L�[,
184
+ �L���b�V�����g�p���Ȃ�,
185
+ �|�b�v�A�b�v�L���̃u���b�N,
186
+ �|�b�v�A�b�v����URL�̒lj�,
187
+ �_�C�A���O�̗}��,
188
+ �T�C�����g���[�h,
189
+ �v���L�V�̒lj�,
190
+ �v���L�V�̕ҏW,
191
+ �_�C���N�g�ɐڑ�,
192
+ �C���^�[�l�b�g�I�v�V�����Őڑ�,
193
+ �X�N���v�g�̐V�K�쐬,
194
+ �X�N���v�g�̐���,
195
+ �X�N���v�g�̍ēǂݍ���,
196
+ Sleipnir �I�v�V����,
197
+ �y�[�W���E�N���b�N�Ŋg�����j���[��\��,�N�C�b�N�I�v�V����
198
+ URL �A�N�V�����̗L��,�N�C�b�N�I�v�V����
199
+ �֎~�^�C�g���̗L��,�N�C�b�N�I�v�V����
200
+ �֎~URL�̗L��,�N�C�b�N�I�v�V����
201
+ ���C�ɓ����lj�����t�H���_���w��,�N�C�b�N�I�v�V����
202
+ �E�B���h�E�̐��𐧌�,�N�C�b�N�I�v�V����
203
+ �V�����E�B���h�E���A�N�e�B�u,�N�C�b�N�I�v�V����
204
+ �X�N���v�g�ɂ�� Sleipnir �̑��������,�N�C�b�N�I�v�V����
205
+ �ǂݍ��݊������X�N���v�g�̗L��,�N�C�b�N�I�v�V����
206
+ mailto: �œd�q���[���\�t�g�E�F�A���N�����Ȃ�,�N�C�b�N�I�v�V����
207
+ �C���^�[�l�b�g�I�v�V����,
208
+ �J�X�^�}�C�Y,
209
+ IntelliSearch �̎g�p,IntelliSearch
210
+ �����ŃA�N�e�B�u,IntelliSearch
211
+ �y�[�W���J�������� Grep,IntelliSearch
212
+ �擪�̃L�[���[�h�ɃW�����v,IntelliSearch
213
+ Grep �������ŃA�N�e�B�u,IntelliSearch
214
+ �A�N�e�B�u�ȃy�[�W�ɓK�p,IntelliSearch
215
+ ���̌��ʂɈړ�,IntelliSearch
216
+ �O�̌��ʂɈړ�,IntelliSearch
217
+ �X�^�[�g�A�b�v URL �ɒlj�,
218
+ �֎~�^�C�g���̒lj�,
219
+ �֎~ URL �̒lj�,
220
+ URL �̒��o,
221
+ �I�𕔕��� URL �𒊏o,
222
+ �N���b�v�{�[�h�̊Ď�,
223
+ ���̃E�B���h�E,
224
+ �O�̃E�B���h�E,
225
+ �O��I�����̏�Ԃ𕜌�,
226
+ �E�����ׂĕ‚���,
227
+ �������ׂĕ‚���,
228
+ �A�N�e�B�u�ȊO��‚���,
229
+ ���ǂ����ׂĕ‚���,
230
+ ���ׂĕ‚���,
231
+ �y�[�W�̐擪,�X�N���[��
232
+ 1�y�[�W���,�X�N���[��
233
+ 1�y�[�W����,�X�N���[��
234
+ �y�[�W�̍Ō�,�X�N���[��
235
+ ����,�X�N���[��
236
+ �E��,�X�N���[��
237
+ �ő剻,�E�B���h�E����
238
+ �ŏ���,�E�B���h�E����
239
+ ���̃T�C�Y�ɖ߂�,�E�B���h�E����
240
+ ���C���E�B���h�E�̍ő剻,�E�B���h�E����
241
+ ���C���E�B���h�E�̍ŏ���,�E�B���h�E����
242
+ �d�˂ĕ\��,
243
+ �㉺�ɕ��ׂĕ\��,
244
+ ���E�ɕ��ׂĕ\��,
245
+ �A�C�R���̐���,
246
+ �u���E�U�G���W���̐؂�ւ�,
247
+ �w���v,
248
+ �I�����C���T�|�[�g,
249
+ �悭���鎿��Ƃ��̉�,
250
+ �F�l�Ƀ\�t�g�E�F�A���Љ�,
251
+ �L�[�{�[�h�}�b�v�̕\��,
252
+ �o�O���|�[�g,
253
+ �o�[�W�������,