<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[RSS Feed]]></title><description><![CDATA[build a static blogging site]]></description><link>https://zhalice2011.github.io</link><generator>GatsbyJS</generator><lastBuildDate>Mon, 11 Apr 2022 01:07:17 GMT</lastBuildDate><item><title><![CDATA[Using Notion Write Blog and Publish Github Pages (part 3)]]></title><description><![CDATA[一. Notion配置 https://www.notion.so/ 1. 下载Notion创建Blog页面  2. 创建Integration https://www.notion.so/my-integrations  创建成功后得到 NOTION_TOKEN…]]></description><link>https://zhalice2011.github.io/notion/using-notion-write-blog-and-publish-github-pages-part-3/</link><guid isPermaLink="false">https://zhalice2011.github.io/notion/using-notion-write-blog-and-publish-github-pages-part-3/</guid><pubDate>Sun, 10 Apr 2022 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;一-notion配置&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80-notion%E9%85%8D%E7%BD%AE&quot; aria-label=&quot;一 notion配置 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一. Notion配置&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.notion.so/&quot;&gt;https://www.notion.so&lt;/a&gt;/&lt;/p&gt;
&lt;h3 id=&quot;1-下载notion创建blog页面&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-%E4%B8%8B%E8%BD%BDnotion%E5%88%9B%E5%BB%BAblog%E9%A1%B5%E9%9D%A2&quot; aria-label=&quot;1 下载notion创建blog页面 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. 下载Notion创建Blog页面&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/c194b0135c2fbbb023984a31d17d6edb/69d6b/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 21.51898734177215%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAlklEQVQY04VO0QrCMBDr//+W+gVORGXqHK0bHRvt3K1d10Za2IMTNBBy3OVCmLgdUEuOXnWgQYOoxzzPsNYiBI8QwgcjFvXeJ5+1BtM0pT/2uOe4nI5o5BOGepjxhTWWgH+7CKZUi7riaGSFOJtxSAfnHLTWSZeAdcN1+0gmiytEfkYnSnS8hFZtMhMRdtsNsmz/FfgLb2bIN/hWm7KvAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png&quot;
        title=&quot;1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png&quot;
        src=&quot;/static/c194b0135c2fbbb023984a31d17d6edb/f058b/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png&quot;
        srcset=&quot;/static/c194b0135c2fbbb023984a31d17d6edb/c26ae/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png 158w,
/static/c194b0135c2fbbb023984a31d17d6edb/6bdcf/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png 315w,
/static/c194b0135c2fbbb023984a31d17d6edb/f058b/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png 630w,
/static/c194b0135c2fbbb023984a31d17d6edb/40601/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png 945w,
/static/c194b0135c2fbbb023984a31d17d6edb/78612/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png 1260w,
/static/c194b0135c2fbbb023984a31d17d6edb/69d6b/1b9371eaae7abb4b5959aab00f50c87860ae7a9d.png 1912w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;2-创建integration&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-%E5%88%9B%E5%BB%BAintegration&quot; aria-label=&quot;2 创建integration permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. 创建Integration&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.notion.so/my-integrations&quot;&gt;https://www.notion.so/my-integrations&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/6b3e01a2c5906dc345519e5520e9494f/81ebd/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 62.0253164556962%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABWUlEQVQoz5WS207CQBCG98nlDm/kDbjwJYynGzmKYBWEaDUxFEQJgghtgbbb7m92oO22IVab/Ome5pvZf5YBAbI+EfBIEH5ivI0PonW2sk1cXpyj1+2gXq+i1bxBq9lApVyi8XBo7LBxEIGEj8D38D2fwTIXcDYrOsMcZ41y6Qqa1sKddouz0xOaN65rqFUr0PVHuM4atrWEz90YCkGg0dsA448RJpMxpWUyy9fsE9PpBLJaOeeeE0lmtqwlzOUiBQwoidF/xXDQJwYBqfyAEyg2zY9FHomtlCuHfwmVSSle+GCubeLpoQO910WvfQ/j5XmbQGnEPqlXTzRl9j5C7iCHwlEB+fwhjovFfwHTa0xwF/ZiTpD4xl7iWYSepZ+M2vFQTFZiWyY4d6kqtTLpi+zwZm1HPmUC5aLsJm3upAI9d0P7ErzXwzRQnezzJr3/pwqzzP61yyngDzyRoU8ttT6xAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;c7f2b6994c0d243593b1a8a36cc1955a1918958c.png&quot;
        title=&quot;c7f2b6994c0d243593b1a8a36cc1955a1918958c.png&quot;
        src=&quot;/static/6b3e01a2c5906dc345519e5520e9494f/f058b/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png&quot;
        srcset=&quot;/static/6b3e01a2c5906dc345519e5520e9494f/c26ae/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png 158w,
/static/6b3e01a2c5906dc345519e5520e9494f/6bdcf/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png 315w,
/static/6b3e01a2c5906dc345519e5520e9494f/f058b/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png 630w,
/static/6b3e01a2c5906dc345519e5520e9494f/40601/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png 945w,
/static/6b3e01a2c5906dc345519e5520e9494f/78612/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png 1260w,
/static/6b3e01a2c5906dc345519e5520e9494f/81ebd/c7f2b6994c0d243593b1a8a36cc1955a1918958c.png 1868w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;创建成功后得到 NOTION_TOKEN 保存下来&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/c05c3c2430ec468db7572f55004445c8/33d1d/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 39.87341772151899%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAABP0lEQVQoz2WS60rEMBCF+/5vJMriH0EUxDdQd9um6b1pek2aT5LWZVXC6cd0wsmBmQhnsWbGbYbNrkH+n6+98HQ28JfswZ+ep7NEAO9vr5we7nh5fuLxdE/X1oC7mgaFwx9t/x6OvOtqFrRWzPPIOGqMXUPzKn9yiUtinEhBZvD1hRv0/sxxz5tG/qPzjEYkdCKlis+0IglUUsCocV7eKI4hvuzGnx/QVHtf97BMR8J1ZqpL2raiayvapgxUXR2kVUuvGvSg0GNPPyjGSTOtM+e6Q3kzs+C0OgztylTmaK9CBg5VQZ3Ge2op6AsZ0nZZGu6oPAu1bhqMVjD0uGk8DNlCikpmtN6okOQiQcRnsuSCTBOyJKarS9ZpwM5T4DJqsAs+kDPLzZSPFbHHyngaswTamzpMkg2wB7fr0G7X7BuEvmr0q21I5gAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;c27cf29b96408d0b128fa87ff20559e7b3806bc8.png&quot;
        title=&quot;c27cf29b96408d0b128fa87ff20559e7b3806bc8.png&quot;
        src=&quot;/static/c05c3c2430ec468db7572f55004445c8/f058b/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png&quot;
        srcset=&quot;/static/c05c3c2430ec468db7572f55004445c8/c26ae/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png 158w,
/static/c05c3c2430ec468db7572f55004445c8/6bdcf/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png 315w,
/static/c05c3c2430ec468db7572f55004445c8/f058b/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png 630w,
/static/c05c3c2430ec468db7572f55004445c8/40601/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png 945w,
/static/c05c3c2430ec468db7572f55004445c8/33d1d/c27cf29b96408d0b128fa87ff20559e7b3806bc8.png 1150w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;回到我们在notion创建的Blog页面, 点击页面右上角的共享按钮&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/78d6ff1dad7f0f6269e867542ee98274/922e6/64417c5edf53afec563086584560d0e6a5cc1f07.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 23.417721518987342%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAaUlEQVQY062PywqAIBBF/f8fq74gl7VzkUrh6MLHDTV3YREdOAwzA5cZpqQCEYEM1fpCS7ZqCHJZsQkBrTWO/QDDz7CUErLee8QY0fqvlsAM5zOmcSgvZdr8lmvXDQwhwDlXrnwM7Lx8AjAwieC2q0VQAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;64417c5edf53afec563086584560d0e6a5cc1f07.png&quot;
        title=&quot;64417c5edf53afec563086584560d0e6a5cc1f07.png&quot;
        src=&quot;/static/78d6ff1dad7f0f6269e867542ee98274/f058b/64417c5edf53afec563086584560d0e6a5cc1f07.png&quot;
        srcset=&quot;/static/78d6ff1dad7f0f6269e867542ee98274/c26ae/64417c5edf53afec563086584560d0e6a5cc1f07.png 158w,
/static/78d6ff1dad7f0f6269e867542ee98274/6bdcf/64417c5edf53afec563086584560d0e6a5cc1f07.png 315w,
/static/78d6ff1dad7f0f6269e867542ee98274/f058b/64417c5edf53afec563086584560d0e6a5cc1f07.png 630w,
/static/78d6ff1dad7f0f6269e867542ee98274/40601/64417c5edf53afec563086584560d0e6a5cc1f07.png 945w,
/static/78d6ff1dad7f0f6269e867542ee98274/78612/64417c5edf53afec563086584560d0e6a5cc1f07.png 1260w,
/static/78d6ff1dad7f0f6269e867542ee98274/922e6/64417c5edf53afec563086584560d0e6a5cc1f07.png 2140w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;点击选择一个 刚创建的 Integration 点击邀请&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/f59982e0ab665fcbb2dd2de02b69f497/f4281/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 27.21518987341772%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAABHElEQVQY01XIy0rDUBSF4byyU6dOBAdix4IJWtBRtQXBNxCk9qZtEK1tU1Nbm+upOSenTX5JIoJr87HX3oZlmdijIb1epzQY9Oj3u+Ue9Ks+HD4xGj2Xil78Ot1H7OGAo7sH9hr37N+2OTyuYbRaTYrIVKJSid6mKK1ItSpvqRJ2+Y78d7Jsh1IJSfINmebiJeCg/cWJLaidnmE0Gw30RrDxPDa+T7RakYQhaF3ZbiFNyaSsaE1OlSwvWiEr7/rFOcZ1vY4MAsa2zcd4jPP2ijt5Z+nMWDoOi+mEtesiPA+xXiMWn8RCEMcxQgiiOCaMIlSaYpomxs3lFUjJajYlXCz+CVwXbz4nWi5RQYD0/YpSSCn/JElCnudYlsUP1mNtn5jM4KsAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png&quot;
        title=&quot;c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png&quot;
        src=&quot;/static/f59982e0ab665fcbb2dd2de02b69f497/f058b/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png&quot;
        srcset=&quot;/static/f59982e0ab665fcbb2dd2de02b69f497/c26ae/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png 158w,
