diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index a62f44186..c9edf8ce8 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -32,7 +32,7 @@
"customizations": {
"codespaces": {
"openFiles": [
- "app/views/home/show.html.haml"
+ "app/views/home/show.html.erb"
]
},
"vscode": {
diff --git a/Gemfile b/Gemfile
index 234bca064..6e3c72806 100644
--- a/Gemfile
+++ b/Gemfile
@@ -13,7 +13,6 @@ gem 'jquery-rails'
gem 'bootstrap-sass'
gem 'font-awesome-rails'
-gem 'haml-rails'
gem 'rails-html-sanitizer', '~> 1.4.4'
gem 'sass-rails', '>= 5'
gem 'simple_grid_rails'
diff --git a/Gemfile.lock b/Gemfile.lock
index a4de8d1d1..2415b5684 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -205,15 +205,6 @@ GEM
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.15)
- haml (6.3.0)
- temple (>= 0.8.2)
- thor
- tilt
- haml-rails (2.1.0)
- actionpack (>= 5.1)
- activesupport (>= 5.1)
- haml (>= 4.0.6)
- railties (>= 5.1)
hash-deep-merge (0.1.1)
httpclient (2.9.0)
mutex_m
@@ -482,7 +473,6 @@ GEM
activesupport (>= 6.1)
sprockets (>= 3.0.0)
stackprof (0.2.27)
- temple (0.10.3)
thor (1.3.2)
tilt (2.6.0)
timeout (0.4.3)
@@ -531,7 +521,6 @@ DEPENDENCIES
flamegraph
font-awesome-rails
google_drive
- haml-rails
jbuilder
jquery-rails
koala
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 78d8edd62..8ad2b2343 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -77,34 +77,21 @@ def lazy_image_tag(source, options={})
end
end
- def welcome_path(options={anchor: 'welcome'})
- root_path(options)
- end
-
- def news_path(options={anchor: 'news'})
- root_path(options)
- end
-
- def news_url(path='/')
- 'https://news.coderdojo.jp' + path
- end
+ def welcome_path(options={anchor: 'welcome'}); root_path(options); end
+ def news_path (options={anchor: 'news'}); root_path(options); end
- def decadojo_url; 'https://decadojo.coderdojo.jp'; end
- def dojocon_url; 'https://dojocon.coderdojo.jp'; end
+ def news_url (path='/'); 'https://news.coderdojo.jp' + path; end
+ def dojomap_url(path='/'); 'https://map.coderdojo.jp' + path; end
+ def zen_url(path='/find'); 'https://zen.coderdojo.com' + path; end
- def dojoletter_url()
- 'https://news.coderdojo.jp/category/DojoLetterバックナンバー'
- end
+ def decadojo_url; 'https://decadojo.coderdojo.jp'; end
+ def dojocon_url; 'https://dojocon.coderdojo.jp'; end
+ def dojoletter_url; 'https://news.coderdojo.jp/category/DojoLetterバックナンバー'; end
+ def foundation_url; 'https://speakerdeck.com/helloworldfoundation'; end
- def dojomap_url(path='/')
- 'https://map.coderdojo.jp' + path
- end
+ def facebook_group_url; 'https://www.facebook.com/groups/coderdojo.jp'; end
+ def facebook_page_url; 'https://www.facebook.com/coderdojo.jp'; end
+ def twitter_url; 'https://twitter.com/CoderDojoJapan'; end
+ def youtube_url; 'https://youtube.com/CoderDojoJapan'; end
- def foundation_url
- 'https://speakerdeck.com/helloworldfoundation'
- end
-
- def zen_url(path='/find')
- 'https://zen.coderdojo.com' + path
- end
end
diff --git a/app/views/home/show.html.erb b/app/views/home/show.html.erb
index 51aa21565..6b381e9d3 100644
--- a/app/views/home/show.html.erb
+++ b/app/views/home/show.html.erb
@@ -105,7 +105,8 @@
-
+
\ No newline at end of file
diff --git a/app/views/shared/_dojos.html+smartphone.haml b/app/views/shared/_dojos.html+smartphone.haml
deleted file mode 100644
index 04d32ba93..000000000
--- a/app/views/shared/_dojos.html+smartphone.haml
+++ /dev/null
@@ -1,24 +0,0 @@
-#accordion.panel-group{"aria-multiselectable" => "true", role: "tablist"}
- - regions_and_dojos.each_with_index do |(region, dojos), index|
- .panel.panel-default
- .panel-heading{id: "heading#{index}", role: "tab"}
- %h4.panel-title
- %a{"data-toggle" => "collapse",
- href: "##{"collapse#{index}"}", role: "button"}
- %i.fa.fa-chevron-right{"aria-hidden" => "true"}
- = region
- \- #{dojos.pluck(:counter).sum} Dojos
- .panel-collapse.collapse{id: "collapse#{index}", role: "tabpanel"}
- .panel-body.grayscale-bg.dojo-flex
- = render partial: 'shared/dojo', collection: dojos
-
-:javascript
- $(document).ready(function() {
- $('.collapse').on('shown.bs.collapse', function() {
- $(this).parent().find(".fa-chevron-right").removeClass("fa-chevron-right").addClass("fa-chevron-down");
- });
-
- $('.collapse').on('hidden.bs.collapse', function() {
- $(this).parent().find(".fa-chevron-down").removeClass("fa-chevron-down").addClass("fa-chevron-right");
- });
- });
diff --git a/app/views/shared/_dojos.html.erb b/app/views/shared/_dojos.html.erb
new file mode 100644
index 000000000..4fa82c1b0
--- /dev/null
+++ b/app/views/shared/_dojos.html.erb
@@ -0,0 +1,3 @@
+
+ <%= render partial: 'shared/dojo', collection: regions_and_dojos.values.flatten %>
+
\ No newline at end of file
diff --git a/app/views/shared/_dojos.html.haml b/app/views/shared/_dojos.html.haml
deleted file mode 100644
index 621d32b82..000000000
--- a/app/views/shared/_dojos.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-%ul.loaded.dojo-flex
- = render partial: 'shared/dojo', collection: regions_and_dojos.values.flatten
diff --git a/app/views/shared/_dojos_stats.html.erb b/app/views/shared/_dojos_stats.html.erb
new file mode 120000
index 000000000..e033c6b7c
--- /dev/null
+++ b/app/views/shared/_dojos_stats.html.erb
@@ -0,0 +1 @@
+_dojos.html+smartphone.erb
\ No newline at end of file
diff --git a/app/views/shared/_dojos_stats.html.haml b/app/views/shared/_dojos_stats.html.haml
deleted file mode 120000
index 11471ff0d..000000000
--- a/app/views/shared/_dojos_stats.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-_dojos.html+smartphone.haml
\ No newline at end of file
diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb
new file mode 100644
index 000000000..7a041c027
--- /dev/null
+++ b/app/views/shared/_footer.html.erb
@@ -0,0 +1,55 @@
+
diff --git a/app/views/shared/_footer.html.haml b/app/views/shared/_footer.html.haml
deleted file mode 100644
index a924d6dc8..000000000
--- a/app/views/shared/_footer.html.haml
+++ /dev/null
@@ -1,55 +0,0 @@
-%footer#footer.footer-bottom.text-center
- %h2{style: "line-height: 30px;"}
- %a.footer-link{href: '/', title: 'トップページに戻ります'} Top
- |
- %a.footer-link{href: '/kata', title: '道場情報まとめ「Kata」を見る'} Kata
- |
- %a.footer-link{href: '/#news', title: '最近のニュース「DojoLetter」を見る'} News
- |
- %a.footer-link{href: '/docs', title: '公式資料まとめ「Docs」を見る'} 資料
- |
- %a.footer-link{href: '/charter', title: 'CoderDojo 憲章を見る'} 憲章
- |
- %a.footer-link{href: '/stats', title: 'CoderDojo の統計データを見る'} 統計
- |
- %a.footer-link{href: '/sotechsha2', title: 'CoderDojo Japan 公式ブックを見る'} 書籍
- |
- %a.footer-link{href: dojomap_url, title: '地図から探せる「DojoMap」を見る'} 地図
- |
- %a.footer-link{href: '/privacy', title: 'プライバシーポリシーを見る'} Privacy
- |
- %a.footer-link{href: '/podcasts', title: 'ポッドキャスト番組「DojoCast」を見る'} Podcast
- |
- %a.footer-link{href: decadojo_url, title: 'CoderDojo の地域カンファレンス「DecaDojo」を見る'} DecaDojo
- |
- %a.footer-link{href: dojocon_url, title: 'CoderDojo の全国カンファレンス「DojoCon Japan」を見る'} DojoCon
- |
- %a.footer-link{href: '/english', hreflang: 'en', title: "Read CoderDojo Japan's website in English"} English
- %h2
- %a{href: "http://news.coderdojo.jp/", target: "_blank", rel: "external noopener"}
- %i.fa.fa-newspaper-o.fa-3x.fa-fw{"aria-hidden" => "true", title: "News"}
- /%a{href: "https://github.com/coderdojo-japan"} / GitHub は直後の文章でリンクがあるので省略
- / %i.fa.fa-github.fa-3x.fa-fw{"aria-hidden" => "true", :title => "GitHub"}
- %a{href: "https://www.facebook.com/coderdojo.jp/"}
- %i.fa.fa-facebook.fa-3x.fa-fw{"aria-hidden" => "true", title: "Facebook"}
- %a{href: "https://twitter.com/CoderDojoJapan"}
- %i.fa.fa-twitter.fa-3x.fa-fw{"aria-hidden" => "true", title: "Twitter"}
- %a{href: "https://www.youtube.com/CoderDojoJapan"}
- %i.fa.fa-youtube.fa-3x.fa-fw{"aria-hidden" => "true", title: "YouTube"}
- %a{href: "/podcasts" }
- %i.fa.fa-podcast.fa-3x.fa-fw{"aria-hidden" => "true", title: "Podcast"}
- %a{href: "/english" }
- %i.fa.fa-globe.fa-3x.fa-fw{"aria-hidden" => "true", title: "English"}
- %p{style: "margin-bottom: 30px;"}
- 本サイトのソースコードは
- %br.ignore-pc
- %a.footer-link{href: "https://github.com/coderdojo-japan/coderdojo.jp"} GitHub
- 上で公開されています。
- %p{style: "font-size: 90%; color: \#DDDDDD;"}
- Copyright ©
- %a{href: "/about-coderdojo-japan", style: "color: \#DDDDDD; text-decoration: none;"}
- 一般社団法人 CoderDojo Japan
- %br/
- 新宿区高田馬場1-28-10 三慶ビル4F
- %a{href: "https://case-shinjuku.com/", style: "color: \#DDDDDD; text-decoration: none;"}
- ケイス新宿
diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb
new file mode 100644
index 000000000..968687784
--- /dev/null
+++ b/app/views/shared/_header.html.erb
@@ -0,0 +1,100 @@
+
+
+<% content_for :javascript do %>
+
+<% end %>
diff --git a/app/views/shared/_header.html.haml b/app/views/shared/_header.html.haml
deleted file mode 100644
index 96c1d2fc3..000000000
--- a/app/views/shared/_header.html.haml
+++ /dev/null
@@ -1,82 +0,0 @@
-%nav.navbar.navbar-default.navbar-fixed-top#header
- .container-fluid
- .navbar-header
- %button.navbar-toggle.collapsed{ "type" => "button", "data-toggle" => "collapse",
- "data-target" => "#header-nav-toggle", "aria-expanded" => "false" }
- %span.sr-only Toggle navigation
- %span.icon-bar
- %span.icon-bar
- %span.icon-bar
- .navbar-header-logos
- = link_to lazy_image_tag('/img/header-logo.png', alt: 'CoderDojo logo', min: true), '/', id: "header-logo"
- = link_to lazy_image_tag('/img/header-brand.png', alt: 'CoderDojo brand', min: true), '/', id: "header-brand"
- #bs-example-navbar-collapse-1.collapse#header-nav-toggle.navbar-collapse
- %ul.nav.navbar-nav.navbar-right
- %li= link_to '全国の道場', '/#dojos'
- %li= link_to 'パートナー法人', '/#partners'
- %li.navbar-dd-p
- = link_to '最近の活動', '/#news'
- %span.navbar-dd-l
- %ul.navbar-dd
- /%li= link_to '☯️ SNS', '/#timeline'
- %li= link_to '📰 News', '/#news'
- %li= link_to '📻 Podcast', '/podcasts'
- %li= link_to '📺 YouTube', '/youtube'
- %li= link_to '📚 その他', '/#kata'
- %li.navbar-dd-p
- = link_to '道場を探す', '/#dojos'
- %span.navbar-dd-l
- %ul.navbar-dd
- / %li= link_to '☯️ 一覧から', '/#dojos'
- %li
- = link_to '/#dojos' do
- ☯️ 一覧から
- %span.ignore-pc<> 探す
- %li
- = link_to '/events' do
- 📅 日付から
- %span.ignore-pc<> 探す
- %li
- = link_to dojomap_url do
- 🗾 地図から
- %span.ignore-pc<> 探す
- %li.navbar-dd-p
- = link_to '資料を探す', '/kata'
- %span.navbar-dd-l
- %ul.navbar-dd
- %li= link_to '🔰 はじめに', '/kata#README'
- %li= link_to '📰 メディア', '/kata#media'
- %li= link_to '🎓 学ぶ', '/kata#learn'
- %li= link_to '🏆 腕試し', '/kata#challenge'
- %li= link_to '☯️ 立ち上げ', '/kata#startup'
- %li= link_to '🎁 運営支援', '/kata#support'
- %li= link_to '✅ FAQ', '/kata#faq'
- %li= link_to '🤝 法人向け', '/partnership'
- %li= link_to '📊 統計情報', '/stats'
- %li= link_to '📚 資料集', '/docs'
- %li= link_to '📩 連絡する', '/#contact'
- %li= link_to '🌏 English', '/english', hreflang: 'en'
-
- / DocSearch: https://github.com/algolia/docsearch-configs/blob/master/configs/coderdojo.json
- %li.search-li
- %label.search-label{for: 'search'}
- %img.search-icon{alt: '検索アイコン', src: '/img/search.svg'}
- 検索で探す
- = check_box_tag :search, "検索アイコン", false, class: 'search-checkbox', onclick: 'focusSearchBox()'
- %div.search
- %input#searchbox{placeholder: "例: コンテスト、教材", type: "text"}
- #hits
- #pagination
-
-
-:javascript
- function focusSearchBox() {
- document.getElementById("searchbox").focus();
- };
-
- document.addEventListener('click', (e) => {
- if(e.target.closest('#header-nav-toggle') || !e.target.closest('#header-nav-toggle')) {
- const element = document.getElementById('header-nav-toggle')
- element.classList.remove('in');
- }
- })
diff --git a/app/views/shared/_newsletter.html.haml b/app/views/shared/_newsletter.html.haml
deleted file mode 100644
index 4f1bd460a..000000000
--- a/app/views/shared/_newsletter.html.haml
+++ /dev/null
@@ -1,8 +0,0 @@
-%div#mc_embed_signup
- %form#mc-embedded-subscribe-form{class: "validate", action: "https://coderdojo.us17.list-manage.com/subscribe/post?u=39a5824e42ab56ec44bb4e84e&id=097dfa6a14", method: "post", name: "mc-embedded-subscribe-form", novalidate: "", target: "_blank"}
- #mc_embed_signup_scroll
- %input#mce-EMAIL{type: "email", name: "EMAIL", class: "email", placeholder: "your@example.com"}
- %div{style: "position: absolute; left: -5000px;", 'aria-hidden' => 'true'}
- %input{tabindex: "-1", name: "b_39a5824e42ab56ec44bb4e84e_097dfa6a14", type: "text", value: ""}
- %input{id: "mc-embedded-subscribe", class: "button", name: "subscribe", type: "submit", value: "購読する"}
-
diff --git a/app/views/shared/_partners.haml b/app/views/shared/_partners.haml
deleted file mode 100644
index c19196fd2..000000000
--- a/app/views/shared/_partners.haml
+++ /dev/null
@@ -1,59 +0,0 @@
-:javascript
- $(function () {
- $('[data-toggle="tooltip"]').tooltip();
- });
-
-%ul
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/case-shinjuku.png', alt: 'CASE Shinjuku', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'オフィスの提供'), '/podcasts/8', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/yasslab.webp', alt: 'YassLab 株式会社', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Webサイトの運営および開発支援'), 'https://github.com/coderdojo-japan/coderdojo.jp#history', target: "_blank", rel: "external noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/osscafe.png', alt: "下北沢オープンソースCafe", data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドメイン代の支援'), 'https://medium.com/opensource-cafe', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/mitoujr.webp', alt: '未踏ジュニア', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金の継続的な支援'), '/podcasts/11', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/ht79.png', alt: 'NPO法人のためのIT支援事務所 ht', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Newsサーバー代の支援'), 'https://ht79.info/', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/esa.webp', alt: 'esa LLC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドキュメント共有サービスの提供'), 'https://docs.esa.io/posts/239', target: "_blank", rel: "external noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/sakura-internet.png', alt: 'さくらインターネット', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'サーバー環境(クラウド)の提供'), 'https://www.sakura.ad.jp/information/pressreleases/2017/07/20/90191/', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/hay-kaikei.png', alt: 'Hay未来の税理士法人', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'CoderDojo Japan の会計支援'), 'http://www.hay-kaikei.com/', target: "_blank", rel: "external noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/techsoup-japan.png', alt: 'TechSoup Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'G Suite などの寄贈申請の支援'), 'https://news.coderdojo.jp/2019/03/03/google-for-nonprofits-via-techsoup-japan/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/progate.png', alt: 'Progate', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2018/10/29/プログラミング学習のprogate、全国のcoderdojoへ法人プラン/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/algolia.png', alt: 'Algolia', data: { toggle: 'tooltip', placement: 'bottom' }, title: '検索エンジン DocSearch の提供'), 'https://community.algolia.com/docsearch/', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/github.png', alt: 'GitHub', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'GitHub for Nonprofit の提供'), 'https://news.coderdojo.jp/2019/08/29/github-for-nonprofit/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/hackforplay.webp', alt: 'HackforPlay', data: { toggle: 'tooltip', placement: 'bottom' }, title: '法人向け HackforPlay の提供'), 'https://news.coderdojo.jp/2020/04/06/hackforplay-for-team/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/google.png', alt: 'Google', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Benevity を通した活動資金の支援'), 'https://news.coderdojo.jp/2019/11/13/google-and-coderdojo-join-forces-in-japan/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/tfabworks.png', alt: 'TFabWorks', data: { toggle: 'tooltip', placement: 'bottom' }, title: '無償レンタルプログラムの提供'), 'https://news.coderdojo.jp/2020/11/26/tfabworks-microbit-rental-program/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/grips.png', alt: 'GRIPS', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用ロボットアームの提供'), 'https://news.coderdojo.jp/2021/04/28/dobot-rental-program/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 35px auto 25px;'}= link_to lazy_image_tag('/partners/pokemon-foundation.png', alt: 'プログラミングでポケモンをうごかしてみよう', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ワークショッププログラムの提供'), 'https://news.coderdojo.jp/2021/04/23/programming-with-pokemon/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 35px auto 25px;'}= link_to lazy_image_tag('/partners/dpro.png', alt: 'DPro (ディープロ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学習コンテンツの提供'), 'https://news.coderdojo.jp/2021/12/27/diver-learnings-for-coderdojo/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/toio.webp', alt: 'toio(トイオ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットトイ「toio」の提供'), 'https://news.coderdojo.jp/2022/03/17/toio-sony-interactive-entertainment/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/microbit.png', alt: 'micro:bit(マイクロビット)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用マイコンボードの提供'), 'https://news.coderdojo.jp/2022/05/16/1500-microbits-to-coderdojo/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 30px auto 20px;'}= link_to lazy_image_tag('/partners/minecraftcup.png', alt: 'Minecraftカップ全国大会', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育版マイクラのライセンス貸出'), 'https://news.coderdojo.jp/2022/05/31/partnership-with-minecraftcup/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 30px auto 20px;'}= link_to lazy_image_tag('/partners/geolonia.png', alt: 'Geolonia', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'DojoMap への地図データ提供'), 'https://news.coderdojo.jp/2022/12/01/dojomap-and-geolonia/', target: "_blank", rel: "noopener"
-
- // %li{style: 'margin: 30px auto 25px;'}= link_to lazy_image_tag('/partners/docker.png', alt: 'Docker Inc.', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Docker によるチーム開発の支援'), 'https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/', target: "_blank", rel: "noopener"
- // %li{style: 'margin: 30px auto 25px;'}= link_to lazy_image_tag('/partners/mitsue-links.png', alt: 'ミツエーリンクス', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金に対する支援'), 'https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 30px auto 30px;'}= link_to lazy_image_tag('/partners/prtimes.png', alt: 'PR TIMES', data: { toggle: 'tooltip', placement: 'bottom' }, title: '非営利活動の情報発信の支援'), 'https://news.coderdojo.jp/2023/04/06/sponsored-by-prtimes/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 30px auto 30px;'}= link_to lazy_image_tag('/partners/box.webp', alt: 'Box Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: '128台のノート PC 寄贈'), 'https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 10px auto 30px;'}= link_to lazy_image_tag('/partners/aqoocan.webp', alt: 'アクウカン - 所沢市のコワーキングスペース&工作室', data: { toggle: 'tooltip', placement: 'bottom' }, title: '75台の『ニャイス!コード』寄贈'), 'https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 10px auto 30px;'}= link_to lazy_image_tag('/partners/jcdpgstadium.webp', alt: 'プログラミングスタジアム', data: { toggle: 'tooltip', placement: 'bottom' }, title: '地域の Dojo の周知支援'), 'https://jcdpgstadium.jp/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/backlog.svg', alt: 'Backlog|チームで使うプロジェクト管理・タスク管理ツール', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Backlog によるタスク管理支援'), 'https://backlog.com/ja/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/ngrok.svg', alt: 'ngrok | API Gateway, Kubernetes Ingress, Webhook Gateway', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ngrok によるWeb開発支援'), 'https://ngrok.com/', target: "_blank", rel: "noopener"
-
- /%li= link_to lazy_image_tag('/partners/scrivito.png', alt: 'Scrivito', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Cloud-Based CMS の提供'), 'https://scrivito.com/', target: "_blank", rel: "external noopener"
- /%li= link_to lazy_image_tag('/partners/cygames.webp', alt: 'Cygames', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'PC寄贈に関する支援'), 'https://news.coderdojo.jp/2018/11/28/from-cygames-to-all-dojos-in-japan/', target: "_blank", rel: "noopener"
-
- /%li= link_to lazy_image_tag('/partners/facebook.png', alt: 'Facebook Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Facebookページの運用支援'), 'http://news.coderdojo.jp/2018/10/12/press-support-facebook-coupon/', target: "_blank", rel: "noopener"
- /%li= link_to lazy_image_tag('/partners/wro.png', alt: 'WRO Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットキットの提供'), 'https://news.coderdojo.jp/2019/12/21/wro-japan-and-coderdojo-japan/', target: "_blank", rel: "noopener"
-
- /%li= link_to lazy_image_tag('/partners/topsic.png', alt: 'TOPSIC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2019/07/30/play-and-learn-with-programming-contest/', target: "_blank", rel: "noopener"
- /%li= link_to lazy_image_tag('/partners/code-for-everyone.webp', alt: 'みんなのコード', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学校との連携支援'), 'https://news.coderdojo.jp/2019/02/04/from-minnnanocode-to-coderdojo-japan/', target: "_blank", rel: "noopener"
diff --git a/app/views/shared/_partners.html.erb b/app/views/shared/_partners.html.erb
new file mode 100644
index 000000000..fc91b5db8
--- /dev/null
+++ b/app/views/shared/_partners.html.erb
@@ -0,0 +1,63 @@
+<% content_for :javascript do %>
+
+<% end %>
+
+
+ - <%= link_to lazy_image_tag('/partners/case-shinjuku.png', alt: 'CASE Shinjuku', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'オフィスの提供'), '/podcasts/8', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/yasslab.webp', alt: 'YassLab 株式会社', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Webサイトの運営および開発支援'), 'https://github.com/coderdojo-japan/coderdojo.jp#history', target: "_blank", rel: "external noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/osscafe.png', alt: "下北沢オープンソースCafe", data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドメイン代の支援'), 'https://medium.com/opensource-cafe', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/mitoujr.webp', alt: '未踏ジュニア', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金の継続的な支援'), '/podcasts/11', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/ht79.png', alt: 'NPO法人のためのIT支援事務所 ht', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Newsサーバー代の支援'), 'https://ht79.info/', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/esa.webp', alt: 'esa LLC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドキュメント共有サービスの提供'), 'https://docs.esa.io/posts/239', target: "_blank", rel: "external noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/sakura-internet.png', alt: 'さくらインターネット', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'サーバー環境(クラウド)の提供'), 'https://www.sakura.ad.jp/information/pressreleases/2017/07/20/90191/', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/hay-kaikei.png', alt: 'Hay未来の税理士法人', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'CoderDojo Japan の会計支援'), 'http://www.hay-kaikei.com/', target: "_blank", rel: "external noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/techsoup-japan.png', alt: 'TechSoup Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'G Suite などの寄贈申請の支援'), 'https://news.coderdojo.jp/2019/03/03/google-for-nonprofits-via-techsoup-japan/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/progate.png', alt: 'Progate', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2018/10/29/プログラミング学習のprogate、全国のcoderdojoへ法人プラン/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/algolia.png', alt: 'Algolia', data: { toggle: 'tooltip', placement: 'bottom' }, title: '検索エンジン DocSearch の提供'), 'https://community.algolia.com/docsearch/', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/github.png', alt: 'GitHub', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'GitHub for Nonprofit の提供'), 'https://news.coderdojo.jp/2019/08/29/github-for-nonprofit/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/hackforplay.webp', alt: 'HackforPlay', data: { toggle: 'tooltip', placement: 'bottom' }, title: '法人向け HackforPlay の提供'), 'https://news.coderdojo.jp/2020/04/06/hackforplay-for-team/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/google.png', alt: 'Google', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Benevity を通した活動資金の支援'), 'https://news.coderdojo.jp/2019/11/13/google-and-coderdojo-join-forces-in-japan/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/tfabworks.png', alt: 'TFabWorks', data: { toggle: 'tooltip', placement: 'bottom' }, title: '無償レンタルプログラムの提供'), 'https://news.coderdojo.jp/2020/11/26/tfabworks-microbit-rental-program/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/grips.png', alt: 'GRIPS', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用ロボットアームの提供'), 'https://news.coderdojo.jp/2021/04/28/dobot-rental-program/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/pokemon-foundation.png', alt: 'プログラミングでポケモンをうごかしてみよう', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ワークショッププログラムの提供'), 'https://news.coderdojo.jp/2021/04/23/programming-with-pokemon/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/dpro.png', alt: 'DPro (ディープロ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学習コンテンツの提供'), 'https://news.coderdojo.jp/2021/12/27/diver-learnings-for-coderdojo/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/toio.webp', alt: 'toio(トイオ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットトイ「toio」の提供'), 'https://news.coderdojo.jp/2022/03/17/toio-sony-interactive-entertainment/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/microbit.png', alt: 'micro:bit(マイクロビット)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用マイコンボードの提供'), 'https://news.coderdojo.jp/2022/05/16/1500-microbits-to-coderdojo/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/minecraftcup.png', alt: 'Minecraftカップ全国大会', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育版マイクラのライセンス貸出'), 'https://news.coderdojo.jp/2022/05/31/partnership-with-minecraftcup/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/geolonia.png', alt: 'Geolonia', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'DojoMap への地図データ提供'), 'https://news.coderdojo.jp/2022/12/01/dojomap-and-geolonia/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/prtimes.png', alt: 'PR TIMES', data: { toggle: 'tooltip', placement: 'bottom' }, title: '非営利活動の情報発信の支援'), 'https://news.coderdojo.jp/2023/04/06/sponsored-by-prtimes/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/box.webp', alt: 'Box Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: '128台のノート PC 寄贈'), 'https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/aqoocan.webp', alt: 'アクウカン - 所沢市のコワーキングスペース&工作室', data: { toggle: 'tooltip', placement: 'bottom' }, title: '75台の『ニャイス!コード』寄贈'), 'https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/jcdpgstadium.webp', alt: 'プログラミングスタジアム', data: { toggle: 'tooltip', placement: 'bottom' }, title: '地域の Dojo の周知支援'), 'https://jcdpgstadium.jp/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/backlog.svg', alt: 'Backlog|チームで使うプロジェクト管理・タスク管理ツール', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Backlog によるタスク管理支援'), 'https://backlog.com/ja/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/ngrok.svg', alt: 'ngrok | API Gateway, Kubernetes Ingress, Webhook Gateway', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ngrok によるWeb開発支援'), 'https://ngrok.com/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/docker.png', alt: 'Docker Inc.', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Docker によるチーム開発の支援'), 'https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/mitsue-links.png', alt: 'ミツエーリンクス', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金に対する支援'), 'https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/scrivito.png', alt: 'Scrivito', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Cloud-Based CMS の提供'), 'https://scrivito.com/', target: "_blank", rel: "external noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/cygames.webp', alt: 'Cygames', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'PC寄贈に関する支援'), 'https://news.coderdojo.jp/2018/11/28/from-cygames-to-all-dojos-in-japan/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/facebook.png', alt: 'Facebook Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Facebookページの運用支援'), 'http://news.coderdojo.jp/2018/10/12/press-support-facebook-coupon/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/wro.png', alt: 'WRO Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットキットの提供'), 'https://news.coderdojo.jp/2019/12/21/wro-japan-and-coderdojo-japan/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/topsic.png', alt: 'TOPSIC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2019/07/30/play-and-learn-with-programming-contest/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/code-for-everyone.webp', alt: 'みんなのコード', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学校との連携支援'), 'https://news.coderdojo.jp/2019/02/04/from-minnnanocode-to-coderdojo-japan/', target: "_blank", rel: "noopener" %>
+
diff --git a/app/views/shared/_sitemap_sotechsha.html.erb b/app/views/shared/_sitemap_sotechsha.html.erb
new file mode 100644
index 000000000..fca68d511
--- /dev/null
+++ b/app/views/shared/_sitemap_sotechsha.html.erb
@@ -0,0 +1,47 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/views/shared/_sitemap_sotechsha.html.haml b/app/views/shared/_sitemap_sotechsha.html.haml
deleted file mode 100644
index 56949abff..000000000
--- a/app/views/shared/_sitemap_sotechsha.html.haml
+++ /dev/null
@@ -1,29 +0,0 @@
-%nav.navbar
- %ul.nav.navbar-nav
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/gazou"} スプライト素材のダウンロード
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/0"} 序章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/1"} 1章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/2"} 2章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/3"} 3章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/4"} 4章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/5"} 5章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/6"} 6章課題
-
-%hr/
-%br/
diff --git a/app/views/shared/_sitemap_sotechsha2.html.erb b/app/views/shared/_sitemap_sotechsha2.html.erb
new file mode 100644
index 000000000..530003d0c
--- /dev/null
+++ b/app/views/shared/_sitemap_sotechsha2.html.erb
@@ -0,0 +1,47 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/views/shared/_sitemap_sotechsha2.html.haml b/app/views/shared/_sitemap_sotechsha2.html.haml
deleted file mode 100644
index 632278c75..000000000
--- a/app/views/shared/_sitemap_sotechsha2.html.haml
+++ /dev/null
@@ -1,29 +0,0 @@
-%nav.navbar
- %ul.nav.navbar-nav
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/gazou"} スプライト素材のダウンロード
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/0"} 序章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/1"} 1章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/2"} 2章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/3"} 3章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/4"} 4章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/5"} 5章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/6"} 6章課題
-
-%hr/
-%br/
diff --git a/app/views/shared/_social_buttons.html.erb b/app/views/shared/_social_buttons.html.erb
new file mode 100644
index 000000000..fc68cb4a1
--- /dev/null
+++ b/app/views/shared/_social_buttons.html.erb
@@ -0,0 +1,15 @@
+<% content_for :javascript do %>
+
+<% end %>
+
+
\ No newline at end of file
diff --git a/app/views/shared/_social_buttons.html.haml b/app/views/shared/_social_buttons.html.haml
deleted file mode 100644
index 2f7579bc8..000000000
--- a/app/views/shared/_social_buttons.html.haml
+++ /dev/null
@@ -1,15 +0,0 @@
-%ul.social_buttons
- %li
- %div.fb-like{"data-action" => "like", "data-href" => "#{full_url(yield(:url))}", "data-layout" => "button_count", "data-share" => "true", "data-show-faces" => "true"}
- %li
- %a.twitter-share-button{"data-hashtags" => "CoderDojo", "data-lang" => "ja", "data-text" => "#{full_title(yield(:title))}", "data-url" => "#{full_url(yield(:url))}", "data-via" => "CoderDojoJapan", href: "https://twitter.com/share", width: "100"} Tweet
- :javascript
- !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
-
- /%li
- / %a.hatena-bookmark-button{"data-hatena-bookmark-lang" => "ja", "data-hatena-bookmark-layout" => "basic-counter", "data-hatena-bookmark-title" => "#{full_title(yield(:title))}", href: "#{full_url(yield(:url))}", title: "このエントリーをはてなブックマークに追加"}
- / %img{alt: "このエントリーをはてなブックマークに追加", height: "20", src: "https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png", style: "border: none;", width: "20"}/
- / %script{async: "async", charset: "utf-8", src: "https://b.st-hatena.com/js/bookmark_button.js", type: "text/javascript"}
- /%li{:style => "display: inline-block;"}
- / %div.line-it-button{"data-lang" => "ja", "data-type" => "like", "data-url" => "#{full_url(yield(:url))}", style: "display: none;"}
- / %script{async: "async", defer: "defer", src: "https://d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js"}
diff --git a/app/views/shared/_social_buttons_raw.html.erb b/app/views/shared/_social_buttons_raw.html.erb
new file mode 100644
index 000000000..f15dcd440
--- /dev/null
+++ b/app/views/shared/_social_buttons_raw.html.erb
@@ -0,0 +1,21 @@
+<% content_for :javascript do %>
+
+
+<% end %>
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ <%# コメントアウトされたLINEのボタンは省略 %>
+
\ No newline at end of file
diff --git a/app/views/shared/_social_buttons_raw.html.haml b/app/views/shared/_social_buttons_raw.html.haml
deleted file mode 100644
index 53ef6584c..000000000
--- a/app/views/shared/_social_buttons_raw.html.haml
+++ /dev/null
@@ -1,14 +0,0 @@
-%ol.text-center{:style => "list-style: none; margin-top: 30px; margin-left: 0px; padding-left: 0px; text-align: center;"}
- %li{:style => "display: inline-block; line-height: 28px;"}
- %div.fb-like{"data-action" => "like", "data-href" => "#{full_url(yield(:url))}", "data-layout" => "button_count", "data-share" => "true", "data-show-faces" => "true"}
- %li{:style => "display: inline-block;"}
- %a.twitter-share-button{"data-hashtags" => "CoderDojo", "data-lang" => "ja", "data-text" => "#{full_title(yield(:title))}", "data-url" => "#{full_url(yield(:url))}", "data-via" => "CoderDojoJapan", href: "https://twitter.com/share", width: "100"} Tweet
- :javascript
- !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
- %li{:style => "display: inline-block;"}
- %a.hatena-bookmark-button{"data-hatena-bookmark-lang" => "ja", "data-hatena-bookmark-layout" => "basic-counter", "data-hatena-bookmark-title" => "#{full_title(yield(:title))}", href: "#{full_url(yield(:url))}", title: "このエントリーをはてなブックマークに追加"}
- %img{alt: "このエントリーをはてなブックマークに追加", height: "20", src: "https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png", style: "border: none;", width: "20"}/
- %script{async: "async", charset: "utf-8", src: "https://b.st-hatena.com/js/bookmark_button.js", type: "text/javascript"}
- /%li{:style => "display: inline-block;"}
- / %div.line-it-button{"data-lang" => "ja", "data-type" => "like", "data-url" => "#{full_url(yield(:url))}", style: "display: none;"}
- / %script{async: "async", defer: "defer", src: "https://d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js"}