add: プロダクトページをマークアップ(コンポーネント化)
BIN
public/images/product/chocolate-cake.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
public/images/product/colorful_step.png
Executable file
|
After Width: | Height: | Size: 285 KiB |
BIN
public/images/product/nicoJS.png
Executable file
|
After Width: | Height: | Size: 73 KiB |
BIN
public/images/product/onsen-node.png
Executable file
|
After Width: | Height: | Size: 76 KiB |
BIN
public/images/product/onsen-php.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
public/images/product/ontama.png
Executable file
|
After Width: | Height: | Size: 57 KiB |
BIN
public/images/product/oregairu.png
Normal file
|
After Width: | Height: | Size: 171 KiB |
BIN
public/images/product/satella.io.png
Executable file
|
After Width: | Height: | Size: 146 KiB |
BIN
public/images/product/shuvi-lib.jpg
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
public/images/product/shuvi.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
public/images/product/toa.png
Executable file
|
After Width: | Height: | Size: 48 KiB |
BIN
public/images/product/wakaba.png
Executable file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/images/product/web-icon-node.png
Executable file
|
After Width: | Height: | Size: 80 KiB |
BIN
public/images/product/yuki540_v1.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
public/images/product/yuki540_v2.png
Normal file
|
After Width: | Height: | Size: 237 KiB |
@ -434,6 +434,7 @@
|
|||||||
<div></div><div></div><div></div><div></div>
|
<div></div><div></div><div></div><div></div>
|
||||||
<h2>作ったもの</h2>
|
<h2>作ったもの</h2>
|
||||||
</section>
|
</section>
|
||||||
|
<product-box />
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!--**** memories ****-->
|
<!--**** memories ****-->
|
||||||
|
|||||||
@ -3,9 +3,11 @@ import route from 'riot-route'
|
|||||||
import * as util from './lib/util'
|
import * as util from './lib/util'
|
||||||
import preload_json from './config/preload'
|
import preload_json from './config/preload'
|
||||||
import history_json from './config/history'
|
import history_json from './config/history'
|
||||||
|
import product_json from './config/product'
|
||||||
|
|
||||||
// components
|
// components
|
||||||
import './components/history-box.tag'
|
import './components/history-box.tag'
|
||||||
|
import './components/product-box.tag'
|
||||||
|
|
||||||
// init
|
// init
|
||||||
util.setRingSize()
|
util.setRingSize()
|
||||||
@ -19,4 +21,6 @@ util.startLoading(() => {
|
|||||||
}, data => {})
|
}, data => {})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// render
|
||||||
riot.mount('history-box', { historys: history_json })
|
riot.mount('history-box', { historys: history_json })
|
||||||
|
riot.mount('product-box', { products: product_json })
|
||||||
|
|||||||
43
src/scripts/components/product-box.tag
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<product-box>
|
||||||
|
<div class="product-box">
|
||||||
|
<h3 class="sub-title">アプリ・サービス</h3>
|
||||||
|
<section>
|
||||||
|
<a each={ app, key in opts.products.app } href={ app.link } target="_blank">
|
||||||
|
<img src={ app.thumb } alt={ app.name } />
|
||||||
|
<h4 class="name">{ app.name }</h4>
|
||||||
|
<p class="description">{ app.description }</p>
|
||||||
|
<small class="date">{ app.date }</small>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<h3 class="sub-title">ライブラリ</h3>
|
||||||
|
<section>
|
||||||
|
<a each={ lib, key in opts.products.lib } href={ lib.link } target="_blank">
|
||||||
|
<img src={ lib.thumb } alt={ lib.name } />
|
||||||
|
<h4 class="name">{ lib.name }</h4>
|
||||||
|
<p class="description">{ lib.description }</p>
|
||||||
|
<small class="date">{ lib.date }</small>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<h3 class="sub-title">デザイン</h3>
|
||||||
|
<section>
|
||||||
|
<a each={ design, key in opts.products.design } href={ design.link } target="_blank">
|
||||||
|
<img src={ design.thumb } alt={ design.name } />
|
||||||
|
<h4 class="name">{ design.name }</h4>
|
||||||
|
<p class="description">{ design.description }</p>
|
||||||
|
<small class="date">{ design.date }</small>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<h3 class="sub-title">動画</h3>
|
||||||
|
<section>
|
||||||
|
<a each={ movie, key in opts.products.movie } href={ movie.link } target="_blank">
|
||||||
|
<img src={ movie.thumb } alt={ movie.name } />
|
||||||
|
<h4 class="name">{ movie.name }</h4>
|
||||||
|
<p class="description">{ movie.description }</p>
|
||||||
|
<small class="date">{ movie.date }</small>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</product-box>
|
||||||
87
src/scripts/config/product.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
export default {
|
||||||
|
"app": [
|
||||||
|
{
|
||||||
|
"name": "satella.io",
|
||||||
|
"link": "https://github.com/yuki540net/satella.io",
|
||||||
|
"thumb": "./images/product/satella.io.png",
|
||||||
|
"description": "イラストに「命」を吹き込むソフトウェア",
|
||||||
|
"date": "2017/02/05"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Shuvi",
|
||||||
|
"link": "https://github.com/yuki540net/Shuvi",
|
||||||
|
"thumb": "./images/product/shuvi.png",
|
||||||
|
"description": "フレームレスなYouTubeプレイヤー",
|
||||||
|
"date": "2017/05/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "若葉",
|
||||||
|
"link": "https://github.com/yuki540net/wakaba",
|
||||||
|
"thumb": "./images/product/wakaba.png",
|
||||||
|
"description": "PC画面上にコメントが流せるデスクトップアプリ",
|
||||||
|
"date": "2017/03/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "兎亜",
|
||||||
|
"link": "https://github.com/yuki540net/toa",
|
||||||
|
"thumb": "./images/product/toa.png",
|
||||||
|
"description": "シンプルで可愛いミュージックプレイヤー",
|
||||||
|
"date": "2017/04/08"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "音卵",
|
||||||
|
"link": "https://github.com/yuki540net/ontama",
|
||||||
|
"thumb": "./images/product/ontama.png",
|
||||||
|
"description": "声優ラジオ音泉をダウンロードするAndroidアプリ",
|
||||||
|
"date": "2017/04/15"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lib": [
|
||||||
|
{
|
||||||
|
"name": "shuvi-lib",
|
||||||
|
"link": "https://github.com/yuki540net/shuvi-lib",
|
||||||
|
"thumb": "./images/product/shuvi-lib.jpg",
|
||||||
|
"description": "YouTube IFrame Player APIをゆるふわラッピングしたライブラリ",
|
||||||
|
"date": "2017/05/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "onsen-node",
|
||||||
|
"link": "https://github.com/yuki540net/onsen-node",
|
||||||
|
"thumb": "./images/product/onsen-node.png",
|
||||||
|
"description": "声優ラジオ音泉APIライブラリ for Node",
|
||||||
|
"date": "2017/02/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "nicoJS",
|
||||||
|
"link": "https://github.com/yuki540net/nicoJS",
|
||||||
|
"thumb": "./images/product/nicoJS.png",
|
||||||
|
"description": "ニコニコ風コメントを実装するライブラリ",
|
||||||
|
"date": "2016/09/25"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"design": [
|
||||||
|
{
|
||||||
|
"name": "ChocolateCake",
|
||||||
|
"link": "https://chocolate-cake.yuki540.com/",
|
||||||
|
"thumb": "./images/product/chocolate-cake.png",
|
||||||
|
"description": "僕が作ったCSS Animation作品をまとめたサイト",
|
||||||
|
"date": "2018/03/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "俺ガイル非公式サイト",
|
||||||
|
"link": "http://oregairu.yuki540.com",
|
||||||
|
"thumb": "./images/product/oregairu.png",
|
||||||
|
"description": "『俺は、本物が欲しい。』",
|
||||||
|
"date": "2016/03/20"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"movie": [
|
||||||
|
{
|
||||||
|
"name": "COLORFUL_STEP",
|
||||||
|
"link": "http://www.nicovideo.jp/watch/sm26374280",
|
||||||
|
"thumb": "./images/product/colorful_step.png",
|
||||||
|
"description": "待ち望んだ全ては------そこにあるの。",
|
||||||
|
"date": "2015/05/30"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||