/static/f59982e0ab665fcbb2dd2de02b69f497/6bdcf/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png 315w,
/static/f59982e0ab665fcbb2dd2de02b69f497/f058b/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png 630w,
/static/f59982e0ab665fcbb2dd2de02b69f497/40601/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png 945w,
/static/f59982e0ab665fcbb2dd2de02b69f497/f4281/c3cb85ef1d7035b073d9cee7de40c0d0adee62d1.png 1016w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;二-blog配置&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8C-blog%E9%85%8D%E7%BD%AE&quot; aria-label=&quot;二 blog配置 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;二. Blog配置&lt;/h2&gt;
&lt;h3 id=&quot;1-安装notionhqclient-和-dotenv-库&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-%E5%AE%89%E8%A3%85notionhqclient-%E5%92%8C-dotenv-%E5%BA%93&quot; aria-label=&quot;1 安装notionhqclient 和 dotenv 库 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. 安装@notionhq/client 和 dotenv 库&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; dotenv-cli --save-dev
&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; @notionhq/client --save-dev&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;2-新建脚本文件-binget-blog-postsjs&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-%E6%96%B0%E5%BB%BA%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6-binget-blog-postsjs&quot; aria-label=&quot;2 新建脚本文件 binget blog postsjs permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. 新建脚本文件 /bin/get-blog-posts.js&lt;/h3&gt;
&lt;p&gt;因为Notion的API也在更新, 下面的转换文件是有时效性的, github也有很多这样的专门转换的库, 下面这个文件是我站在@Arnaud Valensi 的肩膀上, 代码稍微改了一下基本文字和图片的转换能用, 可能视频也需要更新, 有更新我会在这个文件 &lt;a href=&quot;https://github.com/zhalice2011/blog/blob/master/bin/get-blog-posts.js&quot;&gt;https://github.com/zhalice2011/blog/blob/master/bin/get-blog-posts.js&lt;/a&gt;  进行更新&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/898e64c664c1681964b849546aa08448/cc155/f0f9596850cce55a28a10f3494add8a4aa84f261.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 12.025316455696203%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAb0lEQVQI12Pgdsv5z+1X/p85rO2/ekLrfwG/0v+MLnn/WVzzEdgNhAtwYma3/P/cPqX/ZUJL/zOo6Bj/l9My+m9iZvbfxMnuv7K9/X8NN6f/ao72/9WcHMBYycjsv4KmwX8FLUOcWF7P+L+Jo+t/AIwuQmoBDWS3AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;f0f9596850cce55a28a10f3494add8a4aa84f261.png&quot;
        title=&quot;f0f9596850cce55a28a10f3494add8a4aa84f261.png&quot;
        src=&quot;/static/898e64c664c1681964b849546aa08448/f058b/f0f9596850cce55a28a10f3494add8a4aa84f261.png&quot;
        srcset=&quot;/static/898e64c664c1681964b849546aa08448/c26ae/f0f9596850cce55a28a10f3494add8a4aa84f261.png 158w,
/static/898e64c664c1681964b849546aa08448/6bdcf/f0f9596850cce55a28a10f3494add8a4aa84f261.png 315w,
/static/898e64c664c1681964b849546aa08448/f058b/f0f9596850cce55a28a10f3494add8a4aa84f261.png 630w,
/static/898e64c664c1681964b849546aa08448/cc155/f0f9596850cce55a28a10f3494add8a4aa84f261.png 886w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Client &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@notionhq/client&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; slugify &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;slugify&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; path &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;path&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; rimraf &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;rimraf&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; fs &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;fs&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; fetch &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;node-fetch&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; crypto &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;crypto&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;NOTION_TOKEN&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;env&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;NOTION_TOKEN&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;NOTION_ROOT_PAGE_ID&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;env&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;NOTION_ROOT_PAGE_ID&lt;/span&gt;

