នៅ​លើ​ទំព័រ​ដើម បន្ទាប់​ពី​ផ្ទាំង​ការផ្សាយ យើង​អាច​បង្កើតផ្ទាំង​មួយ​ទៀត សំរាប់​តំរៀប​ការផ្សាយ​ចុង​ក្រោយ​មួយ​ចំនួន​ទៀត សល់​ពី​ការផ្សាយ​នៅ​ក្នុង​ផ្ទាំង​ការផ្សាយ​។ យើង​អាច​ដាក់​ឈ្មោះ​ផ្ទាំង​មួយ​​នេះ​ថា​ជា​ផ្ទាំង​ទំព័រ​ដើម​។ ដូច​គ្នា​ដែរ យើង​បង្កើត​ផ្ទាំង​ទំព័រដើម​នៅ​ក្នុង​ថត src/components ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

 

<!--src/components/Home.astro-->
---
import { getCollection, getEntry } from 'astro:content'
const Posts = await getCollection('posts')
Posts.sort((a, b)=>b.data.pudate-a.data.pudate)
const posts = Posts.slice(5, 25)
---
<section class="Home region">
    <div class="container">
        {posts.map((post)=>(
            <div class="wrapper">
                <a href=`/post/${post.slug}`>
                    <img src={post.data.thumb} />
                    <img class="play-icon" src="/images/play.png" />
                </a>
                <div class="date">{post.data.pudate}</div>
                <a class="title" href=`/post/${post.slug}`>
                    <div >{post.data.title}</div>
                </a>
            </div>
        ))}
    </div>
    <a class="navigation" href="/2">
        <img src="/images/load-more.png" />
    </a>
</section>

<style>
.Home .container{
    display: grid;
    grid-template-columns: repeat(4, calc(100% / 4 - 11.25px));
    grid-gap: 30px 15px;
    padding: 30px 0;
}
.Home .container .wrapper a{
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
    width: 100%;
    display: block;
}
.Home .container .wrapper a img{
    position: absolute;
    width: 100%;
    min-height: 100%;
    top: 0;
    left: 0;
}
.Home .container .wrapper a .play-icon{
    width: auto;
    min-height: auto;
    width: 15%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}
.Home .container .wrapper .title{
    padding-top: 0;
}
.Home .container .wrapper .title div{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.Home .navigation{
    display: block;
    text-align: center;
}
@media only screen and (max-width:600px){
    .Home .container{
        grid-template-columns: 100%;
        padding: 30px 10px;
    }
}
</style>

 

<!--src/pages/index.astro-->
---
import Base from "../layouts/Base.astro"
import Latest from "../components/Latest.astro"
import Home from "../components/Home.astro"
---

<Base pageTitle="ទំព័រ​ដើម" pageURL="/" >
    <Latest/>
    <Home/>
</Base>

 

Netlify: https://khmerweb-static-blog.netlify.app/

GitHub: https://github.com/Sokhavuth/static-blog