md2site 0.1.2

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 (65) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +30 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +138 -0
  6. data/.rubocop_todo.yml +47 -0
  7. data/.travis.yml +7 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +98 -0
  10. data/LICENSE +8 -0
  11. data/LICENSE.txt +8 -0
  12. data/README.md +39 -0
  13. data/Rakefile +6 -0
  14. data/bin/console +14 -0
  15. data/bin/md2site +157 -0
  16. data/bin/setup +8 -0
  17. data/data/conf/conf-sample.yml +5 -0
  18. data/data/conf/conf.sh +32 -0
  19. data/data/conf/setting.yml +3 -0
  20. data/data/conf/site.tsv +1 -0
  21. data/data/template/5col_no_attr.erb +72 -0
  22. data/data/template/5col_no_attr_b.erb +72 -0
  23. data/data/template/functions_static.erb +10 -0
  24. data/data/template/functions_variable.erb +3 -0
  25. data/data/template2/contest_notification.erb +16 -0
  26. data/data/template2/contest_notification_2.erb +34 -0
  27. data/data/template2/contest_winners.erb +69 -0
  28. data/data/template2/contest_winners_statement.erb +1 -0
  29. data/data/testdata/conf-blog.yml +6 -0
  30. data/data/testdata/conf-download.yml +6 -0
  31. data/data/testdata/conf-link.yml +6 -0
  32. data/data/testdata/conf-profile.yml +6 -0
  33. data/data/testdata/conf-top.yml +6 -0
  34. data/data/testdata/site.tsv +5 -0
  35. data/data/testdata0/conf-appliction.yml +1 -0
  36. data/data/testdata0/conf-attempt.yml +69 -0
  37. data/data/testdata0/conf-autosar.yml +11 -0
  38. data/data/testdata0/conf-community.yml +3 -0
  39. data/data/testdata0/conf-document.yml +1 -0
  40. data/data/testdata0/conf-download.yml +1 -0
  41. data/data/testdata0/conf-edu.yml +52 -0
  42. data/data/testdata0/conf-etc.yml +1 -0
  43. data/data/testdata0/conf-members.yml +2 -0
  44. data/data/testdata0/conf-product.yml +37 -0
  45. data/data/testdata0/conf-project.yml +14 -0
  46. data/data/testdata0/conf-rtk.yml +25 -0
  47. data/data/testdata0/conf-top.yml +1 -0
  48. data/data/testdata0/setting.yml +33 -0
  49. data/data/testdata0/site.tsv +123 -0
  50. data/lib/md2site/env.rb +649 -0
  51. data/lib/md2site/htmlutils.rb +142 -0
  52. data/lib/md2site/htmlutils0.rb +223 -0
  53. data/lib/md2site/info.rb +17 -0
  54. data/lib/md2site/init.rb +90 -0
  55. data/lib/md2site/listfile.rb +22 -0
  56. data/lib/md2site/make.rb +295 -0
  57. data/lib/md2site/nkfguess.rb +33 -0
  58. data/lib/md2site/setup.rb +358 -0
  59. data/lib/md2site/statusfile.rb +75 -0
  60. data/lib/md2site/testdata.rb +50 -0
  61. data/lib/md2site/testx.rb +73 -0
  62. data/lib/md2site/version.rb +3 -0
  63. data/lib/md2site.rb +161 -0
  64. data/md2site.gemspec +59 -0
  65. metadata +359 -0