console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&quot;NOTION_ROOT_PAGE_ID: &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;NOTION_ROOT_PAGE_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&quot;NOTION_TOKEN: &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;NOTION_TOKEN&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; markdownPages &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Initializing a client&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; notion &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Client&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;auth&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;NOTION_TOKEN&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; regexMeta &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token regex&quot;&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token regex-source language-regex&quot;&gt;^== *(\w+) *:* (.+) *$&lt;/span&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; destPath &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; path&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;normalize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;path&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;__dirname&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;..&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;content&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;blog&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;notion&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;downloadFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;url&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; destinationFolder&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;-&gt; Downloading &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;url&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; response &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fetch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;url&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; contentType &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; response&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;headers&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;content-type&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; ext &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; contentType&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;contentType&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; buffer &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; response&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;buffer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; hash &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; crypto&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createHash&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;sha1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;buffer&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;digest&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;hex&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; fileName &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;hash&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;ext&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; filePath &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; path&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;destinationFolder&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; fileName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; fs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;promises&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;writeFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filePath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; buffer&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; fileName
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toTextString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;reduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;result&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; textItem&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;=================&gt; not a &apos;text&apos; type: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;link &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;result&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;link&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;url&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;annotations&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;code &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;result&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\`&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;result&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textItem&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;processBlocks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageContent&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; textPrefix &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; metas &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; wasBulletedList &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; block &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; pageContent&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;results&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;wasBulletedList &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;bulleted_list_item&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      wasBulletedList &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;object &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;block&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;child_page&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; subpageSlug &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toMarkdown&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; text &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;child_page&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;](/blog/&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;subpageSlug&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;)\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;paragraph&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;// Empty block.&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;paragraph&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; text &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;\n\n&quot;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;continue&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

      &lt;span class=&quot;token comment&quot;&gt;// Meta.&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; match &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;paragraph&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;regexMeta&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;match &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;match&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;: &apos;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;match&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;continue&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

      &lt;span class=&quot;token comment&quot;&gt;// Simple text.&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textPrefix&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toTextString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;paragraph&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
      block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;heading_2&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
      block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;heading_2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textPrefix&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;## &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toTextString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;heading_2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
      block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;heading_3&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
      block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;heading_3&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textPrefix&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;### &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toTextString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;heading_3&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;bulleted_list_item&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      wasBulletedList &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textPrefix&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;* &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toTextString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;bulleted_list_item&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text
      &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;code&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textPrefix&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\`\`\`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;code&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;language&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toTextString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;code&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rich_text
      &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\n\`\`\`\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;video&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\`video: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;video&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;external&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;url&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;\`\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;image&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      image_name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;downloadFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;image&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;url&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; destPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;textPrefix&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;image_name&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;image_name&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;)\n\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;divider&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;text&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;---\n&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=====&gt; Unhandled block: &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;block&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; metas&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toMarkdown&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;pageId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ignore&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; pageProps &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; notion&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;pages&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;retrieve&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;page_id&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; pageId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; pageContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; notion&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;blocks&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;children&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;block_id&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; pageId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; pageTitle &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; pageProps&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;properties&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?.&lt;/span&gt;plain_text
  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;pageTitle&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// is untitled page &lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; slug &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;slugify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageTitle&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;lower&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token regex&quot;&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token regex-source language-regex&quot;&gt;[*+~.,()&apos;&quot;!:@]&lt;/span&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token regex-flags&quot;&gt;g&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; metas &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;

  &lt;span class=&quot;token comment&quot;&gt;// Handle Frontmatter.&lt;/span&gt;
  metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;title: &apos;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;pageTitle&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; date &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; pageProps&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;created_time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;slice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;date: &apos;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;date&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; description &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;&apos;&lt;/span&gt;
  metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;description: &apos;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;pageTitle&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token comment&quot;&gt;// Download the cover and add it to the frontmatter.&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageProps&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;cover &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; pageProps&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;cover&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;external&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; pageCoverUrl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; pageProps&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;cover&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;external&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;url
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; coverImageName &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;downloadFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageCoverUrl&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; destPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;featured: &apos;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;coverImageName&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;contentText&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; childMetas&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;processBlocks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageContent&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;childMetas&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  metaText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;---\n&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; metas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;\n---\n&quot;&lt;/span&gt;
  text &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; metaText &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; contentText

  &lt;span class=&quot;token comment&quot;&gt;// Save the page data if it is not the root page.&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;ignore&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    markdownPages&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;slug&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; text
    console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;=&gt; Imported &quot;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;pageTitle&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; slug
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// console.log(`-&gt; Cleaning the &apos;${destPath}&apos; folder`)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// rimraf.sync(destPath)&lt;/span&gt;
  fs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;mkdirSync&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;destPath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;recursive&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toMarkdown&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;NOTION_ROOT_PAGE_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; Promise&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    Object&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;entries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;markdownPages&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;slug&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; markdown&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; filename &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;slug&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;.md&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; filepath &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; path&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;destPath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; fs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;promises&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;writeFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filepath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; markdown&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;Done: imported &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;Object&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;entries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;markdownPages&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; pages.&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;catch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;error&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;2-新建环境配置文件-env&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-%E6%96%B0%E5%BB%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6-env&quot; aria-label=&quot;2 新建环境配置文件 env permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. 新建环境配置文件 /.env&lt;/h3&gt;
&lt;p&gt;获取NOTION_ROOT_PAGE_ID&lt;/p&gt;
&lt;p&gt;打开Blog页面, 后面那一串数组就是了&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/fd898c71a8dc332b7eedd93ae930cfb0/33d1d/6d96778ae1229cdfb2c7e098991982187be7beaa.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 12.658227848101264%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAlElEQVQI123MyQ6CQBREUf7/7xgDNDzoZlBj4sAkiU2uoaMujIuTStWiPJGKy/XOsjx+rMzzwm0YUWLIxSCmR3T3V1k1jte0DcMwsm0b1lrsO/f+tJZ1nGiUoJXQVYZW9NfeP/rj2fHa/kBt9veaTBVOmiuyvCAtSuooQfsBVRgjQUTph5R+4Og4cdspzRinmfs08QImpN1EyFep3gAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;6d96778ae1229cdfb2c7e098991982187be7beaa.png&quot;
        title=&quot;6d96778ae1229cdfb2c7e098991982187be7beaa.png&quot;
        src=&quot;/static/fd898c71a8dc332b7eedd93ae930cfb0/f058b/6d96778ae1229cdfb2c7e098991982187be7beaa.png&quot;
        srcset=&quot;/static/fd898c71a8dc332b7eedd93ae930cfb0/c26ae/6d96778ae1229cdfb2c7e098991982187be7beaa.png 158w,
/static/fd898c71a8dc332b7eedd93ae930cfb0/6bdcf/6d96778ae1229cdfb2c7e098991982187be7beaa.png 315w,
/static/fd898c71a8dc332b7eedd93ae930cfb0/f058b/6d96778ae1229cdfb2c7e098991982187be7beaa.png 630w,
/static/fd898c71a8dc332b7eedd93ae930cfb0/40601/6d96778ae1229cdfb2c7e098991982187be7beaa.png 945w,
/static/fd898c71a8dc332b7eedd93ae930cfb0/33d1d/6d96778ae1229cdfb2c7e098991982187be7beaa.png 1150w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;获取NOTION_TOKEN, 就是刚才创建 Integration 保存的那个密钥&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token assign-left variable&quot;&gt;NOTION_TOKEN&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;secret_xxxxxxxxxxxxx
&lt;span class=&quot;token assign-left variable&quot;&gt;NOTION_ROOT_PAGE_ID&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;94d3002182824088xxxxxxxxxxxx&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5f31c0a78cf1519416366287379d07c1/c8ad9/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 19.62025316455696%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAvUlEQVQY022Oy07DMBAA8x/xixKvg0CNGmjTcirYid3C///OoCSl4sBhNJ7dg7d6Ekvwjs2DRUTwjcd7wftfy72bZmXu2UEC7XPHS/dGt90ioaUKjUPEU9cKpTRKrdba3FpTK4XWGmPMnXn/t2esNVTGrJcdh57j8MrpxmG/4/20X2bDYUcbBGstzrl/sdbxuHFU889tGyh5opS8cCmZMUW+v66k+Mk4JnLOnM8fi1NKCzFGpmla3qUU+r7nB5DmeJ2sfgFPAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png&quot;
        title=&quot;4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png&quot;
        src=&quot;/static/5f31c0a78cf1519416366287379d07c1/f058b/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png&quot;
        srcset=&quot;/static/5f31c0a78cf1519416366287379d07c1/c26ae/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png 158w,
/static/5f31c0a78cf1519416366287379d07c1/6bdcf/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png 315w,
/static/5f31c0a78cf1519416366287379d07c1/f058b/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png 630w,
/static/5f31c0a78cf1519416366287379d07c1/40601/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png 945w,
/static/5f31c0a78cf1519416366287379d07c1/78612/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png 1260w,
/static/5f31c0a78cf1519416366287379d07c1/c8ad9/4f375a0d2dc52ea74e8df323fbf19a387ddfe7f4.png 1564w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;创建好了两个文件&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5413ac18c18ef0f3d54db438647032f7/9cab2/ed5ef5f04681a863402fb2f6252e13fae708944f.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 74.68354430379746%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABYlAAAWJQFJUiTwAAACH0lEQVQ4y5WS208TQRSH980nA0pUsJV259bLtt1bt7u9pC2FgvAgBFItQRIi4osaE2OwPhqN//ZnuilEELA+fJlJZubL78w5VkFrSn6C3XxOteVTNAqTy2Py9iUlIXCUwpHyVrTWVAMP697wPQ97p5R2TqiOPuGMvhAcfk1X/3CCOz4nu/OB+723LKydsdC/xtoZi71TlgbvWNn/jLWU7JHpH2O//EZn9w2d0UfCnRPczSO8rdcpqjtipbFLJt7j6Q1k410yjRfk1sdY5XwWkwx4fPyddlBh2I0IHI14lkXnVlG5VQp2jpLI34GNsXO4ZYNlpEAm6zx5dU7sZujGGRqBQKoCShuULswwd1BAa0Xgl7EKUqCnwsMJpaZHeZBQ6tSpbjRTin4VJRRam9tRGmUMtTCYCm3sZJPFo1/EUUi336ceRdhimlKlCdIHdwm1QUpFpVLF0lLjJXWaB9s0oph2q029HhEEIZ7nY0wBpfQsyd+ii7MrQjeJaI+2CYOQOE5S0RTX9a4K50l4UfKDo590Wy02hpu4no9tC4SQl7J/Sf8QzpoynhAGAY04TlNd//S03HS9gZnQuRDKeMDyeEInqFCcHs6aMDfKYLQm9D2sorSRrS0eHf/Abwc4zRCj9H8zHRs39LGUUrhundpwnzgq0ogcKlJTlWouKlJRS/cSN6hhCWUIZZ6uWabnrtIo5ikLnV6cl9p0UoTArTn8BlkjyYbXdpXlAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;ed5ef5f04681a863402fb2f6252e13fae708944f.png&quot;
        title=&quot;ed5ef5f04681a863402fb2f6252e13fae708944f.png&quot;
        src=&quot;/static/5413ac18c18ef0f3d54db438647032f7/f058b/ed5ef5f04681a863402fb2f6252e13fae708944f.png&quot;
        srcset=&quot;/static/5413ac18c18ef0f3d54db438647032f7/c26ae/ed5ef5f04681a863402fb2f6252e13fae708944f.png 158w,
/static/5413ac18c18ef0f3d54db438647032f7/6bdcf/ed5ef5f04681a863402fb2f6252e13fae708944f.png 315w,
/static/5413ac18c18ef0f3d54db438647032f7/f058b/ed5ef5f04681a863402fb2f6252e13fae708944f.png 630w,
/static/5413ac18c18ef0f3d54db438647032f7/9cab2/ed5ef5f04681a863402fb2f6252e13fae708944f.png 864w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;4-修改packagejson新增一个脚本命令执行上面的脚本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-%E4%BF%AE%E6%94%B9packagejson%E6%96%B0%E5%A2%9E%E4%B8%80%E4%B8%AA%E8%84%9A%E6%9C%AC%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E8%84%9A%E6%9C%AC&quot; aria-label=&quot;4 修改packagejson新增一个脚本命令执行上面的脚本 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4. 修改package.json新增一个脚本命令执行上面的脚本&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token string&quot;&gt;&quot;import-notion-posts&quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;dotenv -- node ./bin/get-blog-posts.js&quot;&lt;/span&gt;,&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/005090b50df7a633b7be0c6472f159c4/9685e/fc7271b6d6454ab498400477ab8f2e986fa08b03.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 17.72151898734177%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAy0lEQVQY012O22qEMBRF/YwZYjwx3hATY7xWpJeBQv//i1bRDqX0YbEOmw37JEOMzNOEd46qLBmGAe88IQRijIwxUliLZBkighH59d9bniQihi4Ems6hjcFaS5qmKKXQmUaLcFMpd6W4pym30+rH/zk7iRjN7EeOjy9eloO1n/Bdj+8Cbd3ijGFvKqLN6XPDVpcEm7PW5cVSFVc2lwVjYc8PNbHp2N8+WdaDZX9n8z2PaeS19zxcy9bUdCK0WcZgc5yRy8NzJBb28sk3Og1z3dpUrVMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;fc7271b6d6454ab498400477ab8f2e986fa08b03.png&quot;
        title=&quot;fc7271b6d6454ab498400477ab8f2e986fa08b03.png&quot;
        src=&quot;/static/005090b50df7a633b7be0c6472f159c4/f058b/fc7271b6d6454ab498400477ab8f2e986fa08b03.png&quot;
        srcset=&quot;/static/005090b50df7a633b7be0c6472f159c4/c26ae/fc7271b6d6454ab498400477ab8f2e986fa08b03.png 158w,
/static/005090b50df7a633b7be0c6472f159c4/6bdcf/fc7271b6d6454ab498400477ab8f2e986fa08b03.png 315w,
/static/005090b50df7a633b7be0c6472f159c4/f058b/fc7271b6d6454ab498400477ab8f2e986fa08b03.png 630w,
/static/005090b50df7a633b7be0c6472f159c4/40601/fc7271b6d6454ab498400477ab8f2e986fa08b03.png 945w,
/static/005090b50df7a633b7be0c6472f159c4/78612/fc7271b6d6454ab498400477ab8f2e986fa08b03.png 1260w,
/static/005090b50df7a633b7be0c6472f159c4/9685e/fc7271b6d6454ab498400477ab8f2e986fa08b03.png 1336w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;5-在blog下编写一篇文章&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#5-%E5%9C%A8blog%E4%B8%8B%E7%BC%96%E5%86%99%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0&quot; aria-label=&quot;5 在blog下编写一篇文章 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;5. 在Blog下编写一篇文章&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/36e63c6ef8e399e6a4bac9c2c662d70d/99072/254b336036e91c1f4beebd12fe440ffe412f572e.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 18.354430379746837%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAvUlEQVQY05WMf2uCUBhG/f6fapGl+Wuadpe6VbKKjGKUy4upnXGvxGD/7YUDz3MeeI26rlBI+Y2UKl95uv/QdS3qjOO2YLd+Z50KLqeSTt5o62rgVv3muuL+pw/uirx80d2b4eE+FWxETPbqkcympIHLmzdj6Ts6L1wb4dq656GvN4Vyal/FIefPguZYQv/AOKSCYjFnFQVE5ojEMjXx1CTzHWLV7Qnh+IXEmiAca3CWqXMeuJw2HzTlAfqeH39nJc0FqIXOAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;254b336036e91c1f4beebd12fe440ffe412f572e.png&quot;
        title=&quot;254b336036e91c1f4beebd12fe440ffe412f572e.png&quot;
        src=&quot;/static/36e63c6ef8e399e6a4bac9c2c662d70d/f058b/254b336036e91c1f4beebd12fe440ffe412f572e.png&quot;
        srcset=&quot;/static/36e63c6ef8e399e6a4bac9c2c662d70d/c26ae/254b336036e91c1f4beebd12fe440ffe412f572e.png 158w,
/static/36e63c6ef8e399e6a4bac9c2c662d70d/6bdcf/254b336036e91c1f4beebd12fe440ffe412f572e.png 315w,
/static/36e63c6ef8e399e6a4bac9c2c662d70d/f058b/254b336036e91c1f4beebd12fe440ffe412f572e.png 630w,
/static/36e63c6ef8e399e6a4bac9c2c662d70d/99072/254b336036e91c1f4beebd12fe440ffe412f572e.png 842w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;6-测试脚本运行-自动拉取notion的文章生成markdown到目标目录下&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#6-%E6%B5%8B%E8%AF%95%E8%84%9A%E6%9C%AC%E8%BF%90%E8%A1%8C-%E8%87%AA%E5%8A%A8%E6%8B%89%E5%8F%96notion%E7%9A%84%E6%96%87%E7%AB%A0%E7%94%9F%E6%88%90markdown%E5%88%B0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E4%B8%8B&quot; aria-label=&quot;6 测试脚本运行 自动拉取notion的文章生成markdown到目标目录下 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6. 测试脚本运行, 自动拉取Notion的文章生成Markdown到目标目录下&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; run import-notion-posts&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d6992cd2fddfe9985b6832c673d0171c/e5ca1/2f414057a8805e1bc59aff2e872c84e19abc083b.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 30.37974683544304%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA4ElEQVQY01VR2Y6CQBCcJ/GKBwjs/sD6pHghcxhcB/T//6hN10wTfahUOtXTVQVqXd9poz2wqu+0vv7T4tKCGZn2YNaz5kFp8wBjN77lOTcd5caTKmyHobA9BF4QMdNhLl2Pw2HXDwFY5zcwjiZKjhSmA0sCWUxjujTOy0s7pJofbzQDHE0PDjwc/HFPVEijk9STxxsjybtgVgej0vYI83t7oaX6rJDHlKV7ftTyWOZ6+AzRhA8tzi1NDxaYVJbGlQkJ5WcIszDaNTSpDI33AUlk1pK9pmSnSW1PpP6OX3gDYdy2Tp0bZBQAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;2f414057a8805e1bc59aff2e872c84e19abc083b.png&quot;
        title=&quot;2f414057a8805e1bc59aff2e872c84e19abc083b.png&quot;
        src=&quot;/static/d6992cd2fddfe9985b6832c673d0171c/f058b/2f414057a8805e1bc59aff2e872c84e19abc083b.png&quot;
        srcset=&quot;/static/d6992cd2fddfe9985b6832c673d0171c/c26ae/2f414057a8805e1bc59aff2e872c84e19abc083b.png 158w,
/static/d6992cd2fddfe9985b6832c673d0171c/6bdcf/2f414057a8805e1bc59aff2e872c84e19abc083b.png 315w,
/static/d6992cd2fddfe9985b6832c673d0171c/f058b/2f414057a8805e1bc59aff2e872c84e19abc083b.png 630w,
/static/d6992cd2fddfe9985b6832c673d0171c/40601/2f414057a8805e1bc59aff2e872c84e19abc083b.png 945w,
/static/d6992cd2fddfe9985b6832c673d0171c/78612/2f414057a8805e1bc59aff2e872c84e19abc083b.png 1260w,
/static/d6992cd2fddfe9985b6832c673d0171c/e5ca1/2f414057a8805e1bc59aff2e872c84e19abc083b.png 1332w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;执行成功可以在 /content/blog/notion 文件夹看到我们转化的MD和下载的文件&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/38e0cf880d116b999b74c08d5e2c2c21/5caea/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 79.74683544303798%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAABYlAAAWJQFJUiTwAAAC0ElEQVQ4y32RWZPbVBBG/RgeUhWgKpmE8SJfLdZmSZZlSZa1eZnJsAUmw0yAMEWGB94o8jf404e6V5YJxfLQ1X37Sud+X/fAMk20Rcnc16mTIdlCo0zHhL5ACBPDMNH/J4RuYZmCeBGgTQUDWxuiFVeMXj0QZQZuaDK3J7gzDUMITL0LS0yx9H+GKabMrA441aYMntT3nH3xO0/e/kH05j3WN7/xOPuJj4t7Ptnc82nR1Y+qBz6q3h3j4ZQfle94fPiV86tfGAudwfPVl+irz3nx1XsWr34m/PoHJu01091rpofv0Hev0V7e8vTyjrPLW86u3vDsostnl3c8293wtLpGtN8yUZbFBEcbMqqvsfMF87VHWIWEdahysAkI6oiwXRDUIUEZdCHvm4h57mM7gjjymWoaA8OyMQ2TF/sfmTUlbrPC3Wa4bYbTpCrUWea263u7HLdO8fZr7CzGcByiJOlmaJoWpmFw3txg1wX+PsWtErw2xWtWp5A9f5/jbTP8faYeln1nvcB0bKJk2SmUQMvQ+UwqLAu8NsGtVni7DLde4ZZJB91m6hHZ67N8RAF9l2gZ/6VQAXffMyvXeGXcQaTCo0oFkcCT4vQEdbLoP4DbO6x1hr/tFDhFfLLu1slJUR8SLEcga8Oe/btCCfSaRNntlSl1vbJ+DH1/m+KWSww5w+USIcQHS2lvsYocr1qqH/1D3i3hCFd106nva5XbtLOcLNEm2t8Vqi1Ly/UKX4KOKhSoX8YHtuU3zjrGtGc4vsd4NOoV6jw/vGXWbPAvMrxDjtuucMolroS0R3ttZ1tZVyNIsYsYc+4iLIvhcMjAMC1cXUdvbvDSjPlqQbhJiZqcoEiIqpSwSgnKlHkaE5Zp12syojYnyhd4to1vWYx7YChneLhnvfE55OdsC419MaHJNVVflGN2xYQ2n/CyGqu7QynPGpGvk8cTQlMwHY74E6Is+9xgjLlDAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png&quot;
        title=&quot;2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png&quot;
        src=&quot;/static/38e0cf880d116b999b74c08d5e2c2c21/f058b/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png&quot;
        srcset=&quot;/static/38e0cf880d116b999b74c08d5e2c2c21/c26ae/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png 158w,
/static/38e0cf880d116b999b74c08d5e2c2c21/6bdcf/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png 315w,
/static/38e0cf880d116b999b74c08d5e2c2c21/f058b/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png 630w,
/static/38e0cf880d116b999b74c08d5e2c2c21/40601/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png 945w,
/static/38e0cf880d116b999b74c08d5e2c2c21/5caea/2c029555fcfe1e9b0eabdd958ee4fb544531cc52.png 996w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;执行 npm run develop 或者 gatsby develop在浏览器查看效果&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; run develop&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;发布到Github Page &lt;a href=&quot;http://zhalice.com&quot;&gt;zhalice.com&lt;/a&gt; 上, 可以看到效果基本是一致的.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; run deploy&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/a6129da142ca49924b30706765060abd/01744/205c4f6776f41f7e2a228ca35ee076e78e114f93.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 62.65822784810127%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB/ElEQVQ4y4WTgW7iMAyG+/5vddJp0t1uAwYUyoBSylagQGmTlCZt+U4JYxpip7Nk1Y3t3/YfxxNSIpVCSom1VVnSns9YsV9r6UqjxB5tqoutFEpJpBQYY1zs+SPHm80X+KOAgT8mmEzxxxP6A9/pOHil9zLk959nTpXmf9K2Ld7jU4cfPx/4+fCLx6cu680WISTZMacoBHkh3JnWlUvodjv0X3p0O88MhwNnD/ovzGZTRiMf73Q6obXGzmYTvhPrt6NZ/3DQ53US0Ot1mUwCxiOfKFpgcWyMJ6RgOpvy3O2QF/ln65aTKy9lWV6Kfsj1/DvxTKFQuwyx3d84/gW4Xq9dV7td6vy2+NcGvH2aMptMieYhQRAQhiFN09x0cgE0cG7ZJDGbTcLbKibLsrvinjaGPM/Ypu8cDnvy/Hg3mhAFNq5tGuLljONxhzHVtxR47qBteI9DZGErnqmq6qaq3Ts7sv3frCL26xVNbVyHh8PhpkuvaVuM0Yhsz0kWNG1Dmm5vbvwrh7XW1OYCbqn5utgO8C1eMfZ9FuECWQho2rtRLOA1MVknJEniXtaV65tbroVCZwV1LqGsoLxfj1NZOtC6rlGyQElBqSRKCYw+YXT1qd41OU03xHFEFIVs1onjlfNFbWK8jFjFMeF8zmIREsdLZy+jyNl2ucNwzl9eLOb2cXGRVQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;205c4f6776f41f7e2a228ca35ee076e78e114f93.png&quot;
        title=&quot;205c4f6776f41f7e2a228ca35ee076e78e114f93.png&quot;
        src=&quot;/static/a6129da142ca49924b30706765060abd/f058b/205c4f6776f41f7e2a228ca35ee076e78e114f93.png&quot;
        srcset=&quot;/static/a6129da142ca49924b30706765060abd/c26ae/205c4f6776f41f7e2a228ca35ee076e78e114f93.png 158w,
/static/a6129da142ca49924b30706765060abd/6bdcf/205c4f6776f41f7e2a228ca35ee076e78e114f93.png 315w,
/static/a6129da142ca49924b30706765060abd/f058b/205c4f6776f41f7e2a228ca35ee076e78e114f93.png 630w,
/static/a6129da142ca49924b30706765060abd/40601/205c4f6776f41f7e2a228ca35ee076e78e114f93.png 945w,
/static/a6129da142ca49924b30706765060abd/78612/205c4f6776f41f7e2a228ca35ee076e78e114f93.png 1260w,
/static/a6129da142ca49924b30706765060abd/01744/205c4f6776f41f7e2a228ca35ee076e78e114f93.png 2830w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;三-参考-reference&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%89-%E5%8F%82%E8%80%83-reference&quot; aria-label=&quot;三 参考 reference permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;三. 参考 (Reference)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@tfaieta/how-i-use-notion-as-my-cms-for-my-gatsby-site-c449cc9a4687&quot;&gt;https://medium.com/@tfaieta/how-i-use-notion-as-my-cms-for-my-gatsby-site-c449cc9a4687&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arnaudvalensi.github.io/blog/making-a-blog-using-notion-gatsby-and-github-pages/&quot;&gt;https://arnaudvalensi.github.io/blog/making-a-blog-using-notion-gatsby-and-github-pages/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.redgregory.com/notion/2020/6/15/9zuzav95gwzwewdu1dspweqbv481s5&quot;&gt;https://www.redgregory.com/notion/2020/6/15/9zuzav95gwzwewdu1dspweqbv481s5&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[How to Get Duration of Video]]></title><description><![CDATA[一.下载FFmpeg 去FFmpeg官网 https://ffmpeg.org/download.html 下载   

 二.添加到环境变量 将下载的和都复制到文件夹下 到这一步已经可以在任何路径下使用ffmpeg…]]></description><link>https://zhalice2011.github.io/2022/get-duration-of-video/</link><guid isPermaLink="false">https://zhalice2011.github.io/2022/get-duration-of-video/</guid><pubDate>Sat, 09 Apr 2022 00:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;一下载ffmpeg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E4%B8%8B%E8%BD%BDffmpeg&quot; aria-label=&quot;一下载ffmpeg permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一.下载FFmpeg&lt;/h3&gt;
&lt;p&gt;去FFmpeg官网 &lt;a href=&quot;https://zhalice2011.github.io/blog&quot;&gt;https://ffmpeg.org/download.html&lt;/a&gt; 下载&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/111d773f6ac51fda2bb21c11b49ab7aa/68638/1.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 60.75949367088608%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAACiElEQVQoz4WSO2sUURiGB8TgD9BCBHVnz9zOXHbm7CY7EzMzu5v1kjUXtVBsRIiCaEAjVippROwtFRsLC8FCsBEDAS8QEhU1ELXw0lkpCiJo8+gMGKKFHnh4+a58B16t2+0yPj5Or9djbGyMiYkJRkdHS82yDKUU9Xp9Rf9F0aP5vk8QBHiet4LruhT5QqWUK/Hv2ure1TPFnnJhnucMJgntdptOp0Mrz0niuMxnec5wt0uaZaRphhCCSqWCrusrVAutVDBNE63Y3oxjQqWIGg2iep1aFBGGIf2NOioKaaioJApDlIoIarWyXlwURVGptTDEkRJNOg51z8UzDLzKVjwh8AyBJQS6aaObDpt0i426hW5JhGERWBbK81CuR933Ua6LkhLfttF2ujaP04CnacDj/T0W24rXeY3JwEYbP0/foStUT1zFO3WNtYevsa4zxZmp4zx/scSD+/eZm5tjfn6eRw8fkscx2h5f8mN7xPeRAb6dPsLXgyMwXOOMctEOXKZv+i53nrzj9uIbtJP30HozXJo5R/GWl5eZnZ3l85cvfPr4keE0Ret5Dq9Sn5etkNf7urwcGeRDu8axmoO29wJrJ6+Tztxk5OIt1hy9QV93mrPTJ3n7/j0LCwvllUtLSzx/9oxWMojmOQ6tMGBYRcSmoF/oNE2BI6pstn22OBHrqz4bhM8WGVExXZQrSQeaJXmSMDQwwFCjQeA4aL50ybOsNHHhOcuysC0b17KRhsA2BdIySuwyNjAM4w/b6NUqFV0vZ7XQtsnTmFZnG+3OEGO7drFn925Gd+wgbTZLS/1NHMckSfIHzWYTp7hQmiauMHANAykKiu+KUm3DwDDN0rD/o7ja/mWbn0BUrGL93wmGAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;download&quot;
        title=&quot;download&quot;
        src=&quot;/static/111d773f6ac51fda2bb21c11b49ab7aa/f058b/1.png&quot;
        srcset=&quot;/static/111d773f6ac51fda2bb21c11b49ab7aa/c26ae/1.png 158w,
/static/111d773f6ac51fda2bb21c11b49ab7aa/6bdcf/1.png 315w,
/static/111d773f6ac51fda2bb21c11b49ab7aa/f058b/1.png 630w,
/static/111d773f6ac51fda2bb21c11b49ab7aa/40601/1.png 945w,
/static/111d773f6ac51fda2bb21c11b49ab7aa/78612/1.png 1260w,
/static/111d773f6ac51fda2bb21c11b49ab7aa/68638/1.png 1510w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/701298bbbe3ad7292431afb98f729d1f/9239a/2.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 115.18987341772151%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAABYlAAAWJQFJUiTwAAAEV0lEQVQ4y22V+2uTVxjH85/UTW1jkjfnvfbNtWvsJRedQ5BuzK4qzq32Ztems1jW1TlMccVW2sEQ2Uo7trKV4UB/EvxFEKFbtLramlZFxRteimIFUfiM90RjbRv45nnOOXk+7/eckzxxqarA8CjoxT70Eq+UUaJglPgKUZf522h6FJw6IVRUIVBVtSCX6VVY/1mUDT0JNnYl2PRNisS+Sqn4vgpSXdVs6IqT6oqzYV+cVE+c2NawhApNleB3gL61xXQca+PUwin2X9zPj3NDHJo5ROZyhh9mDtGebaPnv2/5fuoAndm9pKfb2dK3Gb3Yi9C1Aki8durS13mp6dxMx9/tbBuuZcdIHS1jjTT+Xk/6j1Y5t+2XWrYP11L381Z2/FbHxta4PBrhgPyiAHOiS/ULYrEQVckoGzdVkUjFqE6UEa8upypZRrTMwrL9BGwV2xaU2gLbEpiWjmZrUqq+yKGTCENFtTSEpUqppc6HNBm1gFOoY1gGVrgUM2Rh2halTh420QJLgM6bpmpSuubE/Dac2/MrfilVqCiKwqqiVby3Kq+ioiLWrF5T2LJQ89Hl9XppaGhgaGiI/oF+BgcHGRgYkDp8+DD9/f0cOXJExkwmQ29vr4x9fX2k0+kCrHDLbrebsbEx7t+/z7Vr13j16hVPnz6V49nZWR48eMCjR4+4evWqnF/8unTpUh4olgCHh4e5fv062WyW27dvc+vWLQmfnJyUoJs3b8piZ/7Zs2fMz8/z4sULzp49uzJwZHSEu3fvSkeOm8ePH3Pnzh1yuZx0eu/ePebm5mT+/Plznjx5Indy7ty5lYGjo6PS0YULF6QLB+gUOw4d2MOHD6VD5yEvX75kYWFBbnliYmI5cN06N0d/OsrszCzZiSy56Ry5mZwcT2YnuXL5Cjdu3GB6eloei/Mg51icbZ8+fXo5UPEobEp/SMufzewerWf36Jc0/drI7pF6mseaqO3fSjAcJBKOEA6HCQaDUqFQCNu2lwOFIojWREi0J4i3VBPfU02yNUlyT4LEVwliO8tR/Ao+n09+FxfL7/e/0xgKvxSf24fnfQ+e1cvlXestuFhJDnSxXHYgQCAcJBgNEYwEV1QgtETBALJuBbl0XUf3CtQSv5RW4kd3C7QSgfY6vll7I90j0HUNzaldonyD3RIg0VpOsilGvOkDKhrCVDeVUdkYkeNU83qSzTG5nmyNUflpCMun4F/hCFzK2mJaj7bw1/xxus93M5gbpOdiD71TvRycOkjHvx10nu+ke7Kb9D9p9k7t5ZNjNRheRfbDZZeiuT3UffcxmTMH2DW+na9PttF+ooW2Ey2kT+xh53gdn49vp+l4PbvGd9Bw8gtqMh9henz5/5SlDVYTgrKoTXllkGRqPRVVESoqI1RWRGUejpiYlh/rtZzcNgWmoaGaGpqpoWpLGqxsoGETPWyghwyZG5Ypc2fOabJ6aX5NC+popTpG0FnT0UM6qvEW+D/9c8XnUX3VLwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;download&quot;
        title=&quot;download&quot;
        src=&quot;/static/701298bbbe3ad7292431afb98f729d1f/f058b/2.png&quot;
        srcset=&quot;/static/701298bbbe3ad7292431afb98f729d1f/c26ae/2.png 158w,
/static/701298bbbe3ad7292431afb98f729d1f/6bdcf/2.png 315w,
/static/701298bbbe3ad7292431afb98f729d1f/f058b/2.png 630w,
/static/701298bbbe3ad7292431afb98f729d1f/40601/2.png 945w,
/static/701298bbbe3ad7292431afb98f729d1f/9239a/2.png 1246w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/4155d034edd4388380798f11bff293e3/1320e/3.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 17.72151898734177%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAs0lEQVQY032O7W6CQBBFef+H0ldA8GNTa3cFLSAp2wUBDSzHzP5uneQkkztzZ27UdR3zPLN4z7IsbxmGgWmaQt/3PeL13iPlnCOOY6IvrWnbNoiy6N8g9Xg+sdYyjiO/zlHXdfBLqO5+J1qvV2yShI/jkcv1SlmWFP9QVhXmfCbdbvk8ndjt96RpSpZl5Hke9CjZxByUQilFdbvRWMtP0/yJzOSo1prvosAYEx5IUvFqY3gBSP8uRNyIy+AAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;download&quot;
        title=&quot;download&quot;
        src=&quot;/static/4155d034edd4388380798f11bff293e3/f058b/3.png&quot;
        srcset=&quot;/static/4155d034edd4388380798f11bff293e3/c26ae/3.png 158w,
/static/4155d034edd4388380798f11bff293e3/6bdcf/3.png 315w,
/static/4155d034edd4388380798f11bff293e3/f058b/3.png 630w,
/static/4155d034edd4388380798f11bff293e3/40601/3.png 945w,
/static/4155d034edd4388380798f11bff293e3/78612/3.png 1260w,
/static/4155d034edd4388380798f11bff293e3/1320e/3.png 1292w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 568px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/580383eade83b7f3c7662e3bc5f3067a/10e91/4.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 19.62025316455696%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA8klEQVQY03WOy0rDUBRFz6A1wdZWiRQfsailSczjtsnNDa2KiEU/wYFUwUHngvj4B6kT/Q0HKg78uiXYSEcONps92Isla4/fbNy80Xn4xL37YPP2Hff+i8XRFVa0RzUpsNWQSlRQS/s0coWVpDipYlUrWlqx1OshvkaCDPEnL2yNn2hdTlkeP9O8mOJcv2IdnWPHIZU4x1b7VOOCeqZoGsVCklJL+r+wdZNQV/05sAjbHMZtXK+D7ATIro9se0hXIX6O+BnipWVrpKtnZ0/Pt/dnp5EDnXBmQkJjWBme4gxGNMwxzuCESmRmoECXyf5PafgDfDB5COH37PYAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;download&quot;
        title=&quot;download&quot;
        src=&quot;/static/580383eade83b7f3c7662e3bc5f3067a/10e91/4.png&quot;
        srcset=&quot;/static/580383eade83b7f3c7662e3bc5f3067a/c26ae/4.png 158w,
/static/580383eade83b7f3c7662e3bc5f3067a/6bdcf/4.png 315w,
/static/580383eade83b7f3c7662e3bc5f3067a/10e91/4.png 568w&quot;
        sizes=&quot;(max-width: 568px) 100vw, 568px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 574px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/4d79dbf7abc4618534725812ee6ee4b9/86389/5.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 18.354430379746837%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA70lEQVQY032MsU7CUABFn6hFU7BSo2JsGjECbW3fa99rreigMXFwNCE6MTr5AwYJkfgR/g1hM37V0QADk8PJvbm5OcKb/NB8m3I4nHH8PsMbTvE/vtl/+aKaSLZVypa8oip7WIlmt0ioG4UtU46KhD0t53lgJJVQI6LBBK8/ov08wu2PsR/HOE+f2A+vbEQpVpKyGZdY8eVcWNMSWyvWQ01dKpxU0cgUNZkiugaRhT7n4Ql55OOctRGtANHqIE5D1oJ8cerqJQbRWbLaV7cLI4kzRaETmuYat3dPo7xjJ7/BLW+pRPlCFhhEoP/nT/gLYRt5vU4QUNcAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;download&quot;
        title=&quot;download&quot;
        src=&quot;/static/4d79dbf7abc4618534725812ee6ee4b9/86389/5.png&quot;
        srcset=&quot;/static/4d79dbf7abc4618534725812ee6ee4b9/c26ae/5.png 158w,
/static/4d79dbf7abc4618534725812ee6ee4b9/6bdcf/5.png 315w,
/static/4d79dbf7abc4618534725812ee6ee4b9/86389/5.png 574w&quot;
        sizes=&quot;(max-width: 574px) 100vw, 574px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;二添加到环境变量&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8C%E6%B7%BB%E5%8A%A0%E5%88%B0%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F&quot; aria-label=&quot;二添加到环境变量 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;二.添加到环境变量&lt;/h3&gt;
&lt;p&gt;将下载的&lt;code class=&quot;language-text&quot;&gt;ffmpeg&lt;/code&gt;和&lt;code class=&quot;language-text&quot;&gt;ffprobe&lt;/code&gt;都复制到&lt;code class=&quot;language-text&quot;&gt;/usr/local/bin&lt;/code&gt;文件夹下&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; ~/Downloads/
&lt;span class=&quot;token comment&quot;&gt;# 查看下载的文件&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;ls&lt;/span&gt; -a &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;ffmprob&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;ls&lt;/span&gt; -a &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;ffmpeg&quot;&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;# 复制ffmpeg&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;cp&lt;/span&gt; ./ffmpeg /usr/local/bin
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;chmod&lt;/span&gt; ugo+x /usr/local/bin/ffmpeg
&lt;span class=&quot;token comment&quot;&gt;# 复制ffprobe&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;cp&lt;/span&gt; ./ffprobe /usr/local/bin
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;chmod&lt;/span&gt; ugo+x /usr/local/bin/ffprobe&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;到这一步已经可以在任何路径下使用ffmpeg命令了&lt;/p&gt;
&lt;p&gt;如果没有可能是你没有将&lt;code class=&quot;language-text&quot;&gt;/usr/local/bin&lt;/code&gt;添加到 &lt;code class=&quot;language-text&quot;&gt;$PATH&lt;/code&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;vi&lt;/span&gt; ~/.bash_profile&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;在文件末尾添加以下内容即刻:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;&lt;span class=&quot;token environment constant&quot;&gt;PATH&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/usr/local/bin:&lt;span class=&quot;token environment constant&quot;&gt;$PATH&lt;/span&gt;&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;三查看视频时长&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%89%E6%9F%A5%E7%9C%8B%E8%A7%86%E9%A2%91%E6%97%B6%E9%95%BF&quot; aria-label=&quot;三查看视频时长 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;三.查看视频时长&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -i main-video.mp4&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/f15d86df29381d51fe0d9620e2cba0f1/d5f92/7.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 3.164556962025316%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAP0lEQVQI12Pg8y/6z25o8Z9NR/8/u67lf059KzBm1TH/z6Zr/p9d1wKM2XQt/nPoWYIxSBxEg8RB6tih4iA+AH6THMcdm7HLAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;download&quot;
        title=&quot;download&quot;
        src=&quot;/static/f15d86df29381d51fe0d9620e2cba0f1/f058b/7.png&quot;
        srcset=&quot;/static/f15d86df29381d51fe0d9620e2cba0f1/c26ae/7.png 158w,
/static/f15d86df29381d51fe0d9620e2cba0f1/6bdcf/7.png 315w,
/static/f15d86df29381d51fe0d9620e2cba0f1/f058b/7.png 630w,
/static/f15d86df29381d51fe0d9620e2cba0f1/40601/7.png 945w,
/static/f15d86df29381d51fe0d9620e2cba0f1/78612/7.png 1260w,
/static/f15d86df29381d51fe0d9620e2cba0f1/d5f92/7.png 2150w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Configuring a custom domain for your GitHub Pages site (Part 2)]]></title><description><![CDATA[一.查看Github Page的地址  二.添加解析记录 购买域名
(https://console.dnspod.cn/) 添加两条解析记录
  三.设置Github Pages自定义域名  等一会儿解析完, 就可以通过域名访问你的博客啦~  https://zhalice…]]></description><link>https://zhalice2011.github.io/2022/make-your-own blog-part2/</link><guid isPermaLink="false">https://zhalice2011.github.io/2022/make-your-own blog-part2/</guid><pubDate>Tue, 05 Apr 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d5f2779e5a84bf92e5d939ed7cc9b20e/c83bb/banner.jpg&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 75.31645569620254%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwAF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAXfPWFlo/8QAGRABAQEBAQEAAAAAAAAAAAAAAgEDEgAE/9oACAEBAAEFAol6KQc6qq/P0tMtCLSf/8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAIAQMBAT8BR//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EACAQAAICAAYDAAAAAAAAAAAAAAERAAIDEhMhIjFRgZH/2gAIAQEABj8C7HyCxD8qOlkIc1OT3M0sNj1ES5//xAAcEAADAQACAwAAAAAAAAAAAAAAASERMWFxgbH/2gAIAQEAAT8hrhRROeN5Zo3VHEenQT6ID2LjIETcXR//2gAMAwEAAgADAAAAEKg//8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAR/9oACAEDAQE/EAdmf//EABYRAQEBAAAAAAAAAAAAAAAAAAEAIf/aAAgBAgEBPxBSy//EAB0QAQACAgIDAAAAAAAAAAAAAAERIQBBMYFRYXH/2gAIAQEAAT8QY1Ygpp941wIIRPI+GGfe0cnnvLfMiDUzoxT4RwHbT3jsaMwK6z//2Q==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;writing blog&quot;
        title=&quot;writing blog&quot;
        src=&quot;/static/d5f2779e5a84bf92e5d939ed7cc9b20e/828fb/banner.jpg&quot;
        srcset=&quot;/static/d5f2779e5a84bf92e5d939ed7cc9b20e/ff44c/banner.jpg 158w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/a6688/banner.jpg 315w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/828fb/banner.jpg 630w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/0ede0/banner.jpg 945w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/3ac88/banner.jpg 1260w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/c83bb/banner.jpg 4608w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;一查看github-page的地址&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E6%9F%A5%E7%9C%8Bgithub-page%E7%9A%84%E5%9C%B0%E5%9D%80&quot; aria-label=&quot;一查看github page的地址 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一.查看Github Page的地址&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;ping&lt;/span&gt; zhalice2011.github.io&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/23e6382a90bb2470049bace9dd1fa641/136a2/ping.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 25.949367088607595%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA7klEQVQY011QSXKDMBBUvKSygYkxTvmSY0IwKRu0IRnM5sr/f9SpmWAfcuhqadTqnhnxdrpgbTus9Jk5cSNeTYdNNSDQLd4Lj1zW+JA1UoJqkBYeu6NHZHusTcf6UDZY7A1EZFokbsBzceJipFts3ACqx1WP2PZ4OjjEFEKBFd09vwWyuTVAIK14PHp2nu818xXL3Ex1g1mmscgtlrll3d2XwixTf/wP4v7b3rqjxHDCSp3xcHBcC8qaNcQvZc3GFEaGV4hUQnyWEDTi1l94VDLa+pFXQCPR513zw290TvzIuw3VtG/WjhxOI88zjV9UU5P6dttILwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;ping&quot;
        title=&quot;ping&quot;
        src=&quot;/static/23e6382a90bb2470049bace9dd1fa641/f058b/ping.png&quot;
        srcset=&quot;/static/23e6382a90bb2470049bace9dd1fa641/c26ae/ping.png 158w,
/static/23e6382a90bb2470049bace9dd1fa641/6bdcf/ping.png 315w,
/static/23e6382a90bb2470049bace9dd1fa641/f058b/ping.png 630w,
/static/23e6382a90bb2470049bace9dd1fa641/136a2/ping.png 884w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;二添加解析记录&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8C%E6%B7%BB%E5%8A%A0%E8%A7%A3%E6%9E%90%E8%AE%B0%E5%BD%95&quot; aria-label=&quot;二添加解析记录 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;二.添加解析记录&lt;/h3&gt;
&lt;p&gt;购买域名
(&lt;a href=&quot;https://console.dnspod.cn/&quot;&gt;https://console.dnspod.cn/&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;添加两条解析记录
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/62d4c0ca8b2a5699a95475a007d528d4/8b69f/domain.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 21.51898734177215%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA50lEQVQY012PWU/DQAyE8///EQgoBNIcG47maq5NmoNuSBZaCSEasmjQGvHCw2hky/48Nioxwws6rOwc53cpruwCNx7HyilxZiZwNj3c4Jn8Phmg59dcwasVLK4Q9wrttGD38oVKnGDUwwksO8JNJDbZhLB8o2WTVQS/9XfwY4Frt8TlOie4lx3hJBJWJMG2EkHxirR5J6hRDzPifkEufi918psG/HgAiwQe0xERP1CtYSzaI6kOCAtJCvJ/QC5mhO0MnZTvP6mpQRdWBpPVsJ86kk6poQ/bEXn3gXZSaMYFzbSQ/738Azg/HxVXvU1yAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;domain&quot;
        title=&quot;domain&quot;
        src=&quot;/static/62d4c0ca8b2a5699a95475a007d528d4/f058b/domain.png&quot;
        srcset=&quot;/static/62d4c0ca8b2a5699a95475a007d528d4/c26ae/domain.png 158w,
/static/62d4c0ca8b2a5699a95475a007d528d4/6bdcf/domain.png 315w,
/static/62d4c0ca8b2a5699a95475a007d528d4/f058b/domain.png 630w,
/static/62d4c0ca8b2a5699a95475a007d528d4/8b69f/domain.png 912w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d5d3d9696629f920a80257871e832506/24def/domain-config-2.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 12.025316455696203%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAU0lEQVQI10VNCQ7AIAjb/1/rCeqqXWAhNmkoR8tzzqFisYnStAEAc2neiyiB7bqUxpyr173/WdA8qoNPBI61PCyWZjD0fgPtSUqVc97b4AtQZPADwPOdTWYiAqQAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;domain-config&quot;
        title=&quot;domain-config&quot;
        src=&quot;/static/d5d3d9696629f920a80257871e832506/f058b/domain-config-2.png&quot;
        srcset=&quot;/static/d5d3d9696629f920a80257871e832506/c26ae/domain-config-2.png 158w,
/static/d5d3d9696629f920a80257871e832506/6bdcf/domain-config-2.png 315w,
/static/d5d3d9696629f920a80257871e832506/f058b/domain-config-2.png 630w,
/static/d5d3d9696629f920a80257871e832506/40601/domain-config-2.png 945w,
/static/d5d3d9696629f920a80257871e832506/78612/domain-config-2.png 1260w,
/static/d5d3d9696629f920a80257871e832506/24def/domain-config-2.png 1812w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;三设置github-pages自定义域名&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%89%E8%AE%BE%E7%BD%AEgithub-pages%E8%87%AA%E5%AE%9A%E4%B9%89%E5%9F%9F%E5%90%8D&quot; aria-label=&quot;三设置github pages自定义域名 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;三.设置Github Pages自定义域名&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/0aafd28bb967b18ace54ccb7f05c3de3/56dab/GnHub.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 50%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAABmklEQVQoz22S61LbMBBG8/5P19L+AlpIIMQmtqz7xZJ1OlJKCNPuzJnVauxvv117J7VlFhJtHEIqWj212jq09Te1R0wC8XpkPLwQpCbEREjrF3a1Vrz3lFK4DaU04/iOlOrLPblAe7blyj/smpDW5irYGlArwgZOi+ZdnFmMQlrVszAS6TRCy+vdYiRpW8m1sNu2jffzxGkYiDFeRd+2Mz/tIz/kPXfynu96zzd96Pk+HXhc9zx8kPY85D3HPDaHG7MQLIsk53JxXmvvaqLFrwHXyBGb2jn22ueILyupfrLWfHGotGFro36MDMzzwsvrG8N4ZpoEx+Op71O1j+EdPmRCqpfd3UQXHE4DRmv+KnbaGp6e90yzwBiL0hpjDNpF/Prxeu0Gbtk5oXj+9cw8jKw+kJyneI+1lvE8YZ2/dm/Nt0rnf9EF1xDRUlFiInnPGiM1JYbjwNPvA2KWyEWhtcYa21065/qv5pwnhICNG2upnyOfxpFpnrurNeduYR4Ew2lCLRZxVohF4Ywl+EAuhZzzhXYulbJdRv4D6zoGEX+H4nIAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GnHub&quot;
        title=&quot;GnHub&quot;
        src=&quot;/static/0aafd28bb967b18ace54ccb7f05c3de3/f058b/GnHub.png&quot;
        srcset=&quot;/static/0aafd28bb967b18ace54ccb7f05c3de3/c26ae/GnHub.png 158w,
/static/0aafd28bb967b18ace54ccb7f05c3de3/6bdcf/GnHub.png 315w,
/static/0aafd28bb967b18ace54ccb7f05c3de3/f058b/GnHub.png 630w,
/static/0aafd28bb967b18ace54ccb7f05c3de3/40601/GnHub.png 945w,
/static/0aafd28bb967b18ace54ccb7f05c3de3/78612/GnHub.png 1260w,
/static/0aafd28bb967b18ace54ccb7f05c3de3/56dab/GnHub.png 2296w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;等一会儿解析完, 就可以通过域名访问你的博客啦~  &lt;a href=&quot;https://zhalice.com&quot;&gt;https://zhalice.com&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;四添加cname文件&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%9B%E6%B7%BB%E5%8A%A0cname%E6%96%87%E4%BB%B6&quot; aria-label=&quot;四添加cname文件 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;四.添加CNAME文件&lt;/h3&gt;
&lt;p&gt;其实可以从&lt;code class=&quot;language-text&quot;&gt;commit&lt;/code&gt;看到第三步就是在根目录下新建了一个&lt;code class=&quot;language-text&quot;&gt;CNAME&lt;/code&gt;文件, 但是我们每次发布其实会覆盖掉所有的文件, 要重复第三步才能使自定义域名生效&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5ef8df4a9972b6b10788be934d1d5117/cc7e7/0.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 17.088607594936708%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAfklEQVQI12XNyw6DMBBDUf7/R9uGEgKZPGZCuFW6QK1YHMmyF54ebublZkQyMSVKVWq1m9H/bikXJA2ZGAW/DYnJbxvOC8u64cNKypneT47eL/3r/GPWMDVUx4Gy70IIO9McjWcQlmSEeuBzuysNlwtOCu+ivKuyVLt4bVf+AGjU6J4J2c8zAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GnHub&quot;
        title=&quot;GnHub&quot;
        src=&quot;/static/5ef8df4a9972b6b10788be934d1d5117/f058b/0.png&quot;
        srcset=&quot;/static/5ef8df4a9972b6b10788be934d1d5117/c26ae/0.png 158w,
/static/5ef8df4a9972b6b10788be934d1d5117/6bdcf/0.png 315w,
/static/5ef8df4a9972b6b10788be934d1d5117/f058b/0.png 630w,
/static/5ef8df4a9972b6b10788be934d1d5117/40601/0.png 945w,
/static/5ef8df4a9972b6b10788be934d1d5117/78612/0.png 1260w,
/static/5ef8df4a9972b6b10788be934d1d5117/cc7e7/0.png 3386w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;所以我们将CNAME放在static文件夹下自动复制过去, 这样每次发布新文章就不用重新设置了.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5ef8df4a9972b6b10788be934d1d5117/cc7e7/0.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 17.088607594936708%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAfklEQVQI12XNyw6DMBBDUf7/R9uGEgKZPGZCuFW6QK1YHMmyF54ebublZkQyMSVKVWq1m9H/bikXJA2ZGAW/DYnJbxvOC8u64cNKypneT47eL/3r/GPWMDVUx4Gy70IIO9McjWcQlmSEeuBzuysNlwtOCu+ivKuyVLt4bVf+AGjU6J4J2c8zAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GnHub&quot;
        title=&quot;GnHub&quot;
        src=&quot;/static/5ef8df4a9972b6b10788be934d1d5117/f058b/0.png&quot;
        srcset=&quot;/static/5ef8df4a9972b6b10788be934d1d5117/c26ae/0.png 158w,
/static/5ef8df4a9972b6b10788be934d1d5117/6bdcf/0.png 315w,
/static/5ef8df4a9972b6b10788be934d1d5117/f058b/0.png 630w,
/static/5ef8df4a9972b6b10788be934d1d5117/40601/0.png 945w,
/static/5ef8df4a9972b6b10788be934d1d5117/78612/0.png 1260w,
/static/5ef8df4a9972b6b10788be934d1d5117/cc7e7/0.png 3386w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Make Your Own Blog For Free in 2022 (Part 1)]]></title><description><![CDATA[一.新建Github Page 先新建一个, 命名为  (注意修改username为你自己的)  二.创建博客 安装脚手架 使用该模板建立你的博客 进入开发 打开  http://localhost:800…]]></description><link>https://zhalice2011.github.io/2022/make-your-own blog-part1/</link><guid isPermaLink="false">https://zhalice2011.github.io/2022/make-your-own blog-part1/</guid><pubDate>Mon, 04 Apr 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d5f2779e5a84bf92e5d939ed7cc9b20e/c83bb/banner.jpg&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 75.31645569620254%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwAF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAXfPWFlo/8QAGRABAQEBAQEAAAAAAAAAAAAAAgEDEgAE/9oACAEBAAEFAol6KQc6qq/P0tMtCLSf/8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAIAQMBAT8BR//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EACAQAAICAAYDAAAAAAAAAAAAAAERAAIDEhMhIjFRgZH/2gAIAQEABj8C7HyCxD8qOlkIc1OT3M0sNj1ES5//xAAcEAADAQACAwAAAAAAAAAAAAAAASERMWFxgbH/2gAIAQEAAT8hrhRROeN5Zo3VHEenQT6ID2LjIETcXR//2gAMAwEAAgADAAAAEKg//8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAR/9oACAEDAQE/EAdmf//EABYRAQEBAAAAAAAAAAAAAAAAAAEAIf/aAAgBAgEBPxBSy//EAB0QAQACAgIDAAAAAAAAAAAAAAERIQBBMYFRYXH/2gAIAQEAAT8QY1Ygpp941wIIRPI+GGfe0cnnvLfMiDUzoxT4RwHbT3jsaMwK6z//2Q==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;writing blog&quot;
        title=&quot;writing blog&quot;
        src=&quot;/static/d5f2779e5a84bf92e5d939ed7cc9b20e/828fb/banner.jpg&quot;
        srcset=&quot;/static/d5f2779e5a84bf92e5d939ed7cc9b20e/ff44c/banner.jpg 158w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/a6688/banner.jpg 315w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/828fb/banner.jpg 630w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/0ede0/banner.jpg 945w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/3ac88/banner.jpg 1260w,
/static/d5f2779e5a84bf92e5d939ed7cc9b20e/c83bb/banner.jpg 4608w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;一新建github-page&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E6%96%B0%E5%BB%BAgithub-page&quot; aria-label=&quot;一新建github page permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一.新建Github Page&lt;/h3&gt;
&lt;p&gt;先新建一个&lt;code class=&quot;language-text&quot;&gt;repository&lt;/code&gt;, 命名为 &lt;code class=&quot;language-text&quot;&gt;username.github.io&lt;/code&gt; (注意修改username为你自己的)&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5e5f7a8fca24a0cae50af5303bee875c/c1b63/create-pro.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 58.22784810126582%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABuElEQVQoz6WS626jMBBGef+n27bpJU2IAXPLBWObXLCBnBXOdttV82fVkT59HssazRxP1CjF+2rFeh1TliVCCNI0ZbVa8bZckhcF/xOR7Y7EImEdC2RREwvJJs1ZxilJKpF5QasNjWpptUZr8zc31gZXrUYbEzw6ns5U9Y79oaFoLpTKkTeOdO+w54FpmnDO0/cO5xzO+1vuHN7fPNw7HzziB3G9N/LMMN4I8rwgkznreEN3PDKMY+jA+4Fh+NT1eivz4cwezjePbNeRypyirAOzqt4GTtrYoJnXzNnYjvnt14L3FPlhoKi2JFkedOn9Tyh8MpyuV8ZpYhxvmv4w+tCczx/0tZtp+q7IGEtd1kz+386GVnNJJK7a0ecVg7ah6DCMDH5kut4fOzpfeh4yQbXdBY7b/YFz72iTgurxBflrQfX0SvXyjk5yvD3hzg4tcsZh+j7ype95kiJwzPIiFGyNpUkL6uc3isUr9csS+bBg9/yGliWm3rN7fObUKFxncXaWwVtLdDqdaA+KpmmYV0gpFZa8OxzQUqKyjFZKtnHMdrOhWC7Zrdc0WUYjNigh0GmCSgQmS/kNIcObHC5YkaUAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Create a new repository&quot;
        title=&quot;Create a new repository&quot;
        src=&quot;/static/5e5f7a8fca24a0cae50af5303bee875c/f058b/create-pro.png&quot;
        srcset=&quot;/static/5e5f7a8fca24a0cae50af5303bee875c/c26ae/create-pro.png 158w,
/static/5e5f7a8fca24a0cae50af5303bee875c/6bdcf/create-pro.png 315w,
/static/5e5f7a8fca24a0cae50af5303bee875c/f058b/create-pro.png 630w,
/static/5e5f7a8fca24a0cae50af5303bee875c/40601/create-pro.png 945w,
/static/5e5f7a8fca24a0cae50af5303bee875c/c1b63/create-pro.png 1200w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;二创建博客&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8C%E5%88%9B%E5%BB%BA%E5%8D%9A%E5%AE%A2&quot; aria-label=&quot;二创建博客 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;二.创建博客&lt;/h3&gt;
&lt;p&gt;安装&lt;code class=&quot;language-text&quot;&gt;gatsby&lt;/code&gt;脚手架&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; -g gatsby-cli&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;使用该模板建立你的&lt;code class=&quot;language-text&quot;&gt;gatsby&lt;/code&gt;博客&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;gatsby new my-blog https://github.com/zhalice2011/blog&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;进入开发&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; my-blog
gatsby develop&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;打开  &lt;a href=&quot;http://localhost:8000&quot;&gt;http://localhost:8000&lt;/a&gt; 查看页面, 然后本地进行博客的修改, 文章均放置在 &lt;code class=&quot;language-text&quot;&gt;content&lt;/code&gt;文件夹&lt;/p&gt;
&lt;h3 id=&quot;三发布博客&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%89%E5%8F%91%E5%B8%83%E5%8D%9A%E5%AE%A2&quot; aria-label=&quot;三发布博客 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;三.发布博客&lt;/h3&gt;
&lt;p&gt;链接到远程仓库(注意修改username为你自己的)&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; remote &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt; origin git@github.com:username/username.github.io.git&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;发布&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;npm run deploy&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;此时可以看到你的 &lt;code class=&quot;language-text&quot;&gt;username.github.io&lt;/code&gt; 仓库多了一个 &lt;code class=&quot;language-text&quot;&gt;gh-pages
&lt;/code&gt; 分支&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/fc246abce9cebbf10e6c904578f1d7f8/95c1f/new-branch.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 16.455696202531648%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAe0lEQVQI112N2wrDMAxD8/+fOTbYtWsTO3HsFG212fVBICRxlBYWHM4TciFwExA3SFeoDXS1t0TNM66CJr/9y9cmSLl2HK9zAOsH+A0LYEC20w3Y/w590xUpL4z97oRSyB+IqxdjXTFGyFzDvapFvkY2zRmX2x1EDHsCH/p06foVYLGAAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;new-branch&quot;
        title=&quot;new-branch&quot;
        src=&quot;/static/fc246abce9cebbf10e6c904578f1d7f8/f058b/new-branch.png&quot;
        srcset=&quot;/static/fc246abce9cebbf10e6c904578f1d7f8/c26ae/new-branch.png 158w,
/static/fc246abce9cebbf10e6c904578f1d7f8/6bdcf/new-branch.png 315w,
/static/fc246abce9cebbf10e6c904578f1d7f8/f058b/new-branch.png 630w,
/static/fc246abce9cebbf10e6c904578f1d7f8/40601/new-branch.png 945w,
/static/fc246abce9cebbf10e6c904578f1d7f8/78612/new-branch.png 1260w,
/static/fc246abce9cebbf10e6c904578f1d7f8/95c1f/new-branch.png 2330w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;设置 &lt;code class=&quot;language-text&quot;&gt;Github Pages&lt;/code&gt; 展示的分支为 &lt;code class=&quot;language-text&quot;&gt;gh-page&lt;/code&gt; (如果设置成&lt;code class=&quot;language-text&quot;&gt;master&lt;/code&gt;会很凌乱, 因为都是打包后的文件)&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/f30448b381eb07893e809d8dab8f44d1/8201f/set-branch.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 48.10126582278481%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAABmklEQVQoz22S2Y7bMAxF8/8/2L5MM9kcb4m1UYsl+xRyPJkWLYEDQyRMXF7y8NEKx9bx8+b4cXWcesekLc5HrAQkpI363nLOY4zDGXnXvuqPSXPw3iPiiTGgtcKJYJxgrKCMZVKap9JM2mB9QE+K5/2O7QfmNBNzIc2ZlCuFA3usgPeBsiy8c+vKY1T03Uj08ZWs5bJAWf9lhUP96QtdVVjHUpuusKwL12g42Z7P6cKnunFUDb9Uw8ncOZuGs22278XeGcv0akgFeDyetF1HiC81Ve013jnKlaO7cAw9H2Hkww9c8kC7DtyXgWbnlru94R5K6W3sfd5N6Tg80MrgrGCUQawjiCeFgA/Vv92vvc1h5TVujbqANM9/eAhtP3K+NtuC+vG5XYC2jjhnclkoy7dllbfCMmeay42h7VjSTEmJHBP9Uxgmj/ULNqwom/AxETL/jXfDHGfaa4N7TgRtSOIpIqiuZ+p6UlVlLKGOPU14L9ST2wgBiQu5rN9bfi3lseFFKDlvvjjZ7zQlxAecE8Q4cimUv6ier/wGpt0HZX2+1OMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;set-branch&quot;
        title=&quot;set-branch&quot;
        src=&quot;/static/f30448b381eb07893e809d8dab8f44d1/f058b/set-branch.png&quot;
        srcset=&quot;/static/f30448b381eb07893e809d8dab8f44d1/c26ae/set-branch.png 158w,
/static/f30448b381eb07893e809d8dab8f44d1/6bdcf/set-branch.png 315w,
/static/f30448b381eb07893e809d8dab8f44d1/f058b/set-branch.png 630w,
/static/f30448b381eb07893e809d8dab8f44d1/40601/set-branch.png 945w,
/static/f30448b381eb07893e809d8dab8f44d1/78612/set-branch.png 1260w,
/static/f30448b381eb07893e809d8dab8f44d1/8201f/set-branch.png 2554w&quot;
        sizes=&quot;(max-width: 630px) 100vw, 630px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;接下来就可以访问你的博客啦~ (注意修改username为你自己的)  &lt;a href=&quot;https://zhalice2011.github.io/blog&quot;&gt;https://username.github.io&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;autolink-heading before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://zhalice2011.github.io/blog&quot;&gt;Dan Blog&lt;/a&gt;
&lt;a href=&quot;https://antranapp.github.io/gatsby-minimal-simple-blog/&quot;&gt;An Tran Blog&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>