sleipnir-api 0.2.1 → 0.3.0

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.
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�������,