text: // Jest Snapshot v1, https://goo.gl/fbAQLP
  
  exports[`should return correct JSON  1`] = `
  Object {
    "success": true,
  }
  `;
  
  exports[`should return correct posts data  1`] = `
  Array [
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "減少 Monorepo CI 所需花費時間",
      },
      "coverless": true,
      "createdAt": 1500968093260,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1501225933707,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "9691e54b0ef0",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1501266506442,
      "latestPublishedVersion": "598b8ea959fd",
      "latestRev": 1428,
      "latestVersion": "598b8ea959fd",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": false,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 36,
                "focusPercentY": 52,
                "id": "1*v5xxgeaxHUb0ADHW8KrexA.png",
                "isFeatured": true,
                "originalHeight": 486,
                "originalWidth": 891,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "f67d",
              "text": "使用 CircleCI 2.0 Workflows 挑戰三倍速",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "8a61",
              "text": "減少 Monorepo CI 所需花費時間",
              "type": 13,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "使用-circleci-2-0-workflows-挑戰三倍速",
      "title": "使用 CircleCI 2.0 Workflows 挑戰三倍速",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "使用-circleci-2-0-workflows-挑戰三倍速-9691e54b0ef0",
      "updatedAt": 1501469016352,
      "url": "https://medium.com/@evenchange4/使用-circleci-2-0-workflows-挑戰三倍速-9691e54b0ef0",
      "versionId": "598b8ea959fd",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 6,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [],
              "httpStatus": 401,
              "url": "https://circleci.com/build-insights/gh/MCS-Lite",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://circleci.com/docs/2.0/",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite/blob/master/.travis.yml",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/b056da2fa0aa",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/b056da2fa0aa",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/react-stack-%E9%96%8B%E7%99%BC%E9%AB%94%E9%A9%97%E8%88%87%E5%84%AA%E5%8C%96%E7%AD%96%E7%95%A5-b056da2fa0aa#1255",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/61b0a26215a0",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/61b0a26215a0",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/build-a-web-app-in-mediatek-61b0a26215a0",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/circleci/frontend/blob/master/.circleci/config.yml",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/b056da2fa0aa",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/b056da2fa0aa",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/react-stack-%E9%96%8B%E7%99%BC%E9%AB%94%E9%A9%97%E8%88%87%E5%84%AA%E5%8C%96%E7%AD%96%E7%95%A5-b056da2fa0aa",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite/pull/424",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://blog.wu-boy.com/2017/06/downsize-node_modules-to-improve-deploy-speed/",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://codecov.io/gh/MCS-Lite/mcs-lite/list/master/",
            },
          ],
          "generatedAt": 1501266605030,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 36,
          "focusPercentY": 52,
          "height": 0,
          "imageId": "1*v5xxgeaxHUb0ADHW8KrexA.png",
          "originalHeight": 486,
          "originalWidth": 891,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 2.5424528301886795,
        "recommends": 14,
        "responsesCreatedCount": 1,
        "sectionCount": 6,
        "socialRecommendsCount": 0,
        "subtitle": "減少 Monorepo CI 所需花費時間",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*7xrRU8PbIuoJWC5KrF11hQ.jpeg",
                "originalHeight": 674,
                "originalWidth": 1200,
              },
              "followerCount": 8,
              "postCount": 104,
            },
            "name": "Ci",
            "postCount": 104,
            "slug": "ci",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*DBFfuJeL6bRRA6ODiW2oKg.jpeg",
                "originalHeight": 1126,
                "originalWidth": 2000,
              },
              "followerCount": 11,
              "postCount": 94,
            },
            "name": "Circleci",
            "postCount": 94,
            "slug": "circleci",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "focusPercentX": 43,
                "focusPercentY": 51,
                "id": "1*_m9YLPqROjZFcWbEox6sqg.png",
                "isFeatured": true,
                "originalHeight": 479,
                "originalWidth": 1283,
              },
              "followerCount": 3,
              "postCount": 44,
            },
            "name": "Mediatek",
            "postCount": 44,
            "slug": "mediatek",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 38023,
              "postCount": 38126,
            },
            "name": "JavaScript",
            "postCount": 38126,
            "slug": "javascript",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 14,
        "usersBySocialRecommends": Array [],
        "wordCount": 422,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "使用 Redux-Cylces 實行錯誤集中處理",
      },
      "coverless": true,
      "createdAt": 1499745856456,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1499912011732,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "fac9e9e37e44",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1499912011732,
      "latestPublishedVersion": "1383caf05617",
      "latestRev": 2066,
      "latestVersion": "1383caf05617",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 66,
                "focusPercentY": 53,
                "id": "1*VimXrAu-hgWIGl3fbgh34Q.png",
                "isFeatured": true,
                "originalHeight": 660,
                "originalWidth": 2168,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "c082",
              "text": "Centralized Error Handle in React with RxJS",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "4736",
              "text": "使用 Redux-Cylces 實行錯誤集中處理",
              "type": 13,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "centralized-error-handle-in-react-with-rxjs",
      "title": "Centralized Error Handle in React with RxJS",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "centralized-error-handle-in-react-with-rxjs-fac9e9e37e44",
      "updatedAt": 1501559328163,
      "url": "https://medium.com/@evenchange4/centralized-error-handle-in-react-with-rxjs-fac9e9e37e44",
      "versionId": "1383caf05617",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 5,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://cycle.js.org/api/http.html",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite/blob/master/packages/mcs-lite-admin-web/src/modules/auth.js#L121",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://egghead.io/lessons/rxjs-error-handling-in-rxjs",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/ReactiveX/rxjs/blob/master/src/operator/switchMap.ts#L94-L99",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/whitecolor/cycle-async-driver",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/61b0a26215a0",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/61b0a26215a0",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/build-a-web-app-in-mediatek-61b0a26215a0",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/52a64fb6d70b",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/52a64fb6d70b",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/refactoring-react-component-in-reactive-way-52a64fb6d70b",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "vnd.youtube://www.youtube.com/watch?v=KbMLN7oYO7E&feature=applinks",
                },
                Object {
                  "type": 3,
                  "url": "vnd.youtube://www.youtube.com/watch?v=KbMLN7oYO7E&feature=applinks",
                },
              ],
              "httpStatus": 200,
              "url": "https://www.youtube.com/watch?v=KbMLN7oYO7E",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/14e8017e04e",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/14e8017e04e",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@turnbullm/continue-rxjs-streams-when-errors-occur-14e8017e04e",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "vnd.youtube://www.youtube.com/watch?v=KbMLN7oYO7E&list=LLOoSrjTUcK6erg8pCjrxt5Q&feature=applinks",
                },
                Object {
                  "type": 3,
                  "url": "vnd.youtube://www.youtube.com/watch?v=KbMLN7oYO7E&list=LLOoSrjTUcK6erg8pCjrxt5Q&feature=applinks",
                },
              ],
              "httpStatus": 200,
              "url": "https://youtu.be/KbMLN7oYO7E?list=LLOoSrjTUcK6erg8pCjrxt5Q&t=565",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://rxviz.com/v/7J2aDyON",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://rxviz.com/v/VOKqNV8X",
            },
          ],
          "generatedAt": 1499912034344,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 66,
          "focusPercentY": 53,
          "height": 0,
          "imageId": "1*VimXrAu-hgWIGl3fbgh34Q.png",
          "originalHeight": 660,
          "originalWidth": 2168,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 2.99937106918239,
        "recommends": 9,
        "responsesCreatedCount": 0,
        "sectionCount": 4,
        "socialRecommendsCount": 0,
        "subtitle": "使用 Redux-Cylces 實行錯誤集中處理",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v8azc9mWsGsbNm6FQzJlFQ.png",
                "originalHeight": 630,
                "originalWidth": 1200,
              },
              "followerCount": 643,
              "postCount": 251,
            },
            "name": "Rxjs",
            "postCount": 251,
            "slug": "rxjs",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*SFwZwL3eQx8BQLXIHV-pVg.jpeg",
                "originalHeight": 4000,
                "originalWidth": 6000,
              },
              "followerCount": 1,
              "postCount": 111,
            },
            "name": "Cycle",
            "postCount": 111,
            "slug": "cycle",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*i8d0WlTwViNNn4xiOGdLHQ.jpeg",
                "originalHeight": 1120,
                "originalWidth": 1800,
              },
              "followerCount": 901,
              "postCount": 360,
            },
            "name": "Reactive Programming",
            "postCount": 360,
            "slug": "reactive-programming",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 38023,
              "postCount": 38126,
            },
            "name": "JavaScript",
            "postCount": 38126,
            "slug": "javascript",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 11,
        "usersBySocialRecommends": Array [],
        "wordCount": 574,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "metaDescription": "簡單的頁面也可以用 React 進行開發，本篇文章即是針對此方向分成兩個部分來討論： PART I. React Stack 開發體驗與推薦工具 PART II. 效能評估與優化策略。降低 First Meaningful Paint 所需的封包大小，加速顯示較重要的資訊，並且透過 Lazyloadable 來達到緩載入 Offscreen JS Chunk 的目的，並且使用評估分數的指標來檢..",
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "Landing Page for MCS Lite",
      },
      "coverless": true,
      "createdAt": 1498389624893,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1499671540298,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "b056da2fa0aa",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": false,
      "latestPublishedAt": 1499680354281,
      "latestPublishedVersion": "bb75f447f283",
      "latestRev": 4896,
      "latestVersion": "bb75f447f283",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 43,
                "focusPercentY": 51,
                "id": "1*_m9YLPqROjZFcWbEox6sqg.png",
                "isFeatured": true,
                "originalHeight": 479,
                "originalWidth": 1283,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "225f",
              "text": "React Stack 開發體驗與優化策略",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "47f2",
              "text": "Landing Page for MCS Lite",
              "type": 13,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "react-stack-開發體驗與優化策略",
      "title": "React Stack 開發體驗與優化策略",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "react-stack-開發體驗與優化策略-b056da2fa0aa",
      "updatedAt": 1502118302072,
      "url": "https://medium.com/@evenchange4/react-stack-開發體驗與優化策略-b056da2fa0aa",
      "versionId": "bb75f447f283",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 18,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://mcslite.netlify.com",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://pwa-directory.appspot.com/pwas/5165927551205376",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite/tree/master/packages/mcs-lite-landing-web",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/evenchange4/react-progressive-bg-image",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/9f9ff8fe9aef",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/9f9ff8fe9aef",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/i18n-workflow-for-react-project-9f9ff8fe9aef",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/70aeebbb2dc7",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/70aeebbb2dc7",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/component-based-code-splitting-70aeebbb2dc7",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/2e83bba0c608",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/2e83bba0c608",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/reproducing-medium-style-progressive-image-loading-for-react-2e83bba0c608",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/erikras/react-redux-universal-hot-example",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/d28a00e780a3",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/d28a00e780a3",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@paularmstrong/twitter-lite-and-high-performance-react-progressive-web-apps-at-scale-d28a00e780a3",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://stripe.com/blog/connect-front-end-experience",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/61b0a26215a0",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/61b0a26215a0",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/build-a-web-app-in-mediatek-61b0a26215a0",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/33b932d97cf2",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/33b932d97cf2",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@addyosmani/progressive-web-apps-with-react-js-part-2-page-load-performance-33b932d97cf2",
            },
          ],
          "generatedAt": 1499680357187,
          "version": "0.3",
        },
        "metaDescription": "簡單的頁面也可以用 React 進行開發，本篇文章即是針對此方向分成兩個部分來討論： PART I. React Stack 開發體驗與推薦工具 PART II. 效能評估與優化策略。降低 First Meaningful Paint 所需的封包大小，加速顯示較重要的資訊，並且透過 Lazyloadable 來達到緩載入 Offscreen JS Chunk 的目的，並且使用評估分數的指標來檢..",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 43,
          "focusPercentY": 51,
          "height": 0,
          "imageId": "1*_m9YLPqROjZFcWbEox6sqg.png",
          "originalHeight": 479,
          "originalWidth": 1283,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 4.906603773584905,
        "recommends": 33,
        "responsesCreatedCount": 0,
        "sectionCount": 3,
        "socialRecommendsCount": 0,
        "subtitle": "Landing Page for MCS Lite",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "focusPercentX": 43,
                "focusPercentY": 51,
                "id": "1*_m9YLPqROjZFcWbEox6sqg.png",
                "isFeatured": true,
                "originalHeight": 479,
                "originalWidth": 1283,
              },
              "followerCount": 3,
              "postCount": 44,
            },
            "name": "Mediatek",
            "postCount": 44,
            "slug": "mediatek",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "focusPercentX": 43,
                "focusPercentY": 51,
                "id": "1*_m9YLPqROjZFcWbEox6sqg.png",
                "isFeatured": true,
                "originalHeight": 479,
                "originalWidth": 1283,
              },
              "followerCount": 3,
              "postCount": 11,
            },
            "name": "Netlify",
            "postCount": 11,
            "slug": "netlify",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*H3Ri9HkREcjujxPiUv9xFw.jpeg",
                "originalHeight": 422,
                "originalWidth": 706,
              },
              "followerCount": 1084,
              "postCount": 429,
            },
            "name": "Progressive Web App",
            "postCount": 429,
            "slug": "progressive-web-app",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 34,
        "usersBySocialRecommends": Array [],
        "wordCount": 863,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "Lazy Load React Component with React-Loadable",
      },
      "coverless": true,
      "createdAt": 1495679843906,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1495693600421,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "70aeebbb2dc7",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1495693779746,
      "latestPublishedVersion": "e9629bfa39d9",
      "latestRev": 814,
      "latestVersion": "e9629bfa39d9",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 76,
                "focusPercentY": 73,
                "id": "1*7yJbMiqX5-YABvWLWO0YfA.png",
                "isFeatured": true,
                "originalHeight": 602,
                "originalWidth": 2180,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "bfe9",
              "text": "Component-based Code Splitting",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "cd84",
              "text": "Lazy Load React Component with React-Loadable",
              "type": 13,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "component-based-code-splitting",
      "title": "Component-based Code Splitting",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "component-based-code-splitting-70aeebbb2dc7",
      "updatedAt": 1500651808870,
      "url": "https://medium.com/@evenchange4/component-based-code-splitting-70aeebbb2dc7",
      "versionId": "e9629bfa39d9",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 5,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite/pull/327",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://twitter.com/thejameskyle",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/61b0a26215a0",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/61b0a26215a0",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/build-a-web-app-in-mediatek-61b0a26215a0",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/2674c59de178",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/2674c59de178",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@thejameskyle/react-loadable-2674c59de178",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/facebookincubator/create-react-app/releases/tag/v1.0.0",
            },
          ],
          "generatedAt": 1495693779989,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 76,
          "focusPercentY": 73,
          "height": 0,
          "imageId": "1*7yJbMiqX5-YABvWLWO0YfA.png",
          "originalHeight": 602,
          "originalWidth": 2180,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 1.6597484276729562,
        "recommends": 20,
        "responsesCreatedCount": 1,
        "sectionCount": 2,
        "socialRecommendsCount": 0,
        "subtitle": "Lazy Load React Component with React-Loadable",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*nZO9iDlZ_9BjFosw2qCXDQ.png",
                "isFeatured": true,
                "originalHeight": 1202,
                "originalWidth": 1491,
              },
              "followerCount": 207,
              "postCount": 141,
            },
            "name": "Webpack 2",
            "postCount": 141,
            "slug": "webpack-2",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 21,
        "usersBySocialRecommends": Array [],
        "wordCount": 219,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "metaDescription": "差別在於 Filesystem 的 Case-semantic。如果你有注意到的話，Filename buttonComponent.js 與引用的 ButtonComponent 不一致，雖然在 Mac 的環境會查詢到這個檔名，但是在 Linux 環境則是 Case sensitive，因此就會噴錯。事實上在 Webpack Build 的過程就已經偷偷地警告過你： 讓我們來看一…",
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "以一個簡單到不行的大小寫為例，不單只是 Coding Style 或命名規範，你可能會需要 Eslint 來幫你盡量降低這種小意外的發生。",
      },
      "coverless": true,
      "createdAt": 1494412232208,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1494422818494,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "9330c1245ec1",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": false,
      "latestPublishedAt": 1494423003098,
      "latestPublishedVersion": "dc4dadd3e938",
      "latestRev": 379,
      "latestVersion": "dc4dadd3e938",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 63,
                "focusPercentY": 28,
                "id": "1*V-Qu-cpHqr-gDROqlevX4A.jpeg",
                "isFeatured": true,
                "originalHeight": 1365,
                "originalWidth": 2048,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "883b",
              "text": "這個雷踩了四次，為什麼你可能需要 Eslint",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "aaec",
              "text": "以一個簡單到不行的大小寫為例",
              "type": 13,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "這個雷踩了四次-為什麼你可能需要-eslint",
      "title": "這個雷踩了四次，為什麼你可能需要 Eslint",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "這個雷踩了四次-為什麼你可能需要-eslint-9330c1245ec1",
      "updatedAt": 1501491755288,
      "url": "https://medium.com/@evenchange4/這個雷踩了四次-為什麼你可能需要-eslint-9330c1245ec1",
      "versionId": "dc4dadd3e938",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 4,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/13f567ae0184",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/13f567ae0184",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/introducing-prettier-with-eslint-13f567ae0184",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://twitter.com/FunnyAsianDude/status/861395252896088065/photo/1",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unresolved.md",
            },
          ],
          "generatedAt": 1494423003548,
          "version": "0.3",
        },
        "metaDescription": "差別在於 Filesystem 的 Case-semantic。如果你有注意到的話，Filename buttonComponent.js 與引用的 ButtonComponent 不一致，雖然在 Mac 的環境會查詢到這個檔名，但是在 Linux 環境則是 Case sensitive，因此就會噴錯。事實上在 Webpack Build 的過程就已經偷偷地警告過你： 讓我們來看一…",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 63,
          "focusPercentY": 28,
          "height": 0,
          "imageId": "1*V-Qu-cpHqr-gDROqlevX4A.jpeg",
          "originalHeight": 1365,
          "originalWidth": 2048,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 1.1188679245283017,
        "recommends": 7,
        "responsesCreatedCount": 0,
        "sectionCount": 1,
        "socialRecommendsCount": 0,
        "subtitle": "以一個簡單到不行的大小寫為例，不單只是 Coding Style 或命名規範，你可能會需要 Eslint 來幫你盡量降低這種小意外的發生。",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*-zy49yrWT0CHwkJpy56srg.jpeg",
                "isFeatured": true,
                "originalHeight": 4674,
                "originalWidth": 7003,
              },
              "followerCount": 54,
              "postCount": 137,
            },
            "name": "Eslint",
            "postCount": 137,
            "slug": "eslint",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 38023,
              "postCount": 38126,
            },
            "name": "JavaScript",
            "postCount": 38126,
            "slug": "javascript",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 7,
        "usersBySocialRecommends": Array [],
        "wordCount": 111,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "Recently, I have read an article by José M. Pérez about How Medium does progressive image loading, and that is what I need about the lazy…",
      },
      "coverless": true,
      "createdAt": 1493904293182,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "en",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1493908671942,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "2e83bba0c608",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1493908885758,
      "latestPublishedVersion": "43a2813e07b7",
      "latestRev": 327,
      "latestVersion": "43a2813e07b7",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": false,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 66,
                "focusPercentY": 28,
                "id": "1*qiFC3tA3hgN8IfLbYsSKgA.png",
                "isFeatured": true,
                "originalHeight": 1250,
                "originalWidth": 2350,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "4fb8",
              "text": "Reproducing Medium Style Progressive Image Loading for React",
              "type": 3,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "reproducing-medium-style-progressive-image-loading-for-react",
      "title": "Reproducing Medium Style Progressive Image Loading for React",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "reproducing-medium-style-progressive-image-loading-for-react-2e83bba0c608",
      "updatedAt": 1501145571134,
      "url": "https://medium.com/@evenchange4/reproducing-medium-style-progressive-image-loading-for-react-2e83bba0c608",
      "versionId": "43a2813e07b7",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 1,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/FormidableLabs/react-progressive-image/issues/2",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "vnd.youtube://www.youtube.com/watch?v=S70xyRYCNdY&feature=applinks",
                },
                Object {
                  "type": 3,
                  "url": "vnd.youtube://www.youtube.com/watch?v=S70xyRYCNdY&feature=applinks",
                },
              ],
              "httpStatus": 200,
              "url": "https://www.youtube.com/watch?v=S70xyRYCNdY",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/evenchange4/react-progressive-bg-image/blob/master/src/__tests__/ProgressiveImage.test.js#L10-L17",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 1,
                  "url": "https://cdn.ampproject.org/c/s/jmperezperez.com/medium-image-progressive-loading-placeholder/amp/",
                },
              ],
              "httpStatus": 200,
              "url": "https://jmperezperez.com/medium-image-progressive-loading-placeholder/",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/evenchange4/react-progressive-bg-image",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://styled-components.com/",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 1,
                  "url": "https://cdn.ampproject.org/c/s/jmperezperez.com/more-progressive-image-loading/amp/",
                },
              ],
              "httpStatus": 200,
              "url": "https://jmperezperez.com/more-progressive-image-loading/",
            },
          ],
          "generatedAt": 1493908886092,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 66,
          "focusPercentY": 28,
          "height": 0,
          "imageId": "1*qiFC3tA3hgN8IfLbYsSKgA.png",
          "originalHeight": 1250,
          "originalWidth": 2350,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 2.5735849056603777,
        "recommends": 13,
        "responsesCreatedCount": 0,
        "sectionCount": 3,
        "socialRecommendsCount": 0,
        "subtitle": "Recently, I have read an article by José M. Pérez about How Medium does progressive image loading, and that is what I need about the lazy…",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 38023,
              "postCount": 38126,
            },
            "name": "JavaScript",
            "postCount": 38126,
            "slug": "javascript",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "focusPercentX": 66,
                "focusPercentY": 28,
                "id": "1*qiFC3tA3hgN8IfLbYsSKgA.png",
                "isFeatured": true,
                "originalHeight": 1250,
                "originalWidth": 2350,
              },
              "followerCount": 12,
              "postCount": 16,
            },
            "name": "Recompose",
            "postCount": 16,
            "slug": "recompose",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*6CI0TvS-uP37tMvbFj57PA.jpeg",
                "originalHeight": 640,
                "originalWidth": 1280,
              },
              "followerCount": 71,
              "postCount": 47,
            },
            "name": "Styled Components",
            "postCount": 47,
            "slug": "styled-components",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*i8d0WlTwViNNn4xiOGdLHQ.jpeg",
                "originalHeight": 1120,
                "originalWidth": 1800,
              },
              "followerCount": 901,
              "postCount": 360,
            },
            "name": "Reactive Programming",
            "postCount": 360,
            "slug": "reactive-programming",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 13,
        "usersBySocialRecommends": Array [],
        "wordCount": 629,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "MCS Lite’s Front-End Tech Stack for Mobile",
      },
      "coverless": true,
      "createdAt": 1487941712422,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1493193304597,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "61b0a26215a0",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1501126124357,
      "latestPublishedVersion": "65e01a73dc6c",
      "latestRev": 6946,
      "latestVersion": "65e01a73dc6c",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "bef6",
              "text": "Build A Web App in MediaTek",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "bc5b",
              "text": "MCS Lite’s Front-End Tech Stack for Mobile",
              "type": 13,
            },
            Object {
              "layout": 9,
              "markups": Array [],
              "metadata": Object {
                "focusPercentX": 49,
                "focusPercentY": 50,
                "id": "1*vMVubJN-PO3KNSx7dWIi6w.png",
                "originalHeight": 1600,
                "originalWidth": 2900,
              },
              "name": "60b9",
              "text": "",
              "type": 4,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "build-a-web-app-in-mediatek",
      "title": "Build A Web App in MediaTek",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "build-a-web-app-in-mediatek-61b0a26215a0",
      "updatedAt": 1502104016925,
      "url": "https://medium.com/@evenchange4/build-a-web-app-in-mediatek-61b0a26215a0",
      "versionId": "65e01a73dc6c",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 15,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://cycle.js.org/drivers.html#drivers-plugins-for-effects-why-the-name-driver",
            },
            Object {
              "alts": Array [],
              "httpStatus": 404,
              "url": "https://github.com/facebook/jest/blob/master/dangerfile.js#L77",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-concatMap",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-mergeMap",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/52a64fb6d70b",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/52a64fb6d70b",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/refactoring-react-component-in-reactive-way-52a64fb6d70b",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/styled-components/styled-components/blob/master/docs/tagged-template-literals.md",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "http://nick.balestra.ch/talk/redux-cycles/#/",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/styled-components/styled-components",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 3,
                  "url": "medium://p/13f567ae0184",
                },
                Object {
                  "type": 2,
                  "url": "medium://p/13f567ae0184",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.com/@evenchange4/introducing-prettier-with-eslint-13f567ae0184",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/erikras/ducks-modular-redux",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite-app/blob/92252e883dcdf4bea3dfc25acf7f9cec091047a6/client/app/components/dataChannelCards/common/wrapper/index.js#L30-L35",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/cyclejs-community/redux-cycles#what-does-this-look-like",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/lerna/lerna",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "twitter://status?id=854556350864650240",
                },
                Object {
                  "type": 3,
                  "url": "twitter://status?status_id=854556350864650240",
                },
              ],
              "httpStatus": 200,
              "url": "https://twitter.com/orta/status/854556350864650240",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/MCS-Lite/mcs-lite",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://github.com/cyclejs-community/redux-cycles",
            },
            Object {
              "alts": Array [
                Object {
                  "type": 2,
                  "url": "medium://p/e5da8e7dac10",
                },
                Object {
                  "type": 3,
                  "url": "medium://p/e5da8e7dac10",
                },
              ],
              "httpStatus": 200,
              "url": "https://medium.freecodecamp.com/how-to-make-your-react-app-fully-functional-fully-reactive-and-able-to-handle-all-those-crazy-e5da8e7dac10#.w0524rh38",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://medium.freecodecamp.com/@lmatteis?source=post_header_lockup",
            },
            Object {
              "alts": Array [],
              "httpStatus": 200,
              "url": "https://mcs.mediatek.com",
            },
          ],
          "generatedAt": 1501126126620,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 49,
          "focusPercentY": 50,
          "height": 0,
          "imageId": "1*vMVubJN-PO3KNSx7dWIi6w.png",
          "originalHeight": 1600,
          "originalWidth": 2900,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 4.269811320754717,
        "recommends": 38,
        "responsesCreatedCount": 1,
        "sectionCount": 7,
        "socialRecommendsCount": 0,
        "subtitle": "MCS Lite’s Front-End Tech Stack for Mobile",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*6CI0TvS-uP37tMvbFj57PA.jpeg",
                "originalHeight": 640,
                "originalWidth": 1280,
              },
              "followerCount": 71,
              "postCount": 47,
            },
            "name": "Styled Components",
            "postCount": 47,
            "slug": "styled-components",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*OlIRsvVO5aK7ja9HmwXz_Q.gif",
                "isFeatured": true,
                "originalHeight": 230,
                "originalWidth": 493,
              },
              "followerCount": 64,
              "postCount": 100,
            },
            "name": "Create React App",
            "postCount": 100,
            "slug": "create-react-app",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*EUbadzBBmQzG8G6n9MSojw.jpeg",
                "isFeatured": true,
                "originalHeight": 500,
                "originalWidth": 1000,
              },
              "followerCount": 2970,
              "postCount": 10390,
            },
            "name": "IoT",
            "postCount": 10390,
            "slug": "iot",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "focusPercentX": 43,
                "focusPercentY": 51,
                "id": "1*_m9YLPqROjZFcWbEox6sqg.png",
                "isFeatured": true,
                "originalHeight": 479,
                "originalWidth": 1283,
              },
              "followerCount": 3,
              "postCount": 44,
            },
            "name": "Mediatek",
            "postCount": 44,
            "slug": "mediatek",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 39,
        "usersBySocialRecommends": Array [],
        "wordCount": 734,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "開發板の隨手筆記 - 封裝 MCS API for Arduino",
      },
      "coverless": true,
      "createdAt": 1493024457559,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1493083372209,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "9e562d28e17",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1493083372209,
      "latestPublishedVersion": "d40c15cd3f21",
      "latestRev": 1000,
      "latestVersion": "d40c15cd3f21",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 35,
                "focusPercentY": 46,
                "id": "1*QriekTKtdyjI7NWr4wXNkQ.png",
                "isFeatured": true,
                "originalHeight": 991,
                "originalWidth": 1685,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "196f",
              "text": "Writing a Library for LinkIt 7697",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "004f",
              "text": "開發板の隨手筆記 - 封裝 MCS API for Arduino",
              "type": 13,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "writing-a-library-for-linkit-7697",
      "title": "Writing a Library for LinkIt 7697",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "writing-a-library-for-linkit-7697-9e562d28e17",
      "updatedAt": 1494514540173,
      "url": "https://medium.com/@evenchange4/writing-a-library-for-linkit-7697-9e562d28e17",
      "versionId": "d40c15cd3f21",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 4,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [],
          "generatedAt": 1493083375286,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 35,
          "focusPercentY": 46,
          "height": 0,
          "imageId": "1*QriekTKtdyjI7NWr4wXNkQ.png",
          "originalHeight": 991,
          "originalWidth": 1685,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 1.5264150943396226,
        "recommends": 2,
        "responsesCreatedCount": 0,
        "sectionCount": 5,
        "socialRecommendsCount": 0,
        "subtitle": "開發板の隨手筆記 - 封裝 MCS API for Arduino",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*onUqSNXOFWa4NdqMxXQMSQ.jpeg",
                "isFeatured": true,
                "originalHeight": 675,
                "originalWidth": 900,
              },
              "followerCount": 808,
              "postCount": 1972,
            },
            "name": "Arduino",
            "postCount": 1972,
            "slug": "arduino",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "focusPercentX": 43,
                "focusPercentY": 51,
                "id": "1*_m9YLPqROjZFcWbEox6sqg.png",
                "isFeatured": true,
                "originalHeight": 479,
                "originalWidth": 1283,
              },
              "followerCount": 3,
              "postCount": 44,
            },
            "name": "Mediatek",
            "postCount": 44,
            "slug": "mediatek",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 2,
        "usersBySocialRecommends": Array [],
        "wordCount": 219,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "多國語言的機制建議盡量在專案初期就能有好的規劃，不至中後期要把字串抽出將會是件累人的事，而在現今前端開發的演進下，多國語言的流程也出現了一些不同的處理方式，以下簡介我們在 MediaTek 內前端專案處理的模式。",
      },
      "coverless": true,
      "createdAt": 1492674178359,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1492745328047,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "9f9ff8fe9aef",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1492745382081,
      "latestPublishedVersion": "fefe88787bad",
      "latestRev": 463,
      "latestVersion": "fefe88787bad",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 40,
                "focusPercentY": 52,
                "id": "1*pqqdxYjj9f976hm1qmm_LA.png",
                "isFeatured": true,
                "originalHeight": 326,
                "originalWidth": 3108,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "e6cc",
              "text": "I18n Workflow for React Project",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "9507",
              "text": "多國語言的機制建議盡量在專案初期就能有好的規劃，不至中後期要把字串抽出將會是件累人的事，而在現今前端開發的演進下，多國語言的流程也出現了一些不同的處理方式，以下簡介我們在 MediaTek 內前端專案處理的…",
              "type": 1,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "i18n-workflow-for-react-project",
      "title": "I18n Workflow for React Project",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "i18n-workflow-for-react-project-9f9ff8fe9aef",
      "updatedAt": 1502091407846,
      "url": "https://medium.com/@evenchange4/i18n-workflow-for-react-project-9f9ff8fe9aef",
      "versionId": "fefe88787bad",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 2,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [],
          "generatedAt": 1492745382361,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 40,
          "focusPercentY": 52,
          "height": 0,
          "imageId": "1*pqqdxYjj9f976hm1qmm_LA.png",
          "originalHeight": 326,
          "originalWidth": 3108,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 1.1871069182389937,
        "recommends": 7,
        "responsesCreatedCount": 1,
        "sectionCount": 4,
        "socialRecommendsCount": 0,
        "subtitle": "多國語言的機制建議盡量在專案初期就能有好的規劃，不至中後期要把字串抽出將會是件累人的事，而在現今前端開發的演進下，多國語言的流程也出現了一些不同的處理方式，以下簡介我們在 MediaTek 內前端專案處理的模式。",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 16218,
              "postCount": 8689,
            },
            "name": "React",
            "postCount": 8689,
            "slug": "react",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*BCplFE720Xb4bn3sfETqZA.gif",
                "isFeatured": true,
                "originalHeight": 206,
                "originalWidth": 500,
              },
              "followerCount": 10,
              "postCount": 105,
            },
            "name": "I18n",
            "postCount": 105,
            "slug": "i18n",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 7,
        "usersBySocialRecommends": Array [],
        "wordCount": 213,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
    Object {
      "acceptedAt": 0,
      "allowResponses": true,
      "approvedHomeCollectionId": "",
      "audioVersionDurationSec": 0,
      "canonicalUrl": "",
      "content": Object {
        "postDisplay": Object {
          "coverless": true,
        },
        "subtitle": "Prettier v1.0.0 就在四月初已經正式釋出，等同宣稱在 Production 環境也可安心穩定地使用了，也是時候考慮導入至專案中囉。在專案的導入順序我想應該會是 Prettier 再來才是 Eslint 的設定，兩者是可以並存的，以下以我覺得的導入順序做介紹。",
      },
      "coverless": true,
      "createdAt": 1492583384880,
      "creatorId": "aa88256220c4",
      "detectedLanguage": "zh-Hant",
      "displayAuthor": "",
      "experimentalCss": "",
      "firstPublishedAt": 1492590593069,
      "hasUnpublishedEdits": false,
      "homeCollectionId": "",
      "id": "13f567ae0184",
      "importedPublishedAt": 0,
      "importedUrl": "",
      "inResponseToMediaResourceId": "",
      "inResponseToPostId": "",
      "inResponseToRemovedAt": 0,
      "isApprovedTranslation": false,
      "isEligibleForRevenue": false,
      "isNsfw": false,
      "isRequestToPubDisabled": false,
      "isSeries": false,
      "isSponsored": false,
      "isSubscriptionLocked": false,
      "isTitleSynthesized": true,
      "latestPublishedAt": 1493190528373,
      "latestPublishedVersion": "a4deb82460e7",
      "latestRev": 447,
      "latestVersion": "a4deb82460e7",
      "license": 0,
      "mediumUrl": "",
      "migrationId": "",
      "newsletterId": "",
      "notifyFacebook": false,
      "notifyFollowers": true,
      "notifyTwitter": true,
      "premiumTier": 1,
      "previewContent": Object {
        "bodyModel": Object {
          "paragraphs": Array [
            Object {
              "layout": 10,
              "metadata": Object {
                "focusPercentX": 61,
                "focusPercentY": 73,
                "id": "1*KxQ_q--OFqMT1Fcpb-3SCA.png",
                "isFeatured": true,
                "originalHeight": 536,
                "originalWidth": 1868,
              },
              "name": "previewImage",
              "text": "",
              "type": 4,
            },
            Object {
              "alignment": 1,
              "markups": Array [],
              "name": "a941",
              "text": "Introducing Prettier with Eslint",
              "type": 3,
            },
            Object {
              "alignment": 1,
              "markups": Array [
                Object {
                  "end": 15,
                  "start": 9,
                  "type": 10,
                },
              ],
              "name": "a754",
              "text": "Prettier v1.0.0 就在四月初已經正式釋出，等同宣稱在 Production 環境也可安心穩定地使用了，也是時候考慮導入至專案中囉。在專案的導入順序我想應該會是 Prettier 再來才…",
              "type": 1,
            },
          ],
          "sections": Array [
            Object {
              "startIndex": 0,
            },
          ],
        },
        "isFullContent": false,
      },
      "responseHiddenOnParentPostAt": 0,
      "sequenceId": "",
      "seriesLastAppendedAt": 0,
      "slug": "introducing-prettier-with-eslint",
      "title": "Introducing Prettier with Eslint",
      "translationSourceCreatorId": "",
      "translationSourcePostId": "",
      "type": "Post",
      "uniqueSlug": "introducing-prettier-with-eslint-13f567ae0184",
      "updatedAt": 1501264734071,
      "url": "https://medium.com/@evenchange4/introducing-prettier-with-eslint-13f567ae0184",
      "versionId": "a4deb82460e7",
      "virtuals": Object {
        "allowNotes": true,
        "imageCount": 2,
        "isBookmarked": false,
        "isLockedPreviewOnly": false,
        "links": Object {
          "entries": Array [],
          "generatedAt": 1493190529136,
          "version": "0.3",
        },
        "metaDescription": "",
        "previewImage": Object {
          "backgroundSize": "",
          "filter": "",
          "focusPercentX": 61,
          "focusPercentY": 73,
          "height": 0,
          "imageId": "1*KxQ_q--OFqMT1Fcpb-3SCA.png",
          "originalHeight": 536,
          "originalWidth": 1868,
          "strategy": "resample",
          "width": 0,
        },
        "readingTime": 1.2965408805031446,
        "recommends": 6,
        "responsesCreatedCount": 0,
        "sectionCount": 5,
        "socialRecommendsCount": 0,
        "subtitle": "Prettier v1.0.0 就在四月初已經正式釋出，等同宣稱在 Production 環境也可安心穩定地使用了，也是時候考慮導入至專案中囉。在專案的導入順序我想應該會是 Prettier 再來才是 Eslint 的設定，兩者是可以並存的，以下以我覺得的導入順序做介紹。",
        "tags": Array [
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*-zy49yrWT0CHwkJpy56srg.jpeg",
                "isFeatured": true,
                "originalHeight": 4674,
                "originalWidth": 7003,
              },
              "followerCount": 54,
              "postCount": 137,
            },
            "name": "Eslint",
            "postCount": 137,
            "slug": "eslint",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
          Object {
            "metadata": Object {
              "coverImage": Object {
                "id": "1*v6EdE1Fqm73BIaYgpM46_g.png",
                "originalHeight": 400,
                "originalWidth": 1000,
              },
              "followerCount": 38023,
              "postCount": 38126,
            },
            "name": "JavaScript",
            "postCount": 38126,
            "slug": "javascript",
            "type": "Tag",
            "virtuals": Object {
              "isFollowing": false,
            },
          },
        ],
        "takeoverId": "",
        "totalClapCount": 6,
        "usersBySocialRecommends": Array [],
        "wordCount": 242,
      },
      "visibility": 0,
      "vote": false,
      "webCanonicalUrl": "",
    },
  ]
  `;
  