Skip to content

Commit e4aca6d

Browse files
committed
Convert HTML to ERB: Shared partials
1 parent 9a4f1b8 commit e4aca6d

16 files changed

+366
-285
lines changed

app/views/shared/_dojo.html+smartphone.haml

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<li class="dojo dojo-sp">
2+
<header>
3+
<%= link_to lazy_image_tag(dojo.logo, alt: "CoderDojo #{dojo.name}", class: 'dojo-picture-sp'), dojo.url,
4+
target: "_blank", rel: "external noopener" %>
5+
<p class="dojo-sp-info">
6+
<span class="dojo-name dojo-name-sp">
7+
<%= link_to "#{dojo.name} (#{dojo.prefecture.name})", dojo.url, target: "_blank", rel: "external noopener" %>
8+
<% if not dojo.counter == 1 %>
9+
<span class="dojo-counter" data-original-title="道場数"
10+
data-placement="bottom"
11+
data-toggle="tooltip"><%= dojo.counter %></span>
12+
<% end %>
13+
</span>
14+
<span class="dojo-description">
15+
<%= dojo.description %>
16+
<% if dojo.is_private %>
17+
<%= link_to 'Private', doc_path('private-dojo'), class: 'dojo-private' %>
18+
<% end %>
19+
</span>
20+
</p>
21+
</header>
22+
<ul class="tags">
23+
<% dojo.tags.each do |tag| %>
24+
<li><%= tag %></li>
25+
<% end %>
26+
</ul>
27+
</li>

app/views/shared/_dojo.html.erb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<li class="dojo" id="<%= dojo.name %>">
2+
<header>
3+
<%= link_to lazy_image_tag(dojo.logo, alt: "CoderDojo #{dojo.name}", class: 'dojo-picture'), dojo.url,
4+
target: "_blank", rel: "external noopener" %>
5+
<span class="dojo-name">
6+
<%= link_to "#{dojo.name} (#{dojo.prefecture.name})", dojo.url, target: "_blank", rel: "external noopener" %>
7+
<% if not dojo.counter == 1 %>
8+
<span class="dojo-counter" data-original-title="道場数"
9+
data-placement="bottom"
10+
data-toggle="tooltip"><%= dojo.counter %></span>
11+
<% end %>
12+
</span>
13+
</header>
14+
<ul class="tags">
15+
<% dojo.tags.each do |tag| %>
16+
<li><%= tag %></li>
17+
<% end %>
18+
</ul>
19+
<p class="dojo-description">
20+
<%= dojo.description %>
21+
<% if dojo.is_private %>
22+
<%= link_to 'Private', doc_path('private-dojo'), class: 'dojo-private' %>
23+
<% end %>
24+
</p>
25+
</li>

app/views/shared/_dojo.html.haml

Lines changed: 0 additions & 17 deletions
This file was deleted.

app/views/shared/_dojos.html+smartphone.haml

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<div id="accordion" class="panel-group" aria-multiselectable="true" role="tablist">
2+
<% regions_and_dojos.each_with_index do |(region, dojos), index| %>
3+
<div class="panel panel-default">
4+
<div class="panel-heading" id="heading<%= index %>" role="tab">
5+
<h4 class="panel-title">
6+
<a data-toggle="collapse"
7+
href="#collapse<%= index %>" role="button">
8+
<i class="fa fa-chevron-right" aria-hidden="true"></i>
9+
<%= region %>
10+
- <%= dojos.pluck(:counter).sum %> Dojos
11+
</a>
12+
</h4>
13+
</div>
14+
<div class="panel-collapse collapse" id="collapse<%= index %>" role="tabpanel">
15+
<div class="panel-body grayscale-bg dojo-flex">
16+
<%= render partial: 'shared/dojo', collection: dojos %>
17+
</div>
18+
</div>
19+
</div>
20+
<% end %>
21+
</div>
22+
23+
<% content_for :javascript do %>
24+
$(document).ready(function() {
25+
$('.collapse').on('shown.bs.collapse', function() {
26+
$(this).parent().find(".fa-chevron-right").removeClass("fa-chevron-right").addClass("fa-chevron-down");
27+
});
28+
29+
$('.collapse').on('hidden.bs.collapse', function() {
30+
$(this).parent().find(".fa-chevron-down").removeClass("fa-chevron-down").addClass("fa-chevron-right");
31+
});
32+
});
33+
<% end %>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_dojos.html+smartphone.html.erb

app/views/shared/_dojos_stats.html.haml

Lines changed: 0 additions & 1 deletion
This file was deleted.

