21
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【VuePress】Official Plugins10個でできること

Last updated at Posted at 2020-03-26

概要

  • VuePressはmarkdownで書いたコンテンツからWebページを生成できるライブラリです
    • VuePressの使い方は前に書いた記事があるのでよかったらそちらもご覧ください
  • VuePressには公式で用意されているプラグイン10個ありますが、具体的にどんなことができるのかあまり詳細にかかれていません
    • なので今回は10個全部試してみたので使い方を紹介します

目次

active-header-links

概要

  • ページをスクロールした時にサイドバーの目次の現在表示されている部分がアクティブになるというものです
  • さわった感じデフォルトで有効化されているようです(VuePress1.4.0)

active-header-links.gif

back-to-top

概要

  • 画面の右下に一番上までスクロールして戻れるボタンを表示できます

back-to-top.gif

使い方

  • インストール
yarn add -D @vuepress/plugin-back-to-top
  • 設定を追加
docs/.vuepress/config.js
module.exports = {
  // ...
  // 他の設定
  // ...
  plugins: ['@vuepress/back-to-top'],
}

blog

概要

  • 他のプラグインと比べてできることがとても多く追いきれませんでした。。勉強して追記します。。
  • 専用の公式サイトもあるのでそちらをご参照ください
  • ざっくりできることとしては、ページのURL構造をカスタマイズしたりページネーションの設定をできるようです

使い方

  • インストール
yarn add -D @vuepress/plugin-blog
  • 設定を追加
docs/.vuepress/config.js
module.exports = {
  // ...
  // 他の設定
  // ...
  plugins: [
    [
      '@vuepress/blog',
      {
        // オプション
      },
    ],
  ],
}

google-analytics

概要

  • Google Analyticsのセットアップを行うことができます
    • 非常に簡単でとても便利です!

使い方

  • インストール
yarn add -D @vuepress/plugin-google-analytics
  • 設定を追加
docs/.vuepress/config.js
module.exports = {
  // ...
  // 他の設定
  // ...
  plugins: [
    [
      '@vuepress/google-analytics',
      {
        ga: 'UA-123456789-1', // 自身のトラッキングIDを設定
      },
    ],
  ],
}

last-updated

概要

  • ページの最終更新日時を表示することができます
    • 日時は該当するmdファイルのgitの最終コミット時間から取得しているようです
last-updated.png
  • 日付のフォーマットは変更できます
last-updated-format.png

使い方

  • インストール
    • VuePress本体に同梱されているので追加インストールは不要です
  • 設定を追加
docs/.vuepress/config.js
module.exports = {
  // ...
  // 他の設定
  // ...
  plugins: [
    [
      '@vuepress/last-updated',
      // フォーマットを変更したい時に設定(dayjsを使った例)
      {
        transformer: (timestamp, lang) => {
          return dayjs(timestamp).format('YYYY/MM/DD H時m分');
        },
      },
    ],
  ],
}

medium-zoom

概要

  • 画像をズームして表示することができます

medium-zoom.gif

使い方

  • インストール
yarn add -D @vuepress/plugin-medium-zoom
  • 設定を追加
docs/.vuepress/config.js
module.exports = {
  // ...
  // 他の設定
  // ...
  plugins: ['@vuepress/medium-zoom'],
}

nprogress

概要

  • 通信中に画面上部にプログレスバーを表示します
    • デフォルトで有効化されています
    • デフォルトではアクティブなリンクなどに適用される色と同じ色で表示されます

nprogress.gif

使い方

  • 色を指定する場合
docs/.vuepress/styles/palette.styl
$accentColor = #28A6CF // デフォルトでは$accentColorがプログレスバーの色になる
$textColor = #2c3e50
$borderColor = #eaecef
$codeBgColor = #282c34
$nprogressColor = #55C501 // $nprogressColorを指定するとプログレスバーの色をカスタマイズできる

pwa

概要

  • ServiceWorkerを有効化しホームスクリーンへの追加やオフライン対応などを行うことができる
スクリーンショット 2020-03-27 3.59.22.png
  • キャッシュが効くようになるため最新のコンテンツがある場合はRefreshを促すプロンプトも出してくれる
スクリーンショット 2020-03-27 3.49.27.png

使い方

  • インストール
yarn add -D @vuepress/plugin-pwa
  • 設定を追加
docs/.vuepress/config.js
module.exports = {
  // ...
  // 他の設定
  // ...
  head: [
    ['link', { rel: 'manifest', href: '/manifest.json' }],
  ],
  plugins: [
    [
      '@vuepress/pwa',
      {
        serviceWorker: true,
        updatePopup: true,
      },
    ],
  ],
}
  • アイコン画像を配置
    • サイズは288x288
    • docs/.vuepress/public/icon.png
  • manifest.jsonを作成
docs/.vuepress/public/manifest.json
{
  "short_name": "Qiita Sample",
  "name": "Qiita Sample",
  "icons": [
    {
      "src": "icon.png",
      "sizes": "512x512 384x384 192x192 152x152 144x144 128x128 96x96 72x72 64x64 32x32 24x24 16x16",
      "type": "image/png"
    }
  ],
  "start_url": ".",
  "display": "standalone",
  "theme_color": "#55C501",
  "background_color": "#ffffff"
}

register-components

概要

  • 独自のVueコンポーネントを登録して利用できるようになる
    • デフォルトで有効化されている
    • コンポーネントはdocs/.vuepress/componentsに配置する
スクリーンショット 2020-03-27 4.06.35.png

使い方

  • コンポーネントを作成
docs/.vuepress/components/Hello.vue
<template>
  <p>{{ greeting }} Vue Component!</p>
</template>

<script>
module.exports = {
  data: function() {
    return {
      greeting: "Hello"
    };
  }
};
</script>

<style scoped>
p {
  font-size: 2em;
  text-align: center;
}
</style>
  • markdownの中からVueコンポーネントを呼び出す
docs/index.md
# Index

<Hello />

![logo](/images/logo.png)

search

概要

  • ドキュメントの検索をすることができます
  • デフォルトで有効化されています

search.gif

まとめ

  • 勢いで全部調べてしまえと思いましたが意外と大変でした
  • 小さな便利機能から手の混んだものまでいろいろありました
  • 一度使い方を覚えてしまえば使い回せるのでうまく活用していきたいです

コード

21
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?