Showing
9 changed files
with
443 additions
and
61 deletions
testcode/WebTest.js
0 → 100644
1 | +var express = require('express'); // web server 사용 | ||
2 | +var fs = require('fs'); // file load | ||
3 | + | ||
4 | +var app = express(); | ||
5 | +var port = 80; | ||
6 | + | ||
7 | +app.listen(port, function(){ | ||
8 | + console.log('Server Start'); | ||
9 | +}) | ||
10 | + | ||
11 | +app.get('/', function(req, res){ | ||
12 | + fs.readFile('WebTest.html', function(error, data){ | ||
13 | + if(error){ | ||
14 | + console.log(error); | ||
15 | + }else{ | ||
16 | + res.writeHead(200, {'Content-Type': 'text/html'}); | ||
17 | + res.end(data); | ||
18 | + } | ||
19 | + }) | ||
20 | +}) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
testcode/public/stylesheets/style.css
0 → 100644
1 | +/* =============== ##공통 (common) ======================== */ | ||
2 | +html,body{height:auto;} | ||
3 | +body{font-weight:normal;font-family:'맑은 고딕','Malgun Gothic',AppleSDGothicNeo-Regular,Arial,Helvetica,sans-serif;letter-spacing:-1px;} | ||
4 | +h1,h2,h3,h4,h5,h6{font-weight:normal;font-family:'맑은 고딕','Malgun Gothic',AppleSDGothicNeo-Regular,Arial,Helvetica,sans-serif;} | ||
5 | +p,li,dt,dd,span,strong,em,b,input,button,select,textarea,label,a{font-weight:normal;font-family:'맑은 고딕','Malgun Gothic',AppleSDGothicNeo-Regular,Arial,Helvetica,sans-serif;} | ||
6 | +a{display:inline-block;vertical-align:top;} | ||
7 | + | ||
8 | +h1,h2,h3,h4,h5,h6{margin:0;padding:0;font:inherit;font-weight:bold;} | ||
9 | +img{display:inline-block;border:0 none;vertical-align:top;} | ||
10 | +cite,code,dfn,del,em,ins,label,q,span,strong,b,i,time,mark,font,kbd,q,s,samp,small,strike,sub,sup,tt,var,u,center{display:inline-block;margin:0;padding:0;vertical-align:top;font:inherit;} | ||
11 | +address,cite,em,dfn{font:inherit;} | ||
12 | +b,i,strong,optgroup{font:inherit;font-weight:bold;} | ||
13 | +div,article,aside,main,menu,details,figure,figcaption,hgroup,footer,header,nav,section,object,summary,iframe{display:block;margin:0;padding:0;font:inherit;} | ||
14 | + | ||
15 | + | ||
16 | +/* =============== ##레이아웃 (layout) ======================== */ | ||
17 | + | ||
18 | +body:not(.body-popup-win){min-width:1130px;} | ||
19 | +body.page-main, | ||
20 | +body.body-wide1300{min-width:1320px;} | ||
21 | +html,body{width:100%;height:100%;margin:0;padding:0;} | ||
22 | +body{font-weight:normal;font-size:1em;line-height:1.5em;font-family:sans-serif;color:#000;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;} | ||
23 | + | ||
24 | +/* list */ | ||
25 | +dl,dd,ol,ul,li{margin:0;padding:0;} | ||
26 | +li{list-style-type:none;} | ||
27 | + | ||
28 | +/* link */ | ||
29 | +a{font:inherit;color:inherit;text-decoration:none;cursor:pointer;} | ||
30 | +a{background-color:transparent;} | ||
31 | +a:link, | ||
32 | +a:visited, | ||
33 | +a:active, | ||
34 | +a:focus{color:inherit;} | ||
35 | + | ||
36 | +/* 공통 */ | ||
37 | +[class*='title-type']{position:relative;display:inline-block;box-sizing:border-box;vertical-align:bottom;} /* height:36px; */ | ||
38 | +[class*='title-type'] [class*='tit'], | ||
39 | +[class*='title-type'] [class*='txt']{vertical-align:bottom;} | ||
40 | +[class*='title-type'] [class*='tit']{position:relative;box-sizing:border-box;} | ||
41 | +[class*='title-type'] .tit{font-size:18px;line-height:22px;} | ||
42 | +[class*='title-type'].bold .tit{font-weight:bold;} | ||
43 | +[class*='title-type'] .txt{margin-left:6px;color:#666;font-size:10px;line-height:12px;letter-spacing:0;} | ||
44 | +[class*='title-type'] .tit+.txt{margin-left:6px;} | ||
45 | + | ||
46 | +/* =============== List type ======================== */ | ||
47 | +[class*='list-type']{font-size:0;line-height:1;} | ||
48 | +[class*='list-type'] [class*='item']{position:relative;} | ||
49 | +[class*='list-type'] [class*='item']:after{content:'';display:block;clear:both;} | ||
50 | +[class*='list-type'] .img-con .img{overflow:hidden;position:relative;} /* background-color:#ccc; */ | ||
51 | +[class*='list-type'] .img-con .img img{width:100%;height:auto;} | ||
52 | +[class*='list-type'] .img-con .label-box01{position:absolute;bottom:0;right:0;min-width:50px;height:35px;box-sizing:border-box;padding:8px 8px 7px;background-color:#fff;text-align:center;vertical-align:middle;} | ||
53 | + | ||
54 | +/* basic */ | ||
55 | +.hidden-obj{position:absolute;visibility:hidden;top:-9999px;left:-9999px;} | ||
56 | +.blind{overflow:hidden;visibility:hidden;position:absolute;top:0;left:0;width:0;height:0;padding:0;font-size:0;line-height:0;} | ||
57 | +.display-none{display:none;} | ||
58 | + | ||
59 | +/* title-type04 */ | ||
60 | +.title-type04[class*='arr'] .tit{padding-right:17px;} | ||
61 | +.title-type04 .tit{font-size:20px;line-height:22px;} | ||
62 | + | ||
63 | +.img-cover{overflow:hidden;} | ||
64 | + | ||
65 | +/* list-type038 */ | ||
66 | +.list-type038 .list{border-top:1px solid #e5e5e5;} | ||
67 | +.list-type038 [class*='item-box']{} | ||
68 | +.list-type038 .item-box01{display:table;width:100%;border-bottom:1px solid #e5e5e5;} | ||
69 | +.list-type038 .item-box01>.img-con, | ||
70 | +.list-type038 .item-box01>.news-con, | ||
71 | +.list-type038 .item-box01>[class*='info-box']{display:table-cell;padding:30px 0;vertical-align:top;} | ||
72 | +.list-type038 .img-con{width:180px;} | ||
73 | +.list-type038 .img-con .img{width:170px;height:110px;} | ||
74 | +.list-type038 .news-con{max-height:110px;} | ||
75 | +.list-type038 .tit-news{font-weight:bold;font-size:18px;line-height:24px;} | ||
76 | +.list-type038 .tit-wrap:hover .tit-news{text-decoration:underline;} | ||
77 | +.list-type038 .lead{overflow:hidden;max-height:48px;margin-top:12px;color:#666;font-size:14px;line-height:24px;} | ||
78 | +.list-type038 .lead:empty{display:none;} | ||
79 | +.list-type038 .info-box01{width:110px;} | ||
80 | +.list-type038 .info-box01 .txt-time{padding-top:4px;color:#666;font-size:12px;line-height:14px;letter-spacing:0;} | ||
81 | +.list-type038 .item-box01 .info-box02{width:156px;padding:0 20px 0 0;vertical-align:middle;text-align:right;} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -2,16 +2,24 @@ var express = require('express'); | ... | @@ -2,16 +2,24 @@ var express = require('express'); |
2 | var router = express.Router(); | 2 | var router = express.Router(); |
3 | 3 | ||
4 | const getXports = require('../test1.js'); | 4 | const getXports = require('../test1.js'); |
5 | -const Zum = require('../test2.js'); | 5 | +const getZum = require('../test2.js'); |
6 | -const Chosun = require('../test3.js'); | 6 | +const getChosun = require('../test3.js'); |
7 | -const zum = Zum.zum; | 7 | +const getYna = require('../test4.js') |
8 | -const chosun = Chosun.chosun; | ||
9 | 8 | ||
10 | let xports; | 9 | let xports; |
10 | +let zum; | ||
11 | +let chosun; | ||
12 | +let yna; | ||
11 | (async function() { | 13 | (async function() { |
12 | try { | 14 | try { |
13 | - xports = await getXports(); | 15 | + xports = await getXports(); |
14 | - console.log(xports); | 16 | + zum = await getZum(); |
17 | + chosun = await getChosun(); | ||
18 | + yna = await getYna(); | ||
19 | + console.log(xports); | ||
20 | + console.log(zum); | ||
21 | + console.log(chosun); | ||
22 | + console.log(yna); | ||
15 | } catch (e) { | 23 | } catch (e) { |
16 | return console.log(e); | 24 | return console.log(e); |
17 | } | 25 | } |
... | @@ -23,13 +31,9 @@ router.get('/', function(req, res, next){ | ... | @@ -23,13 +31,9 @@ router.get('/', function(req, res, next){ |
23 | xports : xports, | 31 | xports : xports, |
24 | zum : zum, | 32 | zum : zum, |
25 | chosun : chosun, | 33 | chosun : chosun, |
26 | - // yna : yna | 34 | + yna : yna |
27 | }); | 35 | }); |
28 | }); | 36 | }); |
29 | 37 | ||
30 | -console.log("aaaa\n"); | 38 | +console.log("started\n"); |
31 | -for(var i in xports){ | ||
32 | - console.log("aaaa\n"); | ||
33 | - console.log(i.datetime); | ||
34 | -} | ||
35 | module.exports = router; | 39 | module.exports = router; | ... | ... |
1 | const axios = require("axios"); // 웹 서버 요청 모듈 | 1 | const axios = require("axios"); // 웹 서버 요청 모듈 |
2 | const cheerio = require("cheerio"); // Load한 것을 jQuery처럼 사용 | 2 | const cheerio = require("cheerio"); // Load한 것을 jQuery처럼 사용 |
3 | -//const Iconv = require('iconv').Iconv; // 한글 깨짐 방지 | ||
4 | -//const iconv = new Iconv('EUC-KR', 'UTF-8//IGNORE'); | ||
5 | 3 | ||
6 | const url = "http://www.xportsnews.com/?ac=article_list&cate_indexno=12" | 4 | const url = "http://www.xportsnews.com/?ac=article_list&cate_indexno=12" |
7 | 5 | ||
... | @@ -26,7 +24,7 @@ const getXports = async () => { | ... | @@ -26,7 +24,7 @@ const getXports = async () => { |
26 | 24 | ||
27 | $bodyList.each(function(i, elem) { | 25 | $bodyList.each(function(i, elem) { |
28 | ulList[i] = { | 26 | ulList[i] = { |
29 | - url: 'xportsnews.com' + $(this).find('div.thumb > a').attr('href'), | 27 | + url: 'http://www.xportsnews.com' + $(this).find('div.thumb > a').attr('href'), |
30 | image_url: $(this).find('div.thumb > a > img').attr('src'), | 28 | image_url: $(this).find('div.thumb > a > img').attr('src'), |
31 | title: $(this).find('dl.dlist > dt > a').text(), | 29 | title: $(this).find('dl.dlist > dt > a').text(), |
32 | summary: $(this).find('dd').text().slice(1, -2), | 30 | summary: $(this).find('dd').text().slice(1, -2), | ... | ... |
... | @@ -11,24 +11,35 @@ const getHtml = async () => { | ... | @@ -11,24 +11,35 @@ const getHtml = async () => { |
11 | } | 11 | } |
12 | }; | 12 | }; |
13 | 13 | ||
14 | -getHtml() | 14 | + |
15 | - .then(html => { | 15 | +const getXports = async () => { |
16 | - let ulList = []; | 16 | + |
17 | - const $ = cheerio.load(html.data); | 17 | + return new Promise((resolve, reject) => { |
18 | - const $bodyList = $("div.major_news > ul").children("ul.no_reply > li.large"); | 18 | + getHtml() |
19 | + .then(html => { | ||
20 | + let ulList = []; | ||
21 | + //console.log(html.data); | ||
22 | + const $ = cheerio.load(html.data); | ||
23 | + const $bodyList = $("div.major_news > ul").children("ul.no_reply > li.large"); | ||
19 | 24 | ||
20 | $bodyList.each(function(i, elem) { | 25 | $bodyList.each(function(i, elem) { |
21 | ulList[i] = { | 26 | ulList[i] = { |
22 | - url: 'news.zum.com' + $(this).find('div.img > a').attr('href'), | 27 | + url: '//news.zum.com' + $(this).find('div.img > a').attr('href'), |
23 | image_url: $(this).find('div.img > a > img').attr('src'), | 28 | image_url: $(this).find('div.img > a > img').attr('src'), |
24 | title: $(this).find('div.txt > div.title > a').text(), | 29 | title: $(this).find('div.txt > div.title > a').text(), |
25 | summary: $(this).find('div.txt > div.content > a').text(),//.slice(0, -29) | 30 | summary: $(this).find('div.txt > div.content > a').text(),//.slice(0, -29) |
26 | datetime: $(this).find('div.txt > div.content > span.etc').text() | 31 | datetime: $(this).find('div.txt > div.content > span.etc').text() |
27 | }; | 32 | }; |
28 | - //console.log(ulList[i]) // list object checking code | 33 | + //console.log(ulList[i]) // list object checking code |
29 | - }); | 34 | + }); |
35 | + | ||
36 | + const data = ulList.filter(n => n.title); | ||
37 | + return data; | ||
38 | + //return ulList; | ||
39 | + }).then(data => { | ||
40 | + resolve(data); | ||
41 | + }); | ||
42 | +}); | ||
43 | +}; | ||
30 | 44 | ||
31 | - const data = ulList.filter(n => n.title); | 45 | +module.exports = getXports; |
32 | - return data; | ||
33 | - //return ulList; | ||
34 | - }); | ... | ... |
... | @@ -11,11 +11,16 @@ const getHtml = async () => { | ... | @@ -11,11 +11,16 @@ const getHtml = async () => { |
11 | } | 11 | } |
12 | }; | 12 | }; |
13 | 13 | ||
14 | -getHtml() | 14 | + |
15 | - .then(html => { | 15 | +const getXports = async () => { |
16 | - let ulList = []; | 16 | + |
17 | + return new Promise((resolve, reject) => { | ||
18 | + getHtml() | ||
19 | + .then(html => { | ||
20 | + let ulList = []; | ||
21 | + //console.log(html.data); | ||
17 | const $ = cheerio.load(html.data); | 22 | const $ = cheerio.load(html.data); |
18 | - const $bodyList = $("div.list_body > div.list_content").children("dl.list_item"); | 23 | + const $bodyList = $("div.list_body > div.list_content").children("dl.list_item"); |
19 | 24 | ||
20 | $bodyList.each(function(i, elem) { | 25 | $bodyList.each(function(i, elem) { |
21 | ulList[i] = { | 26 | ulList[i] = { |
... | @@ -28,7 +33,13 @@ getHtml() | ... | @@ -28,7 +33,13 @@ getHtml() |
28 | //console.log(ulList[i]) // list object checking code | 33 | //console.log(ulList[i]) // list object checking code |
29 | }); | 34 | }); |
30 | 35 | ||
31 | - const data = ulList.filter(n => n.title); | 36 | + const data = ulList.filter(n => n.title); |
32 | - return data; | 37 | + return data; |
33 | - //return ulList; | 38 | + //return ulList; |
34 | - }); | 39 | + }).then(data => { |
40 | + resolve(data); | ||
41 | + }); | ||
42 | +}); | ||
43 | +}; | ||
44 | + | ||
45 | +module.exports = getXports; | ... | ... |
testcode/test4.js
0 → 100644
1 | +const axios = require("axios"); | ||
2 | +const cheerio = require("cheerio"); | ||
3 | + | ||
4 | +const url = "https://www.yna.co.kr/sports/baseball" | ||
5 | + | ||
6 | +const getHtml = async () => { | ||
7 | + try { | ||
8 | + return await axios.get(url); | ||
9 | + } catch (error) { | ||
10 | + console.error(error); | ||
11 | + } | ||
12 | +}; | ||
13 | + | ||
14 | + | ||
15 | +const getXports = async () => { | ||
16 | + | ||
17 | + return new Promise((resolve, reject) => { | ||
18 | + getHtml() | ||
19 | + .then(html => { | ||
20 | + let ulList = []; | ||
21 | + //console.log(html.data); | ||
22 | + const $ = cheerio.load(html.data); | ||
23 | + const $bodyList = $("div.list-type038 ul.list li").children("div.item-box01"); | ||
24 | + | ||
25 | + $bodyList.each(function(i, elem) { | ||
26 | + ulList[i] = { | ||
27 | + datetime: $(this).find('span.txt-time').text(), | ||
28 | + image_url: $(this).find('figure.img-con a img').attr('src'), | ||
29 | + url: $(this).find('div.news-con a').attr('href'), | ||
30 | + title: $(this).find('div.news-con strong').text(), | ||
31 | + summary: $(this).find('div.news-con p').text() | ||
32 | + }; | ||
33 | + //console.log(ulList[i]) // list object checking code | ||
34 | + }); | ||
35 | + | ||
36 | + const data = ulList.filter(n => n.title); | ||
37 | + return data; | ||
38 | + //return ulList; | ||
39 | + }).then(data => { | ||
40 | + resolve(data); | ||
41 | + }); | ||
42 | +}); | ||
43 | +}; | ||
44 | + | ||
45 | +module.exports = getXports; |
testcode/views/index.css
0 → 100644
1 | +@charset "utf-8"; | ||
2 | +/************************************************* | ||
3 | +프로젝트명 : 연합뉴스 국문 모바일 홈페이지 (2019) | ||
4 | +commnet : default | ||
5 | +original : /global/guide/v01/css/default_v.0.2.css | ||
6 | +version : 0.2 | ||
7 | +modify : 2019-04-01 | ||
8 | +*************************************************/ | ||
9 | + | ||
10 | +html,body{width:100%;height:100%;margin:0;padding:0;} | ||
11 | +body{font-weight:normal;font-size:1em;line-height:1.5em;font-family:sans-serif;color:#000;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;} | ||
12 | + | ||
13 | +h1,h2,h3,h4,h5,h6{margin:0;padding:0;font:inherit;font-weight:bold;} | ||
14 | +img{display:inline-block;border:0 none;vertical-align:top;} | ||
15 | +cite,code,dfn,del,em,ins,label,q,span,strong,b,i,time,mark,font,kbd,q,s,samp,small,strike,sub,sup,tt,var,u,center{display:inline-block;margin:0;padding:0;vertical-align:top;font:inherit;} | ||
16 | +address,cite,em,dfn{font:inherit;} | ||
17 | +b,i,strong,optgroup{font:inherit;font-weight:bold;} | ||
18 | + | ||
19 | +blockquote,p{margin:0;padding:0;font:inherit;} | ||
20 | +pre{overflow:auto;margin:0;padding:0;font:inherit;} | ||
21 | +mark{background:#fff;font:inherit;/* color:#000; */} /* IE 8/9 */ | ||
22 | +sub,sup{position:relative;font-size:0.75em;vertical-align:baseline;font:inherit;} | ||
23 | +abbr[title]{border-bottom:1px dotted;font:inherit;} | ||
24 | +hr{display:none;} | ||
25 | + | ||
26 | +div,article,aside,main,menu,details,figure,figcaption,hgroup,footer,header,nav,section,object,summary,iframe{display:block;margin:0;padding:0;font:inherit;} | ||
27 | +iframe{overflow:hidden;border:none;} | ||
28 | +audio,canvas,progress,video{display:inline-block;margin:0;padding:0;vertical-align:baseline;} | ||
29 | +audio:not([controls]){display:none;height:0;} | ||
30 | +[hidden],template{display:none;} | ||
31 | +svg:not(:root){overflow:hidden;} /* IE 9~11 */ | ||
32 | + | ||
33 | +/* table */ | ||
34 | +table{border-collapse:collapse;border-spacing:0;} | ||
35 | +caption{overflow:hidden;visibility:hidden;width:0;height:0;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999px;} | ||
36 | +th,td{margin:0;padding:0;font:inherit;text-align:left;vertical-align:middle;} | ||
37 | + | ||
38 | +/* list */ | ||
39 | +dl,dd,ol,ul,li{margin:0;padding:0;} | ||
40 | +li{list-style-type:none;} | ||
41 | + | ||
42 | +/* form */ | ||
43 | +form{margin:0;padding:0;} | ||
44 | +fieldset{margin:0;padding:0;border:0 none;} | ||
45 | +legend{overflow:hidden;visibility:hidden;position:absolute;top:0;left:0;width:0;height:0;margin:0;padding:0;font-size:0;line-height:0;} | ||
46 | +input,button,select,textarea{margin:0;padding:0;font:inherit;vertical-align:top;} | ||
47 | +input.text{padding:4px 7px 4px;border:1px solid #ccc;font-size:12px;line-height:1;color:#000;} | ||
48 | +input.readonly{background-color:#eee;} | ||
49 | +input.check,input.radio{width:13px;height:13px;margin:2px 7px 0 0;padding:0;} | ||
50 | +input[type="button"], | ||
51 | +input[type="reset"], | ||
52 | +input[type="submit"]{-webkit-appearance:button;cursor:pointer;} | ||
53 | +input[type="number"]::-webkit-inner-spin-button, | ||
54 | +input[type="number"]::-webkit-outer-spin-button{height:auto;} | ||
55 | +input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box;} | ||
56 | +input[type="search"]::-webkit-search-cancel-button, | ||
57 | +input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;} | ||
58 | +textarea{margin:0;padding:0;border:1px solid #ccc;font-size:12px;color:#000;resize:none;} | ||
59 | +select{height:20px;margin:0;border:1px solid #ccc;outline:none;background-color:#fff;font-size:12px;color:#000;vertical-align:top;text-transform:none;} | ||
60 | +button{overflow:visible;text-transform:none;cursor:pointer;} | ||
61 | +button::-moz-focus-inner, | ||
62 | +input::-moz-focus-inner{padding:0;border:0;} | ||
63 | +button[disabled],html input[disabled]{cursor:default;} | ||
64 | + | ||
65 | +/* link */ | ||
66 | +a{font:inherit;color:inherit;text-decoration:none;cursor:pointer;} | ||
67 | +a{background-color:transparent;} /* IE10 active transparent remove */ | ||
68 | +a:link, | ||
69 | +a:visited, | ||
70 | +a:active, | ||
71 | +a:focus{color:inherit;} | ||
72 | + | ||
73 | +/* selection */ | ||
74 | +/* PC 국문 개편에서는 설정 안 함 */ | ||
75 | +/* ::selection{opacity:0.1;background:#fff2a8;} | ||
76 | +::-moz-selection{background:#fff2a8;} */ | ||
77 | + | ||
78 | +/* skip navigation */ | ||
79 | +#skipNav{position:relative;z-index:800;} | ||
80 | +#skipNav a{overflow:hidden;position:absolute;width:1px;height:1px;margin-bottom:-1px;} | ||
81 | +#skipNav a:focus,#skipNav a:active{overflow:auto;display:block;position:absolute;width:100%;height:30px;margin:0;background-color:#fff000;font-weight:bold;font-size:14px;line-height:30px;color:#000;text-align:center;z-index:100;} | ||
82 | + | ||
83 | +/* clear */ | ||
84 | +.clear:after{content:".";visibility:hidden;display:block;clear:both;height:0;font-size:0;line-height:0;} | ||
85 | +.clear{display:inline-block;} | ||
86 | +*html .clear{height:0;} | ||
87 | +.clear{display:block;} | ||
88 | +.clear-both{clear:both;} | ||
89 | + | ||
90 | +/* basic */ | ||
91 | +.hidden-obj{position:absolute;visibility:hidden;top:-9999px;left:-9999px;} | ||
92 | +.blind{overflow:hidden;visibility:hidden;position:absolute;top:0;left:0;width:0;height:0;padding:0;font-size:0;line-height:0;} | ||
93 | +.display-none{display:none;} | ||
94 | +.for-mobile{display:none} | ||
95 | +.visible-hidden{visibility:hidden;} | ||
96 | +.word-break{word-break:break-all !important;} | ||
97 | +.text-indent{overflow:hidden;display:block;text-indent:-9999px;} | ||
98 | +.text-c{text-align:center !important;} | ||
99 | +.text-l{text-align:left !important;} | ||
100 | +.text-r{text-align:right !important;} | ||
101 | +.vt-t{vertical-align:top !important;} | ||
102 | +.vt-m{vertical-align:middle !important;} | ||
103 | +.vt-b{vertical-align:bottom !important;} | ||
104 | +.fw-b{font-weight:bold !important;} | ||
105 | +.fw-n{font-weight:normal !important;} | ||
106 | +.fl-l{float:left;} | ||
107 | +.fl-r{float:right;} | ||
108 | +.fn{float:none !important;} | ||
109 | +.bg-none{background:none !important;} | ||
110 | +.bd-n{border:none !important;} | ||
111 | +.bd-t{border-top:none !important;} | ||
112 | +.bd-r{border-right:none !important;} | ||
113 | +.bd-b{border-bottom:none !important;} | ||
114 | +.bd-l{border-left:none !important;} | ||
115 | +.of-a{overflow:auto;} | ||
116 | +.of-h{overflow:hidden;} | ||
117 | +.scroll-x{overflow-x:scroll;} | ||
118 | +.scroll-y{overflow-y:scroll;} | ||
119 | +.mg-none{margin:0 !important;} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -3,35 +3,128 @@ | ... | @@ -3,35 +3,128 @@ |
3 | 3 | ||
4 | <head> | 4 | <head> |
5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
6 | - <title>ossswoo.tk</title> | 6 | + <link rel="stylesheet" href="/stylesheets/style.css" /> |
7 | + <title>YaguMoa[ossswoo.tk]</title> | ||
7 | </head> | 8 | </head> |
8 | 9 | ||
9 | - <body> | 10 | + <body class = "body-news-list page-sports body-static" data-nav="sports"> |
10 | - <div class = 'main'> | 11 | + <div id = "container" class = "wrap-container"> |
11 | - <div class = 'center'> | 12 | + <div class = "container"> |
12 | - <div> | 13 | + <div class = 'content03 width1100 line01'> |
13 | - <% for(var i of xports) { %> | 14 | + <div class = "section01"> |
14 | - <li> | 15 | + <div class = 'title-page02'> |
15 | - <div class='item'> | 16 | + <h1 class = "title-type04 bold"> |
16 | - <div class='info'> | 17 | + <span class = "tit">야구 모아</span> |
17 | - <span class='time'><%= i.datetime %></span> | 18 | + </h1> |
18 | - </div> | ||
19 | - <div class='img'> | ||
20 | - <a> | ||
21 | - <img src = <%= i.image_url %>> | ||
22 | - </a> | ||
23 | - </div> | ||
24 | - <div class='news'> | ||
25 | - <a href = <%= i.url %>> | ||
26 | - <strong><%= i.title %></strong> | ||
27 | - </a> | ||
28 | - <p> | ||
29 | - <%= i.summary %> | ||
30 | - </p> | ||
31 | - </div> | ||
32 | </div> | 19 | </div> |
33 | - </li> | 20 | + <section class = 'box-type box-latest01'> |
34 | - <% } %> | 21 | + <strong class="hidden-obj">야구 기사 목록</strong> |
22 | + <div class = "list-type038"> | ||
23 | + <ul class = "list"> | ||
24 | + <% for(var i of xports) { %> | ||
25 | + <li> | ||
26 | + <div class='item-box01'> | ||
27 | + <div class='info-box01'> | ||
28 | + <span class="blind">송고시간</span> | ||
29 | + <span class='txt-time'><%= i.datetime %></span> | ||
30 | + </div> | ||
31 | + <% if (i.image_url != undefined) { %> | ||
32 | + <figure class='img-con'> | ||
33 | + <a class = "img img-cover imgLiquid_bgSize imgLiquid_ready" style = "background-size: cover; background-position: center top; background-repeat: no-repeat;" href = <%= i.url %> > | ||
34 | + <img src = <%= i.image_url %>> | ||
35 | + </a> | ||
36 | + </figure> | ||
37 | + <% } %> | ||
38 | + <div class='news-con'> | ||
39 | + <a class = 'tit-wrap' href = <%= i.url %>> | ||
40 | + <strong class = 'tit-news'><%= i.title %></strong> | ||
41 | + </a> | ||
42 | + <p class = "lead"> | ||
43 | + <%= i.summary %> | ||
44 | + </p> | ||
45 | + </div> | ||
46 | + </div> | ||
47 | + </li> | ||
48 | + <% } %> | ||
49 | + <% for(var i of zum) { %> | ||
50 | + <li> | ||
51 | + <div class='item-box01'> | ||
52 | + <div class='info-box01'> | ||
53 | + <span class="blind">송고시간</span> | ||
54 | + <span class='txt-time'><%= i.datetime %></span> | ||
55 | + </div> | ||
56 | + <% if (i.image_url != undefined) { %> | ||
57 | + <figure class='img-con'> | ||
58 | + <a class = "img img-cover imgLiquid_bgSize imgLiquid_ready" style = "background-size: cover; background-position: center top; background-repeat: no-repeat;" href = <%= i.url %> > | ||
59 | + <img src = <%= i.image_url %>> | ||
60 | + </a> | ||
61 | + </figure> | ||
62 | + <% } %> | ||
63 | + <div class='news-con'> | ||
64 | + <a class = 'tit-wrap' href = <%= i.url %>> | ||
65 | + <strong class = 'tit-news'><%= i.title %></strong> | ||
66 | + </a> | ||
67 | + <p class = "lead"> | ||
68 | + <%= i.summary %> | ||
69 | + </p> | ||
70 | + </div> | ||
71 | + </div> | ||
72 | + </li> | ||
73 | + <% } %> | ||
74 | + <% for(var i of chosun) { %> | ||
75 | + <li> | ||
76 | + <div class='item-box01'> | ||
77 | + <div class='info-box01'> | ||
78 | + <span class="blind">송고시간</span> | ||
79 | + <span class='txt-time'><%= i.datetime %></span> | ||
80 | + </div> | ||
81 | + <% if (i.image_url != undefined) { %> | ||
82 | + <figure class='img-con'> | ||
83 | + <a class = "img img-cover imgLiquid_bgSize imgLiquid_ready" style = "background-size: cover; background-position: center top; background-repeat: no-repeat;" href = <%= i.url %> > | ||
84 | + <img src = <%= i.image_url %>> | ||
85 | + </a> | ||
86 | + </figure> | ||
87 | + <% } %> | ||
88 | + <div class='news-con'> | ||
89 | + <a class = 'tit-wrap' href = <%= i.url %>> | ||
90 | + <strong class = 'tit-news'><%= i.title %></strong> | ||
91 | + </a> | ||
92 | + <p class = "lead"> | ||
93 | + <%= i.summary %> | ||
94 | + </p> | ||
95 | + </div> | ||
96 | + </div> | ||
97 | + </li> | ||
98 | + <% } %> | ||
99 | + <% for(var i of yna) { %> | ||
100 | + <li> | ||
101 | + <div class='item-box01'> | ||
102 | + <div class='info-box01'> | ||
103 | + <span class="blind">송고시간</span> | ||
104 | + <span class='txt-time'><%= i.datetime %></span> | ||
105 | + </div> | ||
106 | + <% if (i.image_url != undefined) { %> | ||
107 | + <figure class='img-con'> | ||
108 | + <a class = "img img-cover imgLiquid_bgSize imgLiquid_ready" style = "background-size: cover; background-position: center top; background-repeat: no-repeat;" href = <%= i.url %> > | ||
109 | + <img src = <%= i.image_url %>> | ||
110 | + </a> | ||
111 | + </figure> | ||
112 | + <% } %> | ||
113 | + <div class='news-con'> | ||
114 | + <a class = 'tit-wrap' href = <%= i.url %>> | ||
115 | + <strong class = 'tit-news'><%= i.title %></strong> | ||
116 | + </a> | ||
117 | + <p class = "lead"> | ||
118 | + <%= i.summary %> | ||
119 | + </p> | ||
120 | + </div> | ||
121 | + </div> | ||
122 | + </li> | ||
123 | + <% } %> | ||
124 | + </ul> | ||
125 | + </div> | ||
126 | + </section> | ||
127 | + </div> | ||
35 | </div> | 128 | </div> |
36 | </div> | 129 | </div> |
37 | </div> | 130 | </div> | ... | ... |
-
Please register or login to post a comment