-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 16d3ec1
Showing
19 changed files
with
30,391 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
/gist | ||
/node_modules | ||
/release | ||
/renderer/casts.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
![Code Climate](https://codeclimate.com/github/re-fort/TV-kko) | ||
![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat) | ||
|
||
TV-kko | ||
====================== | ||
|
||
登録したタレントから出演番組を一括検索できます。 | ||
|
||
詳細リンクから[CHAN-TORU](https://tv.so-net.ne.jp/chan-toru/)にて番組を録画することも可能です。 | ||
|
||
## デモ | ||
![screenshot](https://raw.githubusercontent.com/re-fort/TV-kko/master/demo/TV-kko.gif) | ||
|
||
## ダウンロード | ||
[Release](https://github.com/re-fort/TV-kko/releases) | ||
|
||
## 動作確認 | ||
* OSX El Capitan 10.11.2 | ||
* Windows7 32/64bit |
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
"use strict"; | ||
|
||
const app = require('electron').app; | ||
const path = app.getAppPath(); | ||
const BrowserWindow = require('electron').BrowserWindow; | ||
const ipcMain = require('electron').ipcMain; | ||
const cheerio = require('./renderer/store/cheerio'); | ||
const file = require('./renderer/store/file'); | ||
|
||
require("crash-reporter").start(); | ||
|
||
var mainWindow = null; | ||
|
||
app.on("window-all-closed", function() { | ||
app.quit(); | ||
}); | ||
|
||
app.on("ready", function() { | ||
|
||
mainWindow = new BrowserWindow({ width: 1100, height: 1000, minWidth: 410 }); | ||
mainWindow.loadURL("file://" + __dirname + "/renderer/app.html"); | ||
|
||
mainWindow.on("closed", function() { | ||
mainWindow = null; | ||
}); | ||
}); | ||
|
||
ipcMain.on('async-downloadCastsFile', function(event){ | ||
file.downloadCastsFile(event, path); | ||
}); | ||
|
||
ipcMain.on('async-fetchImage', function(event, args){ | ||
cheerio.fetchImage(event, args.name, args.imgDir); | ||
}); | ||
|
||
ipcMain.on('async-fetchProgramList', function(event, args){ | ||
cheerio.fetchProgramList(event, args.area, args.name, args.platformId, args.index); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
{ | ||
"name": "TV-kko", | ||
"version": "0.1.0", | ||
"description": "Search TV programs by the casts", | ||
"main": "main.js", | ||
"scripts": { | ||
"start": "electron ." , | ||
"release:osx": "electron-packager . TV-kko --out=release --platform=darwin --arch=x64 --version=0.36.4 --overwrite --icon=assets/img/tv-kko.icns --ignore=gist --ignore=release --ignore=demo --ignore=README.md", | ||
"release:win": "electron-packager . TV-kko --out=release --platform=win32 --arch=all --version=0.36.4 --overwrite --icon=assets/img/tv-kko.ico --ignore=gist --ignore=release --ignore=demo --ignore=README.md --version-string.OriginalFilename=\"TV-kko.exe\" --version-string.FileVersion=\"0.1.0\" --version-string.ProductVersion=\"0.1.0\" --version-string.ProductName=\"TV-kko\"" | ||
}, | ||
"author": "re-fort", | ||
"license": "MIT", | ||
"repository": "https://github.com/re-fort/TV-kko", | ||
"bug": "https://github.com/re-fort/TV-kko/issues", | ||
"dependencies": { | ||
"cheerio-httpcli": "^0.6.5", | ||
"request": "^2.69.0", | ||
"vue": "^1.0.17" | ||
}, | ||
"devDependencies": {} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
<!doctype html> | ||
<html lang="jp"> | ||
<head> | ||
<meta charset="UTF-8"/> | ||
<title>TV-kko</title> | ||
<link href="./stylesheets/app.css" rel="stylesheet" type="text/css" /> | ||
<link href="./stylesheets/animation.css" rel="stylesheet" type="text/css" /> | ||
</head> | ||
<body> | ||
<!-- App --> | ||
<div id="app"> | ||
<!-- Container --> | ||
<div class="container"> | ||
<!-- Header --> | ||
<header class="header"> | ||
<div class="logo"> | ||
<div class="tvkko-svg"></div> | ||
<h2 class="heading">TV-kko</h2> | ||
<span class="icon icon-switch" @click="toggleMenuDisplay()" /> | ||
</div> | ||
</header> | ||
|
||
<!-- Nav --> | ||
<nav class="menu"> | ||
<ul class="list-group"> | ||
<li class="list-group-header"> | ||
<input class="form-control form-search" type="text" placeholder="タレント登録" v-model="query"> | ||
<button class="pull-right search-button" @click="fetchImage()"> | ||
<span class="icon icon-user"></span> | ||
追加 | ||
</button> | ||
</li> | ||
<div class="image--loading" style="display: none;"> | ||
<div></div> | ||
<div></div> | ||
</div> | ||
<template v-if="query"> | ||
<ul class="list-scroll" transition="staggered" stagger="10"> | ||
<li v-for="cast in casts | filterBy query" class="list-group-item" @click="setInput(cast.name), fetchImage()"> | ||
{{ cast.name }} | ||
</li> | ||
</ul> | ||
</template> | ||
</ul> | ||
<ul class="list-group list-scroll"> | ||
<template v-if="!query"> | ||
<li id="cAll" | ||
class="list-group-item" | ||
:class="-1 == activeIndex ? 'active' : ''" | ||
@click="addActiveClass(-1, ''), fetchProgramList()"> | ||
<img class="img-circle media-object pull-left" src="../assets/img/no_name.png" width="48" height="48" /> | ||
<div class="media-body"> | ||
<strong>すべて</strong> | ||
</div> | ||
</li> | ||
<li v-for="myCast in myCasts" | ||
id="c{{$index}}" | ||
class="list-group-item" | ||
:class="$index == activeIndex ? 'active' : ''" | ||
@click="addActiveClass($index, myCast.name), fetchProgramList()"> | ||
<img class="img-circle media-object pull-left" :src="myCast.imgPath" width="48" height="48" /> | ||
<div class="media-body"> | ||
<strong>{{ myCast.name }}</strong> | ||
<span class="pull-right icon icon-cancel-circled" @click="setName(myCast.name), removeMyCast();"></span> | ||
</div> | ||
</li> | ||
</template> | ||
</ul> | ||
<ul class="list-group"> | ||
<li class="list-group-header list-cog"> | ||
<template v-if="!query"> | ||
<button id="show-modal" @click="showModal=true" | ||
<span class="icon icon-cog" /> | ||
</button> | ||
</template> | ||
</li> | ||
</ul> | ||
</nav> | ||
|
||
<!-- Content --> | ||
<div class="content"> | ||
<div class="content--loading" style="display: none;"> | ||
<div></div> | ||
<div></div> | ||
</div> | ||
<div class="program-list"> | ||
<template v-if="renderable === true"> | ||
<div class="program" v-for="program in programs"> | ||
<div class="program-info"> | ||
<span class="icon icon-calendar">{{ program.date }}</span> | ||
<h3 class="program-title">{{ program.title }}</h3> | ||
<span class="program-channel">{{ program.channel }}</span> | ||
<a :href="program.url" target="_blank"> | ||
<button class="detail detail-button"> | ||
<span class="icon icon-level-down">詳細</span> | ||
</button> | ||
</a> | ||
<span> | ||
<img v-for="imgPath in program.imgPaths" class="img-circle media-object pull-left" width="32" height="32" :src="imgPath ? imgPath : ''"> | ||
</span> | ||
</div> | ||
</div> | ||
</template> | ||
</div> | ||
</div> | ||
|
||
<!-- Modal --> | ||
<modal :show.sync="showModal"> | ||
<h3 slot="header">設定</h3> | ||
<div slot="body"> | ||
<ul class="list-group modal-list-cog"> | ||
<li> | ||
<label>地域</label> | ||
</li> | ||
<li> | ||
<select v-model="myArea" class="form-control" @change="setLocalStorage()"> | ||
<option v-for="prefecture in prefectures" :value="prefecture.value"> | ||
{{ prefecture.name }} | ||
</option> | ||
</select> | ||
</li> | ||
</ul> | ||
<ul class="list-group modal-list-cog"> | ||
<li> | ||
<label>放送波</label> | ||
</li> | ||
<li> | ||
<input type="radio" name="stationPlatformIds" value="1" v-model="myPlatformId" @change="setLocalStorage()"> | ||
地上波 | ||
</input> | ||
</li> | ||
<li> | ||
<input type="radio" name="stationPlatformIds" value="2" v-model="myPlatformId" @change="setLocalStorage()"> | ||
BSデジタル | ||
</input> | ||
</li> | ||
<li> | ||
<input type="radio" name="stationPlatformIds" value="5" v-model="myPlatformId" @change="setLocalStorage()"> | ||
スカパー! | ||
</input> | ||
</li> | ||
<li> | ||
<input type="radio" name="stationPlatformIds" value="4" v-model="myPlatformId" @change="setLocalStorage()"> | ||
スカパー!プレミアサービス | ||
</input> | ||
</li> | ||
</ul> | ||
</div> | ||
</modal> | ||
</div> | ||
</div> | ||
|
||
<!-- Modal-template --> | ||
<script type="x/template" id="modal-template"> | ||
<div class="modal-mask" v-show="show" transition="modal"> | ||
<div class="modal-wrapper"> | ||
<div class="modal-container"> | ||
|
||
<div class="modal-header"> | ||
<slot name="header"> | ||
default header | ||
</slot> | ||
</div> | ||
|
||
<div class="modal-body"> | ||
<slot name="body"> | ||
default body | ||
</slot> | ||
</div> | ||
|
||
<div class="modal-footer"> | ||
<button class="modal-close-button" @click="show=false"> | ||
閉じる | ||
</button> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</script> | ||
<script src="./app.js"></script> | ||
</body> | ||
|
||
</html> |
Oops, something went wrong.