@@ -0,0 +1,72 @@
1
+ <% unless defined?(array)
2
+ hs={}
3
+ hs["name"]=name if defined?(name)
4
+ hs["heads"]=heads if defined?(heads)
5
+ hs["items"]=items if defined?(items)
6
+ array=[]
7
+ array << hs
8
+ end
9
+ %>
10
+ <tbody>
11
+ <% array.each do |x| %>
12
+ <% if x["name"] %>
13
+ :colspan="5" class="bh2"><%= x["name"] %>
14
+ <% end %>
15
+ <% if x["heads"] %>
16
+ <% fields = x["heads"].size %>
17
+ <% case fields %>
18
+ <% when 5 %>
19
+ :th><%= x["heads"][0] %>
20
+ ::th><%= x["heads"][1] %>
21
+ :::th><%= x["heads"][2] %>
22
+ ::::th><%= x["heads"][3] %>
23
+ :::::th><%= x["heads"][4] %>
24
+ <% when 4 %>
25
+ :th><%= x["heads"][0] %>
26
+ ::th><%= x["heads"][1] %>
27
+ :::th><%= x["heads"][2] %>
28
+ ::::th><%= x["heads"][3] %>
29
+ <% when 3 %>
30
+ :th><%= x["heads"][0] %>
31
+ ::th><%= x["heads"][1] %>
32
+ :::th><%= x["heads"][2] %>
33
+ <% when 2 %>
34
+ :th><%= x["heads"][0] %>
35
+ ::th><%= x["heads"][1] %>
36
+ <% when 1 %>
37
+ :th><%= x["heads"][0] %>
38
+ <% else %>
39
+ <% # do nothing %>
40
+ <% end %>
41
+ <% end %>
42
+ <% if x["items"] %>
43
+ <% x["items"].each do |y| %>
44
+ <% fields = y.size %>
45
+ <% case fields %>
46
+ <% when 5 %>
47
+ :<%= y[0] %>
48
+ ::<%= y[1] %>
49
+ :::<%= y[2] %>
50
+ ::::<%= y[3] %>
51
+ :::::<%= y[4] %>
52
+ <% when 4 %>
53
+ :<%= y[0] %>
54
+ ::<%= y[1] %>
55
+ :::<%= y[2] %>
56
+ ::::<%= y[3] %>
57
+ <% when 3 %>
58
+ :<%= y[0] %>
59
+ ::<%= y[1] %>
60
+ :::<%= y[2] %>
61
+ <% when 2 %>
62
+ :<%= y[0] %>
63
+ ::<%= y[1] %>
64
+ <% when 1 %>
65
+ : colspan="3" align="right"><%= y[0] %>
66
+ <% else %>
67
+ <% # do nothing %>
68
+ <% end %>
69
+ <% end %>
70
+ <% end %>
71
+ <% end %>
72
+ </tbody>
@@ -0,0 +1,72 @@
1
+ <% unless defined?(array)
2
+ hs={}
3
+ hs["name"]=name if defined?(name)
4
+ hs["heads"]=heads if defined?(heads)
5
+ hs["items"]=items if defined?(items)
6
+ array=[]
7
+ array << hs
8
+ end
9
+ %>
10
+ <tbody>
11
+ <% array.each do |x| %>
12
+ <% if x["name"] %>
13
+ :colspan="5" class="bh2"><%= x["name"] %>
14
+ <% end %>
15
+ <% if x["heads"] %>
16
+ <% fields = x["heads"].size %>
17
+ <% case fields %>
18
+ <% when 5 %>
19
+ :th><%= x["heads"][0] %>
20
+ ::th><%= x["heads"][1] %>
21
+ :::th><%= x["heads"][2] %>
22
+ ::::th><%= x["heads"][3] %>
23
+ :::::th><%= x["heads"][4] %>
24
+ <% when 4 %>
25
+ :th><%= x["heads"][0] %>
26
+ ::th><%= x["heads"][1] %>
27
+ :::th><%= x["heads"][2] %>
28
+ ::::th><%= x["heads"][3] %>
29
+ <% when 3 %>
30
+ :th><%= x["heads"][0] %>
31
+ ::th><%= x["heads"][1] %>
32
+ :::th><%= x["heads"][2] %>
33
+ <% when 2 %>
34
+ :th><%= x["heads"][0] %>
35
+ ::th><%= x["heads"][1] %>
36
+ <% when 1 %>
37
+ :th><%= x["heads"][0] %>
38
+ <% else %>
39
+ <% # do nothing %>
40
+ <% end %>
41
+ <% end %>
42
+ <% if x["items"] %>
43
+ <% x["items"].each do |y| %>
44
+ <% fields = y.size %>
45
+ <% case fields %>
46
+ <% when 5 %>
47
+ :valign="top" nowrap><%= y[0] %>
48
+ ::<%= y[1] %>
49
+ :::<%= y[2] %>
50
+ ::::<%= y[3] %>
51
+ :::::<%= y[4] %>
52
+ <% when 4 %>
53
+ :valign="top" nowrap><%= y[0] %>
54
+ ::<%= y[1] %>
55
+ :::<%= y[2] %>
56
+ ::::<%= y[3] %>
57
+ <% when 3 %>
58
+ :valign="top" nowrap><%= y[0] %>
59
+ ::<%= y[1] %>
60
+ :::<%= y[2] %>
61
+ <% when 2 %>
62
+ :valign="top" nowrap><%= y[0] %>
63
+ ::<%= y[1] %>
64
+ <% when 1 %>
65
+ : colspan="3" align="right"><%= y[0] %>
66
+ <% else %>
67
+ <% # do nothing %>
68
+ <% end %>
69
+ <% end %>
70
+ <% end %>
71
+ <% end %>
72
+ </tbody>
@@ -0,0 +1,10 @@
1
+ def getFileTypeImage(str)
2
+ case str
3
+ when "pdf"
4
+ <%= img_pdf %>
5
+ when "archive"
6
+ <%= img_archive %>
7
+ else
8
+ ""
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ def fileRead(path)
2
+ File.read( File.join(<%= parentDir %>, path) )
3
+ end
@@ -0,0 +1,16 @@
1
+ <table align="center" width="540" border="1" cellpadding="3" cellspacing="0" id="<%= attr_id %>">
2
+ :class="bh2"><%= title %>
3
+ :
4
+ <%= statement %>
5
+
6
+ <% if period and !period.empty? %>
7
+ 募集期間: <%= period %>
8
+ <% end %>
9
+
10
+ <table border="0" align="center">
11
+ <% files.each do |x| %>
12
+ :width="10" valign="top"><%= getFileTypeImage(x["file_type"]) %>
13
+ ::[<%= x["file_title"] %>](<%= x["url"] %>)<br>(公開:<%= x["publish"] %>、最終更新:<%= x["last_update"] %>)
14
+ <% end %>
15
+ </table>
16
+ </table>
@@ -0,0 +1,34 @@
1
+ <table align="center" width="540" border="1" cellpadding="3" cellspacing="0" id="<%= attr_id %>">
2
+ :class="bh2"><%= title %>
3
+ :
4
+ <%= statement %>
5
+
6
+ 募集期間: <%= period %>
7
+
8
+ <table border="0" align="center">
9
+ <% files.each do |x| %>
10
+ :width="10" valign="top"><%= getFileTypeImage(x["file_type"]) %>
11
+ ::[<%= x["file_title"] %>](<%= x["url"] %>)<br>(公開:<%= x["publish"] %>、最終更新:<%= x["last_update"] %>)
12
+ <% end %>
13
+ </table>
14
+
15
+ <table border="0" align="left">
16
+ <% organizations.each do |x| %>
17
+ :width="50" valign="top"> <%= x["kind"] %>:
18
+ ::<%= x["orgs"].map{ |y| y["name"] }.join("<br>") %>
19
+ <% end %>
20
+ </table>
21
+
22
+ <table border="0" align="center">
23
+ <% organizations.each do |x|
24
+ if x["kind"] == "協賛"
25
+ x["orgs"].each_with_index do |y,index| %>
26
+ <%= ':'*(index+1) %>width="180" height="50" align="center"><a href=<%= %Q!"#{y["url"]}"! %> target="_blank"><%= y["img_src"] %></a>
27
+ <%
28
+ end
29
+ end
30
+ end
31
+ %>
32
+ </table>
33
+
34
+ </table>
@@ -0,0 +1,69 @@
1
+ <% unless defined?(array)
2
+ array=[{"category" => category, "items" => items}]
3
+ else
4
+ xarray=[]
5
+ array.each do |c|
6
+ if c["category"]
7
+ category=c["category"]
8
+ end
9
+ if c["items"]
10
+ if c["items"][0]
11
+ if c["items"][0]["class"]
12
+ c["items"].each do |y|
13
+ v={}
14
+ if category
15
+ v["category"]=category
16
+ category=nil
17
+ end
18
+ v["name"]=y["class"]
19
+ v["items"]=y["items"]
20
+ xarray << v
21
+ end
22
+ else
23
+ v={}
24
+ if category
25
+ v["category"]=category
26
+ category=nil
27
+ end
28
+ v["name"]=nil
29
+ v["items"]=c["items"]
30
+ xarray << v
31
+ end
32
+ end
33
+ end
34
+ end
35
+ array=xarray
36
+ end
37
+ %>
38
+ <%
39
+ array.each do |c|
40
+ if c["category"] %>
41
+ <%= %Q!* #{c["category"]}! %>
42
+ <%
43
+ end %>
44
+ <%
45
+ if c["name"] %>
46
+ <%= %Q!◆ #{c["name"]}! %>
47
+ <%
48
+ end
49
+ if c["items"]
50
+ c["items"].each do |x| %>
51
+ <table align="center" width="500" border=1>
52
+ :class="bh2" colspan="2"><%= x["prize"] %>
53
+ <table align="center" border="0">
54
+ :align="center"><%= x["work"] %>
55
+ :align="center"><%= x["applicant"] %>
56
+ </table>
57
+ <% if x["files"] %>
58
+ <table align="center" border="0">
59
+ <% x["files"].each do |y| %>
60
+ :<%= getFileTypeImage(y["file_type"]) %>
61
+ ::[<%= y["file_title"] %>](<%= y["url"] %>)
62
+ <% end %>
63
+ </table>
64
+ <% end %>
65
+ </table>
66
+ <%
67
+ end
68
+ end
69
+ end %>
@@ -0,0 +1 @@
1
+ <%= statement %>
@@ -0,0 +1,6 @@
1
+ blog:
2
+ #sample:
3
+ #sample2:
4
+ # - sample2,:include,sample/sample2/work
5
+ #sample3:
6
+ # - sample3_timetable,5col_no_attr_b.erb
@@ -0,0 +1,6 @@
1
+ download:
2
+ #sample:
3
+ #sample2:
4
+ # - sample2,:include,sample/sample2/work
5
+ #sample3:
6
+ # - sample3_timetable,5col_no_attr_b.erb
@@ -0,0 +1,6 @@
1
+ link:
2
+ #sample:
3
+ #sample2:
4
+ # - sample2,:include,sample/sample2/work
5
+ #sample3:
6
+ # - sample3_timetable,5col_no_attr_b.erb
@@ -0,0 +1,6 @@
1
+ profile:
2
+ #sample:
3
+ #sample2:
4
+ # - sample2,:include,sample/sample2/work
5
+ #sample3:
6
+ # - sample3_timetable,5col_no_attr_b.erb
@@ -0,0 +1,6 @@
1
+ top:
2
+ #sample:
3
+ #sample2:
4
+ # - sample2,:include,sample/sample2/work
5
+ #sample3:
6
+ # - sample3_timetable,5col_no_attr_b.erb
@@ -0,0 +1,5 @@
1
+ t t top index.html
2
+ b b blog wordpress
3
+ p p profile profile.html
4
+ d d download download.html
5
+ l l link links.html
@@ -0,0 +1 @@
1
+ applications:
@@ -0,0 +1,69 @@
1
+ conference2018:
2
+ entrust:
3
+ etrobo:
4
+ newsletter:
5
+ press:
6
+ public_funding:
7
+ puboffer:
8
+ contest:
9
+ - contest2018,:include,attempt/contest2018/work
10
+ - contest2017,:include,attempt/contest2017/work
11
+ - contest2016,:include,attempt/contest2016/work
12
+ - contest2015,:include,attempt/contest2015/work
13
+ - contest2014,:include,attempt/contest2014/work
14
+ - contest2013,:include,attempt/contest2013/work
15
+ - contest2012,:include,attempt/contest2012/work
16
+ - contest2011,:include,attempt/contest2011/work
17
+ contest_archive:
18
+ - contest2018,:include,attempt/contest2018/work
19
+ - contest2017,:include,attempt/contest2017/work
20
+ - contest2016,:include,attempt/contest2016/work
21
+ - contest2015,:include,attempt/contest2015/work
22
+ - contest2014,:include,attempt/contest2014/work
23
+ - contest2013,:include,attempt/contest2013/work
24
+ - contest2012,:include,attempt/contest2012/work
25
+ - contest2011,:include,attempt/contest2011/work
26
+ contest2011:
27
+ - notification,contest_notification.erb
28
+ - winners,contest_winners.erb
29
+ - winners_statement,contest_winners_statement.erb
30
+ contest2012:
31
+ - notification,contest_notification.erb
32
+ - winners,contest_winners.erb
33
+ - winners_statement,contest_winners_statement.erb
34
+ contest2013:
35
+ - notification,contest_notification.erb
36
+ - winners,contest_winners.erb
37
+ - winners_statement,contest_winners_statement.erb
38
+ contest2014:
39
+ - notification,contest_notification.erb
40
+ - winners,contest_winners.erb
41
+ - winners_statement,contest_winners_statement.erb
42
+ contest2015:
43
+ - notification,contest_notification.erb
44
+ - winners,contest_winners.erb
45
+ - winners_statement,contest_winners_statement.erb
46
+ contest2016:
47
+ - winners,contest_winners.erb
48
+ - notification,contest_notification.erb
49
+ - winners_statement,contest_winners_statement.erb
50
+ contest2017:
51
+ - notification,contest_notification_2.erb
52
+ - winners,contest_winners.erb
53
+ - winners_statement,contest_winners_statement.erb
54
+ contest2018:
55
+ - notification,contest_notification_2.erb
56
+ - winners,contest_winners.erb
57
+ - winners_statement,contest_winners_statement.erb
58
+ devconf2016:
59
+ - timetable_day1,5col_no_attr_b.erb
60
+ - timetable_day2,5col_no_attr_b.erb
61
+ - timetable_day3,5col_no_attr_b.erb
62
+ devconf2017:
63
+ - timetable_day1,5col_no_attr_b.erb
64
+ - timetable_day2,5col_no_attr_b.erb
65
+ - timetable_day3,5col_no_attr_b.erb
66
+ devconf2018:
67
+ - timetable_day1,5col_no_attr_b.erb
68
+ - timetable_day2,5col_no_attr_b.erb
69
+ - timetable_day3,5col_no_attr_b.erb
@@ -0,0 +1,11 @@
1
+ a_can_download:
2
+ a_comstack_download:
3
+ a_comstack:
4
+ a_osbench:
5
+ a_rtegen_download:
6
+ a_rtegen:
7
+ a_wdg_download:
8
+ a_wdgstack:
9
+ atk2_download:
10
+ atk2_e_download:
11
+ atk2:
@@ -0,0 +1,3 @@
1
+ community:
2
+ ide:
3
+ software:
@@ -0,0 +1 @@
1
+ documents:
@@ -0,0 +1 @@
1
+ download:
@@ -0,0 +1,52 @@
1
+ edu_base1:
2
+ - for_instructor_members
3
+ - members
4
+ edu_base123_2013:
5
+ - base1_timetable_day1
6
+ - base1_timetable_day2
7
+ - base2_timetable_day1
8
+ - base2_timetable_day2
9
+ - base3_timetable_day1
10
+ - base3_timetable_day2
11
+ - members
12
+ edu_base12_2014:
13
+ - base1_timetable_day1
14
+ - base1_timetable_day2
15
+ - base2_timetable_day1
16
+ - base2_timetable_day2
17
+ - members
18
+ edu_base12_2015:
19
+ - base1_timetable_day1
20
+ - base1_timetable_day2
21
+ - base2_timetable_day1
22
+ - base2_timetable_day2
23
+ edu_base12_2016:
24
+ - base1_timetable_day1
25
+ - base1_timetable_day2
26
+ - base2_timetable_day1
27
+ - base2_timetable_day2
28
+ edu_base2:
29
+ - timetable_day1_output
30
+ - timetable_day2_output
31
+ - members
32
+ edu_base3:
33
+ - timetable_day1_output
34
+ - timetable_day2_output
35
+ - members
36
+ edu_basebp:
37
+ - base1_timetable_day1
38
+ - base1_timetable_day2
39
+ - base2_timetable_day1
40
+ - base2_timetable_day2
41
+ - base3_timetable_day1
42
+ - base3_timetable_day2
43
+ edu_basehd:
44
+ edu_baseplatform:
45
+ edu_begin:
46
+ - timetable
47
+ - members
48
+ - pre_members
49
+ edu_download:
50
+ edu_middle:
51
+ edu_robot:
52
+ edu_shishi:
@@ -0,0 +1 @@
1
+ books:
@@ -0,0 +1,2 @@
1
+ events_members:
2
+ members:
@@ -0,0 +1,37 @@
1
+ builder:
2
+ cfg:
3
+ clm_download:
4
+ clm:
5
+ cxx_api:
6
+ cxx_download:
7
+ dlm:
8
+ ecnl_download:
9
+ ecnl:
10
+ fatfs_download:
11
+ fatfs:
12
+ mda_download:
13
+ mda:
14
+ mdcom:
15
+ park:
16
+ products:
17
+ rll:
18
+ safeg:
19
+ sim:
20
+ ssp_kernel:
21
+ tecs:
22
+ - tecs_specific,5col_no_attr.erb
23
+ - tecs_mruby_ev3rt,5col_no_attr.erb
24
+ - tecs_mruby_grpeach_tecs
25
+ tecs_archive:
26
+ - tecs_e_package
27
+ - tecs_tecscde
28
+ - tecs_mruby_bridge
29
+ - tecs_mruby_asp
30
+ - tecs_atk1_tecs
31
+ - tecs_edu_stm32
32
+ testsuites_download:
33
+ testsuites:
34
+ tinet_download:
35
+ tinet:
36
+ tlv:
37
+ ttsp:
@@ -0,0 +1,14 @@
1
+ contacts:
2
+ events_public:
3
+ index:
4
+ joinus:
5
+ license:
6
+ logo:
7
+ mascot:
8
+ old_wg:
9
+ org:
10
+ prize:
11
+ project:
12
+ projmembers:
13
+ report:
14
+ rulebook:
@@ -0,0 +1,25 @@
1
+ asp_d_download:
2
+ asp_e_download:
3
+ asp_kernel:
4
+ asp3_d_download:
5
+ asp3_e_download:
6
+ asp3_kernel:
7
+ atk1_download:
8
+ atk1:
9
+ cfg_download:
10
+ etrobo_jsp:
11
+ fdmp_download:
12
+ fdmp_kernel:
13
+ fi4_download:
14
+ fi4_kernel:
15
+ fmp_d_download:
16
+ fmp_e_download:
17
+ fmp_kernel:
18
+ fmp_old_download:
19
+ hrp_download:
20
+ hrp_kernel:
21
+ hrp2_download:
22
+ hrp2_kernel:
23
+ hrp3_kernel:
24
+ jsp_download:
25
+ jsp_kernel:
@@ -0,0 +1 @@
1
+ index:
@@ -0,0 +1,33 @@
1
+ img_xls: <img src="./imgs/xls.gif" width="16" height="16">
2
+ img_pdf: '%Q!<img src="./imgs/pdf.gif" width="16" height="16">!'
3
+ img_archive: '%Q!<img src="./imgs/archive.gif" width="16" height="16">!'
4
+ img_cqpub: <img src="imgs/cqpub_logo.jpg" width="150">!
5
+ img_afrel: <img src="imgs/afrel_logo.jpg" width="150">
6
+ img_renesas: <img src="imgs/renesas_logo.jpg" width="150">
7
+ img_secretariat: <img src="./imgs/secretariat.gif">
8
+ img_secretariat_2: ![](./imgs/secretariat.gif)
9
+ img_takeuchiat: ![](./imgs/secretariat.gif)
10
+ photo_seminar_081127: <img src="./photos/seminar-081127.jpg" width="200" height="150" alt="基礎1実装講師教育セミナー風景" align="right" border="0">
11
+ photo_seminar_080128: <img src="./photos/seminar-080128.jpg" width="200" height="150" alt="基礎1実装セミナー風景" align="right" border="0">
12
+ photo_seminar_091204: <img src="./photos/seminar-091204.jpg" width="200" height="150" alt="基礎2実装セミナー風景" align="right" border="0">
13
+ photo_seminar_040701: <img src="./photos/seminar-040701.jpg" width="200" height="135" alt="初級実装講師育成セミナー風景" align="right" border="0">
14
+ photo_seminar_040219: <img src="./photos/seminar-040219.jpg" width="200" height="135" alt="初級実装準備セミナー風景" align="right" border="0">
15
+ photo_base1_1307_1: <img src="./photos/base1_1307_1.jpg" width="270" alt="基礎1実装セミナー風景" align="right" border="0">
16
+ photo_base1_1307_2: <img src="./photos/base1_1307_2.jpg" width="270" alt="基礎1実装セミナー風景" align="right" border="0">
17
+ photo_base2_1307_1: <img src="./photos/base2_1307_1.jpg" width="270" alt="基礎2実装セミナー風景" align="right" border="0">
18
+ photo_base2_1307_2: <img src="./photos/base2_1307_2.jpg" width="270" alt="基礎2実装セミナー風景" align="right" border="0">
19
+ photo_base3_1309_1: <img src="./photos/base3_1309_1.jpg" width="270" alt="基礎3実装セミナー風景" align="right" border="0">
20
+ photo_base1_1_2014: <img src="./photos/base1-1-2014.jpg" width="270" alt="基礎1実装セミナー風景" align="right" border="0">
21
+ photo_base1_2_2014: <img src="./photos/base1-2-2014.jpg" width="270" alt="基礎1実装セミナー風景" align="right" border="0">
22
+ photo_base2_1_2014: <img src="./photos/base2-1-2014.jpg" width="270" alt="基礎2実装セミナー風景" align="right" border="0">
23
+ photo_base2_2_2014: <img src="./photos/base2-2-2014.jpg" width="270" alt="基礎2実装セミナー風景" align="right" border="0">
24
+ photo_base3_1212_1: <img src="./photos/base3_1212_1.jpg" width="270" alt="基礎3実装セミナー風景" align="right" border="0">
25
+ photo_base3_1212_2: <img src="./photos/base3_1212_2.jpg" width="270" alt="基礎3実装セミナー風景" align="right" border="0">
26
+ contest_2018_dir: ./docs/contest/2018
27
+ contest_2017_dir: ./docs/contest/2017
28
+ contest_2016_dir: ./docs/contest/2016
29
+ contest_2015_dir: ./docs/contest/2015
30
+ contest_2014_dir: ./docs/contest/2014
31
+ contest_2013_dir: ./docs/contest/2013
32
+ contest_2012_dir: ./docs/contest/2012
33
+ contest_2011_dir: ./docs/contest