21.11.27 버그수정 및 리팩토링
This commit is contained in:
@@ -124,9 +124,9 @@ public class ArticleController {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@GetMapping("article/list/tag/{tag}")
|
||||
@GetMapping("article/list/tag/")
|
||||
public String getArticlesListByTag(@RequestParam Integer page,
|
||||
@PathVariable String tag,
|
||||
@RequestParam String tagName,
|
||||
Model model) {
|
||||
|
||||
CategoryForView categoryForView = CategoryForView.createCategory(categoryService.getCategoryForView());
|
||||
@@ -140,7 +140,7 @@ public class ArticleController {
|
||||
|
||||
|
||||
Page<ArticleDtoForMain> articleList =
|
||||
articleService.getArticlesByTag(tag, page)
|
||||
articleService.getArticlesByTag(tagName, page)
|
||||
.map(article ->
|
||||
modelMapper.map(article, ArticleDtoForMain.class));
|
||||
model.addAttribute("articleList", articleList);
|
||||
@@ -153,9 +153,9 @@ public class ArticleController {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@GetMapping("article/list/search/{keyword}")
|
||||
@GetMapping("article/list/search/")
|
||||
public String getArticlesListByKeyword(@RequestParam Integer page,
|
||||
@PathVariable String keyword,
|
||||
@RequestParam String keyword,
|
||||
Model model) {
|
||||
|
||||
CategoryForView categoryForView = CategoryForView.createCategory(categoryService.getCategoryForView());
|
||||
@@ -229,7 +229,11 @@ public class ArticleController {
|
||||
}
|
||||
model.addAttribute("metaTags",sb);
|
||||
|
||||
String substringContents = articleDtoForDetail.getContent().substring(0, 200);
|
||||
String substringContents = null;
|
||||
if(articleDtoForDetail.getContent().length()>200) {
|
||||
substringContents = articleDtoForDetail.getContent().substring(0, 200);
|
||||
}
|
||||
else substringContents = articleDtoForDetail.getContent();
|
||||
|
||||
model.addAttribute("metaContents",Jsoup.parse(substringContents).text());
|
||||
//
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
|
||||
|
||||
.toastui-editor-contents {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 1.1rem;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', '나눔바른고딕',
|
||||
font-family: 'RIDIBatang','Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', '나눔바른고딕',
|
||||
'Nanum Barun Gothic', '맑은고딕', 'Malgun Gothic', sans-serif;
|
||||
z-index: 20;
|
||||
}
|
||||
@@ -803,4 +804,10 @@ ul.toolList li:before {
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
|
||||
}
|
||||
|
||||
.text-block{
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space:nowrap;
|
||||
}
|
||||
@@ -1,17 +1,9 @@
|
||||
/*@font-face {*/
|
||||
/* font-family: "IM_Hyemin-Bold";*/
|
||||
/* src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2106@1.1/IM_Hyemin-Bold.woff2") format("woff");*/
|
||||
/* font-weight: normal;*/
|
||||
/* font-style: normal;*/
|
||||
/*}*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Cafe24SsurroundAir';
|
||||
src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/Cafe24SsurroundAir.woff') format('woff');
|
||||
font-family: 'RIDIBatang';
|
||||
src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_twelve@1.0/RIDIBatang.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: rgb(65, 65, 65);
|
||||
@@ -34,8 +26,8 @@ a:hover {
|
||||
|
||||
|
||||
body {
|
||||
background-color: #fcf6f5;
|
||||
font-family: "Cafe24SsurroundAir";
|
||||
background-color: #f5f5f4;
|
||||
font-family: "RIDIBatang";
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
@@ -377,12 +369,17 @@ body::-webkit-scrollbar-track {
|
||||
}
|
||||
|
||||
|
||||
.mainItem:hover {
|
||||
transform: scale(1.2);
|
||||
transition: transform 2s;
|
||||
filter: grayscale(50%);
|
||||
.main-image{
|
||||
filter: brightness(70%);
|
||||
}
|
||||
|
||||
|
||||
/*.mainItem:hover {*/
|
||||
/* transform: scale(1.2);*/
|
||||
/* transition: transform 2s;*/
|
||||
/* filter: grayscale(50%);*/
|
||||
/*}*/
|
||||
|
||||
.searchBox {
|
||||
position: relative;
|
||||
}
|
||||
@@ -435,3 +432,7 @@ body::-webkit-scrollbar-track {
|
||||
}
|
||||
|
||||
|
||||
.categoryBox .fw-bold{
|
||||
color: #1f70de !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ function InfinityScroll() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function makeNextPage() {
|
||||
@@ -38,6 +37,8 @@ function makeNextPage() {
|
||||
|
||||
console.log(list);
|
||||
|
||||
if(list.length === 0) return;
|
||||
|
||||
// 다음 페이지 작성
|
||||
const nextPage = document.createElement('div');
|
||||
nextPage.setAttribute("id", "articlePage-" + pageNum++);
|
||||
|
||||
@@ -10,5 +10,5 @@ function searchKeyword() {
|
||||
|
||||
}
|
||||
|
||||
location.href = "/article/list/search/" +keyword+"?page=1";
|
||||
location.href = "/article/list/search/?keyword=" +keyword+"&page=1";
|
||||
}
|
||||
@@ -56,7 +56,7 @@
|
||||
<hr class="mb-5">
|
||||
|
||||
<div class="row g-0">
|
||||
<div id="categoryBox" class=" list-group list-unstyled ps-0 d-flex flex-column col-sm mb-5 text-center"><th:block th:each="superCategory : ${category.getCategoryTCountList()}"><button class="list-group-item list-group-item-action list-group-item-light fw-bold"
|
||||
<div id="categoryBox" class="categoryBox list-group list-unstyled ps-0 d-flex flex-column col-sm mb-5 text-center"><th:block th:each="superCategory : ${category.getCategoryTCountList()}"><button class="list-group-item list-group-item-action list-group-item-light fw-bold"
|
||||
th:text="|${superCategory.getTitle()}|"
|
||||
th:id="|superCategory-${superCategory.getId()}|"
|
||||
onclick="clickCategory(this)"></button><th:block
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
<section>
|
||||
|
||||
<div style="margin-bottom: 150px"></div>
|
||||
<div style="margin-bottom: 100px"></div>
|
||||
|
||||
<div class="recent-cards mt-5 ms-4 me-4">
|
||||
|
||||
|
||||
@@ -6,25 +6,25 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, user-scalable = no, initial-scale=1.0"/>
|
||||
<title th:text="|__${keyword}__ 검색 결과 - Jinia's LOG'|"></title>
|
||||
<title th:text="|${param.keyword} 검색 결과 - Jinia's LOG'|"></title>
|
||||
<!-- SEO -->
|
||||
<meta name="description" th:content="|__${keyword}__ 검색 결과|"/>
|
||||
<meta name="keyword" th:content="|__${keyword}__, 카테고리, 개발, 테크, IT, 코딩, 알고리즘, 쥬니어, 개발자, 포트폴리오, 블로그, CS, 컴공지식, 컴공, 프로그래밍, 프로그래밍 언어, 비전공, 코딩 테스트, 취업, 취준|"/>
|
||||
<meta name="description" th:content="|${param.keyword} 검색 결과|"/>
|
||||
<meta name="keyword" th:content="|${param.keyword}, 카테고리, 개발, 테크, IT, 코딩, 알고리즘, 쥬니어, 개발자, 포트폴리오, 블로그, CS, 컴공지식, 컴공, 프로그래밍, 프로그래밍 언어, 비전공, 코딩 테스트, 취업, 취준|"/>
|
||||
<meta name="author" content="Jinia"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
|
||||
<!-- OPEN GRAPH(FACEBOOK, LINKEDIN) -->
|
||||
<meta property="og:type" content="website"/>
|
||||
<meta property="og:description" th:content="|__${keyword}__ 검색 결과|"/>
|
||||
<meta property="og:title" th:content="|__${keyword}__ 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="og:description" th:content="|${param.keyword} 검색 결과|"/>
|
||||
<meta property="og:title" th:content="|${param.keyword} 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="og:image" content="https://github.com/jinia91/blogTest/blob/main/img/a341399c-494f-4a1b-9c03-8d566a3a4097.png?raw=true"/>
|
||||
<meta property="og:url" content=""/>
|
||||
<meta property="og:site_name" content="|__${keyword}__ 검색 결과 - Jinia's LOG'|"/>
|
||||
|
||||
<!-- twitter -->
|
||||
<meta property="twitter:card" th:content="|__${keyword}__ 검색 결과|"/>
|
||||
<meta property="twitter:title" th:content="|__${keyword}__ 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="twitter:description" th:content="|__${keyword}__ 검색 결과|"/>
|
||||
<meta property="twitter:card" th:content="|${param.keyword} 검색 결과|"/>
|
||||
<meta property="twitter:title" th:content="|${param.keyword} 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="twitter:description" th:content="|${param.keyword} 검색 결과|"/>
|
||||
<meta property="twitter:image" content="https://github.com/jinia91/blogTest/blob/main/img/a341399c-494f-4a1b-9c03-8d566a3a4097.png?raw=true"/>
|
||||
<meta property="twitter:url" content=""/>
|
||||
<meta property="twitter:creator" content="Jinia"/>
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="recent-cards mt-5 ms-4 me-4">
|
||||
|
||||
<div class="cards-container container p-0" id="infiniteScrollBox">
|
||||
<h1 class="text-center" th:text="|__${keyword}__ 검색 결과|"></h1>
|
||||
<h1 class="text-center" th:text="|${param.keyword} 검색 결과|"></h1>
|
||||
<hr>
|
||||
<div id="articlePage-0">
|
||||
<div class="card mb-3 recent-card wow fadeInUp" th:each="article :${articleList.getContent()}">
|
||||
@@ -85,7 +85,7 @@
|
||||
<ul class="pagination">
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="First"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${keyword}__),page=(1))}"
|
||||
th:href="@{/article/list/tag/(tag=(${param.keyword}),page=(1))}"
|
||||
th:if="${pagingBox.getCurPageNum()}>5">
|
||||
<span>«</span>
|
||||
</a>
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="Previous"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${keyword}__),page=(${pagingBox.getCurPageNum()}-5))}"
|
||||
th:href="@{/article/list/tag/(tag=(${param.keyword}),page=(${pagingBox.getCurPageNum()}-5))}"
|
||||
th:if="${pagingBox.getCurPageNum()}>5">
|
||||
<span>
|
||||
< </span>
|
||||
@@ -103,16 +103,16 @@
|
||||
<th:block th:each="page : ${#numbers.sequence(pagingBox.getBoxStartNum(), pagingBox.getBoxEndNum())}">
|
||||
<li th:if="${pagingBox.getCurPageNum()==page}" class="page-item active">
|
||||
<a th:text="${page}" class="page-link"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${keyword}__),page=(${page}))}"></a>
|
||||
th:href="@{/article/list/tag/(tag=(${param.keyword}),page=(${page}))}"></a>
|
||||
</li>
|
||||
<li th:unless="${pagingBox.getCurPageNum()==page}" class="page-item">
|
||||
<a th:text="${page}" class="page-link"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${keyword}__),page=(${page}))}"></a>
|
||||
th:href="@{/article/list/tag/(tag=(${param.keyword}),page=(${page}))}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="Next"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${keyword}__),page=(${pagingBox.getCurPageNum()}+5))}"
|
||||
th:href="@{/article/list/tag/(tag=(${param.keyword}),page=(${pagingBox.getCurPageNum()}+5))}"
|
||||
th:if="${pagingBox.getCurPageNum()<=pagingBox.getPNumForNextBtn()}"
|
||||
>
|
||||
<span aria-hidden="true">></span>
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="Last"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${keyword}__),page=(${pagingBox.getLastPageNum()}))}"
|
||||
th:href="@{/article/list/tag/(tag=(${param.keyword}),page=(${pagingBox.getLastPageNum()}))}"
|
||||
th:if="${pagingBox.getCurPageNum()<=pagingBox.getPNumForNextBtn()}"
|
||||
>
|
||||
<span aria-hidden="true">»</span>
|
||||
|
||||
@@ -6,25 +6,25 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, user-scalable = no, initial-scale=1.0"/>
|
||||
<title th:text="|__${tag}__ 검색 결과 - Jinia's LOG'|"></title>
|
||||
<title th:text="|${param.tag} 검색 결과 - Jinia's LOG'|"></title>
|
||||
<!-- SEO -->
|
||||
<meta name="description" th:content="|__${tag}__ 검색 결과|"/>
|
||||
<meta name="keyword" th:content="|__${tag}__, 카테고리, 개발, 테크, IT, 코딩, 알고리즘, 쥬니어, 개발자, 포트폴리오, 블로그, CS, 컴공지식, 컴공, 프로그래밍, 프로그래밍 언어, 비전공, 코딩 테스트, 취업, 취준|"/>
|
||||
<meta name="description" th:content="|${param.tag} 검색 결과|"/>
|
||||
<meta name="keyword" th:content="|${param.tag}, 카테고리, 개발, 테크, IT, 코딩, 알고리즘, 쥬니어, 개발자, 포트폴리오, 블로그, CS, 컴공지식, 컴공, 프로그래밍, 프로그래밍 언어, 비전공, 코딩 테스트, 취업, 취준|"/>
|
||||
<meta name="author" content="Jinia"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
|
||||
<!-- OPEN GRAPH(FACEBOOK, LINKEDIN) -->
|
||||
<meta property="og:type" content="website"/>
|
||||
<meta property="og:description" th:content="|__${tag}__ 검색 결과|"/>
|
||||
<meta property="og:title" th:content="|__${tag}__ 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="og:description" th:content="|${param.tag} 검색 결과|"/>
|
||||
<meta property="og:title" th:content="|${param.tag} 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="og:image" content="https://github.com/jinia91/blogTest/blob/main/img/a341399c-494f-4a1b-9c03-8d566a3a4097.png?raw=true"/>
|
||||
<meta property="og:url" content=""/>
|
||||
<meta property="og:site_name" content="|__${keyword}__ 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="og:site_name" content="|${param.tag} 검색 결과 - Jinia's LOG'|"/>
|
||||
|
||||
<!-- twitter -->
|
||||
<meta property="twitter:card" th:content="|__${tag}__ 검색 결과|"/>
|
||||
<meta property="twitter:title" th:content="|__${tag}__ 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="twitter:description" th:content="|__${tag}__ 검색 결과|"/>
|
||||
<meta property="twitter:card" th:content="|${param.tag} 검색 결과|"/>
|
||||
<meta property="twitter:title" th:content="|${param.tag} 검색 결과 - Jinia's LOG'|"/>
|
||||
<meta property="twitter:description" th:content="|${param.tag} 검색 결과|"/>
|
||||
<meta property="twitter:image" content="https://github.com/jinia91/blogTest/blob/main/img/a341399c-494f-4a1b-9c03-8d566a3a4097.png?raw=true"/>
|
||||
<meta property="twitter:url" content=""/>
|
||||
<meta property="twitter:creator" content="Jinia"/>
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="recent-cards mt-5 ms-4 me-4">
|
||||
|
||||
<div class="cards-container container p-0" id="infiniteScrollBox">
|
||||
<h1 class="text-center" th:text="__${tag}__"></h1>
|
||||
<h1 class="text-center" th:text="${param.tag}"></h1>
|
||||
<hr>
|
||||
<div id="articlePage-0">
|
||||
<div class="card mb-3 recent-card wow fadeInUp" th:each="article :${articleList.getContent()}">
|
||||
@@ -85,7 +85,7 @@
|
||||
<ul class="pagination">
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="First"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${tag}__),page=(1))}"
|
||||
th:href="@{/article/list/tag/(tagName=(${param.tag}),page=(1))}"
|
||||
th:if="${pagingBox.getCurPageNum()}>5">
|
||||
<span>«</span>
|
||||
</a>
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="Previous"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${tag}__),page=(${pagingBox.getCurPageNum()}-5))}"
|
||||
th:href="@{/article/list/tag/(tagName=(${param.tag}),page=(${pagingBox.getCurPageNum()}-5))}"
|
||||
th:if="${pagingBox.getCurPageNum()}>5">
|
||||
<span>
|
||||
< </span>
|
||||
@@ -103,16 +103,16 @@
|
||||
<th:block th:each="page : ${#numbers.sequence(pagingBox.getBoxStartNum(), pagingBox.getBoxEndNum())}">
|
||||
<li th:if="${pagingBox.getCurPageNum()==page}" class="page-item active">
|
||||
<a th:text="${page}" class="page-link"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${tag}__),page=(${page}))}"></a>
|
||||
th:href="@{/article/list/tag/(tagName=(${param.tag}),page=(${page}))}"></a>
|
||||
</li>
|
||||
<li th:unless="${pagingBox.getCurPageNum()==page}" class="page-item">
|
||||
<a th:text="${page}" class="page-link"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${tag}__),page=(${page}))}"></a>
|
||||
th:href="@{/article/list/tag/(tagName=(${param.tag}),page=(${page}))}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="Next"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${tag}__),page=(${pagingBox.getCurPageNum()}+5))}"
|
||||
th:href="@{/article/list/tag/(tagName=(${param.tag}),page=(${pagingBox.getCurPageNum()}+5))}"
|
||||
th:if="${pagingBox.getCurPageNum()<=pagingBox.getPNumForNextBtn()}"
|
||||
>
|
||||
<span aria-hidden="true">></span>
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" aria-label="Last"
|
||||
th:href="@{/article/list/tag/{tag}(tag=(__${tag}__),page=(${pagingBox.getLastPageNum()}))}"
|
||||
th:href="@{/article/list/tag/(tagName=(${param.tag}),page=(${pagingBox.getLastPageNum()}))}"
|
||||
th:if="${pagingBox.getCurPageNum()<=pagingBox.getPNumForNextBtn()}"
|
||||
>
|
||||
<span aria-hidden="true">»</span>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="main ">
|
||||
<div class="carousel-inner ">
|
||||
<div class="carousel-item active" style="cursor: default">
|
||||
<img th:src="${article.getThumbnailUrl()}" class="w-100 vh-100 cover"
|
||||
<img th:src="${article.getThumbnailUrl()}" class="w-100 vh-100 cover main-image"
|
||||
alt="...">
|
||||
<div class="card-img-overlay text-shadow text-white text-center row justify-content-center align-content-center p-0">
|
||||
<h1 style="font-size: 2.5rem;" th:text="${article.getTitle()}">아티클 제목</h1>
|
||||
@@ -121,13 +121,13 @@
|
||||
<span>카테고리의 다른글</span></div>
|
||||
<ul class="row row-cols-1 row-cols-sm-2 mt-2 ms-5 me-5 toolList">
|
||||
<li th:each="list:${articlesSortBycategory}"
|
||||
th:if="${list.getTitle()} != ${article.getTitle()}" class="col">
|
||||
th:if="${list.getTitle()} != ${article.getTitle()}" class="col text-block" >
|
||||
<a th:href="@{/article/view(articleId=${list.getId()})}" th:text="${list.getTitle()}">글목록</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="mt-2 ms-5 me-5">
|
||||
<a class="me-2" th:each="tag: ${article.tags}"
|
||||
th:href="@{/article/list/tag/{tag}(tag=${tag},page=1)}">
|
||||
th:href="@{/article/list/tag/(tagName=${tag},page=1)}">
|
||||
<button class="badge rounded-pill bg-secondary" th:text="${tag}">태그</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
<link rel="stylesheet" href="/node_modules/bootstrap/dist/css/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" href="/css/mainCss.css"/>
|
||||
<link rel="stylesheet" href="/css/login.css"/>
|
||||
<link rel="stylesheet" href="/node_modules/wow.js/css/libs/animate.css"/>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -53,7 +55,7 @@
|
||||
th:classappend="${num.index}==0? active">
|
||||
<a th:href="@{/article/view(articleId=${article.getId()})}">
|
||||
<img th:src="${article.getThumbnailUrl()}"
|
||||
class="w-100 vh-100 cover" alt="...">
|
||||
class="w-100 vh-100 cover main-image" alt="...">
|
||||
<div class="card-img-overlay text-white text-center row justify-content-center align-content-center text-shadow">
|
||||
<h1 class="" th:text="${article.getTitle()}">첫번째 이미지</h1>
|
||||
</div>
|
||||
@@ -75,7 +77,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mt-5 pt-2 popular-card-section">
|
||||
<div class="mt-5 pt-2 popular-card-section ">
|
||||
<div class="cards-container container p-0 ">
|
||||
<div class=" row g-0 row-cols-2 row-cols-md-3">
|
||||
<div class="col g-1 g-md-4" th:each="article,num : ${popularArticles}">
|
||||
@@ -125,10 +127,11 @@
|
||||
</div>
|
||||
<!-- js -->
|
||||
<script src="https://kit.fontawesome.com/233840a552.js" crossorigin="anonymous"></script>
|
||||
<script src="/node_modules/wow.js/dist/wow.js"></script>
|
||||
<script src="/js/infinityScroll.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.0/moment.min.js"></script>
|
||||
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="/node_modules/wow.js/dist/wow.js"></script>
|
||||
<script>new WOW().init()</script>
|
||||
</section>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
<!-- offcanvas s -->
|
||||
<aside class="offcanvas offcanvas-start " data-bs-scroll="true" style="max-width: 300px;" tabindex="-1"
|
||||
id="offcanvasMenu" aria-labelledby="offcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<div class="offcanvas-header bg-light">
|
||||
<button class="btn btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
|
||||
<div class="offcanvas-body bg-white">
|
||||
<div class="offcanvas-body bg-light">
|
||||
<div th:replace="layout/sideBar.html :: sideBar"></div>
|
||||
</div>
|
||||
</aside>
|
||||
@@ -48,14 +48,14 @@
|
||||
<section class="row g-0 row-cols-xxl-2 g-xxl-0 p-0 ">
|
||||
|
||||
<!-- sidebar-xxl -->
|
||||
<div class="bg-white sidebar col-xxl-2 d-none d-xxl-block p-0 overflow-auto">
|
||||
<div class="p-4 sidebar-inner">
|
||||
<div class="bg-light sidebar col-xxl-2 d-none d-xxl-block p-0 overflow-auto">
|
||||
<div class="p-4 sidebar-inner bg-light">
|
||||
<div th:replace="layout/sideBar.html :: sideBar"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- sidebar e -->
|
||||
<!-- xxl dummy -->
|
||||
<div class="bg-white col-xxl-2 d-none d-xxl-block p-0">
|
||||
<div class="bg-light col-xxl-2 d-none d-xxl-block p-0">
|
||||
</div>
|
||||
<!-- -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user