Cómo crear 유엔 블로그 con Sapper(날씬) y Markdown

Artículo original en Cómo crear un blog con Sapper (Svelte) y Markdown



쿠스 사퍼?
Sapper 건축과 SSR 체계에서 유연한 기초 구조를 위해 준비한다.Tal vez conozcas NuxtJS con Vue...페스 로미스모, 페로 파라 스웨트😜

당신은 블로그에 무엇을 썼습니까?
이제 우리는 미래에 대한 결정이 필요하다.유엔의 주재하에 우리는 누구의 참여도 필요 없고 누구의 참여도 필요 없다.나는 마르카도 클라로와 세치로의 회의에서 연설한 미국 마크 데흐조를 매우 좋아한다.

Vamos a empezar
10분의 시간이 없다.데보 데클러 드클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스 데클로스.이것은 포스터제도(마리란드)의 중심역에 위치한 중심역이다.

Instalar Sapper y arrancar el proyecto
npx degit "sveltejs/sapper-template#rollup" NOMBRE_DE_TU_APP
이것은 불가능한 과정이다.너는 다른 사람에게 의지할 필요가 없다.마지막으로 deberás는 프로젝트 카펫과 독립 아파트에 가입했다.
cd NOMBRE_DE_TU_APP
npm install
npm run dev & open http://localhost:3000
이것은 나비카도와 사퍼 공장에 관한 책이다.이것은 완전한 기능이다.
  • http://localhost:3000/
  • http://localhost:3000/about
  • http://localhost:3000/blog
  • '완벽해!세지모스.

    콘테도
    La Furrata donde iránuestro contenido serádentro desrc/contents.건축 구조의 측면:
    ---
    date: 2021-01-18
    summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ultricies congue erat, ut tempor felis euismod imperdiet.
    title: "¡Hola Alex Tomás!"
    ---
    
    Este es mi primer documento con formato Markdown. Lo guardamos con el nombre que quieras, por ejemplo `primera-prueba.md`
    

    플러그 인
    포드라모스 카가 로스 아치보스.md usando algo como fs.readFile () 는 컴파일하는 과정에서 오산도 import 에게 한 가지 형식으로 나타났다.
    Para ello vamos는 실용적인el 플러그인@jackfranklin/rollup-plugin-markdown입니다."나는 마지아 프라다!
    El plugin hace posible lo siguiente:
    import post1 from 'posts/example1.md'
    import post2 from 'posts/example2.md'
    // ...
    
    이게 내 꿈이야...이것은 매우 재미있는 이야기다.😅 이것은 일종의 아르고식 건축 풍격이다.누에스트라 웰타 의학 박사.Eso exactamente hace el 플러그인rollup-plugin-glob🚀
    수행원, 주의:
    npm i -D @jackfranklin/rollup-plugin-markdown rollup-plugin-glob
    
    Y tenemos que hacer una pequeña modificación en nuestrorollup.config.js:
    // Importamos los paquetes
    import markdown from '@jackfranklin/rollup-plugin-markdown'
    import glob from 'rollup-plugin-glob'
    
    // Recuerda que rollup crea multiples builds, así que fíjate de
    // añadir los dos plugins tanto en `server` como en `client`
    export {
      client: {
        plugins: [
          markdown(),
          glob(),
          ...
        ],
        ...
      },
    
      server: {
        plugins: [
          markdown(),
          glob(),
          ...
        ],
        ...
      }
    }
    

    아모스로스 포스트
    안녕하세요, 포드모스 수입회사입니다.사장, 공무 중앙 위원회 위원장, 크레레모스 아치보src/posts.js:
    import all from './contents/*.md';
    
    export const posts = all;
    
    Si pusieramos unconsole.log(posts),varíamos algo-como:
    [
        {
            "metadata": {
                "title": "¡Hola Alex Tomás!",
                "summary": "Lorem ipsum dolor sit amet...",
                "date": "2021-01-18"
            },
            "html": "Este es mi primer documento con formato Markdown",
            "filename": "primera-prueba.md"
        }
    ]
    
    '상냥하고 친절해!형식적으로나 기능적으로 모두 이렇다.Vamos a Realizer estas mejoras:
  • Ponga la 메타데이터 고급 버전(제목, 요약, 날짜).
  • Agrega un permalinkcampo.세바살렌 엘펠러Name
  • 공공사업의 발전
  • Dejaremos el archivosrc/posts.jsde la siguiente forma:
    import _ from 'lodash';
    import all from '../posts/*.md';
    
    export const posts = _.chain(all)
        .map(transform)
        .orderBy('date', 'desc') // ordenamos los posts por fecha
        .value();
    
    // función para formatear cada post
    function transform({ filename, html, metadata }) {
        // el permalink es el nombre del archivo '.md'
        const permalink = filename.replace(/\.md$/, '');
    
        // convertimos la fecha en un Date
        const date = new Date(metadata.date);
    
        // devolvemos el post con el nuevo formato
        return { ...metadata, filename, html, permalink, date };
    }
    
    // función para buscar un post
    export function findPost(permalink) {
        // usamos lodash para encontrar un post por su permalink (nombre de fichero):
        return _.find(posts, { permalink });
    }
    
    주: 로다스 파쿠트 아파트:
    npm i lodash
    

    포스터 호텔
    "호라 데모스텔라 로스 테네모스입니다!"Abrimos el archivosrc/routes/index.svelte는 일반 공병이다.
    
    <script>
        // Importamos los posts desde el fichero src/posts.js
        import { posts } from '../../posts';
    </script>
    
    <svelte:head>
        <title>Blog</title>
    </svelte:head>
    
    <h1>Recent posts</h1>
    
    {#each posts as post}
        <article>
            <a href={`blog/${post.permalink}`}>
                <h2>{post.title}</h2>
                <p>{post.summary}</p>
            </a>
        </article>
    {/each}
    
    Básicamente lo que hacemos es:
  • Importamos los posts.
  • Consvelte:headponemos el título en la página.
  • Hacemos un bucle para IMPIMIR unarticlepara cada post.
  • Añadimos un enlace con el-link al-post.이것은 영구적인, 이른바 건축 풍격이다.의학 박사

  • 유엔 우체국
    우체국장src/routes/blog/index.svelte.아호라 와모스는 편집자src/routes/blog/[slug].svelte로 공병으로 아무런 준비 작업도 하지 않았다.
    피카도[slug]가 있습니까?에소 르 데스는 디나미코 지하철역에서 일하는 공병slug이다.팔라 지하철 회사에 새로운 선적 기능 () 을 제공합니다.아호라 로비모스.
    마지막 경기:
    <script context="module">
        import { findPost } from '../../posts';
    
        export async function preload(page, session) {
            const { slug } = page.params;
            const post = findPost(slug);
            return { post };
        }
    </script>
    
    <script>
        export let post;
    </script>
    
    <svelte:head>
        <title>{post.title}</title>
    </svelte:head>
    
    <h1>{post.title}</h1>
    
    <div class="content">{@html post.html}</div>
    
    주: 정의context="module"는 기능preload을 사용하는 필수 조건이다.데에스트 모도 포드레모스 오벤나 로스 파라미트로스 파사도스 코모props.
    내가 말한 바와 같이 보드모스 오프텐 엘slug과 파사세로 라포시옹findPost은 슬로(slug)라는 젊은이다.아시드 파실리.Y nos lo guardaráen la constantepost.
    마지막으로, 우리는 정보를 제공할 것이다.
    "그래!너는 블로그에서 브라질의 기능을 볼 수 있고, 문서관의 표시도 볼 수 있다.

    결론
    나는 전문적인 설비와 시스템이 필요하다.Wordpress 사이트에서 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표하고, 글을 발표한다.
    Markdown은 texto plano tal cual입니다.이것은 현실이고, 더욱 개성을 지닌 사람이다.폴 탄토(Por tanto)는 위대한 건축가이다.이사장contents과 최고경영자.사퍼 하라르 레스토 보르티.이것은 문서관이자 데타르 공원이다.
    "다토스 기지에 갈 필요 없어!아무도 다토스의 감옥에서 쉴 수 없고, 파페르의 감옥에서도 쉴 수 없다.Ésta es una muy buena solución.
    네, 그렇습니다.에스페로 트푸에다 세빌 호텔😉

    좋은 웹페이지 즐겨찾기