app/views/shared/_footer.html.erb

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<footer id="footer" class="footer-bottom text-center">
2+
<h2 style="line-height: 30px;">
3+
<a class="footer-link" href="/" title="トップページに戻ります">Top</a>
4+
|
5+
<a class="footer-link" href="/kata" title="道場情報まとめ「Kata」を見る">Kata</a>
6+
|
7+
<a class="footer-link" href="/#news" title="最近のニュース「DojoLetter」を見る">News</a>
8+
|
9+
<a class="footer-link" href="/docs" title="公式資料まとめ「Docs」を見る">資料</a>
10+
|
11+
<a class="footer-link" href="/charter" title="CoderDojo 憲章を見る">憲章</a>
12+
|
13+
<a class="footer-link" href="/stats" title="CoderDojo の統計データを見る">統計</a>
14+
|
15+
<a class="footer-link" href="/sotechsha2" title="CoderDojo Japan 公式ブックを見る">書籍</a>
16+
|
17+
<a class="footer-link" href="<%= dojomap_url %>" title="地図から探せる「DojoMap」を見る">地図</a>
18+
|
19+
<a class="footer-link" href="/privacy" title="プライバシーポリシーを見る">Privacy</a>
20+
|
21+
<a class="footer-link" href="/podcasts" title="ポッドキャスト番組「DojoCast」を見る">Podcast</a>
22+
|
23+
<a class="footer-link" href="<%= decadojo_url %>" title="CoderDojo の地域カンファレンス「DecaDojo」を見る">DecaDojo</a>
24+
|
25+
<a class="footer-link" href="<%= dojocon_url %>" title="CoderDojo の全国カンファレンス「DojoCon Japan」を見る">DojoCon</a>
26+
|
27+
<a class="footer-link" href="/english" hreflang="en" title="Read CoderDojo Japan's website in English">English</a>
28+
</h2>
29+
<h2>
30+
<a href="http://news.coderdojo.jp/" target="_blank" rel="external noopener">
31+
<i class="fa fa-newspaper-o fa-3x fa-fw" aria-hidden="true" title="News"></i>
32+
</a>
33+
<%# <a href="https://github.com/coderdojo-japan"> / GitHub は直後の文章でリンクがあるので省略 %>
34+
<%# <i class="fa fa-github fa-3x fa-fw" aria-hidden="true" title="GitHub"></i> %>
35+
<a href="https://www.facebook.com/coderdojo.jp/">
36+
<i class="fa fa-facebook fa-3x fa-fw" aria-hidden="true" title="Facebook"></i>
37+
</a>
38+
<a href="https://twitter.com/CoderDojoJapan">
39+
<i class="fa fa-twitter fa-3x fa-fw" aria-hidden="true" title="Twitter"></i>
40+
</a>
41+
<a href="https://www.youtube.com/CoderDojoJapan">
42+
<i class="fa fa-youtube fa-3x fa-fw" aria-hidden="true" title="YouTube"></i>
43+
</a>
44+
<a href="/podcasts">
45+
<i class="fa fa-podcast fa-3x fa-fw" aria-hidden="true" title="Podcast"></i>
46+
</a>
47+
<a href="/english">
48+
<i class="fa fa-globe fa-3x fa-fw" aria-hidden="true" title="English"></i>
49+
</a>
50+
</h2>
51+
<p style="margin-bottom: 30px;">
52+
本サイトのソースコードは
53+
<br class="ignore-pc">
54+
<a class="footer-link" href="https://github.com/coderdojo-japan/coderdojo.jp">GitHub</a>
55+
上で公開されています。
56+
</p>
57+
<p style="font-size: 90%; color: #DDDDDD;">
58+
Copyright &copy;
59+
<a href="/about-coderdojo-japan" style="color: #DDDDDD; text-decoration: none;">
60+
一般社団法人 CoderDojo Japan
61+
</a>
62+
<br>
63+
新宿区高田馬場1-28-10 三慶ビル4F
64+
<a href="https://case-shinjuku.com/" style="color: #DDDDDD; text-decoration: none;">
65+
ケイス新宿
66+
</a>
67+
</p>
68+
</footer>

app/views/shared/_footer.html.haml

Lines changed: 0 additions & 55 deletions
This file was deleted.

