Skip to content

Instantly share code, notes, and snippets.

View potato4d's full-sized avatar
💭
It's not so easy to be consistent

Takuma HANATANI potato4d

💭
It's not so easy to be consistent
View GitHub Profile
@potato4d
potato4d / file1.html
Created March 17, 2018 03:34
NuxtのSSRモードで一部だけSSRをスキップする方法 ref: https://qiita.com/potato4d/items/04d3767aaa036f557950
<body data-n-head="">
<div data-server-rendered="true" id="__nuxt"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#3B8070;opacity:0;"></div><div id="__layout"><div><div><h1>Hello</h1><div class="no-ssr-placeholder"></div></div></div></div></div><script type="text/javascript">window.__NUXT__={"layout":"default","data":[{}],"error":null,"serverRendered":true};</script><script src="/_nuxt/manifest.js" defer></script><script src="/_nuxt/vendor.js" defer></script><script src="/_nuxt/app.js" defer></script>
</body>
@potato4d
potato4d / auth.js
Last active October 16, 2019 06:23
【実録】Nuxt.jsの既存プロジェクトを一足早くNuxt v2へとアップグレードする方法 ref: https://qiita.com/potato4d/items/7b3119c88869d7622a7d
export default async function(context) {
- const { app, store, route, redirect, isServer, req } = context
+ const { app, store, route, redirect, req } = context
- if (isServer) {
+ if (process.server) {
// 認証の処理
} else {
// クライアントでの処理
}
// ...
@potato4d
potato4d / build.js
Created July 13, 2018 16:18
c94 markdown builder
const ejs = require('ejs')
const util = require('util')
const promisify = util.promisify
const inspect = util.inspect
const glob = promisify(require('glob'))
const fs = require('fs')
const chalk = require('chalk')
const moment = require('moment')
const markdownIt = require('markdown-it')
@potato4d
potato4d / index.js
Created August 5, 2018 23:59
nuxt-client-init-module を使って Nuxt.js にクライアントサイド限定の初期化処理を追加する ref: https://qiita.com/potato4d/items/cc5d8ea24949e86f8a5b
export const state = () => ({
isCalled: false
})
export const getters = {
isCalled: (state) => state.isCalled
}
export const mutations = {
setIsCalled(state) {
// 現実
const { app, h } = hyperapp
/** @jsx h */
const state = {
isInited: false,
users: []
}
const actions = {
@potato4d
potato4d / file0.txt
Created October 4, 2018 08:42
Nuxt.js アプリケーションに簡単にベーシック認証を付与できる nuxt-basic-auth-module のご紹介 ref: https://qiita.com/potato4d/items/e37d9acf320d7c1b327c
$ yarn add nuxt-basic-auth-module
@potato4d
potato4d / src_App.vue
Last active December 6, 2018 16:01
Vuex に雑に最低限の型をつけたいときに使うやつ
<template>
<div>
<p>{{count}}</p>
<button type="button" @click="increment">+</button>
</div>
</template>
<script lang="ts">
import Vue from 'vue'
@potato4d
potato4d / App.vue
Last active December 19, 2018 15:03
JavaScript ベースの Vue.js プロジェクトのデータ構造を JSON Schema を使って守る ref: https://qiita.com/potato4d/items/3e40ae9f69fb9e012769
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<AppUser :user="user" />
</div>
</template>
<script>
import AppUser from './components/AppUser.vue'
(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["vue-fixed-header"]=e(require("vue")):t["vue-fixed-header"]=e(t["Vue"])})("undefined"!==typeof self?self:this,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,
@potato4d
potato4d / index.ts
Created March 24, 2019 08:02
TypeScript x Express で雑に Passport で Twitter 認証するときに使い回すやつ
import express, { Request, Response } from 'express'
import session from 'express-session'
import passport from 'passport'
import cookieParser from 'cookie-parser'
import { inspect } from 'util'
import { Strategy } from 'passport-twitter'
const app = express()
app.use(cookieParser())
app.use(