[
  {
    "path": ".editorconfig",
    "content": "# editorconfig.org\nroot = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": ".github/workflows/main.yml",
    "content": "name: CI\n\non: [push]\n\njobs:\n  build:\n    name: Generate Github Page\n    runs-on: windows-latest\n\n    steps:\n      - uses: actions/checkout@v1\n      - run: npm install\n      - run: npm run gitpages\n      - name: Deploy site to gh-pages branch\n        uses: alex-page/blazing-fast-gh-pages-deploy@v1.1.0\n        with:\n         repo-token: ${{ secrets.GH_PAT }}\n         site-directory: docs\n"
  },
  {
    "path": ".gitignore",
    "content": "# Created by .ignore support plugin (hsz.mobi)\n### Node template\n# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# TypeScript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n\n# next.js build output\n.next\n\n# nuxt.js build output\n.nuxt\n\n# Nuxt generate\ndist\n\n# vuepress build output\n.vuepress/dist\n\n# Serverless directories\n.serverless\n\n# IDE / Editor\n.idea\n\n# Service worker\nsw.*\n\n# Mac OSX\n.DS_Store\n\n# Vim swap files\n*.swp\n"
  },
  {
    "path": ".nojekyll",
    "content": ""
  },
  {
    "path": "README.md",
    "content": "# readium\n\n> Bookmarklet for reading premium articles for free\n\nInstructions and Bookmarklet can be found here:\nhttps://sugoidesune.github.io/readium/\n\n\n*This repositroy is simply the Vue project to create the website.\n"
  },
  {
    "path": "assets/README.md",
    "content": "# ASSETS\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThis directory contains your un-compiled assets such as LESS, SASS, or JavaScript.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).\n"
  },
  {
    "path": "components/Logo.vue",
    "content": "<template>\n  <div class=\"VueToNuxtLogo\">\n    <div class=\"Triangle Triangle--two\" />\n    <div class=\"Triangle Triangle--one\" />\n    <div class=\"Triangle Triangle--three\" />\n    <div class=\"Triangle Triangle--four\" />\n  </div>\n</template>\n\n<style>\n.VueToNuxtLogo {\n  display: inline-block;\n  animation: turn 2s linear forwards 1s;\n  transform: rotateX(180deg);\n  position: relative;\n  overflow: hidden;\n  height: 180px;\n  width: 245px;\n}\n\n.Triangle {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 0;\n  height: 0;\n}\n\n.Triangle--one {\n  border-left: 105px solid transparent;\n  border-right: 105px solid transparent;\n  border-bottom: 180px solid #41b883;\n}\n\n.Triangle--two {\n  top: 30px;\n  left: 35px;\n  animation: goright 0.5s linear forwards 3.5s;\n  border-left: 87.5px solid transparent;\n  border-right: 87.5px solid transparent;\n  border-bottom: 150px solid #3b8070;\n}\n\n.Triangle--three {\n  top: 60px;\n  left: 35px;\n  animation: goright 0.5s linear forwards 3.5s;\n  border-left: 70px solid transparent;\n  border-right: 70px solid transparent;\n  border-bottom: 120px solid #35495e;\n}\n\n.Triangle--four {\n  top: 120px;\n  left: 70px;\n  animation: godown 0.5s linear forwards 3s;\n  border-left: 35px solid transparent;\n  border-right: 35px solid transparent;\n  border-bottom: 60px solid #fff;\n}\n\n@keyframes turn {\n  100% {\n    transform: rotateX(0deg);\n  }\n}\n\n@keyframes godown {\n  100% {\n    top: 180px;\n  }\n}\n\n@keyframes goright {\n  100% {\n    left: 70px;\n  }\n}\n</style>\n"
  },
  {
    "path": "components/README.md",
    "content": "# COMPONENTS\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThe components directory contains your Vue.js Components.\n\n_Nuxt.js doesn't supercharge these components._\n"
  },
  {
    "path": "jsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"~/*\": [\"./*\"],\n      \"@/*\": [\"./*\"],\n      \"~~/*\": [\"./*\"],\n      \"@@/*\": [\"./*\"]\n    }\n  },\n  \"exclude\": [\"node_modules\", \".nuxt\", \"dist\"]\n}\n"
  },
  {
    "path": "layouts/README.md",
    "content": "# LAYOUTS\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThis directory contains your Application Layouts.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).\n"
  },
  {
    "path": "layouts/default.vue",
    "content": "<template>\n  <div>\n    <nuxt />\n  </div>\n</template>\n\n<style>\nhtml {\n  font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI',\n    Roboto, 'Helvetica Neue', Arial, sans-serif;\n  font-size: 16px;\n  word-spacing: 1px;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n  box-sizing: border-box;\n}\n\n*,\n*:before,\n*:after {\n  box-sizing: border-box;\n  margin: 0;\n}\n\n.button--green {\n  display: inline-block;\n  border-radius: 4px;\n  border: 1px solid #3b8070;\n  color: #3b8070;\n  text-decoration: none;\n  padding: 10px 30px;\n}\n\n.button--green:hover {\n  color: #fff;\n  background-color: #3b8070;\n}\n\n.button--grey {\n  display: inline-block;\n  border-radius: 4px;\n  border: 1px solid #35495e;\n  color: #35495e;\n  text-decoration: none;\n  padding: 10px 30px;\n  margin-left: 15px;\n}\n\n.button--grey:hover {\n  color: #fff;\n  background-color: #35495e;\n}\n</style>\n"
  },
  {
    "path": "middleware/README.md",
    "content": "# MIDDLEWARE\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThis directory contains your application middleware.\nMiddleware let you define custom functions that can be run before rendering either a page or a group of pages.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).\n"
  },
  {
    "path": "nuxt.config.js",
    "content": "\n\nmodule.exports = {\n  mode: 'universal',\n  /*\n  ** Headers of the page\n  */\n  head: {\n    title: 'Readium' || process.env.npm_package_name || '',\n    meta: [\n      { charset: 'utf-8' },\n      { name: 'viewport', content: 'width=device-width, initial-scale=1' },\n      { hid: 'description', name: 'description', content: process.env.npm_package_description || '' }\n    ],\n    link: [\n      { rel: 'icon', type: 'image/x-icon', href: 'favicon.ico' },\n      { rel: 'shortcut icon', href: '/favicon.ico' },\n      { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Nunito:200,300,400,600,700&display=swap' },\n    ],\n    script: [\n      {src: 'https://kit.fontawesome.com/5b47744dec.js', crossorigin:'anonymous'},\n  \n    ]\n  },\n\n  /*\n  ** Customize the progress-bar color\n  */\n  loading: { color: '#fff' },\n  /*\n  ** Global CSS\n  */\n  css: [\n  ],\n  /*\n  ** Plugins to load before mounting the App\n  */\n  plugins: [\n  ],\n  /*\n  ** Nuxt.js dev-modules\n  */\n buildModules: [\n  '@nuxtjs/axios',\n],\n  /*\n  ** Nuxt.js modules\n  */\n  modules: [\n    // Doc: https://bootstrap-vue.js.org\n    'bootstrap-vue/nuxt',\n    ['@nuxtjs/google-gtag', { id: 'UA-41622771-4', debug: true, config: {send_page_view: true} }],\n  ],\n\n  /*\n  ** Build configuration\n  */\n  build: {\n    /*\n    ** You can extend webpack config here\n    */\n    // extend (config, ctx) {\n    // }\n  },\n  router :{\n    base: process.env.NODE_ENV === \"development\" ? '/' : '/readium/'\n  },\n  generate: {\n    dir: process.env.generateFolder || 'dist'\n  }\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"readium\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Bookmarklet for reading premium articles for free\",\n  \"author\": \"sugoidesune\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"cross-env NODE_ENV=development nodemon server/index.js --watch server\",\n    \"build\": \"nuxt build\",\n    \"start\": \"cross-env NODE_ENV=production node server/index.js\",\n    \"generate\": \"nuxt generate\",\n    \"gitpages\": \"set generateFolder=docs&&nuxt generate\"\n  },\n  \"dependencies\": {\n    \"@nuxtjs/axios\": \"^5.8.0\",\n    \"@nuxtjs/google-gtag\": \"^1.0.4\",\n    \"bootstrap\": \"^4.1.3\",\n    \"bootstrap-vue\": \"^2.0.0\",\n    \"cross-env\": \"^5.2.0\",\n    \"express\": \"^4.16.4\",\n    \"nuxt\": \"^2.10.2\"\n  },\n  \"devDependencies\": {\n    \"node-sass\": \"^4.13.0\",\n    \"nodemon\": \"^1.18.9\",\n    \"sass-loader\": \"^8.0.0\"\n  }\n}\n"
  },
  {
    "path": "pages/README.md",
    "content": "# PAGES\n\nThis directory contains your Application Views and Routes.\nThe framework reads all the `*.vue` files inside this directory and creates the router of your application.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).\n"
  },
  {
    "path": "pages/index.vue",
    "content": "<template>\n  <div class=\"container\">\n<section class=\"header\">\n  <h1>Readium</h1>\n  <h3>[ <span>Read premium articles for free</span>  ]</h3>\n</section>\n\n<section class=\"quickstart d-none\">\n  button  Watch a video\n</section>\n<section class=\"video\">\n  <iframe width=\"560\" height=\"315\" src=\"https://www.youtube-nocookie.com/embed/_5s5VUrNPMA\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n</section>\n\n\n<section class=\"how\">\n  \n  <h5>1. Drag this button to your Bookmarks:</h5>\n  <a href=\"javascript:var%20currentsite%3Ddocument.querySelector(%22meta%5Bproperty%3D'al%3Aandroid%3Aapp_name'%5D%22)%3Fdocument.querySelector(%22meta%5Bproperty%3D'al%3Aandroid%3Aapp_name'%5D%22).content%3Awindow.location.href%3Bfunction%20isPage(b)%7Bconsole.log(b%2B%22%20%22%2Bcurrentsite.includes(b))%3Breturn%20currentsite.includes(b)%7Dfunction%20process(b)%7Bvar%20a%3Db%3BisPage(%22NYTimes%22)%26%26(document.querySelector(%22html%22).innerHTML%3Da)%3BisPage(%22Medium%22)%26%26(a%3Db.replace(%2F%3C%5C%2F%3Fnoscript%3E%2Fg%2C%22%22)%2Cdocument.querySelector(%22html%22).innerHTML%3Da)%3Bif(isPage(%22Bloomberg%22)%7C%7CisPage(%22businessinsider%22))a%3Ddocument.createElement(%22html%22)%2Ca.innerHTML%3Db%2Ca.querySelectorAll(%22script%22).forEach(function(a)%7Breturn%20a.outerHTML%3D%22%22%7D)%2Ca%3Da.outerHTML%2Cdocument.open()%2Cdocument.write(a)%2Cdocument.close()%3BisPage(%22businessinsider%22)%26%26(a%3Ddocument.createElement(%22html%22)%2Ca.innerHTML%3Db%2Ca.querySelectorAll(%22script%22).forEach(function(a)%7Breturn%20a.outerHTML%3D%22%22%7D)%2Ca.querySelectorAll(%22figure%22).forEach(function(a)%7Ba.innerHTML%3Da.querySelector(%22noscript%22).innerHTML%7D)%2Ca%3Da.outerHTML%2Cdocument.open()%2Cdocument.write(a)%2Cdocument.close())%7Dfetch(window.location.href%2C%7Bcredentials%3A%22omit%22%2Credirect%3A%22follow%22%2Cmode%3A%22no-cors%22%7D).then(function(b)%7Breturn%20b.text()%7D).then(function(b)%7Bprocess(b)%7D)%3Bvoid+0\" class=\"link\">Readium</a>\n</section>\n<section class=\"sites\">\n  <h5>2. Find a premium article on any of these:</h5>\n<div class=\"newssites\">\n  <a href=\"https://www.nytimes.com/\">\n      <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/NewYorkTimes.svg/185px-NewYorkTimes.svg.png\" alt=\"\">\n  </a>\n  <a href=\"https://www.businessinsider.com/prime?IR=T\">\n  <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Business_Insider_Logo.svg/320px-Business_Insider_Logo.svg.png\" alt=\"\">\n  </a>\n  <a href=\"https://www.medium.com/\">\n  <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Medium_logo_Wordmark_Black.svg/380px-Medium_logo_Wordmark_Black.svg.png\" alt=\"\" class=\"src\">\n  </a>\n  <a href=\"https://www.bloomberg.com/\">\n  <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Bloomberg_L.P._logo.svg/320px-Bloomberg_L.P._logo.svg.png\" alt=\"\" class=\"src\">\n    </a>\n  <a href=\"https://towardsdatascience.com/\">\n  <img \nsrc=\"data:image/png;base64,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\" alt=\"\" class=\"src invert\">\n    </a>\n</div>\n</section>\n\n<section class=\"done\">\n  <h5>3. Click the Readium Bookmarklet and read!</h5>\n  <div class=\"article\">\n    <span class=\"button float\">Readium</span>\n    <h5>___        </h5>\n    <h5>___ _____ _</h5>\n    <h5 class=\"image\">_ _ ___<i class=\"far fa-image\"></i></h5>\n    <h5>__ ________</h5>\n    <h5>____ ______</h5>\n  </div>\n\n</section>\n\n<section class=\"not-a-newsletter\">\n\t<h5>4. Only way to get updates...</h5>\n  <p class=\"subtitle\">...not a newsletter, just core project updates. </p>\n<div id=\"mc_embed_signup\">\n<form id=\"mc-form\" @submit.prevent=\"checkForm\" method=\"post\" name=\"mc-embedded-subscribe-form\" class=\"validate\" target=\"_blank\" novalidate>\n    <div id=\"mc_embed_signup_scroll\">\n<div class=\"form-fields\" v-bind:class=\"{'d-none': showThanks}\">\n\t<input type=\"email\" value=\"\" name=\"EMAIL\" class=\"required email\" id=\"mce-EMAIL\" placeholder=\"Email\" v-model=\"email\" v-on:blur=\"on_blur_email\" v-on:input=\"on_input_email\">\n  <input type=\"submit\" value=\"Get Updates\" name=\"subscribe\" id=\"mc-embedded-subscribe\" class=\"button\" v-on:blur=\"on_blur_submit\">\n</div>\n  <p v-bind:class=\"{'d-none': !showEmailError}\" class=\"error-message\">I can't readium this email... try another.</p>\n  <p v-bind:class=\"{'d-none': !showThanks}\" class=\"error-message thanks\">Thanks!</p>\n\t\t<div class=\"response\" id=\"mce-error-response\" style=\"display:none\"></div>\n\t\t<div class=\"response\" id=\"mce-success-response\" style=\"display:none\"></div>\n    <div style=\"position: absolute; left: -5000px;\" aria-hidden=\"true\"><input type=\"text\" name=\"b_cdcf0fbdb74b3c21028610ca2_9240a77d05\" tabindex=\"-1\" value=\"LOVE\" v-model=\"bottrap\"></div>\n\n    </div>\n</form>\n</div>\n</section>\n\n\n<section class=\"social\">\n  <h5>5. Find me here:</h5>\n  <div class=\"icons\">\n    <a href=\"https://twitter.com/sudotimar\">\n          <i class=\"fab fa-twitter\"></i>\n    </a>\n    <a href=\"https://medium.com/@timarivobatis\">\n          <i class=\"fab fa-medium\"></i>\n    </a>\n    <a href=\"https://github.com/sugoidesune\">\n          <i class=\"fab fa-github\"></i>\n    </a>\n  </div>\n\n</section>\n  </div>\n</template>\n\n<script>\n\nexport default {\n  data(){return{\n    email:'',\n    bottrap: '',\n    showEmailError: false,\n    showThanks: false,\n  }\n  },\n  methods :{\n    on_blur_submit(){\n      //this.showThanks = false;\n    },\n    on_blur_email(){\n      if(this.validEmail(this.email)){\n      } else {\n        this.showEmailError = true\n      }\n    },\n    on_input_email(){\n      this.showEmailError = false\n    },\n    checkForm(event){\n      event.preventDefault();\n      if(this.validEmail(this.email)){\n        var data = new FormData()\n        data.append('EMAIL', this.email)\n        data.append('b_cdcf0fbdb74b3c21028610ca2_9240a77d05', '')\n        var params = new URLSearchParams(data).toString()\n        console.log('jsonpeeing all overthis')\n          var url = (\"https://github.us4.list-manage.com/subscribe/post?u=cdcf0fbdb74b3c21028610ca2&amp;id=9240a77d05&c=callbackMC&\"+params).replace('/post?u=', '/post-json?u=');\n\n        fetch(url, {\"method\": \"POST\",\n        \"mode\": \"no-cors\",\n        \"data\": JSON.stringify(data)\n        })\n        .then(res=>res).then(text=>text.text().then(txt=>{\n          this.showThanks = true\n          this.email = ''\n          }))\n      } else {\n        this.showEmailError = true\n      }\n    },\n    validEmail: function (email) {\n      var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n      return re.test(email);\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n$main: #ade1d5;//#ff005a;\n$accent: white;\n.d-none {\n  display: none !important;\n}\nbody{\n  margin: 0;\nbackground: $main;\ncolor: $accent;\nfont-family: 'Nunito', sans-serif;\n  a {\n    color: $accent;\n    &:hover {\n      text-decoration: none;\n    }\n  }\n  h1 {\n    font-size:100px;\n    text-align:center;\n    margin-bottom: 0;\n}\n  h3{\n    font-weight: 100;\n    margin-top: -20px;\n    font-size:30px;\n    text-align:center;\n    line-height: 0.7;\n    span {\n      font-size:80%;\n    }\n    .small {\n\n      margin-top: -30px;\n      font-size: 60%;\n    }\n  }\n  h5{\n    font-size: 20px;\n    text-align:center;\n    margin-bottom: 10px;\n  }\n@media only screen and (max-width: 768px) {\n  h1 {\n  font-size:75px;\n  margin-bottom: 5px;\n  }\n  h3 {\n    font-size: 22px;\n  }\n}\n\n\nsection  {\n  margin-top: 75px;\n  h5 {\n    margin-bottom: 25px;\n  }\n}\n\nsection.header {\n    margin-top: 25px;\n}\n\nsection.video {\n  iframe {\n    display: block;\n    margin: auto;\n    width: 100%;\n    max-width: 560px;\n  }\n}\n\nsection.sites {\n  margin-bottom: -35px;\n    text-align: center;\n  p {\n    margin-top: -15px;\n  }\n    .newssites {\n    background: $main;\n    margin:auto;\n    margin-top: -35px;\n    max-width: 800px;\n    display: flex;\n    justify-content: space-around;\n    align-items: center;\n    img {\n      opacity: 1;\n      width: 100px;\n      height: auto;\n      filter: saturate(0) contrast(300%) invert(1);\n      mix-blend-mode: lighten;\n    }\n     .invert {\n     filter: invert(0) contrast(300%) saturate(0) brightness(1);\n    }\n  }\n  @media only screen and (max-width: 768px) {\n    .newssites {\n      img {\n        width: 70px;\n      }\n    }\n  }\n}\nsection.how {\n  display: block;\n  text-align: center;\n  h5 {margin-bottom: 30px}\n  .link{\n    margin:auto;\n    background: $accent;\n    color: $main;\n    font-size: 20px;\n    margin-top: 100px;\n    text-align:center;\n    margin-bottom: 10px;\n    border-radius: 10px;\n    padding: 5px 30px 9px 30px;\n    font-weight: 600;\n    box-shadow: inset 0px -4px 0px 0 #0000000a, -9px 17px 19px 0 #00000017;\n    &:hover {\n      color: $main;\n      box-shadow: inset 0px -4px 0px 0 #0000000a, -9px 17px 19px 0 #00000017, 0px 0px 5px 0 #fff;\n    }\n  }\n}\nsection.done {\n  .article{\n    background: $accent;\n    padding: 10px 10px 20px 10px;\n    display: block;\n    margin: auto;\n    width: 140px;\n    box-shadow: inset 0px -5px 0px 0 #0000000a, -3px 3px 4px 0 #00000017;\n    position: relative;\n    .button {\n      background: $accent;\n      box-shadow: inset 0px -1px 0px 0 #0000000a, -1px 1px 3px 0 #00000017;\n      font-size: 7px;\n      font-weight: 100;\n      display: inline-block;\n      position: absolute;\n      border-radius: 1px;\n      padding: 1px 5px;\n      top: 4px;\n      color: $main;\n    }\n    .float {\n        animation-name: float;\n        animation-duration: 1.5s;\n        animation-direction: alternate-reverse;\n        animation-iteration-count: infinite;\n        animation-timing-function: ease-in-out;\n    }\n    @keyframes float {\n    from {\n      transform: translatey(0px)\n      }\n    to {transform: translatey(+2px)}\n    }\n    h5 {\n      color: $main;\n    margin: 0;\n  }\n    .image {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      line-height: 0;\n      height: 30px;\n    }\n    i {\n      padding-top: 10px;\n      margin-left: 5px;\n      font-size: 36px;\n    }\n  } \n}\nsection.social {\n  width: 300px;\n  margin-left: auto;\n  margin-right: auto;\n  margin-bottom: 75px;\n  .icons {\n    margin-top: -10px;\n      display: flex;\n      justify-content: center;\n    i {\n      font-size: 25px;\n      margin:10px;\n    }\n      a:hover{\n        color: $accent;\n      }\n  }\n}\n\nsection.not-a-newsletter {\n  width: 325px;\n  margin-left: auto;\n  margin-right: auto;\n  p.subtitle{\n    text-align: center;\n    margin-top: -25px;\n  }\n    label {\n      display: block;\n      margin: 0;\n    }\n  .form-fields {\n    display: flex;\n    padding-bottom: 24px;\n    input.email {\n      flex-grow: 1;\n      border: 0;\n      border-radius: 5px 0px 0px 5px;\n      padding: 5px;\n      padding-left:  10px;\n      &::placeholder {\n      color: $main;\n      }\n    }\n    input.button {\n      flex-grow: 1;\n      border: 0;\n      border-radius: 0px 5px 5px 0;\n      background: white;\n      border-left: 1px solid $main;\n      color: $main;\n      padding: 5px;\n      &:hover {\n              box-shadow: 0px 0px 5px 0 #fff;\n      }\n    }\n  }\n  .thanks {\n    text-align: center;\n    padding: 27px;\n    font-size: 20px;\n  }\n    .error-message {\n      margin-top: -24px;\n    }\n}\n}\n</style>\n"
  },
  {
    "path": "pages/tech/index.vue",
    "content": "<template>\n  <div class=\"container\">\n      love\n  </div>\n</template>\n\n<script>\n\nexport default {\n}\n</script>\n\n<style lang=\"scss\">\n</style>\n"
  },
  {
    "path": "plugins/README.md",
    "content": "# PLUGINS\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThis directory contains Javascript plugins that you want to run before mounting the root Vue.js application.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).\n"
  },
  {
    "path": "plugins/jsonp-axios.js",
    "content": "// import Vue from 'vue'\n// import jsonpAdapter from 'axios-jsonp'\n\n// Vue.use(jsonpAdapter)"
  },
  {
    "path": "server/index.js",
    "content": "const express = require('express')\nconst consola = require('consola')\nconst { Nuxt, Builder } = require('nuxt')\nconst app = express()\n\n// Import and Set Nuxt.js options\nconst config = require('../nuxt.config.js')\nconfig.dev = process.env.NODE_ENV !== 'production'\n\nasync function start () {\n  // Init Nuxt.js\n  const nuxt = new Nuxt(config)\n\n  const { host, port } = nuxt.options.server\n\n  // Build only in dev mode\n  if (config.dev) {\n    const builder = new Builder(nuxt)\n    await builder.build()\n  } else {\n    await nuxt.ready()\n  }\n\n  // Give nuxt middleware to express\n  app.use(nuxt.render)\n\n  // Listen the server\n  app.listen(port, host)\n  consola.ready({\n    message: `Server listening on http://${host}:${port}`,\n    badge: true\n  })\n}\nstart()\n"
  },
  {
    "path": "static/README.md",
    "content": "# STATIC\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThis directory contains your static files.\nEach file inside this directory is mapped to `/`.\nThus you'd want to delete this README.md before deploying to production.\n\nExample: `/static/robots.txt` is mapped as `/robots.txt`.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).\n"
  },
  {
    "path": "store/README.md",
    "content": "# STORE\n\n**This directory is not required, you can delete it if you don't want to use it.**\n\nThis directory contains your Vuex Store files.\nVuex Store option is implemented in the Nuxt.js framework.\n\nCreating a file in this directory automatically activates the option in the framework.\n\nMore information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).\n"
  }
]