Go Revelでnavigationとside menuをテンプレート化したい
-> classでページによってis-activeと付与する箇所は、テンプレート側でセットできるようにする。
/app/views/menu.html
<section class="main-content columns is-fullheight">
<aside class="column is-3 is-narrow-mobile is-fullheight section is-hidden-mobile">
<p class="menu-label is-hidden-touch">MENU</p>
<ul class="menu-list">
<li>
<a href="/home" class="{{.home}}">
<span class="icon"><i class="fa fa-home"></i></span> Home
</a>
</li>
<li>
<a href="#" class="">
<span class="icon"><i class="fa fa-table"></i></span> Channel
</a>
<ul>
<li>
<a href="#" class="{{.ch1}}">
<span class="icon is-small"><i class="fa fa-link"></i></span> Ch1
</a>
</li>
<li>
<a href="#" class="{{.ch2}}">
<span class="icon is-small"><i class="fa fa-link"></i></span> Ch2
</a>
</li>
<li>
<a href="#" class="{{.ch3}}">
<span class="icon is-small"><i class="fa fa-link"></i></span> Ch3
</a>
</li>
</ul>
</li>
<li>
<a href="#" class="{{.mypage}}">
<span class="icon"><i class="fa fa-id-card"></i></span> MyPage
</a>
</li>
<li>
<a href="#" class="{{.doc}}">
<span class="icon"><i class="fa fa-file-alt"></i></span> Document
</a>
</li>
<li>
<a href="#" class="{{.chat}}">
<span class="icon"><i class="fa fa-comments"></i></span> Chat room
</a>
</li>
</ul>
</aside>
/app/views/App/Index.html
{{template "nav.html" .}}
{{set . "home" "is-active"}}
{{template "menu.html" .}}
/app/views/App/mypage.html
{{template "nav.html" .}}
{{set . "mapage" "is-active"}}
{{template "menu.html" .}}
昔1000ページぐらいのサイトを運営してた時に、12/31に1000ページのall right reserved 20XXを1000ページ修正してたの思い出した🤮🤮🤮
絶対テンプレートを使う