app/views/shared/_header.html.erb

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
<nav class="navbar navbar-default navbar-fixed-top" id="header">
2+
<div class="container-fluid">
3+
<div class="navbar-header">
4+
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse"
5+
data-target="#header-nav-toggle" aria-expanded="false">
6+
<span class="sr-only">Toggle navigation</span>
7+
<span class="icon-bar"></span>
8+
<span class="icon-bar"></span>
9+
<span class="icon-bar"></span>
10+
</button>
11+
<div class="navbar-header-logos">
12+
<%= link_to lazy_image_tag('/img/header-logo.png', alt: 'CoderDojo logo', min: true), '/', id: "header-logo" %>
13+
<%= link_to lazy_image_tag('/img/header-brand.png', alt: 'CoderDojo brand', min: true), '/', id: "header-brand" %>
14+
</div>
15+
</div>
16+
<div id="bs-example-navbar-collapse-1" class="collapse" id="header-nav-toggle" class="navbar-collapse">
17+
<ul class="nav navbar-nav navbar-right">
18+
<li><%= link_to '全国の道場', '/#dojos' %></li>
19+
<li><%= link_to 'パートナー法人', '/#partners' %></li>
20+
<li class="navbar-dd-p">
21+
<%= link_to '最近の活動', '/#news' %>
22+
<span class="navbar-dd-l"></span>
23+
<ul class="navbar-dd">
24+
<%# <li><%= link_to '☯️ SNS', '/#timeline' %></li>
25+
<li><%= link_to '📰 News', '/#news' %></li>
26+
<li><%= link_to '📻 Podcast', '/podcasts' %></li>
27+
<li><%= link_to '📺 YouTube', '/youtube' %></li>
28+
<li><%= link_to '📚 その他', '/#kata' %></li>
29+
</ul>
30+
</li>
31+
<li class="navbar-dd-p">
32+
<%= link_to '道場を探す', '/#dojos' %>
33+
<span class="navbar-dd-l"></span>
34+
<ul class="navbar-dd">
35+
<%# <li><%= link_to '☯️ 一覧から', '/#dojos' %></li>
36+
<li>
37+
<%= link_to '/#dojos' do %>
38+
☯️ 一覧から
39+
<span class="ignore-pc">探す</span>
40+
<% end %>
41+
</li>
42+
<li>
43+
<%= link_to '/events' do %>
44+
📅 日付から
45+
<span class="ignore-pc">探す</span>
46+
<% end %>
47+
</li>
48+
<li>
49+
<%= link_to dojomap_url do %>
50+
🗾 地図から
51+
<span class="ignore-pc">探す</span>
52+
<% end %>
53+
</li>
54+
</ul>
55+
</li>
56+
<li class="navbar-dd-p">
57+
<%= link_to '資料を探す', '/kata' %>
58+
<span class="navbar-dd-l"></span>
59+
<ul class="navbar-dd">
60+
<li><%= link_to '🔰 はじめに', '/kata#README' %></li>
61+
<li><%= link_to '📰 メディア', '/kata#media' %></li>
62+
<li><%= link_to '🎓 学ぶ', '/kata#learn' %></li>
63+
<li><%= link_to '🏆 腕試し', '/kata#challenge' %></li>
64+
<li><%= link_to '☯️ 立ち上げ', '/kata#startup' %></li>
65+
<li><%= link_to '🎁 運営支援', '/kata#support' %></li>
66+
<li><%= link_to '✅ FAQ', '/kata#faq' %></li>
67+
<li><%= link_to '🤝 法人向け', '/partnership' %></li>
68+
<li><%= link_to '📊 統計情報', '/stats' %></li>
69+
<li><%= link_to '📚 資料集', '/docs' %></li>
70+
<li><%= link_to '📩 連絡する', '/#contact' %></li>
71+
<li><%= link_to '🌏 English', '/english', hreflang: 'en' %></li>
72+
</ul>
73+
</li>
74+
75+
<%# DocSearch: https://github.com/algolia/docsearch-configs/blob/master/configs/coderdojo.json %>
76+
<li class="search-li">
77+
<label class="search-label" for="search">
78+
<img class="search-icon" alt="検索アイコン" src="/img/search.svg">
79+
検索で探す
80+
</label>
81+
<%= check_box_tag :search, "検索アイコン", false, class: 'search-checkbox', onclick: 'focusSearchBox()' %>
82+
<div class="search">
83+
<input id="searchbox" placeholder="例: コンテスト、教材" type="text">
84+
<div id="hits"></div>
85+
<div id="pagination"></div>
86+
</div>
87+
</li>
88+
</ul>
89+
</div>
90+
</div>
91+
</nav>
92+
93+
<% content_for :javascript do %>
94+
function focusSearchBox() {
95+
document.getElementById("searchbox").focus();
96+
};
97+
98+
document.addEventListener('click', (e) => {
99+
if(e.target.closest('#header-nav-toggle') || !e.target.closest('#header-nav-toggle')) {
100+
const element = document.getElementById('header-nav-toggle')
101+
element.classList.remove('in');
102+
}
103+
})
104+
<% end %>

0 commit comments

Comments
 (0)