みかづきブログ・カスタム

基本的にはちょちょいのほいです。

ページのスクロールを管理するカスタムフックをつくる 🖱

最近、Next.jsをつかってページスクロールを管理する実験を行ってます。Next.jsを使ってページスクロールに連動してクロールするサイトを作りました。https://t.co/Mdth7el9XS pic.twitter.com/LZwbleg1yv— 君塚史高 (@ki_230) 2021年1月15日 blog.kimizuka.…

styled-componentsでCSSアニメーションを使ってもうまくいかない場合は記述位置を確認する 🔍

最近は、もっぱらNext.js + styled-componentsでウェブサイトを作っております。 そんな折、動作原理を考えたら当然の挙動なのですが、一瞬ハマったのでメモを残します。 ことの発端 const BtnWrapper = styled.div` position: relative; width: 44px; heigh…

Next.jsで作った静的ウェブサイトをGitHub Pagesで公開するためのGitHub Actionsをつくる 🔨

はじめに Next.js + GitHubPagesで静的サイトを公開する設定 については以前記事にしましたが、yarn exportによる書き出し自体は自動化していませんでした。blog.kimizuka.org今回は、以前の設定に加えて、push時に書き出しを自動化するところまで踏み込もう…

iOSでページをスクロールしている最中にscrollToを使ってページのスクロール位置を変更すると次のtouchmoveの発生で元の位置に戻る 👆

github.comこちらのissue に対応するために調査しました。 こんなことは普通はしないと思うのですが、iOSにてページスクロール中にscrollToを使うと、 ❶ ユーザーがページのスクロールを開始する ❷ widow.scrollToでスクロール位置を変更する ❸ (指定箇所ま…

touch-action: noneでtouch操作を無効にする 👆

CSS

iOSでウェブページのスクロールを止めるためにもろもろ調査をしていて、touch-actionたるものを知りました。developer.mozilla.orgその名の通り、許容するタッチ操作を指定できるプロパティで、 touch-action: none とすることで、スワイプ、ピンチなどのす…

Next.jsで作ったサイトをGitHub Pagesで公開する際の設定4点(.nojekyllの追加、ルートの変更、exportのディレクトリ変更、trailingSlashの設定) 👀

❶ _nextディレクトリが404にならないように、publicディレクトリに.nojekyllを追加する Nuxt.jsを使った場合と同じです。blog.kimizuka.orgGitHubPagesのデフォルトの設定では、こちらの通り、アンダースコア (_)、ピリオド (.)、またはハッシュ記号 (#) で…

TypeScriptで開発しているNuxt.jsのプロジェクトにgtagを導入する 🖥

プロパティの作成 いつの間にやらGoogleアナリティクス4たるものがリリースされていました。support.google.comが。Nuxt.jsとの組み合わせを考えると、まだユニバーサルアナリティクスを使った方が良いみたいなので、アカウントをつくるときに、「ユニバーサ…

NetlifyとGitの連携を解除する(解除できない) 🔪

行きは良い良い的な話です。NetlifyとGitを連携させるのは超簡単で、GitにPushするだけでNetlifyにデプロイされるように設定すると運用がすごく楽になります。 が。一度連携させると解除する方法がないような気がします。 (別のGitと連携させなおすことはで…

ブラウザで録音した音声をBlobにしてサーバにアップロードする&サーバからダウンロードしたBlobをBlob URLにしてaudioタグで再生するために、Blob ⇄ Blob URLの変換方法を調べる 🎤

先日つくったブラウザで音声を録音できるサイトですが、折角なら録音データをFirebaseにアップロードしたいと思いました。Next.js + RecorderService.js でブラウザで音声を録音する - みかづきブログ・カスタムそのために、Blob URL → Blob と Blob → Blob…

Next.js + RecorderService.js でブラウザで音声を録音する 🎙

mobile Safariから音声を投稿する仕組みを考えていたところ、MediaRecorder APIたるものを発見しました。developer.mozilla.org当初は、 ボイスメモで録音(音声ファイルを生成) どうにかしてブラウザから音声ファイルにアクセス ファイルアップロード とい…

なぜかfirebase deployに失敗するときは一度ログアウトしてみると解決することがある 🔥

タイトルにすべてを書いてしまったので、本文に書くことがなくなってしまったのですが、 ある日、 firebase deploy で、Firebase Hostingにデプロイしようと試みたところ、 Error: Failed to get Firebase project PROJECT_NAME. Please make sure the proje…

shape-outsideをつかってテキストの表示領域を平行四辺形にする 📝

CSS

DEMO See the Pen shape-outside by kimmy (@kimmy) on CodePen. CSSシェイプをつかって、テキストを斜めに段組してみました。developer.mozilla.orgやっていることは単純で、テキストの左右に三角形を置いて、floatで配置しているだけです。縦位置をセンタ…

aframe-animation-mixerを改造してARオブジェクトのアニメーションを制御可能にする 🎥

アニメーションするARオブジェクトに対してシークバーを付けてみました。aframe-animation-mixerをほんのり改造して、ARで表示したオブジェクトのアニメーションをシークできるようにしてみました。 https://t.co/oFezei9dJu pic.twitter.com/GqaZrlg4IX— 君…

Next.jsでLoading時に使える関数コンポーネントを作る 🔨

Next.jsとThree.jsでウェブサイトをつくったのですが、3Dモデルが重すぎるのでローディングをつくりました。blog.kimizuka.org以前、Reactのクラスコンポーネント用に作ったものを関数コンポーネントで書き直し、CSSをstyled-componentsで管理するように変更…

Next.js + Three.jsでページのスクロールを管理して3Dモデルをアニメーションさせる 🎥

blog.kimizuka.org以前つくったスクロール管理の仕組みをつかって、ページをスクロールするとダンスを踊るサイトをつくりました。kimizuka.github.ioNext.js + Three.jsでページスクロールに連動してダンスを踊るサイトを作りました。 https://t.co/0kkwD8lq…