40 lines
771 B
HTML
40 lines
771 B
HTML
<:Head>
|
|
<title>Blog</title>
|
|
</:Head>
|
|
|
|
<Layout page='blog'>
|
|
<h1>Recent posts</h1>
|
|
|
|
<ul>
|
|
{{#each posts as post}}
|
|
<!-- we're using the non-standard `rel=prefetch` attribute to
|
|
tell Sapper to load the data for the page as soon as
|
|
the user hovers over the link or taps it, instead of
|
|
waiting for the 'click' event -->
|
|
<li><a rel='prefetch' href='/blog/{{post.slug}}'>{{post.title}}</a></li>
|
|
{{/each}}
|
|
</ul>
|
|
</Layout>
|
|
|
|
<style>
|
|
ul {
|
|
margin: 0 0 1em 0;
|
|
line-height: 1.5;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
import Layout from '../_components/Layout.html';
|
|
|
|
export default {
|
|
components: {
|
|
Layout
|
|
},
|
|
|
|
preload({ params, query }) {
|
|
return fetch(`/api/blog`).then(r => r.json()).then(posts => {
|
|
return { posts };
|
|
});
|
|
}
|
|
};
|
|
</script> |