[Nuxt][Vue]Twitter風カウンターをvue-twitter-counterを使って実装する!
最近、いろんなVue.js用パッケージを見つけるのにハマってます。今回、面白そうだなと思ったのはTwitter風のカウンターが簡単に実装できるvue-twitter-counter
というパッケージです。
GitHub - LucasLeandro1204/vue-twitter-counter: Counter component inspired in Twitter with Vue
ツイートする時いつも見る文字数円カウンターをいざ実装!
Nuxt.jsを使って実装していきますが、Vue.jsでも簡単に行けます。
導入
npm
で導入します。
$ npm install vue-twitter-counter --save
nuxt.config.js
に記述。
module.exports = { // add plugins: [ { src: '~plugins/vue-twitter-counter.js', ssr: false } ],
では、plugins/vue-twitter-counter.js
を作成します。
import Vue from 'vue' import VueTwitterCounter from 'vue-twitter-counter' Vue.component('vue-twitter-counter', VueTwitterCounter)
これで準備は整いました。
実装
さあ実装していきます。
pages/index.vue
に記述していきましょう。
<template> <div> <textarea v-model="message" rows="5"></textarea> <vue-twitter-counter :current-length="message_length"></vue-twitter-counter> </div> </template> <script> import Logo from '~/components/Logo.vue' export default { components: { Logo }, data () { return { message: '', }; }, computed: { message_length () { return this.message.length; }, }, } </script>
npm run dev
で実行してみると!
おお!できました!
140文字制限とかはどうやるんだろう、と思ってみると、
<vue-twitter-counter :current-length="message_length" :danger-at="140"></vue-twitter-counter>
これで行けますね!
何かあれば、じぇい👨💻 (@jyouj__) | Twitterに!
投げ銭も待ってまーす!-> jyouj__さんの投げ銭ビスケット募集中!
[Nuxt][Vue]ボタンをクリックするとボタンが出る!vue-circle-menuが便利!
メニューボタンをオシャレにデザインしたい時ってありますよね?そんな時、活躍しそうなVueのモジュールがあったので紹介します。
GitHub - OYsun/VueCircleMenu: A beautiful circle menu powered by Vue.js
この記事ではNuxt.jsを利用していますが、Vue.jsでも導入は簡単です。
導入
とりあえずNuxtのプロジェクトディレクトリにインストールします。
npm install vue-circle-menu
nuxt.config.js
に設定を書いていきましょう。
module.exports = { // 追記 plugins: [ { src: '~plugins/vue-circle-menu', ssr: false } ], // ... }
そして、plugins/vue-circle-menu.js
を作成して、こう記述。
import Vue from 'vue' import CircleMenu from 'vue-circle-menu' Vue.component('circle-menu', CircleMenu)
これで使えるようになりました。
実装
今回はReadmeにあるようにシンプルに使ってみます。
fontawesomeを利用しているのですが、くわしいfontawesomのNuxt.jsでの利用方法は下記の記事を参考にしてみてください。
nuxt-fontawesomeを使って Nuxt.jsへFont Awesome 5を導入する - Qiita
pages/index.html
のデフォルトのものに追記してみましょう。
<section class="container"> <div> <logo/> <h1 class="title"> connfidenss </h1> <h2 class="subtitle"> Connpass Client Service </h2> <div class="links"> <a href="https://nuxtjs.org/" target="_blank" class="button--green">Documentation</a> <a href="https://github.com/nuxt/nuxt.js" target="_blank" class="button--grey">GitHub</a> </div> <!-- add --> <circle-menu type="middle" :number="4" animate="animated jello" mask='white' circle> <button type="button" slot="item_btn"></button> <font-awesome-icon slot="item_1" icon="dollar-sign"/> <font-awesome-icon slot="item_2" icon="yen-sign"/> <font-awesome-icon slot="item_3" icon="euro-sign"/> <font-awesome-icon slot="item_4" icon="lira-sign"/> </circle-menu> </div> </section>
npm run dev
をしてみると、
右下のピンクのボタンを押すと、
うまく動きました!
何かあれば、じぇい👨💻 (@jyouj__) | Twitterに!
投げ銭も待ってまーす!-> jyouj__さんの投げ銭ビスケット募集中!
[Golang]絵文字を簡単に表示できるemojiパッケージが便利!
簡単にGoで絵文字を表示させることができるパッケージがあったので紹介します。
GitHub - kyokomi/emoji: emoji terminal output for golang
導入
とりあえずインストールしてみます。
$ go get github.com/kyokomi/emoji
早速書いていきましょう。
試す
main.goを作成して、下のように書いていきましょう。
package main import ( "fmt" "github.com/kyokomi/emoji" ) func main() { i := 0 sushi := emoji.Sprint(":sushi:") for { fmt.Println(sushi) i++ if i == 10 { break } } }
10回、寿司の絵文字をターミナルに表示させます。:sushi:
が寿司の絵文字になります。使える絵文字というのは、
これを見たら良さそうですね!
実行してみます。
$ go run main.go
こんな感じでうまくいきました!
echoフレームワークでも試す
ターミナルには表示できたのですが、echoフレームワークでもうまく動くのか試してみたいと思います。
server.goに書いていきましょう。
package main import ( "net/http" "github.com/labstack/echo" "github.com/kyokomi/emoji" ) func hello(c echo.Context) error { sushi := emoji.Sprint(":sushi:") return c.String(http.StatusOK, sushi) } func main() { e := echo.New() e.GET("/", hello) e.Logger.Fatal(e.Start(":1323")) }
ちゃんとローカルホストにアクセスすると表示されました!
emojiパッケージめっちゃいいですね!
何かあれば、じぇい👨💻 (@jyouj__) | Twitterまで!
[Golang]echoフレームワークを試してみた!
Go言語はフレームワークを使わずとも、ライブラリの機能が高いのでOKと聞いたのですが、せっかくなのでGoのフレームワークにもちょっと触ってみようかなと思い、評判の良さそうなechoを使ってみることにしました。
インストール
echoフレームワークを導入しようと思います。
$ go get -u github.com/labstack/echo
準備ができましたね。
実装
とりあえず書いていきます。echo-sample/server.goに書いていこうかと。
package main import ( "net/http" "github.com/labstack/echo" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, Go!") }) e.Logger.Fatal(e.Start(":1323")) }
http://localhost:1323にアクセスするとHello, Go!
と表示されます!手っ取り早い!!
違うページとかにもできるかな?と思って、下のように追加してみます。
package main import ( "net/http" "github.com/labstack/echo" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, Go!") }) // 追加 e.GET("/next", func(c echo.Context) error { return c.String(http.StatusOK, "Next!") }) e.Logger.Fatal(e.Start(":1323")) }
http://localhost:1323/nextにちゃんとNext!
って表示されました。
あれ?でもこれだとmain()
が膨らみそうだなあ、と思ったので、切り分けます。
package main import ( "net/http" "github.com/labstack/echo" ) func hello(c echo.Context) error { return c.String(http.StatusOK, "Hello, Go!") } func next(c echo.Context) error { return c.String(http.StatusOK, "Next!") } func main() { e := echo.New() e.GET("/", hello) e.GET("/next", next) e.Logger.Fatal(e.Start(":1323")) }
おお、いい感じにできました!
調べてみるとAPI開発に使っている記事が多かったので、次はそっちの方をechoで作ってみようと思います。
何かあれば、じぇい👨💻 (@jyouj__) | Twitterに!
[JavaScript]iTyped.jsでタイピングアニメーションをサクッとつくる
面白いアニメーションを実装できるJavaScriptのライブラリがあったので紹介します。簡単にタイピングアニメーションを実装できるiType.jsです。
早速実装しよう!
まずは導入してみましょう!
bodyタグの上ら辺に。
<script src="https://unpkg.com/ityped@1.0.2"></script>
それでは作っていきましょう。
<div id="app"> <h1><span id="ityped"></span></h1> </div>
HTMLはこんな感じで、JSとCSSにもこう記述しましょう。
ityped.init(document.querySelector("#ityped"), { loop: false, showCursor: false, strings: ["My name is jyouj__!"] })
loopをfalseにして繰り返し処理をしていませんが、繰り返してタイピングアニメーションをつけたい時はtrueにして置いてください。
.ityped-cursor { font-size: 2.2rem; opacity: 1; -webkit-animation: blink 0.3s infinite; -moz-animation: blink 0.3s infinite; animation: blink 0.3s infinite; animation-direction: alternate; } @keyframes blink { 100% { opacity: 0; } } @-webkit-keyframes blink { 100% { opacity: 0; } } @-moz-keyframes blink { 100% { opacity: 0; } }
サクッとできていい感じですね。感動!!
何かあれば、 じぇい👨💻 (@jyouj__) | Twitterに!
投げ銭も待ってまーす!-> jyouj__さんの投げ銭ビスケット募集中!